@mintplayer/ng-bootstrap 21.22.0 → 21.23.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-accordion.mjs +20 -20
- package/fesm2022/mintplayer-ng-bootstrap-accordion.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-alert.mjs +8 -8
- package/fesm2022/mintplayer-ng-bootstrap-alert.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-badge.mjs +5 -5
- package/fesm2022/mintplayer-ng-bootstrap-badge.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-breadcrumb.mjs +6 -6
- package/fesm2022/mintplayer-ng-bootstrap-breadcrumb.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-button-group.mjs +3 -3
- package/fesm2022/mintplayer-ng-bootstrap-button-group.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-button-type.mjs +4 -4
- package/fesm2022/mintplayer-ng-bootstrap-button-type.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-calendar-month.mjs +9 -9
- package/fesm2022/mintplayer-ng-bootstrap-calendar-month.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-calendar.mjs +10 -10
- package/fesm2022/mintplayer-ng-bootstrap-calendar.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-card.mjs +8 -8
- package/fesm2022/mintplayer-ng-bootstrap-card.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-carousel.mjs +25 -25
- package/fesm2022/mintplayer-ng-bootstrap-carousel.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-close.mjs +3 -3
- package/fesm2022/mintplayer-ng-bootstrap-close.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-code-snippet.mjs +7 -7
- package/fesm2022/mintplayer-ng-bootstrap-code-snippet.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-color-picker.mjs +58 -58
- package/fesm2022/mintplayer-ng-bootstrap-color-picker.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-container.mjs +3 -3
- package/fesm2022/mintplayer-ng-bootstrap-container.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-context-menu.mjs +3 -3
- package/fesm2022/mintplayer-ng-bootstrap-context-menu.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-copy.mjs +4 -4
- package/fesm2022/mintplayer-ng-bootstrap-copy.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-datatable.mjs +20 -20
- package/fesm2022/mintplayer-ng-bootstrap-datatable.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-datepicker.mjs +6 -6
- package/fesm2022/mintplayer-ng-bootstrap-datepicker.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-dock.mjs +789 -1175
- package/fesm2022/mintplayer-ng-bootstrap-dock.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-dropdown-divider.mjs +3 -3
- package/fesm2022/mintplayer-ng-bootstrap-dropdown-divider.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-dropdown-menu.mjs +10 -10
- package/fesm2022/mintplayer-ng-bootstrap-dropdown-menu.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-dropdown.mjs +15 -15
- package/fesm2022/mintplayer-ng-bootstrap-dropdown.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-enhanced-paste.mjs +3 -3
- package/fesm2022/mintplayer-ng-bootstrap-enhanced-paste.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-enum.mjs +3 -3
- package/fesm2022/mintplayer-ng-bootstrap-enum.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-file-upload.mjs +16 -16
- package/fesm2022/mintplayer-ng-bootstrap-file-upload.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-floating-labels.mjs +3 -3
- package/fesm2022/mintplayer-ng-bootstrap-floating-labels.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-font-color.mjs +3 -3
- package/fesm2022/mintplayer-ng-bootstrap-font-color.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-for.mjs +4 -4
- package/fesm2022/mintplayer-ng-bootstrap-for.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-form.mjs +11 -11
- package/fesm2022/mintplayer-ng-bootstrap-form.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-grid.mjs +26 -26
- package/fesm2022/mintplayer-ng-bootstrap-grid.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-has-overlay.mjs +4 -4
- package/fesm2022/mintplayer-ng-bootstrap-has-overlay.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-has-property.mjs +3 -3
- package/fesm2022/mintplayer-ng-bootstrap-has-property.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-in-list.mjs +3 -3
- package/fesm2022/mintplayer-ng-bootstrap-in-list.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-input-group.mjs +3 -3
- package/fesm2022/mintplayer-ng-bootstrap-input-group.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-instance-of.mjs +14 -14
- package/fesm2022/mintplayer-ng-bootstrap-instance-of.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-let.mjs +4 -4
- package/fesm2022/mintplayer-ng-bootstrap-let.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-linify.mjs +3 -3
- package/fesm2022/mintplayer-ng-bootstrap-linify.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-list-group.mjs +7 -7
- package/fesm2022/mintplayer-ng-bootstrap-list-group.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-markdown.mjs +12 -12
- package/fesm2022/mintplayer-ng-bootstrap-markdown.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-marquee.mjs +3 -3
- package/fesm2022/mintplayer-ng-bootstrap-marquee.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-modal.mjs +24 -24
- package/fesm2022/mintplayer-ng-bootstrap-modal.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-multiselect.mjs +24 -24
- package/fesm2022/mintplayer-ng-bootstrap-multiselect.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-navbar-toggler.mjs +5 -5
- package/fesm2022/mintplayer-ng-bootstrap-navbar-toggler.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-navbar.mjs +58 -58
- package/fesm2022/mintplayer-ng-bootstrap-navbar.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-navigation-lock.mjs +8 -8
- package/fesm2022/mintplayer-ng-bootstrap-navigation-lock.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-no-noscript.mjs +3 -3
- package/fesm2022/mintplayer-ng-bootstrap-no-noscript.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-offcanvas.mjs +40 -40
- package/fesm2022/mintplayer-ng-bootstrap-offcanvas.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-ordinal-number.mjs +3 -3
- package/fesm2022/mintplayer-ng-bootstrap-ordinal-number.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-pagination.mjs +12 -12
- package/fesm2022/mintplayer-ng-bootstrap-pagination.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-parallax.mjs +6 -6
- package/fesm2022/mintplayer-ng-bootstrap-parallax.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-placeholder.mjs +7 -7
- package/fesm2022/mintplayer-ng-bootstrap-placeholder.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-playlist-toggler.mjs +5 -5
- package/fesm2022/mintplayer-ng-bootstrap-playlist-toggler.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-popover.mjs +20 -20
- package/fesm2022/mintplayer-ng-bootstrap-popover.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-priority-nav.mjs +30 -30
- package/fesm2022/mintplayer-ng-bootstrap-priority-nav.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-progress-bar.mjs +17 -17
- package/fesm2022/mintplayer-ng-bootstrap-progress-bar.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-range.mjs +9 -9
- package/fesm2022/mintplayer-ng-bootstrap-range.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-rating.mjs +7 -7
- package/fesm2022/mintplayer-ng-bootstrap-rating.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-resizable.mjs +25 -25
- package/fesm2022/mintplayer-ng-bootstrap-resizable.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-scheduler.mjs +16 -16
- package/fesm2022/mintplayer-ng-bootstrap-scheduler.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-scrollspy.mjs +14 -14
- package/fesm2022/mintplayer-ng-bootstrap-scrollspy.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-searchbox.mjs +24 -24
- package/fesm2022/mintplayer-ng-bootstrap-searchbox.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-select.mjs +19 -19
- package/fesm2022/mintplayer-ng-bootstrap-select.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-select2.mjs +20 -20
- package/fesm2022/mintplayer-ng-bootstrap-select2.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-shell.mjs +11 -11
- package/fesm2022/mintplayer-ng-bootstrap-shell.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-signature-pad.mjs +7 -7
- package/fesm2022/mintplayer-ng-bootstrap-signature-pad.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-slugify.mjs +3 -3
- package/fesm2022/mintplayer-ng-bootstrap-slugify.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-spinner.mjs +7 -7
- package/fesm2022/mintplayer-ng-bootstrap-spinner.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-split-string.mjs +3 -3
- package/fesm2022/mintplayer-ng-bootstrap-split-string.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-sticky-footer.mjs +6 -6
- package/fesm2022/mintplayer-ng-bootstrap-sticky-footer.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-tab-control.mjs +57 -67
- package/fesm2022/mintplayer-ng-bootstrap-tab-control.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-table.mjs +10 -10
- package/fesm2022/mintplayer-ng-bootstrap-table.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-timepicker.mjs +8 -8
- package/fesm2022/mintplayer-ng-bootstrap-timepicker.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-toast.mjs +24 -24
- package/fesm2022/mintplayer-ng-bootstrap-toast.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-toggle-button.mjs +22 -22
- package/fesm2022/mintplayer-ng-bootstrap-toggle-button.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-tooltip.mjs +10 -10
- package/fesm2022/mintplayer-ng-bootstrap-tooltip.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-treeview.mjs +14 -14
- package/fesm2022/mintplayer-ng-bootstrap-treeview.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-trust-html.mjs +3 -3
- package/fesm2022/mintplayer-ng-bootstrap-trust-html.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-typeahead.mjs +10 -10
- package/fesm2022/mintplayer-ng-bootstrap-typeahead.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-uc-first.mjs +3 -3
- package/fesm2022/mintplayer-ng-bootstrap-uc-first.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-user-agent.mjs +3 -3
- package/fesm2022/mintplayer-ng-bootstrap-user-agent.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-viewport.mjs +3 -3
- package/fesm2022/mintplayer-ng-bootstrap-viewport.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-virtual-datatable.mjs +10 -10
- package/fesm2022/mintplayer-ng-bootstrap-virtual-datatable.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-web-components-scheduler-core.mjs +1356 -0
- package/fesm2022/mintplayer-ng-bootstrap-web-components-scheduler-core.mjs.map +1 -0
- package/fesm2022/mintplayer-ng-bootstrap-web-components-scheduler.mjs +3819 -0
- package/fesm2022/mintplayer-ng-bootstrap-web-components-scheduler.mjs.map +1 -0
- package/fesm2022/mintplayer-ng-bootstrap-web-components-splitter.mjs +731 -0
- package/fesm2022/mintplayer-ng-bootstrap-web-components-splitter.mjs.map +1 -0
- package/fesm2022/mintplayer-ng-bootstrap-web-components-tab-control.mjs +549 -0
- package/fesm2022/mintplayer-ng-bootstrap-web-components-tab-control.mjs.map +1 -0
- package/fesm2022/mintplayer-ng-bootstrap-word-count.mjs +3 -3
- package/fesm2022/mintplayer-ng-bootstrap-word-count.mjs.map +1 -1
- package/package.json +20 -6
- package/types/mintplayer-ng-bootstrap-dock.d.ts +55 -19
- package/types/mintplayer-ng-bootstrap-scheduler.d.ts +2 -2
- package/types/mintplayer-ng-bootstrap-tab-control.d.ts +7 -11
- package/types/mintplayer-ng-bootstrap-web-components-scheduler-core.d.ts +890 -0
- package/types/mintplayer-ng-bootstrap-web-components-scheduler.d.ts +354 -0
- package/types/mintplayer-ng-bootstrap-web-components-splitter.d.ts +165 -0
- package/types/mintplayer-ng-bootstrap-web-components-tab-control.d.ts +95 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mintplayer-ng-bootstrap-color-picker.mjs","sources":["../../../../libs/mintplayer-ng-bootstrap/color-picker/components/slider/slider.component.ts","../../../../libs/mintplayer-ng-bootstrap/color-picker/components/slider/slider.component.html","../../../../libs/mintplayer-ng-bootstrap/color-picker/components/alpha-strip/alpha-strip.component.ts","../../../../libs/mintplayer-ng-bootstrap/color-picker/components/alpha-strip/alpha-strip.component.html","../../../../libs/mintplayer-ng-bootstrap/color-picker/directives/color-picker-value-accessor/color-picker-value-accessor.directive.ts","../../../../libs/mintplayer-ng-bootstrap/color-picker/components/color-wheel/color-wheel.component.ts","../../../../libs/mintplayer-ng-bootstrap/color-picker/components/color-wheel/color-wheel.component.html","../../../../libs/mintplayer-ng-bootstrap/color-picker/components/luminosity-strip/luminosity-strip.component.ts","../../../../libs/mintplayer-ng-bootstrap/color-picker/components/luminosity-strip/luminosity-strip.component.html","../../../../libs/mintplayer-ng-bootstrap/color-picker/components/color-picker/color-picker.component.ts","../../../../libs/mintplayer-ng-bootstrap/color-picker/components/color-picker/color-picker.component.html","../../../../libs/mintplayer-ng-bootstrap/color-picker/mintplayer-ng-bootstrap-color-picker.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, computed, Directive, ElementRef, effect, inject, input, model, output, signal, viewChild } from '@angular/core';\nimport { BsObserveSizeDirective } from '@mintplayer/ng-swiper/observe-size';\n\n@Component({\n selector: 'bs-slider',\n templateUrl: './slider.component.html',\n styleUrls: ['./slider.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [BsObserveSizeDirective],\n host: {\n 'class': 'd-block position-relative',\n '(document:mousemove)': 'onPointerMove($event)',\n '(document:mouseup)': 'onPointerUp($event)',\n },\n})\nexport class BsSliderComponent {\n private observeSize = inject(BsObserveSizeDirective);\n readonly track = viewChild.required<ElementRef<HTMLDivElement>>('track');\n readonly thumb = viewChild.required<ElementRef<HTMLDivElement>>('thumb');\n\n disabled = input<boolean>(false);\n value = model<number>(0.5);\n valueChange = output<number>();\n private isPointerDown = signal<boolean>(false);\n\n thumbMarginLeft = computed(() => {\n const value = this.value();\n const width = this.observeSize.width() ?? 0;\n return value * width - 12;\n });\n\n cursorClass = computed(() => {\n return this.isPointerDown() ? 'cursor-grabbing' : 'cursor-grab';\n });\n\n constructor() {\n effect(() => {\n const value = this.value();\n this.valueChange.emit(value);\n });\n }\n\n onPointerDown(ev: MouseEvent | TouchEvent) {\n if (this.disabled()) return;\n ev.preventDefault();\n ev.stopPropagation();\n this.isPointerDown.set(true);\n this.updateColor(ev);\n }\n\n onPointerMove(ev: MouseEvent | TouchEvent) {\n if (this.isPointerDown()) {\n ev.preventDefault();\n ev.stopPropagation();\n this.updateColor(ev);\n }\n }\n\n onPointerUp(ev: MouseEvent | TouchEvent) {\n this.isPointerDown.set(false);\n }\n\n private updateColor(ev: MouseEvent | TouchEvent) {\n let co: { x: number };\n const rect = this.track().nativeElement.getBoundingClientRect();\n if ('touches' in ev) {\n co = {\n x: ev.touches[0].clientX - rect.left,\n };\n } else {\n co = {\n x: ev.clientX - rect.left,\n };\n }\n\n const percent = co.x / this.track().nativeElement.clientWidth;\n const limited = Math.max(0, Math.min(1, percent));\n this.value.set(limited);\n }\n}\n\n@Directive({\n selector: '[bsThumb]',\n host: {\n 'class': 'thumb position-absolute',\n },\n})\nexport class BsThumbDirective {\n}\n\n@Directive({\n selector: '[bsTrack]',\n host: {\n 'class': 'track',\n },\n})\nexport class BsTrackDirective {\n}","<div class=\"wrapper d-block position-relative\">\n <div #track class=\"track2\"\n (mousedown)=\"onPointerDown($event)\"\n (touchstart)=\"onPointerDown($event)\"\n (touchmove)=\"onPointerMove($event)\"\n (touchend)=\"onPointerUp($event)\">\n <ng-content select=\"[bsTrack]\"></ng-content>\n </div>\n <div #thumb\n (mousedown)=\"onPointerDown($event)\"\n (touchstart)=\"onPointerDown($event)\"\n (touchmove)=\"onPointerMove($event)\"\n (touchend)=\"onPointerUp($event)\"\n [class]=\"cursorClass()\"\n [style.margin-left.px]=\"thumbMarginLeft()\">\n <ng-content select=\"[bsThumb]\"></ng-content>\n </div>\n</div>\n","import { ChangeDetectionStrategy, Component, computed, effect, ElementRef, input, model, output, viewChild } from '@angular/core';\nimport { HS } from '../../interfaces/hs';\nimport { BsSliderComponent, BsThumbDirective, BsTrackDirective } from '../slider/slider.component';\n\n@Component({\n selector: 'bs-alpha-strip',\n templateUrl: './alpha-strip.component.html',\n styleUrls: ['./alpha-strip.component.scss'],\n imports: [BsSliderComponent, BsThumbDirective, BsTrackDirective],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BsAlphaStripComponent {\n readonly canvas = viewChild.required<ElementRef<HTMLCanvasElement>>('track');\n\n disabled = input<boolean>(false);\n hs = model<HS>({ hue: 0, saturation: 0 });\n luminosity = model<number>(0.5);\n alpha = model<number>(1);\n alphaChange = output<number>();\n\n private canvasContext: CanvasRenderingContext2D | null = null;\n\n resultBackground = computed(() => {\n const hs = this.hs();\n const luminosity = this.luminosity();\n const alpha = this.alpha();\n return `hsla(${hs.hue}, ${hs.saturation * 100}%, ${luminosity * 100}%, ${alpha})`;\n });\n\n constructor() {\n // Draw gradient when HS or luminosity changes\n effect(() => {\n const hs = this.hs();\n const luminosity = this.luminosity();\n setTimeout(() => {\n if (this.canvasContext) {\n const width = this.canvas().nativeElement.width;\n const height = this.canvas().nativeElement.height;\n this.canvasContext.clearRect(0, 0, width, height);\n this.canvasContext.save();\n\n const gradient = this.canvasContext.createLinearGradient(0, 0, width, 0);\n gradient.addColorStop(0, `hsla(${hs.hue}, ${hs.saturation * 100}%, ${luminosity * 100}%, 0)`);\n gradient.addColorStop(1, `hsla(${hs.hue}, ${hs.saturation * 100}%, ${luminosity * 100}%, 1)`);\n this.canvasContext.fillStyle = gradient;\n this.canvasContext.fillRect(0, 0, width, height);\n }\n });\n });\n\n // Emit alpha changes\n effect(() => {\n const alpha = this.alpha();\n this.alphaChange.emit(alpha);\n });\n }\n\n ngAfterViewInit() {\n if (typeof window !== 'undefined') {\n this.canvasContext = this.canvas().nativeElement.getContext('2d', { willReadFrequently: true });\n }\n }\n}\n","<bs-slider [disabled]=\"disabled()\" [value]=\"alpha()\" (valueChange)=\"alphaChange.emit($event)\">\n <canvas bsTrack class=\" track position-absolute w-100\" #track></canvas>\n\n <!-- [style.background]=\"resultBackground()\" -->\n <div bsThumb [style.background]=\"resultBackground()\"></div>\n</bs-slider>\n","import { Directive, effect, forwardRef, inject } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { BsColorPickerComponent } from '../../components/color-picker/color-picker.component';\nimport { RgbColor } from '../../interfaces/rgb-color';\n\n@Directive({\n selector: 'bs-color-picker',\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => BsColorPickerValueAccessor),\n multi: true\n }],\n exportAs: 'bsColorPicker'\n})\nexport class BsColorPickerValueAccessor implements ControlValueAccessor {\n private host = inject(BsColorPickerComponent);\n\n onValueChange?: (value: string) => void;\n onTouched?: () => void;\n\n constructor() {\n // Effect to emit value changes\n effect(() => {\n const hs = this.host.hs();\n const luminosity = this.host.luminosity();\n const rgb = this.hsl2rgb(hs.hue, hs.saturation, luminosity);\n const hex = this.rgb2hex(rgb);\n setTimeout(() => this.onValueChange && this.onValueChange(hex), 10);\n });\n }\n\n public hsl2rgb(h: number, s: number, l: number) {\n const k = (n: number) => (n + h / 30) % 12;\n const a = s * Math.min(l, 1 - l);\n const f = (n: number) => l - a * Math.max(-1, Math.min(k(n) - 3, Math.min(9 - k(n), 1)));\n const retValue = <RgbColor>{ r: 255 * f(0), g: 255 * f(8), b: 255 * f(4) };\n return retValue;\n }\n\n //#region ControlValueAccessor implementation\n registerOnChange(fn: (_: any) => void) {\n this.onValueChange = fn;\n }\n\n registerOnTouched(fn: () => void) {\n this.onTouched = fn;\n }\n\n writeValue(value: string | null) {\n if (this.host && this.host.colorWheel()) {\n if (value) {\n const rgb = this.hex2rgb(value);\n const hsl = this.rgb2Hsl(rgb);\n this.host.hs.set({ hue: hsl.h, saturation: hsl.s });\n this.host.luminosity.set(hsl.l);\n }\n }\n }\n\n setDisabledState(isDisabled: boolean) {\n this.host.disabled.set(isDisabled);\n }\n //#endregion\n\n //#region Color Conversion\n private rgb2hex(rgb: RgbColor) {\n return '#' + (Math.round((rgb.r << 16) + (rgb.g << 8) + rgb.b)).toString(16).padStart(6, '0');\n }\n\n private hex2rgb(hex: string): RgbColor {\n const r = parseInt(hex.slice(1, 3), 16),\n g = parseInt(hex.slice(3, 5), 16),\n b = parseInt(hex.slice(5, 7), 16);\n\n return { r, g, b };\n }\n /**\n * Divide 1 to n, handling floating point errors.\n * Ensures that the value is in between 0 and 1.\n **/\n private bound01(n: number, max: number) {\n n = Math.min(max, Math.max(0, n));\n if (Math.abs(n - max) < 0.000001) {\n return 1;\n } else {\n return (n % max) / max;\n }\n }\n private rgb2Hsl(color: RgbColor) {\n const r01 = this.bound01(color.r, 255);\n const g01 = this.bound01(color.g, 255);\n const b01 = this.bound01(color.b, 255);\n\n const max = Math.max(r01, g01, b01);\n const min = Math.min(r01, g01, b01);\n\n let h: number, s: number;\n const l = (max + min) / 2;\n if (max === min) {\n h = s = 0;\n } else {\n const d = max - min;\n s = l > 0.5 ? d / (2 - max - min) : d / (max + min);\n\n switch (max) {\n case r01:\n h = (g01 - b01) / d + (g01 < b01 ? 6 : 0);\n break;\n case g01:\n h = (b01 - r01) / d + 2;\n break;\n case b01:\n h = (r01 - g01) / d + 4;\n break;\n default: {\n throw 'Invalid operation';\n }\n }\n\n h /= 6;\n }\n\n h *= 360;\n\n return { h, s, l };\n }\n //#endregion\n}\n","import { ChangeDetectionStrategy, Component, computed, effect, ElementRef, inject, input, model, output, signal, viewChild } from '@angular/core';\nimport { HS } from '../../interfaces/hs';\nimport { HslColor } from '../../interfaces/hsl-color';\nimport { RgbColor } from '../../interfaces/rgb-color';\n\n@Component({\n selector: 'bs-color-wheel',\n templateUrl: './color-wheel.component.html',\n styleUrls: ['./color-wheel.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n 'class': 'position-relative',\n '(document:mousemove)': 'onMouseMove($event)',\n '(document:mouseup)': 'onPointerUp($event)',\n },\n})\nexport class BsColorWheelComponent {\n private element = inject(ElementRef<HTMLElement>);\n readonly canvas = viewChild.required<ElementRef<HTMLCanvasElement>>('canvas');\n\n // Inputs\n width = model<number>(150);\n height = model<number>(150);\n diameterRatio = model<number>(0);\n luminosity = model<number>(0);\n\n // HS model with output\n hs = model<HS>({ hue: 0, saturation: 0 });\n hsChange = output<HS>();\n\n // Internal state\n disabled = input<boolean>(false);\n viewInited = signal<boolean>(false);\n private readonly isPointerDown = signal<boolean>(false);\n private canvasContext: CanvasRenderingContext2D | null = null;\n\n // Computed values\n squareSize = computed(() => {\n const width = this.width();\n const height = this.height();\n if (width === null || height === null) {\n return null;\n }\n return Math.min(width, height);\n });\n\n shiftX = computed(() => {\n const width = this.width();\n const height = this.height();\n if (width === null || height === null) {\n return null;\n } else if (width < height) {\n return 0;\n } else {\n return (width - height) / 2;\n }\n });\n\n shiftY = computed(() => {\n const width = this.width();\n const height = this.height();\n if (width === null || height === null) {\n return null;\n } else if (width < height) {\n return (height - width) / 2;\n } else {\n return 0;\n }\n });\n\n innerRadius = computed(() => {\n const squareSize = this.squareSize();\n const diameterRatio = this.diameterRatio();\n if (squareSize) {\n return squareSize / 2 * diameterRatio;\n } else {\n return 0;\n }\n });\n\n outerRadius = computed(() => {\n const squareSize = this.squareSize();\n if (squareSize) {\n return squareSize / 2;\n } else {\n return 150;\n }\n });\n\n markerPosition = computed(() => {\n const hs = this.hs();\n const shiftX = this.shiftX() ?? 0;\n const shiftY = this.shiftY() ?? 0;\n const position = this.color2position(hs);\n return {\n x: position.x + shiftX,\n y: position.y + shiftY,\n };\n });\n\n constructor() {\n // Draw color wheel when dimensions change\n effect(() => {\n const innerRadius = this.innerRadius();\n const outerRadius = this.outerRadius();\n const shiftX = this.shiftX();\n const shiftY = this.shiftY();\n\n // Use setTimeout to debounce slightly\n setTimeout(() => {\n if (this.canvasContext && innerRadius !== null && outerRadius !== null && shiftX !== null && shiftY !== null) {\n this.canvasContext.clearRect(0, 0, this.canvas().nativeElement.width, this.canvas().nativeElement.height);\n this.canvasContext.save();\n this.canvasContext.translate(shiftX + outerRadius, shiftY + outerRadius);\n\n for (let x = 0; x < 360; x++) {\n this.canvasContext.rotate(1 * Math.PI / 180);\n const gradient = this.canvasContext.createLinearGradient(innerRadius, 0, outerRadius, 0);\n\n gradient.addColorStop(0, `hsl(${x}, 0%, 50%)`);\n gradient.addColorStop(1, `hsl(${x}, 100%, 50%)`);\n\n this.canvasContext.fillStyle = gradient;\n this.canvasContext.fillRect(innerRadius, 0, outerRadius - innerRadius, outerRadius / 50);\n }\n\n this.canvasContext.restore();\n }\n }, 20);\n });\n\n // Emit HS changes\n effect(() => {\n const hs = this.hs();\n this.hsChange.emit(hs);\n });\n }\n\n ngAfterViewInit() {\n this.viewInited.set(true);\n if (typeof window !== 'undefined') {\n this.canvasContext = this.canvas().nativeElement.getContext('2d', { willReadFrequently: true });\n }\n }\n\n onPointerDown(ev: MouseEvent | TouchEvent) {\n if (!this.disabled()) {\n ev.preventDefault();\n ev.stopPropagation();\n this.isPointerDown.set(true);\n this.updateColor(ev, !('touches' in ev));\n }\n }\n\n onPointerMove(ev: MouseEvent | TouchEvent) {\n if (this.isPointerDown()) {\n ev.preventDefault();\n ev.stopPropagation();\n this.updateColor(ev, !('touches' in ev));\n }\n }\n\n onMouseMove(ev: MouseEvent) {\n this.onPointerMove(ev);\n }\n\n onPointerUp(ev: MouseEvent | TouchEvent) {\n this.isPointerDown.set(false);\n }\n\n private updateColor(ev: MouseEvent | TouchEvent, subtract: boolean) {\n let co: { x: number, y: number };\n const rect = this.canvas().nativeElement.getBoundingClientRect();\n if ('touches' in ev) {\n co = {\n x: ev.touches[0].clientX - rect.left,\n y: ev.touches[0].clientY - rect.top,\n };\n } else {\n co = {\n x: ev.clientX - (subtract ? rect.left : 0),\n y: ev.clientY - (subtract ? rect.top : 0),\n };\n }\n\n const color = this.position2color(co.x, co.y);\n if (color) {\n this.hs.set({ hue: color.hue, saturation: color.saturation });\n } else {\n console.warn('Color is null');\n }\n }\n\n private isInsideCircle(x: number, y: number) {\n const squareSize = this.squareSize();\n const shiftX = this.shiftX();\n const shiftY = this.shiftY();\n\n // Position to the square\n const sx: number = x - (shiftX ?? 0);\n const sy = y - (shiftY ?? 0);\n // Square radius\n const sr = (squareSize ?? 0) / 2;\n\n const radius = Math.sqrt(Math.pow(sx - sr, 2) + Math.pow(sy - sr, 2));\n const angle = (Math.atan2(sr - sy, sr - sx) + Math.PI) % 360;\n return {\n inside: radius <= sr,\n angle\n };\n }\n\n private position2color(x: number, y: number): HslColor | null {\n if (!this.canvasContext) {\n return null;\n }\n\n const result = this.isInsideCircle(x, y);\n if (result.inside) {\n const imageData = this.canvasContext.getImageData(x, y, 1, 1).data;\n const hsl = this.rgb2Hsl({ r: imageData[0], g: imageData[1], b: imageData[2] });\n return hsl;\n }\n\n return { hue: result.angle * 180 / Math.PI, saturation: 1, luminosity: 0.5 };\n }\n\n private color2position(hs: HS) {\n let innerRadius = this.innerRadius();\n let outerRadius = this.outerRadius();\n\n if (innerRadius === null) {\n innerRadius = 0;\n }\n if (!outerRadius) {\n outerRadius = 100;\n }\n\n const theta = hs.hue * Math.PI / 180;\n const c = {\n x: -outerRadius * Math.cos(theta),\n y: -outerRadius * Math.sin(theta)\n };\n\n const d = hs.saturation * (outerRadius - innerRadius) + innerRadius;\n const o = { x: outerRadius, y: outerRadius };\n\n return {\n x: o.x - d * (c.x / outerRadius),\n y: o.y - d * (c.y / outerRadius),\n };\n }\n\n private rgb2Hsl(color: RgbColor) {\n const r01 = this.bound01(color.r, 255);\n const g01 = this.bound01(color.g, 255);\n const b01 = this.bound01(color.b, 255);\n\n const max = Math.max(r01, g01, b01);\n const min = Math.min(r01, g01, b01);\n\n let h: number, s: number; const l = (max + min) / 2;\n if (max === min) {\n h = s = 0;\n } else {\n const d = max - min;\n s = (l > 0.5) ? (d / (2 - max - min)) : (d / (max + min));\n switch (max) {\n case r01: {\n h = (g01 - b01) / d + ((g01 < b01) ? 6 : 0);\n } break;\n case g01: {\n h = (b01 - r01) / d + 2;\n } break;\n case b01: {\n h = (r01 - g01) / d + 4;\n } break;\n default: {\n throw 'Invalid operation';\n }\n }\n\n h /= 6;\n }\n\n h *= 360;\n\n return <HslColor>{ hue: h, saturation: s, luminosity: l };\n }\n\n /**\n * Divide 1 to n, handling floating point errors.\n * Ensures that the value is in between 0 and 1.\n **/\n private bound01(n: number, max: number) {\n n = Math.min(max, Math.max(0, n));\n if ((Math.abs(n - max) < 0.000001)) {\n return 1;\n } else {\n return (n % max) / max;\n }\n }\n}\n","<canvas\n class=\"d-block\"\n [width]=\"width()\"\n [height]=\"height()\"\n (mousedown)=\"onPointerDown($event)\"\n (touchstart)=\"onPointerDown($event)\"\n (touchmove)=\"onPointerMove($event)\"\n (touchend)=\"onPointerUp($event)\"\n #canvas></canvas>\n\n@if (markerPosition(); as markerPosition) {\n <div class=\"thumb position-absolute pe-none\" [style.left.px]=\"markerPosition.x\" [style.top.px]=\"markerPosition.y\"></div>\n}\n","import { ChangeDetectionStrategy, Component, computed, effect, ElementRef, input, model, output, viewChild } from '@angular/core';\nimport { HS } from '../../interfaces/hs';\nimport { BsSliderComponent, BsThumbDirective, BsTrackDirective } from '../slider/slider.component';\n\n@Component({\n selector: 'bs-luminosity-strip',\n templateUrl: './luminosity-strip.component.html',\n styleUrls: ['./luminosity-strip.component.scss'],\n imports: [BsSliderComponent, BsThumbDirective, BsTrackDirective],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BsLuminosityStripComponent {\n readonly canvas = viewChild.required<ElementRef<HTMLCanvasElement>>('canvas');\n\n disabled = input<boolean>(false);\n hs = model<HS>({ hue: 0, saturation: 0 });\n luminosity = model<number>(0.5);\n luminosityChange = output<number>();\n\n private canvasContext: CanvasRenderingContext2D | null = null;\n\n resultBackground = computed(() => {\n const hs = this.hs();\n const luminosity = this.luminosity();\n return `hsl(${hs.hue}, ${hs.saturation * 100}%, ${luminosity * 100}%)`;\n });\n\n constructor() {\n // Draw gradient when HS changes\n effect(() => {\n const hs = this.hs();\n if (this.canvasContext) {\n const width = this.canvas().nativeElement.width;\n const height = this.canvas().nativeElement.height;\n this.canvasContext.clearRect(0, 0, width, height);\n this.canvasContext.save();\n\n const gradient = this.canvasContext.createLinearGradient(0, 0, width, 0);\n gradient.addColorStop(0, `hsl(${hs.hue}, ${hs.saturation * 100}%, 0%)`);\n gradient.addColorStop(0.5, `hsl(${hs.hue}, ${hs.saturation * 100}%, 50%)`);\n gradient.addColorStop(1, `hsl(${hs.hue}, ${hs.saturation * 100}%, 100%)`);\n this.canvasContext.fillStyle = gradient;\n this.canvasContext.fillRect(0, 0, width, height);\n }\n });\n\n // Emit luminosity changes\n effect(() => {\n const luminosity = this.luminosity();\n this.luminosityChange.emit(luminosity);\n });\n }\n\n ngAfterViewInit() {\n if (typeof window !== 'undefined') {\n this.canvasContext = this.canvas().nativeElement.getContext('2d', { willReadFrequently: true });\n }\n }\n}\n","<bs-slider [disabled]=\"disabled()\" [value]=\"luminosity()\" (valueChange)=\"luminosityChange.emit($event)\">\n <canvas bsTrack class=\"position-absolute w-100\" #canvas></canvas>\n <div bsThumb [style.background]=\"resultBackground()\"></div>\n</bs-slider>\n","import { ChangeDetectionStrategy, Component, effect, input, model, output, signal, viewChild } from \"@angular/core\";\nimport { HS } from \"../../interfaces/hs\";\nimport { BsColorPickerValueAccessor } from \"../../directives/color-picker-value-accessor/color-picker-value-accessor.directive\";\nimport { BsColorWheelComponent } from \"../color-wheel/color-wheel.component\";\nimport { BsLuminosityStripComponent } from \"../luminosity-strip/luminosity-strip.component\";\nimport { BsAlphaStripComponent } from \"../alpha-strip/alpha-strip.component\";\n\n@Component({\n selector: 'bs-color-picker',\n templateUrl: './color-picker.component.html',\n styleUrls: ['./color-picker.component.scss'],\n imports: [BsColorWheelComponent, BsLuminosityStripComponent, BsAlphaStripComponent],\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [BsColorPickerValueAccessor],\n})\nexport class BsColorPickerComponent {\n\n readonly colorWheel = viewChild.required<BsColorWheelComponent>('wheel');\n\n size = input<number>(150);\n disabled = signal<boolean>(false);\n allowAlpha = input<boolean>(true);\n\n hs = signal<HS>({ hue: 0, saturation: 0 });\n luminosity = signal<number>(0);\n\n alpha = model<number>(1);\n alphaChange = output<number>();\n\n constructor() {\n effect(() => {\n const alpha = this.alpha();\n this.alphaChange.emit(alpha);\n });\n }\n}\n","@let letDisabled = disabled();\n@let letHS = hs();\n@let letLuminosity = luminosity();\n@let letAlpha = alpha();\n\n<bs-color-wheel [disabled]=\"letDisabled\" [hs]=\"letHS\" (hsChange)=\"hs.set($event)\" [luminosity]=\"letLuminosity\" [width]=\"size()\" [height]=\"size()\" #wheel></bs-color-wheel>\n<bs-luminosity-strip [disabled]=\"letDisabled\" [hs]=\"letHS\" [luminosity]=\"letLuminosity\" (luminosityChange)=\"luminosity.set($event)\" class=\"d-block mt-2\" [style.width.px]=\"size()\" #strip></bs-luminosity-strip>\n@if (allowAlpha()) {\n <bs-alpha-strip [disabled]=\"letDisabled\" [hs]=\"letHS\" [luminosity]=\"letLuminosity\" [alpha]=\"letAlpha\" (alphaChange)=\"alpha.set($event)\" class=\"d-block mt-2\" [style.width.px]=\"size()\" #alphaStrip></bs-alpha-strip>\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;MAea,iBAAiB,CAAA;AAoB5B,IAAA,WAAA,GAAA;AAnBQ,QAAA,IAAA,CAAA,WAAW,GAAG,MAAM,CAAC,sBAAsB,CAAC;AAC3C,QAAA,IAAA,CAAA,KAAK,GAAG,SAAS,CAAC,QAAQ,CAA6B,OAAO,CAAC;AAC/D,QAAA,IAAA,CAAA,KAAK,GAAG,SAAS,CAAC,QAAQ,CAA6B,OAAO,CAAC;AAExE,QAAA,IAAA,CAAA,QAAQ,GAAG,KAAK,CAAU,KAAK,oDAAC;AAChC,QAAA,IAAA,CAAA,KAAK,GAAG,KAAK,CAAS,GAAG,iDAAC;QAC1B,IAAA,CAAA,WAAW,GAAG,MAAM,EAAU;AACtB,QAAA,IAAA,CAAA,aAAa,GAAG,MAAM,CAAU,KAAK,yDAAC;AAE9C,QAAA,IAAA,CAAA,eAAe,GAAG,QAAQ,CAAC,MAAK;AAC9B,YAAA,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE;YAC1B,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC;AAC3C,YAAA,OAAO,KAAK,GAAG,KAAK,GAAG,EAAE;AAC3B,QAAA,CAAC,2DAAC;AAEF,QAAA,IAAA,CAAA,WAAW,GAAG,QAAQ,CAAC,MAAK;AAC1B,YAAA,OAAO,IAAI,CAAC,aAAa,EAAE,GAAG,iBAAiB,GAAG,aAAa;AACjE,QAAA,CAAC,uDAAC;QAGA,MAAM,CAAC,MAAK;AACV,YAAA,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE;AAC1B,YAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC;AAC9B,QAAA,CAAC,CAAC;IACJ;AAEA,IAAA,aAAa,CAAC,EAA2B,EAAA;QACvC,IAAI,IAAI,CAAC,QAAQ,EAAE;YAAE;QACrB,EAAE,CAAC,cAAc,EAAE;QACnB,EAAE,CAAC,eAAe,EAAE;AACpB,QAAA,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC;AAC5B,QAAA,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;IACtB;AAEA,IAAA,aAAa,CAAC,EAA2B,EAAA;AACvC,QAAA,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE;YACxB,EAAE,CAAC,cAAc,EAAE;YACnB,EAAE,CAAC,eAAe,EAAE;AACpB,YAAA,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QACtB;IACF;AAEA,IAAA,WAAW,CAAC,EAA2B,EAAA;AACrC,QAAA,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC;IAC/B;AAEQ,IAAA,WAAW,CAAC,EAA2B,EAAA;AAC7C,QAAA,IAAI,EAAiB;QACrB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,aAAa,CAAC,qBAAqB,EAAE;AAC/D,QAAA,IAAI,SAAS,IAAI,EAAE,EAAE;AACnB,YAAA,EAAE,GAAG;AACH,gBAAA,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI;aACrC;QACH;aAAO;AACL,YAAA,EAAE,GAAG;AACH,gBAAA,CAAC,EAAE,EAAE,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI;aAC1B;QACH;AAEA,QAAA,MAAM,OAAO,GAAG,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,aAAa,CAAC,WAAW;AAC7D,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;AACjD,QAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC;IACzB;8GA/DW,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAjB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,iBAAiB,szBCf9B,usBAkBA,EAAA,MAAA,EAAA,CAAA,kNAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FDHa,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAZ7B,SAAS;+BACE,WAAW,EAAA,eAAA,EAGJ,uBAAuB,CAAC,MAAM,kBAC/B,CAAC,sBAAsB,CAAC,EAAA,IAAA,EAClC;AACJ,wBAAA,OAAO,EAAE,2BAA2B;AACpC,wBAAA,sBAAsB,EAAE,uBAAuB;AAC/C,wBAAA,oBAAoB,EAAE,qBAAqB;AAC5C,qBAAA,EAAA,QAAA,EAAA,usBAAA,EAAA,MAAA,EAAA,CAAA,kNAAA,CAAA,EAAA;AAI+D,SAAA,CAAA,EAAA,cAAA,EAAA,MAAA,EAAA,EAAA,cAAA,EAAA,EAAA,KAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,CAAA,OAAO,+DACP,OAAO,EAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,QAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,UAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,OAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,MAAA,EAAA,IAAA,EAAA,CAAA,aAAA,CAAA,EAAA,CAAA,EAAA,WAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,MAAA,EAAA,IAAA,EAAA,CAAA,aAAA,CAAA,EAAA,CAAA,EAAA,EAAA,CAAA;MAqE5D,gBAAgB,CAAA;8GAAhB,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAhB,gBAAgB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,yBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAAhB,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAN5B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,WAAW;AACrB,oBAAA,IAAI,EAAE;AACJ,wBAAA,OAAO,EAAE,yBAAyB;AACnC,qBAAA;AACF,iBAAA;;MAUY,gBAAgB,CAAA;8GAAhB,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAhB,gBAAgB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,OAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAAhB,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAN5B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,WAAW;AACrB,oBAAA,IAAI,EAAE;AACJ,wBAAA,OAAO,EAAE,OAAO;AACjB,qBAAA;AACF,iBAAA;;;MEpFY,qBAAqB,CAAA;AAkBhC,IAAA,WAAA,GAAA;AAjBS,QAAA,IAAA,CAAA,MAAM,GAAG,SAAS,CAAC,QAAQ,CAAgC,OAAO,CAAC;AAE5E,QAAA,IAAA,CAAA,QAAQ,GAAG,KAAK,CAAU,KAAK,oDAAC;AAChC,QAAA,IAAA,CAAA,EAAE,GAAG,KAAK,CAAK,EAAE,GAAG,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,8CAAC;AACzC,QAAA,IAAA,CAAA,UAAU,GAAG,KAAK,CAAS,GAAG,sDAAC;AAC/B,QAAA,IAAA,CAAA,KAAK,GAAG,KAAK,CAAS,CAAC,iDAAC;QACxB,IAAA,CAAA,WAAW,GAAG,MAAM,EAAU;QAEtB,IAAA,CAAA,aAAa,GAAoC,IAAI;AAE7D,QAAA,IAAA,CAAA,gBAAgB,GAAG,QAAQ,CAAC,MAAK;AAC/B,YAAA,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,EAAE;AACpB,YAAA,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,EAAE;AACpC,YAAA,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE;AAC1B,YAAA,OAAO,QAAQ,EAAE,CAAC,GAAG,CAAA,EAAA,EAAK,EAAE,CAAC,UAAU,GAAG,GAAG,MAAM,UAAU,GAAG,GAAG,CAAA,GAAA,EAAM,KAAK,GAAG;AACnF,QAAA,CAAC,4DAAC;;QAIA,MAAM,CAAC,MAAK;AACV,YAAA,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,EAAE;AACpB,YAAA,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,EAAE;YACpC,UAAU,CAAC,MAAK;AACd,gBAAA,IAAI,IAAI,CAAC,aAAa,EAAE;oBACtB,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,aAAa,CAAC,KAAK;oBAC/C,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,aAAa,CAAC,MAAM;AACjD,oBAAA,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC;AACjD,oBAAA,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE;AAEzB,oBAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;oBACxE,QAAQ,CAAC,YAAY,CAAC,CAAC,EAAE,CAAA,KAAA,EAAQ,EAAE,CAAC,GAAG,CAAA,EAAA,EAAK,EAAE,CAAC,UAAU,GAAG,GAAG,CAAA,GAAA,EAAM,UAAU,GAAG,GAAG,CAAA,KAAA,CAAO,CAAC;oBAC7F,QAAQ,CAAC,YAAY,CAAC,CAAC,EAAE,CAAA,KAAA,EAAQ,EAAE,CAAC,GAAG,CAAA,EAAA,EAAK,EAAE,CAAC,UAAU,GAAG,GAAG,CAAA,GAAA,EAAM,UAAU,GAAG,GAAG,CAAA,KAAA,CAAO,CAAC;AAC7F,oBAAA,IAAI,CAAC,aAAa,CAAC,SAAS,GAAG,QAAQ;AACvC,oBAAA,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC;gBAClD;AACF,YAAA,CAAC,CAAC;AACJ,QAAA,CAAC,CAAC;;QAGF,MAAM,CAAC,MAAK;AACV,YAAA,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE;AAC1B,YAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC;AAC9B,QAAA,CAAC,CAAC;IACJ;IAEA,eAAe,GAAA;AACb,QAAA,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;YACjC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC;QACjG;IACF;8GAlDW,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAArB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,qBAAqB,qyBCXlC,kUAMA,EAAA,MAAA,EAAA,CAAA,oTAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDEY,iBAAiB,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,OAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,gBAAgB,sDAAE,gBAAgB,EAAA,QAAA,EAAA,WAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FAGpD,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAPjC,SAAS;+BACE,gBAAgB,EAAA,OAAA,EAGjB,CAAC,iBAAiB,EAAE,gBAAgB,EAAE,gBAAgB,CAAC,EAAA,eAAA,EAC/C,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,kUAAA,EAAA,MAAA,EAAA,CAAA,oTAAA,CAAA,EAAA;8FAGqB,OAAO,EAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,QAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,UAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,EAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,IAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,MAAA,EAAA,IAAA,EAAA,CAAA,UAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,YAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,MAAA,EAAA,IAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,OAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,MAAA,EAAA,IAAA,EAAA,CAAA,aAAA,CAAA,EAAA,CAAA,EAAA,WAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,MAAA,EAAA,IAAA,EAAA,CAAA,aAAA,CAAA,EAAA,CAAA,EAAA,EAAA,CAAA;;MEEhE,0BAA0B,CAAA;AAMrC,IAAA,WAAA,GAAA;AALQ,QAAA,IAAA,CAAA,IAAI,GAAG,MAAM,CAAC,sBAAsB,CAAC;;QAO3C,MAAM,CAAC,MAAK;YACV,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE;YACzB,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;AACzC,YAAA,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC;YAC3D,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC;AAC7B,YAAA,UAAU,CAAC,MAAM,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;AACrE,QAAA,CAAC,CAAC;IACJ;AAEO,IAAA,OAAO,CAAC,CAAS,EAAE,CAAS,EAAE,CAAS,EAAA;AAC5C,QAAA,MAAM,CAAC,GAAG,CAAC,CAAS,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE;AAC1C,QAAA,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;QAChC,MAAM,CAAC,GAAG,CAAC,CAAS,KAAK,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AACxF,QAAA,MAAM,QAAQ,GAAa,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE;AAC1E,QAAA,OAAO,QAAQ;IACjB;;AAGA,IAAA,gBAAgB,CAAC,EAAoB,EAAA;AACnC,QAAA,IAAI,CAAC,aAAa,GAAG,EAAE;IACzB;AAEA,IAAA,iBAAiB,CAAC,EAAc,EAAA;AAC9B,QAAA,IAAI,CAAC,SAAS,GAAG,EAAE;IACrB;AAEA,IAAA,UAAU,CAAC,KAAoB,EAAA;QAC7B,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE;YACvC,IAAI,KAAK,EAAE;gBACT,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;gBAC/B,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC;gBAC7B,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,EAAE,UAAU,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC;gBACnD,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;YACjC;QACF;IACF;AAEA,IAAA,gBAAgB,CAAC,UAAmB,EAAA;QAClC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC;IACpC;;;AAIQ,IAAA,OAAO,CAAC,GAAa,EAAA;AAC3B,QAAA,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;IAC/F;AAEQ,IAAA,OAAO,CAAC,GAAW,EAAA;QACzB,MAAM,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EACjC,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EACjC,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC;AAEvC,QAAA,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;IACpB;AACA;;;AAGI;IACI,OAAO,CAAC,CAAS,EAAE,GAAW,EAAA;AACpC,QAAA,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACjC,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,QAAQ,EAAE;AAChC,YAAA,OAAO,CAAC;QACV;aAAO;AACL,YAAA,OAAO,CAAC,CAAC,GAAG,GAAG,IAAI,GAAG;QACxB;IACF;AACQ,IAAA,OAAO,CAAC,KAAe,EAAA;AAC7B,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;AACtC,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;AACtC,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;AAEtC,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;AACnC,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;QAEnC,IAAI,CAAS,EAAE,CAAS;QACxB,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC;AACzB,QAAA,IAAI,GAAG,KAAK,GAAG,EAAE;AACf,YAAA,CAAC,GAAG,CAAC,GAAG,CAAC;QACX;aAAO;AACL,YAAA,MAAM,CAAC,GAAG,GAAG,GAAG,GAAG;YACnB,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,GAAG,CAAC;YAEnD,QAAQ,GAAG;AACT,gBAAA,KAAK,GAAG;oBACN,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,IAAI,GAAG,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;oBACzC;AACF,gBAAA,KAAK,GAAG;oBACN,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;oBACvB;AACF,gBAAA,KAAK,GAAG;oBACN,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;oBACvB;gBACF,SAAS;AACP,oBAAA,MAAM,mBAAmB;gBAC3B;;YAGF,CAAC,IAAI,CAAC;QACR;QAEA,CAAC,IAAI,GAAG;AAER,QAAA,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;IACpB;8GA/GW,0BAA0B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA1B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,0BAA0B,8DAP1B,CAAC;AACV,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,0BAA0B,CAAC;AACzD,gBAAA,KAAK,EAAE;aACR,CAAC,EAAA,QAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAGS,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBATtC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,iBAAiB;AAC3B,oBAAA,SAAS,EAAE,CAAC;AACV,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAE,UAAU,CAAC,gCAAgC,CAAC;AACzD,4BAAA,KAAK,EAAE;yBACR,CAAC;AACF,oBAAA,QAAQ,EAAE;AACX,iBAAA;;;MCGY,qBAAqB,CAAA;AAoFhC,IAAA,WAAA,GAAA;AAnFQ,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,EAAC,UAAuB,EAAC;AACxC,QAAA,IAAA,CAAA,MAAM,GAAG,SAAS,CAAC,QAAQ,CAAgC,QAAQ,CAAC;;AAG7E,QAAA,IAAA,CAAA,KAAK,GAAG,KAAK,CAAS,GAAG,iDAAC;AAC1B,QAAA,IAAA,CAAA,MAAM,GAAG,KAAK,CAAS,GAAG,kDAAC;AAC3B,QAAA,IAAA,CAAA,aAAa,GAAG,KAAK,CAAS,CAAC,yDAAC;AAChC,QAAA,IAAA,CAAA,UAAU,GAAG,KAAK,CAAS,CAAC,sDAAC;;AAG7B,QAAA,IAAA,CAAA,EAAE,GAAG,KAAK,CAAK,EAAE,GAAG,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,8CAAC;QACzC,IAAA,CAAA,QAAQ,GAAG,MAAM,EAAM;;AAGvB,QAAA,IAAA,CAAA,QAAQ,GAAG,KAAK,CAAU,KAAK,oDAAC;AAChC,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAU,KAAK,sDAAC;AAClB,QAAA,IAAA,CAAA,aAAa,GAAG,MAAM,CAAU,KAAK,yDAAC;QAC/C,IAAA,CAAA,aAAa,GAAoC,IAAI;;AAG7D,QAAA,IAAA,CAAA,UAAU,GAAG,QAAQ,CAAC,MAAK;AACzB,YAAA,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE;AAC1B,YAAA,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE;YAC5B,IAAI,KAAK,KAAK,IAAI,IAAI,MAAM,KAAK,IAAI,EAAE;AACrC,gBAAA,OAAO,IAAI;YACb;YACA,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC;AAChC,QAAA,CAAC,sDAAC;AAEF,QAAA,IAAA,CAAA,MAAM,GAAG,QAAQ,CAAC,MAAK;AACrB,YAAA,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE;AAC1B,YAAA,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE;YAC5B,IAAI,KAAK,KAAK,IAAI,IAAI,MAAM,KAAK,IAAI,EAAE;AACrC,gBAAA,OAAO,IAAI;YACb;AAAO,iBAAA,IAAI,KAAK,GAAG,MAAM,EAAE;AACzB,gBAAA,OAAO,CAAC;YACV;iBAAO;AACL,gBAAA,OAAO,CAAC,KAAK,GAAG,MAAM,IAAI,CAAC;YAC7B;AACF,QAAA,CAAC,kDAAC;AAEF,QAAA,IAAA,CAAA,MAAM,GAAG,QAAQ,CAAC,MAAK;AACrB,YAAA,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE;AAC1B,YAAA,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE;YAC5B,IAAI,KAAK,KAAK,IAAI,IAAI,MAAM,KAAK,IAAI,EAAE;AACrC,gBAAA,OAAO,IAAI;YACb;AAAO,iBAAA,IAAI,KAAK,GAAG,MAAM,EAAE;AACzB,gBAAA,OAAO,CAAC,MAAM,GAAG,KAAK,IAAI,CAAC;YAC7B;iBAAO;AACL,gBAAA,OAAO,CAAC;YACV;AACF,QAAA,CAAC,kDAAC;AAEF,QAAA,IAAA,CAAA,WAAW,GAAG,QAAQ,CAAC,MAAK;AAC1B,YAAA,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,EAAE;AACpC,YAAA,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,EAAE;YAC1C,IAAI,UAAU,EAAE;AACd,gBAAA,OAAO,UAAU,GAAG,CAAC,GAAG,aAAa;YACvC;iBAAO;AACL,gBAAA,OAAO,CAAC;YACV;AACF,QAAA,CAAC,uDAAC;AAEF,QAAA,IAAA,CAAA,WAAW,GAAG,QAAQ,CAAC,MAAK;AAC1B,YAAA,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,EAAE;YACpC,IAAI,UAAU,EAAE;gBACd,OAAO,UAAU,GAAG,CAAC;YACvB;iBAAO;AACL,gBAAA,OAAO,GAAG;YACZ;AACF,QAAA,CAAC,uDAAC;AAEF,QAAA,IAAA,CAAA,cAAc,GAAG,QAAQ,CAAC,MAAK;AAC7B,YAAA,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,EAAE;YACpB,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC;YACjC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC;YACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC;YACxC,OAAO;AACL,gBAAA,CAAC,EAAE,QAAQ,CAAC,CAAC,GAAG,MAAM;AACtB,gBAAA,CAAC,EAAE,QAAQ,CAAC,CAAC,GAAG,MAAM;aACvB;AACH,QAAA,CAAC,0DAAC;;QAIA,MAAM,CAAC,MAAK;AACV,YAAA,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,EAAE;AACtC,YAAA,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,EAAE;AACtC,YAAA,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE;AAC5B,YAAA,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE;;YAG5B,UAAU,CAAC,MAAK;gBACd,IAAI,IAAI,CAAC,aAAa,IAAI,WAAW,KAAK,IAAI,IAAI,WAAW,KAAK,IAAI,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,IAAI,EAAE;oBAC5G,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC;AACzG,oBAAA,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE;AACzB,oBAAA,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,MAAM,GAAG,WAAW,EAAE,MAAM,GAAG,WAAW,CAAC;AAExE,oBAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE;AAC5B,wBAAA,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,CAAC;AAC5C,wBAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,oBAAoB,CAAC,WAAW,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC;wBAExF,QAAQ,CAAC,YAAY,CAAC,CAAC,EAAE,CAAA,IAAA,EAAO,CAAC,CAAA,UAAA,CAAY,CAAC;wBAC9C,QAAQ,CAAC,YAAY,CAAC,CAAC,EAAE,CAAA,IAAA,EAAO,CAAC,CAAA,YAAA,CAAc,CAAC;AAEhD,wBAAA,IAAI,CAAC,aAAa,CAAC,SAAS,GAAG,QAAQ;AACvC,wBAAA,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,EAAE,WAAW,GAAG,WAAW,EAAE,WAAW,GAAG,EAAE,CAAC;oBAC1F;AAEA,oBAAA,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE;gBAC9B;YACF,CAAC,EAAE,EAAE,CAAC;AACR,QAAA,CAAC,CAAC;;QAGF,MAAM,CAAC,MAAK;AACV,YAAA,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,EAAE;AACpB,YAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;AACxB,QAAA,CAAC,CAAC;IACJ;IAEA,eAAe,GAAA;AACb,QAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC;AACzB,QAAA,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;YACjC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC;QACjG;IACF;AAEA,IAAA,aAAa,CAAC,EAA2B,EAAA;AACvC,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE;YACpB,EAAE,CAAC,cAAc,EAAE;YACnB,EAAE,CAAC,eAAe,EAAE;AACpB,YAAA,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC;AAC5B,YAAA,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,SAAS,IAAI,EAAE,CAAC,CAAC;QAC1C;IACF;AAEA,IAAA,aAAa,CAAC,EAA2B,EAAA;AACvC,QAAA,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE;YACxB,EAAE,CAAC,cAAc,EAAE;YACnB,EAAE,CAAC,eAAe,EAAE;AACpB,YAAA,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,SAAS,IAAI,EAAE,CAAC,CAAC;QAC1C;IACF;AAEA,IAAA,WAAW,CAAC,EAAc,EAAA;AACxB,QAAA,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC;IACxB;AAEA,IAAA,WAAW,CAAC,EAA2B,EAAA;AACrC,QAAA,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC;IAC/B;IAEQ,WAAW,CAAC,EAA2B,EAAE,QAAiB,EAAA;AAChE,QAAA,IAAI,EAA4B;QAChC,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,aAAa,CAAC,qBAAqB,EAAE;AAChE,QAAA,IAAI,SAAS,IAAI,EAAE,EAAE;AACnB,YAAA,EAAE,GAAG;AACH,gBAAA,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI;AACpC,gBAAA,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG;aACpC;QACH;aAAO;AACL,YAAA,EAAE,GAAG;AACH,gBAAA,CAAC,EAAE,EAAE,CAAC,OAAO,IAAI,QAAQ,GAAG,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;AAC1C,gBAAA,CAAC,EAAE,EAAE,CAAC,OAAO,IAAI,QAAQ,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC;aAC1C;QACH;AAEA,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QAC7C,IAAI,KAAK,EAAE;AACT,YAAA,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC;QAC/D;aAAO;AACL,YAAA,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC;QAC/B;IACF;IAEQ,cAAc,CAAC,CAAS,EAAE,CAAS,EAAA;AACzC,QAAA,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,EAAE;AACpC,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE;AAC5B,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE;;QAG5B,MAAM,EAAE,GAAW,CAAC,IAAI,MAAM,IAAI,CAAC,CAAC;QACpC,MAAM,EAAE,GAAG,CAAC,IAAI,MAAM,IAAI,CAAC,CAAC;;QAE5B,MAAM,EAAE,GAAG,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC;AAEhC,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;QACrE,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE,IAAI,GAAG;QAC5D,OAAO;YACL,MAAM,EAAE,MAAM,IAAI,EAAE;YACpB;SACD;IACH;IAEQ,cAAc,CAAC,CAAS,EAAE,CAAS,EAAA;AACzC,QAAA,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;AACvB,YAAA,OAAO,IAAI;QACb;QAEA,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC;AACxC,QAAA,IAAI,MAAM,CAAC,MAAM,EAAE;AACjB,YAAA,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI;AAClE,YAAA,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;AAC/E,YAAA,OAAO,GAAG;QACZ;QAEA,OAAO,EAAE,GAAG,EAAE,MAAM,CAAC,KAAK,GAAG,GAAG,GAAG,IAAI,CAAC,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,EAAE,GAAG,EAAE;IAC9E;AAEQ,IAAA,cAAc,CAAC,EAAM,EAAA;AAC3B,QAAA,IAAI,WAAW,GAAG,IAAI,CAAC,WAAW,EAAE;AACpC,QAAA,IAAI,WAAW,GAAG,IAAI,CAAC,WAAW,EAAE;AAEpC,QAAA,IAAI,WAAW,KAAK,IAAI,EAAE;YACxB,WAAW,GAAG,CAAC;QACjB;QACA,IAAI,CAAC,WAAW,EAAE;YAChB,WAAW,GAAG,GAAG;QACnB;QAEA,MAAM,KAAK,GAAG,EAAE,CAAC,GAAG,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG;AACpC,QAAA,MAAM,CAAC,GAAG;YACR,CAAC,EAAE,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC;YACjC,CAAC,EAAE,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK;SACjC;AAED,QAAA,MAAM,CAAC,GAAG,EAAE,CAAC,UAAU,IAAI,WAAW,GAAG,WAAW,CAAC,GAAG,WAAW;QACnE,MAAM,CAAC,GAAG,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,WAAW,EAAE;QAE5C,OAAO;AACL,YAAA,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC;AAChC,YAAA,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC;SACjC;IACH;AAEQ,IAAA,OAAO,CAAC,KAAe,EAAA;AAC7B,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;AACtC,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;AACtC,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;AAEtC,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;AACnC,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;QAEnC,IAAI,CAAS,EAAE,CAAS;QAAE,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC;AACnD,QAAA,IAAI,GAAG,KAAK,GAAG,EAAE;AACf,YAAA,CAAC,GAAG,CAAC,GAAG,CAAC;QACX;aAAO;AACL,YAAA,MAAM,CAAC,GAAG,GAAG,GAAG,GAAG;AACnB,YAAA,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,GAAG,GAAG,GAAG,CAAC,CAAC;YACzD,QAAQ,GAAG;AACT,gBAAA,KAAK,GAAG;oBAAE;wBACR,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;oBAC7C;oBAAE;AACF,gBAAA,KAAK,GAAG;oBAAE;wBACR,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;oBACzB;oBAAE;AACF,gBAAA,KAAK,GAAG;oBAAE;wBACR,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;oBACzB;oBAAE;gBACF,SAAS;AACP,oBAAA,MAAM,mBAAmB;gBAC3B;;YAGF,CAAC,IAAI,CAAC;QACR;QAEA,CAAC,IAAI,GAAG;AAER,QAAA,OAAiB,EAAE,GAAG,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE;IAC3D;AAEA;;;AAGI;IACI,OAAO,CAAC,CAAS,EAAE,GAAW,EAAA;AACpC,QAAA,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACjC,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,QAAQ,GAAG;AAClC,YAAA,OAAO,CAAC;QACV;aAAO;AACL,YAAA,OAAO,CAAC,CAAC,GAAG,GAAG,IAAI,GAAG;QACxB;IACF;8GA7RW,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAArB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,qBAAqB,+vCChBlC,6cAaA,EAAA,MAAA,EAAA,CAAA,uKAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FDGa,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAXjC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,gBAAgB,EAAA,eAAA,EAGT,uBAAuB,CAAC,MAAM,EAAA,IAAA,EACzC;AACJ,wBAAA,OAAO,EAAE,mBAAmB;AAC5B,wBAAA,sBAAsB,EAAE,qBAAqB;AAC7C,wBAAA,oBAAoB,EAAE,qBAAqB;AAC5C,qBAAA,EAAA,QAAA,EAAA,6cAAA,EAAA,MAAA,EAAA,CAAA,uKAAA,CAAA,EAAA;8FAImE,QAAQ,EAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,OAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,MAAA,EAAA,IAAA,EAAA,CAAA,aAAA,CAAA,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,QAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,MAAA,EAAA,IAAA,EAAA,CAAA,cAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,eAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,MAAA,EAAA,IAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,YAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,MAAA,EAAA,IAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,CAAA,EAAA,EAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,IAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,MAAA,EAAA,IAAA,EAAA,CAAA,UAAA,CAAA,EAAA,CAAA,EAAA,QAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,MAAA,EAAA,IAAA,EAAA,CAAA,UAAA,CAAA,EAAA,CAAA,EAAA,QAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,UAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,EAAA,CAAA;;MEPjE,0BAA0B,CAAA;AAgBrC,IAAA,WAAA,GAAA;AAfS,QAAA,IAAA,CAAA,MAAM,GAAG,SAAS,CAAC,QAAQ,CAAgC,QAAQ,CAAC;AAE7E,QAAA,IAAA,CAAA,QAAQ,GAAG,KAAK,CAAU,KAAK,oDAAC;AAChC,QAAA,IAAA,CAAA,EAAE,GAAG,KAAK,CAAK,EAAE,GAAG,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,8CAAC;AACzC,QAAA,IAAA,CAAA,UAAU,GAAG,KAAK,CAAS,GAAG,sDAAC;QAC/B,IAAA,CAAA,gBAAgB,GAAG,MAAM,EAAU;QAE3B,IAAA,CAAA,aAAa,GAAoC,IAAI;AAE7D,QAAA,IAAA,CAAA,gBAAgB,GAAG,QAAQ,CAAC,MAAK;AAC/B,YAAA,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,EAAE;AACpB,YAAA,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,EAAE;AACpC,YAAA,OAAO,CAAA,IAAA,EAAO,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,UAAU,GAAG,GAAG,CAAA,GAAA,EAAM,UAAU,GAAG,GAAG,IAAI;AACxE,QAAA,CAAC,4DAAC;;QAIA,MAAM,CAAC,MAAK;AACV,YAAA,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,EAAE;AACpB,YAAA,IAAI,IAAI,CAAC,aAAa,EAAE;gBACtB,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,aAAa,CAAC,KAAK;gBAC/C,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,aAAa,CAAC,MAAM;AACjD,gBAAA,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC;AACjD,gBAAA,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE;AAEzB,gBAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;AACxE,gBAAA,QAAQ,CAAC,YAAY,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,CAAA,EAAA,EAAK,EAAE,CAAC,UAAU,GAAG,GAAG,CAAA,MAAA,CAAQ,CAAC;AACvE,gBAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,EAAE,OAAO,EAAE,CAAC,GAAG,CAAA,EAAA,EAAK,EAAE,CAAC,UAAU,GAAG,GAAG,CAAA,OAAA,CAAS,CAAC;AAC1E,gBAAA,QAAQ,CAAC,YAAY,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,CAAA,EAAA,EAAK,EAAE,CAAC,UAAU,GAAG,GAAG,CAAA,QAAA,CAAU,CAAC;AACzE,gBAAA,IAAI,CAAC,aAAa,CAAC,SAAS,GAAG,QAAQ;AACvC,gBAAA,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC;YAClD;AACF,QAAA,CAAC,CAAC;;QAGF,MAAM,CAAC,MAAK;AACV,YAAA,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,EAAE;AACpC,YAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC;AACxC,QAAA,CAAC,CAAC;IACJ;IAEA,eAAe,GAAA;AACb,QAAA,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;YACjC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC;QACjG;IACF;8GA9CW,0BAA0B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA1B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,0BAA0B,uqBCXvC,4QAIA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDIY,iBAAiB,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,OAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,gBAAgB,sDAAE,gBAAgB,EAAA,QAAA,EAAA,WAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FAGpD,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBAPtC,SAAS;+BACE,qBAAqB,EAAA,OAAA,EAGtB,CAAC,iBAAiB,EAAE,gBAAgB,EAAE,gBAAgB,CAAC,EAAA,eAAA,EAC/C,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,4QAAA,EAAA;8FAGqB,QAAQ,EAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,QAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,UAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,EAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,IAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,MAAA,EAAA,IAAA,EAAA,CAAA,UAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,YAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,MAAA,EAAA,IAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,CAAA,EAAA,gBAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,MAAA,EAAA,IAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,CAAA,EAAA,EAAA,CAAA;;MEGjE,sBAAsB,CAAA;AAcjC,IAAA,WAAA,GAAA;AAZS,QAAA,IAAA,CAAA,UAAU,GAAG,SAAS,CAAC,QAAQ,CAAwB,OAAO,CAAC;AAExE,QAAA,IAAA,CAAA,IAAI,GAAG,KAAK,CAAS,GAAG,gDAAC;AACzB,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAU,KAAK,oDAAC;AACjC,QAAA,IAAA,CAAA,UAAU,GAAG,KAAK,CAAU,IAAI,sDAAC;AAEjC,QAAA,IAAA,CAAA,EAAE,GAAG,MAAM,CAAK,EAAE,GAAG,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,8CAAC;AAC1C,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAS,CAAC,sDAAC;AAE9B,QAAA,IAAA,CAAA,KAAK,GAAG,KAAK,CAAS,CAAC,iDAAC;QACxB,IAAA,CAAA,WAAW,GAAG,MAAM,EAAU;QAG5B,MAAM,CAAC,MAAK;AACV,YAAA,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE;AAC1B,YAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC;AAC9B,QAAA,CAAC,CAAC;IACJ;8GAnBW,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAtB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,sBAAsB,4rBCfnC,6wBAUA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDCY,qBAAqB,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,eAAA,EAAA,YAAA,EAAA,IAAA,EAAA,UAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,EAAA,cAAA,EAAA,qBAAA,EAAA,kBAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,0BAA0B,qJAAE,qBAAqB,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,IAAA,EAAA,YAAA,EAAA,OAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,EAAA,kBAAA,EAAA,aAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FAIvE,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBARlC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,iBAAiB,EAAA,OAAA,EAGlB,CAAC,qBAAqB,EAAE,0BAA0B,EAAE,qBAAqB,CAAC,EAAA,eAAA,EAClE,uBAAuB,CAAC,MAAM,EAAA,cAAA,EAC/B,CAAC,0BAA0B,CAAC,EAAA,QAAA,EAAA,6wBAAA,EAAA;kGAIoB,OAAO,EAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,MAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,YAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,OAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,MAAA,EAAA,IAAA,EAAA,CAAA,aAAA,CAAA,EAAA,CAAA,EAAA,WAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,MAAA,EAAA,IAAA,EAAA,CAAA,aAAA,CAAA,EAAA,CAAA,EAAA,EAAA,CAAA;;AEjBzE;;AAEG;;;;"}
|
|
1
|
+
{"version":3,"file":"mintplayer-ng-bootstrap-color-picker.mjs","sources":["../../../../libs/mintplayer-ng-bootstrap/color-picker/components/slider/slider.component.ts","../../../../libs/mintplayer-ng-bootstrap/color-picker/components/slider/slider.component.html","../../../../libs/mintplayer-ng-bootstrap/color-picker/components/alpha-strip/alpha-strip.component.ts","../../../../libs/mintplayer-ng-bootstrap/color-picker/components/alpha-strip/alpha-strip.component.html","../../../../libs/mintplayer-ng-bootstrap/color-picker/directives/color-picker-value-accessor/color-picker-value-accessor.directive.ts","../../../../libs/mintplayer-ng-bootstrap/color-picker/components/color-wheel/color-wheel.component.ts","../../../../libs/mintplayer-ng-bootstrap/color-picker/components/color-wheel/color-wheel.component.html","../../../../libs/mintplayer-ng-bootstrap/color-picker/components/luminosity-strip/luminosity-strip.component.ts","../../../../libs/mintplayer-ng-bootstrap/color-picker/components/luminosity-strip/luminosity-strip.component.html","../../../../libs/mintplayer-ng-bootstrap/color-picker/components/color-picker/color-picker.component.ts","../../../../libs/mintplayer-ng-bootstrap/color-picker/components/color-picker/color-picker.component.html","../../../../libs/mintplayer-ng-bootstrap/color-picker/mintplayer-ng-bootstrap-color-picker.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, computed, Directive, ElementRef, effect, inject, input, model, output, signal, viewChild } from '@angular/core';\nimport { BsObserveSizeDirective } from '@mintplayer/ng-swiper/observe-size';\n\n@Component({\n selector: 'bs-slider',\n templateUrl: './slider.component.html',\n styleUrls: ['./slider.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [BsObserveSizeDirective],\n host: {\n 'class': 'd-block position-relative',\n '(document:mousemove)': 'onPointerMove($event)',\n '(document:mouseup)': 'onPointerUp($event)',\n },\n})\nexport class BsSliderComponent {\n private observeSize = inject(BsObserveSizeDirective);\n readonly track = viewChild.required<ElementRef<HTMLDivElement>>('track');\n readonly thumb = viewChild.required<ElementRef<HTMLDivElement>>('thumb');\n\n disabled = input<boolean>(false);\n value = model<number>(0.5);\n valueChange = output<number>();\n private isPointerDown = signal<boolean>(false);\n\n thumbMarginLeft = computed(() => {\n const value = this.value();\n const width = this.observeSize.width() ?? 0;\n return value * width - 12;\n });\n\n cursorClass = computed(() => {\n return this.isPointerDown() ? 'cursor-grabbing' : 'cursor-grab';\n });\n\n constructor() {\n effect(() => {\n const value = this.value();\n this.valueChange.emit(value);\n });\n }\n\n onPointerDown(ev: MouseEvent | TouchEvent) {\n if (this.disabled()) return;\n ev.preventDefault();\n ev.stopPropagation();\n this.isPointerDown.set(true);\n this.updateColor(ev);\n }\n\n onPointerMove(ev: MouseEvent | TouchEvent) {\n if (this.isPointerDown()) {\n ev.preventDefault();\n ev.stopPropagation();\n this.updateColor(ev);\n }\n }\n\n onPointerUp(ev: MouseEvent | TouchEvent) {\n this.isPointerDown.set(false);\n }\n\n private updateColor(ev: MouseEvent | TouchEvent) {\n let co: { x: number };\n const rect = this.track().nativeElement.getBoundingClientRect();\n if ('touches' in ev) {\n co = {\n x: ev.touches[0].clientX - rect.left,\n };\n } else {\n co = {\n x: ev.clientX - rect.left,\n };\n }\n\n const percent = co.x / this.track().nativeElement.clientWidth;\n const limited = Math.max(0, Math.min(1, percent));\n this.value.set(limited);\n }\n}\n\n@Directive({\n selector: '[bsThumb]',\n host: {\n 'class': 'thumb position-absolute',\n },\n})\nexport class BsThumbDirective {\n}\n\n@Directive({\n selector: '[bsTrack]',\n host: {\n 'class': 'track',\n },\n})\nexport class BsTrackDirective {\n}","<div class=\"wrapper d-block position-relative\">\n <div #track class=\"track2\"\n (mousedown)=\"onPointerDown($event)\"\n (touchstart)=\"onPointerDown($event)\"\n (touchmove)=\"onPointerMove($event)\"\n (touchend)=\"onPointerUp($event)\">\n <ng-content select=\"[bsTrack]\"></ng-content>\n </div>\n <div #thumb\n (mousedown)=\"onPointerDown($event)\"\n (touchstart)=\"onPointerDown($event)\"\n (touchmove)=\"onPointerMove($event)\"\n (touchend)=\"onPointerUp($event)\"\n [class]=\"cursorClass()\"\n [style.margin-left.px]=\"thumbMarginLeft()\">\n <ng-content select=\"[bsThumb]\"></ng-content>\n </div>\n</div>\n","import { ChangeDetectionStrategy, Component, computed, effect, ElementRef, input, model, output, viewChild } from '@angular/core';\nimport { HS } from '../../interfaces/hs';\nimport { BsSliderComponent, BsThumbDirective, BsTrackDirective } from '../slider/slider.component';\n\n@Component({\n selector: 'bs-alpha-strip',\n templateUrl: './alpha-strip.component.html',\n styleUrls: ['./alpha-strip.component.scss'],\n imports: [BsSliderComponent, BsThumbDirective, BsTrackDirective],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BsAlphaStripComponent {\n readonly canvas = viewChild.required<ElementRef<HTMLCanvasElement>>('track');\n\n disabled = input<boolean>(false);\n hs = model<HS>({ hue: 0, saturation: 0 });\n luminosity = model<number>(0.5);\n alpha = model<number>(1);\n alphaChange = output<number>();\n\n private canvasContext: CanvasRenderingContext2D | null = null;\n\n resultBackground = computed(() => {\n const hs = this.hs();\n const luminosity = this.luminosity();\n const alpha = this.alpha();\n return `hsla(${hs.hue}, ${hs.saturation * 100}%, ${luminosity * 100}%, ${alpha})`;\n });\n\n constructor() {\n // Draw gradient when HS or luminosity changes\n effect(() => {\n const hs = this.hs();\n const luminosity = this.luminosity();\n setTimeout(() => {\n if (this.canvasContext) {\n const width = this.canvas().nativeElement.width;\n const height = this.canvas().nativeElement.height;\n this.canvasContext.clearRect(0, 0, width, height);\n this.canvasContext.save();\n\n const gradient = this.canvasContext.createLinearGradient(0, 0, width, 0);\n gradient.addColorStop(0, `hsla(${hs.hue}, ${hs.saturation * 100}%, ${luminosity * 100}%, 0)`);\n gradient.addColorStop(1, `hsla(${hs.hue}, ${hs.saturation * 100}%, ${luminosity * 100}%, 1)`);\n this.canvasContext.fillStyle = gradient;\n this.canvasContext.fillRect(0, 0, width, height);\n }\n });\n });\n\n // Emit alpha changes\n effect(() => {\n const alpha = this.alpha();\n this.alphaChange.emit(alpha);\n });\n }\n\n ngAfterViewInit() {\n if (typeof window !== 'undefined') {\n this.canvasContext = this.canvas().nativeElement.getContext('2d', { willReadFrequently: true });\n }\n }\n}\n","<bs-slider [disabled]=\"disabled()\" [value]=\"alpha()\" (valueChange)=\"alphaChange.emit($event)\">\n <canvas bsTrack class=\" track position-absolute w-100\" #track></canvas>\n\n <!-- [style.background]=\"resultBackground()\" -->\n <div bsThumb [style.background]=\"resultBackground()\"></div>\n</bs-slider>\n","import { Directive, effect, forwardRef, inject } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { BsColorPickerComponent } from '../../components/color-picker/color-picker.component';\nimport { RgbColor } from '../../interfaces/rgb-color';\n\n@Directive({\n selector: 'bs-color-picker',\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => BsColorPickerValueAccessor),\n multi: true\n }],\n exportAs: 'bsColorPicker'\n})\nexport class BsColorPickerValueAccessor implements ControlValueAccessor {\n private host = inject(BsColorPickerComponent);\n\n onValueChange?: (value: string) => void;\n onTouched?: () => void;\n\n constructor() {\n // Effect to emit value changes\n effect(() => {\n const hs = this.host.hs();\n const luminosity = this.host.luminosity();\n const rgb = this.hsl2rgb(hs.hue, hs.saturation, luminosity);\n const hex = this.rgb2hex(rgb);\n setTimeout(() => this.onValueChange && this.onValueChange(hex), 10);\n });\n }\n\n public hsl2rgb(h: number, s: number, l: number) {\n const k = (n: number) => (n + h / 30) % 12;\n const a = s * Math.min(l, 1 - l);\n const f = (n: number) => l - a * Math.max(-1, Math.min(k(n) - 3, Math.min(9 - k(n), 1)));\n const retValue = <RgbColor>{ r: 255 * f(0), g: 255 * f(8), b: 255 * f(4) };\n return retValue;\n }\n\n //#region ControlValueAccessor implementation\n registerOnChange(fn: (_: any) => void) {\n this.onValueChange = fn;\n }\n\n registerOnTouched(fn: () => void) {\n this.onTouched = fn;\n }\n\n writeValue(value: string | null) {\n if (this.host && this.host.colorWheel()) {\n if (value) {\n const rgb = this.hex2rgb(value);\n const hsl = this.rgb2Hsl(rgb);\n this.host.hs.set({ hue: hsl.h, saturation: hsl.s });\n this.host.luminosity.set(hsl.l);\n }\n }\n }\n\n setDisabledState(isDisabled: boolean) {\n this.host.disabled.set(isDisabled);\n }\n //#endregion\n\n //#region Color Conversion\n private rgb2hex(rgb: RgbColor) {\n return '#' + (Math.round((rgb.r << 16) + (rgb.g << 8) + rgb.b)).toString(16).padStart(6, '0');\n }\n\n private hex2rgb(hex: string): RgbColor {\n const r = parseInt(hex.slice(1, 3), 16),\n g = parseInt(hex.slice(3, 5), 16),\n b = parseInt(hex.slice(5, 7), 16);\n\n return { r, g, b };\n }\n /**\n * Divide 1 to n, handling floating point errors.\n * Ensures that the value is in between 0 and 1.\n **/\n private bound01(n: number, max: number) {\n n = Math.min(max, Math.max(0, n));\n if (Math.abs(n - max) < 0.000001) {\n return 1;\n } else {\n return (n % max) / max;\n }\n }\n private rgb2Hsl(color: RgbColor) {\n const r01 = this.bound01(color.r, 255);\n const g01 = this.bound01(color.g, 255);\n const b01 = this.bound01(color.b, 255);\n\n const max = Math.max(r01, g01, b01);\n const min = Math.min(r01, g01, b01);\n\n let h: number, s: number;\n const l = (max + min) / 2;\n if (max === min) {\n h = s = 0;\n } else {\n const d = max - min;\n s = l > 0.5 ? d / (2 - max - min) : d / (max + min);\n\n switch (max) {\n case r01:\n h = (g01 - b01) / d + (g01 < b01 ? 6 : 0);\n break;\n case g01:\n h = (b01 - r01) / d + 2;\n break;\n case b01:\n h = (r01 - g01) / d + 4;\n break;\n default: {\n throw 'Invalid operation';\n }\n }\n\n h /= 6;\n }\n\n h *= 360;\n\n return { h, s, l };\n }\n //#endregion\n}\n","import { ChangeDetectionStrategy, Component, computed, effect, ElementRef, inject, input, model, output, signal, viewChild } from '@angular/core';\nimport { HS } from '../../interfaces/hs';\nimport { HslColor } from '../../interfaces/hsl-color';\nimport { RgbColor } from '../../interfaces/rgb-color';\n\n@Component({\n selector: 'bs-color-wheel',\n templateUrl: './color-wheel.component.html',\n styleUrls: ['./color-wheel.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n 'class': 'position-relative',\n '(document:mousemove)': 'onMouseMove($event)',\n '(document:mouseup)': 'onPointerUp($event)',\n },\n})\nexport class BsColorWheelComponent {\n private element = inject(ElementRef<HTMLElement>);\n readonly canvas = viewChild.required<ElementRef<HTMLCanvasElement>>('canvas');\n\n // Inputs\n width = model<number>(150);\n height = model<number>(150);\n diameterRatio = model<number>(0);\n luminosity = model<number>(0);\n\n // HS model with output\n hs = model<HS>({ hue: 0, saturation: 0 });\n hsChange = output<HS>();\n\n // Internal state\n disabled = input<boolean>(false);\n viewInited = signal<boolean>(false);\n private readonly isPointerDown = signal<boolean>(false);\n private canvasContext: CanvasRenderingContext2D | null = null;\n\n // Computed values\n squareSize = computed(() => {\n const width = this.width();\n const height = this.height();\n if (width === null || height === null) {\n return null;\n }\n return Math.min(width, height);\n });\n\n shiftX = computed(() => {\n const width = this.width();\n const height = this.height();\n if (width === null || height === null) {\n return null;\n } else if (width < height) {\n return 0;\n } else {\n return (width - height) / 2;\n }\n });\n\n shiftY = computed(() => {\n const width = this.width();\n const height = this.height();\n if (width === null || height === null) {\n return null;\n } else if (width < height) {\n return (height - width) / 2;\n } else {\n return 0;\n }\n });\n\n innerRadius = computed(() => {\n const squareSize = this.squareSize();\n const diameterRatio = this.diameterRatio();\n if (squareSize) {\n return squareSize / 2 * diameterRatio;\n } else {\n return 0;\n }\n });\n\n outerRadius = computed(() => {\n const squareSize = this.squareSize();\n if (squareSize) {\n return squareSize / 2;\n } else {\n return 150;\n }\n });\n\n markerPosition = computed(() => {\n const hs = this.hs();\n const shiftX = this.shiftX() ?? 0;\n const shiftY = this.shiftY() ?? 0;\n const position = this.color2position(hs);\n return {\n x: position.x + shiftX,\n y: position.y + shiftY,\n };\n });\n\n constructor() {\n // Draw color wheel when dimensions change\n effect(() => {\n const innerRadius = this.innerRadius();\n const outerRadius = this.outerRadius();\n const shiftX = this.shiftX();\n const shiftY = this.shiftY();\n\n // Use setTimeout to debounce slightly\n setTimeout(() => {\n if (this.canvasContext && innerRadius !== null && outerRadius !== null && shiftX !== null && shiftY !== null) {\n this.canvasContext.clearRect(0, 0, this.canvas().nativeElement.width, this.canvas().nativeElement.height);\n this.canvasContext.save();\n this.canvasContext.translate(shiftX + outerRadius, shiftY + outerRadius);\n\n for (let x = 0; x < 360; x++) {\n this.canvasContext.rotate(1 * Math.PI / 180);\n const gradient = this.canvasContext.createLinearGradient(innerRadius, 0, outerRadius, 0);\n\n gradient.addColorStop(0, `hsl(${x}, 0%, 50%)`);\n gradient.addColorStop(1, `hsl(${x}, 100%, 50%)`);\n\n this.canvasContext.fillStyle = gradient;\n this.canvasContext.fillRect(innerRadius, 0, outerRadius - innerRadius, outerRadius / 50);\n }\n\n this.canvasContext.restore();\n }\n }, 20);\n });\n\n // Emit HS changes\n effect(() => {\n const hs = this.hs();\n this.hsChange.emit(hs);\n });\n }\n\n ngAfterViewInit() {\n this.viewInited.set(true);\n if (typeof window !== 'undefined') {\n this.canvasContext = this.canvas().nativeElement.getContext('2d', { willReadFrequently: true });\n }\n }\n\n onPointerDown(ev: MouseEvent | TouchEvent) {\n if (!this.disabled()) {\n ev.preventDefault();\n ev.stopPropagation();\n this.isPointerDown.set(true);\n this.updateColor(ev, !('touches' in ev));\n }\n }\n\n onPointerMove(ev: MouseEvent | TouchEvent) {\n if (this.isPointerDown()) {\n ev.preventDefault();\n ev.stopPropagation();\n this.updateColor(ev, !('touches' in ev));\n }\n }\n\n onMouseMove(ev: MouseEvent) {\n this.onPointerMove(ev);\n }\n\n onPointerUp(ev: MouseEvent | TouchEvent) {\n this.isPointerDown.set(false);\n }\n\n private updateColor(ev: MouseEvent | TouchEvent, subtract: boolean) {\n let co: { x: number, y: number };\n const rect = this.canvas().nativeElement.getBoundingClientRect();\n if ('touches' in ev) {\n co = {\n x: ev.touches[0].clientX - rect.left,\n y: ev.touches[0].clientY - rect.top,\n };\n } else {\n co = {\n x: ev.clientX - (subtract ? rect.left : 0),\n y: ev.clientY - (subtract ? rect.top : 0),\n };\n }\n\n const color = this.position2color(co.x, co.y);\n if (color) {\n this.hs.set({ hue: color.hue, saturation: color.saturation });\n } else {\n console.warn('Color is null');\n }\n }\n\n private isInsideCircle(x: number, y: number) {\n const squareSize = this.squareSize();\n const shiftX = this.shiftX();\n const shiftY = this.shiftY();\n\n // Position to the square\n const sx: number = x - (shiftX ?? 0);\n const sy = y - (shiftY ?? 0);\n // Square radius\n const sr = (squareSize ?? 0) / 2;\n\n const radius = Math.sqrt(Math.pow(sx - sr, 2) + Math.pow(sy - sr, 2));\n const angle = (Math.atan2(sr - sy, sr - sx) + Math.PI) % 360;\n return {\n inside: radius <= sr,\n angle\n };\n }\n\n private position2color(x: number, y: number): HslColor | null {\n if (!this.canvasContext) {\n return null;\n }\n\n const result = this.isInsideCircle(x, y);\n if (result.inside) {\n const imageData = this.canvasContext.getImageData(x, y, 1, 1).data;\n const hsl = this.rgb2Hsl({ r: imageData[0], g: imageData[1], b: imageData[2] });\n return hsl;\n }\n\n return { hue: result.angle * 180 / Math.PI, saturation: 1, luminosity: 0.5 };\n }\n\n private color2position(hs: HS) {\n let innerRadius = this.innerRadius();\n let outerRadius = this.outerRadius();\n\n if (innerRadius === null) {\n innerRadius = 0;\n }\n if (!outerRadius) {\n outerRadius = 100;\n }\n\n const theta = hs.hue * Math.PI / 180;\n const c = {\n x: -outerRadius * Math.cos(theta),\n y: -outerRadius * Math.sin(theta)\n };\n\n const d = hs.saturation * (outerRadius - innerRadius) + innerRadius;\n const o = { x: outerRadius, y: outerRadius };\n\n return {\n x: o.x - d * (c.x / outerRadius),\n y: o.y - d * (c.y / outerRadius),\n };\n }\n\n private rgb2Hsl(color: RgbColor) {\n const r01 = this.bound01(color.r, 255);\n const g01 = this.bound01(color.g, 255);\n const b01 = this.bound01(color.b, 255);\n\n const max = Math.max(r01, g01, b01);\n const min = Math.min(r01, g01, b01);\n\n let h: number, s: number; const l = (max + min) / 2;\n if (max === min) {\n h = s = 0;\n } else {\n const d = max - min;\n s = (l > 0.5) ? (d / (2 - max - min)) : (d / (max + min));\n switch (max) {\n case r01: {\n h = (g01 - b01) / d + ((g01 < b01) ? 6 : 0);\n } break;\n case g01: {\n h = (b01 - r01) / d + 2;\n } break;\n case b01: {\n h = (r01 - g01) / d + 4;\n } break;\n default: {\n throw 'Invalid operation';\n }\n }\n\n h /= 6;\n }\n\n h *= 360;\n\n return <HslColor>{ hue: h, saturation: s, luminosity: l };\n }\n\n /**\n * Divide 1 to n, handling floating point errors.\n * Ensures that the value is in between 0 and 1.\n **/\n private bound01(n: number, max: number) {\n n = Math.min(max, Math.max(0, n));\n if ((Math.abs(n - max) < 0.000001)) {\n return 1;\n } else {\n return (n % max) / max;\n }\n }\n}\n","<canvas\n class=\"d-block\"\n [width]=\"width()\"\n [height]=\"height()\"\n (mousedown)=\"onPointerDown($event)\"\n (touchstart)=\"onPointerDown($event)\"\n (touchmove)=\"onPointerMove($event)\"\n (touchend)=\"onPointerUp($event)\"\n #canvas></canvas>\n\n@if (markerPosition(); as markerPosition) {\n <div class=\"thumb position-absolute pe-none\" [style.left.px]=\"markerPosition.x\" [style.top.px]=\"markerPosition.y\"></div>\n}\n","import { ChangeDetectionStrategy, Component, computed, effect, ElementRef, input, model, output, viewChild } from '@angular/core';\nimport { HS } from '../../interfaces/hs';\nimport { BsSliderComponent, BsThumbDirective, BsTrackDirective } from '../slider/slider.component';\n\n@Component({\n selector: 'bs-luminosity-strip',\n templateUrl: './luminosity-strip.component.html',\n styleUrls: ['./luminosity-strip.component.scss'],\n imports: [BsSliderComponent, BsThumbDirective, BsTrackDirective],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BsLuminosityStripComponent {\n readonly canvas = viewChild.required<ElementRef<HTMLCanvasElement>>('canvas');\n\n disabled = input<boolean>(false);\n hs = model<HS>({ hue: 0, saturation: 0 });\n luminosity = model<number>(0.5);\n luminosityChange = output<number>();\n\n private canvasContext: CanvasRenderingContext2D | null = null;\n\n resultBackground = computed(() => {\n const hs = this.hs();\n const luminosity = this.luminosity();\n return `hsl(${hs.hue}, ${hs.saturation * 100}%, ${luminosity * 100}%)`;\n });\n\n constructor() {\n // Draw gradient when HS changes\n effect(() => {\n const hs = this.hs();\n if (this.canvasContext) {\n const width = this.canvas().nativeElement.width;\n const height = this.canvas().nativeElement.height;\n this.canvasContext.clearRect(0, 0, width, height);\n this.canvasContext.save();\n\n const gradient = this.canvasContext.createLinearGradient(0, 0, width, 0);\n gradient.addColorStop(0, `hsl(${hs.hue}, ${hs.saturation * 100}%, 0%)`);\n gradient.addColorStop(0.5, `hsl(${hs.hue}, ${hs.saturation * 100}%, 50%)`);\n gradient.addColorStop(1, `hsl(${hs.hue}, ${hs.saturation * 100}%, 100%)`);\n this.canvasContext.fillStyle = gradient;\n this.canvasContext.fillRect(0, 0, width, height);\n }\n });\n\n // Emit luminosity changes\n effect(() => {\n const luminosity = this.luminosity();\n this.luminosityChange.emit(luminosity);\n });\n }\n\n ngAfterViewInit() {\n if (typeof window !== 'undefined') {\n this.canvasContext = this.canvas().nativeElement.getContext('2d', { willReadFrequently: true });\n }\n }\n}\n","<bs-slider [disabled]=\"disabled()\" [value]=\"luminosity()\" (valueChange)=\"luminosityChange.emit($event)\">\n <canvas bsTrack class=\"position-absolute w-100\" #canvas></canvas>\n <div bsThumb [style.background]=\"resultBackground()\"></div>\n</bs-slider>\n","import { ChangeDetectionStrategy, Component, effect, input, model, output, signal, viewChild } from \"@angular/core\";\nimport { HS } from \"../../interfaces/hs\";\nimport { BsColorPickerValueAccessor } from \"../../directives/color-picker-value-accessor/color-picker-value-accessor.directive\";\nimport { BsColorWheelComponent } from \"../color-wheel/color-wheel.component\";\nimport { BsLuminosityStripComponent } from \"../luminosity-strip/luminosity-strip.component\";\nimport { BsAlphaStripComponent } from \"../alpha-strip/alpha-strip.component\";\n\n@Component({\n selector: 'bs-color-picker',\n templateUrl: './color-picker.component.html',\n styleUrls: ['./color-picker.component.scss'],\n imports: [BsColorWheelComponent, BsLuminosityStripComponent, BsAlphaStripComponent],\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [BsColorPickerValueAccessor],\n})\nexport class BsColorPickerComponent {\n\n readonly colorWheel = viewChild.required<BsColorWheelComponent>('wheel');\n\n size = input<number>(150);\n disabled = signal<boolean>(false);\n allowAlpha = input<boolean>(true);\n\n hs = signal<HS>({ hue: 0, saturation: 0 });\n luminosity = signal<number>(0);\n\n alpha = model<number>(1);\n alphaChange = output<number>();\n\n constructor() {\n effect(() => {\n const alpha = this.alpha();\n this.alphaChange.emit(alpha);\n });\n }\n}\n","@let letDisabled = disabled();\n@let letHS = hs();\n@let letLuminosity = luminosity();\n@let letAlpha = alpha();\n\n<bs-color-wheel [disabled]=\"letDisabled\" [hs]=\"letHS\" (hsChange)=\"hs.set($event)\" [luminosity]=\"letLuminosity\" [width]=\"size()\" [height]=\"size()\" #wheel></bs-color-wheel>\n<bs-luminosity-strip [disabled]=\"letDisabled\" [hs]=\"letHS\" [luminosity]=\"letLuminosity\" (luminosityChange)=\"luminosity.set($event)\" class=\"d-block mt-2\" [style.width.px]=\"size()\" #strip></bs-luminosity-strip>\n@if (allowAlpha()) {\n <bs-alpha-strip [disabled]=\"letDisabled\" [hs]=\"letHS\" [luminosity]=\"letLuminosity\" [alpha]=\"letAlpha\" (alphaChange)=\"alpha.set($event)\" class=\"d-block mt-2\" [style.width.px]=\"size()\" #alphaStrip></bs-alpha-strip>\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -2,10 +2,10 @@ import * as i0 from '@angular/core';
|
|
|
2
2
|
import { ChangeDetectionStrategy, Component } from '@angular/core';
|
|
3
3
|
|
|
4
4
|
class BsContainerComponent {
|
|
5
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.
|
|
6
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.
|
|
5
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: BsContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
6
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.11", type: BsContainerComponent, isStandalone: true, selector: "bs-container", ngImport: i0, template: "<ng-content></ng-content>", styles: [":host ::ng-deep .container,:host ::ng-deep .container-fluid,:host ::ng-deep .container-xxl,:host ::ng-deep .container-xl,:host ::ng-deep .container-lg,:host ::ng-deep .container-md,:host ::ng-deep .container-sm{--bs-gutter-x: 1.5rem;--bs-gutter-y: 0;width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-right:auto;margin-left:auto}@media(min-width:576px){:host ::ng-deep .container-sm,:host ::ng-deep .container{max-width:540px}}@media(min-width:768px){:host ::ng-deep .container-md,:host ::ng-deep .container-sm,:host ::ng-deep .container{max-width:720px}}@media(min-width:992px){:host ::ng-deep .container-lg,:host ::ng-deep .container-md,:host ::ng-deep .container-sm,:host ::ng-deep .container{max-width:960px}}@media(min-width:1200px){:host ::ng-deep .container-xl,:host ::ng-deep .container-lg,:host ::ng-deep .container-md,:host ::ng-deep .container-sm,:host ::ng-deep .container{max-width:1140px}}@media(min-width:1400px){:host ::ng-deep .container-xxl,:host ::ng-deep .container-xl,:host ::ng-deep .container-lg,:host ::ng-deep .container-md,:host ::ng-deep .container-sm,:host ::ng-deep .container{max-width:1320px}}:host{display:contents}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
7
7
|
}
|
|
8
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.
|
|
8
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: BsContainerComponent, decorators: [{
|
|
9
9
|
type: Component,
|
|
10
10
|
args: [{ selector: 'bs-container', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-content></ng-content>", styles: [":host ::ng-deep .container,:host ::ng-deep .container-fluid,:host ::ng-deep .container-xxl,:host ::ng-deep .container-xl,:host ::ng-deep .container-lg,:host ::ng-deep .container-md,:host ::ng-deep .container-sm{--bs-gutter-x: 1.5rem;--bs-gutter-y: 0;width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-right:auto;margin-left:auto}@media(min-width:576px){:host ::ng-deep .container-sm,:host ::ng-deep .container{max-width:540px}}@media(min-width:768px){:host ::ng-deep .container-md,:host ::ng-deep .container-sm,:host ::ng-deep .container{max-width:720px}}@media(min-width:992px){:host ::ng-deep .container-lg,:host ::ng-deep .container-md,:host ::ng-deep .container-sm,:host ::ng-deep .container{max-width:960px}}@media(min-width:1200px){:host ::ng-deep .container-xl,:host ::ng-deep .container-lg,:host ::ng-deep .container-md,:host ::ng-deep .container-sm,:host ::ng-deep .container{max-width:1140px}}@media(min-width:1400px){:host ::ng-deep .container-xxl,:host ::ng-deep .container-xl,:host ::ng-deep .container-lg,:host ::ng-deep .container-md,:host ::ng-deep .container-sm,:host ::ng-deep .container{max-width:1320px}}:host{display:contents}\n"] }]
|
|
11
11
|
}] });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mintplayer-ng-bootstrap-container.mjs","sources":["../../../../libs/mintplayer-ng-bootstrap/container/src/container/container.component.ts","../../../../libs/mintplayer-ng-bootstrap/container/src/container/container.component.html","../../../../libs/mintplayer-ng-bootstrap/container/mintplayer-ng-bootstrap-container.ts"],"sourcesContent":["import { Component, ChangeDetectionStrategy} from '@angular/core';\n\n@Component({\n selector: 'bs-container',\n templateUrl: './container.component.html',\n styleUrls: ['./container.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BsContainerComponent {}\n","<ng-content></ng-content>","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;MAQa,oBAAoB,CAAA
|
|
1
|
+
{"version":3,"file":"mintplayer-ng-bootstrap-container.mjs","sources":["../../../../libs/mintplayer-ng-bootstrap/container/src/container/container.component.ts","../../../../libs/mintplayer-ng-bootstrap/container/src/container/container.component.html","../../../../libs/mintplayer-ng-bootstrap/container/mintplayer-ng-bootstrap-container.ts"],"sourcesContent":["import { Component, ChangeDetectionStrategy} from '@angular/core';\n\n@Component({\n selector: 'bs-container',\n templateUrl: './container.component.html',\n styleUrls: ['./container.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BsContainerComponent {}\n","<ng-content></ng-content>","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;MAQa,oBAAoB,CAAA;+GAApB,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAApB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,oBAAoB,wECRjC,2BAAyB,EAAA,MAAA,EAAA,CAAA,qrCAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;4FDQZ,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBANhC,SAAS;+BACE,cAAc,EAAA,eAAA,EAGP,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,2BAAA,EAAA,MAAA,EAAA,CAAA,qrCAAA,CAAA,EAAA;;;AENjD;;AAEG;;;;"}
|
|
@@ -62,10 +62,10 @@ class BsContextMenuDirective {
|
|
|
62
62
|
this.close();
|
|
63
63
|
}
|
|
64
64
|
}
|
|
65
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.
|
|
66
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.
|
|
65
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: BsContextMenuDirective, deps: [{ token: i1.Overlay }, { token: i0.TemplateRef }, { token: i0.ViewContainerRef }, { token: i0.ElementRef, host: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
66
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.11", type: BsContextMenuDirective, isStandalone: true, selector: "[bsContextMenu]", host: { listeners: { "document:click": "clickAnywhere($event)", "window:blur": "onBlur()" } }, ngImport: i0 }); }
|
|
67
67
|
}
|
|
68
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.
|
|
68
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: BsContextMenuDirective, decorators: [{
|
|
69
69
|
type: Directive,
|
|
70
70
|
args: [{
|
|
71
71
|
selector: '[bsContextMenu]',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mintplayer-ng-bootstrap-context-menu.mjs","sources":["../../../../libs/mintplayer-ng-bootstrap/context-menu/src/context-menu.directive.ts","../../../../libs/mintplayer-ng-bootstrap/context-menu/mintplayer-ng-bootstrap-context-menu.ts"],"sourcesContent":["import { Overlay, OverlayRef } from '@angular/cdk/overlay';\nimport { TemplatePortal } from '@angular/cdk/portal';\nimport { Directive, ElementRef, Host, SkipSelf, TemplateRef, ViewContainerRef } from '@angular/core';\n\n@Directive({\n selector: '[bsContextMenu]',\n host: {\n '(document:click)': 'clickAnywhere($event)',\n '(window:blur)': 'onBlur()',\n },\n})\nexport class BsContextMenuDirective {\n\n constructor(\n private overlay: Overlay,\n private templateRef: TemplateRef<any>,\n private viewContainerRef: ViewContainerRef,\n @Host() @SkipSelf() private element: ElementRef\n ) {\n this.element.nativeElement.oncontextmenu = (ev: MouseEvent) => {\n ev.preventDefault();\n this.checkAndCloseExisting(ev);\n\n const target = {\n getBoundingClientRect: () => {\n return ({\n width: 0,\n height: 0,\n top: ev.clientY,\n left: ev.clientX,\n bottom: ev.clientY,\n right: ev.clientX,\n });\n },\n };\n const element = new ElementRef(target);\n\n this.overlayRef = this.overlay.create({\n hasBackdrop: false,\n scrollStrategy: this.overlay.scrollStrategies.close(),\n positionStrategy: this.overlay.position()\n .flexibleConnectedTo(element)\n .withPositions([\n { originX: \"end\", originY: \"top\", overlayX: \"start\", overlayY: \"top\" },\n { originX: \"end\", originY: \"bottom\", overlayX: \"start\", overlayY: \"bottom\" },\n { originX: \"start\", originY: \"top\", overlayX: \"end\", overlayY: \"top\" },\n { originX: \"start\", originY: \"bottom\", overlayX: \"end\", overlayY: \"bottom\" },\n ])\n });\n this.templatePortal = new TemplatePortal(this.templateRef, this.viewContainerRef);\n const view = this.overlayRef.attach(this.templatePortal);\n view.rootNodes.forEach(node => node.classList.add('position-static'));\n };\n }\n\n private overlayRef: OverlayRef | null = null;\n private templatePortal: TemplatePortal<any> | null = null;\n\n clickAnywhere(ev: MouseEvent) {\n this.checkAndCloseExisting(ev);\n }\n\n onBlur() {\n this.close();\n }\n\n private close() {\n if (this.overlayRef) {\n this.overlayRef.detach();\n this.overlayRef.dispose();\n this.overlayRef = null;\n }\n }\n\n private checkAndCloseExisting(ev: MouseEvent) {\n if (this.overlayRef && !this.overlayRef.overlayElement.contains(<any>ev.target)) {\n this.close();\n }\n }\n\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;MAWa,sBAAsB,CAAA;AAEjC,IAAA,WAAA,CACU,OAAgB,EAChB,WAA6B,EAC7B,gBAAkC,EACd,OAAmB,EAAA;QAHvC,IAAA,CAAA,OAAO,GAAP,OAAO;QACP,IAAA,CAAA,WAAW,GAAX,WAAW;QACX,IAAA,CAAA,gBAAgB,GAAhB,gBAAgB;QACI,IAAA,CAAA,OAAO,GAAP,OAAO;QAsC7B,IAAA,CAAA,UAAU,GAAsB,IAAI;QACpC,IAAA,CAAA,cAAc,GAA+B,IAAI;QArCvD,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,aAAa,GAAG,CAAC,EAAc,KAAI;YAC5D,EAAE,CAAC,cAAc,EAAE;AACnB,YAAA,IAAI,CAAC,qBAAqB,CAAC,EAAE,CAAC;AAE9B,YAAA,MAAM,MAAM,GAAG;gBACb,qBAAqB,EAAE,MAAK;AAC1B,oBAAA,QAAS;AACP,wBAAA,KAAK,EAAE,CAAC;AACR,wBAAA,MAAM,EAAE,CAAC;wBACT,GAAG,EAAE,EAAE,CAAC,OAAO;wBACf,IAAI,EAAE,EAAE,CAAC,OAAO;wBAChB,MAAM,EAAE,EAAE,CAAC,OAAO;wBAClB,KAAK,EAAE,EAAE,CAAC,OAAO;AAClB,qBAAA;gBACH,CAAC;aACF;AACD,YAAA,MAAM,OAAO,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC;YAEtC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;AACpC,gBAAA,WAAW,EAAE,KAAK;gBAClB,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,KAAK,EAAE;AACrD,gBAAA,gBAAgB,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ;qBACtC,mBAAmB,CAAC,OAAO;AAC3B,qBAAA,aAAa,CAAC;AACb,oBAAA,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE;AACtE,oBAAA,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE;AAC5E,oBAAA,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE;AACtE,oBAAA,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE;iBAC7E;AACF,aAAA,CAAC;AACF,YAAA,IAAI,CAAC,cAAc,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,gBAAgB,CAAC;AACjF,YAAA,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC;AACxD,YAAA,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;AACvE,QAAA,CAAC;IACH;AAKA,IAAA,aAAa,CAAC,EAAc,EAAA;AAC1B,QAAA,IAAI,CAAC,qBAAqB,CAAC,EAAE,CAAC;IAChC;IAEA,MAAM,GAAA;QACJ,IAAI,CAAC,KAAK,EAAE;IACd;IAEQ,KAAK,GAAA;AACX,QAAA,IAAI,IAAI,CAAC,UAAU,EAAE;AACnB,YAAA,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE;AACxB,YAAA,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE;AACzB,YAAA,IAAI,CAAC,UAAU,GAAG,IAAI;QACxB;IACF;AAEQ,IAAA,qBAAqB,CAAC,EAAc,EAAA;AAC1C,QAAA,IAAI,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,QAAQ,CAAM,EAAE,CAAC,MAAM,CAAC,EAAE;YAC/E,IAAI,CAAC,KAAK,EAAE;QACd;IACF
|
|
1
|
+
{"version":3,"file":"mintplayer-ng-bootstrap-context-menu.mjs","sources":["../../../../libs/mintplayer-ng-bootstrap/context-menu/src/context-menu.directive.ts","../../../../libs/mintplayer-ng-bootstrap/context-menu/mintplayer-ng-bootstrap-context-menu.ts"],"sourcesContent":["import { Overlay, OverlayRef } from '@angular/cdk/overlay';\nimport { TemplatePortal } from '@angular/cdk/portal';\nimport { Directive, ElementRef, Host, SkipSelf, TemplateRef, ViewContainerRef } from '@angular/core';\n\n@Directive({\n selector: '[bsContextMenu]',\n host: {\n '(document:click)': 'clickAnywhere($event)',\n '(window:blur)': 'onBlur()',\n },\n})\nexport class BsContextMenuDirective {\n\n constructor(\n private overlay: Overlay,\n private templateRef: TemplateRef<any>,\n private viewContainerRef: ViewContainerRef,\n @Host() @SkipSelf() private element: ElementRef\n ) {\n this.element.nativeElement.oncontextmenu = (ev: MouseEvent) => {\n ev.preventDefault();\n this.checkAndCloseExisting(ev);\n\n const target = {\n getBoundingClientRect: () => {\n return ({\n width: 0,\n height: 0,\n top: ev.clientY,\n left: ev.clientX,\n bottom: ev.clientY,\n right: ev.clientX,\n });\n },\n };\n const element = new ElementRef(target);\n\n this.overlayRef = this.overlay.create({\n hasBackdrop: false,\n scrollStrategy: this.overlay.scrollStrategies.close(),\n positionStrategy: this.overlay.position()\n .flexibleConnectedTo(element)\n .withPositions([\n { originX: \"end\", originY: \"top\", overlayX: \"start\", overlayY: \"top\" },\n { originX: \"end\", originY: \"bottom\", overlayX: \"start\", overlayY: \"bottom\" },\n { originX: \"start\", originY: \"top\", overlayX: \"end\", overlayY: \"top\" },\n { originX: \"start\", originY: \"bottom\", overlayX: \"end\", overlayY: \"bottom\" },\n ])\n });\n this.templatePortal = new TemplatePortal(this.templateRef, this.viewContainerRef);\n const view = this.overlayRef.attach(this.templatePortal);\n view.rootNodes.forEach(node => node.classList.add('position-static'));\n };\n }\n\n private overlayRef: OverlayRef | null = null;\n private templatePortal: TemplatePortal<any> | null = null;\n\n clickAnywhere(ev: MouseEvent) {\n this.checkAndCloseExisting(ev);\n }\n\n onBlur() {\n this.close();\n }\n\n private close() {\n if (this.overlayRef) {\n this.overlayRef.detach();\n this.overlayRef.dispose();\n this.overlayRef = null;\n }\n }\n\n private checkAndCloseExisting(ev: MouseEvent) {\n if (this.overlayRef && !this.overlayRef.overlayElement.contains(<any>ev.target)) {\n this.close();\n }\n }\n\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -5,7 +5,7 @@ import { inject, input, output, Directive } from '@angular/core';
|
|
|
5
5
|
class BsCopyDirective {
|
|
6
6
|
constructor() {
|
|
7
7
|
this.doc = inject(DOCUMENT);
|
|
8
|
-
this.bsCopy = input(null, ...(ngDevMode ? [{ debugName: "bsCopy" }] : []));
|
|
8
|
+
this.bsCopy = input(null, ...(ngDevMode ? [{ debugName: "bsCopy" }] : /* istanbul ignore next */ []));
|
|
9
9
|
this.bsCopied = output();
|
|
10
10
|
}
|
|
11
11
|
click(event) {
|
|
@@ -25,10 +25,10 @@ class BsCopyDirective {
|
|
|
25
25
|
this.doc.execCommand('copy');
|
|
26
26
|
this.doc.removeEventListener('copy', listener, false);
|
|
27
27
|
}
|
|
28
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.
|
|
29
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.
|
|
28
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: BsCopyDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
29
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.11", type: BsCopyDirective, isStandalone: true, selector: "[bsCopy]", inputs: { bsCopy: { classPropertyName: "bsCopy", publicName: "bsCopy", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { bsCopied: "bsCopied" }, host: { listeners: { "click": "click($event)" } }, ngImport: i0 }); }
|
|
30
30
|
}
|
|
31
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.
|
|
31
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: BsCopyDirective, decorators: [{
|
|
32
32
|
type: Directive,
|
|
33
33
|
args: [{
|
|
34
34
|
selector: '[bsCopy]',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mintplayer-ng-bootstrap-copy.mjs","sources":["../../../../libs/mintplayer-ng-bootstrap/copy/src/copy.directive.ts","../../../../libs/mintplayer-ng-bootstrap/copy/mintplayer-ng-bootstrap-copy.ts"],"sourcesContent":["import { DOCUMENT } from '@angular/common';\nimport { Directive, inject, input, output } from '@angular/core';\n\n@Directive({\n selector: '[bsCopy]',\n host: {\n '(click)': 'click($event)',\n },\n})\nexport class BsCopyDirective {\n private doc = inject<Document>(DOCUMENT);\n\n readonly bsCopy = input<string | null>(null);\n readonly bsCopied = output<string>();\n\n click(event: MouseEvent) {\n event.preventDefault();\n const listener = (e: ClipboardEvent) => {\n const bsCopyValue = this.bsCopy();\n if (!!bsCopyValue && !!window) {\n const clipboard = e.clipboardData || <DataTransfer | null>(<any>window)['clipboardData'] || null;\n if (clipboard) {\n clipboard.setData('text', bsCopyValue.toString());\n e.preventDefault();\n this.bsCopied.emit(bsCopyValue);\n }\n }\n };\n this.doc.addEventListener('copy', listener, false);\n this.doc.execCommand('copy');\n this.doc.removeEventListener('copy', listener, false);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;MASa,eAAe,CAAA;AAN5B,IAAA,WAAA,GAAA;AAOU,QAAA,IAAA,CAAA,GAAG,GAAG,MAAM,CAAW,QAAQ,CAAC;AAE/B,QAAA,IAAA,CAAA,MAAM,GAAG,KAAK,CAAgB,IAAI,
|
|
1
|
+
{"version":3,"file":"mintplayer-ng-bootstrap-copy.mjs","sources":["../../../../libs/mintplayer-ng-bootstrap/copy/src/copy.directive.ts","../../../../libs/mintplayer-ng-bootstrap/copy/mintplayer-ng-bootstrap-copy.ts"],"sourcesContent":["import { DOCUMENT } from '@angular/common';\nimport { Directive, inject, input, output } from '@angular/core';\n\n@Directive({\n selector: '[bsCopy]',\n host: {\n '(click)': 'click($event)',\n },\n})\nexport class BsCopyDirective {\n private doc = inject<Document>(DOCUMENT);\n\n readonly bsCopy = input<string | null>(null);\n readonly bsCopied = output<string>();\n\n click(event: MouseEvent) {\n event.preventDefault();\n const listener = (e: ClipboardEvent) => {\n const bsCopyValue = this.bsCopy();\n if (!!bsCopyValue && !!window) {\n const clipboard = e.clipboardData || <DataTransfer | null>(<any>window)['clipboardData'] || null;\n if (clipboard) {\n clipboard.setData('text', bsCopyValue.toString());\n e.preventDefault();\n this.bsCopied.emit(bsCopyValue);\n }\n }\n };\n this.doc.addEventListener('copy', listener, false);\n this.doc.execCommand('copy');\n this.doc.removeEventListener('copy', listener, false);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;MASa,eAAe,CAAA;AAN5B,IAAA,WAAA,GAAA;AAOU,QAAA,IAAA,CAAA,GAAG,GAAG,MAAM,CAAW,QAAQ,CAAC;AAE/B,QAAA,IAAA,CAAA,MAAM,GAAG,KAAK,CAAgB,IAAI,6EAAC;QACnC,IAAA,CAAA,QAAQ,GAAG,MAAM,EAAU;AAmBrC,IAAA;AAjBC,IAAA,KAAK,CAAC,KAAiB,EAAA;QACrB,KAAK,CAAC,cAAc,EAAE;AACtB,QAAA,MAAM,QAAQ,GAAG,CAAC,CAAiB,KAAI;AACrC,YAAA,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,EAAE;YACjC,IAAI,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,MAAM,EAAE;AAC7B,gBAAA,MAAM,SAAS,GAAG,CAAC,CAAC,aAAa,IAA+B,MAAO,CAAC,eAAe,CAAC,IAAI,IAAI;gBAChG,IAAI,SAAS,EAAE;oBACb,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,WAAW,CAAC,QAAQ,EAAE,CAAC;oBACjD,CAAC,CAAC,cAAc,EAAE;AAClB,oBAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC;gBACjC;YACF;AACF,QAAA,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC;AAClD,QAAA,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC;QAC5B,IAAI,CAAC,GAAG,CAAC,mBAAmB,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC;IACvD;+GAtBW,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAf,eAAe,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,EAAA,MAAA,EAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,eAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAAf,eAAe,EAAA,UAAA,EAAA,CAAA;kBAN3B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,UAAU;AACpB,oBAAA,IAAI,EAAE;AACJ,wBAAA,SAAS,EAAE,eAAe;AAC3B,qBAAA;AACF,iBAAA;;;ACRD;;AAEG;;;;"}
|
|
@@ -44,13 +44,13 @@ class DatatableSettings {
|
|
|
44
44
|
class BsDatatableColumnDirective {
|
|
45
45
|
constructor() {
|
|
46
46
|
this.templateRef = inject(TemplateRef);
|
|
47
|
-
this.name = input('', { ...(ngDevMode ? { debugName: "name" } : {}), alias: 'bsDatatableColumn' });
|
|
48
|
-
this.sortable = input(true, { ...(ngDevMode ? { debugName: "sortable" } : {}), alias: 'bsDatatableColumnSortable' });
|
|
47
|
+
this.name = input('', { ...(ngDevMode ? { debugName: "name" } : /* istanbul ignore next */ {}), alias: 'bsDatatableColumn' });
|
|
48
|
+
this.sortable = input(true, { ...(ngDevMode ? { debugName: "sortable" } : /* istanbul ignore next */ {}), alias: 'bsDatatableColumnSortable' });
|
|
49
49
|
}
|
|
50
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.
|
|
51
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.
|
|
50
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: BsDatatableColumnDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
51
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.11", type: BsDatatableColumnDirective, isStandalone: true, selector: "[bsDatatableColumn]", inputs: { name: { classPropertyName: "name", publicName: "bsDatatableColumn", isSignal: true, isRequired: false, transformFunction: null }, sortable: { classPropertyName: "sortable", publicName: "bsDatatableColumnSortable", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0 }); }
|
|
52
52
|
}
|
|
53
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.
|
|
53
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: BsDatatableColumnDirective, decorators: [{
|
|
54
54
|
type: Directive,
|
|
55
55
|
args: [{
|
|
56
56
|
selector: '[bsDatatableColumn]',
|
|
@@ -59,8 +59,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImpor
|
|
|
59
59
|
|
|
60
60
|
class DatatableSortBase {
|
|
61
61
|
constructor() {
|
|
62
|
-
this.columns = contentChildren(BsDatatableColumnDirective, ...(ngDevMode ? [{ debugName: "columns" }] : []));
|
|
63
|
-
this.settings = model(new DatatableSettings(), ...(ngDevMode ? [{ debugName: "settings" }] : []));
|
|
62
|
+
this.columns = contentChildren(BsDatatableColumnDirective, ...(ngDevMode ? [{ debugName: "columns" }] : /* istanbul ignore next */ []));
|
|
63
|
+
this.settings = model(new DatatableSettings(), ...(ngDevMode ? [{ debugName: "settings" }] : /* istanbul ignore next */ []));
|
|
64
64
|
}
|
|
65
65
|
get columnsArray() {
|
|
66
66
|
return this.columns();
|
|
@@ -106,19 +106,19 @@ class DatatableSortBase {
|
|
|
106
106
|
}
|
|
107
107
|
this.settings.set(new DatatableSettings({ ...currentSettings, sortColumns }));
|
|
108
108
|
}
|
|
109
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.
|
|
110
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "21.
|
|
109
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: DatatableSortBase, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
110
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "21.2.11", type: DatatableSortBase, isStandalone: true, inputs: { settings: { classPropertyName: "settings", publicName: "settings", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { settings: "settingsChange" }, queries: [{ propertyName: "columns", predicate: BsDatatableColumnDirective, isSignal: true }], ngImport: i0 }); }
|
|
111
111
|
}
|
|
112
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.
|
|
112
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: DatatableSortBase, decorators: [{
|
|
113
113
|
type: Directive
|
|
114
114
|
}], propDecorators: { columns: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => BsDatatableColumnDirective), { isSignal: true }] }], settings: [{ type: i0.Input, args: [{ isSignal: true, alias: "settings", required: false }] }, { type: i0.Output, args: ["settingsChange"] }] } });
|
|
115
115
|
|
|
116
116
|
class BsDatatableComponent extends DatatableSortBase {
|
|
117
117
|
constructor() {
|
|
118
118
|
super(...arguments);
|
|
119
|
-
this.numberOfColumns = computed(() => this.columns().length, ...(ngDevMode ? [{ debugName: "numberOfColumns" }] : []));
|
|
120
|
-
this.data = model(undefined, ...(ngDevMode ? [{ debugName: "data" }] : []));
|
|
121
|
-
this.rowTemplate = signal(undefined, ...(ngDevMode ? [{ debugName: "rowTemplate" }] : []));
|
|
119
|
+
this.numberOfColumns = computed(() => this.columns().length, ...(ngDevMode ? [{ debugName: "numberOfColumns" }] : /* istanbul ignore next */ []));
|
|
120
|
+
this.data = model(undefined, ...(ngDevMode ? [{ debugName: "data" }] : /* istanbul ignore next */ []));
|
|
121
|
+
this.rowTemplate = signal(undefined, ...(ngDevMode ? [{ debugName: "rowTemplate" }] : /* istanbul ignore next */ []));
|
|
122
122
|
}
|
|
123
123
|
onPerPageChange(perPage) {
|
|
124
124
|
const currentSettings = this.settings();
|
|
@@ -135,10 +135,10 @@ class BsDatatableComponent extends DatatableSortBase {
|
|
|
135
135
|
page: { ...currentSettings.page, selected: page },
|
|
136
136
|
}));
|
|
137
137
|
}
|
|
138
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.
|
|
139
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.
|
|
138
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: BsDatatableComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
139
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.11", type: BsDatatableComponent, isStandalone: true, selector: "bs-datatable", inputs: { data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { data: "dataChange" }, usesInheritance: true, ngImport: i0, template: "<bs-table [isResponsive]=\"true\" [striped]=\"true\" [hover]=\"true\" class=\"mb-3\">\n <thead>\n <tr>\n @for (column of columnsArray; track column) {\n <th class=\"text-nowrap\"\n [class.sort]=\"column.sortable()\"\n [class.sort-asc]=\"column.sortable() && getSortDirection(column.name()) === 'ascending'\"\n [class.sort-desc]=\"column.sortable() && getSortDirection(column.name()) === 'descending'\"\n (mousedown)=\"onHeaderMouseDown($event)\"\n (click)=\"columnHeaderClicked(column, $event)\">\n <ng-container *ngTemplateOutlet=\"column.templateRef\"></ng-container>\n @if (settings().sortColumns.length > 1 && getSortIndex(column.name()) >= 0) {\n <span class=\"sort-priority\">{{ getSortIndex(column.name()) + 1 }}</span>\n }\n </th>\n }\n </tr>\n </thead>\n <tbody>\n @if (!!data() && !!rowTemplate()) {\n @for (item of data()!.data; track $index) {\n <ng-container *ngTemplateOutlet=\"rowTemplate()!; context: { $implicit: item }\"></ng-container>\n }\n }\n </tbody>\n <tfoot>\n <tr>\n <td [colSpan]=\"numberOfColumns()\">\n <bs-grid [stopFullWidthAt]=\"'never'\">\n <div bsRow>\n <div [md]=\"12\">\n <bs-pagination class=\"float-start\" [pageNumbers]=\"settings().perPage.values\"\n [selectedPageNumber]=\"settings().perPage.selected\" (selectedPageNumberChange)=\"onPerPageChange($event)\"\n [showArrows]=\"false\"></bs-pagination>\n <bs-pagination class=\"float-end\" [pageNumbers]=\"settings().page.values\"\n [selectedPageNumber]=\"settings().page.selected\" (selectedPageNumberChange)=\"onPageChange($event)\"\n [showArrows]=\"true\" [numberOfBoxes]=\"settings().pageNumberOfBoxes\"></bs-pagination>\n </div>\n </div>\n </bs-grid>\n </td>\n </tr>\n </tfoot>\n</bs-table>\n", styles: ["@charset \"UTF-8\";bs-table thead th.sort{position:relative;cursor:pointer;padding-right:2rem}bs-table thead th.sort:before,bs-table thead th.sort:after{position:absolute;display:block;opacity:.3;bottom:.5em}bs-table thead th.sort:before{content:\"\\2191\";right:1em}bs-table thead th.sort:after{content:\"\\2193\";right:.5em}bs-table thead th.sort.sort-asc:after{opacity:1}bs-table thead th.sort.sort-desc:before{opacity:1}bs-table thead th.sort .sort-priority{position:absolute;right:.1em;bottom:.3em;font-size:.65em;font-weight:700;opacity:.7}tfoot>tr>td{border-bottom:none}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: BsGridComponent, selector: "bs-grid", inputs: ["stopFullWidthAt"] }, { kind: "directive", type: BsGridRowDirective, selector: "[bsRow]" }, { kind: "directive", type: BsGridColumnDirective, selector: "[xxs],[xs],[sm],[md],[lg],[xl],[xxl]", inputs: ["xxs", "xs", "sm", "md", "lg", "xl", "xxl"] }, { kind: "component", type: BsTableComponent, selector: "bs-table", inputs: ["isResponsive", "striped", "hover", "border"] }, { kind: "component", type: BsPaginationComponent, selector: "bs-pagination", inputs: ["pageNumbers", "selectedPageNumber", "numberOfBoxes", "showArrows", "size"], outputs: ["selectedPageNumberChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
140
140
|
}
|
|
141
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.
|
|
141
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: BsDatatableComponent, decorators: [{
|
|
142
142
|
type: Component,
|
|
143
143
|
args: [{ selector: 'bs-datatable', imports: [NgTemplateOutlet, BsGridComponent, BsGridRowDirective, BsGridColumnDirective, BsTableComponent, BsPaginationComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: "<bs-table [isResponsive]=\"true\" [striped]=\"true\" [hover]=\"true\" class=\"mb-3\">\n <thead>\n <tr>\n @for (column of columnsArray; track column) {\n <th class=\"text-nowrap\"\n [class.sort]=\"column.sortable()\"\n [class.sort-asc]=\"column.sortable() && getSortDirection(column.name()) === 'ascending'\"\n [class.sort-desc]=\"column.sortable() && getSortDirection(column.name()) === 'descending'\"\n (mousedown)=\"onHeaderMouseDown($event)\"\n (click)=\"columnHeaderClicked(column, $event)\">\n <ng-container *ngTemplateOutlet=\"column.templateRef\"></ng-container>\n @if (settings().sortColumns.length > 1 && getSortIndex(column.name()) >= 0) {\n <span class=\"sort-priority\">{{ getSortIndex(column.name()) + 1 }}</span>\n }\n </th>\n }\n </tr>\n </thead>\n <tbody>\n @if (!!data() && !!rowTemplate()) {\n @for (item of data()!.data; track $index) {\n <ng-container *ngTemplateOutlet=\"rowTemplate()!; context: { $implicit: item }\"></ng-container>\n }\n }\n </tbody>\n <tfoot>\n <tr>\n <td [colSpan]=\"numberOfColumns()\">\n <bs-grid [stopFullWidthAt]=\"'never'\">\n <div bsRow>\n <div [md]=\"12\">\n <bs-pagination class=\"float-start\" [pageNumbers]=\"settings().perPage.values\"\n [selectedPageNumber]=\"settings().perPage.selected\" (selectedPageNumberChange)=\"onPerPageChange($event)\"\n [showArrows]=\"false\"></bs-pagination>\n <bs-pagination class=\"float-end\" [pageNumbers]=\"settings().page.values\"\n [selectedPageNumber]=\"settings().page.selected\" (selectedPageNumberChange)=\"onPageChange($event)\"\n [showArrows]=\"true\" [numberOfBoxes]=\"settings().pageNumberOfBoxes\"></bs-pagination>\n </div>\n </div>\n </bs-grid>\n </td>\n </tr>\n </tfoot>\n</bs-table>\n", styles: ["@charset \"UTF-8\";bs-table thead th.sort{position:relative;cursor:pointer;padding-right:2rem}bs-table thead th.sort:before,bs-table thead th.sort:after{position:absolute;display:block;opacity:.3;bottom:.5em}bs-table thead th.sort:before{content:\"\\2191\";right:1em}bs-table thead th.sort:after{content:\"\\2193\";right:.5em}bs-table thead th.sort.sort-asc:after{opacity:1}bs-table thead th.sort.sort-desc:before{opacity:1}bs-table thead th.sort .sort-priority{position:absolute;right:.1em;bottom:.3em;font-size:.65em;font-weight:700;opacity:.7}tfoot>tr>td{border-bottom:none}\n"] }]
|
|
144
144
|
}], propDecorators: { data: [{ type: i0.Input, args: [{ isSignal: true, alias: "data", required: false }] }, { type: i0.Output, args: ["dataChange"] }] } });
|
|
@@ -147,7 +147,7 @@ class BsRowTemplateDirective {
|
|
|
147
147
|
constructor() {
|
|
148
148
|
this.datatableComponent = inject(BsDatatableComponent);
|
|
149
149
|
this.templateRef = inject(TemplateRef);
|
|
150
|
-
this.bsRowTemplateOf = input(undefined, ...(ngDevMode ? [{ debugName: "bsRowTemplateOf" }] : []));
|
|
150
|
+
this.bsRowTemplateOf = input(undefined, ...(ngDevMode ? [{ debugName: "bsRowTemplateOf" }] : /* istanbul ignore next */ []));
|
|
151
151
|
this.datatableComponent.rowTemplate.set(this.templateRef);
|
|
152
152
|
effect(() => {
|
|
153
153
|
const value = this.bsRowTemplateOf();
|
|
@@ -157,10 +157,10 @@ class BsRowTemplateDirective {
|
|
|
157
157
|
static ngTemplateContextGuard(dir, ctx) {
|
|
158
158
|
return true;
|
|
159
159
|
}
|
|
160
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.
|
|
161
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.
|
|
160
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: BsRowTemplateDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
161
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.11", type: BsRowTemplateDirective, isStandalone: true, selector: "[bsRowTemplate]", inputs: { bsRowTemplateOf: { classPropertyName: "bsRowTemplateOf", publicName: "bsRowTemplateOf", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0 }); }
|
|
162
162
|
}
|
|
163
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.
|
|
163
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: BsRowTemplateDirective, decorators: [{
|
|
164
164
|
type: Directive,
|
|
165
165
|
args: [{
|
|
166
166
|
selector: '[bsRowTemplate]',
|