@cuby-ui/core 0.0.21 → 0.0.23
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/components/button/button.component.d.ts +1 -1
- package/components/button/button.options.d.ts +2 -2
- package/esm2020/components/button/button.component.mjs +2 -2
- package/esm2020/components/button/button.options.mjs +1 -1
- package/esm2020/types/appearance.mjs +1 -1
- package/fesm2015/cuby-ui-core.mjs +2 -2
- package/fesm2015/cuby-ui-core.mjs.map +1 -1
- package/fesm2020/cuby-ui-core.mjs +2 -2
- package/fesm2020/cuby-ui-core.mjs.map +1 -1
- package/package.json +3 -3
- package/types/appearance.d.ts +1 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cuby-ui-core.mjs","sources":["../../../projects/core/components/accordion/accordion.component.ts","../../../projects/core/components/accordion/accordion.template.html","../../../projects/core/components/button/button.options.ts","../../../projects/core/components/svg/svg.component.ts","../../../projects/core/components/svg/svg.template.html","../../../projects/core/components/button/button.component.ts","../../../projects/core/components/button/button.template.html","../../../projects/core/components/accordion/accordion-item/accordion-item.component.ts","../../../projects/core/components/accordion/accordion-item/accordion-item.template.html","../../../projects/core/components/svg/svg.module.ts","../../../projects/core/components/button/button.module.ts","../../../projects/core/components/accordion/accordion.module.ts","../../../projects/core/components/notification/notification.options.ts","../../../projects/core/components/alert/alert.tokens.ts","../../../projects/core/components/notification/notification.component.ts","../../../projects/core/components/notification/notification.template.html","../../../projects/core/components/alert/alert.component.ts","../../../projects/core/components/alert/alert.template.html","../../../projects/core/components/alert/alerts.component.ts","../../../projects/core/components/alert/alerts.template.html","../../../projects/core/components/notification/notification.module.ts","../../../projects/core/components/alert/alert.module.ts","../../../projects/core/components/alert/alert.service.ts","../../../projects/core/components/banner/banner.options.ts","../../../projects/core/components/banner/banner.component.ts","../../../projects/core/components/banner/banner.template.html","../../../projects/core/components/banner/banner.module.ts","../../../projects/core/components/button-group/button-group.component.ts","../../../projects/core/components/button-group/button-group.template.html","../../../projects/core/components/button-group/button-group.module.ts","../../../projects/core/components/context-menu/context-menu.component.ts","../../../projects/core/components/context-menu/context-menu.component.html","../../../projects/core/components/context-menu/context-menu.module.ts","../../../projects/core/components/dialog/dialog.tokens.ts","../../../projects/core/components/dialog/dialog.component.ts","../../../projects/core/components/dialog/dialog.template.html","../../../projects/core/components/dialog/dialogs.component.ts","../../../projects/core/components/dialog/dialogs.template.html","../../../projects/core/components/dialog/dialog.module.ts","../../../projects/core/components/dialog/dialog.service.ts","../../../projects/core/directives/text-field-controller/text-field.controller.ts","../../../projects/core/directives/text-field-controller/text-field-icon-left.directive.ts","../../../projects/core/directives/text-field-controller/text-field-id.directive.ts","../../../projects/core/directives/text-field-controller/text-field-is-error.directive.ts","../../../projects/core/directives/text-field-controller/text-field-placeholder.directive.ts","../../../projects/core/directives/text-field-controller/text-field-size.directive.ts","../../../projects/core/directives/text-field-controller/text-field-controller.module.ts","../../../projects/core/directives/text-field-controller/text-field-controller.provider.ts","../../../projects/core/components/editor/editor.component.ts","../../../projects/core/components/editor/editor.template.html","../../../projects/core/components/editor/editor.module.ts","../../../projects/core/components/hint/hint.component.ts","../../../projects/core/components/hint/hint.template.html","../../../projects/core/components/hint/hint.module.ts","../../../projects/core/components/icon-button/icon-button.component.ts","../../../projects/core/components/icon-button/icon-button.template.html","../../../projects/core/components/icon-button/icon-button.module.ts","../../../projects/core/components/input-number/input-number.options.ts","../../../projects/core/utils/format/remove-spaces.ts","../../../projects/core/utils/format/replace.ts","../../../projects/core/components/input-number/input-number.component.ts","../../../projects/core/components/input-number/input-number.template.html","../../../projects/core/components/input-number/input-number.module.ts","../../../projects/core/components/input-password/input-password.component.ts","../../../projects/core/components/input-password/input-password.template.html","../../../projects/core/components/input-password/input-password.module.ts","../../../projects/core/components/input-text/input-text.component.ts","../../../projects/core/components/input-text/input-text.template.html","../../../projects/core/components/input-text/input-text.module.ts","../../../projects/core/components/label/label.component.ts","../../../projects/core/components/label/label.template.html","../../../projects/core/components/label/label.module.ts","../../../projects/core/components/root/root.component.ts","../../../projects/core/components/root/root.component.html","../../../projects/core/components/root/root.module.ts","../../../projects/core/components/textarea/textarea.component.ts","../../../projects/core/components/textarea/textarea.module.ts","../../../projects/core/services/theme.options.ts","../../../projects/core/services/theme.service.ts","../../../projects/core/cuby-ui-core.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component } from '@angular/core';\n\n@Component({\n selector: 'cui-accordion',\n templateUrl: './accordion.template.html',\n styleUrls: ['./accordion.style.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class CuiAccordionComponent {\n}\n","<ng-content select=\"cui-accordion-item\"></ng-content>\n","import { InjectionToken } from '@angular/core';\n\nimport type {\n CuiAppearanceAccent,\n CuiAppearanceDestructive,\n CuiAppearanceGhost,\n CuiAppearanceLink,\n CuiAppearanceOutlined,\n CuiAppearanceOutlinedGray,\n CuiAppearanceSecondary,\n CuiShapeRounded,\n CuiSizeMd,\n CuiSizeSm,\n CuiSizeXs,\n CuiSizeXxs\n} from '../../types';\n\nexport interface CuiButtonOptions {\n readonly appearance:\n | CuiAppearanceAccent\n | CuiAppearanceSecondary\n | CuiAppearanceOutlined\n | CuiAppearanceOutlinedGray\n | CuiAppearanceGhost\n | CuiAppearanceDestructive\n | CuiAppearanceLink\n readonly shape: CuiShapeRounded | null;\n readonly size:\n | CuiSizeXxs\n | CuiSizeXs\n | CuiSizeSm\n | CuiSizeMd;\n}\n\nexport const CUI_BUTTON_DEFAULT_OPTIONS: CuiButtonOptions = {\n appearance: 'accent',\n shape: null,\n size: 'sm'\n};\n\nexport const CUI_BUTTON_OPTIONS = new InjectionToken('', {\n factory: () => CUI_BUTTON_DEFAULT_OPTIONS\n});\n","import {\n ChangeDetectionStrategy,\n Component,\n HostBinding,\n inject,\n Input\n} from '@angular/core';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\n\nimport type { CuiIcon } from '@cuby-ui/icons';\nimport { CUI_ICONS, cuiIsIcon } from '@cuby-ui/icons';\n\n@Component({\n selector: 'cui-svg[icon]',\n templateUrl: './svg.template.html',\n styleUrls: ['./svg.style.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class CuiSvgComponent {\n private readonly domSanitizer = inject(DomSanitizer);\n\n protected safeSvgContent!: SafeHtml;\n\n @Input()\n public width?: number;\n\n @Input()\n public height?: number;\n\n @Input()\n @HostBinding('style.--stroke-width')\n public strokeWidth?: number;\n\n @Input()\n @HostBinding('style.--color')\n public color?: string;\n\n @Input()\n public set icon(icon: CuiIcon | string) {\n // TODO: В данном случае подключаются все иконки (вероятно, можно как-то оптимизировано их подключать)\n this.safeSvgContent = this.domSanitizer.bypassSecurityTrustHtml(cuiIsIcon(icon)\n ? CUI_ICONS[icon]\n : icon);\n }\n\n @HostBinding('class._with-stroke-width')\n public get isWithStrokeWidth(): boolean {\n return !!this.strokeWidth;\n }\n\n @HostBinding('class._with-color')\n public get isWithColor(): boolean {\n return !!this.color;\n }\n}\n","<span\n [innerHTML]=\"safeSvgContent\"\n [style.width.px]=\"width\"\n [style.height.px]=\"height\"\n></span>","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n HostBinding,\n inject,\n Input,\n ViewChild\n} from '@angular/core';\nimport type { AfterViewInit } from '@angular/core';\nimport type { CuiIcon } from '@cuby-ui/icons';\n\nimport { CUI_BUTTON_OPTIONS, CuiButtonOptions } from './button.options';\n\n@Component({\n selector: 'button[cuiButton], a[cuiButton]',\n templateUrl: './button.template.html',\n styleUrls: ['./button.style.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class CuiButtonComponent implements CuiButtonOptions, AfterViewInit {\n private readonly changeDetectorRef = inject(ChangeDetectorRef);\n private readonly cuiButtonOptions = inject(CUI_BUTTON_OPTIONS);\n\n protected readonly COLOR_BASE_500 = 'var(--cui-base-500)';\n protected readonly BUTTON_ICONS_COLOR_BASE_500: CuiButtonOptions['appearance'][] = [\n 'secondary',\n 'outlined',\n 'outlined-gray',\n 'ghost'\n ];\n\n protected _appearance = this.cuiButtonOptions.appearance;\n protected iconColor = 'currentColor';\n protected _size = this.cuiButtonOptions.size;\n protected iconDimensions = {\n width: 20,\n height: 20\n };\n\n @Input()\n @HostBinding('attr.data-shape')\n public shape = this.cuiButtonOptions.shape;\n\n @Input()\n @HostBinding('class._disabled')\n public disabled = false;\n\n @Input()\n @HostBinding('class._loading')\n public isLoaderShown = false;\n\n @Input()\n public icon?: CuiIcon | string;\n\n @Input()\n public iconRight?: CuiIcon | string;\n\n @Input()\n @HostBinding('attr.data-appearance')\n public get appearance(): CuiButtonOptions['appearance'] {\n return this._appearance;\n }\n\n public set appearance(appearance: CuiButtonOptions['appearance']) {\n this._appearance = appearance;\n\n if (this.BUTTON_ICONS_COLOR_BASE_500.includes(appearance)) {\n this.iconColor = this.COLOR_BASE_500;\n\n return;\n }\n\n this.iconColor = 'currentColor';\n }\n\n @Input()\n @HostBinding('attr.data-size')\n public get size(): CuiButtonOptions['size'] {\n return this._size;\n }\n\n public set size(size: CuiButtonOptions['size']) {\n this._size = size;\n\n if (size === 'xxs') {\n this.iconDimensions = {\n width: 16,\n height: 16\n };\n\n return;\n }\n\n this.iconDimensions = {\n width: 20,\n height: 20\n };\n }\n\n @HostBinding('class._only-icon')\n protected containsOnlyIcon = false;\n\n @HostBinding('disabled')\n protected get isDisabled(): boolean {\n return this.disabled || this.isLoaderShown;\n }\n\n @ViewChild('content')\n protected content!: ElementRef<HTMLSpanElement>;\n\n public ngAfterViewInit(): void {\n this.initContainsOnlyIcon();\n }\n\n private initContainsOnlyIcon(): void {\n Promise.resolve().then(() => {\n this.containsOnlyIcon = this.content.nativeElement.childNodes.length === 0;\n\n this.changeDetectorRef.markForCheck();\n });\n }\n}\n","<span\n class=\"c-wrapper\"\n [class.c-wrapper_invisible]=\"isLoaderShown\"\n>\n <cui-svg\n *ngIf=\"icon\"\n [icon]=\"icon\"\n [width]=\"iconDimensions.width\"\n [height]=\"iconDimensions.height\"\n [color]=\"iconColor\"\n ></cui-svg>\n <span\n #content\n *ngIf=\"!containsOnlyIcon\"\n >\n <ng-content></ng-content>\n </span>\n <cui-svg\n *ngIf=\"iconRight\"\n [icon]=\"iconRight\"\n [width]=\"iconDimensions.width\"\n [height]=\"iconDimensions.height\"\n [color]=\"iconColor\"\n ></cui-svg>\n</span>\n<cui-svg\n *ngIf=\"isLoaderShown\"\n icon=\"cuiIconLoading\"\n class=\"c-loader\"\n></cui-svg>\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport type { CuiIcon } from '@cuby-ui/icons';\n\n@Component({\n selector: 'cui-accordion-item',\n templateUrl: './accordion-item.template.html',\n styleUrls: ['./accordion-item.style.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class CuiAccordionItemComponent {\n protected isOpen = false;\n\n protected get buttonIcon(): CuiIcon {\n return this.isOpen ? 'cuiIconChevronDown' : 'cuiIconChevronRight';\n }\n\n protected onRowToggle(): void {\n this.isOpen = !this.isOpen;\n }\n}\n","<header class=\"c-header\">\n <button\n cuiButton\n appearance=\"ghost\"\n size=\"xxs\"\n [icon]=\"buttonIcon\"\n (click)=\"onRowToggle()\"\n ></button>\n <span>\n <ng-content></ng-content>\n </span>\n</header>\n<div *ngIf=\"isOpen\">\n <ng-content select=\"[cuiAccordionItemContent]\"></ng-content>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { CuiSvgComponent } from './svg.component';\n\n@NgModule({\n imports: [CommonModule],\n declarations: [CuiSvgComponent],\n exports: [CuiSvgComponent]\n})\nexport class CuiSvgModule {\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { CuiButtonComponent } from './button.component';\nimport { CuiSvgModule } from '../svg';\n\n@NgModule({\n imports: [\n CommonModule,\n CuiSvgModule\n ],\n declarations: [CuiButtonComponent],\n exports: [CuiButtonComponent]\n})\nexport class CuiButtonModule {\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { CuiAccordionComponent } from './accordion.component';\nimport { CuiAccordionItemComponent } from './accordion-item/accordion-item.component';\nimport { CuiSvgModule } from '../svg';\nimport { CuiButtonModule } from '../button';\n\n@NgModule({\n imports: [\n CommonModule,\n CuiSvgModule,\n CuiButtonModule,\n ],\n declarations: [\n CuiAccordionComponent,\n CuiAccordionItemComponent\n ],\n exports: [\n CuiAccordionComponent,\n CuiAccordionItemComponent\n ]\n})\nexport class CuiAccordionModule {\n}\n","import { cuiCreateToken } from '@cuby-ui/cdk';\nimport type { CuiIcon } from '@cuby-ui/icons';\n\nimport type { CuiStatus } from '../../types';\n\nexport type CuiNotificationIconOptions = {\n [k in CuiStatus]: {\n icon: CuiIcon;\n color: string;\n }\n}\n\nexport interface CuiNotificationOptions {\n readonly status: CuiStatus;\n}\n\nexport const CUI_NOTIFICATION_DEFAULT_OPTIONS: CuiNotificationOptions = {\n status: 'info'\n};\n\nexport const CUI_NOTIFICATION_OPTIONS = cuiCreateToken(CUI_NOTIFICATION_DEFAULT_OPTIONS);\n","import { inject, InjectionToken } from '@angular/core';\nimport { cuiCreateTokenFromFactory, CuiPopover } from '@cuby-ui/cdk';\nimport { cuiCreateToken } from '@cuby-ui/cdk';\nimport { BehaviorSubject } from 'rxjs';\n\nimport type { CuiAlertOptions } from './alert.interfaces';\nimport { CUI_NOTIFICATION_OPTIONS } from '../notification/notification.options';\n\nexport const CUI_ALERTS = cuiCreateToken(\n new BehaviorSubject<ReadonlyArray<CuiPopover<CuiAlertOptions>>>([])\n);\n\nexport const CUI_ALERT_DEFAULT_OPTIONS: Omit<CuiAlertOptions, 'status'> = {\n label: '',\n needAutoClose: true,\n isCloseable: true,\n position: 'right',\n resizing: 'fixed'\n};\n\nexport const CUI_ALERT_OPTIONS = cuiCreateTokenFromFactory(\n () => ({\n ...CUI_ALERT_DEFAULT_OPTIONS,\n ...inject(CUI_NOTIFICATION_OPTIONS)\n })\n);\n\nexport const CUI_ALERT_CONTEXT = new InjectionToken<CuiPopover<CuiAlertOptions>>('');\n","import { ChangeDetectionStrategy, Component, EventEmitter, HostBinding, inject, Input, Output } from '@angular/core';\nimport type { CuiNotificationIconOptions, CuiNotificationOptions } from './notification.options';\nimport { CUI_NOTIFICATION_OPTIONS} from './notification.options';\n\n@Component({\n selector: 'cui-notification',\n templateUrl: './notification.template.html',\n styleUrls: ['./notification.style.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class CuiNotificationComponent implements CuiNotificationOptions {\n private readonly cuiNotificationOptions = inject(CUI_NOTIFICATION_OPTIONS);\n\n protected readonly ICON_OPTIONS: CuiNotificationIconOptions = {\n info: {\n icon: 'cuiIconInfo',\n color: 'var(--cui-blue-500)'\n },\n success: {\n icon: 'cuiIconCheckCircle',\n color: 'var(--cui-green-500)'\n },\n alert: {\n icon: 'cuiIconAlertTriangle',\n color: 'var(--cui-yellow-400)'\n },\n error: {\n icon: 'cuiIconXCircle',\n color: 'var(--cui-red-500)'\n },\n };\n\n @Input()\n @HostBinding('attr.data-status')\n public status = this.cuiNotificationOptions.status;\n\n @Input()\n public isCloseable = false;\n\n @Output()\n public readonly closed = new EventEmitter<void>();\n\n protected onClose(): void {\n this.closed.next();\n }\n}\n","<cui-svg\n *ngIf=\"ICON_OPTIONS[status] as iconOption\"\n [icon]=\"iconOption.icon\"\n [color]=\"iconOption.color\"\n></cui-svg>\n<div class=\"c-content\">\n <ng-content></ng-content>\n</div>\n<button\n *ngIf=\"isCloseable\"\n cuiButton\n appearance=\"ghost\"\n size=\"xxs\"\n icon=\"cuiIconX\"\n (click)=\"onClose()\"\n></button>\n","import type { OnInit } from '@angular/core';\nimport { HostBinding } from '@angular/core';\nimport { ChangeDetectionStrategy, Component, inject } from '@angular/core';\n\nimport { CUI_ALERT_CONTEXT } from './alert.tokens';\nimport type { CuiAlertResizing } from './alert.types';\n\n@Component({\n selector: 'cui-alert',\n templateUrl: './alert.template.html',\n styleUrls: ['./alert.style.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class CuiAlertComponent implements OnInit {\n protected readonly context = inject(CUI_ALERT_CONTEXT);\n\n protected readonly AUTO_CLOSE_DURATION_IN_MILLISECONDS = 3000;\n\n @HostBinding('attr.data-resizing')\n protected get resizing(): CuiAlertResizing {\n return this.context.resizing;\n }\n\n public ngOnInit(): void {\n this.initAutoClose();\n }\n\n protected onClosed(): void {\n this.context.$implicit.complete();\n }\n\n private initAutoClose(): void {\n if (!this.context.needAutoClose) {\n return;\n }\n\n setTimeout(this.onClosed.bind(this), this.AUTO_CLOSE_DURATION_IN_MILLISECONDS);\n }\n}\n","<cui-notification\n [status]=\"context.status\"\n [isCloseable]=\"context.isCloseable\"\n (closed)=\"onClosed()\"\n>\n <h2\n *ngIf=\"context.label\"\n class=\"c-heading\"\n >\n {{ context.label }}\n </h2>\n {{ context.content }}\n</cui-notification>\n","import type { OnInit } from '@angular/core';\nimport { ChangeDetectionStrategy, Component, inject, Injector } from '@angular/core';\nimport type { CuiPopover } from '@cuby-ui/cdk';\nimport { CuiDestroyService } from '@cuby-ui/cdk';\nimport type { Observable } from 'rxjs';\nimport { takeUntil } from 'rxjs';\n\nimport { CUI_ALERT_CONTEXT, CUI_ALERTS } from './alert.tokens';\nimport type { CuiAlertOptions } from './alert.interfaces';\n\n@Component({\n selector: 'cui-alerts',\n templateUrl: './alerts.template.html',\n styleUrls: ['./alerts.style.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [CuiDestroyService]\n})\nexport class CuiAlertsComponent implements OnInit {\n private readonly destroy$ = inject(CuiDestroyService, { self: true });\n\n protected readonly alerts$: Observable<ReadonlyArray<CuiPopover<CuiAlertOptions>>> = inject(CUI_ALERTS);\n protected alertInjectors!: ReadonlyArray<Injector>;\n\n public ngOnInit(): void {\n this.initAlertInjectorsSubscription();\n }\n\n protected trackByFn(_: number, alert: CuiPopover<CuiAlertOptions>): string {\n return alert.id;\n }\n\n protected alertsMatcher(alert: CuiPopover<CuiAlertOptions>, position: string): boolean {\n return alert.position === position;\n }\n\n protected initAlertInjectorsSubscription(): void {\n this.alerts$\n .pipe(takeUntil(this.destroy$))\n .subscribe(dialogs => this.alertInjectors = dialogs.map(useValue => Injector.create({\n providers: [{ provide: CUI_ALERT_CONTEXT, useValue }]\n })));\n }\n}\n","<ng-container *ngIf=\"alerts$ | async as alerts\">\n <div class=\"c-wrapper c-wrapper_position_center\">\n <ng-container *ngFor=\"let alert of alerts | cuiFilter: alertsMatcher: 'center'; let i = index; trackBy: trackByFn\">\n <ng-container *ngComponentOutlet=\"alert.component; injector: alertInjectors[i]\"></ng-container>\n </ng-container>\n </div>\n <div class=\"c-wrapper c-wrapper_position_right\">\n <ng-container *ngFor=\"let alert of alerts | cuiFilter: alertsMatcher: 'right'; let i = index; trackBy: trackByFn\">\n <ng-container *ngComponentOutlet=\"alert.component; injector: alertInjectors[i]\"></ng-container>\n </ng-container>\n </div>\n</ng-container>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { CuiNotificationComponent } from './notification.component';\nimport { CuiSvgModule } from '../svg';\nimport { CuiButtonModule } from '../button';\n\n@NgModule({\n imports: [\n CommonModule,\n CuiSvgModule,\n CuiButtonModule\n ],\n declarations: [CuiNotificationComponent],\n exports: [CuiNotificationComponent]\n})\nexport class CuiNotificationModule {\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { CuiFilterPipe } from '@cuby-ui/cdk';\n\nimport { CuiAlertComponent } from './alert.component';\nimport { CuiAlertsComponent } from './alerts.component';\nimport { CuiNotificationModule } from '../notification';\n\n@NgModule({\n imports: [\n CommonModule,\n CuiFilterPipe,\n CuiNotificationModule\n ],\n declarations: [\n CuiAlertComponent,\n CuiAlertsComponent\n ],\n exports: [\n CuiAlertComponent,\n CuiAlertComponent,\n CuiAlertsComponent\n ]\n})\nexport class CuiAlertModule {\n}\n","import { inject, Injectable } from '@angular/core';\nimport { CuiPopoverService } from '@cuby-ui/cdk';\n\nimport { CUI_ALERT_OPTIONS, CUI_ALERTS } from './alert.tokens';\nimport { CuiAlertComponent } from './alert.component';\nimport type { CuiAlertOptions } from './alert.interfaces';\n\n@Injectable({\n providedIn: 'root',\n useFactory: () => new CuiAlertService(CUI_ALERTS, CuiAlertComponent, inject(CUI_ALERT_OPTIONS))\n})\nexport class CuiAlertService extends CuiPopoverService<CuiAlertOptions> {\n}\n","import type { CuiStatus } from '../../types';\nimport { cuiCreateToken } from '@cuby-ui/cdk';\nimport type { CuiIcon } from '@cuby-ui/icons';\n\nexport type CuiBannerIconOptions = {\n [k in CuiStatus]: {\n icon: CuiIcon;\n color: string;\n }\n}\n\nexport interface CuiBannerOptions {\n readonly status: CuiStatus;\n}\n\nexport const CUI_BANNER_DEFAULT_OPTIONS: CuiBannerOptions = {\n status: 'info'\n};\n\nexport const CUI_BANNER_OPTIONS = cuiCreateToken(CUI_BANNER_DEFAULT_OPTIONS);\n","import { ChangeDetectionStrategy, Component, EventEmitter, HostBinding, inject, Input, Output } from '@angular/core';\n\nimport type { CuiBannerIconOptions, CuiBannerOptions } from './banner.options';\nimport { CUI_BANNER_OPTIONS } from './banner.options';\n\n@Component({\n selector: 'cui-banner',\n templateUrl: './banner.template.html',\n styleUrls: ['./banner.style.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class CuiBannerComponent implements CuiBannerOptions {\n private readonly cuiBannerOptions = inject(CUI_BANNER_OPTIONS);\n\n protected readonly ICON_OPTIONS: CuiBannerIconOptions = {\n info: {\n icon: 'cuiIconInfo',\n color: 'var(--c-info-color)'\n },\n success: {\n icon: 'cuiIconCheckCircle',\n color: 'var(--cui-green-500)'\n },\n alert: {\n icon: 'cuiIconAlertTriangle',\n color: 'var(--c-alert-color)'\n },\n error: {\n icon: 'cuiIconXCircle',\n color: 'var(--cui-red-500)'\n },\n };\n\n @Input()\n @HostBinding('attr.data-status')\n public status = this.cuiBannerOptions.status;\n\n @Input()\n public isCloseable = true;\n\n @Input()\n public label?: string;\n\n @Input()\n public actionButtonText?: string;\n\n @Output()\n public actionButtonClicked = new EventEmitter<void>();\n\n @Output()\n public closed = new EventEmitter<void>();\n\n protected onAction(): void {\n this.actionButtonClicked.emit();\n }\n\n protected onClose(): void {\n this.closed.emit();\n }\n}\n","<cui-svg\n *ngIf=\"ICON_OPTIONS[status] as iconOption\"\n [icon]=\"iconOption.icon\"\n [color]=\"iconOption.color\"\n class=\"c-icon\"\n></cui-svg>\n<div class=\"c-wrapper\">\n <h2\n *ngIf=\"label\"\n class=\"c-heading\"\n >\n {{ label }}\n </h2>\n <ng-content></ng-content>\n <!-- TODO: Жду тёмную тему кнопок -->\n <button\n cuiButton\n *ngIf=\"actionButtonText\"\n appearance=\"link\"\n (click)=\"onAction()\"\n >\n {{ actionButtonText }}\n </button>\n</div>\n<button\n *ngIf=\"isCloseable\"\n cuiButton\n appearance=\"ghost\"\n size=\"xxs\"\n icon=\"cuiIconX\"\n (click)=\"onClose()\"\n></button>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { CuiBannerComponent } from './banner.component';\nimport { CuiSvgModule } from '../svg';\nimport { CuiButtonModule } from '../button';\n\n@NgModule({\n imports: [\n CommonModule,\n CuiSvgModule,\n CuiButtonModule\n ],\n declarations: [CuiBannerComponent],\n exports: [CuiBannerComponent]\n})\nexport class CuiBannerModule {\n}\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\n\n@Component({\n selector: 'cui-button-group',\n templateUrl: './button-group.template.html',\n styleUrls: ['./button-group.style.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class CuiButtonGroupComponent {\n}\n","<ng-content select=\"button[cuiButton], a[cuiButton]\"></ng-content>\n","import { NgModule } from '@angular/core';\n\nimport { CuiButtonGroupComponent } from './button-group.component';\n\n@NgModule({\n declarations: [CuiButtonGroupComponent],\n exports: [CuiButtonGroupComponent]\n})\nexport class CuiButtonGroupModule {\n}\n","import type { AfterViewInit, OnDestroy } from '@angular/core';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n HostBinding,\n HostListener,\n inject,\n Input\n} from '@angular/core';\nimport { DOCUMENT } from '@angular/common';\n\nimport type { CuiContextMenuItem } from '../../interfaces';\n\n@Component({\n selector: 'cui-context-menu[items][target]',\n templateUrl: './context-menu.component.html',\n styleUrls: ['./context-menu.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class CuiContextMenuComponent implements AfterViewInit, OnDestroy {\n private readonly changeDetectorRef = inject(ChangeDetectorRef);\n private readonly element = inject(ElementRef).nativeElement;\n private readonly document = inject(DOCUMENT);\n private readonly documentElement = this.document.documentElement;\n\n protected readonly EXTRA_OFFSET_LEFT = 0;\n protected readonly EXTRA_OFFSET_TOP = 0;\n\n protected isVisible = false;\n protected targetEventListener!: (event: MouseEvent) => void;\n\n @Input()\n public items!: CuiContextMenuItem[];\n\n @Input()\n public target!: HTMLElement;\n\n @HostBinding('class._hidden')\n isHidden: boolean = false;\n\n @HostBinding('style.left.px')\n protected clientX?: number;\n\n @HostBinding('style.top.px')\n protected clientY?: number;\n\n public ngAfterViewInit(): void {\n this.initTargetElementListener();\n }\n\n public ngOnDestroy(): void {\n this.destroyTargetElementListener();\n }\n\n protected onSelect(item: CuiContextMenuItem): void {\n this.isVisible = false;\n\n item.command?.();\n }\n\n @HostListener('document:click', ['$event.target'])\n protected onClickOutside(target: HTMLElement): void {\n if (this.element.contains(target) || this.target.contains(target)) {\n return;\n }\n\n this.isVisible = false;\n }\n\n @HostListener('window:scroll')\n @HostListener('window:resize')\n protected onClose(): void {\n this.isVisible = false;\n }\n\n protected trackByFn(_: number, item: CuiContextMenuItem): string {\n return item.label;\n }\n\n private initTargetElementListener(): void {\n this.targetEventListener = ({ clientX, clientY }) => {\n this.isVisible = !this.isVisible;\n\n if (this.isVisible) {\n this.changePosition(clientX, clientY);\n }\n\n this.changeDetectorRef.markForCheck();\n };\n\n this.target.addEventListener('click', this.targetEventListener);\n }\n\n private destroyTargetElementListener(): void {\n this.target.removeEventListener('click', this.targetEventListener);\n }\n\n private changePosition(x: number, y: number): void {\n this.isHidden = true;\n\n setTimeout(() => {\n const { clientWidth, clientHeight } = this.documentElement;\n const width = this.element.offsetWidth;\n const height = this.element.offsetHeight;\n let left = x;\n let top = y;\n\n if (left + width > clientWidth) {\n left -= width;\n }\n\n if (top + height > clientHeight) {\n top -= height;\n }\n\n left = Math.max(left, this.EXTRA_OFFSET_LEFT);\n top = Math.max(top, this.EXTRA_OFFSET_TOP);\n\n this.isHidden = false;\n this.clientX = left;\n this.clientY = top;\n\n this.changeDetectorRef.markForCheck();\n });\n }\n}\n","<ul\n *ngIf=\"isVisible\"\n class=\"c-ul\"\n>\n <li\n *ngFor=\"let item of items; trackBy: trackByFn\"\n [style.color]=\"item.color\"\n >\n <button\n class=\"c-button\"\n (click)=\"onSelect(item)\"\n >\n <cui-svg\n *ngIf=\"item.icon\"\n [icon]=\"item.icon\"\n [color]=\"item.color\"\n ></cui-svg>\n <span>{{ item.label }}</span>\n </button>\n </li>\n</ul>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { CuiContextMenuComponent } from './context-menu.component';\nimport { CuiSvgModule } from '../svg';\n\n@NgModule({\n imports: [\n CommonModule,\n CuiSvgModule\n ],\n declarations: [CuiContextMenuComponent],\n exports: [CuiContextMenuComponent]\n})\nexport class CuiContextMenuModule {\n}\n","import { InjectionToken } from '@angular/core';\nimport type { CuiPopover } from '@cuby-ui/cdk';\nimport { cuiCreateToken } from '@cuby-ui/cdk';\nimport { BehaviorSubject } from 'rxjs';\n\nimport type { CuiDialogOptions } from './dialog.interfaces';\n\nexport const CUI_DIALOGS = cuiCreateToken(\n new BehaviorSubject<ReadonlyArray<CuiPopover<CuiDialogOptions>>>([])\n);\n\nexport const CUI_DIALOG_DEFAULT_OPTIONS: CuiDialogOptions = {\n label: ''\n};\n\nexport const CUI_DIALOG_OPTIONS = cuiCreateToken(CUI_DIALOG_DEFAULT_OPTIONS);\n\nexport const CUI_DIALOG_CONTEXT = new InjectionToken<CuiPopover<CuiDialogOptions>>('');\n","import type { Type } from '@angular/core';\nimport { ChangeDetectionStrategy, Component, inject, TemplateRef } from '@angular/core';\n\nimport { CUI_DIALOG_CONTEXT } from './dialog.tokens';\n\n@Component({\n selector: 'cui-dialog',\n templateUrl: './dialog.template.html',\n styleUrls: ['./dialog.style.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class CuiDialogComponent {\n protected readonly context = inject(CUI_DIALOG_CONTEXT);\n\n protected get isContentTemplateRef(): boolean {\n return this.context.content instanceof TemplateRef;\n }\n\n protected get contentTemplateRef(): TemplateRef<unknown> {\n return this.context.content as TemplateRef<unknown>;\n }\n\n protected get contentType(): Type<unknown> {\n return this.context.content as Type<unknown>;\n }\n\n protected onClose(): void {\n this.context.$implicit.complete();\n }\n}\n","<header *ngIf=\"context.label\" class=\"c-header\">\n <h2 class=\"c-heading\">{{ context.label }}</h2>\n <button\n cuiButton\n appearance=\"ghost\"\n icon=\"cuiIconX\"\n (click)=\"onClose()\"\n ></button>\n</header>\n<div class=\"с-content\">\n <ng-container *ngIf=\"isContentTemplateRef; else contentComponent\">\n <ng-container *ngTemplateOutlet=\"contentTemplateRef\"></ng-container>\n </ng-container>\n <ng-template #contentComponent>\n <ng-container *ngComponentOutlet=\"contentType\"></ng-container>\n </ng-template>\n</div>\n<footer class=\"c-footer\">\n Footer\n</footer>\n","import type { OnInit } from '@angular/core';\nimport { ChangeDetectionStrategy, Component, inject, Injector } from '@angular/core';\nimport type { CuiPopover } from '@cuby-ui/cdk';\nimport { CuiDestroyService } from '@cuby-ui/cdk';\nimport type { Observable } from 'rxjs';\nimport { takeUntil } from 'rxjs';\n\nimport { CUI_DIALOG_CONTEXT, CUI_DIALOGS } from './dialog.tokens';\nimport type { CuiDialogOptions } from './dialog.interfaces';\n\n@Component({\n selector: 'cui-dialogs',\n templateUrl: './dialogs.template.html',\n styleUrls: ['./dialogs.style.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [CuiDestroyService]\n})\nexport class CuiDialogsComponent implements OnInit {\n private readonly destroy$ = inject(CuiDestroyService, { self: true });\n\n protected readonly dialogs$: Observable<ReadonlyArray<CuiPopover<CuiDialogOptions>>> = inject(CUI_DIALOGS);\n protected dialogInjectors!: ReadonlyArray<Injector>;\n\n public ngOnInit(): void {\n this.initDialogInjectorsSubscription();\n }\n\n protected trackByFn(_: number, dialog: CuiPopover<CuiDialogOptions>): string {\n return dialog.id;\n }\n\n protected initDialogInjectorsSubscription(): void {\n this.dialogs$\n .pipe(takeUntil(this.destroy$))\n .subscribe(dialogs => this.dialogInjectors = dialogs.map(useValue => Injector.create({\n providers: [{ provide: CUI_DIALOG_CONTEXT, useValue }]\n })));\n }\n}\n","<ng-container *ngIf=\"dialogs$ | async as dialogs\">\n <div\n *ngIf=\"dialogs.length\"\n class=\"c-overlay\"\n ></div>\n <ng-container *ngFor=\"let dialog of dialogs; let i = index; trackBy: trackByFn\">\n <ng-container *ngComponentOutlet=\"dialog.component; injector: dialogInjectors[i]\"></ng-container>\n </ng-container>\n</ng-container>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { CuiDialogComponent } from './dialog.component';\nimport { CuiDialogsComponent } from './dialogs.component';\nimport { CuiButtonModule } from '../button';\n\n@NgModule({\n imports: [\n CommonModule,\n CuiButtonModule\n ],\n declarations: [\n CuiDialogComponent,\n CuiDialogsComponent\n ],\n exports: [\n CuiDialogComponent,\n CuiDialogsComponent\n ]\n})\nexport class CuiDialogModule {\n}\n","import { inject, Injectable } from '@angular/core';\nimport { CuiPopoverService } from '@cuby-ui/cdk';\n\nimport { CUI_DIALOG_OPTIONS, CUI_DIALOGS } from './dialog.tokens';\nimport { CuiDialogComponent } from './dialog.component';\nimport type { CuiDialogOptions } from './dialog.interfaces';\n\n@Injectable({\n providedIn: 'root',\n useFactory: () => new CuiDialogService(CUI_DIALOGS, CuiDialogComponent, inject(CUI_DIALOG_OPTIONS))\n})\nexport class CuiDialogService extends CuiPopoverService<CuiDialogOptions> {\n}\n","import type { CuiIcon } from '@cuby-ui/icons';\n\nimport type { CuiTextFieldSizeDirective } from './text-field-size.directive';\nimport type { CuiTextFieldIdDirective } from './text-field-id.directive';\nimport type { CuiTextFieldIconLeftDirective } from './text-field-icon-left.directive';\nimport type { CuiTextFieldPlaceholderDirective } from './text-field-placeholder.directive';\nimport type { CuiTextFieldIsErrorDirective } from './text-field-is-error.directive';\nimport type { CuiSizeMd, CuiSizeSm } from '../../types';\n\nexport class CuiTextFieldController {\n constructor(private readonly iconLeftDirective: CuiTextFieldIconLeftDirective,\n private readonly idDirective: CuiTextFieldIdDirective,\n private readonly isErrorDirective: CuiTextFieldIsErrorDirective,\n private readonly placeholderDirective: CuiTextFieldPlaceholderDirective,\n private readonly sizeDirective: CuiTextFieldSizeDirective) {\n }\n\n public get iconLeft(): CuiIcon | string | undefined {\n return this.iconLeftDirective.iconLeft;\n }\n\n public get id(): string | undefined {\n return this.idDirective.id;\n }\n\n public get isError(): boolean {\n return this.isErrorDirective.isError;\n }\n\n public get placeholder(): string | undefined {\n return this.placeholderDirective.placeholder;\n }\n\n public get size(): CuiSizeSm | CuiSizeMd {\n return this.sizeDirective.size;\n }\n}\n","import { Directive, InjectionToken, Input } from '@angular/core';\nimport { cuiProvide } from '@cuby-ui/cdk';\nimport type { CuiIcon } from '@cuby-ui/icons';\n\nexport const CUI_TEXT_FIELD_ICON_LEFT = new InjectionToken<CuiTextFieldIconLeftDirective>('', {\n factory: () => new CuiTextFieldIconLeftDirective()\n});\n\n@Directive({\n selector: '[cuiTextFieldIconLeft]',\n providers: [cuiProvide(CUI_TEXT_FIELD_ICON_LEFT, CuiTextFieldIconLeftDirective)]\n})\nexport class CuiTextFieldIconLeftDirective {\n @Input('cuiTextFieldIconLeft')\n public iconLeft?: CuiIcon | string;\n}\n","import { Directive, InjectionToken, Input } from '@angular/core';\nimport { cuiProvide } from '@cuby-ui/cdk';\n\nexport const CUI_TEXT_FIELD_ID = new InjectionToken<CuiTextFieldIdDirective>('', {\n factory: () => new CuiTextFieldIdDirective()\n});\n\n@Directive({\n selector: '[cuiTextFieldId]',\n providers: [cuiProvide(CUI_TEXT_FIELD_ID, CuiTextFieldIdDirective)]\n})\nexport class CuiTextFieldIdDirective {\n @Input('cuiTextFieldId')\n public id?: string;\n}\n","import { Directive, InjectionToken, Input } from '@angular/core';\nimport { cuiProvide } from '@cuby-ui/cdk';\n\nexport const CUI_TEXT_FIELD_IS_ERROR = new InjectionToken<CuiTextFieldIsErrorDirective>('', {\n factory: () => new CuiTextFieldIsErrorDirective()\n});\n\n@Directive({\n selector: '[cuiTextFieldIsError]',\n providers: [cuiProvide(CUI_TEXT_FIELD_IS_ERROR, CuiTextFieldIsErrorDirective)]\n})\nexport class CuiTextFieldIsErrorDirective {\n @Input('cuiTextFieldIsError')\n public isError = false;\n}\n","import { Directive, InjectionToken, Input } from '@angular/core';\nimport { cuiProvide } from '@cuby-ui/cdk';\n\nexport const CUI_TEXT_FIELD_PLACEHOLDER = new InjectionToken<CuiTextFieldPlaceholderDirective>('', {\n factory: () => new CuiTextFieldPlaceholderDirective()\n});\n\n@Directive({\n selector: '[cuiTextFieldPlaceholder]',\n providers: [cuiProvide(CUI_TEXT_FIELD_PLACEHOLDER, CuiTextFieldPlaceholderDirective)]\n})\nexport class CuiTextFieldPlaceholderDirective {\n @Input('cuiTextFieldPlaceholder')\n public placeholder?: string;\n}\n","import { Directive, InjectionToken, Input } from '@angular/core';\nimport { cuiProvide } from '@cuby-ui/cdk';\n\nimport type { CuiSizeMd, CuiSizeSm } from '../../types';\n\nexport const CUI_TEXT_FIELD_SIZE = new InjectionToken<CuiTextFieldSizeDirective>('', {\n factory: () => new CuiTextFieldSizeDirective()\n});\n\n@Directive({\n selector: '[cuiTextFieldSize]',\n providers: [cuiProvide(CUI_TEXT_FIELD_SIZE, CuiTextFieldSizeDirective)]\n})\nexport class CuiTextFieldSizeDirective {\n @Input('cuiTextFieldSize')\n public size: CuiSizeSm | CuiSizeMd = 'sm';\n}\n","import { NgModule } from '@angular/core';\n\nimport { CuiTextFieldIconLeftDirective } from './text-field-icon-left.directive';\nimport { CuiTextFieldIdDirective } from './text-field-id.directive';\nimport { CuiTextFieldIsErrorDirective } from './text-field-is-error.directive';\nimport { CuiTextFieldPlaceholderDirective } from './text-field-placeholder.directive';\nimport { CuiTextFieldSizeDirective } from './text-field-size.directive';\n\n@NgModule({\n declarations: [\n CuiTextFieldIconLeftDirective,\n CuiTextFieldIdDirective,\n CuiTextFieldPlaceholderDirective,\n CuiTextFieldIsErrorDirective,\n CuiTextFieldSizeDirective\n ],\n exports: [\n CuiTextFieldIconLeftDirective,\n CuiTextFieldIdDirective,\n CuiTextFieldPlaceholderDirective,\n CuiTextFieldIsErrorDirective,\n CuiTextFieldSizeDirective\n ]\n})\nexport class CuiTextFieldControllerModule {\n}\n","import { InjectionToken, Provider } from '@angular/core';\n\nimport { CuiTextFieldController } from './text-field.controller';\n\nimport { CUI_TEXT_FIELD_SIZE } from './text-field-size.directive';\nimport type { CuiTextFieldSizeDirective } from './text-field-size.directive';\nimport { CUI_TEXT_FIELD_ID } from './text-field-id.directive';\nimport type { CuiTextFieldIdDirective } from './text-field-id.directive';\nimport { CUI_TEXT_FIELD_IS_ERROR } from './text-field-is-error.directive';\nimport type { CuiTextFieldIsErrorDirective } from './text-field-is-error.directive';\nimport { CUI_TEXT_FIELD_PLACEHOLDER } from './text-field-placeholder.directive';\nimport type { CuiTextFieldPlaceholderDirective } from './text-field-placeholder.directive';\nimport { CUI_TEXT_FIELD_ICON_LEFT } from './text-field-icon-left.directive';\nimport type { CuiTextFieldIconLeftDirective } from './text-field-icon-left.directive';\n\nexport const CUI_TEXT_FIELD_CONTROLLER = new InjectionToken<CuiTextFieldController>('');\n\nexport const CUI_TEXT_FILED_CONTROLLER_PROVIDER: Provider = [\n {\n provide: CUI_TEXT_FIELD_CONTROLLER,\n useFactory: (...controllers: [\n CuiTextFieldIconLeftDirective,\n CuiTextFieldIdDirective,\n CuiTextFieldIsErrorDirective,\n CuiTextFieldPlaceholderDirective,\n CuiTextFieldSizeDirective\n ]) => {\n return new CuiTextFieldController(...controllers);\n },\n deps: [\n CUI_TEXT_FIELD_ICON_LEFT,\n CUI_TEXT_FIELD_ID,\n CUI_TEXT_FIELD_IS_ERROR,\n CUI_TEXT_FIELD_PLACEHOLDER,\n CUI_TEXT_FIELD_SIZE\n ]\n }\n];\n","import type { ElementRef, OnDestroy, OnInit } from '@angular/core';\nimport {\n ChangeDetectionStrategy,\n Component,\n Input,\n ViewChild\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { cuiProvide } from '@cuby-ui/cdk';\nimport Quill from 'quill';\n\nimport { CUI_TEXT_FILED_CONTROLLER_PROVIDER } from '../../directives';\n\n// TODO: Будет переделан дизайн\n@Component({\n selector: 'cui-editor',\n templateUrl: './editor.template.html',\n styleUrls: ['./editor.style.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n CUI_TEXT_FILED_CONTROLLER_PROVIDER,\n cuiProvide(NG_VALUE_ACCESSOR, CuiEditorComponent, true),\n ]\n})\nexport class CuiEditorComponent implements ControlValueAccessor, OnInit, OnDestroy {\n protected readonly ICONS = {\n align: {\n '': `\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M7.5 3.75H16.25V5H7.5V3.75ZM7.5 7.5H13.75V8.75H7.5V7.5ZM7.5 11.25H16.25V12.5H7.5V11.25ZM7.5 15H13.75V16.25H7.5V15ZM3.75 2.5H5V17.5H3.75V2.5Z\" fill=\"currentColor\"/>\n </svg>\n `,\n center: `\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 32 32\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M6 6H26V8H6V6ZM10 12H22V14H10V12ZM6 18H26V20H6V18ZM10 24H22V26H10V24Z\" fill=\"currentColor\"/>\n </svg>\n `,\n justify: `\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 32 32\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M6 6H26V8H6V6ZM6 12H26V14H6V12ZM6 18H26V20H6V18ZM6 24H26V26H6V24Z\" fill=\"currentColor\"/>\n </svg>\n `,\n right: `\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 32 32\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M6 6H20V8H6V6ZM10 12H20V14H10V12ZM6 18H20V20H6V18ZM10 24H20V26H10V24ZM24 4H26V28H24V4Z\" fill=\"currentColor\"/>\n </svg>\n `\n },\n bold: `\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M11.4062 15.625H5.625V4.375H10.9375C11.5639 4.37504 12.1771 4.55435 12.7048 4.89174C13.2325 5.22914 13.6526 5.71052 13.9155 6.27903C14.1784 6.84754 14.2731 7.47942 14.1884 8.10001C14.1037 8.72061 13.8431 9.30399 13.4375 9.78125C13.9673 10.205 14.3528 10.7825 14.5408 11.4344C14.7289 12.0862 14.7102 12.7803 14.4875 13.4211C14.2647 14.0619 13.8488 14.6179 13.297 15.0126C12.7452 15.4073 12.0847 15.6213 11.4062 15.625ZM7.5 13.75H11.3937C11.5784 13.75 11.7613 13.7136 11.9319 13.643C12.1025 13.5723 12.2575 13.4687 12.3881 13.3381C12.5187 13.2075 12.6223 13.0525 12.693 12.8819C12.7636 12.7113 12.8 12.5284 12.8 12.3438C12.8 12.1591 12.7636 11.9762 12.693 11.8056C12.6223 11.635 12.5187 11.48 12.3881 11.3494C12.2575 11.2188 12.1025 11.1152 11.9319 11.0445C11.7613 10.9739 11.5784 10.9375 11.3937 10.9375H7.5V13.75ZM7.5 9.0625H10.9375C11.1222 9.0625 11.305 9.02613 11.4756 8.95546C11.6463 8.88478 11.8013 8.7812 11.9319 8.65062C12.0625 8.52004 12.166 8.36501 12.2367 8.1944C12.3074 8.02378 12.3438 7.84092 12.3438 7.65625C12.3438 7.47158 12.3074 7.28872 12.2367 7.1181C12.166 6.94749 12.0625 6.79246 11.9319 6.66188C11.8013 6.5313 11.6463 6.42772 11.4756 6.35704C11.305 6.28637 11.1222 6.25 10.9375 6.25H7.5V9.0625Z\" fill=\"currentColor\"/>\n </svg>\n `,\n italic: `\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M15.625 5.625V4.375H7.5V5.625H10.7125L7.98125 14.375H4.375V15.625H12.5V14.375H9.2875L12.0187 5.625H15.625Z\" fill=\"currentColor\"/>\n </svg>\n `,\n underline: `\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M2.5 16.25H17.5V17.5H2.5V16.25ZM10 14.375C8.83968 14.375 7.72688 13.9141 6.90641 13.0936C6.08594 12.2731 5.625 11.1603 5.625 10V3.125H6.875V10C6.875 10.8288 7.20424 11.6237 7.79029 12.2097C8.37634 12.7958 9.1712 13.125 10 13.125C10.8288 13.125 11.6237 12.7958 12.2097 12.2097C12.7958 11.6237 13.125 10.8288 13.125 10V3.125H14.375V10C14.375 11.1603 13.9141 12.2731 13.0936 13.0936C12.2731 13.9141 11.1603 14.375 10 14.375Z\" fill=\"currentColor\"/>\n </svg>\n `,\n strike: `\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M17.5 9.37538H11.2225C10.945 9.30076 10.6662 9.23096 10.3863 9.16601C8.63125 8.75101 7.63875 8.44726 7.63875 7.02663C7.6245 6.78139 7.66081 6.53584 7.74542 6.30522C7.83004 6.0746 7.96115 5.86384 8.13062 5.68601C8.6615 5.24944 9.32644 5.00889 10.0137 5.00476C11.7825 4.96101 12.5981 5.56101 13.265 6.47351L14.2744 5.73601C13.8019 5.05748 13.1578 4.51654 12.4078 4.16845C11.6578 3.82036 10.8288 3.6776 10.0056 3.75476C8.99439 3.76121 8.01887 4.12947 7.25563 4.79288C6.96634 5.08632 6.74024 5.4359 6.59125 5.82008C6.44227 6.20426 6.37356 6.61488 6.38937 7.02663C6.36197 7.47718 6.4466 7.92751 6.63572 8.33737C6.82483 8.74723 7.11254 9.10385 7.47312 9.37538H2.5V10.6254H11.0325C12.2619 10.9816 12.9969 11.4454 13.0156 12.7241C13.0359 12.9973 12.9985 13.2717 12.9056 13.5294C12.8128 13.7871 12.6667 14.0223 12.4769 14.2198C11.8155 14.7411 10.9938 15.017 10.1519 15.0004C9.52345 14.9822 8.90738 14.8213 8.35029 14.5299C7.7932 14.2385 7.30966 13.8243 6.93625 13.3185L5.97812 14.121C6.46358 14.768 7.08994 15.2959 7.80972 15.6648C8.52951 16.0338 9.32384 16.234 10.1325 16.2504H10.195C11.3492 16.2636 12.4695 15.86 13.35 15.1135C13.6625 14.7984 13.9054 14.4213 14.0632 14.0065C14.2209 13.5917 14.2898 13.1485 14.2656 12.7054C14.289 11.9474 14.0332 11.2072 13.5469 10.6254H17.5V9.37538Z\" fill=\"currentColor\"/>\n </svg>\n `,\n 'code-block': `\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M19.375 10L15 14.375L14.1187 13.4938L17.6063 10L14.1187 6.50625L15 5.625L19.375 10ZM0.625 10L5 5.625L5.88125 6.50625L2.39375 10L5.88125 13.4938L5 14.375L0.625 10Z\" fill=\"currentColor\"/>\n </svg>\n `,\n list: {\n bullet: `\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M4.375 7.5C5.41053 7.5 6.25 6.66053 6.25 5.625C6.25 4.58947 5.41053 3.75 4.375 3.75C3.33947 3.75 2.5 4.58947 2.5 5.625C2.5 6.66053 3.33947 7.5 4.375 7.5Z\" fill=\"currentColor\"/>\n <path d=\"M4.375 16.25C5.41053 16.25 6.25 15.4105 6.25 14.375C6.25 13.3395 5.41053 12.5 4.375 12.5C3.33947 12.5 2.5 13.3395 2.5 14.375C2.5 15.4105 3.33947 16.25 4.375 16.25Z\" fill=\"currentColor\"/>\n <path d=\"M10 13.75H18.75V15H10V13.75ZM10 5H18.75V6.25H10V5Z\" fill=\"currentColor\"/>\n </svg>\n `,\n ordered: `\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M10 13.75H18.75V15H10V13.75ZM10 5H18.75V6.25H10V5ZM5 7.5V2.5H3.75V3.125H2.5V4.375H3.75V7.5H2.5V8.75H6.25V7.5H5ZM6.25 17.5H2.5V15C2.5 14.6685 2.6317 14.3505 2.86612 14.1161C3.10054 13.8817 3.41848 13.75 3.75 13.75H5V12.5H2.5V11.25H5C5.33152 11.25 5.64946 11.3817 5.88388 11.6161C6.1183 11.8505 6.25 12.1685 6.25 12.5V13.75C6.25 14.0815 6.1183 14.3995 5.88388 14.6339C5.64946 14.8683 5.33152 15 5 15H3.75V16.25H6.25V17.5Z\" fill=\"currentColor\"/>\n </svg>\n `,\n },\n link: `\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M18.2813 4.22796C17.9329 3.87836 17.5189 3.60097 17.0631 3.4117C16.6073 3.22243 16.1186 3.125 15.625 3.125C15.1315 3.125 14.6428 3.22243 14.187 3.4117C13.7312 3.60097 13.3172 3.87836 12.9688 4.22796L13.8563 5.11546C14.089 4.88277 14.3652 4.69819 14.6692 4.57227C14.9733 4.44634 15.2991 4.38152 15.6282 4.38152C15.9572 4.38152 16.2831 4.44634 16.5871 4.57227C16.8911 4.69819 17.1674 4.88277 17.4 5.11546C17.6327 5.34814 17.8173 5.62438 17.9432 5.9284C18.0692 6.23242 18.134 6.55826 18.134 6.88733C18.134 7.2164 18.0692 7.54224 17.9432 7.84626C17.8173 8.15028 17.6327 8.42652 17.4 8.65921L12.4 13.6592C11.9309 14.1291 11.2944 14.3935 10.6304 14.3941C9.96638 14.3946 9.32935 14.1314 8.85942 13.6623C8.38949 13.1932 8.12515 12.5567 8.12457 11.8927C8.12398 11.2287 8.38719 10.5916 8.85629 10.1217L9.73754 9.23421L8.85629 8.34671L7.96879 9.23421C7.61919 9.58259 7.3418 9.99657 7.15253 10.4524C6.96326 10.9082 6.86583 11.3969 6.86583 11.8905C6.86583 12.384 6.96326 12.8727 7.15253 13.3285C7.3418 13.7843 7.61919 14.1983 7.96879 14.5467C8.67597 15.2448 9.63134 15.6337 10.625 15.628C11.1205 15.63 11.6114 15.5338 12.0695 15.345C12.5276 15.1562 12.9437 14.8785 13.2938 14.528L18.2938 9.52796C18.9944 8.82317 19.3866 7.86912 19.3842 6.87537C19.3819 5.88162 18.9852 4.92943 18.2813 4.22796Z\" fill=\"currentColor\"/>\n <path d=\"M2.61879 15.5155C2.38541 15.2832 2.20022 15.007 2.07386 14.703C1.94749 14.3989 1.88244 14.0729 1.88244 13.7436C1.88244 13.4143 1.94749 13.0883 2.07386 12.7842C2.20022 12.4801 2.38541 12.204 2.61879 11.9717L7.61879 6.97171C7.85109 6.73833 8.1272 6.55314 8.43127 6.42677C8.73534 6.30041 9.06138 6.23536 9.39067 6.23536C9.71995 6.23536 10.046 6.30041 10.3501 6.42677C10.6541 6.55314 10.9302 6.73833 11.1625 6.97171C11.3944 7.20583 11.577 7.48412 11.6994 7.79009C11.8218 8.09606 11.8815 8.42348 11.875 8.75296C11.8769 9.08346 11.8133 9.41106 11.6878 9.71681C11.5623 10.0226 11.3774 10.3004 11.1438 10.5342L9.81879 11.878L10.7063 12.7655L12.0313 11.4405C12.7366 10.7351 13.1328 9.77854 13.1328 8.78108C13.1328 7.78362 12.7366 6.82702 12.0313 6.12171C11.326 5.4164 10.3694 5.02016 9.37192 5.02016C8.37446 5.02016 7.41785 5.4164 6.71254 6.12171L1.71254 11.1217C1.362 11.4702 1.08382 11.8846 0.893994 12.341C0.704168 12.7974 0.606445 13.2868 0.606445 13.7811C0.606445 14.2754 0.704168 14.7648 0.893994 15.2212C1.08382 15.6776 1.362 16.092 1.71254 16.4405C2.42431 17.1333 3.38185 17.5154 4.37504 17.503C5.37698 17.5039 6.33862 17.1085 7.05004 16.403L6.16254 15.5155C5.93025 15.7488 5.65413 15.934 5.35006 16.0604C5.04599 16.1868 4.71995 16.2518 4.39067 16.2518C4.06138 16.2518 3.73534 16.1868 3.43127 16.0604C3.1272 15.934 2.85109 15.7488 2.61879 15.5155Z\" fill=\"currentColor\"/>\n </svg>\n `,\n image: `\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M11.875 8.75C12.2458 8.75 12.6084 8.64003 12.9167 8.43401C13.225 8.22798 13.4654 7.93514 13.6073 7.59253C13.7492 7.24992 13.7863 6.87292 13.714 6.50921C13.6416 6.14549 13.463 5.8114 13.2008 5.54917C12.9386 5.28695 12.6045 5.10837 12.2408 5.03603C11.8771 4.96368 11.5001 5.00081 11.1575 5.14273C10.8149 5.28464 10.522 5.52496 10.316 5.83331C10.11 6.14165 10 6.50416 10 6.875C10 7.37228 10.1975 7.84919 10.5492 8.20083C10.9008 8.55246 11.3777 8.75 11.875 8.75ZM11.875 6.25C11.9986 6.25 12.1195 6.28666 12.2222 6.35533C12.325 6.42401 12.4051 6.52162 12.4524 6.63582C12.4997 6.75003 12.5121 6.87569 12.488 6.99693C12.4639 7.11817 12.4044 7.22953 12.3169 7.31694C12.2295 7.40435 12.1182 7.46388 11.9969 7.48799C11.8757 7.51211 11.75 7.49973 11.6358 7.45243C11.5216 7.40512 11.424 7.32501 11.3553 7.22223C11.2867 7.11945 11.25 6.99861 11.25 6.875C11.25 6.70924 11.3158 6.55027 11.4331 6.43306C11.5503 6.31585 11.7092 6.25 11.875 6.25Z\" fill=\"currentColor\"/>\n <path d=\"M16.25 2.5H3.75C3.41848 2.5 3.10054 2.6317 2.86612 2.86612C2.6317 3.10054 2.5 3.41848 2.5 3.75V16.25C2.5 16.5815 2.6317 16.8995 2.86612 17.1339C3.10054 17.3683 3.41848 17.5 3.75 17.5H16.25C16.5815 17.5 16.8995 17.3683 17.1339 17.1339C17.3683 16.8995 17.5 16.5815 17.5 16.25V3.75C17.5 3.41848 17.3683 3.10054 17.1339 2.86612C16.8995 2.6317 16.5815 2.5 16.25 2.5ZM16.25 16.25H3.75V12.5L6.875 9.375L10.3688 12.8687C10.603 13.1016 10.9198 13.2322 11.25 13.2322C11.5802 13.2322 11.897 13.1016 12.1313 12.8687L13.125 11.875L16.25 15V16.25ZM16.25 13.2312L14.0063 10.9875C13.772 10.7547 13.4552 10.624 13.125 10.624C12.7948 10.624 12.478 10.7547 12.2437 10.9875L11.25 11.9812L7.75625 8.4875C7.52205 8.25469 7.20523 8.12401 6.875 8.12401C6.54477 8.12401 6.22795 8.25469 5.99375 8.4875L3.75 10.7312V3.75H16.25V13.2312Z\" fill=\"currentColor\"/>\n </svg>\n `\n };\n\n protected _readonly = false;\n protected focusListener!: () => void;\n protected quill?: Quill;\n\n @Input()\n public set readonly(value: boolean) {\n // this._readonly = value;\n //\n // if (!this.quill) {\n // return;\n // }\n //\n // if (this._readonly) {\n // this.quill.disable();\n //\n // return;\n // }\n //\n // this.quill.enable();\n }\n\n @ViewChild('editor', { static: true })\n protected editor!: ElementRef<HTMLDivElement>;\n\n public writeValue(obj: any): void {\n }\n\n public registerOnChange(fn: any): void {\n }\n\n public registerOnTouched(fn: any): void {\n }\n\n public setDisabledState(isDisabled: boolean): void {\n }\n\n public ngOnInit(): void {\n this.initIcons();\n this.initQuill();\n this.initInputListener();\n this.initFocusListener();\n }\n\n public ngOnDestroy(): void {\n this.destroyFocusListener();\n }\n\n private initIcons(): void {\n const icons = Quill.import('ui/icons');\n\n Object.entries(this.ICONS).forEach(([key, value]) => icons[key] = value);\n }\n\n private initQuill(): void {\n this.quill = new Quill(this.editor.nativeElement, {\n theme: 'snow',\n modules: {\n toolbar: [\n [{ 'header': [false, 1, 2, 3] }],\n [{ align: [] }],\n ['bold', 'italic', 'underline', 'strike', 'code-block'],\n [{ list: 'bullet' }, { list: 'ordered'}],\n ['link', 'image']\n ]\n },\n readOnly: this._readonly,\n placeholder: 'Write a description'\n });\n }\n\n private initInputListener(): void {\n this.quill!.on('text-change', () => {\n console.log(this.quill!.getText());\n console.log(this.quill?.getContents())\n });\n }\n\n private initFocusListener(): void {\n this.focusListener = () => this.quill!.focus();\n\n this.editor.nativeElement.addEventListener('click', this.focusListener);\n }\n\n private destroyFocusListener(): void {\n this.editor.nativeElement.removeEventListener('click', this.focusListener);\n }\n}\n","<div #editor></div>\n","import { NgModule } from '@angular/core';\n\nimport { CuiEditorComponent } from './editor.component';\n\n@NgModule({\n declarations: [CuiEditorComponent],\n exports: [CuiEditorComponent]\n})\nexport class CuiEditorModule {\n}\n","import { ChangeDetectionStrategy, Component, HostBinding, Input } from '@angular/core';\n\nimport type { CuiHintType } from '../../types';\n\n@Component({\n selector: 'cui-hint',\n templateUrl: './hint.template.html',\n styleUrls: ['./hint.style.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class CuiHintComponent {\n @Input()\n @HostBinding('attr.data-hint-type')\n public hintType: CuiHintType = 'info';\n}\n","<ng-content></ng-content>\n","import { NgModule } from '@angular/core';\n\nimport { CuiHintComponent } from './hint.component';\n\n@NgModule({\n declarations: [CuiHintComponent],\n exports: [CuiHintComponent]\n})\nexport class CuiHintModule {\n}\n","import { ChangeDetectionStrategy, Component, HostBinding, Input } from '@angular/core';\nimport type { CuiIcon } from '@cuby-ui/icons';\n\n@Component({\n selector: 'button[cuiIconButton][icon], a[cuiIconButton][icon]',\n templateUrl: './icon-button.template.html',\n styleUrls: ['./icon-button.style.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class CuiIconButtonComponent {\n protected readonly ICON_WIDTH = 16;\n protected readonly ICON_HEIGHT = 16;\n protected readonly ICON_STROKE_WIDTH = 1.5;\n\n @Input()\n public icon!: CuiIcon | string;\n\n @Input()\n public color?: string;\n\n @Input()\n @HostBinding('style.--icon-hover-color')\n public hoverColor?: string;\n\n @HostBinding('class._with-hover-color')\n protected get isWithHoverColor(): boolean {\n return !!this.hoverColor;\n }\n}\n","<cui-svg\n [icon]=\"icon\"\n [width]=\"ICON_WIDTH\"\n [height]=\"ICON_HEIGHT\"\n [color]=\"color\"\n [strokeWidth]=\"ICON_STROKE_WIDTH\"\n class=\"c-icon\"\n></cui-svg>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { CuiIconButtonComponent } from './icon-button.component';\nimport { CuiSvgModule } from '../svg';\n\n@NgModule({\n imports: [\n CommonModule,\n CuiSvgModule\n ],\n declarations: [CuiIconButtonComponent],\n exports: [CuiIconButtonComponent]\n})\nexport class CuiIconButtonModule {\n}\n","import { InjectionToken } from '@angular/core';\n\nexport interface CuiInputNumberOptions {\n readonly min: number;\n readonly max: number;\n readonly step: number;\n readonly precision: number;\n}\n\nexport const CUI_INPUT_NUMBER_DEFAULT_OPTIONS: CuiInputNumberOptions = {\n min: -Infinity,\n max: Infinity,\n step: 1,\n precision: 3\n};\n\nexport const CUI_INPUT_NUMBER_OPTIONS = new InjectionToken('', {\n factory: () => CUI_INPUT_NUMBER_DEFAULT_OPTIONS\n});\n\n","export function cuiRemoveSpaces(value: string): string {\n return value.replace(/\\s+/g, '');\n}\n","export function cuiReplace(value: string, search: string, replace: string): string {\n const regex = new RegExp(search.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&'), 'g');\n\n return value.replace(regex, replace);\n}\n","import type { ElementRef } from '@angular/core';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n HostBinding,\n HostListener,\n inject,\n Input,\n ViewChild\n} from '@angular/core';\nimport type { ControlValueAccessor } from '@angular/forms';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport type { CuiNullable, CuiOnChange, CuiOnTouched } from '@cuby-ui/cdk';\nimport { cuiProvide } from '@cuby-ui/cdk';\nimport type { CuiIcon } from '@cuby-ui/icons';\n\nimport { CUI_INPUT_NUMBER_OPTIONS, CuiInputNumberOptions } from './input-number.options';\nimport { cuiRemoveSpaces, cuiReplace } from '../../utils';\nimport { CuiSizeMd, CuiSizeSm } from '../../types';\nimport { CUI_TEXT_FIELD_CONTROLLER, CUI_TEXT_FILED_CONTROLLER_PROVIDER } from '../../directives';\n\n@Component({\n selector: 'cui-input-number',\n templateUrl: './input-number.template.html',\n styleUrls: ['./input-number.style.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n CUI_TEXT_FILED_CONTROLLER_PROVIDER,\n cuiProvide(NG_VALUE_ACCESSOR, CuiInputNumberComponent, true),\n ]\n})\nexport class CuiInputNumberComponent implements CuiInputNumberOptions, ControlValueAccessor {\n private readonly changeDetectorRef = inject(ChangeDetectorRef);\n private readonly cuiTextFieldController = inject(CUI_TEXT_FIELD_CONTROLLER);\n private readonly cuiInputNumberOptions = inject(CUI_INPUT_NUMBER_OPTIONS);\n\n protected readonly MIN_JS_NUMBER = -(2 ** 53);\n protected readonly MAX_JS_NUMBER = 2 ** 53;\n protected readonly INPUT_VALUE_REGEX = /^-?[\\d\\s]*(,\\d*)?$/;\n protected readonly INTERVAL_BETWEEN_SPACES = 3;\n\n protected formattedValue = '';\n protected _min = this.calculateValidMinValue(this.cuiInputNumberOptions.min);\n protected _max = this.calculateValidMaxValue(this.cuiInputNumberOptions.max);\n protected value!: CuiNullable<string>;\n protected onChange!: CuiOnChange<number>;\n protected onTouched!: CuiOnTouched;\n\n @Input()\n public step = this.cuiInputNumberOptions.step;\n\n @Input()\n public precision = this.cuiInputNumberOptions.precision;\n\n @Input()\n public set min(min: number) {\n this._min = this.calculateValidMinValue(min);\n }\n\n @Input()\n public set max(max: number) {\n this._max = this.calculateValidMaxValue(max);\n }\n\n @HostBinding('class._disabled')\n protected isDisabled!: boolean;\n\n @ViewChild('input')\n protected input!: ElementRef<HTMLInputElement>;\n\n protected get id(): string | undefined {\n return this.cuiTextFieldController.id;\n }\n\n protected get placeholder(): string | undefined {\n return this.cuiTextFieldController.placeholder;\n }\n\n protected get iconLeft(): CuiIcon | string | undefined {\n return this.cuiTextFieldController.iconLeft;\n }\n\n @HostBinding('attr.data-size')\n protected get size(): CuiSizeSm | CuiSizeMd {\n return this.cuiTextFieldController.size;\n }\n\n @HostBinding('class._with-error')\n protected get isError(): boolean {\n return this.cuiTextFieldController.isError;\n }\n\n public writeValue(value: CuiNullable<number>): void {\n this.value = value?.toString() ?? null;\n this.formattedValue = this.formatValue(this.value);\n\n this.changeDetectorRef.markForCheck();\n }\n\n public registerOnChange(fn: CuiOnChange<number>): void {\n this.onChange = fn;\n }\n\n public registerOnTouched(fn: CuiOnTouched): void {\n this.onTouched = fn;\n }\n\n public setDisabledState(isDisabled: boolean): void {\n this.isDisabled = isDisabled;\n\n this.changeDetectorRef.markForCheck();\n }\n\n protected onInput(event: Event): void {\n const eventTarget = event.target as HTMLInputElement;\n const targetValue = eventTarget.value;\n const selectionStart = this.input.nativeElement.selectionStart ?? 0;\n const previousFormattedValue = this.formattedValue;\n\n if (this.isInputValueCorrect(targetValue)) {\n const parsedValue = this.parseValue(targetValue);\n\n this.changeModel(parsedValue);\n }\n\n this.formattedValue = this.formatValue(this.value);\n eventTarget.value = this.formattedValue;\n\n const currentCaretPosition = selectionStart\n + (this.formattedValue.length - previousFormattedValue.length === 2 ? 1 : 0);\n\n this.input.nativeElement.setSelectionRange(currentCaretPosition, currentCaretPosition);\n }\n\n protected onArrowUp(): void {\n this.increaseByStep();\n }\n\n protected onArrowDown(): void {\n this.decreaseByStep();\n }\n\n @HostListener('click')\n protected onFocus(): void {\n this.input.nativeElement.focus();\n }\n\n private isInputValueCorrect(inputValue: string): boolean {\n return this.INPUT_VALUE_REGEX.test(inputValue) && this.isInputValueValid(inputValue);\n }\n\n private isInputValueValid(inputValue: string): boolean {\n const [, fractionPart = ''] = inputValue.split(',');\n\n return this.isNumberValid(inputValue) && this.isPrecisionCountCorrect(fractionPart);\n }\n\n private isNumberValid(inputValue: string): boolean {\n if (inputValue === '-' && this._min > 0) {\n return false;\n }\n\n if (inputValue === ',' || inputValue === '-' || inputValue === '-,' || inputValue === '') {\n return true;\n }\n\n const convertedValue = +cuiReplace(\n cuiRemoveSpaces(inputValue),\n ',',\n '.'\n );\n\n return convertedValue <= this._max && convertedValue >= this._min;\n }\n\n private isPrecisionCountCorrect(fractionPart = ''): boolean {\n return fractionPart.length <= this.precision;\n }\n\n private parseValue(inputValue: string): string {\n const valueWithoutSpaces = cuiRemoveSpaces(inputValue);\n\n switch (valueWithoutSpaces) {\n case ',':\n return '0.';\n\n case '-,':\n return '-0.';\n\n default:\n return cuiReplace(valueWithoutSpaces, ',', '.');\n }\n }\n\n private formatValue(value: CuiNullable<string>): string {\n if (!value) {\n return '';\n }\n\n const [integerPart, fractionPart] = value.split('.');\n let formattedInteger = this.insertSpacesWithInterval(integerPart) || '0';\n\n if (fractionPart !== undefined && integerPart.startsWith('-') && !formattedInteger.slice(1)) {\n formattedInteger = '-0';\n }\n\n return fractionPart !== undefined ? `${formattedInteger},${fractionPart}` : formattedInteger;\n }\n\n private insertSpacesWithInterval(value: string): string {\n const regex = new RegExp(`\\\\B(?=(\\\\d{${this.INTERVAL_BETWEEN_SPACES}})+(?!\\\\d))`, 'g');\n\n return value.replace(regex, ' ');\n }\n\n private changeModel(value: string): void {\n this.value = value;\n\n this.onChange(value === '-' ? 0 : +value);\n }\n\n private increaseByStep(): void {\n const value = this.value === '-'\n ? this.step\n : (+(Number(this.value) + this.step).toFixed(this.precision));\n\n if (value > this._max) {\n return;\n }\n\n const convertedValue = value.toString();\n\n this.formattedValue = this.formatValue(convertedValue);\n\n this.changeModel(convertedValue);\n }\n\n private decreaseByStep(): void {\n const value = this.value === '-'\n ? -this.step\n : (+(Number(this.value) - this.step).toFixed(this.precision));\n\n if (value < this._min) {\n return;\n }\n\n const convertedValue = value.toString();\n\n this.formattedValue = this.formatValue(convertedValue);\n\n this.changeModel(convertedValue);\n }\n\n private calculateValidMinValue(initialValue: number): number {\n return initialValue >= this.MIN_JS_NUMBER\n ? initialValue\n : this.MIN_JS_NUMBER;\n }\n\n private calculateValidMaxValue(initialValue: number): number {\n return initialValue <= this.MAX_JS_NUMBER\n ? initialValue\n : this.MAX_JS_NUMBER;\n }\n}\n","<cui-svg\n *ngIf=\"iconLeft\"\n [icon]=\"iconLeft\"\n></cui-svg>\n<input\n #input\n [ngModel]=\"formattedValue\"\n [attr.id]=\"id\"\n [attr.placeholder]=\"placeholder\"\n type=\"text\"\n [disabled]=\"isDisabled\"\n class=\"c-input\"\n (input)=\"onInput($event)\"\n (focus)=\"onTouched()\"\n (keydown.arrowUp)=\"onArrowUp()\"\n (keydown.arrowDown)=\"onArrowDown()\"\n>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\n\nimport { CuiInputNumberComponent } from './input-number.component';\nimport { CuiSvgModule } from '../svg';\nimport { CuiTextFieldControllerModule } from '../../directives';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n CuiSvgModule\n ],\n declarations: [CuiInputNumberComponent],\n exports: [\n CuiInputNumberComponent,\n CuiTextFieldControllerModule\n ]\n})\nexport class CuiInputNumberModule {\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n HostBinding,\n inject\n} from '@angular/core';\nimport type { ControlValueAccessor } from '@angular/forms';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport type { CuiInputType, CuiNullable, CuiOnChange, CuiOnTouched } from '@cuby-ui/cdk';\nimport { cuiProvide } from '@cuby-ui/cdk';\nimport type { CuiIcon } from '@cuby-ui/icons';\n\nimport { CUI_TEXT_FIELD_CONTROLLER, CUI_TEXT_FILED_CONTROLLER_PROVIDER } from '../../directives';\nimport { CuiSizeMd, CuiSizeSm } from '../../types';\n\n@Component({\n selector: 'cui-input-password',\n templateUrl: './input-password.template.html',\n styleUrls: ['./input-password.style.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n CUI_TEXT_FILED_CONTROLLER_PROVIDER,\n cuiProvide(NG_VALUE_ACCESSOR, CuiInputPasswordComponent, true)\n ]\n})\nexport class CuiInputPasswordComponent implements ControlValueAccessor {\n private readonly changeDetectorRef = inject(ChangeDetectorRef);\n private readonly cuiTextFieldController = inject(CUI_TEXT_FIELD_CONTROLLER);\n\n protected isPasswordHidden = true;\n protected value!: CuiNullable<string>;\n protected onChange!: CuiOnChange<string>;\n protected onTouched!: CuiOnTouched;\n\n @HostBinding('class._disabled')\n protected isDisabled!: boolean;\n\n protected get id(): string | undefined {\n return this.cuiTextFieldController.id;\n }\n\n protected get placeholder(): string | undefined {\n return this.cuiTextFieldController.placeholder;\n }\n\n protected get iconLeft(): CuiIcon | string | undefined {\n return this.cuiTextFieldController.iconLeft;\n }\n\n protected get isToggleButtonShown(): boolean {\n return !this.isDisabled;\n }\n\n protected get icon(): CuiIcon {\n return this.isPasswordHidden ? 'cuiIconEye' : 'cuiIconEyeOff';\n }\n\n protected get type(): CuiInputType {\n return this.isPasswordHidden ? 'password' : 'text';\n }\n\n protected get buttonTitle(): string {\n return this.isPasswordHidden ? 'Reveal password' : 'Hide password';\n }\n\n @HostBinding('attr.data-size')\n protected get size(): CuiSizeSm | CuiSizeMd {\n return this.cuiTextFieldController.size;\n }\n\n @HostBinding('class._with-error')\n protected get isError(): boolean {\n return this.cuiTextFieldController.isError;\n }\n\n public writeValue(value: CuiNullable<string>): void {\n this.value = value;\n\n this.changeDetectorRef.markForCheck();\n }\n\n public registerOnChange(fn: CuiOnChange<string>): void {\n this.onChange = fn;\n }\n\n public registerOnTouched(fn: CuiOnTouched): void {\n this.onTouched = fn;\n }\n\n public setDisabledState(isDisabled: boolean): void {\n this.isDisabled = isDisabled;\n\n if (this.isDisabled) {\n this.isPasswordHidden = true;\n }\n\n this.changeDetectorRef.markForCheck();\n }\n\n protected onInput({ target }: Event): void {\n const value = (target as HTMLInputElement).value;\n\n this.value = value;\n\n this.onChange(value);\n }\n\n protected onTogglePasswordVisibility(): void {\n this.isPasswordHidden = !this.isPasswordHidden;\n }\n}\n","<cui-svg\n *ngIf=\"iconLeft\"\n [icon]=\"iconLeft\"\n></cui-svg>\n<input\n [ngModel]=\"value\"\n [attr.id]=\"id\"\n [attr.placeholder]=\"placeholder\"\n [type]=\"type\"\n [disabled]=\"isDisabled\"\n class=\"c-input\"\n (input)=\"onInput($event)\"\n (focus)=\"onTouched()\"\n>\n<button\n *ngIf=\"isToggleButtonShown\"\n [title]=\"buttonTitle\"\n class=\"c-button\"\n (click)=\"onTogglePasswordVisibility()\"\n>\n <cui-svg\n [icon]=\"icon\"\n [width]=\"16\"\n [height]=\"16\"\n ></cui-svg>\n</button>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\n\nimport { CuiInputPasswordComponent } from './input-password.component';\nimport { CuiSvgModule } from '../svg';\nimport { CuiTextFieldControllerModule } from '../../directives';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n CuiSvgModule\n ],\n declarations: [CuiInputPasswordComponent],\n exports: [\n CuiInputPasswordComponent,\n CuiTextFieldControllerModule\n ]\n})\nexport class CuiInputPasswordModule {\n}\n","import type { ElementRef } from '@angular/core';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n HostBinding,\n HostListener,\n inject,\n ViewChild\n} from '@angular/core';\nimport type { ControlValueAccessor } from '@angular/forms';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport type { CuiOnChange, CuiOnTouched, CuiNullable } from '@cuby-ui/cdk';\nimport { cuiProvide } from '@cuby-ui/cdk';\nimport type { CuiIcon } from '@cuby-ui/icons';\n\nimport { CUI_TEXT_FIELD_CONTROLLER, CUI_TEXT_FILED_CONTROLLER_PROVIDER } from '../../directives';\nimport { CuiSizeMd, CuiSizeSm } from '../../types';\n\n@Component({\n selector: 'cui-input-text',\n templateUrl: './input-text.template.html',\n styleUrls: ['./input-text.style.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n CUI_TEXT_FILED_CONTROLLER_PROVIDER,\n cuiProvide(NG_VALUE_ACCESSOR, CuiInputTextComponent, true)\n ]\n})\nexport class CuiInputTextComponent implements ControlValueAccessor {\n private readonly changeDetectorRef = inject(ChangeDetectorRef);\n private readonly cuiTextFieldController = inject(CUI_TEXT_FIELD_CONTROLLER);\n\n protected value!: CuiNullable<string>;\n protected onChange!: CuiOnChange<string>;\n protected onTouched!: CuiOnTouched;\n\n @HostBinding('class._disabled')\n protected isDisabled!: boolean;\n\n @ViewChild('input')\n protected input!: ElementRef<HTMLInputElement>;\n\n protected get id(): string | undefined {\n return this.cuiTextFieldController.id;\n }\n\n protected get placeholder(): string | undefined {\n return this.cuiTextFieldController.placeholder;\n }\n\n protected get iconLeft(): CuiIcon | string | undefined {\n return this.cuiTextFieldController.iconLeft;\n }\n\n protected get isClearButtonShown(): boolean {\n return !!(this.value && !this.isDisabled);\n }\n\n @HostBinding('attr.data-size')\n protected get size(): CuiSizeSm | CuiSizeMd {\n return this.cuiTextFieldController.size;\n }\n\n @HostBinding('class._with-error')\n protected get isError(): boolean {\n return this.cuiTextFieldController.isError;\n }\n\n public writeValue(value: CuiNullable<string>): void {\n this.value = value;\n\n this.changeDetectorRef.markForCheck();\n }\n\n public registerOnChange(fn: CuiOnChange<string>): void {\n this.onChange = fn;\n }\n\n public registerOnTouched(fn: CuiOnTouched): void {\n this.onTouched = fn;\n }\n\n public setDisabledState(isDisabled: boolean): void {\n this.isDisabled = isDisabled;\n\n this.changeDetectorRef.markForCheck();\n }\n\n protected onInput({ target }: Event): void {\n this.changeModel((target as HTMLInputElement).value);\n }\n\n protected onClear(): void {\n this.changeModel('');\n }\n\n @HostListener('click')\n protected onFocus(): void {\n this.input.nativeElement.focus();\n }\n\n private changeModel(value: string): void {\n this.value = value;\n\n this.onChange(value);\n }\n}\n","<cui-svg\n *ngIf=\"iconLeft\"\n [icon]=\"iconLeft\"\n></cui-svg>\n<input\n #input\n [ngModel]=\"value\"\n [attr.id]=\"id\"\n [attr.placeholder]=\"placeholder\"\n type=\"text\"\n [disabled]=\"isDisabled\"\n class=\"c-input\"\n (input)=\"onInput($event)\"\n (focus)=\"onTouched()\"\n>\n<button\n *ngIf=\"isClearButtonShown\"\n class=\"c-button\"\n (click)=\"onClear()\"\n>\n <cui-svg icon=\"cuiIconClear\"></cui-svg>\n</button>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\n\nimport { CuiInputTextComponent } from './input-text.component';\nimport { CuiSvgModule } from '../svg';\nimport { CuiTextFieldControllerModule } from '../../directives';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n CuiSvgModule\n ],\n declarations: [CuiInputTextComponent],\n exports: [\n CuiInputTextComponent,\n CuiTextFieldControllerModule\n ]\n})\nexport class CuiInputModule {\n}\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\n\n@Component({\n selector: 'label[cuiLabel]',\n templateUrl: './label.template.html',\n styleUrls: ['./label.style.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class CuiLabelComponent {\n @Input()\n public isRequired = false;\n}\n","<ng-content></ng-content>\n<span\n *ngIf=\"isRequired\"\n class=\"c-star\"\n>\n *\n</span>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { CuiLabelComponent } from './label.component';\n\n@NgModule({\n imports: [CommonModule],\n declarations: [CuiLabelComponent],\n exports: [CuiLabelComponent]\n})\nexport class CuiLabelModule {\n}\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\n\n@Component({\n selector: 'cui-root',\n templateUrl: './root.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class CuiRootComponent {\n}\n","<ng-content />\n<cui-dialogs />\n<cui-alerts />\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { CuiRootComponent } from './root.component';\nimport { CuiDialogModule } from '../dialog';\nimport { CuiAlertModule } from '../alert';\n\n@NgModule({\n imports: [\n CommonModule,\n CuiDialogModule,\n CuiAlertModule\n ],\n declarations: [CuiRootComponent],\n exports: [CuiRootComponent]\n})\nexport class CuiRootModule {\n}\n","import { ChangeDetectionStrategy, Component, HostBinding, inject, Input } from '@angular/core';\nimport { CuiAutoResizingDirective } from '@cuby-ui/cdk';\n\nimport { CUI_TEXT_FIELD_CONTROLLER, CUI_TEXT_FILED_CONTROLLER_PROVIDER } from '../../directives';\n\n@Component({\n selector: 'textarea[cuiTextarea]',\n template: '',\n styleUrls: ['./textarea.style.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [CUI_TEXT_FILED_CONTROLLER_PROVIDER],\n hostDirectives: [CuiAutoResizingDirective]\n})\nexport class CuiTextareaComponent {\n private readonly cuiTextFieldController = inject(CUI_TEXT_FIELD_CONTROLLER);\n\n @Input()\n @HostBinding('rows')\n public rows = 4;\n\n @Input()\n @HostBinding('class._no-borders-and-paddings')\n public noBordersAndPaddings = false;\n\n @HostBinding('class._with-error')\n protected get isError(): boolean {\n return this.cuiTextFieldController.isError;\n }\n}\n","import { NgModule } from '@angular/core';\n\nimport { CuiTextareaComponent } from './textarea.component';\n\n@NgModule({\n declarations: [CuiTextareaComponent],\n exports: [CuiTextareaComponent]\n})\nexport class CuiTextareaModule {\n}\n","import { cuiCreateToken } from '@cuby-ui/cdk';\n\nexport type CuiTheme = 'light' | 'dark';\n\nexport const CUI_THEME_STORAGE_DEFAULT_KEY = 'cuiTheme';\n\nexport const CUI_DEFAULT_THEME: CuiTheme = 'light';\n\nexport const CUI_THEME_STORAGE_KEY = cuiCreateToken(CUI_THEME_STORAGE_DEFAULT_KEY);\n\nexport const CUI_THEME = cuiCreateToken<CuiTheme>(CUI_DEFAULT_THEME);","import { inject, Injectable } from '@angular/core';\nimport type { CuiNullable } from '@cuby-ui/cdk';\nimport { CUI_LOCAL_STORAGE } from '@cuby-ui/cdk';\nimport { BehaviorSubject } from 'rxjs';\n\nimport type { CuiTheme } from './theme.options';\nimport { CUI_THEME, CUI_THEME_STORAGE_KEY } from './theme.options';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CuiThemeService extends BehaviorSubject<CuiTheme> {\n private readonly localStorage = inject(CUI_LOCAL_STORAGE);\n private readonly key = inject(CUI_THEME_STORAGE_KEY);\n\n constructor() {\n super(\n inject(CUI_LOCAL_STORAGE).getItem(inject(CUI_THEME_STORAGE_KEY)) as CuiNullable<CuiTheme>\n ?? inject(CUI_THEME)\n );\n }\n\n public override next(theme: CuiTheme): void {\n this.localStorage.setItem(this.key, theme);\n super.next(theme);\n }\n\n // При работе только двух тем\n public switch(): void {\n this.next(this.value === 'light' ? 'dark' : 'light');\n }\n}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2.CuiSvgComponent","i2.CuiButtonComponent","i3.CuiButtonComponent","i2.CuiNotificationComponent","i1.CuiSvgComponent","i2","i3.CuiSvgComponent","i1.CuiDialogsComponent","i2.CuiAlertsComponent"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cuby-ui-core.mjs","sources":["../../../projects/core/components/accordion/accordion.component.ts","../../../projects/core/components/accordion/accordion.template.html","../../../projects/core/components/button/button.options.ts","../../../projects/core/components/svg/svg.component.ts","../../../projects/core/components/svg/svg.template.html","../../../projects/core/components/button/button.component.ts","../../../projects/core/components/button/button.template.html","../../../projects/core/components/accordion/accordion-item/accordion-item.component.ts","../../../projects/core/components/accordion/accordion-item/accordion-item.template.html","../../../projects/core/components/svg/svg.module.ts","../../../projects/core/components/button/button.module.ts","../../../projects/core/components/accordion/accordion.module.ts","../../../projects/core/components/notification/notification.options.ts","../../../projects/core/components/alert/alert.tokens.ts","../../../projects/core/components/notification/notification.component.ts","../../../projects/core/components/notification/notification.template.html","../../../projects/core/components/alert/alert.component.ts","../../../projects/core/components/alert/alert.template.html","../../../projects/core/components/alert/alerts.component.ts","../../../projects/core/components/alert/alerts.template.html","../../../projects/core/components/notification/notification.module.ts","../../../projects/core/components/alert/alert.module.ts","../../../projects/core/components/alert/alert.service.ts","../../../projects/core/components/banner/banner.options.ts","../../../projects/core/components/banner/banner.component.ts","../../../projects/core/components/banner/banner.template.html","../../../projects/core/components/banner/banner.module.ts","../../../projects/core/components/button-group/button-group.component.ts","../../../projects/core/components/button-group/button-group.template.html","../../../projects/core/components/button-group/button-group.module.ts","../../../projects/core/components/context-menu/context-menu.component.ts","../../../projects/core/components/context-menu/context-menu.component.html","../../../projects/core/components/context-menu/context-menu.module.ts","../../../projects/core/components/dialog/dialog.tokens.ts","../../../projects/core/components/dialog/dialog.component.ts","../../../projects/core/components/dialog/dialog.template.html","../../../projects/core/components/dialog/dialogs.component.ts","../../../projects/core/components/dialog/dialogs.template.html","../../../projects/core/components/dialog/dialog.module.ts","../../../projects/core/components/dialog/dialog.service.ts","../../../projects/core/directives/text-field-controller/text-field.controller.ts","../../../projects/core/directives/text-field-controller/text-field-icon-left.directive.ts","../../../projects/core/directives/text-field-controller/text-field-id.directive.ts","../../../projects/core/directives/text-field-controller/text-field-is-error.directive.ts","../../../projects/core/directives/text-field-controller/text-field-placeholder.directive.ts","../../../projects/core/directives/text-field-controller/text-field-size.directive.ts","../../../projects/core/directives/text-field-controller/text-field-controller.module.ts","../../../projects/core/directives/text-field-controller/text-field-controller.provider.ts","../../../projects/core/components/editor/editor.component.ts","../../../projects/core/components/editor/editor.template.html","../../../projects/core/components/editor/editor.module.ts","../../../projects/core/components/hint/hint.component.ts","../../../projects/core/components/hint/hint.template.html","../../../projects/core/components/hint/hint.module.ts","../../../projects/core/components/icon-button/icon-button.component.ts","../../../projects/core/components/icon-button/icon-button.template.html","../../../projects/core/components/icon-button/icon-button.module.ts","../../../projects/core/components/input-number/input-number.options.ts","../../../projects/core/utils/format/remove-spaces.ts","../../../projects/core/utils/format/replace.ts","../../../projects/core/components/input-number/input-number.component.ts","../../../projects/core/components/input-number/input-number.template.html","../../../projects/core/components/input-number/input-number.module.ts","../../../projects/core/components/input-password/input-password.component.ts","../../../projects/core/components/input-password/input-password.template.html","../../../projects/core/components/input-password/input-password.module.ts","../../../projects/core/components/input-text/input-text.component.ts","../../../projects/core/components/input-text/input-text.template.html","../../../projects/core/components/input-text/input-text.module.ts","../../../projects/core/components/label/label.component.ts","../../../projects/core/components/label/label.template.html","../../../projects/core/components/label/label.module.ts","../../../projects/core/components/root/root.component.ts","../../../projects/core/components/root/root.component.html","../../../projects/core/components/root/root.module.ts","../../../projects/core/components/textarea/textarea.component.ts","../../../projects/core/components/textarea/textarea.module.ts","../../../projects/core/services/theme.options.ts","../../../projects/core/services/theme.service.ts","../../../projects/core/cuby-ui-core.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component } from '@angular/core';\n\n@Component({\n selector: 'cui-accordion',\n templateUrl: './accordion.template.html',\n styleUrls: ['./accordion.style.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class CuiAccordionComponent {\n}\n","<ng-content select=\"cui-accordion-item\"></ng-content>\n","import { InjectionToken } from '@angular/core';\n\nimport type {\n CuiAppearanceAccent,\n CuiAppearanceDestructive,\n CuiAppearanceFlat,\n CuiAppearanceGhost,\n CuiAppearanceLink,\n CuiAppearanceOutlined,\n CuiAppearanceOutlinedGray,\n CuiAppearanceSecondary,\n CuiShapeRounded,\n CuiSizeMd,\n CuiSizeSm,\n CuiSizeXs,\n CuiSizeXxs\n} from '../../types';\n\nexport interface CuiButtonOptions {\n readonly appearance:\n | CuiAppearanceAccent\n | CuiAppearanceSecondary\n | CuiAppearanceOutlined\n | CuiAppearanceOutlinedGray\n | CuiAppearanceGhost\n | CuiAppearanceFlat\n | CuiAppearanceDestructive\n | CuiAppearanceLink\n readonly shape: CuiShapeRounded | null;\n readonly size:\n | CuiSizeXxs\n | CuiSizeXs\n | CuiSizeSm\n | CuiSizeMd;\n}\n\nexport const CUI_BUTTON_DEFAULT_OPTIONS: CuiButtonOptions = {\n appearance: 'accent',\n shape: null,\n size: 'sm'\n};\n\nexport const CUI_BUTTON_OPTIONS = new InjectionToken('', {\n factory: () => CUI_BUTTON_DEFAULT_OPTIONS\n});\n","import {\n ChangeDetectionStrategy,\n Component,\n HostBinding,\n inject,\n Input\n} from '@angular/core';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\n\nimport type { CuiIcon } from '@cuby-ui/icons';\nimport { CUI_ICONS, cuiIsIcon } from '@cuby-ui/icons';\n\n@Component({\n selector: 'cui-svg[icon]',\n templateUrl: './svg.template.html',\n styleUrls: ['./svg.style.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class CuiSvgComponent {\n private readonly domSanitizer = inject(DomSanitizer);\n\n protected safeSvgContent!: SafeHtml;\n\n @Input()\n public width?: number;\n\n @Input()\n public height?: number;\n\n @Input()\n @HostBinding('style.--stroke-width')\n public strokeWidth?: number;\n\n @Input()\n @HostBinding('style.--color')\n public color?: string;\n\n @Input()\n public set icon(icon: CuiIcon | string) {\n // TODO: В данном случае подключаются все иконки (вероятно, можно как-то оптимизировано их подключать)\n this.safeSvgContent = this.domSanitizer.bypassSecurityTrustHtml(cuiIsIcon(icon)\n ? CUI_ICONS[icon]\n : icon);\n }\n\n @HostBinding('class._with-stroke-width')\n public get isWithStrokeWidth(): boolean {\n return !!this.strokeWidth;\n }\n\n @HostBinding('class._with-color')\n public get isWithColor(): boolean {\n return !!this.color;\n }\n}\n","<span\n [innerHTML]=\"safeSvgContent\"\n [style.width.px]=\"width\"\n [style.height.px]=\"height\"\n></span>","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n HostBinding,\n inject,\n Input,\n ViewChild\n} from '@angular/core';\nimport type { AfterViewInit } from '@angular/core';\nimport type { CuiIcon } from '@cuby-ui/icons';\n\nimport { CUI_BUTTON_OPTIONS, CuiButtonOptions } from './button.options';\n\n@Component({\n selector: 'button[cuiButton], a[cuiButton]',\n templateUrl: './button.template.html',\n styleUrls: ['./button.style.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class CuiButtonComponent implements CuiButtonOptions, AfterViewInit {\n private readonly changeDetectorRef = inject(ChangeDetectorRef);\n private readonly cuiButtonOptions = inject(CUI_BUTTON_OPTIONS);\n\n protected readonly COLOR_BASE_500 = 'var(--cui-base-500)';\n protected readonly BUTTON_ICONS_COLOR_BASE_500: CuiButtonOptions['appearance'][] = [\n 'secondary',\n 'outlined',\n 'outlined-gray',\n 'ghost'\n ];\n\n protected _appearance = this.cuiButtonOptions.appearance;\n protected iconColor = 'currentColor';\n protected _size = this.cuiButtonOptions.size;\n protected iconDimensions = {\n width: 20,\n height: 20\n };\n\n @Input()\n @HostBinding('attr.data-shape')\n public shape = this.cuiButtonOptions.shape;\n\n @Input()\n @HostBinding('class._disabled')\n public disabled = false;\n\n @Input()\n @HostBinding('class._loading')\n public isLoaderShown = false;\n\n @Input()\n public icon?: CuiIcon | string;\n\n @Input()\n public iconRight?: CuiIcon | string;\n\n @Input()\n @HostBinding('attr.data-appearance')\n public get appearance(): CuiButtonOptions['appearance'] {\n return this._appearance;\n }\n\n public set appearance(appearance: CuiButtonOptions['appearance']) {\n this._appearance = appearance;\n\n if (this.BUTTON_ICONS_COLOR_BASE_500.includes(appearance)) {\n this.iconColor = this.COLOR_BASE_500;\n\n return;\n }\n\n this.iconColor = 'currentColor';\n }\n\n @Input()\n @HostBinding('attr.data-size')\n public get size(): CuiButtonOptions['size'] {\n return this._size;\n }\n\n public set size(size: CuiButtonOptions['size']) {\n this._size = size;\n\n if (size === 'xxs') {\n this.iconDimensions = {\n width: 16,\n height: 16\n };\n\n return;\n }\n\n this.iconDimensions = {\n width: 20,\n height: 20\n };\n }\n\n @HostBinding('class._only-icon')\n protected containsOnlyIcon = false;\n\n @HostBinding('disabled')\n protected get isDisabled(): boolean {\n return this.disabled || this.isLoaderShown;\n }\n\n @ViewChild('content')\n protected content!: ElementRef<HTMLSpanElement>;\n\n public ngAfterViewInit(): void {\n this.initContainsOnlyIcon();\n }\n\n private initContainsOnlyIcon(): void {\n Promise.resolve().then(() => {\n this.containsOnlyIcon = this.content.nativeElement.childNodes.length === 0;\n\n this.changeDetectorRef.markForCheck();\n });\n }\n}\n","<span\n class=\"c-wrapper\"\n [class.c-wrapper_invisible]=\"isLoaderShown\"\n>\n <cui-svg\n *ngIf=\"icon\"\n [icon]=\"icon\"\n [width]=\"iconDimensions.width\"\n [height]=\"iconDimensions.height\"\n [color]=\"iconColor\"\n ></cui-svg>\n <span\n #content\n *ngIf=\"!containsOnlyIcon\"\n >\n <ng-content></ng-content>\n </span>\n <cui-svg\n *ngIf=\"iconRight\"\n [icon]=\"iconRight\"\n [width]=\"iconDimensions.width\"\n [height]=\"iconDimensions.height\"\n [color]=\"iconColor\"\n ></cui-svg>\n</span>\n<cui-svg\n *ngIf=\"isLoaderShown\"\n icon=\"cuiIconLoading\"\n class=\"c-loader\"\n></cui-svg>\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport type { CuiIcon } from '@cuby-ui/icons';\n\n@Component({\n selector: 'cui-accordion-item',\n templateUrl: './accordion-item.template.html',\n styleUrls: ['./accordion-item.style.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class CuiAccordionItemComponent {\n protected isOpen = false;\n\n protected get buttonIcon(): CuiIcon {\n return this.isOpen ? 'cuiIconChevronDown' : 'cuiIconChevronRight';\n }\n\n protected onRowToggle(): void {\n this.isOpen = !this.isOpen;\n }\n}\n","<header class=\"c-header\">\n <button\n cuiButton\n appearance=\"ghost\"\n size=\"xxs\"\n [icon]=\"buttonIcon\"\n (click)=\"onRowToggle()\"\n ></button>\n <span>\n <ng-content></ng-content>\n </span>\n</header>\n<div *ngIf=\"isOpen\">\n <ng-content select=\"[cuiAccordionItemContent]\"></ng-content>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { CuiSvgComponent } from './svg.component';\n\n@NgModule({\n imports: [CommonModule],\n declarations: [CuiSvgComponent],\n exports: [CuiSvgComponent]\n})\nexport class CuiSvgModule {\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { CuiButtonComponent } from './button.component';\nimport { CuiSvgModule } from '../svg';\n\n@NgModule({\n imports: [\n CommonModule,\n CuiSvgModule\n ],\n declarations: [CuiButtonComponent],\n exports: [CuiButtonComponent]\n})\nexport class CuiButtonModule {\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { CuiAccordionComponent } from './accordion.component';\nimport { CuiAccordionItemComponent } from './accordion-item/accordion-item.component';\nimport { CuiSvgModule } from '../svg';\nimport { CuiButtonModule } from '../button';\n\n@NgModule({\n imports: [\n CommonModule,\n CuiSvgModule,\n CuiButtonModule,\n ],\n declarations: [\n CuiAccordionComponent,\n CuiAccordionItemComponent\n ],\n exports: [\n CuiAccordionComponent,\n CuiAccordionItemComponent\n ]\n})\nexport class CuiAccordionModule {\n}\n","import { cuiCreateToken } from '@cuby-ui/cdk';\nimport type { CuiIcon } from '@cuby-ui/icons';\n\nimport type { CuiStatus } from '../../types';\n\nexport type CuiNotificationIconOptions = {\n [k in CuiStatus]: {\n icon: CuiIcon;\n color: string;\n }\n}\n\nexport interface CuiNotificationOptions {\n readonly status: CuiStatus;\n}\n\nexport const CUI_NOTIFICATION_DEFAULT_OPTIONS: CuiNotificationOptions = {\n status: 'info'\n};\n\nexport const CUI_NOTIFICATION_OPTIONS = cuiCreateToken(CUI_NOTIFICATION_DEFAULT_OPTIONS);\n","import { inject, InjectionToken } from '@angular/core';\nimport { cuiCreateTokenFromFactory, CuiPopover } from '@cuby-ui/cdk';\nimport { cuiCreateToken } from '@cuby-ui/cdk';\nimport { BehaviorSubject } from 'rxjs';\n\nimport type { CuiAlertOptions } from './alert.interfaces';\nimport { CUI_NOTIFICATION_OPTIONS } from '../notification/notification.options';\n\nexport const CUI_ALERTS = cuiCreateToken(\n new BehaviorSubject<ReadonlyArray<CuiPopover<CuiAlertOptions>>>([])\n);\n\nexport const CUI_ALERT_DEFAULT_OPTIONS: Omit<CuiAlertOptions, 'status'> = {\n label: '',\n needAutoClose: true,\n isCloseable: true,\n position: 'right',\n resizing: 'fixed'\n};\n\nexport const CUI_ALERT_OPTIONS = cuiCreateTokenFromFactory(\n () => ({\n ...CUI_ALERT_DEFAULT_OPTIONS,\n ...inject(CUI_NOTIFICATION_OPTIONS)\n })\n);\n\nexport const CUI_ALERT_CONTEXT = new InjectionToken<CuiPopover<CuiAlertOptions>>('');\n","import { ChangeDetectionStrategy, Component, EventEmitter, HostBinding, inject, Input, Output } from '@angular/core';\nimport type { CuiNotificationIconOptions, CuiNotificationOptions } from './notification.options';\nimport { CUI_NOTIFICATION_OPTIONS} from './notification.options';\n\n@Component({\n selector: 'cui-notification',\n templateUrl: './notification.template.html',\n styleUrls: ['./notification.style.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class CuiNotificationComponent implements CuiNotificationOptions {\n private readonly cuiNotificationOptions = inject(CUI_NOTIFICATION_OPTIONS);\n\n protected readonly ICON_OPTIONS: CuiNotificationIconOptions = {\n info: {\n icon: 'cuiIconInfo',\n color: 'var(--cui-blue-500)'\n },\n success: {\n icon: 'cuiIconCheckCircle',\n color: 'var(--cui-green-500)'\n },\n alert: {\n icon: 'cuiIconAlertTriangle',\n color: 'var(--cui-yellow-400)'\n },\n error: {\n icon: 'cuiIconXCircle',\n color: 'var(--cui-red-500)'\n },\n };\n\n @Input()\n @HostBinding('attr.data-status')\n public status = this.cuiNotificationOptions.status;\n\n @Input()\n public isCloseable = false;\n\n @Output()\n public readonly closed = new EventEmitter<void>();\n\n protected onClose(): void {\n this.closed.next();\n }\n}\n","<cui-svg\n *ngIf=\"ICON_OPTIONS[status] as iconOption\"\n [icon]=\"iconOption.icon\"\n [color]=\"iconOption.color\"\n></cui-svg>\n<div class=\"c-content\">\n <ng-content></ng-content>\n</div>\n<button\n *ngIf=\"isCloseable\"\n cuiButton\n appearance=\"ghost\"\n size=\"xxs\"\n icon=\"cuiIconX\"\n (click)=\"onClose()\"\n></button>\n","import type { OnInit } from '@angular/core';\nimport { HostBinding } from '@angular/core';\nimport { ChangeDetectionStrategy, Component, inject } from '@angular/core';\n\nimport { CUI_ALERT_CONTEXT } from './alert.tokens';\nimport type { CuiAlertResizing } from './alert.types';\n\n@Component({\n selector: 'cui-alert',\n templateUrl: './alert.template.html',\n styleUrls: ['./alert.style.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class CuiAlertComponent implements OnInit {\n protected readonly context = inject(CUI_ALERT_CONTEXT);\n\n protected readonly AUTO_CLOSE_DURATION_IN_MILLISECONDS = 3000;\n\n @HostBinding('attr.data-resizing')\n protected get resizing(): CuiAlertResizing {\n return this.context.resizing;\n }\n\n public ngOnInit(): void {\n this.initAutoClose();\n }\n\n protected onClosed(): void {\n this.context.$implicit.complete();\n }\n\n private initAutoClose(): void {\n if (!this.context.needAutoClose) {\n return;\n }\n\n setTimeout(this.onClosed.bind(this), this.AUTO_CLOSE_DURATION_IN_MILLISECONDS);\n }\n}\n","<cui-notification\n [status]=\"context.status\"\n [isCloseable]=\"context.isCloseable\"\n (closed)=\"onClosed()\"\n>\n <h2\n *ngIf=\"context.label\"\n class=\"c-heading\"\n >\n {{ context.label }}\n </h2>\n {{ context.content }}\n</cui-notification>\n","import type { OnInit } from '@angular/core';\nimport { ChangeDetectionStrategy, Component, inject, Injector } from '@angular/core';\nimport type { CuiPopover } from '@cuby-ui/cdk';\nimport { CuiDestroyService } from '@cuby-ui/cdk';\nimport type { Observable } from 'rxjs';\nimport { takeUntil } from 'rxjs';\n\nimport { CUI_ALERT_CONTEXT, CUI_ALERTS } from './alert.tokens';\nimport type { CuiAlertOptions } from './alert.interfaces';\n\n@Component({\n selector: 'cui-alerts',\n templateUrl: './alerts.template.html',\n styleUrls: ['./alerts.style.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [CuiDestroyService]\n})\nexport class CuiAlertsComponent implements OnInit {\n private readonly destroy$ = inject(CuiDestroyService, { self: true });\n\n protected readonly alerts$: Observable<ReadonlyArray<CuiPopover<CuiAlertOptions>>> = inject(CUI_ALERTS);\n protected alertInjectors!: ReadonlyArray<Injector>;\n\n public ngOnInit(): void {\n this.initAlertInjectorsSubscription();\n }\n\n protected trackByFn(_: number, alert: CuiPopover<CuiAlertOptions>): string {\n return alert.id;\n }\n\n protected alertsMatcher(alert: CuiPopover<CuiAlertOptions>, position: string): boolean {\n return alert.position === position;\n }\n\n protected initAlertInjectorsSubscription(): void {\n this.alerts$\n .pipe(takeUntil(this.destroy$))\n .subscribe(dialogs => this.alertInjectors = dialogs.map(useValue => Injector.create({\n providers: [{ provide: CUI_ALERT_CONTEXT, useValue }]\n })));\n }\n}\n","<ng-container *ngIf=\"alerts$ | async as alerts\">\n <div class=\"c-wrapper c-wrapper_position_center\">\n <ng-container *ngFor=\"let alert of alerts | cuiFilter: alertsMatcher: 'center'; let i = index; trackBy: trackByFn\">\n <ng-container *ngComponentOutlet=\"alert.component; injector: alertInjectors[i]\"></ng-container>\n </ng-container>\n </div>\n <div class=\"c-wrapper c-wrapper_position_right\">\n <ng-container *ngFor=\"let alert of alerts | cuiFilter: alertsMatcher: 'right'; let i = index; trackBy: trackByFn\">\n <ng-container *ngComponentOutlet=\"alert.component; injector: alertInjectors[i]\"></ng-container>\n </ng-container>\n </div>\n</ng-container>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { CuiNotificationComponent } from './notification.component';\nimport { CuiSvgModule } from '../svg';\nimport { CuiButtonModule } from '../button';\n\n@NgModule({\n imports: [\n CommonModule,\n CuiSvgModule,\n CuiButtonModule\n ],\n declarations: [CuiNotificationComponent],\n exports: [CuiNotificationComponent]\n})\nexport class CuiNotificationModule {\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { CuiFilterPipe } from '@cuby-ui/cdk';\n\nimport { CuiAlertComponent } from './alert.component';\nimport { CuiAlertsComponent } from './alerts.component';\nimport { CuiNotificationModule } from '../notification';\n\n@NgModule({\n imports: [\n CommonModule,\n CuiFilterPipe,\n CuiNotificationModule\n ],\n declarations: [\n CuiAlertComponent,\n CuiAlertsComponent\n ],\n exports: [\n CuiAlertComponent,\n CuiAlertComponent,\n CuiAlertsComponent\n ]\n})\nexport class CuiAlertModule {\n}\n","import { inject, Injectable } from '@angular/core';\nimport { CuiPopoverService } from '@cuby-ui/cdk';\n\nimport { CUI_ALERT_OPTIONS, CUI_ALERTS } from './alert.tokens';\nimport { CuiAlertComponent } from './alert.component';\nimport type { CuiAlertOptions } from './alert.interfaces';\n\n@Injectable({\n providedIn: 'root',\n useFactory: () => new CuiAlertService(CUI_ALERTS, CuiAlertComponent, inject(CUI_ALERT_OPTIONS))\n})\nexport class CuiAlertService extends CuiPopoverService<CuiAlertOptions> {\n}\n","import type { CuiStatus } from '../../types';\nimport { cuiCreateToken } from '@cuby-ui/cdk';\nimport type { CuiIcon } from '@cuby-ui/icons';\n\nexport type CuiBannerIconOptions = {\n [k in CuiStatus]: {\n icon: CuiIcon;\n color: string;\n }\n}\n\nexport interface CuiBannerOptions {\n readonly status: CuiStatus;\n}\n\nexport const CUI_BANNER_DEFAULT_OPTIONS: CuiBannerOptions = {\n status: 'info'\n};\n\nexport const CUI_BANNER_OPTIONS = cuiCreateToken(CUI_BANNER_DEFAULT_OPTIONS);\n","import { ChangeDetectionStrategy, Component, EventEmitter, HostBinding, inject, Input, Output } from '@angular/core';\n\nimport type { CuiBannerIconOptions, CuiBannerOptions } from './banner.options';\nimport { CUI_BANNER_OPTIONS } from './banner.options';\n\n@Component({\n selector: 'cui-banner',\n templateUrl: './banner.template.html',\n styleUrls: ['./banner.style.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class CuiBannerComponent implements CuiBannerOptions {\n private readonly cuiBannerOptions = inject(CUI_BANNER_OPTIONS);\n\n protected readonly ICON_OPTIONS: CuiBannerIconOptions = {\n info: {\n icon: 'cuiIconInfo',\n color: 'var(--c-info-color)'\n },\n success: {\n icon: 'cuiIconCheckCircle',\n color: 'var(--cui-green-500)'\n },\n alert: {\n icon: 'cuiIconAlertTriangle',\n color: 'var(--c-alert-color)'\n },\n error: {\n icon: 'cuiIconXCircle',\n color: 'var(--cui-red-500)'\n },\n };\n\n @Input()\n @HostBinding('attr.data-status')\n public status = this.cuiBannerOptions.status;\n\n @Input()\n public isCloseable = true;\n\n @Input()\n public label?: string;\n\n @Input()\n public actionButtonText?: string;\n\n @Output()\n public actionButtonClicked = new EventEmitter<void>();\n\n @Output()\n public closed = new EventEmitter<void>();\n\n protected onAction(): void {\n this.actionButtonClicked.emit();\n }\n\n protected onClose(): void {\n this.closed.emit();\n }\n}\n","<cui-svg\n *ngIf=\"ICON_OPTIONS[status] as iconOption\"\n [icon]=\"iconOption.icon\"\n [color]=\"iconOption.color\"\n class=\"c-icon\"\n></cui-svg>\n<div class=\"c-wrapper\">\n <h2\n *ngIf=\"label\"\n class=\"c-heading\"\n >\n {{ label }}\n </h2>\n <ng-content></ng-content>\n <!-- TODO: Жду тёмную тему кнопок -->\n <button\n cuiButton\n *ngIf=\"actionButtonText\"\n appearance=\"link\"\n (click)=\"onAction()\"\n >\n {{ actionButtonText }}\n </button>\n</div>\n<button\n *ngIf=\"isCloseable\"\n cuiButton\n appearance=\"ghost\"\n size=\"xxs\"\n icon=\"cuiIconX\"\n (click)=\"onClose()\"\n></button>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { CuiBannerComponent } from './banner.component';\nimport { CuiSvgModule } from '../svg';\nimport { CuiButtonModule } from '../button';\n\n@NgModule({\n imports: [\n CommonModule,\n CuiSvgModule,\n CuiButtonModule\n ],\n declarations: [CuiBannerComponent],\n exports: [CuiBannerComponent]\n})\nexport class CuiBannerModule {\n}\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\n\n@Component({\n selector: 'cui-button-group',\n templateUrl: './button-group.template.html',\n styleUrls: ['./button-group.style.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class CuiButtonGroupComponent {\n}\n","<ng-content select=\"button[cuiButton], a[cuiButton]\"></ng-content>\n","import { NgModule } from '@angular/core';\n\nimport { CuiButtonGroupComponent } from './button-group.component';\n\n@NgModule({\n declarations: [CuiButtonGroupComponent],\n exports: [CuiButtonGroupComponent]\n})\nexport class CuiButtonGroupModule {\n}\n","import type { AfterViewInit, OnDestroy } from '@angular/core';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n HostBinding,\n HostListener,\n inject,\n Input\n} from '@angular/core';\nimport { DOCUMENT } from '@angular/common';\n\nimport type { CuiContextMenuItem } from '../../interfaces';\n\n@Component({\n selector: 'cui-context-menu[items][target]',\n templateUrl: './context-menu.component.html',\n styleUrls: ['./context-menu.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class CuiContextMenuComponent implements AfterViewInit, OnDestroy {\n private readonly changeDetectorRef = inject(ChangeDetectorRef);\n private readonly element = inject(ElementRef).nativeElement;\n private readonly document = inject(DOCUMENT);\n private readonly documentElement = this.document.documentElement;\n\n protected readonly EXTRA_OFFSET_LEFT = 0;\n protected readonly EXTRA_OFFSET_TOP = 0;\n\n protected isVisible = false;\n protected targetEventListener!: (event: MouseEvent) => void;\n\n @Input()\n public items!: CuiContextMenuItem[];\n\n @Input()\n public target!: HTMLElement;\n\n @HostBinding('class._hidden')\n isHidden: boolean = false;\n\n @HostBinding('style.left.px')\n protected clientX?: number;\n\n @HostBinding('style.top.px')\n protected clientY?: number;\n\n public ngAfterViewInit(): void {\n this.initTargetElementListener();\n }\n\n public ngOnDestroy(): void {\n this.destroyTargetElementListener();\n }\n\n protected onSelect(item: CuiContextMenuItem): void {\n this.isVisible = false;\n\n item.command?.();\n }\n\n @HostListener('document:click', ['$event.target'])\n protected onClickOutside(target: HTMLElement): void {\n if (this.element.contains(target) || this.target.contains(target)) {\n return;\n }\n\n this.isVisible = false;\n }\n\n @HostListener('window:scroll')\n @HostListener('window:resize')\n protected onClose(): void {\n this.isVisible = false;\n }\n\n protected trackByFn(_: number, item: CuiContextMenuItem): string {\n return item.label;\n }\n\n private initTargetElementListener(): void {\n this.targetEventListener = ({ clientX, clientY }) => {\n this.isVisible = !this.isVisible;\n\n if (this.isVisible) {\n this.changePosition(clientX, clientY);\n }\n\n this.changeDetectorRef.markForCheck();\n };\n\n this.target.addEventListener('click', this.targetEventListener);\n }\n\n private destroyTargetElementListener(): void {\n this.target.removeEventListener('click', this.targetEventListener);\n }\n\n private changePosition(x: number, y: number): void {\n this.isHidden = true;\n\n setTimeout(() => {\n const { clientWidth, clientHeight } = this.documentElement;\n const width = this.element.offsetWidth;\n const height = this.element.offsetHeight;\n let left = x;\n let top = y;\n\n if (left + width > clientWidth) {\n left -= width;\n }\n\n if (top + height > clientHeight) {\n top -= height;\n }\n\n left = Math.max(left, this.EXTRA_OFFSET_LEFT);\n top = Math.max(top, this.EXTRA_OFFSET_TOP);\n\n this.isHidden = false;\n this.clientX = left;\n this.clientY = top;\n\n this.changeDetectorRef.markForCheck();\n });\n }\n}\n","<ul\n *ngIf=\"isVisible\"\n class=\"c-ul\"\n>\n <li\n *ngFor=\"let item of items; trackBy: trackByFn\"\n [style.color]=\"item.color\"\n >\n <button\n class=\"c-button\"\n (click)=\"onSelect(item)\"\n >\n <cui-svg\n *ngIf=\"item.icon\"\n [icon]=\"item.icon\"\n [color]=\"item.color\"\n ></cui-svg>\n <span>{{ item.label }}</span>\n </button>\n </li>\n</ul>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { CuiContextMenuComponent } from './context-menu.component';\nimport { CuiSvgModule } from '../svg';\n\n@NgModule({\n imports: [\n CommonModule,\n CuiSvgModule\n ],\n declarations: [CuiContextMenuComponent],\n exports: [CuiContextMenuComponent]\n})\nexport class CuiContextMenuModule {\n}\n","import { InjectionToken } from '@angular/core';\nimport type { CuiPopover } from '@cuby-ui/cdk';\nimport { cuiCreateToken } from '@cuby-ui/cdk';\nimport { BehaviorSubject } from 'rxjs';\n\nimport type { CuiDialogOptions } from './dialog.interfaces';\n\nexport const CUI_DIALOGS = cuiCreateToken(\n new BehaviorSubject<ReadonlyArray<CuiPopover<CuiDialogOptions>>>([])\n);\n\nexport const CUI_DIALOG_DEFAULT_OPTIONS: CuiDialogOptions = {\n label: ''\n};\n\nexport const CUI_DIALOG_OPTIONS = cuiCreateToken(CUI_DIALOG_DEFAULT_OPTIONS);\n\nexport const CUI_DIALOG_CONTEXT = new InjectionToken<CuiPopover<CuiDialogOptions>>('');\n","import type { Type } from '@angular/core';\nimport { ChangeDetectionStrategy, Component, inject, TemplateRef } from '@angular/core';\n\nimport { CUI_DIALOG_CONTEXT } from './dialog.tokens';\n\n@Component({\n selector: 'cui-dialog',\n templateUrl: './dialog.template.html',\n styleUrls: ['./dialog.style.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class CuiDialogComponent {\n protected readonly context = inject(CUI_DIALOG_CONTEXT);\n\n protected get isContentTemplateRef(): boolean {\n return this.context.content instanceof TemplateRef;\n }\n\n protected get contentTemplateRef(): TemplateRef<unknown> {\n return this.context.content as TemplateRef<unknown>;\n }\n\n protected get contentType(): Type<unknown> {\n return this.context.content as Type<unknown>;\n }\n\n protected onClose(): void {\n this.context.$implicit.complete();\n }\n}\n","<header *ngIf=\"context.label\" class=\"c-header\">\n <h2 class=\"c-heading\">{{ context.label }}</h2>\n <button\n cuiButton\n appearance=\"ghost\"\n icon=\"cuiIconX\"\n (click)=\"onClose()\"\n ></button>\n</header>\n<div class=\"с-content\">\n <ng-container *ngIf=\"isContentTemplateRef; else contentComponent\">\n <ng-container *ngTemplateOutlet=\"contentTemplateRef\"></ng-container>\n </ng-container>\n <ng-template #contentComponent>\n <ng-container *ngComponentOutlet=\"contentType\"></ng-container>\n </ng-template>\n</div>\n<footer class=\"c-footer\">\n Footer\n</footer>\n","import type { OnInit } from '@angular/core';\nimport { ChangeDetectionStrategy, Component, inject, Injector } from '@angular/core';\nimport type { CuiPopover } from '@cuby-ui/cdk';\nimport { CuiDestroyService } from '@cuby-ui/cdk';\nimport type { Observable } from 'rxjs';\nimport { takeUntil } from 'rxjs';\n\nimport { CUI_DIALOG_CONTEXT, CUI_DIALOGS } from './dialog.tokens';\nimport type { CuiDialogOptions } from './dialog.interfaces';\n\n@Component({\n selector: 'cui-dialogs',\n templateUrl: './dialogs.template.html',\n styleUrls: ['./dialogs.style.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [CuiDestroyService]\n})\nexport class CuiDialogsComponent implements OnInit {\n private readonly destroy$ = inject(CuiDestroyService, { self: true });\n\n protected readonly dialogs$: Observable<ReadonlyArray<CuiPopover<CuiDialogOptions>>> = inject(CUI_DIALOGS);\n protected dialogInjectors!: ReadonlyArray<Injector>;\n\n public ngOnInit(): void {\n this.initDialogInjectorsSubscription();\n }\n\n protected trackByFn(_: number, dialog: CuiPopover<CuiDialogOptions>): string {\n return dialog.id;\n }\n\n protected initDialogInjectorsSubscription(): void {\n this.dialogs$\n .pipe(takeUntil(this.destroy$))\n .subscribe(dialogs => this.dialogInjectors = dialogs.map(useValue => Injector.create({\n providers: [{ provide: CUI_DIALOG_CONTEXT, useValue }]\n })));\n }\n}\n","<ng-container *ngIf=\"dialogs$ | async as dialogs\">\n <div\n *ngIf=\"dialogs.length\"\n class=\"c-overlay\"\n ></div>\n <ng-container *ngFor=\"let dialog of dialogs; let i = index; trackBy: trackByFn\">\n <ng-container *ngComponentOutlet=\"dialog.component; injector: dialogInjectors[i]\"></ng-container>\n </ng-container>\n</ng-container>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { CuiDialogComponent } from './dialog.component';\nimport { CuiDialogsComponent } from './dialogs.component';\nimport { CuiButtonModule } from '../button';\n\n@NgModule({\n imports: [\n CommonModule,\n CuiButtonModule\n ],\n declarations: [\n CuiDialogComponent,\n CuiDialogsComponent\n ],\n exports: [\n CuiDialogComponent,\n CuiDialogsComponent\n ]\n})\nexport class CuiDialogModule {\n}\n","import { inject, Injectable } from '@angular/core';\nimport { CuiPopoverService } from '@cuby-ui/cdk';\n\nimport { CUI_DIALOG_OPTIONS, CUI_DIALOGS } from './dialog.tokens';\nimport { CuiDialogComponent } from './dialog.component';\nimport type { CuiDialogOptions } from './dialog.interfaces';\n\n@Injectable({\n providedIn: 'root',\n useFactory: () => new CuiDialogService(CUI_DIALOGS, CuiDialogComponent, inject(CUI_DIALOG_OPTIONS))\n})\nexport class CuiDialogService extends CuiPopoverService<CuiDialogOptions> {\n}\n","import type { CuiIcon } from '@cuby-ui/icons';\n\nimport type { CuiTextFieldSizeDirective } from './text-field-size.directive';\nimport type { CuiTextFieldIdDirective } from './text-field-id.directive';\nimport type { CuiTextFieldIconLeftDirective } from './text-field-icon-left.directive';\nimport type { CuiTextFieldPlaceholderDirective } from './text-field-placeholder.directive';\nimport type { CuiTextFieldIsErrorDirective } from './text-field-is-error.directive';\nimport type { CuiSizeMd, CuiSizeSm } from '../../types';\n\nexport class CuiTextFieldController {\n constructor(private readonly iconLeftDirective: CuiTextFieldIconLeftDirective,\n private readonly idDirective: CuiTextFieldIdDirective,\n private readonly isErrorDirective: CuiTextFieldIsErrorDirective,\n private readonly placeholderDirective: CuiTextFieldPlaceholderDirective,\n private readonly sizeDirective: CuiTextFieldSizeDirective) {\n }\n\n public get iconLeft(): CuiIcon | string | undefined {\n return this.iconLeftDirective.iconLeft;\n }\n\n public get id(): string | undefined {\n return this.idDirective.id;\n }\n\n public get isError(): boolean {\n return this.isErrorDirective.isError;\n }\n\n public get placeholder(): string | undefined {\n return this.placeholderDirective.placeholder;\n }\n\n public get size(): CuiSizeSm | CuiSizeMd {\n return this.sizeDirective.size;\n }\n}\n","import { Directive, InjectionToken, Input } from '@angular/core';\nimport { cuiProvide } from '@cuby-ui/cdk';\nimport type { CuiIcon } from '@cuby-ui/icons';\n\nexport const CUI_TEXT_FIELD_ICON_LEFT = new InjectionToken<CuiTextFieldIconLeftDirective>('', {\n factory: () => new CuiTextFieldIconLeftDirective()\n});\n\n@Directive({\n selector: '[cuiTextFieldIconLeft]',\n providers: [cuiProvide(CUI_TEXT_FIELD_ICON_LEFT, CuiTextFieldIconLeftDirective)]\n})\nexport class CuiTextFieldIconLeftDirective {\n @Input('cuiTextFieldIconLeft')\n public iconLeft?: CuiIcon | string;\n}\n","import { Directive, InjectionToken, Input } from '@angular/core';\nimport { cuiProvide } from '@cuby-ui/cdk';\n\nexport const CUI_TEXT_FIELD_ID = new InjectionToken<CuiTextFieldIdDirective>('', {\n factory: () => new CuiTextFieldIdDirective()\n});\n\n@Directive({\n selector: '[cuiTextFieldId]',\n providers: [cuiProvide(CUI_TEXT_FIELD_ID, CuiTextFieldIdDirective)]\n})\nexport class CuiTextFieldIdDirective {\n @Input('cuiTextFieldId')\n public id?: string;\n}\n","import { Directive, InjectionToken, Input } from '@angular/core';\nimport { cuiProvide } from '@cuby-ui/cdk';\n\nexport const CUI_TEXT_FIELD_IS_ERROR = new InjectionToken<CuiTextFieldIsErrorDirective>('', {\n factory: () => new CuiTextFieldIsErrorDirective()\n});\n\n@Directive({\n selector: '[cuiTextFieldIsError]',\n providers: [cuiProvide(CUI_TEXT_FIELD_IS_ERROR, CuiTextFieldIsErrorDirective)]\n})\nexport class CuiTextFieldIsErrorDirective {\n @Input('cuiTextFieldIsError')\n public isError = false;\n}\n","import { Directive, InjectionToken, Input } from '@angular/core';\nimport { cuiProvide } from '@cuby-ui/cdk';\n\nexport const CUI_TEXT_FIELD_PLACEHOLDER = new InjectionToken<CuiTextFieldPlaceholderDirective>('', {\n factory: () => new CuiTextFieldPlaceholderDirective()\n});\n\n@Directive({\n selector: '[cuiTextFieldPlaceholder]',\n providers: [cuiProvide(CUI_TEXT_FIELD_PLACEHOLDER, CuiTextFieldPlaceholderDirective)]\n})\nexport class CuiTextFieldPlaceholderDirective {\n @Input('cuiTextFieldPlaceholder')\n public placeholder?: string;\n}\n","import { Directive, InjectionToken, Input } from '@angular/core';\nimport { cuiProvide } from '@cuby-ui/cdk';\n\nimport type { CuiSizeMd, CuiSizeSm } from '../../types';\n\nexport const CUI_TEXT_FIELD_SIZE = new InjectionToken<CuiTextFieldSizeDirective>('', {\n factory: () => new CuiTextFieldSizeDirective()\n});\n\n@Directive({\n selector: '[cuiTextFieldSize]',\n providers: [cuiProvide(CUI_TEXT_FIELD_SIZE, CuiTextFieldSizeDirective)]\n})\nexport class CuiTextFieldSizeDirective {\n @Input('cuiTextFieldSize')\n public size: CuiSizeSm | CuiSizeMd = 'sm';\n}\n","import { NgModule } from '@angular/core';\n\nimport { CuiTextFieldIconLeftDirective } from './text-field-icon-left.directive';\nimport { CuiTextFieldIdDirective } from './text-field-id.directive';\nimport { CuiTextFieldIsErrorDirective } from './text-field-is-error.directive';\nimport { CuiTextFieldPlaceholderDirective } from './text-field-placeholder.directive';\nimport { CuiTextFieldSizeDirective } from './text-field-size.directive';\n\n@NgModule({\n declarations: [\n CuiTextFieldIconLeftDirective,\n CuiTextFieldIdDirective,\n CuiTextFieldPlaceholderDirective,\n CuiTextFieldIsErrorDirective,\n CuiTextFieldSizeDirective\n ],\n exports: [\n CuiTextFieldIconLeftDirective,\n CuiTextFieldIdDirective,\n CuiTextFieldPlaceholderDirective,\n CuiTextFieldIsErrorDirective,\n CuiTextFieldSizeDirective\n ]\n})\nexport class CuiTextFieldControllerModule {\n}\n","import { InjectionToken, Provider } from '@angular/core';\n\nimport { CuiTextFieldController } from './text-field.controller';\n\nimport { CUI_TEXT_FIELD_SIZE } from './text-field-size.directive';\nimport type { CuiTextFieldSizeDirective } from './text-field-size.directive';\nimport { CUI_TEXT_FIELD_ID } from './text-field-id.directive';\nimport type { CuiTextFieldIdDirective } from './text-field-id.directive';\nimport { CUI_TEXT_FIELD_IS_ERROR } from './text-field-is-error.directive';\nimport type { CuiTextFieldIsErrorDirective } from './text-field-is-error.directive';\nimport { CUI_TEXT_FIELD_PLACEHOLDER } from './text-field-placeholder.directive';\nimport type { CuiTextFieldPlaceholderDirective } from './text-field-placeholder.directive';\nimport { CUI_TEXT_FIELD_ICON_LEFT } from './text-field-icon-left.directive';\nimport type { CuiTextFieldIconLeftDirective } from './text-field-icon-left.directive';\n\nexport const CUI_TEXT_FIELD_CONTROLLER = new InjectionToken<CuiTextFieldController>('');\n\nexport const CUI_TEXT_FILED_CONTROLLER_PROVIDER: Provider = [\n {\n provide: CUI_TEXT_FIELD_CONTROLLER,\n useFactory: (...controllers: [\n CuiTextFieldIconLeftDirective,\n CuiTextFieldIdDirective,\n CuiTextFieldIsErrorDirective,\n CuiTextFieldPlaceholderDirective,\n CuiTextFieldSizeDirective\n ]) => {\n return new CuiTextFieldController(...controllers);\n },\n deps: [\n CUI_TEXT_FIELD_ICON_LEFT,\n CUI_TEXT_FIELD_ID,\n CUI_TEXT_FIELD_IS_ERROR,\n CUI_TEXT_FIELD_PLACEHOLDER,\n CUI_TEXT_FIELD_SIZE\n ]\n }\n];\n","import type { ElementRef, OnDestroy, OnInit } from '@angular/core';\nimport {\n ChangeDetectionStrategy,\n Component,\n Input,\n ViewChild\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { cuiProvide } from '@cuby-ui/cdk';\nimport Quill from 'quill';\n\nimport { CUI_TEXT_FILED_CONTROLLER_PROVIDER } from '../../directives';\n\n// TODO: Будет переделан дизайн\n@Component({\n selector: 'cui-editor',\n templateUrl: './editor.template.html',\n styleUrls: ['./editor.style.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n CUI_TEXT_FILED_CONTROLLER_PROVIDER,\n cuiProvide(NG_VALUE_ACCESSOR, CuiEditorComponent, true),\n ]\n})\nexport class CuiEditorComponent implements ControlValueAccessor, OnInit, OnDestroy {\n protected readonly ICONS = {\n align: {\n '': `\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M7.5 3.75H16.25V5H7.5V3.75ZM7.5 7.5H13.75V8.75H7.5V7.5ZM7.5 11.25H16.25V12.5H7.5V11.25ZM7.5 15H13.75V16.25H7.5V15ZM3.75 2.5H5V17.5H3.75V2.5Z\" fill=\"currentColor\"/>\n </svg>\n `,\n center: `\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 32 32\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M6 6H26V8H6V6ZM10 12H22V14H10V12ZM6 18H26V20H6V18ZM10 24H22V26H10V24Z\" fill=\"currentColor\"/>\n </svg>\n `,\n justify: `\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 32 32\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M6 6H26V8H6V6ZM6 12H26V14H6V12ZM6 18H26V20H6V18ZM6 24H26V26H6V24Z\" fill=\"currentColor\"/>\n </svg>\n `,\n right: `\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 32 32\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M6 6H20V8H6V6ZM10 12H20V14H10V12ZM6 18H20V20H6V18ZM10 24H20V26H10V24ZM24 4H26V28H24V4Z\" fill=\"currentColor\"/>\n </svg>\n `\n },\n bold: `\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M11.4062 15.625H5.625V4.375H10.9375C11.5639 4.37504 12.1771 4.55435 12.7048 4.89174C13.2325 5.22914 13.6526 5.71052 13.9155 6.27903C14.1784 6.84754 14.2731 7.47942 14.1884 8.10001C14.1037 8.72061 13.8431 9.30399 13.4375 9.78125C13.9673 10.205 14.3528 10.7825 14.5408 11.4344C14.7289 12.0862 14.7102 12.7803 14.4875 13.4211C14.2647 14.0619 13.8488 14.6179 13.297 15.0126C12.7452 15.4073 12.0847 15.6213 11.4062 15.625ZM7.5 13.75H11.3937C11.5784 13.75 11.7613 13.7136 11.9319 13.643C12.1025 13.5723 12.2575 13.4687 12.3881 13.3381C12.5187 13.2075 12.6223 13.0525 12.693 12.8819C12.7636 12.7113 12.8 12.5284 12.8 12.3438C12.8 12.1591 12.7636 11.9762 12.693 11.8056C12.6223 11.635 12.5187 11.48 12.3881 11.3494C12.2575 11.2188 12.1025 11.1152 11.9319 11.0445C11.7613 10.9739 11.5784 10.9375 11.3937 10.9375H7.5V13.75ZM7.5 9.0625H10.9375C11.1222 9.0625 11.305 9.02613 11.4756 8.95546C11.6463 8.88478 11.8013 8.7812 11.9319 8.65062C12.0625 8.52004 12.166 8.36501 12.2367 8.1944C12.3074 8.02378 12.3438 7.84092 12.3438 7.65625C12.3438 7.47158 12.3074 7.28872 12.2367 7.1181C12.166 6.94749 12.0625 6.79246 11.9319 6.66188C11.8013 6.5313 11.6463 6.42772 11.4756 6.35704C11.305 6.28637 11.1222 6.25 10.9375 6.25H7.5V9.0625Z\" fill=\"currentColor\"/>\n </svg>\n `,\n italic: `\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M15.625 5.625V4.375H7.5V5.625H10.7125L7.98125 14.375H4.375V15.625H12.5V14.375H9.2875L12.0187 5.625H15.625Z\" fill=\"currentColor\"/>\n </svg>\n `,\n underline: `\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M2.5 16.25H17.5V17.5H2.5V16.25ZM10 14.375C8.83968 14.375 7.72688 13.9141 6.90641 13.0936C6.08594 12.2731 5.625 11.1603 5.625 10V3.125H6.875V10C6.875 10.8288 7.20424 11.6237 7.79029 12.2097C8.37634 12.7958 9.1712 13.125 10 13.125C10.8288 13.125 11.6237 12.7958 12.2097 12.2097C12.7958 11.6237 13.125 10.8288 13.125 10V3.125H14.375V10C14.375 11.1603 13.9141 12.2731 13.0936 13.0936C12.2731 13.9141 11.1603 14.375 10 14.375Z\" fill=\"currentColor\"/>\n </svg>\n `,\n strike: `\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M17.5 9.37538H11.2225C10.945 9.30076 10.6662 9.23096 10.3863 9.16601C8.63125 8.75101 7.63875 8.44726 7.63875 7.02663C7.6245 6.78139 7.66081 6.53584 7.74542 6.30522C7.83004 6.0746 7.96115 5.86384 8.13062 5.68601C8.6615 5.24944 9.32644 5.00889 10.0137 5.00476C11.7825 4.96101 12.5981 5.56101 13.265 6.47351L14.2744 5.73601C13.8019 5.05748 13.1578 4.51654 12.4078 4.16845C11.6578 3.82036 10.8288 3.6776 10.0056 3.75476C8.99439 3.76121 8.01887 4.12947 7.25563 4.79288C6.96634 5.08632 6.74024 5.4359 6.59125 5.82008C6.44227 6.20426 6.37356 6.61488 6.38937 7.02663C6.36197 7.47718 6.4466 7.92751 6.63572 8.33737C6.82483 8.74723 7.11254 9.10385 7.47312 9.37538H2.5V10.6254H11.0325C12.2619 10.9816 12.9969 11.4454 13.0156 12.7241C13.0359 12.9973 12.9985 13.2717 12.9056 13.5294C12.8128 13.7871 12.6667 14.0223 12.4769 14.2198C11.8155 14.7411 10.9938 15.017 10.1519 15.0004C9.52345 14.9822 8.90738 14.8213 8.35029 14.5299C7.7932 14.2385 7.30966 13.8243 6.93625 13.3185L5.97812 14.121C6.46358 14.768 7.08994 15.2959 7.80972 15.6648C8.52951 16.0338 9.32384 16.234 10.1325 16.2504H10.195C11.3492 16.2636 12.4695 15.86 13.35 15.1135C13.6625 14.7984 13.9054 14.4213 14.0632 14.0065C14.2209 13.5917 14.2898 13.1485 14.2656 12.7054C14.289 11.9474 14.0332 11.2072 13.5469 10.6254H17.5V9.37538Z\" fill=\"currentColor\"/>\n </svg>\n `,\n 'code-block': `\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M19.375 10L15 14.375L14.1187 13.4938L17.6063 10L14.1187 6.50625L15 5.625L19.375 10ZM0.625 10L5 5.625L5.88125 6.50625L2.39375 10L5.88125 13.4938L5 14.375L0.625 10Z\" fill=\"currentColor\"/>\n </svg>\n `,\n list: {\n bullet: `\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M4.375 7.5C5.41053 7.5 6.25 6.66053 6.25 5.625C6.25 4.58947 5.41053 3.75 4.375 3.75C3.33947 3.75 2.5 4.58947 2.5 5.625C2.5 6.66053 3.33947 7.5 4.375 7.5Z\" fill=\"currentColor\"/>\n <path d=\"M4.375 16.25C5.41053 16.25 6.25 15.4105 6.25 14.375C6.25 13.3395 5.41053 12.5 4.375 12.5C3.33947 12.5 2.5 13.3395 2.5 14.375C2.5 15.4105 3.33947 16.25 4.375 16.25Z\" fill=\"currentColor\"/>\n <path d=\"M10 13.75H18.75V15H10V13.75ZM10 5H18.75V6.25H10V5Z\" fill=\"currentColor\"/>\n </svg>\n `,\n ordered: `\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M10 13.75H18.75V15H10V13.75ZM10 5H18.75V6.25H10V5ZM5 7.5V2.5H3.75V3.125H2.5V4.375H3.75V7.5H2.5V8.75H6.25V7.5H5ZM6.25 17.5H2.5V15C2.5 14.6685 2.6317 14.3505 2.86612 14.1161C3.10054 13.8817 3.41848 13.75 3.75 13.75H5V12.5H2.5V11.25H5C5.33152 11.25 5.64946 11.3817 5.88388 11.6161C6.1183 11.8505 6.25 12.1685 6.25 12.5V13.75C6.25 14.0815 6.1183 14.3995 5.88388 14.6339C5.64946 14.8683 5.33152 15 5 15H3.75V16.25H6.25V17.5Z\" fill=\"currentColor\"/>\n </svg>\n `,\n },\n link: `\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M18.2813 4.22796C17.9329 3.87836 17.5189 3.60097 17.0631 3.4117C16.6073 3.22243 16.1186 3.125 15.625 3.125C15.1315 3.125 14.6428 3.22243 14.187 3.4117C13.7312 3.60097 13.3172 3.87836 12.9688 4.22796L13.8563 5.11546C14.089 4.88277 14.3652 4.69819 14.6692 4.57227C14.9733 4.44634 15.2991 4.38152 15.6282 4.38152C15.9572 4.38152 16.2831 4.44634 16.5871 4.57227C16.8911 4.69819 17.1674 4.88277 17.4 5.11546C17.6327 5.34814 17.8173 5.62438 17.9432 5.9284C18.0692 6.23242 18.134 6.55826 18.134 6.88733C18.134 7.2164 18.0692 7.54224 17.9432 7.84626C17.8173 8.15028 17.6327 8.42652 17.4 8.65921L12.4 13.6592C11.9309 14.1291 11.2944 14.3935 10.6304 14.3941C9.96638 14.3946 9.32935 14.1314 8.85942 13.6623C8.38949 13.1932 8.12515 12.5567 8.12457 11.8927C8.12398 11.2287 8.38719 10.5916 8.85629 10.1217L9.73754 9.23421L8.85629 8.34671L7.96879 9.23421C7.61919 9.58259 7.3418 9.99657 7.15253 10.4524C6.96326 10.9082 6.86583 11.3969 6.86583 11.8905C6.86583 12.384 6.96326 12.8727 7.15253 13.3285C7.3418 13.7843 7.61919 14.1983 7.96879 14.5467C8.67597 15.2448 9.63134 15.6337 10.625 15.628C11.1205 15.63 11.6114 15.5338 12.0695 15.345C12.5276 15.1562 12.9437 14.8785 13.2938 14.528L18.2938 9.52796C18.9944 8.82317 19.3866 7.86912 19.3842 6.87537C19.3819 5.88162 18.9852 4.92943 18.2813 4.22796Z\" fill=\"currentColor\"/>\n <path d=\"M2.61879 15.5155C2.38541 15.2832 2.20022 15.007 2.07386 14.703C1.94749 14.3989 1.88244 14.0729 1.88244 13.7436C1.88244 13.4143 1.94749 13.0883 2.07386 12.7842C2.20022 12.4801 2.38541 12.204 2.61879 11.9717L7.61879 6.97171C7.85109 6.73833 8.1272 6.55314 8.43127 6.42677C8.73534 6.30041 9.06138 6.23536 9.39067 6.23536C9.71995 6.23536 10.046 6.30041 10.3501 6.42677C10.6541 6.55314 10.9302 6.73833 11.1625 6.97171C11.3944 7.20583 11.577 7.48412 11.6994 7.79009C11.8218 8.09606 11.8815 8.42348 11.875 8.75296C11.8769 9.08346 11.8133 9.41106 11.6878 9.71681C11.5623 10.0226 11.3774 10.3004 11.1438 10.5342L9.81879 11.878L10.7063 12.7655L12.0313 11.4405C12.7366 10.7351 13.1328 9.77854 13.1328 8.78108C13.1328 7.78362 12.7366 6.82702 12.0313 6.12171C11.326 5.4164 10.3694 5.02016 9.37192 5.02016C8.37446 5.02016 7.41785 5.4164 6.71254 6.12171L1.71254 11.1217C1.362 11.4702 1.08382 11.8846 0.893994 12.341C0.704168 12.7974 0.606445 13.2868 0.606445 13.7811C0.606445 14.2754 0.704168 14.7648 0.893994 15.2212C1.08382 15.6776 1.362 16.092 1.71254 16.4405C2.42431 17.1333 3.38185 17.5154 4.37504 17.503C5.37698 17.5039 6.33862 17.1085 7.05004 16.403L6.16254 15.5155C5.93025 15.7488 5.65413 15.934 5.35006 16.0604C5.04599 16.1868 4.71995 16.2518 4.39067 16.2518C4.06138 16.2518 3.73534 16.1868 3.43127 16.0604C3.1272 15.934 2.85109 15.7488 2.61879 15.5155Z\" fill=\"currentColor\"/>\n </svg>\n `,\n image: `\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M11.875 8.75C12.2458 8.75 12.6084 8.64003 12.9167 8.43401C13.225 8.22798 13.4654 7.93514 13.6073 7.59253C13.7492 7.24992 13.7863 6.87292 13.714 6.50921C13.6416 6.14549 13.463 5.8114 13.2008 5.54917C12.9386 5.28695 12.6045 5.10837 12.2408 5.03603C11.8771 4.96368 11.5001 5.00081 11.1575 5.14273C10.8149 5.28464 10.522 5.52496 10.316 5.83331C10.11 6.14165 10 6.50416 10 6.875C10 7.37228 10.1975 7.84919 10.5492 8.20083C10.9008 8.55246 11.3777 8.75 11.875 8.75ZM11.875 6.25C11.9986 6.25 12.1195 6.28666 12.2222 6.35533C12.325 6.42401 12.4051 6.52162 12.4524 6.63582C12.4997 6.75003 12.5121 6.87569 12.488 6.99693C12.4639 7.11817 12.4044 7.22953 12.3169 7.31694C12.2295 7.40435 12.1182 7.46388 11.9969 7.48799C11.8757 7.51211 11.75 7.49973 11.6358 7.45243C11.5216 7.40512 11.424 7.32501 11.3553 7.22223C11.2867 7.11945 11.25 6.99861 11.25 6.875C11.25 6.70924 11.3158 6.55027 11.4331 6.43306C11.5503 6.31585 11.7092 6.25 11.875 6.25Z\" fill=\"currentColor\"/>\n <path d=\"M16.25 2.5H3.75C3.41848 2.5 3.10054 2.6317 2.86612 2.86612C2.6317 3.10054 2.5 3.41848 2.5 3.75V16.25C2.5 16.5815 2.6317 16.8995 2.86612 17.1339C3.10054 17.3683 3.41848 17.5 3.75 17.5H16.25C16.5815 17.5 16.8995 17.3683 17.1339 17.1339C17.3683 16.8995 17.5 16.5815 17.5 16.25V3.75C17.5 3.41848 17.3683 3.10054 17.1339 2.86612C16.8995 2.6317 16.5815 2.5 16.25 2.5ZM16.25 16.25H3.75V12.5L6.875 9.375L10.3688 12.8687C10.603 13.1016 10.9198 13.2322 11.25 13.2322C11.5802 13.2322 11.897 13.1016 12.1313 12.8687L13.125 11.875L16.25 15V16.25ZM16.25 13.2312L14.0063 10.9875C13.772 10.7547 13.4552 10.624 13.125 10.624C12.7948 10.624 12.478 10.7547 12.2437 10.9875L11.25 11.9812L7.75625 8.4875C7.52205 8.25469 7.20523 8.12401 6.875 8.12401C6.54477 8.12401 6.22795 8.25469 5.99375 8.4875L3.75 10.7312V3.75H16.25V13.2312Z\" fill=\"currentColor\"/>\n </svg>\n `\n };\n\n protected _readonly = false;\n protected focusListener!: () => void;\n protected quill?: Quill;\n\n @Input()\n public set readonly(value: boolean) {\n // this._readonly = value;\n //\n // if (!this.quill) {\n // return;\n // }\n //\n // if (this._readonly) {\n // this.quill.disable();\n //\n // return;\n // }\n //\n // this.quill.enable();\n }\n\n @ViewChild('editor', { static: true })\n protected editor!: ElementRef<HTMLDivElement>;\n\n public writeValue(obj: any): void {\n }\n\n public registerOnChange(fn: any): void {\n }\n\n public registerOnTouched(fn: any): void {\n }\n\n public setDisabledState(isDisabled: boolean): void {\n }\n\n public ngOnInit(): void {\n this.initIcons();\n this.initQuill();\n this.initInputListener();\n this.initFocusListener();\n }\n\n public ngOnDestroy(): void {\n this.destroyFocusListener();\n }\n\n private initIcons(): void {\n const icons = Quill.import('ui/icons');\n\n Object.entries(this.ICONS).forEach(([key, value]) => icons[key] = value);\n }\n\n private initQuill(): void {\n this.quill = new Quill(this.editor.nativeElement, {\n theme: 'snow',\n modules: {\n toolbar: [\n [{ 'header': [false, 1, 2, 3] }],\n [{ align: [] }],\n ['bold', 'italic', 'underline', 'strike', 'code-block'],\n [{ list: 'bullet' }, { list: 'ordered'}],\n ['link', 'image']\n ]\n },\n readOnly: this._readonly,\n placeholder: 'Write a description'\n });\n }\n\n private initInputListener(): void {\n this.quill!.on('text-change', () => {\n console.log(this.quill!.getText());\n console.log(this.quill?.getContents())\n });\n }\n\n private initFocusListener(): void {\n this.focusListener = () => this.quill!.focus();\n\n this.editor.nativeElement.addEventListener('click', this.focusListener);\n }\n\n private destroyFocusListener(): void {\n this.editor.nativeElement.removeEventListener('click', this.focusListener);\n }\n}\n","<div #editor></div>\n","import { NgModule } from '@angular/core';\n\nimport { CuiEditorComponent } from './editor.component';\n\n@NgModule({\n declarations: [CuiEditorComponent],\n exports: [CuiEditorComponent]\n})\nexport class CuiEditorModule {\n}\n","import { ChangeDetectionStrategy, Component, HostBinding, Input } from '@angular/core';\n\nimport type { CuiHintType } from '../../types';\n\n@Component({\n selector: 'cui-hint',\n templateUrl: './hint.template.html',\n styleUrls: ['./hint.style.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class CuiHintComponent {\n @Input()\n @HostBinding('attr.data-hint-type')\n public hintType: CuiHintType = 'info';\n}\n","<ng-content></ng-content>\n","import { NgModule } from '@angular/core';\n\nimport { CuiHintComponent } from './hint.component';\n\n@NgModule({\n declarations: [CuiHintComponent],\n exports: [CuiHintComponent]\n})\nexport class CuiHintModule {\n}\n","import { ChangeDetectionStrategy, Component, HostBinding, Input } from '@angular/core';\nimport type { CuiIcon } from '@cuby-ui/icons';\n\n@Component({\n selector: 'button[cuiIconButton][icon], a[cuiIconButton][icon]',\n templateUrl: './icon-button.template.html',\n styleUrls: ['./icon-button.style.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class CuiIconButtonComponent {\n protected readonly ICON_WIDTH = 16;\n protected readonly ICON_HEIGHT = 16;\n protected readonly ICON_STROKE_WIDTH = 1.5;\n\n @Input()\n public icon!: CuiIcon | string;\n\n @Input()\n public color?: string;\n\n @Input()\n @HostBinding('style.--icon-hover-color')\n public hoverColor?: string;\n\n @HostBinding('class._with-hover-color')\n protected get isWithHoverColor(): boolean {\n return !!this.hoverColor;\n }\n}\n","<cui-svg\n [icon]=\"icon\"\n [width]=\"ICON_WIDTH\"\n [height]=\"ICON_HEIGHT\"\n [color]=\"color\"\n [strokeWidth]=\"ICON_STROKE_WIDTH\"\n class=\"c-icon\"\n></cui-svg>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { CuiIconButtonComponent } from './icon-button.component';\nimport { CuiSvgModule } from '../svg';\n\n@NgModule({\n imports: [\n CommonModule,\n CuiSvgModule\n ],\n declarations: [CuiIconButtonComponent],\n exports: [CuiIconButtonComponent]\n})\nexport class CuiIconButtonModule {\n}\n","import { InjectionToken } from '@angular/core';\n\nexport interface CuiInputNumberOptions {\n readonly min: number;\n readonly max: number;\n readonly step: number;\n readonly precision: number;\n}\n\nexport const CUI_INPUT_NUMBER_DEFAULT_OPTIONS: CuiInputNumberOptions = {\n min: -Infinity,\n max: Infinity,\n step: 1,\n precision: 3\n};\n\nexport const CUI_INPUT_NUMBER_OPTIONS = new InjectionToken('', {\n factory: () => CUI_INPUT_NUMBER_DEFAULT_OPTIONS\n});\n\n","export function cuiRemoveSpaces(value: string): string {\n return value.replace(/\\s+/g, '');\n}\n","export function cuiReplace(value: string, search: string, replace: string): string {\n const regex = new RegExp(search.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&'), 'g');\n\n return value.replace(regex, replace);\n}\n","import type { ElementRef } from '@angular/core';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n HostBinding,\n HostListener,\n inject,\n Input,\n ViewChild\n} from '@angular/core';\nimport type { ControlValueAccessor } from '@angular/forms';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport type { CuiNullable, CuiOnChange, CuiOnTouched } from '@cuby-ui/cdk';\nimport { cuiProvide } from '@cuby-ui/cdk';\nimport type { CuiIcon } from '@cuby-ui/icons';\n\nimport { CUI_INPUT_NUMBER_OPTIONS, CuiInputNumberOptions } from './input-number.options';\nimport { cuiRemoveSpaces, cuiReplace } from '../../utils';\nimport { CuiSizeMd, CuiSizeSm } from '../../types';\nimport { CUI_TEXT_FIELD_CONTROLLER, CUI_TEXT_FILED_CONTROLLER_PROVIDER } from '../../directives';\n\n@Component({\n selector: 'cui-input-number',\n templateUrl: './input-number.template.html',\n styleUrls: ['./input-number.style.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n CUI_TEXT_FILED_CONTROLLER_PROVIDER,\n cuiProvide(NG_VALUE_ACCESSOR, CuiInputNumberComponent, true),\n ]\n})\nexport class CuiInputNumberComponent implements CuiInputNumberOptions, ControlValueAccessor {\n private readonly changeDetectorRef = inject(ChangeDetectorRef);\n private readonly cuiTextFieldController = inject(CUI_TEXT_FIELD_CONTROLLER);\n private readonly cuiInputNumberOptions = inject(CUI_INPUT_NUMBER_OPTIONS);\n\n protected readonly MIN_JS_NUMBER = -(2 ** 53);\n protected readonly MAX_JS_NUMBER = 2 ** 53;\n protected readonly INPUT_VALUE_REGEX = /^-?[\\d\\s]*(,\\d*)?$/;\n protected readonly INTERVAL_BETWEEN_SPACES = 3;\n\n protected formattedValue = '';\n protected _min = this.calculateValidMinValue(this.cuiInputNumberOptions.min);\n protected _max = this.calculateValidMaxValue(this.cuiInputNumberOptions.max);\n protected value!: CuiNullable<string>;\n protected onChange!: CuiOnChange<number>;\n protected onTouched!: CuiOnTouched;\n\n @Input()\n public step = this.cuiInputNumberOptions.step;\n\n @Input()\n public precision = this.cuiInputNumberOptions.precision;\n\n @Input()\n public set min(min: number) {\n this._min = this.calculateValidMinValue(min);\n }\n\n @Input()\n public set max(max: number) {\n this._max = this.calculateValidMaxValue(max);\n }\n\n @HostBinding('class._disabled')\n protected isDisabled!: boolean;\n\n @ViewChild('input')\n protected input!: ElementRef<HTMLInputElement>;\n\n protected get id(): string | undefined {\n return this.cuiTextFieldController.id;\n }\n\n protected get placeholder(): string | undefined {\n return this.cuiTextFieldController.placeholder;\n }\n\n protected get iconLeft(): CuiIcon | string | undefined {\n return this.cuiTextFieldController.iconLeft;\n }\n\n @HostBinding('attr.data-size')\n protected get size(): CuiSizeSm | CuiSizeMd {\n return this.cuiTextFieldController.size;\n }\n\n @HostBinding('class._with-error')\n protected get isError(): boolean {\n return this.cuiTextFieldController.isError;\n }\n\n public writeValue(value: CuiNullable<number>): void {\n this.value = value?.toString() ?? null;\n this.formattedValue = this.formatValue(this.value);\n\n this.changeDetectorRef.markForCheck();\n }\n\n public registerOnChange(fn: CuiOnChange<number>): void {\n this.onChange = fn;\n }\n\n public registerOnTouched(fn: CuiOnTouched): void {\n this.onTouched = fn;\n }\n\n public setDisabledState(isDisabled: boolean): void {\n this.isDisabled = isDisabled;\n\n this.changeDetectorRef.markForCheck();\n }\n\n protected onInput(event: Event): void {\n const eventTarget = event.target as HTMLInputElement;\n const targetValue = eventTarget.value;\n const selectionStart = this.input.nativeElement.selectionStart ?? 0;\n const previousFormattedValue = this.formattedValue;\n\n if (this.isInputValueCorrect(targetValue)) {\n const parsedValue = this.parseValue(targetValue);\n\n this.changeModel(parsedValue);\n }\n\n this.formattedValue = this.formatValue(this.value);\n eventTarget.value = this.formattedValue;\n\n const currentCaretPosition = selectionStart\n + (this.formattedValue.length - previousFormattedValue.length === 2 ? 1 : 0);\n\n this.input.nativeElement.setSelectionRange(currentCaretPosition, currentCaretPosition);\n }\n\n protected onArrowUp(): void {\n this.increaseByStep();\n }\n\n protected onArrowDown(): void {\n this.decreaseByStep();\n }\n\n @HostListener('click')\n protected onFocus(): void {\n this.input.nativeElement.focus();\n }\n\n private isInputValueCorrect(inputValue: string): boolean {\n return this.INPUT_VALUE_REGEX.test(inputValue) && this.isInputValueValid(inputValue);\n }\n\n private isInputValueValid(inputValue: string): boolean {\n const [, fractionPart = ''] = inputValue.split(',');\n\n return this.isNumberValid(inputValue) && this.isPrecisionCountCorrect(fractionPart);\n }\n\n private isNumberValid(inputValue: string): boolean {\n if (inputValue === '-' && this._min > 0) {\n return false;\n }\n\n if (inputValue === ',' || inputValue === '-' || inputValue === '-,' || inputValue === '') {\n return true;\n }\n\n const convertedValue = +cuiReplace(\n cuiRemoveSpaces(inputValue),\n ',',\n '.'\n );\n\n return convertedValue <= this._max && convertedValue >= this._min;\n }\n\n private isPrecisionCountCorrect(fractionPart = ''): boolean {\n return fractionPart.length <= this.precision;\n }\n\n private parseValue(inputValue: string): string {\n const valueWithoutSpaces = cuiRemoveSpaces(inputValue);\n\n switch (valueWithoutSpaces) {\n case ',':\n return '0.';\n\n case '-,':\n return '-0.';\n\n default:\n return cuiReplace(valueWithoutSpaces, ',', '.');\n }\n }\n\n private formatValue(value: CuiNullable<string>): string {\n if (!value) {\n return '';\n }\n\n const [integerPart, fractionPart] = value.split('.');\n let formattedInteger = this.insertSpacesWithInterval(integerPart) || '0';\n\n if (fractionPart !== undefined && integerPart.startsWith('-') && !formattedInteger.slice(1)) {\n formattedInteger = '-0';\n }\n\n return fractionPart !== undefined ? `${formattedInteger},${fractionPart}` : formattedInteger;\n }\n\n private insertSpacesWithInterval(value: string): string {\n const regex = new RegExp(`\\\\B(?=(\\\\d{${this.INTERVAL_BETWEEN_SPACES}})+(?!\\\\d))`, 'g');\n\n return value.replace(regex, ' ');\n }\n\n private changeModel(value: string): void {\n this.value = value;\n\n this.onChange(value === '-' ? 0 : +value);\n }\n\n private increaseByStep(): void {\n const value = this.value === '-'\n ? this.step\n : (+(Number(this.value) + this.step).toFixed(this.precision));\n\n if (value > this._max) {\n return;\n }\n\n const convertedValue = value.toString();\n\n this.formattedValue = this.formatValue(convertedValue);\n\n this.changeModel(convertedValue);\n }\n\n private decreaseByStep(): void {\n const value = this.value === '-'\n ? -this.step\n : (+(Number(this.value) - this.step).toFixed(this.precision));\n\n if (value < this._min) {\n return;\n }\n\n const convertedValue = value.toString();\n\n this.formattedValue = this.formatValue(convertedValue);\n\n this.changeModel(convertedValue);\n }\n\n private calculateValidMinValue(initialValue: number): number {\n return initialValue >= this.MIN_JS_NUMBER\n ? initialValue\n : this.MIN_JS_NUMBER;\n }\n\n private calculateValidMaxValue(initialValue: number): number {\n return initialValue <= this.MAX_JS_NUMBER\n ? initialValue\n : this.MAX_JS_NUMBER;\n }\n}\n","<cui-svg\n *ngIf=\"iconLeft\"\n [icon]=\"iconLeft\"\n></cui-svg>\n<input\n #input\n [ngModel]=\"formattedValue\"\n [attr.id]=\"id\"\n [attr.placeholder]=\"placeholder\"\n type=\"text\"\n [disabled]=\"isDisabled\"\n class=\"c-input\"\n (input)=\"onInput($event)\"\n (focus)=\"onTouched()\"\n (keydown.arrowUp)=\"onArrowUp()\"\n (keydown.arrowDown)=\"onArrowDown()\"\n>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\n\nimport { CuiInputNumberComponent } from './input-number.component';\nimport { CuiSvgModule } from '../svg';\nimport { CuiTextFieldControllerModule } from '../../directives';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n CuiSvgModule\n ],\n declarations: [CuiInputNumberComponent],\n exports: [\n CuiInputNumberComponent,\n CuiTextFieldControllerModule\n ]\n})\nexport class CuiInputNumberModule {\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n HostBinding,\n inject\n} from '@angular/core';\nimport type { ControlValueAccessor } from '@angular/forms';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport type { CuiInputType, CuiNullable, CuiOnChange, CuiOnTouched } from '@cuby-ui/cdk';\nimport { cuiProvide } from '@cuby-ui/cdk';\nimport type { CuiIcon } from '@cuby-ui/icons';\n\nimport { CUI_TEXT_FIELD_CONTROLLER, CUI_TEXT_FILED_CONTROLLER_PROVIDER } from '../../directives';\nimport { CuiSizeMd, CuiSizeSm } from '../../types';\n\n@Component({\n selector: 'cui-input-password',\n templateUrl: './input-password.template.html',\n styleUrls: ['./input-password.style.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n CUI_TEXT_FILED_CONTROLLER_PROVIDER,\n cuiProvide(NG_VALUE_ACCESSOR, CuiInputPasswordComponent, true)\n ]\n})\nexport class CuiInputPasswordComponent implements ControlValueAccessor {\n private readonly changeDetectorRef = inject(ChangeDetectorRef);\n private readonly cuiTextFieldController = inject(CUI_TEXT_FIELD_CONTROLLER);\n\n protected isPasswordHidden = true;\n protected value!: CuiNullable<string>;\n protected onChange!: CuiOnChange<string>;\n protected onTouched!: CuiOnTouched;\n\n @HostBinding('class._disabled')\n protected isDisabled!: boolean;\n\n protected get id(): string | undefined {\n return this.cuiTextFieldController.id;\n }\n\n protected get placeholder(): string | undefined {\n return this.cuiTextFieldController.placeholder;\n }\n\n protected get iconLeft(): CuiIcon | string | undefined {\n return this.cuiTextFieldController.iconLeft;\n }\n\n protected get isToggleButtonShown(): boolean {\n return !this.isDisabled;\n }\n\n protected get icon(): CuiIcon {\n return this.isPasswordHidden ? 'cuiIconEye' : 'cuiIconEyeOff';\n }\n\n protected get type(): CuiInputType {\n return this.isPasswordHidden ? 'password' : 'text';\n }\n\n protected get buttonTitle(): string {\n return this.isPasswordHidden ? 'Reveal password' : 'Hide password';\n }\n\n @HostBinding('attr.data-size')\n protected get size(): CuiSizeSm | CuiSizeMd {\n return this.cuiTextFieldController.size;\n }\n\n @HostBinding('class._with-error')\n protected get isError(): boolean {\n return this.cuiTextFieldController.isError;\n }\n\n public writeValue(value: CuiNullable<string>): void {\n this.value = value;\n\n this.changeDetectorRef.markForCheck();\n }\n\n public registerOnChange(fn: CuiOnChange<string>): void {\n this.onChange = fn;\n }\n\n public registerOnTouched(fn: CuiOnTouched): void {\n this.onTouched = fn;\n }\n\n public setDisabledState(isDisabled: boolean): void {\n this.isDisabled = isDisabled;\n\n if (this.isDisabled) {\n this.isPasswordHidden = true;\n }\n\n this.changeDetectorRef.markForCheck();\n }\n\n protected onInput({ target }: Event): void {\n const value = (target as HTMLInputElement).value;\n\n this.value = value;\n\n this.onChange(value);\n }\n\n protected onTogglePasswordVisibility(): void {\n this.isPasswordHidden = !this.isPasswordHidden;\n }\n}\n","<cui-svg\n *ngIf=\"iconLeft\"\n [icon]=\"iconLeft\"\n></cui-svg>\n<input\n [ngModel]=\"value\"\n [attr.id]=\"id\"\n [attr.placeholder]=\"placeholder\"\n [type]=\"type\"\n [disabled]=\"isDisabled\"\n class=\"c-input\"\n (input)=\"onInput($event)\"\n (focus)=\"onTouched()\"\n>\n<button\n *ngIf=\"isToggleButtonShown\"\n [title]=\"buttonTitle\"\n class=\"c-button\"\n (click)=\"onTogglePasswordVisibility()\"\n>\n <cui-svg\n [icon]=\"icon\"\n [width]=\"16\"\n [height]=\"16\"\n ></cui-svg>\n</button>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\n\nimport { CuiInputPasswordComponent } from './input-password.component';\nimport { CuiSvgModule } from '../svg';\nimport { CuiTextFieldControllerModule } from '../../directives';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n CuiSvgModule\n ],\n declarations: [CuiInputPasswordComponent],\n exports: [\n CuiInputPasswordComponent,\n CuiTextFieldControllerModule\n ]\n})\nexport class CuiInputPasswordModule {\n}\n","import type { ElementRef } from '@angular/core';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n HostBinding,\n HostListener,\n inject,\n ViewChild\n} from '@angular/core';\nimport type { ControlValueAccessor } from '@angular/forms';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport type { CuiOnChange, CuiOnTouched, CuiNullable } from '@cuby-ui/cdk';\nimport { cuiProvide } from '@cuby-ui/cdk';\nimport type { CuiIcon } from '@cuby-ui/icons';\n\nimport { CUI_TEXT_FIELD_CONTROLLER, CUI_TEXT_FILED_CONTROLLER_PROVIDER } from '../../directives';\nimport { CuiSizeMd, CuiSizeSm } from '../../types';\n\n@Component({\n selector: 'cui-input-text',\n templateUrl: './input-text.template.html',\n styleUrls: ['./input-text.style.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n CUI_TEXT_FILED_CONTROLLER_PROVIDER,\n cuiProvide(NG_VALUE_ACCESSOR, CuiInputTextComponent, true)\n ]\n})\nexport class CuiInputTextComponent implements ControlValueAccessor {\n private readonly changeDetectorRef = inject(ChangeDetectorRef);\n private readonly cuiTextFieldController = inject(CUI_TEXT_FIELD_CONTROLLER);\n\n protected value!: CuiNullable<string>;\n protected onChange!: CuiOnChange<string>;\n protected onTouched!: CuiOnTouched;\n\n @HostBinding('class._disabled')\n protected isDisabled!: boolean;\n\n @ViewChild('input')\n protected input!: ElementRef<HTMLInputElement>;\n\n protected get id(): string | undefined {\n return this.cuiTextFieldController.id;\n }\n\n protected get placeholder(): string | undefined {\n return this.cuiTextFieldController.placeholder;\n }\n\n protected get iconLeft(): CuiIcon | string | undefined {\n return this.cuiTextFieldController.iconLeft;\n }\n\n protected get isClearButtonShown(): boolean {\n return !!(this.value && !this.isDisabled);\n }\n\n @HostBinding('attr.data-size')\n protected get size(): CuiSizeSm | CuiSizeMd {\n return this.cuiTextFieldController.size;\n }\n\n @HostBinding('class._with-error')\n protected get isError(): boolean {\n return this.cuiTextFieldController.isError;\n }\n\n public writeValue(value: CuiNullable<string>): void {\n this.value = value;\n\n this.changeDetectorRef.markForCheck();\n }\n\n public registerOnChange(fn: CuiOnChange<string>): void {\n this.onChange = fn;\n }\n\n public registerOnTouched(fn: CuiOnTouched): void {\n this.onTouched = fn;\n }\n\n public setDisabledState(isDisabled: boolean): void {\n this.isDisabled = isDisabled;\n\n this.changeDetectorRef.markForCheck();\n }\n\n protected onInput({ target }: Event): void {\n this.changeModel((target as HTMLInputElement).value);\n }\n\n protected onClear(): void {\n this.changeModel('');\n }\n\n @HostListener('click')\n protected onFocus(): void {\n this.input.nativeElement.focus();\n }\n\n private changeModel(value: string): void {\n this.value = value;\n\n this.onChange(value);\n }\n}\n","<cui-svg\n *ngIf=\"iconLeft\"\n [icon]=\"iconLeft\"\n></cui-svg>\n<input\n #input\n [ngModel]=\"value\"\n [attr.id]=\"id\"\n [attr.placeholder]=\"placeholder\"\n type=\"text\"\n [disabled]=\"isDisabled\"\n class=\"c-input\"\n (input)=\"onInput($event)\"\n (focus)=\"onTouched()\"\n>\n<button\n *ngIf=\"isClearButtonShown\"\n class=\"c-button\"\n (click)=\"onClear()\"\n>\n <cui-svg icon=\"cuiIconClear\"></cui-svg>\n</button>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\n\nimport { CuiInputTextComponent } from './input-text.component';\nimport { CuiSvgModule } from '../svg';\nimport { CuiTextFieldControllerModule } from '../../directives';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n CuiSvgModule\n ],\n declarations: [CuiInputTextComponent],\n exports: [\n CuiInputTextComponent,\n CuiTextFieldControllerModule\n ]\n})\nexport class CuiInputModule {\n}\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\n\n@Component({\n selector: 'label[cuiLabel]',\n templateUrl: './label.template.html',\n styleUrls: ['./label.style.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class CuiLabelComponent {\n @Input()\n public isRequired = false;\n}\n","<ng-content></ng-content>\n<span\n *ngIf=\"isRequired\"\n class=\"c-star\"\n>\n *\n</span>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { CuiLabelComponent } from './label.component';\n\n@NgModule({\n imports: [CommonModule],\n declarations: [CuiLabelComponent],\n exports: [CuiLabelComponent]\n})\nexport class CuiLabelModule {\n}\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\n\n@Component({\n selector: 'cui-root',\n templateUrl: './root.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class CuiRootComponent {\n}\n","<ng-content />\n<cui-dialogs />\n<cui-alerts />\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { CuiRootComponent } from './root.component';\nimport { CuiDialogModule } from '../dialog';\nimport { CuiAlertModule } from '../alert';\n\n@NgModule({\n imports: [\n CommonModule,\n CuiDialogModule,\n CuiAlertModule\n ],\n declarations: [CuiRootComponent],\n exports: [CuiRootComponent]\n})\nexport class CuiRootModule {\n}\n","import { ChangeDetectionStrategy, Component, HostBinding, inject, Input } from '@angular/core';\nimport { CuiAutoResizingDirective } from '@cuby-ui/cdk';\n\nimport { CUI_TEXT_FIELD_CONTROLLER, CUI_TEXT_FILED_CONTROLLER_PROVIDER } from '../../directives';\n\n@Component({\n selector: 'textarea[cuiTextarea]',\n template: '',\n styleUrls: ['./textarea.style.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [CUI_TEXT_FILED_CONTROLLER_PROVIDER],\n hostDirectives: [CuiAutoResizingDirective]\n})\nexport class CuiTextareaComponent {\n private readonly cuiTextFieldController = inject(CUI_TEXT_FIELD_CONTROLLER);\n\n @Input()\n @HostBinding('rows')\n public rows = 4;\n\n @Input()\n @HostBinding('class._no-borders-and-paddings')\n public noBordersAndPaddings = false;\n\n @HostBinding('class._with-error')\n protected get isError(): boolean {\n return this.cuiTextFieldController.isError;\n }\n}\n","import { NgModule } from '@angular/core';\n\nimport { CuiTextareaComponent } from './textarea.component';\n\n@NgModule({\n declarations: [CuiTextareaComponent],\n exports: [CuiTextareaComponent]\n})\nexport class CuiTextareaModule {\n}\n","import { cuiCreateToken } from '@cuby-ui/cdk';\n\nexport type CuiTheme = 'light' | 'dark';\n\nexport const CUI_THEME_STORAGE_DEFAULT_KEY = 'cuiTheme';\n\nexport const CUI_DEFAULT_THEME: CuiTheme = 'light';\n\nexport const CUI_THEME_STORAGE_KEY = cuiCreateToken(CUI_THEME_STORAGE_DEFAULT_KEY);\n\nexport const CUI_THEME = cuiCreateToken<CuiTheme>(CUI_DEFAULT_THEME);","import { inject, Injectable } from '@angular/core';\nimport type { CuiNullable } from '@cuby-ui/cdk';\nimport { CUI_LOCAL_STORAGE } from '@cuby-ui/cdk';\nimport { BehaviorSubject } from 'rxjs';\n\nimport type { CuiTheme } from './theme.options';\nimport { CUI_THEME, CUI_THEME_STORAGE_KEY } from './theme.options';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CuiThemeService extends BehaviorSubject<CuiTheme> {\n private readonly localStorage = inject(CUI_LOCAL_STORAGE);\n private readonly key = inject(CUI_THEME_STORAGE_KEY);\n\n constructor() {\n super(\n inject(CUI_LOCAL_STORAGE).getItem(inject(CUI_THEME_STORAGE_KEY)) as CuiNullable<CuiTheme>\n ?? inject(CUI_THEME)\n );\n }\n\n public override next(theme: CuiTheme): void {\n this.localStorage.setItem(this.key, theme);\n super.next(theme);\n }\n\n // При работе только двух тем\n public switch(): void {\n this.next(this.value === 'light' ? 'dark' : 'light');\n }\n}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2.CuiSvgComponent","i2.CuiButtonComponent","i3.CuiButtonComponent","i2.CuiNotificationComponent","i1.CuiSvgComponent","i2","i3.CuiSvgComponent","i1.CuiDialogsComponent","i2.CuiAlertsComponent"],"mappings":"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"}
|