@libs-ui/components-radio-single 0.2.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/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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzLXVpL2NvbXBvbmVudHMvcmFkaW8vc2luZ2xlL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9yYWRpby5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9pbnRlcmZhY2VzJzsiXX0=
@@ -0,0 +1,2 @@
1
+ export * from './radio.interface';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzLXVpL2NvbXBvbmVudHMvcmFkaW8vc2luZ2xlL3NyYy9pbnRlcmZhY2VzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsbUJBQW1CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3JhZGlvLmludGVyZmFjZSc7Il19
@@ -0,0 +1,3 @@
1
+ /* eslint-disable @typescript-eslint/no-explicit-any */
2
+ export {};
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8uaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy11aS9jb21wb25lbnRzL3JhZGlvL3NpbmdsZS9zcmMvaW50ZXJmYWNlcy9yYWRpby5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdURBQXVEIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xuXG5pbXBvcnQgeyBJQXZhdGFyQ29uZmlnIH0gZnJvbSBcIkBsaWJzLXVpL2NvbXBvbmVudHMtYXZhdGFyXCI7XG5pbXBvcnQgeyBJUG9wb3ZlciB9IGZyb20gXCJAbGlicy11aS9jb21wb25lbnRzLXBvcG92ZXJcIjtcblxuZXhwb3J0IGludGVyZmFjZSBJUmFkaW9JdGVtIHtcbiAga2V5OiBhbnk7XG4gIGFjdGl2ZTogYm9vbGVhbjtcbiAgY2xhc3NJbmNsdWRlPzogc3RyaW5nO1xuICBsYWJlbD86IHN0cmluZztcbiAgbGFiZWxJbnRlcnBvbGF0ZVBhcmFtcz86IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuICBpZ25vcmVQb3BvdmVyTGFiZT86IGJvb2xlYW47XG4gIGNsYXNzTGFiZWxJbmNsdWRlPzogc3RyaW5nO1xuICBwb3BvdmVyPzogSVBvcG92ZXI7XG4gIGRpc2FibGU/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,94 @@
1
+ import { ChangeDetectionStrategy, Component, effect, input, model, output, signal, viewChild } from '@angular/core';
2
+ import { LibsUiComponentsAvatarComponent } from '@libs-ui/components-avatar';
3
+ import { LibsUiComponentsPopoverComponent } from '@libs-ui/components-popover';
4
+ import { TranslateModule } from '@ngx-translate/core';
5
+ import { Subject, fromEvent } from 'rxjs';
6
+ import { take, takeUntil } from 'rxjs/operators';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "@ngx-translate/core";
9
+ export class LibsUiComponentsRadioSingleComponent {
10
+ /* PROPERTY */
11
+ linkImageDisplay = signal('');
12
+ onDestroy = new Subject();
13
+ /* INPUT */
14
+ key = input();
15
+ active = model(false);
16
+ classInclude = input('');
17
+ label = input('');
18
+ labelInterpolateParams = input({}, { transform: value => value || {} });
19
+ ignorePopoverLabe = input();
20
+ classLabelInclude = input('libs-ui-font-h4r ', { transform: (value) => value || '' });
21
+ linkImage = input('');
22
+ ;
23
+ linkImageError = input('');
24
+ avatarConfig = input();
25
+ classImageInclude = input('');
26
+ imgTypeIcon = input();
27
+ bullet = input();
28
+ popover = input();
29
+ disable = input();
30
+ disableLabel = input();
31
+ clickExactly = input(true, { transform: value => value ?? true });
32
+ typeRadio = input('normal', { transform: value => value || 'normal' });
33
+ ignoreRadio = input();
34
+ zIndexLabel = input(1200, { transform: value => value ?? 1200 });
35
+ classIncludeIcon = input('', { transform: (value) => value || '' });
36
+ ;
37
+ /* OUTPUT */
38
+ outClickLabel = output();
39
+ outChange = output();
40
+ outChangStageFlagMousePopover = output();
41
+ /* VIEW CHILD */
42
+ imageEl = viewChild('imageEl');
43
+ constructor() {
44
+ effect(() => {
45
+ this.linkImageDisplay.set(this.linkImage());
46
+ }, { allowSignalWrites: true });
47
+ }
48
+ ngAfterViewInit() {
49
+ if (this.imageEl()) {
50
+ fromEvent(this.imageEl()?.nativeElement, 'error').pipe(take(1), takeUntil(this.onDestroy)).subscribe(() => {
51
+ this.linkImageDisplay.set(this.linkImageError());
52
+ });
53
+ }
54
+ }
55
+ /* FUNCTIONS */
56
+ async handlerClick(e) {
57
+ if (this.clickExactly()) {
58
+ return;
59
+ }
60
+ e.stopPropagation();
61
+ this.changeActive();
62
+ }
63
+ async handlerEventLabel(type) {
64
+ if (type === 'click') {
65
+ this.outClickLabel.emit();
66
+ this.changeActive();
67
+ }
68
+ }
69
+ async changeActive() {
70
+ if (this.active() || this.disable()) {
71
+ return;
72
+ }
73
+ this.active.update(value => !value);
74
+ this.outChange.emit({ active: this.active(), key: this.key() });
75
+ }
76
+ async handlerChangStageFlagMouse(flag) {
77
+ this.outChangStageFlagMousePopover.emit(flag);
78
+ }
79
+ ngOnDestroy() {
80
+ this.onDestroy.next();
81
+ this.onDestroy.complete();
82
+ }
83
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LibsUiComponentsRadioSingleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
84
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", 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 }, ignorePopoverLabe: { classPropertyName: "ignorePopoverLabe", publicName: "ignorePopoverLabe", 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 } }, outputs: { active: "activeChange", outClickLabel: "outClickLabel", outChange: "outChange", outChangStageFlagMousePopover: "outChangStageFlagMousePopover" }, viewQueries: [{ propertyName: "imageEl", first: true, predicate: ["imageEl"], descendants: true, isSignal: true }], ngImport: i0, template: "<div [class]=\"'libs-ui-radio ' + classInclude()\"\n [class.cursor-pointer]=\"!clickExactly()\"\n (click)=\"handlerClick($event)\">\n @if (!ignoreRadio()) {\n <div [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')\">\n </div>\n }\n @if (linkImageDisplay()) {\n <img #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 [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 class=\"libs-ui-radio-bullet\"\n [style.background-color]=\"bulletConfig['backgroundColor']\"\n [class.cursor-default]=\"disable()\"\n (click)=\"handlerEventLabel('click')\">\n </div>\n }\n @if (label()) {\n <libs_ui-components-popover type=\"text\"\n [attr.isLabel]=\"true\"\n [classInclude]=\"classLabelInclude() + (disable() ? ' cursor-default':'')\"\n [ignoreCursorPointerModeLikeClick]=\"disable()\"\n [class.libs-ui-disable]=\"disableLabel()\"\n [ignoreShowPopover]=\"ignorePopoverLabe()\"\n [config]=\"{content:label(),timerDestroy:250, 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 LibsUiComponentsPopoverDirective\n [config]=\"popover.config\"\n [class]=\"(popover.classInclude ?? 'libs-ui-icon-tooltip-line')\"\n (outChangStageFlagMouse)='handlerChangStageFlagMouse($event)'>\n </i>\n }\n @if (popover.dataView) {\n <div LibsUiComponentsPopoverDirective\n [config]=\"popover.config\"\n [innerHtml]=\"(popover.dataView || ' ') | translate\"\n (outChangStageFlagMouse)='handlerChangStageFlagMouse($event)'>\n </div>\n }\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*=mo-svg-font]{font-size:16px;cursor:pointer;margin-right:8px}\n"], dependencies: [{ kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }, { kind: "component", type: LibsUiComponentsAvatarComponent, selector: "libs_ui-components-avatar", inputs: ["typeShape", "classInclude", "size", "linkAvatar", "linkAvatarError", "idGenColor", "textAvatar", "classImageInclude"], outputs: ["outAvatarError"] }, { kind: "component", type: LibsUiComponentsPopoverComponent, selector: "libs_ui-components-popover,[LibsUiComponentsPopoverDirective]", inputs: ["flagMouse", "type", "mode", "config", "ignoreShowPopover", "elementRefCustom", "classInclude", "ignoreHiddenPopoverContentWhenMouseLeave", "ignoreStopPropagationEvent", "ignoreCursorPointerModeLikeClick", "isAddContentToParentDocument", "ignoreClickOutside"], outputs: ["outEvent", "outChangStageFlagMouse", "outEventPopoverContent", "outFunctionsControl"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
85
+ }
86
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LibsUiComponentsRadioSingleComponent, decorators: [{
87
+ type: Component,
88
+ args: [{ selector: 'libs_ui-components-radio-single', standalone: true, imports: [
89
+ TranslateModule,
90
+ LibsUiComponentsAvatarComponent,
91
+ LibsUiComponentsPopoverComponent
92
+ ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div [class]=\"'libs-ui-radio ' + classInclude()\"\n [class.cursor-pointer]=\"!clickExactly()\"\n (click)=\"handlerClick($event)\">\n @if (!ignoreRadio()) {\n <div [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')\">\n </div>\n }\n @if (linkImageDisplay()) {\n <img #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 [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 class=\"libs-ui-radio-bullet\"\n [style.background-color]=\"bulletConfig['backgroundColor']\"\n [class.cursor-default]=\"disable()\"\n (click)=\"handlerEventLabel('click')\">\n </div>\n }\n @if (label()) {\n <libs_ui-components-popover type=\"text\"\n [attr.isLabel]=\"true\"\n [classInclude]=\"classLabelInclude() + (disable() ? ' cursor-default':'')\"\n [ignoreCursorPointerModeLikeClick]=\"disable()\"\n [class.libs-ui-disable]=\"disableLabel()\"\n [ignoreShowPopover]=\"ignorePopoverLabe()\"\n [config]=\"{content:label(),timerDestroy:250, 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 LibsUiComponentsPopoverDirective\n [config]=\"popover.config\"\n [class]=\"(popover.classInclude ?? 'libs-ui-icon-tooltip-line')\"\n (outChangStageFlagMouse)='handlerChangStageFlagMouse($event)'>\n </i>\n }\n @if (popover.dataView) {\n <div LibsUiComponentsPopoverDirective\n [config]=\"popover.config\"\n [innerHtml]=\"(popover.dataView || ' ') | translate\"\n (outChangStageFlagMouse)='handlerChangStageFlagMouse($event)'>\n </div>\n }\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*=mo-svg-font]{font-size:16px;cursor:pointer;margin-right:8px}\n"] }]
93
+ }], ctorParameters: () => [] });
94
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy11aS9jb21wb25lbnRzL3JhZGlvL3NpbmdsZS9zcmMvcmFkaW8uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy11aS9jb21wb25lbnRzL3JhZGlvL3NpbmdsZS9zcmMvcmFkaW8uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQix1QkFBdUIsRUFBRSxTQUFTLEVBQXlCLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFKLE9BQU8sRUFBaUIsK0JBQStCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM1RixPQUFPLEVBQXdCLGdDQUFnQyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDckcsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQWlCakQsTUFBTSxPQUFPLG9DQUFvQztJQUMvQyxjQUFjO0lBQ0osZ0JBQWdCLEdBQUcsTUFBTSxDQUFTLEVBQUUsQ0FBQyxDQUFDO0lBRXhDLFNBQVMsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO0lBRXhDLFdBQVc7SUFDRixHQUFHLEdBQUcsS0FBSyxFQUFXLENBQUM7SUFDdkIsTUFBTSxHQUFHLEtBQUssQ0FBVSxLQUFLLENBQUMsQ0FBQztJQUMvQixZQUFZLEdBQUcsS0FBSyxDQUFTLEVBQUUsQ0FBQyxDQUFDO0lBQ2pDLEtBQUssR0FBRyxLQUFLLENBQVMsRUFBRSxDQUFDLENBQUM7SUFDMUIsc0JBQXNCLEdBQUcsS0FBSyxD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TSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIE9uRGVzdHJveSwgZWZmZWN0LCBpbnB1dCwgbW9kZWwsIG91dHB1dCwgc2lnbmFsLCB2aWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElBdmF0YXJDb25maWcsIExpYnNVaUNvbXBvbmVudHNBdmF0YXJDb21wb25lbnQgfSBmcm9tICdAbGlicy11aS9jb21wb25lbnRzLWF2YXRhcic7XG5pbXBvcnQgeyBJRmxhZ01vdXNlLCBJUG9wb3ZlciwgTGlic1VpQ29tcG9uZW50c1BvcG92ZXJDb21wb25lbnQgfSBmcm9tICdAbGlicy11aS9jb21wb25lbnRzLXBvcG92ZXInO1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBTdWJqZWN0LCBmcm9tRXZlbnQgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2UsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IElSYWRpb0V2ZW50IH0gZnJvbSAnLi9pbnRlcmZhY2VzJztcblxuQENvbXBvbmVudCh7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvY29tcG9uZW50LXNlbGVjdG9yXG4gIHNlbGVjdG9yOiAnbGlic191aS1jb21wb25lbnRzLXJhZGlvLXNpbmdsZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9yYWRpby5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3JhZGlvLmNvbXBvbmVudC5zY3NzJ10sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBUcmFuc2xhdGVNb2R1bGUsXG4gICAgTGlic1VpQ29tcG9uZW50c0F2YXRhckNvbXBvbmVudCxcbiAgICBMaWJzVWlDb21wb25lbnRzUG9wb3ZlckNvbXBvbmVudFxuICBdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcblxuZXhwb3J0IGNsYXNzIExpYnNVaUNvbXBvbmVudHNSYWRpb1NpbmdsZUNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG4gIC8qIFBST1BFUlRZICovXG4gIHByb3RlY3RlZCBsaW5rSW1hZ2VEaXNwbGF5ID0gc2lnbmFsPHN0cmluZz4oJycpO1xuXG4gIHByaXZhdGUgb25EZXN0cm95ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAvKiBJTlBVVCAqL1xuICByZWFkb25seSBrZXkgPSBpbnB1dDx1bmtub3duPigpO1xuICByZWFkb25seSBhY3RpdmUgPSBtb2RlbDxib29sZWFuPihmYWxzZSk7XG4gIHJlYWRvbmx5IGNsYXNzSW5jbHVkZSA9IGlucHV0PHN0cmluZz4oJycpO1xuICByZWFkb25seSBsYWJlbCA9IGlucHV0PHN0cmluZz4oJycpO1xuICByZWFkb25seSBsYWJlbEludGVycG9sYXRlUGFyYW1zID0gaW5wdXQ8UmVjb3JkPHN0cmluZywgdW5rbm93bj4gfCB1bmRlZmluZWQsIFJlY29yZDxzdHJpbmcsIHVua25vd24+IHwgdW5kZWZpbmVkPih7fSwgeyB0cmFuc2Zvcm06IHZhbHVlID0+IHZhbHVlIHx8IHt9IH0pO1xuICByZWFkb25seSBpZ25vcmVQb3BvdmVyTGFiZSA9IGlucHV0PGJvb2xlYW4+KCk7XG4gIHJlYWRvbmx5IGNsYXNzTGFiZWxJbmNsdWRlID0gaW5wdXQ8c3RyaW5nIHwgdW5kZWZpbmVkLCBzdHJpbmcgfCB1bmRlZmluZWQ+KCdsaWJzLXVpLWZvbnQtaDRyICcsIHsgdHJhbnNmb3JtOiAodmFsdWUpID0+IHZhbHVlIHx8ICcnIH0pO1xuICByZWFkb25seSBsaW5rSW1hZ2UgPSBpbnB1dDxzdHJpbmc+KCcnKTs7XG4gIHJlYWRvbmx5IGxpbmtJbWFnZUVycm9yID0gaW5wdXQ8c3RyaW5nPignJyk7XG4gIHJlYWRvbmx5IGF2YXRhckNvbmZpZyA9IGlucHV0PElBdmF0YXJDb25maWc+KCk7XG4gIHJlYWRvbmx5IGNsYXNzSW1hZ2VJbmNsdWRlID0gaW5wdXQ8c3RyaW5nPignJyk7XG4gIHJlYWRvbmx5IGltZ1R5cGVJY29uID0gaW5wdXQ8Ym9vbGVhbj4oKTtcbiAgcmVhZG9ubHkgYnVsbGV0ID0gaW5wdXQ8UmVjb3JkPHN0cmluZywgc3RyaW5nPj4oKTtcbiAgcmVhZG9ubHkgcG9wb3ZlciA9IGlucHV0PElQb3BvdmVyPigpO1xuICByZWFkb25seSBkaXNhYmxlID0gaW5wdXQ8Ym9vbGVhbj4oKTtcbiAgcmVhZG9ubHkgZGlzYWJsZUxhYmVsID0gaW5wdXQ8Ym9vbGVhbj4oKTtcbiAgcmVhZG9ubHkgY2xpY2tFeGFjdGx5ID0gaW5wdXQ8Ym9vbGVhbiB8IHVuZGVmaW5lZCwgYm9vbGVhbiB8IHVuZGVmaW5lZD4odHJ1ZSwgeyB0cmFuc2Zvcm06IHZhbHVlID0+IHZhbHVlID8/IHRydWUgfSk7XG4gIHJlYWRvbmx5IHR5cGVSYWRpbyA9IGlucHV0PCdub3JtYWwnIHwgJ21lZGl1bScgfCB1bmRlZmluZWQsICdub3JtYWwnIHwgJ21lZGl1bScgfCB1bmRlZmluZWQ+KCdub3JtYWwnLCB7IHRyYW5zZm9ybTogdmFsdWUgPT4gdmFsdWUgfHwgJ25vcm1hbCcgfSk7XG4gIHJlYWRvbmx5IGlnbm9yZVJhZGlvID0gaW5wdXQ8Ym9vbGVhbj4oKTtcbiAgcmVhZG9ubHkgekluZGV4TGFiZWwgPSBpbnB1dDxudW1iZXIgfCB1bmRlZmluZWQsIG51bWJlciB8IHVuZGVmaW5lZD4oMTIwMCwgeyB0cmFuc2Zvcm06IHZhbHVlID0+IHZhbHVlID8/IDEyMDAgfSk7XG4gIHJlYWRvbmx5IGNsYXNzSW5jbHVkZUljb24gPSBpbnB1dDxzdHJpbmcgfCB1bmRlZmluZWQsIHN0cmluZyB8IHVuZGVmaW5lZD4oJycsIHsgdHJhbnNmb3JtOiAodmFsdWUpID0+IHZhbHVlIHx8ICcnIH0pOztcblxuICAvKiBPVVRQVVQgKi9cbiAgcmVhZG9ubHkgb3V0Q2xpY2tMYWJlbCA9IG91dHB1dDx2b2lkPigpO1xuICByZWFkb25seSBvdXRDaGFuZ2UgPSBvdXRwdXQ8SVJhZGlvRXZlbnQ+KCk7XG4gIHJlYWRvbmx5IG91dENoYW5nU3RhZ2VGbGFnTW91c2VQb3BvdmVyID0gb3V0cHV0PElGbGFnTW91c2U+KCk7XG5cbiAgLyogVklFVyBDSElMRCAqL1xuICBwcml2YXRlIGltYWdlRWwgPSB2aWV3Q2hpbGQ8RWxlbWVudFJlZj4oJ2ltYWdlRWwnKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBlZmZlY3QoKCkgPT4ge1xuICAgICAgdGhpcy5saW5rSW1hZ2VEaXNwbGF5LnNldCh0aGlzLmxpbmtJbWFnZSgpKVxuICAgIH0sIHsgYWxsb3dTaWduYWxXcml0ZXM6IHRydWUgfSk7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgaWYgKHRoaXMuaW1hZ2VFbCgpKSB7XG4gICAgICBmcm9tRXZlbnQodGhpcy5pbWFnZUVsKCk/Lm5hdGl2ZUVsZW1lbnQsICdlcnJvcicpLnBpcGUodGFrZSgxKSwgdGFrZVVudGlsKHRoaXMub25EZXN0cm95KSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5saW5rSW1hZ2VEaXNwbGF5LnNldCh0aGlzLmxpbmtJbWFnZUVycm9yKCkpXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICAvKiBGVU5DVElPTlMgKi9cbiAgcHJvdGVjdGVkIGFzeW5jIGhhbmRsZXJDbGljayhlOiBFdmVudCkge1xuICAgIGlmICh0aGlzLmNsaWNrRXhhY3RseSgpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgdGhpcy5jaGFuZ2VBY3RpdmUoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBhc3luYyBoYW5kbGVyRXZlbnRMYWJlbCh0eXBlOiBzdHJpbmcpIHtcbiAgICBpZiAodHlwZSA9PT0gJ2NsaWNrJykge1xuICAgICAgdGhpcy5vdXRDbGlja0xhYmVsLmVtaXQoKTtcbiAgICAgIHRoaXMuY2hhbmdlQWN0aXZlKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBjaGFuZ2VBY3RpdmUoKSB7XG4gICAgaWYgKHRoaXMuYWN0aXZlKCkgfHwgdGhpcy5kaXNhYmxlKCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5hY3RpdmUudXBkYXRlKHZhbHVlID0+ICF2YWx1ZSk7XG4gICAgdGhpcy5vdXRDaGFuZ2UuZW1pdCh7IGFjdGl2ZTogdGhpcy5hY3RpdmUoKSwga2V5OiB0aGlzLmtleSgpIH0pO1xuICB9XG5cbiAgcHJvdGVjdGVkIGFzeW5jIGhhbmRsZXJDaGFuZ1N0YWdlRmxhZ01vdXNlKGZsYWc6IElGbGFnTW91c2UpIHtcbiAgICB0aGlzLm91dENoYW5nU3RhZ2VGbGFnTW91c2VQb3BvdmVyLmVtaXQoZmxhZyk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLm9uRGVzdHJveS5uZXh0KCk7XG4gICAgdGhpcy5vbkRlc3Ryb3kuY29tcGxldGUoKTtcbiAgfVxufVxuIiwiPGRpdiBbY2xhc3NdPVwiJ2xpYnMtdWktcmFkaW8gJyArIGNsYXNzSW5jbHVkZSgpXCJcbiAgW2NsYXNzLmN1cnNvci1wb2ludGVyXT1cIiFjbGlja0V4YWN0bHkoKVwiXG4gIChjbGljayk9XCJoYW5kbGVyQ2xpY2soJGV2ZW50KVwiPlxuICBAaWYgKCFpZ25vcmVSYWRpbygpKSB7XG4gICAgPGRpdiBbY2xhc3MubGlicy11aS1pY29uLXJhZGlvLXVuc2VsZWN0ZWRdPVwiIWFjdGl2ZSgpXCJcbiAgICAgIFtjbGFzcy50ZXh0LVsjNmE3MzgzXV09XCIhYWN0aXZlKClcIlxuICAgICAgW2NsYXNzLmxpYnMtdWktaWNvbi1yYWRpby1zZWxlY3RlZF09XCIoYWN0aXZlKCkpXCJcbiAgICAgIFtjbGFzcy5saWJzLXVpLWRpc2FibGVdPVwiZGlzYWJsZSgpXCJcbiAgICAgIFtjbGFzcy5saWJzLXVpLWRpc2FibGUtYWN0aXZlXT1cImRpc2FibGUoKSAmJiBhY3RpdmUoKVwiXG4gICAgICBbY2xhc3MucG9pbnRlci1ldmVudHMtbm9uZV09XCJkaXNhYmxlKClcIlxuICAgICAgW2NsYXNzXT1cImNsYXNzSW5jbHVkZUljb24oKSArICcgbGlicy11aS1yYWRpby10eXBlLScgKyB0eXBlUmFkaW8oKVwiXG4gICAgICAoY2xpY2spPVwiaGFuZGxlckV2ZW50TGFiZWwoJ2NsaWNrJylcIj5cbiAgICA8L2Rpdj5cbiAgfVxuICBAaWYgKGxpbmtJbWFnZURpc3BsYXkoKSkge1xuICAgIDxpbWcgI2ltYWdlRWxcbiAgICAgIFtzcmNdPVwibGlua0ltYWdlRGlzcGxheSgpXCJcbiAgICAgIFtjbGFzc109XCInbGlicy11aS1yYWRpby1pbWFnZSAnICsgY2xhc3NJbWFnZUluY2x1ZGUoKVwiXG4gICAgICBbY2xhc3MuY3Vyc29yLWRlZmF1bHRdPVwiZGlzYWJsZSgpXCJcbiAgICAgIFtjbGFzcy53LVsxOHB4XV09XCJpbWdUeXBlSWNvbigpXCJcbiAgICAgIFtjbGFzcy5oLVsxOHB4XV09XCJpbWdUeXBlSWNvbigpXCJcbiAgICAgIChjbGljayk9XCJoYW5kbGVyRXZlbnRMYWJlbCgnY2xpY2snKVwiIC8+XG4gIH1cbiAgQGlmIChhdmF0YXJDb25maWcoKTsgYXMgYXZhdGFyQ29uZmlnKSB7XG4gICAgPGxpYnNfdWktY29tcG9uZW50cy1hdmF0YXIgW3R5cGVTaGFwZV09XCJhdmF0YXJDb25maWcudHlwZVNoYXBlIHx8J2NpcmNsZSdcIlxuICAgICAgW2NsYXNzSW5jbHVkZV09XCJhdmF0YXJDb25maWcuY2xhc3NJbmNsdWRlXCJcbiAgICAgIFtzaXplXT0nYXZhdGFyQ29uZmlnLnNpemUgfHwgMjQnXG4gICAgICBbbGlua0F2YXRhcl09XCJhdmF0YXJDb25maWcubGlua0F2YXRhclwiXG4gICAgICBbbGlua0F2YXRhckVycm9yXT1cImF2YXRhckNvbmZpZy5saW5rQXZhdGFyRXJyb3JcIlxuICAgICAgW2lkR2VuQ29sb3JdPVwiYXZhdGFyQ29uZmlnLmlkR2VuQ29sb3JcIlxuICAgICAgW3RleHRBdmF0YXJdPVwiYXZhdGFyQ29uZmlnLnRleHRBdmF0YXJcIiAvPlxuICB9XG4gIEBpZiAoYnVsbGV0KCk7IGFzIGJ1bGxldENvbmZpZykge1xuICAgIDxkaXYgY2xhc3M9XCJsaWJzLXVpLXJhZGlvLWJ1bGxldFwiXG4gICAgICBbc3R5bGUuYmFja2dyb3VuZC1jb2xvcl09XCJidWxsZXRDb25maWdbJ2JhY2tncm91bmRDb2xvciddXCJcbiAgICAgIFtjbGFzcy5jdXJzb3ItZGVmYXVsdF09XCJkaXNhYmxlKClcIlxuICAgICAgKGNsaWNrKT1cImhhbmRsZXJFdmVudExhYmVsKCdjbGljaycpXCI+XG4gICAgPC9kaXY+XG4gIH1cbiAgQGlmIChsYWJlbCgpKSB7XG4gICAgPGxpYnNfdWktY29tcG9uZW50cy1wb3BvdmVyIHR5cGU9XCJ0ZXh0XCJcbiAgICAgIFthdHRyLmlzTGFiZWxdPVwidHJ1ZVwiXG4gICAgICBbY2xhc3NJbmNsdWRlXT1cImNsYXNzTGFiZWxJbmNsdWRlKCkgKyAoZGlzYWJsZSgpID8gJyBjdXJzb3ItZGVmYXVsdCc6JycpXCJcbiAgICAgIFtpZ25vcmVDdXJzb3JQb2ludGVyTW9kZUxpa2VDbGlja109XCJkaXNhYmxlKClcIlxuICAgICAgW2NsYXNzLmxpYnMtdWktZGlzYWJsZV09XCJkaXNhYmxlTGFiZWwoKVwiXG4gICAgICBbaWdub3JlU2hvd1BvcG92ZXJdPVwiaWdub3JlUG9wb3ZlckxhYmUoKVwiXG4gICAgICBbY29uZmlnXT1cIntjb250ZW50OmxhYmVsKCksdGltZXJEZXN0cm95OjI1MCwgekluZGV4OiB6SW5kZXhMYWJlbCgpfVwiXG4gICAgICBbaW5uZXJIVE1MXT1cImxhYmVsKCkgfCB0cmFuc2xhdGU6bGFiZWxJbnRlcnBvbGF0ZVBhcmFtcygpXCJcbiAgICAgIChvdXRDaGFuZ1N0YWdlRmxhZ01vdXNlKT0naGFuZGxlckNoYW5nU3RhZ2VGbGFnTW91c2UoJGV2ZW50KSdcbiAgICAgIChvdXRFdmVudCk9XCJoYW5kbGVyRXZlbnRMYWJlbCgkZXZlbnQpXCIgLz5cbiAgfVxuICBAaWYgKHBvcG92ZXIoKTsgYXMgcG9wb3Zlcikge1xuICAgIEBpZiAoIXBvcG92ZXIuZGF0YVZpZXcpIHtcbiAgICAgIDxpIExpYnNVaUNvbXBvbmVudHNQb3BvdmVyRGlyZWN0aXZlXG4gICAgICAgIFtjb25maWddPVwicG9wb3Zlci5jb25maWdcIlxuICAgICAgICBbY2xhc3NdPVwiKHBvcG92ZXIuY2xhc3NJbmNsdWRlID8/ICdsaWJzLXVpLWljb24tdG9vbHRpcC1saW5lJylcIlxuICAgICAgICAob3V0Q2hhbmdTdGFnZUZsYWdNb3VzZSk9J2hhbmRsZXJDaGFuZ1N0YWdlRmxhZ01vdXNlKCRldmVudCknPlxuICAgICAgPC9pPlxuICAgIH1cbiAgICBAaWYgKHBvcG92ZXIuZGF0YVZpZXcpIHtcbiAgICAgIDxkaXYgTGlic1VpQ29tcG9uZW50c1BvcG92ZXJEaXJlY3RpdmVcbiAgICAgICAgW2NvbmZpZ109XCJwb3BvdmVyLmNvbmZpZ1wiXG4gICAgICAgIFtpbm5lckh0bWxdPVwiKHBvcG92ZXIuZGF0YVZpZXcgfHwgJyAnKSB8IHRyYW5zbGF0ZVwiXG4gICAgICAgIChvdXRDaGFuZ1N0YWdlRmxhZ01vdXNlKT0naGFuZGxlckNoYW5nU3RhZ2VGbGFnTW91c2UoJGV2ZW50KSc+XG4gICAgICA8L2Rpdj5cbiAgICB9XG4gIH1cbjwvZGl2PlxuIl19
@@ -0,0 +1,103 @@
1
+ import * as i0 from '@angular/core';
2
+ import { signal, input, model, output, viewChild, effect, Component, ChangeDetectionStrategy } 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
+
10
+ class LibsUiComponentsRadioSingleComponent {
11
+ /* PROPERTY */
12
+ linkImageDisplay = signal('');
13
+ onDestroy = new Subject();
14
+ /* INPUT */
15
+ key = input();
16
+ active = model(false);
17
+ classInclude = input('');
18
+ label = input('');
19
+ labelInterpolateParams = input({}, { transform: value => value || {} });
20
+ ignorePopoverLabe = input();
21
+ classLabelInclude = input('libs-ui-font-h4r ', { transform: (value) => value || '' });
22
+ linkImage = input('');
23
+ ;
24
+ linkImageError = input('');
25
+ avatarConfig = input();
26
+ classImageInclude = input('');
27
+ imgTypeIcon = input();
28
+ bullet = input();
29
+ popover = input();
30
+ disable = input();
31
+ disableLabel = input();
32
+ clickExactly = input(true, { transform: value => value ?? true });
33
+ typeRadio = input('normal', { transform: value => value || 'normal' });
34
+ ignoreRadio = input();
35
+ zIndexLabel = input(1200, { transform: value => value ?? 1200 });
36
+ classIncludeIcon = input('', { transform: (value) => value || '' });
37
+ ;
38
+ /* OUTPUT */
39
+ outClickLabel = output();
40
+ outChange = output();
41
+ outChangStageFlagMousePopover = output();
42
+ /* VIEW CHILD */
43
+ imageEl = viewChild('imageEl');
44
+ constructor() {
45
+ effect(() => {
46
+ this.linkImageDisplay.set(this.linkImage());
47
+ }, { allowSignalWrites: true });
48
+ }
49
+ ngAfterViewInit() {
50
+ if (this.imageEl()) {
51
+ fromEvent(this.imageEl()?.nativeElement, 'error').pipe(take(1), takeUntil(this.onDestroy)).subscribe(() => {
52
+ this.linkImageDisplay.set(this.linkImageError());
53
+ });
54
+ }
55
+ }
56
+ /* FUNCTIONS */
57
+ async handlerClick(e) {
58
+ if (this.clickExactly()) {
59
+ return;
60
+ }
61
+ e.stopPropagation();
62
+ this.changeActive();
63
+ }
64
+ async handlerEventLabel(type) {
65
+ if (type === 'click') {
66
+ this.outClickLabel.emit();
67
+ this.changeActive();
68
+ }
69
+ }
70
+ async changeActive() {
71
+ if (this.active() || this.disable()) {
72
+ return;
73
+ }
74
+ this.active.update(value => !value);
75
+ this.outChange.emit({ active: this.active(), key: this.key() });
76
+ }
77
+ async handlerChangStageFlagMouse(flag) {
78
+ this.outChangStageFlagMousePopover.emit(flag);
79
+ }
80
+ ngOnDestroy() {
81
+ this.onDestroy.next();
82
+ this.onDestroy.complete();
83
+ }
84
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LibsUiComponentsRadioSingleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
85
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", 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 }, ignorePopoverLabe: { classPropertyName: "ignorePopoverLabe", publicName: "ignorePopoverLabe", 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 } }, outputs: { active: "activeChange", outClickLabel: "outClickLabel", outChange: "outChange", outChangStageFlagMousePopover: "outChangStageFlagMousePopover" }, viewQueries: [{ propertyName: "imageEl", first: true, predicate: ["imageEl"], descendants: true, isSignal: true }], ngImport: i0, template: "<div [class]=\"'libs-ui-radio ' + classInclude()\"\n [class.cursor-pointer]=\"!clickExactly()\"\n (click)=\"handlerClick($event)\">\n @if (!ignoreRadio()) {\n <div [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')\">\n </div>\n }\n @if (linkImageDisplay()) {\n <img #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 [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 class=\"libs-ui-radio-bullet\"\n [style.background-color]=\"bulletConfig['backgroundColor']\"\n [class.cursor-default]=\"disable()\"\n (click)=\"handlerEventLabel('click')\">\n </div>\n }\n @if (label()) {\n <libs_ui-components-popover type=\"text\"\n [attr.isLabel]=\"true\"\n [classInclude]=\"classLabelInclude() + (disable() ? ' cursor-default':'')\"\n [ignoreCursorPointerModeLikeClick]=\"disable()\"\n [class.libs-ui-disable]=\"disableLabel()\"\n [ignoreShowPopover]=\"ignorePopoverLabe()\"\n [config]=\"{content:label(),timerDestroy:250, 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 LibsUiComponentsPopoverDirective\n [config]=\"popover.config\"\n [class]=\"(popover.classInclude ?? 'libs-ui-icon-tooltip-line')\"\n (outChangStageFlagMouse)='handlerChangStageFlagMouse($event)'>\n </i>\n }\n @if (popover.dataView) {\n <div LibsUiComponentsPopoverDirective\n [config]=\"popover.config\"\n [innerHtml]=\"(popover.dataView || ' ') | translate\"\n (outChangStageFlagMouse)='handlerChangStageFlagMouse($event)'>\n </div>\n }\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*=mo-svg-font]{font-size:16px;cursor:pointer;margin-right:8px}\n"], dependencies: [{ kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }, { kind: "component", type: LibsUiComponentsAvatarComponent, selector: "libs_ui-components-avatar", inputs: ["typeShape", "classInclude", "size", "linkAvatar", "linkAvatarError", "idGenColor", "textAvatar", "classImageInclude"], outputs: ["outAvatarError"] }, { kind: "component", type: LibsUiComponentsPopoverComponent, selector: "libs_ui-components-popover,[LibsUiComponentsPopoverDirective]", inputs: ["flagMouse", "type", "mode", "config", "ignoreShowPopover", "elementRefCustom", "classInclude", "ignoreHiddenPopoverContentWhenMouseLeave", "ignoreStopPropagationEvent", "ignoreCursorPointerModeLikeClick", "isAddContentToParentDocument", "ignoreClickOutside"], outputs: ["outEvent", "outChangStageFlagMouse", "outEventPopoverContent", "outFunctionsControl"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
86
+ }
87
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LibsUiComponentsRadioSingleComponent, decorators: [{
88
+ type: Component,
89
+ args: [{ selector: 'libs_ui-components-radio-single', standalone: true, imports: [
90
+ TranslateModule,
91
+ LibsUiComponentsAvatarComponent,
92
+ LibsUiComponentsPopoverComponent
93
+ ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div [class]=\"'libs-ui-radio ' + classInclude()\"\n [class.cursor-pointer]=\"!clickExactly()\"\n (click)=\"handlerClick($event)\">\n @if (!ignoreRadio()) {\n <div [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')\">\n </div>\n }\n @if (linkImageDisplay()) {\n <img #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 [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 class=\"libs-ui-radio-bullet\"\n [style.background-color]=\"bulletConfig['backgroundColor']\"\n [class.cursor-default]=\"disable()\"\n (click)=\"handlerEventLabel('click')\">\n </div>\n }\n @if (label()) {\n <libs_ui-components-popover type=\"text\"\n [attr.isLabel]=\"true\"\n [classInclude]=\"classLabelInclude() + (disable() ? ' cursor-default':'')\"\n [ignoreCursorPointerModeLikeClick]=\"disable()\"\n [class.libs-ui-disable]=\"disableLabel()\"\n [ignoreShowPopover]=\"ignorePopoverLabe()\"\n [config]=\"{content:label(),timerDestroy:250, 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 LibsUiComponentsPopoverDirective\n [config]=\"popover.config\"\n [class]=\"(popover.classInclude ?? 'libs-ui-icon-tooltip-line')\"\n (outChangStageFlagMouse)='handlerChangStageFlagMouse($event)'>\n </i>\n }\n @if (popover.dataView) {\n <div LibsUiComponentsPopoverDirective\n [config]=\"popover.config\"\n [innerHtml]=\"(popover.dataView || ' ') | translate\"\n (outChangStageFlagMouse)='handlerChangStageFlagMouse($event)'>\n </div>\n }\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*=mo-svg-font]{font-size:16px;cursor:pointer;margin-right:8px}\n"] }]
94
+ }], ctorParameters: () => [] });
95
+
96
+ /* eslint-disable @typescript-eslint/no-explicit-any */
97
+
98
+ /**
99
+ * Generated bundle index. Do not edit.
100
+ */
101
+
102
+ export { LibsUiComponentsRadioSingleComponent };
103
+ //# 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":["import { AfterViewInit, ChangeDetectionStrategy, Component, ElementRef, OnDestroy, effect, input, model, output, signal, 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';\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: [\n TranslateModule,\n LibsUiComponentsAvatarComponent,\n LibsUiComponentsPopoverComponent\n ],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\n\nexport class LibsUiComponentsRadioSingleComponent implements AfterViewInit, OnDestroy {\n /* PROPERTY */\n protected linkImageDisplay = signal<string>('');\n\n private onDestroy = new Subject<void>();\n\n /* 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 ignorePopoverLabe = 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 /* 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.linkImageDisplay.set(this.linkImage())\n }, { allowSignalWrites: true });\n }\n\n ngAfterViewInit() {\n if (this.imageEl()) {\n fromEvent(this.imageEl()?.nativeElement, 'error').pipe(take(1), takeUntil(this.onDestroy)).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 [class]=\"'libs-ui-radio ' + classInclude()\"\n [class.cursor-pointer]=\"!clickExactly()\"\n (click)=\"handlerClick($event)\">\n @if (!ignoreRadio()) {\n <div [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')\">\n </div>\n }\n @if (linkImageDisplay()) {\n <img #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 [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 class=\"libs-ui-radio-bullet\"\n [style.background-color]=\"bulletConfig['backgroundColor']\"\n [class.cursor-default]=\"disable()\"\n (click)=\"handlerEventLabel('click')\">\n </div>\n }\n @if (label()) {\n <libs_ui-components-popover type=\"text\"\n [attr.isLabel]=\"true\"\n [classInclude]=\"classLabelInclude() + (disable() ? ' cursor-default':'')\"\n [ignoreCursorPointerModeLikeClick]=\"disable()\"\n [class.libs-ui-disable]=\"disableLabel()\"\n [ignoreShowPopover]=\"ignorePopoverLabe()\"\n [config]=\"{content:label(),timerDestroy:250, 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 LibsUiComponentsPopoverDirective\n [config]=\"popover.config\"\n [class]=\"(popover.classInclude ?? 'libs-ui-icon-tooltip-line')\"\n (outChangStageFlagMouse)='handlerChangStageFlagMouse($event)'>\n </i>\n }\n @if (popover.dataView) {\n <div LibsUiComponentsPopoverDirective\n [config]=\"popover.config\"\n [innerHtml]=\"(popover.dataView || ' ') | translate\"\n (outChangStageFlagMouse)='handlerChangStageFlagMouse($event)'>\n </div>\n }\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 ignorePopoverLabe?: 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
+ ignorePopoverLabe?: 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,25 @@
1
+ {
2
+ "name": "@libs-ui/components-radio-single",
3
+ "version": "0.2.5",
4
+ "peerDependencies": {
5
+ "@angular/common": "^18.2.0",
6
+ "@angular/core": "^18.2.0"
7
+ },
8
+ "sideEffects": false,
9
+ "module": "fesm2022/libs-ui-components-radio-single.mjs",
10
+ "typings": "index.d.ts",
11
+ "exports": {
12
+ "./package.json": {
13
+ "default": "./package.json"
14
+ },
15
+ ".": {
16
+ "types": "./index.d.ts",
17
+ "esm2022": "./esm2022/libs-ui-components-radio-single.mjs",
18
+ "esm": "./esm2022/libs-ui-components-radio-single.mjs",
19
+ "default": "./fesm2022/libs-ui-components-radio-single.mjs"
20
+ }
21
+ },
22
+ "dependencies": {
23
+ "tslib": "^2.3.0"
24
+ }
25
+ }
@@ -0,0 +1,43 @@
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 * as i0 from "@angular/core";
6
+ export declare class LibsUiComponentsRadioSingleComponent implements AfterViewInit, OnDestroy {
7
+ protected linkImageDisplay: import("@angular/core").WritableSignal<string>;
8
+ private onDestroy;
9
+ readonly key: import("@angular/core").InputSignal<unknown>;
10
+ readonly active: import("@angular/core").ModelSignal<boolean>;
11
+ readonly classInclude: import("@angular/core").InputSignal<string>;
12
+ readonly label: import("@angular/core").InputSignal<string>;
13
+ readonly labelInterpolateParams: import("@angular/core").InputSignalWithTransform<Record<string, unknown> | undefined, Record<string, unknown> | undefined>;
14
+ readonly ignorePopoverLabe: import("@angular/core").InputSignal<boolean | undefined>;
15
+ readonly classLabelInclude: import("@angular/core").InputSignalWithTransform<string | undefined, string | undefined>;
16
+ readonly linkImage: import("@angular/core").InputSignal<string>;
17
+ readonly linkImageError: import("@angular/core").InputSignal<string>;
18
+ readonly avatarConfig: import("@angular/core").InputSignal<IAvatarConfig | undefined>;
19
+ readonly classImageInclude: import("@angular/core").InputSignal<string>;
20
+ readonly imgTypeIcon: import("@angular/core").InputSignal<boolean | undefined>;
21
+ readonly bullet: import("@angular/core").InputSignal<Record<string, string> | undefined>;
22
+ readonly popover: import("@angular/core").InputSignal<IPopover | undefined>;
23
+ readonly disable: import("@angular/core").InputSignal<boolean | undefined>;
24
+ readonly disableLabel: import("@angular/core").InputSignal<boolean | undefined>;
25
+ readonly clickExactly: import("@angular/core").InputSignalWithTransform<boolean | undefined, boolean | undefined>;
26
+ readonly typeRadio: import("@angular/core").InputSignalWithTransform<"normal" | "medium" | undefined, "normal" | "medium" | undefined>;
27
+ readonly ignoreRadio: import("@angular/core").InputSignal<boolean | undefined>;
28
+ readonly zIndexLabel: import("@angular/core").InputSignalWithTransform<number | undefined, number | undefined>;
29
+ readonly classIncludeIcon: import("@angular/core").InputSignalWithTransform<string | undefined, string | undefined>;
30
+ readonly outClickLabel: import("@angular/core").OutputEmitterRef<void>;
31
+ readonly outChange: import("@angular/core").OutputEmitterRef<IRadioEvent>;
32
+ readonly outChangStageFlagMousePopover: import("@angular/core").OutputEmitterRef<IFlagMouse>;
33
+ private imageEl;
34
+ constructor();
35
+ ngAfterViewInit(): void;
36
+ protected handlerClick(e: Event): Promise<void>;
37
+ protected handlerEventLabel(type: string): Promise<void>;
38
+ private changeActive;
39
+ protected handlerChangStageFlagMouse(flag: IFlagMouse): Promise<void>;
40
+ ngOnDestroy(): void;
41
+ static ɵfac: i0.ɵɵFactoryDeclaration<LibsUiComponentsRadioSingleComponent, never>;
42
+ 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; }; "ignorePopoverLabe": { "alias": "ignorePopoverLabe"; "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; }; }, { "active": "activeChange"; "outClickLabel": "outClickLabel"; "outChange": "outChange"; "outChangStageFlagMousePopover": "outChangStageFlagMousePopover"; }, never, never, true, never>;
43
+ }