@libs-ui/components-radio-single 0.1.1-1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md ADDED
@@ -0,0 +1,3 @@
1
+ # radio-single
2
+
3
+ This library was generated with [Nx](https://nx.dev).
@@ -0,0 +1,3 @@
1
+ export * from './radio.component';
2
+ export * from './interfaces';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzLXVpL2NvbXBvbmVudHMvcmFkaW8vc2luZ2xlL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9yYWRpby5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9pbnRlcmZhY2VzJztcbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export * from './radio.interface';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzLXVpL2NvbXBvbmVudHMvcmFkaW8vc2luZ2xlL3NyYy9pbnRlcmZhY2VzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsbUJBQW1CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3JhZGlvLmludGVyZmFjZSc7XG4iXX0=
@@ -0,0 +1,3 @@
1
+ /* eslint-disable @typescript-eslint/no-explicit-any */
2
+ export {};
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8uaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy11aS9jb21wb25lbnRzL3JhZGlvL3NpbmdsZS9zcmMvaW50ZXJmYWNlcy9yYWRpby5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdURBQXVEIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xuXG5pbXBvcnQgeyBJQXZhdGFyQ29uZmlnIH0gZnJvbSAnQGxpYnMtdWkvY29tcG9uZW50cy1hdmF0YXInO1xuaW1wb3J0IHsgSVBvcG92ZXIgfSBmcm9tICdAbGlicy11aS9jb21wb25lbnRzLXBvcG92ZXInO1xuXG5leHBvcnQgaW50ZXJmYWNlIElSYWRpb0l0ZW0ge1xuICBrZXk6IGFueTtcbiAgYWN0aXZlOiBib29sZWFuO1xuICBjbGFzc0luY2x1ZGU/OiBzdHJpbmc7XG4gIGxhYmVsPzogc3RyaW5nO1xuICBsYWJlbEludGVycG9sYXRlUGFyYW1zPzogUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG4gIGlnbm9yZVBvcG92ZXJMYWJlbD86IGJvb2xlYW47XG4gIGNsYXNzTGFiZWxJbmNsdWRlPzogc3RyaW5nO1xuICBwb3BvdmVyPzogSVBvcG92ZXI7XG4gIGRpc2FibGU/OiBib29sZWFuO1xuICBkaXNhYmxlTGFiZWw/OiBib29sZWFuO1xuICBjbGlja0V4YWN0bHk/OiBib29sZWFuO1xuICB6SW5kZXhMYWJlbD86IG51bWJlcjtcbiAgYXZhdGFyQ29uZmlnPzogSUF2YXRhckNvbmZpZztcbiAgZGF0YT86IGFueTtcbiAgW2tleTogc3RyaW5nXTogYW55O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElSYWRpb0V2ZW50IHtcbiAgYWN0aXZlOiBib29sZWFuO1xuICBrZXk6IGFueTtcbiAgaXRlbT86IGFueTtcbn1cbiJdfQ==
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './index';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlicy11aS1jb21wb25lbnRzLXJhZGlvLXNpbmdsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMtdWkvY29tcG9uZW50cy9yYWRpby9zaW5nbGUvc3JjL2xpYnMtdWktY29tcG9uZW50cy1yYWRpby1zaW5nbGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0=
@@ -0,0 +1,104 @@
1
+ /* eslint-disable @typescript-eslint/no-explicit-any */
2
+ import { ChangeDetectionStrategy, Component, computed, effect, input, model, output, signal, untracked, viewChild } from '@angular/core';
3
+ import { LibsUiComponentsAvatarComponent } from '@libs-ui/components-avatar';
4
+ import { LibsUiComponentsPopoverComponent } from '@libs-ui/components-popover';
5
+ import { TranslateModule } from '@ngx-translate/core';
6
+ import { Subject, fromEvent } from 'rxjs';
7
+ import { take, takeUntil } from 'rxjs/operators';
8
+ import { NgComponentOutlet } from '@angular/common';
9
+ import * as i0 from "@angular/core";
10
+ import * as i1 from "@ngx-translate/core";
11
+ export class LibsUiComponentsRadioSingleComponent {
12
+ // #region PROPERTY
13
+ linkImageDisplay = signal('');
14
+ dataComponentOutletComputed = computed(() => {
15
+ if (!this.componentOutlet()) {
16
+ return undefined;
17
+ }
18
+ return {
19
+ component: this.componentOutlet(),
20
+ inputs: this.dataComponentOutlet() || {},
21
+ };
22
+ });
23
+ onDestroy = new Subject();
24
+ // #region INPUT
25
+ key = input();
26
+ active = model(false);
27
+ classInclude = input('');
28
+ label = input('');
29
+ labelInterpolateParams = input({}, { transform: (value) => value || {} });
30
+ ignorePopoverLabel = input();
31
+ classLabelInclude = input('libs-ui-font-h4r ', { transform: (value) => value || '' });
32
+ linkImage = input('');
33
+ linkImageError = input('');
34
+ avatarConfig = input();
35
+ classImageInclude = input('');
36
+ imgTypeIcon = input();
37
+ bullet = input();
38
+ popover = input();
39
+ disable = input();
40
+ disableLabel = input();
41
+ clickExactly = input(true, { transform: (value) => value ?? true });
42
+ typeRadio = input('normal', { transform: (value) => value || 'normal' });
43
+ ignoreRadio = input();
44
+ zIndexLabel = input(1200, { transform: (value) => value ?? 1200 });
45
+ classIncludeIcon = input('', { transform: (value) => value || '' });
46
+ dataComponentOutlet = input();
47
+ componentOutlet = input();
48
+ // #region OUTPUT
49
+ outClickLabel = output();
50
+ outChange = output();
51
+ outChangStageFlagMousePopover = output();
52
+ /* VIEW CHILD */
53
+ imageEl = viewChild('imageEl');
54
+ constructor() {
55
+ effect(() => {
56
+ this.linkImage();
57
+ untracked(() => this.linkImageDisplay.set(this.linkImage()));
58
+ });
59
+ }
60
+ ngAfterViewInit() {
61
+ if (this.imageEl()) {
62
+ fromEvent(this.imageEl()?.nativeElement, 'error')
63
+ .pipe(take(1), takeUntil(this.onDestroy))
64
+ .subscribe(() => {
65
+ this.linkImageDisplay.set(this.linkImageError());
66
+ });
67
+ }
68
+ }
69
+ /* FUNCTIONS */
70
+ async handlerClick(e) {
71
+ if (this.clickExactly()) {
72
+ return;
73
+ }
74
+ e.stopPropagation();
75
+ this.changeActive();
76
+ }
77
+ async handlerEventLabel(type) {
78
+ if (type === 'click') {
79
+ this.outClickLabel.emit();
80
+ this.changeActive();
81
+ }
82
+ }
83
+ async changeActive() {
84
+ if (this.active() || this.disable()) {
85
+ return;
86
+ }
87
+ this.active.update((value) => !value);
88
+ this.outChange.emit({ active: this.active(), key: this.key() });
89
+ }
90
+ async handlerChangStageFlagMouse(flag) {
91
+ this.outChangStageFlagMousePopover.emit(flag);
92
+ }
93
+ ngOnDestroy() {
94
+ this.onDestroy.next();
95
+ this.onDestroy.complete();
96
+ }
97
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: LibsUiComponentsRadioSingleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
98
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: LibsUiComponentsRadioSingleComponent, isStandalone: true, selector: "libs_ui-components-radio-single", inputs: { key: { classPropertyName: "key", publicName: "key", isSignal: true, isRequired: false, transformFunction: null }, active: { classPropertyName: "active", publicName: "active", isSignal: true, isRequired: false, transformFunction: null }, classInclude: { classPropertyName: "classInclude", publicName: "classInclude", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, labelInterpolateParams: { classPropertyName: "labelInterpolateParams", publicName: "labelInterpolateParams", isSignal: true, isRequired: false, transformFunction: null }, ignorePopoverLabel: { classPropertyName: "ignorePopoverLabel", publicName: "ignorePopoverLabel", isSignal: true, isRequired: false, transformFunction: null }, classLabelInclude: { classPropertyName: "classLabelInclude", publicName: "classLabelInclude", isSignal: true, isRequired: false, transformFunction: null }, linkImage: { classPropertyName: "linkImage", publicName: "linkImage", isSignal: true, isRequired: false, transformFunction: null }, linkImageError: { classPropertyName: "linkImageError", publicName: "linkImageError", isSignal: true, isRequired: false, transformFunction: null }, avatarConfig: { classPropertyName: "avatarConfig", publicName: "avatarConfig", isSignal: true, isRequired: false, transformFunction: null }, classImageInclude: { classPropertyName: "classImageInclude", publicName: "classImageInclude", isSignal: true, isRequired: false, transformFunction: null }, imgTypeIcon: { classPropertyName: "imgTypeIcon", publicName: "imgTypeIcon", isSignal: true, isRequired: false, transformFunction: null }, bullet: { classPropertyName: "bullet", publicName: "bullet", isSignal: true, isRequired: false, transformFunction: null }, popover: { classPropertyName: "popover", publicName: "popover", isSignal: true, isRequired: false, transformFunction: null }, disable: { classPropertyName: "disable", publicName: "disable", isSignal: true, isRequired: false, transformFunction: null }, disableLabel: { classPropertyName: "disableLabel", publicName: "disableLabel", isSignal: true, isRequired: false, transformFunction: null }, clickExactly: { classPropertyName: "clickExactly", publicName: "clickExactly", isSignal: true, isRequired: false, transformFunction: null }, typeRadio: { classPropertyName: "typeRadio", publicName: "typeRadio", isSignal: true, isRequired: false, transformFunction: null }, ignoreRadio: { classPropertyName: "ignoreRadio", publicName: "ignoreRadio", isSignal: true, isRequired: false, transformFunction: null }, zIndexLabel: { classPropertyName: "zIndexLabel", publicName: "zIndexLabel", isSignal: true, isRequired: false, transformFunction: null }, classIncludeIcon: { classPropertyName: "classIncludeIcon", publicName: "classIncludeIcon", isSignal: true, isRequired: false, transformFunction: null }, dataComponentOutlet: { classPropertyName: "dataComponentOutlet", publicName: "dataComponentOutlet", isSignal: true, isRequired: false, transformFunction: null }, componentOutlet: { classPropertyName: "componentOutlet", publicName: "componentOutlet", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { active: "activeChange", outClickLabel: "outClickLabel", outChange: "outChange", outChangStageFlagMousePopover: "outChangStageFlagMousePopover" }, viewQueries: [{ propertyName: "imageEl", first: true, predicate: ["imageEl"], descendants: true, isSignal: true }], ngImport: i0, template: "<div\n [class]=\"'libs-ui-radio ' + classInclude()\"\n [class.cursor-pointer]=\"!clickExactly()\"\n (click)=\"handlerClick($event)\">\n @if (!ignoreRadio()) {\n <div\n [class.libs-ui-icon-radio-unselected]=\"!active()\"\n [class.text-[#6a7383]]=\"!active()\"\n [class.libs-ui-icon-radio-selected]=\"active()\"\n [class.libs-ui-disable]=\"disable()\"\n [class.libs-ui-disable-active]=\"disable() && active()\"\n [class.pointer-events-none]=\"disable()\"\n [class]=\"classIncludeIcon() + ' libs-ui-radio-type-' + typeRadio()\"\n (click)=\"handlerEventLabel('click')\"></div>\n }\n @if (linkImageDisplay()) {\n <img\n #imageEl\n [src]=\"linkImageDisplay()\"\n [class]=\"'libs-ui-radio-image ' + classImageInclude()\"\n [class.cursor-default]=\"disable()\"\n [class.w-[18px]]=\"imgTypeIcon()\"\n [class.h-[18px]]=\"imgTypeIcon()\"\n (click)=\"handlerEventLabel('click')\" />\n }\n @if (avatarConfig(); as avatarConfig) {\n <libs_ui-components-avatar\n [typeShape]=\"avatarConfig.typeShape || 'circle'\"\n [classInclude]=\"avatarConfig.classInclude\"\n [size]=\"avatarConfig.size || 24\"\n [linkAvatar]=\"avatarConfig.linkAvatar\"\n [linkAvatarError]=\"avatarConfig.linkAvatarError\"\n [idGenColor]=\"avatarConfig.idGenColor\"\n [textAvatar]=\"avatarConfig.textAvatar\" />\n }\n @if (bullet(); as bulletConfig) {\n <div\n class=\"libs-ui-radio-bullet\"\n [style.background-color]=\"bulletConfig['backgroundColor']\"\n [class.cursor-default]=\"disable()\"\n (click)=\"handlerEventLabel('click')\"></div>\n }\n @if (label()) {\n <libs_ui-components-popover\n type=\"text\"\n [attr.isLabel]=\"true\"\n [classInclude]=\"classLabelInclude() + (disable() ? ' cursor-default' : ' cursor-pointer')\"\n [ignoreCursorPointerModeLikeClick]=\"disable()\"\n [class.libs-ui-disable]=\"disableLabel()\"\n [ignoreShowPopover]=\"ignorePopoverLabel()\"\n [config]=\"{ content: label(), timerDestroy: 50, zIndex: zIndexLabel() }\"\n [innerHTML]=\"label() | translate: labelInterpolateParams()\"\n (outChangStageFlagMouse)=\"handlerChangStageFlagMouse($event)\"\n (outEvent)=\"handlerEventLabel($event)\" />\n }\n @if (popover(); as popover) {\n @if (!popover.dataView) {\n <i\n LibsUiComponentsPopoverDirective\n [config]=\"popover.config\"\n [class]=\"popover.classInclude ?? 'libs-ui-icon-tooltip-outline'\"\n (outChangStageFlagMouse)=\"handlerChangStageFlagMouse($event)\"></i>\n }\n @if (popover.dataView) {\n @let constHtmlDataView = popover.dataView || ' ';\n <div\n LibsUiComponentsPopoverDirective\n [config]=\"popover.config\"\n [innerHtml]=\"constHtmlDataView | translate\"\n (outChangStageFlagMouse)=\"handlerChangStageFlagMouse($event)\"></div>\n }\n }\n @if (dataComponentOutletComputed(); as dataComponentOutletComputed) {\n <ng-container *ngComponentOutlet=\"dataComponentOutletComputed.component; inputs: dataComponentOutletComputed.inputs\" />\n }\n</div>\n", styles: [":host .libs-ui-radio{display:flex;align-items:center}:host .libs-ui-radio .libs-ui-icon-radio-unselected,:host .libs-ui-radio .libs-ui-icon-radio-selected{margin-right:8px;font-size:16px;cursor:pointer}:host .libs-ui-radio .libs-ui-radio-type-medium:before{font-size:20px!important}:host .libs-ui-radio .libs-ui-radio-image{width:24px;height:24px;margin-right:8px;border-radius:12px;border:solid 1px #e6e8ed;cursor:pointer}:host .libs-ui-radio .libs-ui-radio-bullet{min-width:10px;min-height:10px;border-radius:50%;margin-right:8px;cursor:pointer}:host .libs-ui-radio libs_ui-components-popover[isLabel=true]{max-width:100%;margin-right:8px}:host .libs-ui-radio .libs-ui-icon-radio-selected:before{color:var(--libs-ui-color-default, #226ff5)}:host .libs-ui-radio .libs-ui-radio-tooltip-icon{font-size:16px}:host .libs-ui-radio>[class*=libs-ui-icon]{font-size:16px;cursor:pointer;margin-right:8px}\n"], dependencies: [{ kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }, { kind: "directive", type: NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"] }, { kind: "component", type: LibsUiComponentsAvatarComponent, selector: "libs_ui-components-avatar", inputs: ["typeShape", "classInclude", "size", "linkAvatar", "linkAvatarError", "classImageInclude", "zIndexPreviewImage", "clickPreviewImage", "idGenColor", "getLastTextAfterSpace", "textAvatar", "textAvatarClassInclude", "containertextAvatarClassInclude"], outputs: ["outAvatarError", "outEventPreviewImage"] }, { kind: "component", type: LibsUiComponentsPopoverComponent, selector: "libs_ui-components-popover,[LibsUiComponentsPopoverDirective]", inputs: ["debugId", "flagMouse", "type", "mode", "config", "ignoreShowPopover", "elementRefCustom", "initEventInElementRefCustom", "classInclude", "ignoreHiddenPopoverContentWhenMouseLeave", "ignoreStopPropagationEvent", "ignoreCursorPointerModeLikeClick", "isAddContentToParentDocument", "ignoreClickOutside"], outputs: ["outEvent", "outChangStageFlagMouse", "outEventPopoverContent", "outFunctionsControl"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
99
+ }
100
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: LibsUiComponentsRadioSingleComponent, decorators: [{
101
+ type: Component,
102
+ args: [{ selector: 'libs_ui-components-radio-single', standalone: true, imports: [TranslateModule, NgComponentOutlet, LibsUiComponentsAvatarComponent, LibsUiComponentsPopoverComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n [class]=\"'libs-ui-radio ' + classInclude()\"\n [class.cursor-pointer]=\"!clickExactly()\"\n (click)=\"handlerClick($event)\">\n @if (!ignoreRadio()) {\n <div\n [class.libs-ui-icon-radio-unselected]=\"!active()\"\n [class.text-[#6a7383]]=\"!active()\"\n [class.libs-ui-icon-radio-selected]=\"active()\"\n [class.libs-ui-disable]=\"disable()\"\n [class.libs-ui-disable-active]=\"disable() && active()\"\n [class.pointer-events-none]=\"disable()\"\n [class]=\"classIncludeIcon() + ' libs-ui-radio-type-' + typeRadio()\"\n (click)=\"handlerEventLabel('click')\"></div>\n }\n @if (linkImageDisplay()) {\n <img\n #imageEl\n [src]=\"linkImageDisplay()\"\n [class]=\"'libs-ui-radio-image ' + classImageInclude()\"\n [class.cursor-default]=\"disable()\"\n [class.w-[18px]]=\"imgTypeIcon()\"\n [class.h-[18px]]=\"imgTypeIcon()\"\n (click)=\"handlerEventLabel('click')\" />\n }\n @if (avatarConfig(); as avatarConfig) {\n <libs_ui-components-avatar\n [typeShape]=\"avatarConfig.typeShape || 'circle'\"\n [classInclude]=\"avatarConfig.classInclude\"\n [size]=\"avatarConfig.size || 24\"\n [linkAvatar]=\"avatarConfig.linkAvatar\"\n [linkAvatarError]=\"avatarConfig.linkAvatarError\"\n [idGenColor]=\"avatarConfig.idGenColor\"\n [textAvatar]=\"avatarConfig.textAvatar\" />\n }\n @if (bullet(); as bulletConfig) {\n <div\n class=\"libs-ui-radio-bullet\"\n [style.background-color]=\"bulletConfig['backgroundColor']\"\n [class.cursor-default]=\"disable()\"\n (click)=\"handlerEventLabel('click')\"></div>\n }\n @if (label()) {\n <libs_ui-components-popover\n type=\"text\"\n [attr.isLabel]=\"true\"\n [classInclude]=\"classLabelInclude() + (disable() ? ' cursor-default' : ' cursor-pointer')\"\n [ignoreCursorPointerModeLikeClick]=\"disable()\"\n [class.libs-ui-disable]=\"disableLabel()\"\n [ignoreShowPopover]=\"ignorePopoverLabel()\"\n [config]=\"{ content: label(), timerDestroy: 50, zIndex: zIndexLabel() }\"\n [innerHTML]=\"label() | translate: labelInterpolateParams()\"\n (outChangStageFlagMouse)=\"handlerChangStageFlagMouse($event)\"\n (outEvent)=\"handlerEventLabel($event)\" />\n }\n @if (popover(); as popover) {\n @if (!popover.dataView) {\n <i\n LibsUiComponentsPopoverDirective\n [config]=\"popover.config\"\n [class]=\"popover.classInclude ?? 'libs-ui-icon-tooltip-outline'\"\n (outChangStageFlagMouse)=\"handlerChangStageFlagMouse($event)\"></i>\n }\n @if (popover.dataView) {\n @let constHtmlDataView = popover.dataView || ' ';\n <div\n LibsUiComponentsPopoverDirective\n [config]=\"popover.config\"\n [innerHtml]=\"constHtmlDataView | translate\"\n (outChangStageFlagMouse)=\"handlerChangStageFlagMouse($event)\"></div>\n }\n }\n @if (dataComponentOutletComputed(); as dataComponentOutletComputed) {\n <ng-container *ngComponentOutlet=\"dataComponentOutletComputed.component; inputs: dataComponentOutletComputed.inputs\" />\n }\n</div>\n", styles: [":host .libs-ui-radio{display:flex;align-items:center}:host .libs-ui-radio .libs-ui-icon-radio-unselected,:host .libs-ui-radio .libs-ui-icon-radio-selected{margin-right:8px;font-size:16px;cursor:pointer}:host .libs-ui-radio .libs-ui-radio-type-medium:before{font-size:20px!important}:host .libs-ui-radio .libs-ui-radio-image{width:24px;height:24px;margin-right:8px;border-radius:12px;border:solid 1px #e6e8ed;cursor:pointer}:host .libs-ui-radio .libs-ui-radio-bullet{min-width:10px;min-height:10px;border-radius:50%;margin-right:8px;cursor:pointer}:host .libs-ui-radio libs_ui-components-popover[isLabel=true]{max-width:100%;margin-right:8px}:host .libs-ui-radio .libs-ui-icon-radio-selected:before{color:var(--libs-ui-color-default, #226ff5)}:host .libs-ui-radio .libs-ui-radio-tooltip-icon{font-size:16px}:host .libs-ui-radio>[class*=libs-ui-icon]{font-size:16px;cursor:pointer;margin-right:8px}\n"] }]
103
+ }], ctorParameters: () => [] });
104
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy11aS9jb21wb25lbnRzL3JhZGlvL3NpbmdsZS9zcmMvcmFkaW8uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy11aS9jb21wb25lbnRzL3JhZGlvL3NpbmdsZS9zcmMvcmFkaW8uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdURBQXVEO0FBQ3ZELE9BQU8sRUFBaUIsdUJBQXVCLEVBQUUsU0FBUyxFQUF5QixRQUFRLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9LLE9BQU8sRUFBaUIsK0JBQStCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM1RixPQUFPLEVBQXdCLGdDQUFnQyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDckcsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHakQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7OztBQVdwRCxNQUFNLE9BQU8sb0NBQW9DO0lBQy9DLG1CQUFtQjtJQUNULGdCQUFnQixHQUFHLE1BQU0sQ0FBUyxFQUFFLENBQUMsQ0FBQztJQUN0QywyQkFBMkIsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1FBQ3BELElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLEVBQUUsQ0FBQztZQUM1QixPQUFPLFNBQVMsQ0FBQztRQUNuQixDQUFDO1FBQ0QsT0FBTztZQUNMLFNBQVMsRUFBRSxJQUFJ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LENBQUM7SUFDbEUsQ0FBQztJQUVTLEtBQUssQ0FBQywwQkFBMEIsQ0FBQyxJQUFnQjtRQUN6RCxJQUFJLENBQUMsNkJBQTZCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN0QixJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzVCLENBQUM7d0dBaEdVLG9DQUFvQzs0RkFBcEMsb0NBQW9DLG9oSENwQmpELDhrR0E0RUEsMjdCRDNEWSxlQUFlLDRGQUFFLGlCQUFpQixvUEFBRSwrQkFBK0IsNlhBQUUsZ0NBQWdDOzs0RkFHcEcsb0NBQW9DO2tCQVRoRCxTQUFTOytCQUVFLGlDQUFpQyxjQUcvQixJQUFJLFdBQ1AsQ0FBQyxlQUFlLEVBQUUsaUJBQWlCLEVBQUUsK0JBQStCLEVBQUUsZ0NBQWdDLENBQUMsbUJBQy9GLHVCQUF1QixDQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55ICovXG5pbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBPbkRlc3Ryb3ksIGNvbXB1dGVkLCBlZmZlY3QsIGlucHV0LCBtb2RlbCwgb3V0cHV0LCBzaWduYWwsIHVudHJhY2tlZCwgdmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJQXZhdGFyQ29uZmlnLCBMaWJzVWlDb21wb25lbnRzQXZhdGFyQ29tcG9uZW50IH0gZnJvbSAnQGxpYnMtdWkvY29tcG9uZW50cy1hdmF0YXInO1xuaW1wb3J0IHsgSUZsYWdNb3VzZSwgSVBvcG92ZXIsIExpYnNVaUNvbXBvbmVudHNQb3BvdmVyQ29tcG9uZW50IH0gZnJvbSAnQGxpYnMtdWkvY29tcG9uZW50cy1wb3BvdmVyJztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgU3ViamVjdCwgZnJvbUV2ZW50IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBJUmFkaW9FdmVudCB9IGZyb20gJy4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBMaWJzVWlDb21wb25lbnRzQ29tcG9uZW50T3V0bGV0Q29tcG9uZW50LCBUWVBFX0NPTVBPTkVOVF9PVVRMRVRfREFUQSB9IGZyb20gJ0BsaWJzLXVpL2NvbXBvbmVudHMtY29tcG9uZW50LW91dGxldCc7XG5pbXBvcnQgeyBOZ0NvbXBvbmVudE91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbkBDb21wb25lbnQoe1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2NvbXBvbmVudC1zZWxlY3RvclxuICBzZWxlY3RvcjogJ2xpYnNfdWktY29tcG9uZW50cy1yYWRpby1zaW5nbGUnLFxuICB0ZW1wbGF0ZVVybDogJy4vcmFkaW8uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9yYWRpby5jb21wb25lbnQuc2NzcyddLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbVHJhbnNsYXRlTW9kdWxlLCBOZ0NvbXBvbmVudE91dGxldCwgTGlic1VpQ29tcG9uZW50c0F2YXRhckNvbXBvbmVudCwgTGlic1VpQ29tcG9uZW50c1BvcG92ZXJDb21wb25lbnRdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgTGlic1VpQ29tcG9uZW50c1JhZGlvU2luZ2xlQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcbiAgLy8gI3JlZ2lvbiBQUk9QRVJUWVxuICBwcm90ZWN0ZWQgbGlua0ltYWdlRGlzcGxheSA9IHNpZ25hbDxzdHJpbmc+KCcnKTtcbiAgcHJvdGVjdGVkIGRhdGFDb21wb25lbnRPdXRsZXRDb21wdXRlZCA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBpZiAoIXRoaXMuY29tcG9uZW50T3V0bGV0KCkpIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICAgIHJldHVybiB7XG4gICAgICBjb21wb25lbnQ6IHRoaXMuY29tcG9uZW50T3V0bGV0KCksXG4gICAgICBpbnB1dHM6IHRoaXMuZGF0YUNvbXBvbmVudE91dGxldCgpIHx8IHt9LFxuICAgIH07XG4gIH0pO1xuICBwcml2YXRlIG9uRGVzdHJveSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgLy8gI3JlZ2lvbiBJTlBVVFxuICByZWFkb25seSBrZXkgPSBpbnB1dDx1bmtub3duPigpO1xuICByZWFkb25seSBhY3RpdmUgPSBtb2RlbDxib29sZWFuPihmYWxzZSk7XG4gIHJlYWRvbmx5IGNsYXNzSW5jbHVkZSA9IGlucHV0PHN0cmluZz4oJycpO1xuICByZWFkb25seSBsYWJlbCA9IGlucHV0PHN0cmluZz4oJycpO1xuICByZWFkb25seSBsYWJlbEludGVycG9sYXRlUGFyYW1zID0gaW5wdXQ8UmVjb3JkPHN0cmluZywgdW5rbm93bj4gfCB1bmRlZmluZWQsIFJlY29yZDxzdHJpbmcsIHVua25vd24+IHwgdW5kZWZpbmVkPih7fSwgeyB0cmFuc2Zvcm06ICh2YWx1ZSkgPT4gdmFsdWUgfHwge30gfSk7XG4gIHJlYWRvbmx5IGlnbm9yZVBvcG92ZXJMYWJlbCA9IGlucHV0PGJvb2xlYW4+KCk7XG4gIHJlYWRvbmx5IGNsYXNzTGFiZWxJbmNsdWRlID0gaW5wdXQ8c3RyaW5nIHwgdW5kZWZpbmVkLCBzdHJpbmcgfCB1bmRlZmluZWQ+KCdsaWJzLXVpLWZvbnQtaDRyICcsIHsgdHJhbnNmb3JtOiAodmFsdWUpID0+IHZhbHVlIHx8ICcnIH0pO1xuICByZWFkb25seSBsaW5rSW1hZ2UgPSBpbnB1dDxzdHJpbmc+KCcnKTtcbiAgcmVhZG9ubHkgbGlua0ltYWdlRXJyb3IgPSBpbnB1dDxzdHJpbmc+KCcnKTtcbiAgcmVhZG9ubHkgYXZhdGFyQ29uZmlnID0gaW5wdXQ8SUF2YXRhckNvbmZpZz4oKTtcbiAgcmVhZG9ubHkgY2xhc3NJbWFnZUluY2x1ZGUgPSBpbnB1dDxzdHJpbmc+KCcnKTtcbiAgcmVhZG9ubHkgaW1nVHlwZUljb24gPSBpbnB1dDxib29sZWFuPigpO1xuICByZWFkb25seSBidWxsZXQgPSBpbnB1dDxSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PigpO1xuICByZWFkb25seSBwb3BvdmVyID0gaW5wdXQ8SVBvcG92ZXI+KCk7XG4gIHJlYWRvbmx5IGRpc2FibGUgPSBpbnB1dDxib29sZWFuPigpO1xuICByZWFkb25seSBkaXNhYmxlTGFiZWwgPSBpbnB1dDxib29sZWFuPigpO1xuICByZWFkb25seSBjbGlja0V4YWN0bHkgPSBpbnB1dDxib29sZWFuIHwgdW5kZWZpbmVkLCBib29sZWFuIHwgdW5kZWZpbmVkPih0cnVlLCB7IHRyYW5zZm9ybTogKHZhbHVlKSA9PiB2YWx1ZSA/PyB0cnVlIH0pO1xuICByZWFkb25seSB0eXBlUmFkaW8gPSBpbnB1dDwnbm9ybWFsJyB8ICdtZWRpdW0nIHwgdW5kZWZpbmVkLCAnbm9ybWFsJyB8ICdtZWRpdW0nIHwgdW5kZWZpbmVkPignbm9ybWFsJywgeyB0cmFuc2Zvcm06ICh2YWx1ZSkgPT4gdmFsdWUgfHwgJ25vcm1hbCcgfSk7XG4gIHJlYWRvbmx5IGlnbm9yZVJhZGlvID0gaW5wdXQ8Ym9vbGVhbj4oKTtcbiAgcmVhZG9ubHkgekluZGV4TGFiZWwgPSBpbnB1dDxudW1iZXIgfCB1bmRlZmluZWQsIG51bWJlciB8IHVuZGVmaW5lZD4oMTIwMCwgeyB0cmFuc2Zvcm06ICh2YWx1ZSkgPT4gdmFsdWUgPz8gMTIwMCB9KTtcbiAgcmVhZG9ubHkgY2xhc3NJbmNsdWRlSWNvbiA9IGlucHV0PHN0cmluZyB8IHVuZGVmaW5lZCwgc3RyaW5nIHwgdW5kZWZpbmVkPignJywgeyB0cmFuc2Zvcm06ICh2YWx1ZSkgPT4gdmFsdWUgfHwgJycgfSk7XG5cbiAgcmVhZG9ubHkgZGF0YUNvbXBvbmVudE91dGxldCA9IGlucHV0PFRZUEVfQ09NUE9ORU5UX09VVExFVF9EQVRBPigpO1xuICByZWFkb25seSBjb21wb25lbnRPdXRsZXQgPSBpbnB1dDxMaWJzVWlDb21wb25lbnRzQ29tcG9uZW50T3V0bGV0Q29tcG9uZW50IHwgYW55PigpO1xuXG4gIC8vICNyZWdpb24gT1VUUFVUXG4gIHJlYWRvbmx5IG91dENsaWNrTGFiZWwgPSBvdXRwdXQ8dm9pZD4oKTtcbiAgcmVhZG9ubHkgb3V0Q2hhbmdlID0gb3V0cHV0PElSYWRpb0V2ZW50PigpO1xuICByZWFkb25seSBvdXRDaGFuZ1N0YWdlRmxhZ01vdXNlUG9wb3ZlciA9IG91dHB1dDxJRmxhZ01vdXNlPigpO1xuXG4gIC8qIFZJRVcgQ0hJTEQgKi9cbiAgcHJpdmF0ZSBpbWFnZUVsID0gdmlld0NoaWxkPEVsZW1lbnRSZWY+KCdpbWFnZUVsJyk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgZWZmZWN0KCgpID0+IHtcbiAgICAgIHRoaXMubGlua0ltYWdlKCk7XG4gICAgICB1bnRyYWNrZWQoKCkgPT4gdGhpcy5saW5rSW1hZ2VEaXNwbGF5LnNldCh0aGlzLmxpbmtJbWFnZSgpKSk7XG4gICAgfSk7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgaWYgKHRoaXMuaW1hZ2VFbCgpKSB7XG4gICAgICBmcm9tRXZlbnQodGhpcy5pbWFnZUVsKCk/Lm5hdGl2ZUVsZW1lbnQsICdlcnJvcicpXG4gICAgICAgIC5waXBlKHRha2UoMSksIHRha2VVbnRpbCh0aGlzLm9uRGVzdHJveSkpXG4gICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgIHRoaXMubGlua0ltYWdlRGlzcGxheS5zZXQodGhpcy5saW5rSW1hZ2VFcnJvcigpKTtcbiAgICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgLyogRlVOQ1RJT05TICovXG4gIHByb3RlY3RlZCBhc3luYyBoYW5kbGVyQ2xpY2soZTogRXZlbnQpIHtcbiAgICBpZiAodGhpcy5jbGlja0V4YWN0bHkoKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIHRoaXMuY2hhbmdlQWN0aXZlKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgYXN5bmMgaGFuZGxlckV2ZW50TGFiZWwodHlwZTogc3RyaW5nKSB7XG4gICAgaWYgKHR5cGUgPT09ICdjbGljaycpIHtcbiAgICAgIHRoaXMub3V0Q2xpY2tMYWJlbC5lbWl0KCk7XG4gICAgICB0aGlzLmNoYW5nZUFjdGl2ZSgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgY2hhbmdlQWN0aXZlKCkge1xuICAgIGlmICh0aGlzLmFjdGl2ZSgpIHx8IHRoaXMuZGlzYWJsZSgpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuYWN0aXZlLnVwZGF0ZSgodmFsdWUpID0+ICF2YWx1ZSk7XG4gICAgdGhpcy5vdXRDaGFuZ2UuZW1pdCh7IGFjdGl2ZTogdGhpcy5hY3RpdmUoKSwga2V5OiB0aGlzLmtleSgpIH0pO1xuICB9XG5cbiAgcHJvdGVjdGVkIGFzeW5jIGhhbmRsZXJDaGFuZ1N0YWdlRmxhZ01vdXNlKGZsYWc6IElGbGFnTW91c2UpIHtcbiAgICB0aGlzLm91dENoYW5nU3RhZ2VGbGFnTW91c2VQb3BvdmVyLmVtaXQoZmxhZyk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLm9uRGVzdHJveS5uZXh0KCk7XG4gICAgdGhpcy5vbkRlc3Ryb3kuY29tcGxldGUoKTtcbiAgfVxufVxuIiwiPGRpdlxuICBbY2xhc3NdPVwiJ2xpYnMtdWktcmFkaW8gJyArIGNsYXNzSW5jbHVkZSgpXCJcbiAgW2NsYXNzLmN1cnNvci1wb2ludGVyXT1cIiFjbGlja0V4YWN0bHkoKVwiXG4gIChjbGljayk9XCJoYW5kbGVyQ2xpY2soJGV2ZW50KVwiPlxuICBAaWYgKCFpZ25vcmVSYWRpbygpKSB7XG4gICAgPGRpdlxuICAgICAgW2NsYXNzLmxpYnMtdWktaWNvbi1yYWRpby11bnNlbGVjdGVkXT1cIiFhY3RpdmUoKVwiXG4gICAgICBbY2xhc3MudGV4dC1bIzZhNzM4M11dPVwiIWFjdGl2ZSgpXCJcbiAgICAgIFtjbGFzcy5saWJzLXVpLWljb24tcmFkaW8tc2VsZWN0ZWRdPVwiYWN0aXZlKClcIlxuICAgICAgW2NsYXNzLmxpYnMtdWktZGlzYWJsZV09XCJkaXNhYmxlKClcIlxuICAgICAgW2NsYXNzLmxpYnMtdWktZGlzYWJsZS1hY3RpdmVdPVwiZGlzYWJsZSgpICYmIGFjdGl2ZSgpXCJcbiAgICAgIFtjbGFzcy5wb2ludGVyLWV2ZW50cy1ub25lXT1cImRpc2FibGUoKVwiXG4gICAgICBbY2xhc3NdPVwiY2xhc3NJbmNsdWRlSWNvbigpICsgJyBsaWJzLXVpLXJhZGlvLXR5cGUtJyArIHR5cGVSYWRpbygpXCJcbiAgICAgIChjbGljayk9XCJoYW5kbGVyRXZlbnRMYWJlbCgnY2xpY2snKVwiPjwvZGl2PlxuICB9XG4gIEBpZiAobGlua0ltYWdlRGlzcGxheSgpKSB7XG4gICAgPGltZ1xuICAgICAgI2ltYWdlRWxcbiAgICAgIFtzcmNdPVwibGlua0ltYWdlRGlzcGxheSgpXCJcbiAgICAgIFtjbGFzc109XCInbGlicy11aS1yYWRpby1pbWFnZSAnICsgY2xhc3NJbWFnZUluY2x1ZGUoKVwiXG4gICAgICBbY2xhc3MuY3Vyc29yLWRlZmF1bHRdPVwiZGlzYWJsZSgpXCJcbiAgICAgIFtjbGFzcy53LVsxOHB4XV09XCJpbWdUeXBlSWNvbigpXCJcbiAgICAgIFtjbGFzcy5oLVsxOHB4XV09XCJpbWdUeXBlSWNvbigpXCJcbiAgICAgIChjbGljayk9XCJoYW5kbGVyRXZlbnRMYWJlbCgnY2xpY2snKVwiIC8+XG4gIH1cbiAgQGlmIChhdmF0YXJDb25maWcoKTsgYXMgYXZhdGFyQ29uZmlnKSB7XG4gICAgPGxpYnNfdWktY29tcG9uZW50cy1hdmF0YXJcbiAgICAgIFt0eXBlU2hhcGVdPVwiYXZhdGFyQ29uZmlnLnR5cGVTaGFwZSB8fCAnY2lyY2xlJ1wiXG4gICAgICBbY2xhc3NJbmNsdWRlXT1cImF2YXRhckNvbmZpZy5jbGFzc0luY2x1ZGVcIlxuICAgICAgW3NpemVdPVwiYXZhdGFyQ29uZmlnLnNpemUgfHwgMjRcIlxuICAgICAgW2xpbmtBdmF0YXJdPVwiYXZhdGFyQ29uZmlnLmxpbmtBdmF0YXJcIlxuICAgICAgW2xpbmtBdmF0YXJFcnJvcl09XCJhdmF0YXJDb25maWcubGlua0F2YXRhckVycm9yXCJcbiAgICAgIFtpZEdlbkNvbG9yXT1cImF2YXRhckNvbmZpZy5pZEdlbkNvbG9yXCJcbiAgICAgIFt0ZXh0QXZhdGFyXT1cImF2YXRhckNvbmZpZy50ZXh0QXZhdGFyXCIgLz5cbiAgfVxuICBAaWYgKGJ1bGxldCgpOyBhcyBidWxsZXRDb25maWcpIHtcbiAgICA8ZGl2XG4gICAgICBjbGFzcz1cImxpYnMtdWktcmFkaW8tYnVsbGV0XCJcbiAgICAgIFtzdHlsZS5iYWNrZ3JvdW5kLWNvbG9yXT1cImJ1bGxldENvbmZpZ1snYmFja2dyb3VuZENvbG9yJ11cIlxuICAgICAgW2NsYXNzLmN1cnNvci1kZWZhdWx0XT1cImRpc2FibGUoKVwiXG4gICAgICAoY2xpY2spPVwiaGFuZGxlckV2ZW50TGFiZWwoJ2NsaWNrJylcIj48L2Rpdj5cbiAgfVxuICBAaWYgKGxhYmVsKCkpIHtcbiAgICA8bGlic191aS1jb21wb25lbnRzLXBvcG92ZXJcbiAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgIFthdHRyLmlzTGFiZWxdPVwidHJ1ZVwiXG4gICAgICBbY2xhc3NJbmNsdWRlXT1cImNsYXNzTGFiZWxJbmNsdWRlKCkgKyAoZGlzYWJsZSgpID8gJyBjdXJzb3ItZGVmYXVsdCcgOiAnIGN1cnNvci1wb2ludGVyJylcIlxuICAgICAgW2lnbm9yZUN1cnNvclBvaW50ZXJNb2RlTGlrZUNsaWNrXT1cImRpc2FibGUoKVwiXG4gICAgICBbY2xhc3MubGlicy11aS1kaXNhYmxlXT1cImRpc2FibGVMYWJlbCgpXCJcbiAgICAgIFtpZ25vcmVTaG93UG9wb3Zlcl09XCJpZ25vcmVQb3BvdmVyTGFiZWwoKVwiXG4gICAgICBbY29uZmlnXT1cInsgY29udGVudDogbGFiZWwoKSwgdGltZXJEZXN0cm95OiA1MCwgekluZGV4OiB6SW5kZXhMYWJlbCgpIH1cIlxuICAgICAgW2lubmVySFRNTF09XCJsYWJlbCgpIHwgdHJhbnNsYXRlOiBsYWJlbEludGVycG9sYXRlUGFyYW1zKClcIlxuICAgICAgKG91dENoYW5nU3RhZ2VGbGFnTW91c2UpPVwiaGFuZGxlckNoYW5nU3RhZ2VGbGFnTW91c2UoJGV2ZW50KVwiXG4gICAgICAob3V0RXZlbnQpPVwiaGFuZGxlckV2ZW50TGFiZWwoJGV2ZW50KVwiIC8+XG4gIH1cbiAgQGlmIChwb3BvdmVyKCk7IGFzIHBvcG92ZXIpIHtcbiAgICBAaWYgKCFwb3BvdmVyLmRhdGFWaWV3KSB7XG4gICAgICA8aVxuICAgICAgICBMaWJzVWlDb21wb25lbnRzUG9wb3ZlckRpcmVjdGl2ZVxuICAgICAgICBbY29uZmlnXT1cInBvcG92ZXIuY29uZmlnXCJcbiAgICAgICAgW2NsYXNzXT1cInBvcG92ZXIuY2xhc3NJbmNsdWRlID8/ICdsaWJzLXVpLWljb24tdG9vbHRpcC1vdXRsaW5lJ1wiXG4gICAgICAgIChvdXRDaGFuZ1N0YWdlRmxhZ01vdXNlKT1cImhhbmRsZXJDaGFuZ1N0YWdlRmxhZ01vdXNlKCRldmVudClcIj48L2k+XG4gICAgfVxuICAgIEBpZiAocG9wb3Zlci5kYXRhVmlldykge1xuICAgICAgQGxldCBjb25zdEh0bWxEYXRhVmlldyA9IHBvcG92ZXIuZGF0YVZpZXcgfHwgJyAnO1xuICAgICAgPGRpdlxuICAgICAgICBMaWJzVWlDb21wb25lbnRzUG9wb3ZlckRpcmVjdGl2ZVxuICAgICAgICBbY29uZmlnXT1cInBvcG92ZXIuY29uZmlnXCJcbiAgICAgICAgW2lubmVySHRtbF09XCJjb25zdEh0bWxEYXRhVmlldyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgIChvdXRDaGFuZ1N0YWdlRmxhZ01vdXNlKT1cImhhbmRsZXJDaGFuZ1N0YWdlRmxhZ01vdXNlKCRldmVudClcIj48L2Rpdj5cbiAgICB9XG4gIH1cbiAgQGlmIChkYXRhQ29tcG9uZW50T3V0bGV0Q29tcHV0ZWQoKTsgYXMgZGF0YUNvbXBvbmVudE91dGxldENvbXB1dGVkKSB7XG4gICAgPG5nLWNvbnRhaW5lciAqbmdDb21wb25lbnRPdXRsZXQ9XCJkYXRhQ29tcG9uZW50T3V0bGV0Q29tcHV0ZWQuY29tcG9uZW50OyBpbnB1dHM6IGRhdGFDb21wb25lbnRPdXRsZXRDb21wdXRlZC5pbnB1dHNcIiAvPlxuICB9XG48L2Rpdj5cbiJdfQ==
@@ -0,0 +1,113 @@
1
+ import * as i0 from '@angular/core';
2
+ import { signal, computed, input, model, output, viewChild, effect, untracked, ChangeDetectionStrategy, Component } from '@angular/core';
3
+ import { LibsUiComponentsAvatarComponent } from '@libs-ui/components-avatar';
4
+ import { LibsUiComponentsPopoverComponent } from '@libs-ui/components-popover';
5
+ import * as i1 from '@ngx-translate/core';
6
+ import { TranslateModule } from '@ngx-translate/core';
7
+ import { Subject, fromEvent } from 'rxjs';
8
+ import { take, takeUntil } from 'rxjs/operators';
9
+ import { NgComponentOutlet } from '@angular/common';
10
+
11
+ /* eslint-disable @typescript-eslint/no-explicit-any */
12
+ class LibsUiComponentsRadioSingleComponent {
13
+ // #region PROPERTY
14
+ linkImageDisplay = signal('');
15
+ dataComponentOutletComputed = computed(() => {
16
+ if (!this.componentOutlet()) {
17
+ return undefined;
18
+ }
19
+ return {
20
+ component: this.componentOutlet(),
21
+ inputs: this.dataComponentOutlet() || {},
22
+ };
23
+ });
24
+ onDestroy = new Subject();
25
+ // #region INPUT
26
+ key = input();
27
+ active = model(false);
28
+ classInclude = input('');
29
+ label = input('');
30
+ labelInterpolateParams = input({}, { transform: (value) => value || {} });
31
+ ignorePopoverLabel = input();
32
+ classLabelInclude = input('libs-ui-font-h4r ', { transform: (value) => value || '' });
33
+ linkImage = input('');
34
+ linkImageError = input('');
35
+ avatarConfig = input();
36
+ classImageInclude = input('');
37
+ imgTypeIcon = input();
38
+ bullet = input();
39
+ popover = input();
40
+ disable = input();
41
+ disableLabel = input();
42
+ clickExactly = input(true, { transform: (value) => value ?? true });
43
+ typeRadio = input('normal', { transform: (value) => value || 'normal' });
44
+ ignoreRadio = input();
45
+ zIndexLabel = input(1200, { transform: (value) => value ?? 1200 });
46
+ classIncludeIcon = input('', { transform: (value) => value || '' });
47
+ dataComponentOutlet = input();
48
+ componentOutlet = input();
49
+ // #region OUTPUT
50
+ outClickLabel = output();
51
+ outChange = output();
52
+ outChangStageFlagMousePopover = output();
53
+ /* VIEW CHILD */
54
+ imageEl = viewChild('imageEl');
55
+ constructor() {
56
+ effect(() => {
57
+ this.linkImage();
58
+ untracked(() => this.linkImageDisplay.set(this.linkImage()));
59
+ });
60
+ }
61
+ ngAfterViewInit() {
62
+ if (this.imageEl()) {
63
+ fromEvent(this.imageEl()?.nativeElement, 'error')
64
+ .pipe(take(1), takeUntil(this.onDestroy))
65
+ .subscribe(() => {
66
+ this.linkImageDisplay.set(this.linkImageError());
67
+ });
68
+ }
69
+ }
70
+ /* FUNCTIONS */
71
+ async handlerClick(e) {
72
+ if (this.clickExactly()) {
73
+ return;
74
+ }
75
+ e.stopPropagation();
76
+ this.changeActive();
77
+ }
78
+ async handlerEventLabel(type) {
79
+ if (type === 'click') {
80
+ this.outClickLabel.emit();
81
+ this.changeActive();
82
+ }
83
+ }
84
+ async changeActive() {
85
+ if (this.active() || this.disable()) {
86
+ return;
87
+ }
88
+ this.active.update((value) => !value);
89
+ this.outChange.emit({ active: this.active(), key: this.key() });
90
+ }
91
+ async handlerChangStageFlagMouse(flag) {
92
+ this.outChangStageFlagMousePopover.emit(flag);
93
+ }
94
+ ngOnDestroy() {
95
+ this.onDestroy.next();
96
+ this.onDestroy.complete();
97
+ }
98
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: LibsUiComponentsRadioSingleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
99
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: LibsUiComponentsRadioSingleComponent, isStandalone: true, selector: "libs_ui-components-radio-single", inputs: { key: { classPropertyName: "key", publicName: "key", isSignal: true, isRequired: false, transformFunction: null }, active: { classPropertyName: "active", publicName: "active", isSignal: true, isRequired: false, transformFunction: null }, classInclude: { classPropertyName: "classInclude", publicName: "classInclude", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, labelInterpolateParams: { classPropertyName: "labelInterpolateParams", publicName: "labelInterpolateParams", isSignal: true, isRequired: false, transformFunction: null }, ignorePopoverLabel: { classPropertyName: "ignorePopoverLabel", publicName: "ignorePopoverLabel", isSignal: true, isRequired: false, transformFunction: null }, classLabelInclude: { classPropertyName: "classLabelInclude", publicName: "classLabelInclude", isSignal: true, isRequired: false, transformFunction: null }, linkImage: { classPropertyName: "linkImage", publicName: "linkImage", isSignal: true, isRequired: false, transformFunction: null }, linkImageError: { classPropertyName: "linkImageError", publicName: "linkImageError", isSignal: true, isRequired: false, transformFunction: null }, avatarConfig: { classPropertyName: "avatarConfig", publicName: "avatarConfig", isSignal: true, isRequired: false, transformFunction: null }, classImageInclude: { classPropertyName: "classImageInclude", publicName: "classImageInclude", isSignal: true, isRequired: false, transformFunction: null }, imgTypeIcon: { classPropertyName: "imgTypeIcon", publicName: "imgTypeIcon", isSignal: true, isRequired: false, transformFunction: null }, bullet: { classPropertyName: "bullet", publicName: "bullet", isSignal: true, isRequired: false, transformFunction: null }, popover: { classPropertyName: "popover", publicName: "popover", isSignal: true, isRequired: false, transformFunction: null }, disable: { classPropertyName: "disable", publicName: "disable", isSignal: true, isRequired: false, transformFunction: null }, disableLabel: { classPropertyName: "disableLabel", publicName: "disableLabel", isSignal: true, isRequired: false, transformFunction: null }, clickExactly: { classPropertyName: "clickExactly", publicName: "clickExactly", isSignal: true, isRequired: false, transformFunction: null }, typeRadio: { classPropertyName: "typeRadio", publicName: "typeRadio", isSignal: true, isRequired: false, transformFunction: null }, ignoreRadio: { classPropertyName: "ignoreRadio", publicName: "ignoreRadio", isSignal: true, isRequired: false, transformFunction: null }, zIndexLabel: { classPropertyName: "zIndexLabel", publicName: "zIndexLabel", isSignal: true, isRequired: false, transformFunction: null }, classIncludeIcon: { classPropertyName: "classIncludeIcon", publicName: "classIncludeIcon", isSignal: true, isRequired: false, transformFunction: null }, dataComponentOutlet: { classPropertyName: "dataComponentOutlet", publicName: "dataComponentOutlet", isSignal: true, isRequired: false, transformFunction: null }, componentOutlet: { classPropertyName: "componentOutlet", publicName: "componentOutlet", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { active: "activeChange", outClickLabel: "outClickLabel", outChange: "outChange", outChangStageFlagMousePopover: "outChangStageFlagMousePopover" }, viewQueries: [{ propertyName: "imageEl", first: true, predicate: ["imageEl"], descendants: true, isSignal: true }], ngImport: i0, template: "<div\n [class]=\"'libs-ui-radio ' + classInclude()\"\n [class.cursor-pointer]=\"!clickExactly()\"\n (click)=\"handlerClick($event)\">\n @if (!ignoreRadio()) {\n <div\n [class.libs-ui-icon-radio-unselected]=\"!active()\"\n [class.text-[#6a7383]]=\"!active()\"\n [class.libs-ui-icon-radio-selected]=\"active()\"\n [class.libs-ui-disable]=\"disable()\"\n [class.libs-ui-disable-active]=\"disable() && active()\"\n [class.pointer-events-none]=\"disable()\"\n [class]=\"classIncludeIcon() + ' libs-ui-radio-type-' + typeRadio()\"\n (click)=\"handlerEventLabel('click')\"></div>\n }\n @if (linkImageDisplay()) {\n <img\n #imageEl\n [src]=\"linkImageDisplay()\"\n [class]=\"'libs-ui-radio-image ' + classImageInclude()\"\n [class.cursor-default]=\"disable()\"\n [class.w-[18px]]=\"imgTypeIcon()\"\n [class.h-[18px]]=\"imgTypeIcon()\"\n (click)=\"handlerEventLabel('click')\" />\n }\n @if (avatarConfig(); as avatarConfig) {\n <libs_ui-components-avatar\n [typeShape]=\"avatarConfig.typeShape || 'circle'\"\n [classInclude]=\"avatarConfig.classInclude\"\n [size]=\"avatarConfig.size || 24\"\n [linkAvatar]=\"avatarConfig.linkAvatar\"\n [linkAvatarError]=\"avatarConfig.linkAvatarError\"\n [idGenColor]=\"avatarConfig.idGenColor\"\n [textAvatar]=\"avatarConfig.textAvatar\" />\n }\n @if (bullet(); as bulletConfig) {\n <div\n class=\"libs-ui-radio-bullet\"\n [style.background-color]=\"bulletConfig['backgroundColor']\"\n [class.cursor-default]=\"disable()\"\n (click)=\"handlerEventLabel('click')\"></div>\n }\n @if (label()) {\n <libs_ui-components-popover\n type=\"text\"\n [attr.isLabel]=\"true\"\n [classInclude]=\"classLabelInclude() + (disable() ? ' cursor-default' : ' cursor-pointer')\"\n [ignoreCursorPointerModeLikeClick]=\"disable()\"\n [class.libs-ui-disable]=\"disableLabel()\"\n [ignoreShowPopover]=\"ignorePopoverLabel()\"\n [config]=\"{ content: label(), timerDestroy: 50, zIndex: zIndexLabel() }\"\n [innerHTML]=\"label() | translate: labelInterpolateParams()\"\n (outChangStageFlagMouse)=\"handlerChangStageFlagMouse($event)\"\n (outEvent)=\"handlerEventLabel($event)\" />\n }\n @if (popover(); as popover) {\n @if (!popover.dataView) {\n <i\n LibsUiComponentsPopoverDirective\n [config]=\"popover.config\"\n [class]=\"popover.classInclude ?? 'libs-ui-icon-tooltip-outline'\"\n (outChangStageFlagMouse)=\"handlerChangStageFlagMouse($event)\"></i>\n }\n @if (popover.dataView) {\n @let constHtmlDataView = popover.dataView || ' ';\n <div\n LibsUiComponentsPopoverDirective\n [config]=\"popover.config\"\n [innerHtml]=\"constHtmlDataView | translate\"\n (outChangStageFlagMouse)=\"handlerChangStageFlagMouse($event)\"></div>\n }\n }\n @if (dataComponentOutletComputed(); as dataComponentOutletComputed) {\n <ng-container *ngComponentOutlet=\"dataComponentOutletComputed.component; inputs: dataComponentOutletComputed.inputs\" />\n }\n</div>\n", styles: [":host .libs-ui-radio{display:flex;align-items:center}:host .libs-ui-radio .libs-ui-icon-radio-unselected,:host .libs-ui-radio .libs-ui-icon-radio-selected{margin-right:8px;font-size:16px;cursor:pointer}:host .libs-ui-radio .libs-ui-radio-type-medium:before{font-size:20px!important}:host .libs-ui-radio .libs-ui-radio-image{width:24px;height:24px;margin-right:8px;border-radius:12px;border:solid 1px #e6e8ed;cursor:pointer}:host .libs-ui-radio .libs-ui-radio-bullet{min-width:10px;min-height:10px;border-radius:50%;margin-right:8px;cursor:pointer}:host .libs-ui-radio libs_ui-components-popover[isLabel=true]{max-width:100%;margin-right:8px}:host .libs-ui-radio .libs-ui-icon-radio-selected:before{color:var(--libs-ui-color-default, #226ff5)}:host .libs-ui-radio .libs-ui-radio-tooltip-icon{font-size:16px}:host .libs-ui-radio>[class*=libs-ui-icon]{font-size:16px;cursor:pointer;margin-right:8px}\n"], dependencies: [{ kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }, { kind: "directive", type: NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"] }, { kind: "component", type: LibsUiComponentsAvatarComponent, selector: "libs_ui-components-avatar", inputs: ["typeShape", "classInclude", "size", "linkAvatar", "linkAvatarError", "classImageInclude", "zIndexPreviewImage", "clickPreviewImage", "idGenColor", "getLastTextAfterSpace", "textAvatar", "textAvatarClassInclude", "containertextAvatarClassInclude"], outputs: ["outAvatarError", "outEventPreviewImage"] }, { kind: "component", type: LibsUiComponentsPopoverComponent, selector: "libs_ui-components-popover,[LibsUiComponentsPopoverDirective]", inputs: ["debugId", "flagMouse", "type", "mode", "config", "ignoreShowPopover", "elementRefCustom", "initEventInElementRefCustom", "classInclude", "ignoreHiddenPopoverContentWhenMouseLeave", "ignoreStopPropagationEvent", "ignoreCursorPointerModeLikeClick", "isAddContentToParentDocument", "ignoreClickOutside"], outputs: ["outEvent", "outChangStageFlagMouse", "outEventPopoverContent", "outFunctionsControl"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
100
+ }
101
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: LibsUiComponentsRadioSingleComponent, decorators: [{
102
+ type: Component,
103
+ args: [{ selector: 'libs_ui-components-radio-single', standalone: true, imports: [TranslateModule, NgComponentOutlet, LibsUiComponentsAvatarComponent, LibsUiComponentsPopoverComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n [class]=\"'libs-ui-radio ' + classInclude()\"\n [class.cursor-pointer]=\"!clickExactly()\"\n (click)=\"handlerClick($event)\">\n @if (!ignoreRadio()) {\n <div\n [class.libs-ui-icon-radio-unselected]=\"!active()\"\n [class.text-[#6a7383]]=\"!active()\"\n [class.libs-ui-icon-radio-selected]=\"active()\"\n [class.libs-ui-disable]=\"disable()\"\n [class.libs-ui-disable-active]=\"disable() && active()\"\n [class.pointer-events-none]=\"disable()\"\n [class]=\"classIncludeIcon() + ' libs-ui-radio-type-' + typeRadio()\"\n (click)=\"handlerEventLabel('click')\"></div>\n }\n @if (linkImageDisplay()) {\n <img\n #imageEl\n [src]=\"linkImageDisplay()\"\n [class]=\"'libs-ui-radio-image ' + classImageInclude()\"\n [class.cursor-default]=\"disable()\"\n [class.w-[18px]]=\"imgTypeIcon()\"\n [class.h-[18px]]=\"imgTypeIcon()\"\n (click)=\"handlerEventLabel('click')\" />\n }\n @if (avatarConfig(); as avatarConfig) {\n <libs_ui-components-avatar\n [typeShape]=\"avatarConfig.typeShape || 'circle'\"\n [classInclude]=\"avatarConfig.classInclude\"\n [size]=\"avatarConfig.size || 24\"\n [linkAvatar]=\"avatarConfig.linkAvatar\"\n [linkAvatarError]=\"avatarConfig.linkAvatarError\"\n [idGenColor]=\"avatarConfig.idGenColor\"\n [textAvatar]=\"avatarConfig.textAvatar\" />\n }\n @if (bullet(); as bulletConfig) {\n <div\n class=\"libs-ui-radio-bullet\"\n [style.background-color]=\"bulletConfig['backgroundColor']\"\n [class.cursor-default]=\"disable()\"\n (click)=\"handlerEventLabel('click')\"></div>\n }\n @if (label()) {\n <libs_ui-components-popover\n type=\"text\"\n [attr.isLabel]=\"true\"\n [classInclude]=\"classLabelInclude() + (disable() ? ' cursor-default' : ' cursor-pointer')\"\n [ignoreCursorPointerModeLikeClick]=\"disable()\"\n [class.libs-ui-disable]=\"disableLabel()\"\n [ignoreShowPopover]=\"ignorePopoverLabel()\"\n [config]=\"{ content: label(), timerDestroy: 50, zIndex: zIndexLabel() }\"\n [innerHTML]=\"label() | translate: labelInterpolateParams()\"\n (outChangStageFlagMouse)=\"handlerChangStageFlagMouse($event)\"\n (outEvent)=\"handlerEventLabel($event)\" />\n }\n @if (popover(); as popover) {\n @if (!popover.dataView) {\n <i\n LibsUiComponentsPopoverDirective\n [config]=\"popover.config\"\n [class]=\"popover.classInclude ?? 'libs-ui-icon-tooltip-outline'\"\n (outChangStageFlagMouse)=\"handlerChangStageFlagMouse($event)\"></i>\n }\n @if (popover.dataView) {\n @let constHtmlDataView = popover.dataView || ' ';\n <div\n LibsUiComponentsPopoverDirective\n [config]=\"popover.config\"\n [innerHtml]=\"constHtmlDataView | translate\"\n (outChangStageFlagMouse)=\"handlerChangStageFlagMouse($event)\"></div>\n }\n }\n @if (dataComponentOutletComputed(); as dataComponentOutletComputed) {\n <ng-container *ngComponentOutlet=\"dataComponentOutletComputed.component; inputs: dataComponentOutletComputed.inputs\" />\n }\n</div>\n", styles: [":host .libs-ui-radio{display:flex;align-items:center}:host .libs-ui-radio .libs-ui-icon-radio-unselected,:host .libs-ui-radio .libs-ui-icon-radio-selected{margin-right:8px;font-size:16px;cursor:pointer}:host .libs-ui-radio .libs-ui-radio-type-medium:before{font-size:20px!important}:host .libs-ui-radio .libs-ui-radio-image{width:24px;height:24px;margin-right:8px;border-radius:12px;border:solid 1px #e6e8ed;cursor:pointer}:host .libs-ui-radio .libs-ui-radio-bullet{min-width:10px;min-height:10px;border-radius:50%;margin-right:8px;cursor:pointer}:host .libs-ui-radio libs_ui-components-popover[isLabel=true]{max-width:100%;margin-right:8px}:host .libs-ui-radio .libs-ui-icon-radio-selected:before{color:var(--libs-ui-color-default, #226ff5)}:host .libs-ui-radio .libs-ui-radio-tooltip-icon{font-size:16px}:host .libs-ui-radio>[class*=libs-ui-icon]{font-size:16px;cursor:pointer;margin-right:8px}\n"] }]
104
+ }], ctorParameters: () => [] });
105
+
106
+ /* eslint-disable @typescript-eslint/no-explicit-any */
107
+
108
+ /**
109
+ * Generated bundle index. Do not edit.
110
+ */
111
+
112
+ export { LibsUiComponentsRadioSingleComponent };
113
+ //# sourceMappingURL=libs-ui-components-radio-single.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"libs-ui-components-radio-single.mjs","sources":["../../../../../../libs-ui/components/radio/single/src/radio.component.ts","../../../../../../libs-ui/components/radio/single/src/radio.component.html","../../../../../../libs-ui/components/radio/single/src/interfaces/radio.interface.ts","../../../../../../libs-ui/components/radio/single/src/libs-ui-components-radio-single.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { AfterViewInit, ChangeDetectionStrategy, Component, ElementRef, OnDestroy, computed, effect, input, model, output, signal, untracked, viewChild } from '@angular/core';\nimport { IAvatarConfig, LibsUiComponentsAvatarComponent } from '@libs-ui/components-avatar';\nimport { IFlagMouse, IPopover, LibsUiComponentsPopoverComponent } from '@libs-ui/components-popover';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { Subject, fromEvent } from 'rxjs';\nimport { take, takeUntil } from 'rxjs/operators';\nimport { IRadioEvent } from './interfaces';\nimport { LibsUiComponentsComponentOutletComponent, TYPE_COMPONENT_OUTLET_DATA } from '@libs-ui/components-component-outlet';\nimport { NgComponentOutlet } from '@angular/common';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'libs_ui-components-radio-single',\n templateUrl: './radio.component.html',\n styleUrls: ['./radio.component.scss'],\n standalone: true,\n imports: [TranslateModule, NgComponentOutlet, LibsUiComponentsAvatarComponent, LibsUiComponentsPopoverComponent],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class LibsUiComponentsRadioSingleComponent implements AfterViewInit, OnDestroy {\n // #region PROPERTY\n protected linkImageDisplay = signal<string>('');\n protected dataComponentOutletComputed = computed(() => {\n if (!this.componentOutlet()) {\n return undefined;\n }\n return {\n component: this.componentOutlet(),\n inputs: this.dataComponentOutlet() || {},\n };\n });\n private onDestroy = new Subject<void>();\n\n // #region INPUT\n readonly key = input<unknown>();\n readonly active = model<boolean>(false);\n readonly classInclude = input<string>('');\n readonly label = input<string>('');\n readonly labelInterpolateParams = input<Record<string, unknown> | undefined, Record<string, unknown> | undefined>({}, { transform: (value) => value || {} });\n readonly ignorePopoverLabel = input<boolean>();\n readonly classLabelInclude = input<string | undefined, string | undefined>('libs-ui-font-h4r ', { transform: (value) => value || '' });\n readonly linkImage = input<string>('');\n readonly linkImageError = input<string>('');\n readonly avatarConfig = input<IAvatarConfig>();\n readonly classImageInclude = input<string>('');\n readonly imgTypeIcon = input<boolean>();\n readonly bullet = input<Record<string, string>>();\n readonly popover = input<IPopover>();\n readonly disable = input<boolean>();\n readonly disableLabel = input<boolean>();\n readonly clickExactly = input<boolean | undefined, boolean | undefined>(true, { transform: (value) => value ?? true });\n readonly typeRadio = input<'normal' | 'medium' | undefined, 'normal' | 'medium' | undefined>('normal', { transform: (value) => value || 'normal' });\n readonly ignoreRadio = input<boolean>();\n readonly zIndexLabel = input<number | undefined, number | undefined>(1200, { transform: (value) => value ?? 1200 });\n readonly classIncludeIcon = input<string | undefined, string | undefined>('', { transform: (value) => value || '' });\n\n readonly dataComponentOutlet = input<TYPE_COMPONENT_OUTLET_DATA>();\n readonly componentOutlet = input<LibsUiComponentsComponentOutletComponent | any>();\n\n // #region OUTPUT\n readonly outClickLabel = output<void>();\n readonly outChange = output<IRadioEvent>();\n readonly outChangStageFlagMousePopover = output<IFlagMouse>();\n\n /* VIEW CHILD */\n private imageEl = viewChild<ElementRef>('imageEl');\n\n constructor() {\n effect(() => {\n this.linkImage();\n untracked(() => this.linkImageDisplay.set(this.linkImage()));\n });\n }\n\n ngAfterViewInit() {\n if (this.imageEl()) {\n fromEvent(this.imageEl()?.nativeElement, 'error')\n .pipe(take(1), takeUntil(this.onDestroy))\n .subscribe(() => {\n this.linkImageDisplay.set(this.linkImageError());\n });\n }\n }\n\n /* FUNCTIONS */\n protected async handlerClick(e: Event) {\n if (this.clickExactly()) {\n return;\n }\n e.stopPropagation();\n this.changeActive();\n }\n\n protected async handlerEventLabel(type: string) {\n if (type === 'click') {\n this.outClickLabel.emit();\n this.changeActive();\n }\n }\n\n private async changeActive() {\n if (this.active() || this.disable()) {\n return;\n }\n this.active.update((value) => !value);\n this.outChange.emit({ active: this.active(), key: this.key() });\n }\n\n protected async handlerChangStageFlagMouse(flag: IFlagMouse) {\n this.outChangStageFlagMousePopover.emit(flag);\n }\n\n ngOnDestroy(): void {\n this.onDestroy.next();\n this.onDestroy.complete();\n }\n}\n","<div\n [class]=\"'libs-ui-radio ' + classInclude()\"\n [class.cursor-pointer]=\"!clickExactly()\"\n (click)=\"handlerClick($event)\">\n @if (!ignoreRadio()) {\n <div\n [class.libs-ui-icon-radio-unselected]=\"!active()\"\n [class.text-[#6a7383]]=\"!active()\"\n [class.libs-ui-icon-radio-selected]=\"active()\"\n [class.libs-ui-disable]=\"disable()\"\n [class.libs-ui-disable-active]=\"disable() && active()\"\n [class.pointer-events-none]=\"disable()\"\n [class]=\"classIncludeIcon() + ' libs-ui-radio-type-' + typeRadio()\"\n (click)=\"handlerEventLabel('click')\"></div>\n }\n @if (linkImageDisplay()) {\n <img\n #imageEl\n [src]=\"linkImageDisplay()\"\n [class]=\"'libs-ui-radio-image ' + classImageInclude()\"\n [class.cursor-default]=\"disable()\"\n [class.w-[18px]]=\"imgTypeIcon()\"\n [class.h-[18px]]=\"imgTypeIcon()\"\n (click)=\"handlerEventLabel('click')\" />\n }\n @if (avatarConfig(); as avatarConfig) {\n <libs_ui-components-avatar\n [typeShape]=\"avatarConfig.typeShape || 'circle'\"\n [classInclude]=\"avatarConfig.classInclude\"\n [size]=\"avatarConfig.size || 24\"\n [linkAvatar]=\"avatarConfig.linkAvatar\"\n [linkAvatarError]=\"avatarConfig.linkAvatarError\"\n [idGenColor]=\"avatarConfig.idGenColor\"\n [textAvatar]=\"avatarConfig.textAvatar\" />\n }\n @if (bullet(); as bulletConfig) {\n <div\n class=\"libs-ui-radio-bullet\"\n [style.background-color]=\"bulletConfig['backgroundColor']\"\n [class.cursor-default]=\"disable()\"\n (click)=\"handlerEventLabel('click')\"></div>\n }\n @if (label()) {\n <libs_ui-components-popover\n type=\"text\"\n [attr.isLabel]=\"true\"\n [classInclude]=\"classLabelInclude() + (disable() ? ' cursor-default' : ' cursor-pointer')\"\n [ignoreCursorPointerModeLikeClick]=\"disable()\"\n [class.libs-ui-disable]=\"disableLabel()\"\n [ignoreShowPopover]=\"ignorePopoverLabel()\"\n [config]=\"{ content: label(), timerDestroy: 50, zIndex: zIndexLabel() }\"\n [innerHTML]=\"label() | translate: labelInterpolateParams()\"\n (outChangStageFlagMouse)=\"handlerChangStageFlagMouse($event)\"\n (outEvent)=\"handlerEventLabel($event)\" />\n }\n @if (popover(); as popover) {\n @if (!popover.dataView) {\n <i\n LibsUiComponentsPopoverDirective\n [config]=\"popover.config\"\n [class]=\"popover.classInclude ?? 'libs-ui-icon-tooltip-outline'\"\n (outChangStageFlagMouse)=\"handlerChangStageFlagMouse($event)\"></i>\n }\n @if (popover.dataView) {\n @let constHtmlDataView = popover.dataView || ' ';\n <div\n LibsUiComponentsPopoverDirective\n [config]=\"popover.config\"\n [innerHtml]=\"constHtmlDataView | translate\"\n (outChangStageFlagMouse)=\"handlerChangStageFlagMouse($event)\"></div>\n }\n }\n @if (dataComponentOutletComputed(); as dataComponentOutletComputed) {\n <ng-container *ngComponentOutlet=\"dataComponentOutletComputed.component; inputs: dataComponentOutletComputed.inputs\" />\n }\n</div>\n","/* eslint-disable @typescript-eslint/no-explicit-any */\n\nimport { IAvatarConfig } from '@libs-ui/components-avatar';\nimport { IPopover } from '@libs-ui/components-popover';\n\nexport interface IRadioItem {\n key: any;\n active: boolean;\n classInclude?: string;\n label?: string;\n labelInterpolateParams?: Record<string, unknown>;\n ignorePopoverLabel?: boolean;\n classLabelInclude?: string;\n popover?: IPopover;\n disable?: boolean;\n disableLabel?: boolean;\n clickExactly?: boolean;\n zIndexLabel?: number;\n avatarConfig?: IAvatarConfig;\n data?: any;\n [key: string]: any;\n}\n\nexport interface IRadioEvent {\n active: boolean;\n key: any;\n item?: any;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
package/index.d.ts ADDED
@@ -0,0 +1,2 @@
1
+ export * from './radio.component';
2
+ export * from './interfaces';
@@ -0,0 +1 @@
1
+ export * from './radio.interface';
@@ -0,0 +1,24 @@
1
+ import { IAvatarConfig } from '@libs-ui/components-avatar';
2
+ import { IPopover } from '@libs-ui/components-popover';
3
+ export interface IRadioItem {
4
+ key: any;
5
+ active: boolean;
6
+ classInclude?: string;
7
+ label?: string;
8
+ labelInterpolateParams?: Record<string, unknown>;
9
+ ignorePopoverLabel?: boolean;
10
+ classLabelInclude?: string;
11
+ popover?: IPopover;
12
+ disable?: boolean;
13
+ disableLabel?: boolean;
14
+ clickExactly?: boolean;
15
+ zIndexLabel?: number;
16
+ avatarConfig?: IAvatarConfig;
17
+ data?: any;
18
+ [key: string]: any;
19
+ }
20
+ export interface IRadioEvent {
21
+ active: boolean;
22
+ key: any;
23
+ item?: any;
24
+ }
package/package.json ADDED
@@ -0,0 +1,28 @@
1
+ {
2
+ "name": "@libs-ui/components-radio-single",
3
+ "version": "0.1.1-1",
4
+ "peerDependencies": {
5
+ "@angular/core": ">=18.0.0",
6
+ "@libs-ui/components-avatar": "0.1.1-1",
7
+ "@libs-ui/components-popover": "0.1.1-1",
8
+ "@ngx-translate/core": "^15.0.0",
9
+ "rxjs": "~7.8.0"
10
+ },
11
+ "sideEffects": false,
12
+ "module": "fesm2022/libs-ui-components-radio-single.mjs",
13
+ "typings": "index.d.ts",
14
+ "exports": {
15
+ "./package.json": {
16
+ "default": "./package.json"
17
+ },
18
+ ".": {
19
+ "types": "./index.d.ts",
20
+ "esm2022": "./esm2022/libs-ui-components-radio-single.mjs",
21
+ "esm": "./esm2022/libs-ui-components-radio-single.mjs",
22
+ "default": "./fesm2022/libs-ui-components-radio-single.mjs"
23
+ }
24
+ },
25
+ "dependencies": {
26
+ "tslib": "^2.3.0"
27
+ }
28
+ }
@@ -0,0 +1,50 @@
1
+ import { AfterViewInit, OnDestroy } from '@angular/core';
2
+ import { IAvatarConfig } from '@libs-ui/components-avatar';
3
+ import { IFlagMouse, IPopover } from '@libs-ui/components-popover';
4
+ import { IRadioEvent } from './interfaces';
5
+ import { TYPE_COMPONENT_OUTLET_DATA } from '@libs-ui/components-component-outlet';
6
+ import * as i0 from "@angular/core";
7
+ export declare class LibsUiComponentsRadioSingleComponent implements AfterViewInit, OnDestroy {
8
+ protected linkImageDisplay: import("@angular/core").WritableSignal<string>;
9
+ protected dataComponentOutletComputed: import("@angular/core").Signal<{
10
+ component: any;
11
+ inputs: {};
12
+ } | undefined>;
13
+ private onDestroy;
14
+ readonly key: import("@angular/core").InputSignal<unknown>;
15
+ readonly active: import("@angular/core").ModelSignal<boolean>;
16
+ readonly classInclude: import("@angular/core").InputSignal<string>;
17
+ readonly label: import("@angular/core").InputSignal<string>;
18
+ readonly labelInterpolateParams: import("@angular/core").InputSignalWithTransform<Record<string, unknown> | undefined, Record<string, unknown> | undefined>;
19
+ readonly ignorePopoverLabel: import("@angular/core").InputSignal<boolean | undefined>;
20
+ readonly classLabelInclude: import("@angular/core").InputSignalWithTransform<string | undefined, string | undefined>;
21
+ readonly linkImage: import("@angular/core").InputSignal<string>;
22
+ readonly linkImageError: import("@angular/core").InputSignal<string>;
23
+ readonly avatarConfig: import("@angular/core").InputSignal<IAvatarConfig | undefined>;
24
+ readonly classImageInclude: import("@angular/core").InputSignal<string>;
25
+ readonly imgTypeIcon: import("@angular/core").InputSignal<boolean | undefined>;
26
+ readonly bullet: import("@angular/core").InputSignal<Record<string, string> | undefined>;
27
+ readonly popover: import("@angular/core").InputSignal<IPopover | undefined>;
28
+ readonly disable: import("@angular/core").InputSignal<boolean | undefined>;
29
+ readonly disableLabel: import("@angular/core").InputSignal<boolean | undefined>;
30
+ readonly clickExactly: import("@angular/core").InputSignalWithTransform<boolean | undefined, boolean | undefined>;
31
+ readonly typeRadio: import("@angular/core").InputSignalWithTransform<"normal" | "medium" | undefined, "normal" | "medium" | undefined>;
32
+ readonly ignoreRadio: import("@angular/core").InputSignal<boolean | undefined>;
33
+ readonly zIndexLabel: import("@angular/core").InputSignalWithTransform<number | undefined, number | undefined>;
34
+ readonly classIncludeIcon: import("@angular/core").InputSignalWithTransform<string | undefined, string | undefined>;
35
+ readonly dataComponentOutlet: import("@angular/core").InputSignal<TYPE_COMPONENT_OUTLET_DATA | undefined>;
36
+ readonly componentOutlet: import("@angular/core").InputSignal<any>;
37
+ readonly outClickLabel: import("@angular/core").OutputEmitterRef<void>;
38
+ readonly outChange: import("@angular/core").OutputEmitterRef<IRadioEvent>;
39
+ readonly outChangStageFlagMousePopover: import("@angular/core").OutputEmitterRef<IFlagMouse>;
40
+ private imageEl;
41
+ constructor();
42
+ ngAfterViewInit(): void;
43
+ protected handlerClick(e: Event): Promise<void>;
44
+ protected handlerEventLabel(type: string): Promise<void>;
45
+ private changeActive;
46
+ protected handlerChangStageFlagMouse(flag: IFlagMouse): Promise<void>;
47
+ ngOnDestroy(): void;
48
+ static ɵfac: i0.ɵɵFactoryDeclaration<LibsUiComponentsRadioSingleComponent, never>;
49
+ static ɵcmp: i0.ɵɵComponentDeclaration<LibsUiComponentsRadioSingleComponent, "libs_ui-components-radio-single", never, { "key": { "alias": "key"; "required": false; "isSignal": true; }; "active": { "alias": "active"; "required": false; "isSignal": true; }; "classInclude": { "alias": "classInclude"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "labelInterpolateParams": { "alias": "labelInterpolateParams"; "required": false; "isSignal": true; }; "ignorePopoverLabel": { "alias": "ignorePopoverLabel"; "required": false; "isSignal": true; }; "classLabelInclude": { "alias": "classLabelInclude"; "required": false; "isSignal": true; }; "linkImage": { "alias": "linkImage"; "required": false; "isSignal": true; }; "linkImageError": { "alias": "linkImageError"; "required": false; "isSignal": true; }; "avatarConfig": { "alias": "avatarConfig"; "required": false; "isSignal": true; }; "classImageInclude": { "alias": "classImageInclude"; "required": false; "isSignal": true; }; "imgTypeIcon": { "alias": "imgTypeIcon"; "required": false; "isSignal": true; }; "bullet": { "alias": "bullet"; "required": false; "isSignal": true; }; "popover": { "alias": "popover"; "required": false; "isSignal": true; }; "disable": { "alias": "disable"; "required": false; "isSignal": true; }; "disableLabel": { "alias": "disableLabel"; "required": false; "isSignal": true; }; "clickExactly": { "alias": "clickExactly"; "required": false; "isSignal": true; }; "typeRadio": { "alias": "typeRadio"; "required": false; "isSignal": true; }; "ignoreRadio": { "alias": "ignoreRadio"; "required": false; "isSignal": true; }; "zIndexLabel": { "alias": "zIndexLabel"; "required": false; "isSignal": true; }; "classIncludeIcon": { "alias": "classIncludeIcon"; "required": false; "isSignal": true; }; "dataComponentOutlet": { "alias": "dataComponentOutlet"; "required": false; "isSignal": true; }; "componentOutlet": { "alias": "componentOutlet"; "required": false; "isSignal": true; }; }, { "active": "activeChange"; "outClickLabel": "outClickLabel"; "outChange": "outChange"; "outChangStageFlagMousePopover": "outChangStageFlagMousePopover"; }, never, never, true, never>;
50
+ }