@koobiq/components 20.4.4 → 20.4.5
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/content-panel/content-panel-header.scss +2 -3
- package/content-panel/content-panel.scss +3 -0
- package/core/index.d.ts +10 -0
- package/fesm2022/koobiq-components-actions-panel.mjs +9 -1
- package/fesm2022/koobiq-components-actions-panel.mjs.map +1 -1
- package/fesm2022/koobiq-components-content-panel.mjs +4 -4
- package/fesm2022/koobiq-components-content-panel.mjs.map +1 -1
- package/fesm2022/koobiq-components-core.mjs +11 -6
- package/fesm2022/koobiq-components-core.mjs.map +1 -1
- package/fesm2022/koobiq-components-filter-bar.mjs +60 -14
- package/fesm2022/koobiq-components-filter-bar.mjs.map +1 -1
- package/fesm2022/koobiq-components-form-field.mjs +2 -2
- package/fesm2022/koobiq-components-form-field.mjs.map +1 -1
- package/fesm2022/koobiq-components-inline-edit.mjs +19 -2
- package/fesm2022/koobiq-components-inline-edit.mjs.map +1 -1
- package/fesm2022/koobiq-components-modal.mjs +2 -2
- package/fesm2022/koobiq-components-modal.mjs.map +1 -1
- package/fesm2022/koobiq-components-overflow-items.mjs +13 -3
- package/fesm2022/koobiq-components-overflow-items.mjs.map +1 -1
- package/fesm2022/koobiq-components-textarea.mjs +17 -6
- package/fesm2022/koobiq-components-textarea.mjs.map +1 -1
- package/fesm2022/koobiq-components-toast.mjs +2 -2
- package/fesm2022/koobiq-components-toast.mjs.map +1 -1
- package/fesm2022/koobiq-components-tree-select.mjs +14 -4
- package/fesm2022/koobiq-components-tree-select.mjs.map +1 -1
- package/filter-bar/index.d.ts +33 -0
- package/inline-edit/index.d.ts +8 -1
- package/modal/modal.scss +2 -0
- package/overflow-items/index.d.ts +12 -1
- package/package.json +3 -3
- package/schematics/ng-add/index.js +1 -1
- package/textarea/index.d.ts +3 -1
- package/textarea/textarea-tokens.scss +5 -1
- package/toast/toast.component.scss +1 -0
- package/tree-select/index.d.ts +8 -5
|
@@ -7,16 +7,15 @@
|
|
|
7
7
|
|
|
8
8
|
.kbq-content-panel-header__wrapper {
|
|
9
9
|
display: flex;
|
|
10
|
-
justify-content: space-between;
|
|
11
10
|
}
|
|
12
11
|
|
|
13
12
|
.kbq-content-panel-header__actions {
|
|
14
13
|
display: flex;
|
|
15
|
-
|
|
14
|
+
margin-inline-start: auto;
|
|
16
15
|
}
|
|
17
16
|
|
|
18
17
|
.kbq-content-panel-header__close-button {
|
|
19
|
-
margin-
|
|
18
|
+
margin-inline-start: var(--kbq-size-m);
|
|
20
19
|
}
|
|
21
20
|
|
|
22
21
|
.kbq-content-panel-header-title {
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
.kbq-content-panel {
|
|
2
2
|
display: flex;
|
|
3
|
+
flex-grow: 1;
|
|
4
|
+
min-width: 0;
|
|
3
5
|
border-radius: var(--kbq-content-panel-border-radius);
|
|
4
6
|
background-color: var(--kbq-content-panel-background-color);
|
|
5
7
|
border: var(--kbq-content-panel-border);
|
|
@@ -11,6 +13,7 @@
|
|
|
11
13
|
display: flex;
|
|
12
14
|
flex: 1;
|
|
13
15
|
flex-direction: column;
|
|
16
|
+
min-width: 0;
|
|
14
17
|
border-top-right-radius: inherit;
|
|
15
18
|
border-bottom-right-radius: inherit;
|
|
16
19
|
}
|
package/core/index.d.ts
CHANGED
|
@@ -1060,6 +1060,7 @@ declare const enUSLocaleData: {
|
|
|
1060
1060
|
applyButton: string;
|
|
1061
1061
|
emptySearchResult: string;
|
|
1062
1062
|
selectAll: string;
|
|
1063
|
+
noOptions: string;
|
|
1063
1064
|
};
|
|
1064
1065
|
datePipe: {
|
|
1065
1066
|
customPeriod: string;
|
|
@@ -1265,6 +1266,7 @@ declare const esLALocaleData: {
|
|
|
1265
1266
|
applyButton: string;
|
|
1266
1267
|
emptySearchResult: string;
|
|
1267
1268
|
selectAll: string;
|
|
1269
|
+
noOptions: string;
|
|
1268
1270
|
};
|
|
1269
1271
|
datePipe: {
|
|
1270
1272
|
customPeriod: string;
|
|
@@ -1470,6 +1472,7 @@ declare const ptBRLocaleData: {
|
|
|
1470
1472
|
applyButton: string;
|
|
1471
1473
|
emptySearchResult: string;
|
|
1472
1474
|
selectAll: string;
|
|
1475
|
+
noOptions: string;
|
|
1473
1476
|
};
|
|
1474
1477
|
datePipe: {
|
|
1475
1478
|
customPeriod: string;
|
|
@@ -1676,6 +1679,7 @@ declare const ruRULocaleData: {
|
|
|
1676
1679
|
applyButton: string;
|
|
1677
1680
|
emptySearchResult: string;
|
|
1678
1681
|
selectAll: string;
|
|
1682
|
+
noOptions: string;
|
|
1679
1683
|
};
|
|
1680
1684
|
datePipe: {
|
|
1681
1685
|
customPeriod: string;
|
|
@@ -1882,6 +1886,7 @@ declare const tkTMLocaleData: {
|
|
|
1882
1886
|
applyButton: string;
|
|
1883
1887
|
emptySearchResult: string;
|
|
1884
1888
|
selectAll: string;
|
|
1889
|
+
noOptions: string;
|
|
1885
1890
|
};
|
|
1886
1891
|
datePipe: {
|
|
1887
1892
|
customPeriod: string;
|
|
@@ -2320,6 +2325,7 @@ declare function KBQ_DEFAULT_LOCALE_DATA_FACTORY(): {
|
|
|
2320
2325
|
applyButton: string;
|
|
2321
2326
|
emptySearchResult: string;
|
|
2322
2327
|
selectAll: string;
|
|
2328
|
+
noOptions: string;
|
|
2323
2329
|
};
|
|
2324
2330
|
datePipe: {
|
|
2325
2331
|
customPeriod: string;
|
|
@@ -2562,6 +2568,7 @@ declare function KBQ_DEFAULT_LOCALE_DATA_FACTORY(): {
|
|
|
2562
2568
|
applyButton: string;
|
|
2563
2569
|
emptySearchResult: string;
|
|
2564
2570
|
selectAll: string;
|
|
2571
|
+
noOptions: string;
|
|
2565
2572
|
};
|
|
2566
2573
|
datePipe: {
|
|
2567
2574
|
customPeriod: string;
|
|
@@ -2800,6 +2807,7 @@ declare function KBQ_DEFAULT_LOCALE_DATA_FACTORY(): {
|
|
|
2800
2807
|
applyButton: string;
|
|
2801
2808
|
emptySearchResult: string;
|
|
2802
2809
|
selectAll: string;
|
|
2810
|
+
noOptions: string;
|
|
2803
2811
|
};
|
|
2804
2812
|
datePipe: {
|
|
2805
2813
|
customPeriod: string;
|
|
@@ -3044,6 +3052,7 @@ declare function KBQ_DEFAULT_LOCALE_DATA_FACTORY(): {
|
|
|
3044
3052
|
applyButton: string;
|
|
3045
3053
|
emptySearchResult: string;
|
|
3046
3054
|
selectAll: string;
|
|
3055
|
+
noOptions: string;
|
|
3047
3056
|
};
|
|
3048
3057
|
datePipe: {
|
|
3049
3058
|
customPeriod: string;
|
|
@@ -3284,6 +3293,7 @@ declare function KBQ_DEFAULT_LOCALE_DATA_FACTORY(): {
|
|
|
3284
3293
|
applyButton: string;
|
|
3285
3294
|
emptySearchResult: string;
|
|
3286
3295
|
selectAll: string;
|
|
3296
|
+
noOptions: string;
|
|
3287
3297
|
};
|
|
3288
3298
|
datePipe: {
|
|
3289
3299
|
customPeriod: string;
|
|
@@ -4,6 +4,7 @@ import { SharedResizeObserver } from '@angular/cdk/observers/private';
|
|
|
4
4
|
import { Overlay } from '@angular/cdk/overlay';
|
|
5
5
|
import * as i0 from '@angular/core';
|
|
6
6
|
import { InjectionToken, EventEmitter, inject, Renderer2, ViewEncapsulation, ChangeDetectionStrategy, Component, Injector, Injectable, NgModule } from '@angular/core';
|
|
7
|
+
import { KBQ_OVERFLOW_ITEMS_RESIZE_OBSERVER_TARGETS } from '@koobiq/components/overflow-items';
|
|
7
8
|
import { map, of, Subject, ReplaySubject, filter, take, takeUntil } from 'rxjs';
|
|
8
9
|
import { trigger, state, style, transition, group, animate, query, animateChild } from '@angular/animations';
|
|
9
10
|
import { CdkPortalOutlet } from '@angular/cdk/portal';
|
|
@@ -451,7 +452,14 @@ class KbqActionsPanel {
|
|
|
451
452
|
actionsPanelRef = new KbqActionsPanelRef(dialogRef, container);
|
|
452
453
|
return [
|
|
453
454
|
{ provide: KbqActionsPanelRef, useValue: actionsPanelRef },
|
|
454
|
-
{ provide: KBQ_ACTIONS_PANEL_DATA, useValue: config.data }
|
|
455
|
+
{ provide: KBQ_ACTIONS_PANEL_DATA, useValue: config.data },
|
|
456
|
+
// The panel is as wide as its content, and items hidden by `KbqOverflowItems` drop out of that
|
|
457
|
+
// width, so the panel never grows back by itself. Observe the element that bounds it instead:
|
|
458
|
+
// `overlayContainer`, or else the overlay host, which spans the viewport.
|
|
459
|
+
{
|
|
460
|
+
provide: KBQ_OVERFLOW_ITEMS_RESIZE_OBSERVER_TARGETS,
|
|
461
|
+
useValue: [overlayContainer ? overlayContainer.nativeElement : dialogRef.overlayRef.hostElement]
|
|
462
|
+
}
|
|
455
463
|
];
|
|
456
464
|
}
|
|
457
465
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"koobiq-components-actions-panel.mjs","sources":["../../../packages/components/actions-panel/actions-panel-config.ts","../../../packages/components/actions-panel/actions-panel-container.ts","../../../packages/components/actions-panel/actions-panel-ref.ts","../../../packages/components/actions-panel/actions-panel.ts","../../../packages/components/actions-panel/module.ts","../../../packages/components/actions-panel/koobiq-components-actions-panel.ts"],"sourcesContent":["import { Direction } from '@angular/cdk/bidi';\nimport { Overlay, ScrollStrategy } from '@angular/cdk/overlay';\nimport { ElementRef, InjectionToken, Injector, Provider } from '@angular/core';\n\n/** Injection token that can be used to specify default actions panel config. */\nexport const KBQ_ACTIONS_PANEL_DEFAULT_CONFIG = new InjectionToken<KbqActionsPanelConfig>(\n 'KBQ_ACTIONS_PANEL_DEFAULT_CONFIG',\n { factory: () => new KbqActionsPanelConfig() }\n);\n\n/**\n * Utility for providing default actions panel config.\n *\n * @see `KBQ_ACTIONS_PANEL_DEFAULT_CONFIG`\n */\nexport const kbqActionsPanelDefaultConfigProvider = <D>(config: KbqActionsPanelConfig<D>): Provider => ({\n provide: KBQ_ACTIONS_PANEL_DEFAULT_CONFIG,\n useValue: config\n});\n\n/**\n * Configuration for opened actions panel.\n * Based on cdk `DialogConfig`.\n *\n * @see `DialogConfig`\n *\n */\nexport class KbqActionsPanelConfig<D = unknown> {\n /**\n * Injector used for the instantiation of the component to be attached.\n */\n injector?: Injector;\n\n /**\n * Data being injected into the child component.\n *\n * @see `KBQ_ACTIONS_PANEL_DATA`\n */\n data?: D | null = null;\n\n /** Extra CSS classes to be added to the actions panel container. */\n containerClass?: string | string[];\n\n /**\n * Whether the actions panel should be closed of when the user goes backwards/forwards in history.\n * NOTE! This does not apply to router navigation.\n *\n * @default true\n */\n closeOnNavigation?: boolean = true;\n\n /**\n * Element in which the actions panel overlay will be connected to.\n */\n overlayContainer?: ElementRef<HTMLElement>;\n\n /**\n * Extra CSS classes to be added to the overlay panel.\n */\n overlayPanelClass?: string | string[];\n\n /**\n * Width of the actions panel.\n */\n width?: string;\n\n /**\n * Min-width of the actions panel.\n * If a number is provided, assumes pixel units.\n */\n minWidth?: number | string;\n\n /**\n * Max-width of the actions panel.\n * If a number is provided, assumes pixel units.\n *\n * NOTE: this property is ignored if the `overlayContainer` property is provided, and will be calculated based on\n * the width of the `overlayContainer`.\n */\n maxWidth?: number | string;\n\n /**\n * Direction of the text in the actions panel.\n *\n * @default 'ltr'\n */\n direction?: Direction = 'ltr';\n\n /**\n * Scroll strategy to be used for the actions panel.\n *\n * @default `RepositionScrollStrategy`\n */\n scrollStrategy?: (overlay: Overlay) => ScrollStrategy = (overlay) => overlay.scrollStrategies.reposition();\n\n /**\n * Whether the user can use ESC or click on close button to close the actions panel.\n *\n * @default false\n */\n disableClose?: boolean = false;\n}\n","import {\n animate,\n animateChild,\n AnimationEvent,\n group,\n query,\n state,\n style,\n transition,\n trigger\n} from '@angular/animations';\nimport { CdkDialogContainer } from '@angular/cdk/dialog';\nimport { CdkPortalOutlet } from '@angular/cdk/portal';\nimport {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n inject,\n InjectionToken,\n OnDestroy,\n Provider,\n Renderer2,\n ViewEncapsulation\n} from '@angular/core';\nimport { toSignal } from '@angular/core/rxjs-interop';\nimport { KbqButtonModule } from '@koobiq/components/button';\nimport {\n KBQ_LOCALE_SERVICE,\n KbqActionsPanelLocaleConfiguration,\n KbqAnimationCurves,\n KbqAnimationDurations,\n ruRULocaleData\n} from '@koobiq/components/core';\nimport { KbqDividerModule } from '@koobiq/components/divider';\nimport { KbqIconModule } from '@koobiq/components/icon';\nimport { KbqToolTipModule } from '@koobiq/components/tooltip';\nimport { map, of } from 'rxjs';\nimport { KbqActionsPanel } from './actions-panel';\nimport { KbqActionsPanelConfig } from './actions-panel-config';\n\n/** Localization configuration provider. */\nexport const KBQ_ACTIONS_PANEL_LOCALE_CONFIGURATION = new InjectionToken<KbqActionsPanelLocaleConfiguration>(\n 'KBQ_ACTIONS_PANEL_LOCALE_CONFIGURATION',\n { factory: () => ruRULocaleData.actionsPanel }\n);\n\n/** Utility provider for `KBQ_ACTIONS_PANEL_LOCALE_CONFIGURATION`. */\nexport const kbqActionsPanelLocaleConfigurationProvider = (\n configuration: KbqActionsPanelLocaleConfiguration\n): Provider => ({\n provide: KBQ_ACTIONS_PANEL_LOCALE_CONFIGURATION,\n useValue: configuration\n});\n\n/**\n * Animation that shows and hides the actions panel.\n */\nconst KBQ_ACTIONS_PANEL_CONTAINER_ANIMATION = trigger('state', [\n state('void, hidden', style({ transform: 'translateY(100%)' })),\n state('visible', style({ transform: 'translateY(0%)' })),\n transition(\n 'visible => void, visible => hidden',\n group([\n animate(`${KbqAnimationDurations.Entering} ${KbqAnimationCurves.StandardCurve}`),\n query('@*', animateChild(), { optional: true })\n ])\n ),\n transition(\n 'void => visible',\n group([\n animate(`${KbqAnimationDurations.Exiting} ${KbqAnimationCurves.StandardCurve}`),\n query('@*', animateChild(), { optional: true })\n ])\n )\n]);\n\n/**\n * Internal component that wraps user-provided actions panel content.\n *\n * @docs-private\n */\n@Component({\n selector: 'kbq-actions-panel-container',\n imports: [\n CdkPortalOutlet,\n KbqDividerModule,\n KbqButtonModule,\n KbqIconModule,\n KbqToolTipModule\n ],\n template: `\n <div class=\"kbq-actions-panel-container__content\">\n <ng-template cdkPortalOutlet />\n </div>\n @if (!config.disableClose) {\n <kbq-divider class=\"kbq-actions-panel-container__vertical-divider\" [vertical]=\"true\" />\n <button\n class=\"kbq-actions-panel-container__close-button\"\n color=\"contrast\"\n kbq-button\n [kbqTooltip]=\"localeConfiguration()!.closeTooltip\"\n [kbqTooltipOffset]=\"16\"\n (click)=\"close()\"\n >\n <i kbq-icon=\"kbq-circle-xmark_16\"></i>\n </button>\n }\n `,\n styleUrls: [\n './actions-panel-tokens.scss',\n './actions-panel-container.scss'\n ],\n // Uses the `Default` change detection strategy as parent `CdkDialogContainer`:\n // https://github.com/angular/components/blob/18.2.14/src/cdk/dialog/dialog-container.ts#L60\n changeDetection: ChangeDetectionStrategy.Default,\n encapsulation: ViewEncapsulation.None,\n host: {\n class: 'kbq-actions-panel-container',\n '[class.kbq-actions-panel-container_rtl]': 'config.direction === \"rtl\"',\n '[@state]': 'animationState',\n '(@state.start)': 'onAnimationStart($event)',\n '(@state.done)': 'onAnimationDone($event)',\n '(keydown.escape)': 'handleEscape($event)'\n },\n animations: [KBQ_ACTIONS_PANEL_CONTAINER_ANIMATION]\n})\nexport class KbqActionsPanelContainer extends CdkDialogContainer implements OnDestroy {\n /**\n * The state of the actions panel animations.\n *\n * @docs-private\n */\n protected animationState: 'void' | 'visible' | 'hidden' = 'void';\n\n /**\n * Emits whenever the state of the animation changes.\n *\n * @docs-private\n */\n readonly animationStateChanged = new EventEmitter<AnimationEvent>();\n\n /** Whether the actions panel container has been destroyed. */\n private destroyed: boolean;\n\n /**\n * Actions panel configuration.\n *\n * @docs-private\n */\n protected readonly config = inject(KbqActionsPanelConfig);\n\n private readonly actionsPanel = inject(KbqActionsPanel);\n private readonly renderer = inject(Renderer2);\n private readonly localeService = inject(KBQ_LOCALE_SERVICE, { optional: true });\n\n /**\n * Actions panel locale configuration.\n *\n * @docs-private\n */\n protected readonly localeConfiguration = toSignal<KbqActionsPanelLocaleConfiguration>(\n this.localeService\n ? this.localeService.changes.pipe(map(() => this.localeService!.getParams('actionsPanel')))\n : of(inject(KBQ_ACTIONS_PANEL_LOCALE_CONFIGURATION))\n );\n\n override ngOnDestroy() {\n super.ngOnDestroy();\n this.destroyed = true;\n }\n\n /**\n * Close the actions panel.\n *\n * @docs-private\n */\n protected close(): void {\n this.actionsPanel.close();\n }\n\n /**\n * Start animation of the actions panel entrance into view.\n *\n * @docs-private\n */\n startOpenAnimation(): void {\n if (!this.destroyed) {\n this.animationState = 'visible';\n // animationState lives in host bindings and `detectChanges` does not refresh host bindings so we have to\n // call `markForCheck` to ensure the host view is refreshed eventually.\n this._changeDetectorRef.markForCheck();\n this._changeDetectorRef.detectChanges();\n }\n }\n\n /**\n * Start animation of the actions panel exiting from view.\n *\n * @docs-private\n */\n startCloseAnimation(): void {\n if (!this.destroyed) {\n this.animationState = 'hidden';\n this._changeDetectorRef.markForCheck();\n }\n }\n\n /**\n * Handles animation done events.\n *\n * @docs-private\n */\n protected onAnimationDone(event: AnimationEvent): void {\n if (event.toState === 'visible') {\n this._trapFocus();\n }\n\n this.animationStateChanged.emit(event);\n }\n\n /**\n * Handles animation start events.\n *\n * @docs-private\n */\n protected onAnimationStart(event: AnimationEvent): void {\n this.animationStateChanged.emit(event);\n }\n\n /**\n * Handles escape key events.\n *\n * @docs-private\n */\n protected handleEscape(event: KeyboardEvent): void {\n if (!this.config.disableClose) {\n event.preventDefault();\n this.close();\n }\n }\n\n /**\n * @docs-private\n */\n protected override _contentAttached(): void {\n this.applyContainerClass();\n }\n\n private applyContainerClass(): void {\n const { containerClass } = this.config;\n\n if (containerClass) {\n if (Array.isArray(containerClass)) {\n containerClass.forEach((cssClass) => this.renderer.addClass(this._elementRef.nativeElement, cssClass));\n } else {\n this.renderer.addClass(this._elementRef.nativeElement, containerClass);\n }\n }\n }\n}\n","import { DialogRef } from '@angular/cdk/dialog';\nimport { OverlayRef } from '@angular/cdk/overlay';\nimport { filter, Observable, ReplaySubject, Subject, take } from 'rxjs';\nimport { KbqActionsPanelContainer } from './actions-panel-container';\n\n/**\n * Reference to actions panel opened by `KbqActionsPanel` service.\n */\nexport class KbqActionsPanelRef<I = unknown, R = unknown> {\n /**\n * Instance of the component into which the actions panel content is projected.\n *\n * @docs-private\n */\n containerInstance: KbqActionsPanelContainer;\n\n private readonly afterOpenedSubject = new Subject<void>();\n private readonly beforeOpenedSubject = new ReplaySubject<void>(1);\n private readonly beforeClosedSubject = new Subject<R | undefined>();\n\n /** Emits when keydown events are targeted on the overlay. */\n readonly keydownEvents: Observable<KeyboardEvent> = this.dialogRef.keydownEvents;\n\n /** Emits when the actions panel starts opening, before its entrance animation plays. */\n readonly beforeOpened: Observable<void> = this.beforeOpenedSubject;\n\n /** Emits when the actions panel has opened and appeared. */\n readonly afterOpened: Observable<void> = this.afterOpenedSubject;\n\n /** Emits when the actions panel starts closing, before its exit animation plays. */\n readonly beforeClosed: Observable<R | undefined> = this.beforeClosedSubject;\n\n /** Emits when the actions panel is finished closing. */\n readonly afterClosed: Observable<R | undefined> = this.dialogRef.closed;\n\n /**\n * Overlay reference for the actions panel.\n *\n * @docs-private\n */\n readonly overlayRef: OverlayRef = this.dialogRef.overlayRef;\n\n /**\n * ID of the actions panel.\n *\n * @docs-private\n */\n readonly id: string = this.dialogRef.id;\n\n /** Result to be passed down to the `afterClosed` stream. */\n private result: R | undefined;\n\n /** Handle to the timeout that's running as a fallback in case the close animation doesn't fire. */\n private closeAnimationFallbackTimeout?: ReturnType<typeof setTimeout>;\n\n constructor(\n private readonly dialogRef: DialogRef<R, I>,\n containerInstance: KbqActionsPanelContainer\n ) {\n this.containerInstance = containerInstance;\n this.handleAnimation();\n this.handleOverlayDetachments();\n }\n\n /**\n * Opens the actions panel, playing its entrance animation.\n *\n * @docs-private\n */\n open(): void {\n if (!this.containerInstance) {\n return;\n }\n\n this.beforeOpenedSubject.next();\n this.beforeOpenedSubject.complete();\n this.containerInstance.startOpenAnimation();\n }\n\n /** Closes the actions panel. */\n close(result?: R): void {\n if (!this.containerInstance) {\n return;\n }\n\n this.containerInstance.animationStateChanged\n .pipe(\n filter((event) => event.phaseName === 'start'),\n take(1)\n )\n .subscribe(({ totalTime }) => {\n this.closeAnimationFallbackTimeout = setTimeout(\n () => this.dialogRef.close(this.result),\n totalTime + 100\n );\n });\n\n this.result = result;\n this.beforeClosedSubject.next(result);\n this.beforeClosedSubject.complete();\n this.containerInstance.startCloseAnimation();\n this.containerInstance = null!;\n }\n\n private handleAnimation(): void {\n this.containerInstance.animationStateChanged\n .pipe(\n filter((event) => event.phaseName === 'done' && event.toState === 'visible'),\n take(1)\n )\n .subscribe(() => {\n this.afterOpenedSubject.next();\n this.afterOpenedSubject.complete();\n });\n\n this.containerInstance.animationStateChanged\n .pipe(\n filter((event) => event.phaseName === 'done' && event.toState === 'hidden'),\n take(1)\n )\n .subscribe(() => {\n clearTimeout(this.closeAnimationFallbackTimeout);\n this.dialogRef.close(this.result);\n });\n }\n\n private handleOverlayDetachments(): void {\n this.dialogRef.overlayRef\n .detachments()\n .pipe(take(1))\n .subscribe(() => {\n this.dialogRef.close(this.result);\n });\n }\n}\n","import { coerceCssPixelValue } from '@angular/cdk/coercion';\nimport { Dialog } from '@angular/cdk/dialog';\nimport { SharedResizeObserver } from '@angular/cdk/observers/private';\nimport { ComponentType, Overlay } from '@angular/cdk/overlay';\nimport { inject, Injectable, InjectionToken, Injector, OnDestroy, TemplateRef } from '@angular/core';\nimport { takeUntil } from 'rxjs';\nimport { KBQ_ACTIONS_PANEL_DEFAULT_CONFIG, KbqActionsPanelConfig } from './actions-panel-config';\nimport { KbqActionsPanelContainer } from './actions-panel-container';\nimport { KbqActionsPanelRef } from './actions-panel-ref';\n\n/** Injection token that can be used to access the data that was passed in to actions panel. */\nexport const KBQ_ACTIONS_PANEL_DATA = new InjectionToken('KBQ_ACTIONS_PANEL_DATA');\n\n/**\n * Context for actions panel template.\n */\nexport type KbqActionsPanelTemplateContext<T = unknown, D = unknown, R = unknown> = {\n /**\n * Data passed to actions panel.\n *\n * Example:\n *\n * ```html\n * <ng-template #actionsPanel let-data>{{ data.KEY }}</ng-template>\n * ````\n */\n $implicit?: D | null;\n /**\n * Data passed to actions panel.\n *\n * Example:\n *\n * ```html\n * <ng-template #actionsPanel let-data=\"data\">{{ data.KEY }}</ng-template>\n * ````\n */\n data?: D | null;\n /**\n * Opened actions panel reference.\n *\n * Example:\n *\n * ```html\n * <ng-template #actionsPanel let-actionsPanelRef=\"actionsPanelRef\">\n * <button (click)=\"actionsPanelRef.close()\">close</button>\n * </ng-template>\n * ````\n */\n actionsPanelRef: KbqActionsPanelRef<T, R>;\n};\n\n/**\n * Selector for actions panel overlay.\n *\n * @docs-private\n */\nexport const KBQ_ACTIONS_PANEL_OVERLAY_SELECTOR = 'kbq-actions-panel-overlay';\n\n/**\n * Service for opening actions panel.\n */\n@Injectable({ providedIn: 'root' })\nexport class KbqActionsPanel implements OnDestroy {\n private readonly injector = inject(Injector);\n private readonly overlay = inject(Overlay);\n private readonly dialog = inject(Dialog);\n private readonly defaultConfig = inject(KBQ_ACTIONS_PANEL_DEFAULT_CONFIG);\n private readonly resizeObserver = inject(SharedResizeObserver);\n\n /** The reference to the currently opened actions panel. */\n private openedActionsPanelRef: KbqActionsPanelRef | null = null;\n\n ngOnDestroy() {\n this.close();\n }\n\n /**\n * Opens actions panel.\n *\n * @param componentOrTemplateRef Component to be opened into the actions panel.\n * @param config Additional configuration options for the actions panel.\n * @returns A reference to the opened actions panel.\n */\n open<T, D = unknown, R = unknown>(\n component: ComponentType<T>,\n config?: KbqActionsPanelConfig<D>\n ): KbqActionsPanelRef<T, R>;\n\n /**\n * Opens actions panel.\n *\n * @param template TemplateRef to be used as the content.\n * @param config Additional configuration options for the actions panel.\n * @returns A reference to the opened actions panel.\n */\n open<T, D = unknown, R = unknown>(\n template: TemplateRef<T>,\n config?: KbqActionsPanelConfig<D>\n ): KbqActionsPanelRef<T, R>;\n\n open<T, D = unknown, R = unknown>(\n componentOrTemplateRef: ComponentType<T> | TemplateRef<T>,\n config?: KbqActionsPanelConfig<D>\n ): KbqActionsPanelRef<T, R> {\n const _config: KbqActionsPanelConfig<D> = {\n ...(this.defaultConfig as KbqActionsPanelConfig<D>),\n ...config\n };\n const actionsPanelRef = this.openDialog<T, D, R>(componentOrTemplateRef, _config);\n\n actionsPanelRef.afterClosed.subscribe(() => {\n if (this.openedActionsPanelRef === actionsPanelRef) {\n this.openedActionsPanelRef = null;\n }\n });\n\n if (this.openedActionsPanelRef) {\n this.openedActionsPanelRef.afterClosed.subscribe(() => {\n actionsPanelRef.open();\n });\n this.openedActionsPanelRef.close();\n } else {\n actionsPanelRef.open();\n }\n\n this.openedActionsPanelRef = actionsPanelRef as KbqActionsPanelRef;\n\n return actionsPanelRef;\n }\n\n /** Closes the currently opened actions panel. */\n close<R>(result?: R): void {\n this.openedActionsPanelRef?.close(result);\n }\n\n private openDialog<T, D = unknown, R = unknown>(\n componentOrTemplateRef: ComponentType<T> | TemplateRef<T>,\n config: KbqActionsPanelConfig<D> = {}\n ): KbqActionsPanelRef<T, R> {\n let actionsPanelRef!: KbqActionsPanelRef<T, R>;\n const { overlayContainer, overlayPanelClass } = config;\n\n this.dialog.open<R, D, T>(componentOrTemplateRef, {\n ...config,\n container: KbqActionsPanelContainer,\n restoreFocus: false,\n autoFocus: null!,\n hasBackdrop: false,\n // Disable closing since we need to sync it up to the animation ourselves\n closeOnOverlayDetachments: false,\n // Disable closing since we need to sync it up to the animation ourselves\n closeOnDestroy: false,\n // Disable closing since we need to sync it up to the animation ourselves\n disableClose: true,\n scrollStrategy: config.scrollStrategy && config.scrollStrategy(this.overlay),\n positionStrategy: overlayContainer\n ? this.overlay\n .position()\n .flexibleConnectedTo(overlayContainer)\n .withPositions([{ originX: 'center', originY: 'bottom', overlayX: 'center', overlayY: 'bottom' }])\n .withFlexibleDimensions()\n .withPush(false)\n .withLockedPosition()\n .withGrowAfterOpen()\n : this.overlay.position().global().centerHorizontally().bottom(),\n templateContext: () => {\n return {\n $implicit: config.data,\n data: config.data,\n actionsPanelRef\n } satisfies KbqActionsPanelTemplateContext<T, D, R>;\n },\n injector: Injector.create({\n parent: config.injector || this.injector,\n providers: [{ provide: KbqActionsPanelConfig, useValue: config }]\n }),\n providers: (dialogRef, _dialogConfig, container) => {\n actionsPanelRef = new KbqActionsPanelRef<T, R>(dialogRef, container as KbqActionsPanelContainer);\n\n return [\n { provide: KbqActionsPanelRef, useValue: actionsPanelRef },\n { provide: KBQ_ACTIONS_PANEL_DATA, useValue: config.data }\n ];\n }\n });\n\n const { overlayRef } = actionsPanelRef;\n\n overlayRef.addPanelClass(KBQ_ACTIONS_PANEL_OVERLAY_SELECTOR);\n\n if (overlayPanelClass) overlayRef.addPanelClass(overlayPanelClass);\n\n if (overlayContainer) {\n const { afterClosed } = actionsPanelRef;\n\n this.syncOverlayMaxWidth(overlayContainer.nativeElement, overlayRef.overlayElement);\n\n this.resizeObserver\n .observe(overlayContainer.nativeElement)\n .pipe(takeUntil(afterClosed))\n .subscribe(() => {\n if (this.syncOverlayMaxWidth(overlayContainer.nativeElement, overlayRef.overlayElement)) {\n overlayRef.updatePosition();\n }\n });\n }\n\n return actionsPanelRef;\n }\n\n private syncOverlayMaxWidth(container: HTMLElement, overlayElement: HTMLElement): boolean {\n const { width } = container.getBoundingClientRect();\n\n if (!width) return false;\n\n const maxWidth = coerceCssPixelValue(width);\n\n if (overlayElement.style.maxWidth === maxWidth) return false;\n\n overlayElement.style.maxWidth = maxWidth;\n\n return true;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { KbqActionsPanel } from './actions-panel';\nimport { KbqActionsPanelContainer } from './actions-panel-container';\n\nconst COMPONENTS = [\n KbqActionsPanelContainer\n];\n\n@NgModule({\n imports: COMPONENTS,\n providers: [KbqActionsPanel],\n exports: COMPONENTS\n})\nexport class KbqActionsPanelModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"koobiq-components-actions-panel.mjs","sources":["../../../packages/components/actions-panel/actions-panel-config.ts","../../../packages/components/actions-panel/actions-panel-container.ts","../../../packages/components/actions-panel/actions-panel-ref.ts","../../../packages/components/actions-panel/actions-panel.ts","../../../packages/components/actions-panel/module.ts","../../../packages/components/actions-panel/koobiq-components-actions-panel.ts"],"sourcesContent":["import { Direction } from '@angular/cdk/bidi';\nimport { Overlay, ScrollStrategy } from '@angular/cdk/overlay';\nimport { ElementRef, InjectionToken, Injector, Provider } from '@angular/core';\n\n/** Injection token that can be used to specify default actions panel config. */\nexport const KBQ_ACTIONS_PANEL_DEFAULT_CONFIG = new InjectionToken<KbqActionsPanelConfig>(\n 'KBQ_ACTIONS_PANEL_DEFAULT_CONFIG',\n { factory: () => new KbqActionsPanelConfig() }\n);\n\n/**\n * Utility for providing default actions panel config.\n *\n * @see `KBQ_ACTIONS_PANEL_DEFAULT_CONFIG`\n */\nexport const kbqActionsPanelDefaultConfigProvider = <D>(config: KbqActionsPanelConfig<D>): Provider => ({\n provide: KBQ_ACTIONS_PANEL_DEFAULT_CONFIG,\n useValue: config\n});\n\n/**\n * Configuration for opened actions panel.\n * Based on cdk `DialogConfig`.\n *\n * @see `DialogConfig`\n *\n */\nexport class KbqActionsPanelConfig<D = unknown> {\n /**\n * Injector used for the instantiation of the component to be attached.\n */\n injector?: Injector;\n\n /**\n * Data being injected into the child component.\n *\n * @see `KBQ_ACTIONS_PANEL_DATA`\n */\n data?: D | null = null;\n\n /** Extra CSS classes to be added to the actions panel container. */\n containerClass?: string | string[];\n\n /**\n * Whether the actions panel should be closed of when the user goes backwards/forwards in history.\n * NOTE! This does not apply to router navigation.\n *\n * @default true\n */\n closeOnNavigation?: boolean = true;\n\n /**\n * Element in which the actions panel overlay will be connected to.\n */\n overlayContainer?: ElementRef<HTMLElement>;\n\n /**\n * Extra CSS classes to be added to the overlay panel.\n */\n overlayPanelClass?: string | string[];\n\n /**\n * Width of the actions panel.\n */\n width?: string;\n\n /**\n * Min-width of the actions panel.\n * If a number is provided, assumes pixel units.\n */\n minWidth?: number | string;\n\n /**\n * Max-width of the actions panel.\n * If a number is provided, assumes pixel units.\n *\n * NOTE: this property is ignored if the `overlayContainer` property is provided, and will be calculated based on\n * the width of the `overlayContainer`.\n */\n maxWidth?: number | string;\n\n /**\n * Direction of the text in the actions panel.\n *\n * @default 'ltr'\n */\n direction?: Direction = 'ltr';\n\n /**\n * Scroll strategy to be used for the actions panel.\n *\n * @default `RepositionScrollStrategy`\n */\n scrollStrategy?: (overlay: Overlay) => ScrollStrategy = (overlay) => overlay.scrollStrategies.reposition();\n\n /**\n * Whether the user can use ESC or click on close button to close the actions panel.\n *\n * @default false\n */\n disableClose?: boolean = false;\n}\n","import {\n animate,\n animateChild,\n AnimationEvent,\n group,\n query,\n state,\n style,\n transition,\n trigger\n} from '@angular/animations';\nimport { CdkDialogContainer } from '@angular/cdk/dialog';\nimport { CdkPortalOutlet } from '@angular/cdk/portal';\nimport {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n inject,\n InjectionToken,\n OnDestroy,\n Provider,\n Renderer2,\n ViewEncapsulation\n} from '@angular/core';\nimport { toSignal } from '@angular/core/rxjs-interop';\nimport { KbqButtonModule } from '@koobiq/components/button';\nimport {\n KBQ_LOCALE_SERVICE,\n KbqActionsPanelLocaleConfiguration,\n KbqAnimationCurves,\n KbqAnimationDurations,\n ruRULocaleData\n} from '@koobiq/components/core';\nimport { KbqDividerModule } from '@koobiq/components/divider';\nimport { KbqIconModule } from '@koobiq/components/icon';\nimport { KbqToolTipModule } from '@koobiq/components/tooltip';\nimport { map, of } from 'rxjs';\nimport { KbqActionsPanel } from './actions-panel';\nimport { KbqActionsPanelConfig } from './actions-panel-config';\n\n/** Localization configuration provider. */\nexport const KBQ_ACTIONS_PANEL_LOCALE_CONFIGURATION = new InjectionToken<KbqActionsPanelLocaleConfiguration>(\n 'KBQ_ACTIONS_PANEL_LOCALE_CONFIGURATION',\n { factory: () => ruRULocaleData.actionsPanel }\n);\n\n/** Utility provider for `KBQ_ACTIONS_PANEL_LOCALE_CONFIGURATION`. */\nexport const kbqActionsPanelLocaleConfigurationProvider = (\n configuration: KbqActionsPanelLocaleConfiguration\n): Provider => ({\n provide: KBQ_ACTIONS_PANEL_LOCALE_CONFIGURATION,\n useValue: configuration\n});\n\n/**\n * Animation that shows and hides the actions panel.\n */\nconst KBQ_ACTIONS_PANEL_CONTAINER_ANIMATION = trigger('state', [\n state('void, hidden', style({ transform: 'translateY(100%)' })),\n state('visible', style({ transform: 'translateY(0%)' })),\n transition(\n 'visible => void, visible => hidden',\n group([\n animate(`${KbqAnimationDurations.Entering} ${KbqAnimationCurves.StandardCurve}`),\n query('@*', animateChild(), { optional: true })\n ])\n ),\n transition(\n 'void => visible',\n group([\n animate(`${KbqAnimationDurations.Exiting} ${KbqAnimationCurves.StandardCurve}`),\n query('@*', animateChild(), { optional: true })\n ])\n )\n]);\n\n/**\n * Internal component that wraps user-provided actions panel content.\n *\n * @docs-private\n */\n@Component({\n selector: 'kbq-actions-panel-container',\n imports: [\n CdkPortalOutlet,\n KbqDividerModule,\n KbqButtonModule,\n KbqIconModule,\n KbqToolTipModule\n ],\n template: `\n <div class=\"kbq-actions-panel-container__content\">\n <ng-template cdkPortalOutlet />\n </div>\n @if (!config.disableClose) {\n <kbq-divider class=\"kbq-actions-panel-container__vertical-divider\" [vertical]=\"true\" />\n <button\n class=\"kbq-actions-panel-container__close-button\"\n color=\"contrast\"\n kbq-button\n [kbqTooltip]=\"localeConfiguration()!.closeTooltip\"\n [kbqTooltipOffset]=\"16\"\n (click)=\"close()\"\n >\n <i kbq-icon=\"kbq-circle-xmark_16\"></i>\n </button>\n }\n `,\n styleUrls: [\n './actions-panel-tokens.scss',\n './actions-panel-container.scss'\n ],\n // Uses the `Default` change detection strategy as parent `CdkDialogContainer`:\n // https://github.com/angular/components/blob/18.2.14/src/cdk/dialog/dialog-container.ts#L60\n changeDetection: ChangeDetectionStrategy.Default,\n encapsulation: ViewEncapsulation.None,\n host: {\n class: 'kbq-actions-panel-container',\n '[class.kbq-actions-panel-container_rtl]': 'config.direction === \"rtl\"',\n '[@state]': 'animationState',\n '(@state.start)': 'onAnimationStart($event)',\n '(@state.done)': 'onAnimationDone($event)',\n '(keydown.escape)': 'handleEscape($event)'\n },\n animations: [KBQ_ACTIONS_PANEL_CONTAINER_ANIMATION]\n})\nexport class KbqActionsPanelContainer extends CdkDialogContainer implements OnDestroy {\n /**\n * The state of the actions panel animations.\n *\n * @docs-private\n */\n protected animationState: 'void' | 'visible' | 'hidden' = 'void';\n\n /**\n * Emits whenever the state of the animation changes.\n *\n * @docs-private\n */\n readonly animationStateChanged = new EventEmitter<AnimationEvent>();\n\n /** Whether the actions panel container has been destroyed. */\n private destroyed: boolean;\n\n /**\n * Actions panel configuration.\n *\n * @docs-private\n */\n protected readonly config = inject(KbqActionsPanelConfig);\n\n private readonly actionsPanel = inject(KbqActionsPanel);\n private readonly renderer = inject(Renderer2);\n private readonly localeService = inject(KBQ_LOCALE_SERVICE, { optional: true });\n\n /**\n * Actions panel locale configuration.\n *\n * @docs-private\n */\n protected readonly localeConfiguration = toSignal<KbqActionsPanelLocaleConfiguration>(\n this.localeService\n ? this.localeService.changes.pipe(map(() => this.localeService!.getParams('actionsPanel')))\n : of(inject(KBQ_ACTIONS_PANEL_LOCALE_CONFIGURATION))\n );\n\n override ngOnDestroy() {\n super.ngOnDestroy();\n this.destroyed = true;\n }\n\n /**\n * Close the actions panel.\n *\n * @docs-private\n */\n protected close(): void {\n this.actionsPanel.close();\n }\n\n /**\n * Start animation of the actions panel entrance into view.\n *\n * @docs-private\n */\n startOpenAnimation(): void {\n if (!this.destroyed) {\n this.animationState = 'visible';\n // animationState lives in host bindings and `detectChanges` does not refresh host bindings so we have to\n // call `markForCheck` to ensure the host view is refreshed eventually.\n this._changeDetectorRef.markForCheck();\n this._changeDetectorRef.detectChanges();\n }\n }\n\n /**\n * Start animation of the actions panel exiting from view.\n *\n * @docs-private\n */\n startCloseAnimation(): void {\n if (!this.destroyed) {\n this.animationState = 'hidden';\n this._changeDetectorRef.markForCheck();\n }\n }\n\n /**\n * Handles animation done events.\n *\n * @docs-private\n */\n protected onAnimationDone(event: AnimationEvent): void {\n if (event.toState === 'visible') {\n this._trapFocus();\n }\n\n this.animationStateChanged.emit(event);\n }\n\n /**\n * Handles animation start events.\n *\n * @docs-private\n */\n protected onAnimationStart(event: AnimationEvent): void {\n this.animationStateChanged.emit(event);\n }\n\n /**\n * Handles escape key events.\n *\n * @docs-private\n */\n protected handleEscape(event: KeyboardEvent): void {\n if (!this.config.disableClose) {\n event.preventDefault();\n this.close();\n }\n }\n\n /**\n * @docs-private\n */\n protected override _contentAttached(): void {\n this.applyContainerClass();\n }\n\n private applyContainerClass(): void {\n const { containerClass } = this.config;\n\n if (containerClass) {\n if (Array.isArray(containerClass)) {\n containerClass.forEach((cssClass) => this.renderer.addClass(this._elementRef.nativeElement, cssClass));\n } else {\n this.renderer.addClass(this._elementRef.nativeElement, containerClass);\n }\n }\n }\n}\n","import { DialogRef } from '@angular/cdk/dialog';\nimport { OverlayRef } from '@angular/cdk/overlay';\nimport { filter, Observable, ReplaySubject, Subject, take } from 'rxjs';\nimport { KbqActionsPanelContainer } from './actions-panel-container';\n\n/**\n * Reference to actions panel opened by `KbqActionsPanel` service.\n */\nexport class KbqActionsPanelRef<I = unknown, R = unknown> {\n /**\n * Instance of the component into which the actions panel content is projected.\n *\n * @docs-private\n */\n containerInstance: KbqActionsPanelContainer;\n\n private readonly afterOpenedSubject = new Subject<void>();\n private readonly beforeOpenedSubject = new ReplaySubject<void>(1);\n private readonly beforeClosedSubject = new Subject<R | undefined>();\n\n /** Emits when keydown events are targeted on the overlay. */\n readonly keydownEvents: Observable<KeyboardEvent> = this.dialogRef.keydownEvents;\n\n /** Emits when the actions panel starts opening, before its entrance animation plays. */\n readonly beforeOpened: Observable<void> = this.beforeOpenedSubject;\n\n /** Emits when the actions panel has opened and appeared. */\n readonly afterOpened: Observable<void> = this.afterOpenedSubject;\n\n /** Emits when the actions panel starts closing, before its exit animation plays. */\n readonly beforeClosed: Observable<R | undefined> = this.beforeClosedSubject;\n\n /** Emits when the actions panel is finished closing. */\n readonly afterClosed: Observable<R | undefined> = this.dialogRef.closed;\n\n /**\n * Overlay reference for the actions panel.\n *\n * @docs-private\n */\n readonly overlayRef: OverlayRef = this.dialogRef.overlayRef;\n\n /**\n * ID of the actions panel.\n *\n * @docs-private\n */\n readonly id: string = this.dialogRef.id;\n\n /** Result to be passed down to the `afterClosed` stream. */\n private result: R | undefined;\n\n /** Handle to the timeout that's running as a fallback in case the close animation doesn't fire. */\n private closeAnimationFallbackTimeout?: ReturnType<typeof setTimeout>;\n\n constructor(\n private readonly dialogRef: DialogRef<R, I>,\n containerInstance: KbqActionsPanelContainer\n ) {\n this.containerInstance = containerInstance;\n this.handleAnimation();\n this.handleOverlayDetachments();\n }\n\n /**\n * Opens the actions panel, playing its entrance animation.\n *\n * @docs-private\n */\n open(): void {\n if (!this.containerInstance) {\n return;\n }\n\n this.beforeOpenedSubject.next();\n this.beforeOpenedSubject.complete();\n this.containerInstance.startOpenAnimation();\n }\n\n /** Closes the actions panel. */\n close(result?: R): void {\n if (!this.containerInstance) {\n return;\n }\n\n this.containerInstance.animationStateChanged\n .pipe(\n filter((event) => event.phaseName === 'start'),\n take(1)\n )\n .subscribe(({ totalTime }) => {\n this.closeAnimationFallbackTimeout = setTimeout(\n () => this.dialogRef.close(this.result),\n totalTime + 100\n );\n });\n\n this.result = result;\n this.beforeClosedSubject.next(result);\n this.beforeClosedSubject.complete();\n this.containerInstance.startCloseAnimation();\n this.containerInstance = null!;\n }\n\n private handleAnimation(): void {\n this.containerInstance.animationStateChanged\n .pipe(\n filter((event) => event.phaseName === 'done' && event.toState === 'visible'),\n take(1)\n )\n .subscribe(() => {\n this.afterOpenedSubject.next();\n this.afterOpenedSubject.complete();\n });\n\n this.containerInstance.animationStateChanged\n .pipe(\n filter((event) => event.phaseName === 'done' && event.toState === 'hidden'),\n take(1)\n )\n .subscribe(() => {\n clearTimeout(this.closeAnimationFallbackTimeout);\n this.dialogRef.close(this.result);\n });\n }\n\n private handleOverlayDetachments(): void {\n this.dialogRef.overlayRef\n .detachments()\n .pipe(take(1))\n .subscribe(() => {\n this.dialogRef.close(this.result);\n });\n }\n}\n","import { coerceCssPixelValue } from '@angular/cdk/coercion';\nimport { Dialog } from '@angular/cdk/dialog';\nimport { SharedResizeObserver } from '@angular/cdk/observers/private';\nimport { ComponentType, Overlay } from '@angular/cdk/overlay';\nimport { inject, Injectable, InjectionToken, Injector, OnDestroy, TemplateRef } from '@angular/core';\nimport { KBQ_OVERFLOW_ITEMS_RESIZE_OBSERVER_TARGETS } from '@koobiq/components/overflow-items';\nimport { takeUntil } from 'rxjs';\nimport { KBQ_ACTIONS_PANEL_DEFAULT_CONFIG, KbqActionsPanelConfig } from './actions-panel-config';\nimport { KbqActionsPanelContainer } from './actions-panel-container';\nimport { KbqActionsPanelRef } from './actions-panel-ref';\n\n/** Injection token that can be used to access the data that was passed in to actions panel. */\nexport const KBQ_ACTIONS_PANEL_DATA = new InjectionToken('KBQ_ACTIONS_PANEL_DATA');\n\n/**\n * Context for actions panel template.\n */\nexport type KbqActionsPanelTemplateContext<T = unknown, D = unknown, R = unknown> = {\n /**\n * Data passed to actions panel.\n *\n * Example:\n *\n * ```html\n * <ng-template #actionsPanel let-data>{{ data.KEY }}</ng-template>\n * ````\n */\n $implicit?: D | null;\n /**\n * Data passed to actions panel.\n *\n * Example:\n *\n * ```html\n * <ng-template #actionsPanel let-data=\"data\">{{ data.KEY }}</ng-template>\n * ````\n */\n data?: D | null;\n /**\n * Opened actions panel reference.\n *\n * Example:\n *\n * ```html\n * <ng-template #actionsPanel let-actionsPanelRef=\"actionsPanelRef\">\n * <button (click)=\"actionsPanelRef.close()\">close</button>\n * </ng-template>\n * ````\n */\n actionsPanelRef: KbqActionsPanelRef<T, R>;\n};\n\n/**\n * Selector for actions panel overlay.\n *\n * @docs-private\n */\nexport const KBQ_ACTIONS_PANEL_OVERLAY_SELECTOR = 'kbq-actions-panel-overlay';\n\n/**\n * Service for opening actions panel.\n */\n@Injectable({ providedIn: 'root' })\nexport class KbqActionsPanel implements OnDestroy {\n private readonly injector = inject(Injector);\n private readonly overlay = inject(Overlay);\n private readonly dialog = inject(Dialog);\n private readonly defaultConfig = inject(KBQ_ACTIONS_PANEL_DEFAULT_CONFIG);\n private readonly resizeObserver = inject(SharedResizeObserver);\n\n /** The reference to the currently opened actions panel. */\n private openedActionsPanelRef: KbqActionsPanelRef | null = null;\n\n ngOnDestroy() {\n this.close();\n }\n\n /**\n * Opens actions panel.\n *\n * @param componentOrTemplateRef Component to be opened into the actions panel.\n * @param config Additional configuration options for the actions panel.\n * @returns A reference to the opened actions panel.\n */\n open<T, D = unknown, R = unknown>(\n component: ComponentType<T>,\n config?: KbqActionsPanelConfig<D>\n ): KbqActionsPanelRef<T, R>;\n\n /**\n * Opens actions panel.\n *\n * @param template TemplateRef to be used as the content.\n * @param config Additional configuration options for the actions panel.\n * @returns A reference to the opened actions panel.\n */\n open<T, D = unknown, R = unknown>(\n template: TemplateRef<T>,\n config?: KbqActionsPanelConfig<D>\n ): KbqActionsPanelRef<T, R>;\n\n open<T, D = unknown, R = unknown>(\n componentOrTemplateRef: ComponentType<T> | TemplateRef<T>,\n config?: KbqActionsPanelConfig<D>\n ): KbqActionsPanelRef<T, R> {\n const _config: KbqActionsPanelConfig<D> = {\n ...(this.defaultConfig as KbqActionsPanelConfig<D>),\n ...config\n };\n const actionsPanelRef = this.openDialog<T, D, R>(componentOrTemplateRef, _config);\n\n actionsPanelRef.afterClosed.subscribe(() => {\n if (this.openedActionsPanelRef === actionsPanelRef) {\n this.openedActionsPanelRef = null;\n }\n });\n\n if (this.openedActionsPanelRef) {\n this.openedActionsPanelRef.afterClosed.subscribe(() => {\n actionsPanelRef.open();\n });\n this.openedActionsPanelRef.close();\n } else {\n actionsPanelRef.open();\n }\n\n this.openedActionsPanelRef = actionsPanelRef as KbqActionsPanelRef;\n\n return actionsPanelRef;\n }\n\n /** Closes the currently opened actions panel. */\n close<R>(result?: R): void {\n this.openedActionsPanelRef?.close(result);\n }\n\n private openDialog<T, D = unknown, R = unknown>(\n componentOrTemplateRef: ComponentType<T> | TemplateRef<T>,\n config: KbqActionsPanelConfig<D> = {}\n ): KbqActionsPanelRef<T, R> {\n let actionsPanelRef!: KbqActionsPanelRef<T, R>;\n const { overlayContainer, overlayPanelClass } = config;\n\n this.dialog.open<R, D, T>(componentOrTemplateRef, {\n ...config,\n container: KbqActionsPanelContainer,\n restoreFocus: false,\n autoFocus: null!,\n hasBackdrop: false,\n // Disable closing since we need to sync it up to the animation ourselves\n closeOnOverlayDetachments: false,\n // Disable closing since we need to sync it up to the animation ourselves\n closeOnDestroy: false,\n // Disable closing since we need to sync it up to the animation ourselves\n disableClose: true,\n scrollStrategy: config.scrollStrategy && config.scrollStrategy(this.overlay),\n positionStrategy: overlayContainer\n ? this.overlay\n .position()\n .flexibleConnectedTo(overlayContainer)\n .withPositions([{ originX: 'center', originY: 'bottom', overlayX: 'center', overlayY: 'bottom' }])\n .withFlexibleDimensions()\n .withPush(false)\n .withLockedPosition()\n .withGrowAfterOpen()\n : this.overlay.position().global().centerHorizontally().bottom(),\n templateContext: () => {\n return {\n $implicit: config.data,\n data: config.data,\n actionsPanelRef\n } satisfies KbqActionsPanelTemplateContext<T, D, R>;\n },\n injector: Injector.create({\n parent: config.injector || this.injector,\n providers: [{ provide: KbqActionsPanelConfig, useValue: config }]\n }),\n providers: (dialogRef, _dialogConfig, container) => {\n actionsPanelRef = new KbqActionsPanelRef<T, R>(dialogRef, container as KbqActionsPanelContainer);\n\n return [\n { provide: KbqActionsPanelRef, useValue: actionsPanelRef },\n { provide: KBQ_ACTIONS_PANEL_DATA, useValue: config.data },\n // The panel is as wide as its content, and items hidden by `KbqOverflowItems` drop out of that\n // width, so the panel never grows back by itself. Observe the element that bounds it instead:\n // `overlayContainer`, or else the overlay host, which spans the viewport.\n {\n provide: KBQ_OVERFLOW_ITEMS_RESIZE_OBSERVER_TARGETS,\n useValue: [overlayContainer ? overlayContainer.nativeElement : dialogRef.overlayRef.hostElement]\n }\n ];\n }\n });\n\n const { overlayRef } = actionsPanelRef;\n\n overlayRef.addPanelClass(KBQ_ACTIONS_PANEL_OVERLAY_SELECTOR);\n\n if (overlayPanelClass) overlayRef.addPanelClass(overlayPanelClass);\n\n if (overlayContainer) {\n const { afterClosed } = actionsPanelRef;\n\n this.syncOverlayMaxWidth(overlayContainer.nativeElement, overlayRef.overlayElement);\n\n this.resizeObserver\n .observe(overlayContainer.nativeElement)\n .pipe(takeUntil(afterClosed))\n .subscribe(() => {\n if (this.syncOverlayMaxWidth(overlayContainer.nativeElement, overlayRef.overlayElement)) {\n overlayRef.updatePosition();\n }\n });\n }\n\n return actionsPanelRef;\n }\n\n private syncOverlayMaxWidth(container: HTMLElement, overlayElement: HTMLElement): boolean {\n const { width } = container.getBoundingClientRect();\n\n if (!width) return false;\n\n const maxWidth = coerceCssPixelValue(width);\n\n if (overlayElement.style.maxWidth === maxWidth) return false;\n\n overlayElement.style.maxWidth = maxWidth;\n\n return true;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { KbqActionsPanel } from './actions-panel';\nimport { KbqActionsPanelContainer } from './actions-panel-container';\n\nconst COMPONENTS = [\n KbqActionsPanelContainer\n];\n\n@NgModule({\n imports: COMPONENTS,\n providers: [KbqActionsPanel],\n exports: COMPONENTS\n})\nexport class KbqActionsPanelModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -107,7 +107,7 @@ class KbqContentPanelHeader {
|
|
|
107
107
|
</div>
|
|
108
108
|
</div>
|
|
109
109
|
<ng-content />
|
|
110
|
-
`, isInline: true, styles: [".kbq-content-panel-header{display:flex;flex-direction:column;padding:var(--kbq-size-l) var(--kbq-content-panel-vertical-padding)}.kbq-content-panel-header .kbq-content-panel-header__wrapper{display:flex
|
|
110
|
+
`, isInline: true, styles: [".kbq-content-panel-header{display:flex;flex-direction:column;padding:var(--kbq-size-l) var(--kbq-content-panel-vertical-padding)}.kbq-content-panel-header .kbq-content-panel-header__wrapper{display:flex}.kbq-content-panel-header .kbq-content-panel-header__actions{display:flex;margin-inline-start:auto}.kbq-content-panel-header .kbq-content-panel-header__close-button{margin-inline-start:var(--kbq-size-m)}.kbq-content-panel-header .kbq-content-panel-header-title{font-size:var(--kbq-typography-title-font-size);font-style:var(--kbq-typography-title-font-style);font-weight:var(--kbq-typography-title-font-weight);line-height:var(--kbq-typography-title-line-height);font-family:var(--kbq-typography-title-font-family);text-transform:var(--kbq-typography-title-text-transform);font-feature-settings:var(--kbq-typography-title-font-feature-settings);letter-spacing:var(--kbq-typography-title-letter-spacing)}.kbq-content-panel-header .kbq-content-panel-header-actions{display:flex;gap:var(--kbq-size-s)}\n"], dependencies: [{ kind: "ngmodule", type: KbqButtonModule }, { kind: "component", type: i1.KbqButton, selector: "[kbq-button]", inputs: ["kbqStyle", "disabled", "tabIndex"] }, { kind: "directive", type: i1.KbqButtonCssStyler, selector: "[kbq-button]" }, { kind: "ngmodule", type: KbqIconModule }, { kind: "component", type: i2.KbqIcon, selector: "[kbq-icon]", inputs: ["small", "autoColor", "kbq-icon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
111
111
|
}
|
|
112
112
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.30", ngImport: i0, type: KbqContentPanelHeader, decorators: [{
|
|
113
113
|
type: Component,
|
|
@@ -134,7 +134,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.30", ngImpo
|
|
|
134
134
|
`, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
|
|
135
135
|
class: 'kbq-content-panel-header',
|
|
136
136
|
'[style.box-shadow]': 'contentPanel.bodyOverflow().top ? "var(--kbq-content-panel-header-overflow-box-shadow)" : null'
|
|
137
|
-
}, styles: [".kbq-content-panel-header{display:flex;flex-direction:column;padding:var(--kbq-size-l) var(--kbq-content-panel-vertical-padding)}.kbq-content-panel-header .kbq-content-panel-header__wrapper{display:flex
|
|
137
|
+
}, styles: [".kbq-content-panel-header{display:flex;flex-direction:column;padding:var(--kbq-size-l) var(--kbq-content-panel-vertical-padding)}.kbq-content-panel-header .kbq-content-panel-header__wrapper{display:flex}.kbq-content-panel-header .kbq-content-panel-header__actions{display:flex;margin-inline-start:auto}.kbq-content-panel-header .kbq-content-panel-header__close-button{margin-inline-start:var(--kbq-size-m)}.kbq-content-panel-header .kbq-content-panel-header-title{font-size:var(--kbq-typography-title-font-size);font-style:var(--kbq-typography-title-font-style);font-weight:var(--kbq-typography-title-font-weight);line-height:var(--kbq-typography-title-line-height);font-family:var(--kbq-typography-title-font-family);text-transform:var(--kbq-typography-title-text-transform);font-feature-settings:var(--kbq-typography-title-font-feature-settings);letter-spacing:var(--kbq-typography-title-letter-spacing)}.kbq-content-panel-header .kbq-content-panel-header-actions{display:flex;gap:var(--kbq-size-s)}\n"] }]
|
|
138
138
|
}] });
|
|
139
139
|
class KbqContentPanelBody {
|
|
140
140
|
constructor() {
|
|
@@ -201,7 +201,7 @@ class KbqContentPanel {
|
|
|
201
201
|
<ng-content select="kbq-content-panel-body" />
|
|
202
202
|
<ng-content select="kbq-content-panel-footer" />
|
|
203
203
|
</div>
|
|
204
|
-
`, isInline: true, styles: [".kbq-content-panel-container{--kbq-content-panel-resizer-width: var(--kbq-size-l);--kbq-content-panel-border-radius: var(--kbq-size-l);--kbq-content-panel-background-color: var(--kbq-background-card);--kbq-content-panel-border: var(--kbq-size-border-width) solid var(--kbq-line-contrast-less);--kbq-content-panel-header-overflow-box-shadow: var(--kbq-shadow-overflow-normal-bottom);--kbq-content-panel-footer-overflow-box-shadow: var(--kbq-shadow-overflow-normal-top);--kbq-content-panel-vertical-padding: var(--kbq-size-xxl)}\n", ".kbq-content-panel{display:flex;border-radius:var(--kbq-content-panel-border-radius);background-color:var(--kbq-content-panel-background-color);border:var(--kbq-content-panel-border);height:100%;box-sizing:border-box;position:relative}.kbq-content-panel .kbq-content-panel__content{display:flex;flex:1;flex-direction:column;border-top-right-radius:inherit;border-bottom-right-radius:inherit}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
204
|
+
`, isInline: true, styles: [".kbq-content-panel-container{--kbq-content-panel-resizer-width: var(--kbq-size-l);--kbq-content-panel-border-radius: var(--kbq-size-l);--kbq-content-panel-background-color: var(--kbq-background-card);--kbq-content-panel-border: var(--kbq-size-border-width) solid var(--kbq-line-contrast-less);--kbq-content-panel-header-overflow-box-shadow: var(--kbq-shadow-overflow-normal-bottom);--kbq-content-panel-footer-overflow-box-shadow: var(--kbq-shadow-overflow-normal-top);--kbq-content-panel-vertical-padding: var(--kbq-size-xxl)}\n", ".kbq-content-panel{display:flex;flex-grow:1;min-width:0;border-radius:var(--kbq-content-panel-border-radius);background-color:var(--kbq-content-panel-background-color);border:var(--kbq-content-panel-border);height:100%;box-sizing:border-box;position:relative}.kbq-content-panel .kbq-content-panel__content{display:flex;flex:1;flex-direction:column;min-width:0;border-top-right-radius:inherit;border-bottom-right-radius:inherit}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
205
205
|
}
|
|
206
206
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.30", ngImport: i0, type: KbqContentPanel, decorators: [{
|
|
207
207
|
type: Component,
|
|
@@ -214,7 +214,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.30", ngImpo
|
|
|
214
214
|
</div>
|
|
215
215
|
`, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
|
|
216
216
|
class: 'kbq-content-panel'
|
|
217
|
-
}, styles: [".kbq-content-panel-container{--kbq-content-panel-resizer-width: var(--kbq-size-l);--kbq-content-panel-border-radius: var(--kbq-size-l);--kbq-content-panel-background-color: var(--kbq-background-card);--kbq-content-panel-border: var(--kbq-size-border-width) solid var(--kbq-line-contrast-less);--kbq-content-panel-header-overflow-box-shadow: var(--kbq-shadow-overflow-normal-bottom);--kbq-content-panel-footer-overflow-box-shadow: var(--kbq-shadow-overflow-normal-top);--kbq-content-panel-vertical-padding: var(--kbq-size-xxl)}\n", ".kbq-content-panel{display:flex;border-radius:var(--kbq-content-panel-border-radius);background-color:var(--kbq-content-panel-background-color);border:var(--kbq-content-panel-border);height:100%;box-sizing:border-box;position:relative}.kbq-content-panel .kbq-content-panel__content{display:flex;flex:1;flex-direction:column;border-top-right-radius:inherit;border-bottom-right-radius:inherit}\n"] }]
|
|
217
|
+
}, styles: [".kbq-content-panel-container{--kbq-content-panel-resizer-width: var(--kbq-size-l);--kbq-content-panel-border-radius: var(--kbq-size-l);--kbq-content-panel-background-color: var(--kbq-background-card);--kbq-content-panel-border: var(--kbq-size-border-width) solid var(--kbq-line-contrast-less);--kbq-content-panel-header-overflow-box-shadow: var(--kbq-shadow-overflow-normal-bottom);--kbq-content-panel-footer-overflow-box-shadow: var(--kbq-shadow-overflow-normal-top);--kbq-content-panel-vertical-padding: var(--kbq-size-xxl)}\n", ".kbq-content-panel{display:flex;flex-grow:1;min-width:0;border-radius:var(--kbq-content-panel-border-radius);background-color:var(--kbq-content-panel-background-color);border:var(--kbq-content-panel-border);height:100%;box-sizing:border-box;position:relative}.kbq-content-panel .kbq-content-panel__content{display:flex;flex:1;flex-direction:column;min-width:0;border-top-right-radius:inherit;border-bottom-right-radius:inherit}\n"] }]
|
|
218
218
|
}], propDecorators: { contentPanelBody: [{ type: i0.ContentChild, args: [i0.forwardRef(() => KbqContentPanelBody), { isSignal: true }] }] } });
|
|
219
219
|
class KbqContentPanelContainer {
|
|
220
220
|
constructor() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"koobiq-components-content-panel.mjs","sources":["../../../packages/components/content-panel/content-panel.ts","../../../packages/components/content-panel/module.ts","../../../packages/components/content-panel/koobiq-components-content-panel.ts"],"sourcesContent":["import { animate, state, style, transition, trigger } from '@angular/animations';\nimport {\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n contentChild,\n Directive,\n inject,\n input,\n numberAttribute,\n output,\n signal,\n viewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { takeUntilDestroyed, toObservable } from '@angular/core/rxjs-interop';\nimport { KbqButtonModule, KbqButtonStyles } from '@koobiq/components/button';\nimport {\n KbqAnimationCurves,\n KbqAnimationDurations,\n KbqComponentColors,\n KbqOverflowShadowContainer\n} from '@koobiq/components/core';\nimport { KbqIconModule } from '@koobiq/components/icon';\nimport { KbqResizable, KbqResizer, KbqResizerSizeChangeEvent } from '@koobiq/components/resizer';\nimport { KbqScrollbar, KbqScrollbarModule } from '@koobiq/components/scrollbar';\nimport { SizeL } from '@koobiq/design-tokens';\n\nconst KBQ_CONTENT_PANEL_CONTAINER_CONTENT_ANIMATION = trigger('contentAnimation', [\n state('false', style({ 'margin-right': 0 })),\n state('true', style({ 'margin-right': '{{ marginRight }}px' }), { params: { marginRight: 0 } }),\n transition('true => false', [animate(`${KbqAnimationDurations.Entering} ${KbqAnimationCurves.AccelerationCurve}`)]),\n transition('false => true', [animate(`${KbqAnimationDurations.Exiting} ${KbqAnimationCurves.DecelerationCurve}`)])\n]);\n\nconst KBQ_CONTENT_PANEL_CONTAINER_PANEL_ANIMATION = trigger('panelAnimation', [\n transition(':enter', [\n style({ transform: 'translateX(100%)' }),\n animate(\n `${KbqAnimationDurations.Entering} ${KbqAnimationCurves.DecelerationCurve}`,\n style({ transform: 'translateX(0%)' })\n )\n ]),\n transition(':leave', [\n animate(\n `${KbqAnimationDurations.Exiting} ${KbqAnimationCurves.AccelerationCurve}`,\n style({ transform: 'translateX(100%)' })\n )\n ])\n]);\n\n@Component({\n selector: 'kbq-content-panel-aside',\n template: `\n <ng-content />\n `,\n styleUrl: './content-panel-aside.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n class: 'kbq-content-panel-aside'\n },\n exportAs: 'kbqContentPanelAside'\n})\nexport class KbqContentPanelAside {}\n\n@Directive({\n selector: '[kbqContentPanelHeaderTitle]',\n host: {\n class: 'kbq-content-panel-header-title'\n },\n exportAs: 'kbqContentPanelHeaderTitle'\n})\nexport class KbqContentPanelHeaderTitle {}\n\n@Directive({\n selector: '[kbqContentPanelHeaderActions]',\n host: {\n class: 'kbq-content-panel-header-actions'\n },\n exportAs: 'kbqContentPanelHeaderActions'\n})\nexport class KbqContentPanelHeaderActions {}\n\n@Component({\n selector: 'kbq-content-panel-header',\n imports: [KbqButtonModule, KbqIconModule],\n template: `\n <div class=\"kbq-content-panel-header__wrapper\">\n <ng-content select=\"[kbqContentPanelHeaderTitle]\" />\n <div class=\"kbq-content-panel-header__actions\">\n <ng-content select=\"[kbqContentPanelHeaderActions]\" />\n @if (!contentPanelContainer.disableClose()) {\n <button\n class=\"kbq-content-panel-header__close-button\"\n kbq-button\n type=\"button\"\n [color]=\"componentColors.Contrast\"\n [kbqStyle]=\"buttonStyles.Transparent\"\n (click)=\"contentPanelContainer.close()\"\n >\n <i kbq-icon=\"kbq-xmark_16\"></i>\n </button>\n }\n </div>\n </div>\n <ng-content />\n `,\n styleUrl: './content-panel-header.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n class: 'kbq-content-panel-header',\n '[style.box-shadow]':\n 'contentPanel.bodyOverflow().top ? \"var(--kbq-content-panel-header-overflow-box-shadow)\" : null'\n }\n})\nexport class KbqContentPanelHeader {\n /**\n * @docs-private\n */\n protected readonly contentPanelContainer = inject(KbqContentPanelContainer);\n /** @docs-private */\n protected readonly contentPanel = inject(KbqContentPanel);\n /**\n * @docs-private\n */\n protected readonly buttonStyles = KbqButtonStyles;\n /**\n * @docs-private\n */\n protected readonly componentColors = KbqComponentColors;\n}\n\n@Component({\n selector: 'kbq-content-panel-body',\n imports: [KbqScrollbarModule, KbqOverflowShadowContainer],\n template: `\n <kbq-scrollbar\n #overflowContainer=\"kbqOverflowShadowContainer\"\n kbqOverflowShadowContainer\n class=\"kbq-content-panel-body__content\"\n >\n <ng-content />\n </kbq-scrollbar>\n `,\n styleUrl: './content-panel-body.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n class: 'kbq-content-panel-body'\n },\n exportAs: 'kbqContentPanelBody'\n})\nexport class KbqContentPanelBody {\n /** @docs-private */\n readonly scrollbar = viewChild.required(KbqScrollbar);\n /** @docs-private */\n readonly overflowContainer = viewChild.required(KbqOverflowShadowContainer);\n}\n\n@Component({\n selector: 'kbq-content-panel-footer',\n template: `\n <ng-content />\n `,\n styleUrl: './content-panel-footer.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n class: 'kbq-content-panel-footer',\n '[style.box-shadow]':\n 'contentPanel.bodyOverflow().bottom ? \"var(--kbq-content-panel-footer-overflow-box-shadow)\" : null'\n }\n})\nexport class KbqContentPanelFooter {\n /** @docs-private */\n protected readonly contentPanel = inject(KbqContentPanel);\n}\n\n@Component({\n selector: 'kbq-content-panel',\n template: `\n <ng-content select=\"kbq-content-panel-aside\" />\n <div class=\"kbq-content-panel__content\">\n <ng-content select=\"kbq-content-panel-header\" />\n <ng-content select=\"kbq-content-panel-body\" />\n <ng-content select=\"kbq-content-panel-footer\" />\n </div>\n `,\n styleUrls: [\n './content-panel-tokens.scss',\n './content-panel.scss'\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n class: 'kbq-content-panel'\n }\n})\nexport class KbqContentPanel {\n private readonly contentPanelBody = contentChild(KbqContentPanelBody);\n\n /** Current body overflow state. Read by the header and footer to render their `box-shadow`. */\n readonly bodyOverflow = computed(\n () => this.contentPanelBody()?.overflowContainer().overflow() ?? { top: false, bottom: false }\n );\n}\n\n@Component({\n selector: 'kbq-content-panel-container',\n imports: [KbqResizable, KbqResizer, KbqScrollbarModule],\n template: `\n <kbq-scrollbar class=\"kbq-content-panel-container__content\" [@contentAnimation]=\"contentAnimationState()\">\n <ng-content />\n </kbq-scrollbar>\n @if (openedState()) {\n <div\n @panelAnimation\n class=\"kbq-content-panel-container__panel\"\n kbqResizable\n [style.min-width.px]=\"minWidth()\"\n [style.width.px]=\"widthState()\"\n [style.max-width.px]=\"maxWidth()\"\n >\n @if (!disableResizer()) {\n <div\n class=\"kbq-content-panel-container__panel-resizer\"\n [kbqResizer]=\"[-1, 0]\"\n (sizeChange)=\"handleResizerSizeChange($event)\"\n (dblclick)=\"handleResizerDBLClick($event)\"\n ></div>\n }\n <ng-content select=\"kbq-content-panel\" />\n </div>\n }\n `,\n styleUrl: './content-panel-container.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n class: 'kbq-content-panel-container',\n '[class.kbq-content-panel-container__opened]': 'openedState()',\n '(keydown.escape)': 'handleEscapeKeydown($event)'\n },\n animations: [\n KBQ_CONTENT_PANEL_CONTAINER_CONTENT_ANIMATION,\n KBQ_CONTENT_PANEL_CONTAINER_PANEL_ANIMATION\n ],\n exportAs: 'kbqContentPanelContainer'\n})\nexport class KbqContentPanelContainer {\n /**\n * Whether the content panel is opened.\n *\n * @default false\n */\n readonly opened = input(false, { transform: booleanAttribute });\n\n /**\n * Emits event when the content panel opened state is changed.\n */\n readonly openedChange = output<boolean>();\n\n /**\n * Whether the content panel can not be closed by clicking on the close button or pressing the ESCAPE key.\n *\n * @default false\n */\n readonly disableClose = input(false, { transform: booleanAttribute });\n\n /**\n * Whether the content panel can not be closed by pressing the ESCAPE key.\n */\n readonly disableCloseByEscape = input(this.disableClose(), { transform: booleanAttribute });\n\n /**\n * Whether the content panel resizer is disabled.\n */\n readonly disableResizer = input(false, { transform: booleanAttribute });\n\n /**\n * Minimum width of the `KbqContentPanel`.\n *\n * @default 480\n */\n readonly minWidth = input(480, { transform: numberAttribute });\n\n /**\n * Width of the `KbqContentPanel`.\n *\n * @default 640\n */\n readonly width = input(640, { transform: numberAttribute });\n\n /**\n * Max width of the `KbqContentPanel`.\n *\n * @default 800\n */\n readonly maxWidth = input(800, { transform: numberAttribute });\n\n /**\n * @docs-private\n */\n protected readonly openedState = signal(this.opened());\n\n /**\n * @docs-private\n */\n protected readonly widthState = signal(this.width());\n\n /**\n * Whether the content panel is opened.\n */\n readonly isOpened = computed(() => this.openedState());\n\n /**\n * @docs-private\n */\n protected readonly contentAnimationState = computed(() => {\n return {\n value: this.openedState(),\n params: { marginRight: this.widthState() + (parseInt(SizeL) || 16) }\n };\n });\n\n constructor() {\n // TODO: Should use linked signal\n toObservable(this.opened)\n .pipe(takeUntilDestroyed())\n .subscribe((opened) => {\n this.openedState.set(opened);\n });\n\n // TODO: Should use linked signal\n toObservable(this.width)\n .pipe(takeUntilDestroyed())\n .subscribe((width) => {\n this.widthState.set(width);\n });\n }\n\n /**\n * Toggles the content panel opened state.\n */\n toggle(): void {\n this.openedState.update((state) => !state);\n this.openedChange.emit(this.openedState());\n }\n\n /**\n * Opens the content panel.\n */\n open(): void {\n if (this.openedState()) return;\n\n this.openedState.set(true);\n this.openedChange.emit(this.openedState());\n }\n\n /**\n * Closes the content panel.\n */\n close(): void {\n if (!this.openedState()) return;\n\n this.openedState.set(false);\n this.openedChange.emit(this.openedState());\n }\n\n /**\n * @docs-private\n */\n protected handleResizerDBLClick(event: MouseEvent): void {\n event.preventDefault();\n\n this.widthState.set(this.width());\n }\n\n /**\n * @docs-private\n */\n protected handleResizerSizeChange({ width }: KbqResizerSizeChangeEvent): void {\n if (width > this.maxWidth()) return this.widthState.set(this.maxWidth());\n if (width < this.minWidth()) return this.widthState.set(this.minWidth());\n\n this.widthState.set(width);\n }\n\n /**\n * @docs-private\n */\n protected handleEscapeKeydown(event: KeyboardEvent): void {\n if (!this.openedState() || this.disableClose() || this.disableCloseByEscape()) return;\n\n event.preventDefault();\n event.stopPropagation();\n\n this.close();\n }\n}\n","import { NgModule } from '@angular/core';\nimport {\n KbqContentPanel,\n KbqContentPanelAside,\n KbqContentPanelBody,\n KbqContentPanelContainer,\n KbqContentPanelFooter,\n KbqContentPanelHeader,\n KbqContentPanelHeaderActions,\n KbqContentPanelHeaderTitle\n} from './content-panel';\n\nconst COMPONENTS = [\n KbqContentPanelContainer,\n KbqContentPanel,\n KbqContentPanelAside,\n KbqContentPanelHeader,\n KbqContentPanelHeaderTitle,\n KbqContentPanelHeaderActions,\n KbqContentPanelBody,\n KbqContentPanelFooter\n];\n\n@NgModule({\n imports: COMPONENTS,\n exports: COMPONENTS\n})\nexport class KbqContentPanelModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"koobiq-components-content-panel.mjs","sources":["../../../packages/components/content-panel/content-panel.ts","../../../packages/components/content-panel/module.ts","../../../packages/components/content-panel/koobiq-components-content-panel.ts"],"sourcesContent":["import { animate, state, style, transition, trigger } from '@angular/animations';\nimport {\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n contentChild,\n Directive,\n inject,\n input,\n numberAttribute,\n output,\n signal,\n viewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { takeUntilDestroyed, toObservable } from '@angular/core/rxjs-interop';\nimport { KbqButtonModule, KbqButtonStyles } from '@koobiq/components/button';\nimport {\n KbqAnimationCurves,\n KbqAnimationDurations,\n KbqComponentColors,\n KbqOverflowShadowContainer\n} from '@koobiq/components/core';\nimport { KbqIconModule } from '@koobiq/components/icon';\nimport { KbqResizable, KbqResizer, KbqResizerSizeChangeEvent } from '@koobiq/components/resizer';\nimport { KbqScrollbar, KbqScrollbarModule } from '@koobiq/components/scrollbar';\nimport { SizeL } from '@koobiq/design-tokens';\n\nconst KBQ_CONTENT_PANEL_CONTAINER_CONTENT_ANIMATION = trigger('contentAnimation', [\n state('false', style({ 'margin-right': 0 })),\n state('true', style({ 'margin-right': '{{ marginRight }}px' }), { params: { marginRight: 0 } }),\n transition('true => false', [animate(`${KbqAnimationDurations.Entering} ${KbqAnimationCurves.AccelerationCurve}`)]),\n transition('false => true', [animate(`${KbqAnimationDurations.Exiting} ${KbqAnimationCurves.DecelerationCurve}`)])\n]);\n\nconst KBQ_CONTENT_PANEL_CONTAINER_PANEL_ANIMATION = trigger('panelAnimation', [\n transition(':enter', [\n style({ transform: 'translateX(100%)' }),\n animate(\n `${KbqAnimationDurations.Entering} ${KbqAnimationCurves.DecelerationCurve}`,\n style({ transform: 'translateX(0%)' })\n )\n ]),\n transition(':leave', [\n animate(\n `${KbqAnimationDurations.Exiting} ${KbqAnimationCurves.AccelerationCurve}`,\n style({ transform: 'translateX(100%)' })\n )\n ])\n]);\n\n@Component({\n selector: 'kbq-content-panel-aside',\n template: `\n <ng-content />\n `,\n styleUrl: './content-panel-aside.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n class: 'kbq-content-panel-aside'\n },\n exportAs: 'kbqContentPanelAside'\n})\nexport class KbqContentPanelAside {}\n\n@Directive({\n selector: '[kbqContentPanelHeaderTitle]',\n host: {\n class: 'kbq-content-panel-header-title'\n },\n exportAs: 'kbqContentPanelHeaderTitle'\n})\nexport class KbqContentPanelHeaderTitle {}\n\n@Directive({\n selector: '[kbqContentPanelHeaderActions]',\n host: {\n class: 'kbq-content-panel-header-actions'\n },\n exportAs: 'kbqContentPanelHeaderActions'\n})\nexport class KbqContentPanelHeaderActions {}\n\n@Component({\n selector: 'kbq-content-panel-header',\n imports: [KbqButtonModule, KbqIconModule],\n template: `\n <div class=\"kbq-content-panel-header__wrapper\">\n <ng-content select=\"[kbqContentPanelHeaderTitle]\" />\n <div class=\"kbq-content-panel-header__actions\">\n <ng-content select=\"[kbqContentPanelHeaderActions]\" />\n @if (!contentPanelContainer.disableClose()) {\n <button\n class=\"kbq-content-panel-header__close-button\"\n kbq-button\n type=\"button\"\n [color]=\"componentColors.Contrast\"\n [kbqStyle]=\"buttonStyles.Transparent\"\n (click)=\"contentPanelContainer.close()\"\n >\n <i kbq-icon=\"kbq-xmark_16\"></i>\n </button>\n }\n </div>\n </div>\n <ng-content />\n `,\n styleUrl: './content-panel-header.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n class: 'kbq-content-panel-header',\n '[style.box-shadow]':\n 'contentPanel.bodyOverflow().top ? \"var(--kbq-content-panel-header-overflow-box-shadow)\" : null'\n }\n})\nexport class KbqContentPanelHeader {\n /**\n * @docs-private\n */\n protected readonly contentPanelContainer = inject(KbqContentPanelContainer);\n /** @docs-private */\n protected readonly contentPanel = inject(KbqContentPanel);\n /**\n * @docs-private\n */\n protected readonly buttonStyles = KbqButtonStyles;\n /**\n * @docs-private\n */\n protected readonly componentColors = KbqComponentColors;\n}\n\n@Component({\n selector: 'kbq-content-panel-body',\n imports: [KbqScrollbarModule, KbqOverflowShadowContainer],\n template: `\n <kbq-scrollbar\n #overflowContainer=\"kbqOverflowShadowContainer\"\n kbqOverflowShadowContainer\n class=\"kbq-content-panel-body__content\"\n >\n <ng-content />\n </kbq-scrollbar>\n `,\n styleUrl: './content-panel-body.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n class: 'kbq-content-panel-body'\n },\n exportAs: 'kbqContentPanelBody'\n})\nexport class KbqContentPanelBody {\n /** @docs-private */\n readonly scrollbar = viewChild.required(KbqScrollbar);\n /** @docs-private */\n readonly overflowContainer = viewChild.required(KbqOverflowShadowContainer);\n}\n\n@Component({\n selector: 'kbq-content-panel-footer',\n template: `\n <ng-content />\n `,\n styleUrl: './content-panel-footer.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n class: 'kbq-content-panel-footer',\n '[style.box-shadow]':\n 'contentPanel.bodyOverflow().bottom ? \"var(--kbq-content-panel-footer-overflow-box-shadow)\" : null'\n }\n})\nexport class KbqContentPanelFooter {\n /** @docs-private */\n protected readonly contentPanel = inject(KbqContentPanel);\n}\n\n@Component({\n selector: 'kbq-content-panel',\n template: `\n <ng-content select=\"kbq-content-panel-aside\" />\n <div class=\"kbq-content-panel__content\">\n <ng-content select=\"kbq-content-panel-header\" />\n <ng-content select=\"kbq-content-panel-body\" />\n <ng-content select=\"kbq-content-panel-footer\" />\n </div>\n `,\n styleUrls: [\n './content-panel-tokens.scss',\n './content-panel.scss'\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n class: 'kbq-content-panel'\n }\n})\nexport class KbqContentPanel {\n private readonly contentPanelBody = contentChild(KbqContentPanelBody);\n\n /** Current body overflow state. Read by the header and footer to render their `box-shadow`. */\n readonly bodyOverflow = computed(\n () => this.contentPanelBody()?.overflowContainer().overflow() ?? { top: false, bottom: false }\n );\n}\n\n@Component({\n selector: 'kbq-content-panel-container',\n imports: [KbqResizable, KbqResizer, KbqScrollbarModule],\n template: `\n <kbq-scrollbar class=\"kbq-content-panel-container__content\" [@contentAnimation]=\"contentAnimationState()\">\n <ng-content />\n </kbq-scrollbar>\n @if (openedState()) {\n <div\n @panelAnimation\n class=\"kbq-content-panel-container__panel\"\n kbqResizable\n [style.min-width.px]=\"minWidth()\"\n [style.width.px]=\"widthState()\"\n [style.max-width.px]=\"maxWidth()\"\n >\n @if (!disableResizer()) {\n <div\n class=\"kbq-content-panel-container__panel-resizer\"\n [kbqResizer]=\"[-1, 0]\"\n (sizeChange)=\"handleResizerSizeChange($event)\"\n (dblclick)=\"handleResizerDBLClick($event)\"\n ></div>\n }\n <ng-content select=\"kbq-content-panel\" />\n </div>\n }\n `,\n styleUrl: './content-panel-container.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n class: 'kbq-content-panel-container',\n '[class.kbq-content-panel-container__opened]': 'openedState()',\n '(keydown.escape)': 'handleEscapeKeydown($event)'\n },\n animations: [\n KBQ_CONTENT_PANEL_CONTAINER_CONTENT_ANIMATION,\n KBQ_CONTENT_PANEL_CONTAINER_PANEL_ANIMATION\n ],\n exportAs: 'kbqContentPanelContainer'\n})\nexport class KbqContentPanelContainer {\n /**\n * Whether the content panel is opened.\n *\n * @default false\n */\n readonly opened = input(false, { transform: booleanAttribute });\n\n /**\n * Emits event when the content panel opened state is changed.\n */\n readonly openedChange = output<boolean>();\n\n /**\n * Whether the content panel can not be closed by clicking on the close button or pressing the ESCAPE key.\n *\n * @default false\n */\n readonly disableClose = input(false, { transform: booleanAttribute });\n\n /**\n * Whether the content panel can not be closed by pressing the ESCAPE key.\n */\n readonly disableCloseByEscape = input(this.disableClose(), { transform: booleanAttribute });\n\n /**\n * Whether the content panel resizer is disabled.\n */\n readonly disableResizer = input(false, { transform: booleanAttribute });\n\n /**\n * Minimum width of the `KbqContentPanel`.\n *\n * @default 480\n */\n readonly minWidth = input(480, { transform: numberAttribute });\n\n /**\n * Width of the `KbqContentPanel`.\n *\n * @default 640\n */\n readonly width = input(640, { transform: numberAttribute });\n\n /**\n * Max width of the `KbqContentPanel`.\n *\n * @default 800\n */\n readonly maxWidth = input(800, { transform: numberAttribute });\n\n /**\n * @docs-private\n */\n protected readonly openedState = signal(this.opened());\n\n /**\n * @docs-private\n */\n protected readonly widthState = signal(this.width());\n\n /**\n * Whether the content panel is opened.\n */\n readonly isOpened = computed(() => this.openedState());\n\n /**\n * @docs-private\n */\n protected readonly contentAnimationState = computed(() => {\n return {\n value: this.openedState(),\n params: { marginRight: this.widthState() + (parseInt(SizeL) || 16) }\n };\n });\n\n constructor() {\n // TODO: Should use linked signal\n toObservable(this.opened)\n .pipe(takeUntilDestroyed())\n .subscribe((opened) => {\n this.openedState.set(opened);\n });\n\n // TODO: Should use linked signal\n toObservable(this.width)\n .pipe(takeUntilDestroyed())\n .subscribe((width) => {\n this.widthState.set(width);\n });\n }\n\n /**\n * Toggles the content panel opened state.\n */\n toggle(): void {\n this.openedState.update((state) => !state);\n this.openedChange.emit(this.openedState());\n }\n\n /**\n * Opens the content panel.\n */\n open(): void {\n if (this.openedState()) return;\n\n this.openedState.set(true);\n this.openedChange.emit(this.openedState());\n }\n\n /**\n * Closes the content panel.\n */\n close(): void {\n if (!this.openedState()) return;\n\n this.openedState.set(false);\n this.openedChange.emit(this.openedState());\n }\n\n /**\n * @docs-private\n */\n protected handleResizerDBLClick(event: MouseEvent): void {\n event.preventDefault();\n\n this.widthState.set(this.width());\n }\n\n /**\n * @docs-private\n */\n protected handleResizerSizeChange({ width }: KbqResizerSizeChangeEvent): void {\n if (width > this.maxWidth()) return this.widthState.set(this.maxWidth());\n if (width < this.minWidth()) return this.widthState.set(this.minWidth());\n\n this.widthState.set(width);\n }\n\n /**\n * @docs-private\n */\n protected handleEscapeKeydown(event: KeyboardEvent): void {\n if (!this.openedState() || this.disableClose() || this.disableCloseByEscape()) return;\n\n event.preventDefault();\n event.stopPropagation();\n\n this.close();\n }\n}\n","import { NgModule } from '@angular/core';\nimport {\n KbqContentPanel,\n KbqContentPanelAside,\n KbqContentPanelBody,\n KbqContentPanelContainer,\n KbqContentPanelFooter,\n KbqContentPanelHeader,\n KbqContentPanelHeaderActions,\n KbqContentPanelHeaderTitle\n} from './content-panel';\n\nconst COMPONENTS = [\n KbqContentPanelContainer,\n KbqContentPanel,\n KbqContentPanelAside,\n KbqContentPanelHeader,\n KbqContentPanelHeaderTitle,\n KbqContentPanelHeaderActions,\n KbqContentPanelBody,\n KbqContentPanelFooter\n];\n\n@NgModule({\n imports: COMPONENTS,\n exports: COMPONENTS\n})\nexport class KbqContentPanelModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -1882,7 +1882,8 @@ const enUSLocaleData = {
|
|
|
1882
1882
|
removeButtonTooltip: 'Delete',
|
|
1883
1883
|
applyButton: 'Apply',
|
|
1884
1884
|
emptySearchResult: 'Nothing found',
|
|
1885
|
-
selectAll: 'Select all'
|
|
1885
|
+
selectAll: 'Select all',
|
|
1886
|
+
noOptions: 'No options'
|
|
1886
1887
|
},
|
|
1887
1888
|
datePipe: {
|
|
1888
1889
|
customPeriod: 'Custom period',
|
|
@@ -2129,7 +2130,8 @@ const esLALocaleData = {
|
|
|
2129
2130
|
removeButtonTooltip: 'Eliminar',
|
|
2130
2131
|
applyButton: 'Aplicar',
|
|
2131
2132
|
emptySearchResult: 'No se encontró nada',
|
|
2132
|
-
selectAll: 'Seleccionar todo'
|
|
2133
|
+
selectAll: 'Seleccionar todo',
|
|
2134
|
+
noOptions: 'Sin opciones'
|
|
2133
2135
|
},
|
|
2134
2136
|
datePipe: {
|
|
2135
2137
|
customPeriod: 'Personalizar período',
|
|
@@ -2570,7 +2572,8 @@ const ptBRLocaleData = {
|
|
|
2570
2572
|
removeButtonTooltip: 'Deletar',
|
|
2571
2573
|
applyButton: 'Aplicar',
|
|
2572
2574
|
emptySearchResult: 'Nada encontrado',
|
|
2573
|
-
selectAll: 'Selecionar todos'
|
|
2575
|
+
selectAll: 'Selecionar todos',
|
|
2576
|
+
noOptions: 'Sem opções'
|
|
2574
2577
|
},
|
|
2575
2578
|
datePipe: {
|
|
2576
2579
|
customPeriod: 'Selecionar período',
|
|
@@ -2815,7 +2818,8 @@ const ruRULocaleData = {
|
|
|
2815
2818
|
removeButtonTooltip: 'Удалить',
|
|
2816
2819
|
applyButton: 'Применить',
|
|
2817
2820
|
emptySearchResult: 'Ничего не найдено',
|
|
2818
|
-
selectAll: 'Выбрать все'
|
|
2821
|
+
selectAll: 'Выбрать все',
|
|
2822
|
+
noOptions: 'Нет доступных опций'
|
|
2819
2823
|
},
|
|
2820
2824
|
datePipe: {
|
|
2821
2825
|
customPeriod: 'Произвольный период',
|
|
@@ -3077,7 +3081,8 @@ const tkTMLocaleData = {
|
|
|
3077
3081
|
removeButtonTooltip: 'Ýokla',
|
|
3078
3082
|
applyButton: 'Ulan',
|
|
3079
3083
|
emptySearchResult: 'Hiç zat tapylmady',
|
|
3080
|
-
selectAll: 'Ählisini saýla'
|
|
3084
|
+
selectAll: 'Ählisini saýla',
|
|
3085
|
+
noOptions: 'Wariant ýok'
|
|
3081
3086
|
},
|
|
3082
3087
|
datePipe: {
|
|
3083
3088
|
customPeriod: 'Laýyk döwür',
|
|
@@ -8696,7 +8701,7 @@ const validationTooltipShowDelay = 10;
|
|
|
8696
8701
|
*/
|
|
8697
8702
|
const validationTooltipHideDelay = 3000;
|
|
8698
8703
|
|
|
8699
|
-
const VERSION = new Version('20.4.
|
|
8704
|
+
const VERSION = new Version('20.4.5+sha-f270ef7');
|
|
8700
8705
|
|
|
8701
8706
|
/**
|
|
8702
8707
|
* Generated bundle index. Do not edit.
|