sidesys-generic-ui 2.4.2 → 2.4.4
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/esm2022/lib/icon-material/s-icon-material.component.mjs +2 -2
- package/esm2022/lib/input/components/calendar/s-calendar.component.mjs +3 -3
- package/esm2022/lib/input/components/color/s-color.component.mjs +7 -4
- package/esm2022/lib/input/components/input/s-input-model.mjs +3 -1
- package/esm2022/lib/input/components/input/s-input.component.mjs +16 -23
- package/esm2022/lib/input/components/input-number/s-input-number.component.mjs +19 -3
- package/esm2022/lib/input/components/input-textarea/s-input-textarea.component.mjs +3 -3
- package/esm2022/lib/input/components/slider/s-slider.component.mjs +208 -0
- package/esm2022/lib/input/components/time/s-time.component.mjs +3 -3
- package/esm2022/lib/input/index.mjs +2 -2
- package/esm2022/lib/input/input.module.mjs +6 -6
- package/esm2022/lib/list-simple/s-list-simple.component.mjs +2 -2
- package/esm2022/lib/modal/modal-confirm/modal-confirm.component.mjs +4 -4
- package/esm2022/lib/modal/modal-confirm/models/modal-confirm.interface.mjs +1 -1
- package/esm2022/lib/select/select/s-select.component.mjs +10 -9
- package/esm2022/lib/select/select-multiple/s-select-multiple.component.mjs +3 -3
- package/esm2022/lib/select/select-multiple-old/s-select-multiple-old.component.mjs +2 -2
- package/esm2022/lib/select/select-simple/s-select-simple.component.mjs +2 -2
- package/esm2022/lib/table-complete/table-complete.component.mjs +14 -5
- package/esm2022/lib/table-double/table-double.component.mjs +207 -53
- package/esm2022/lib/table-double/table-double.model.mjs +1 -1
- package/esm2022/lib/table-double-complete/table-double-complete.component.mjs +256 -0
- package/esm2022/lib/table-double-complete/table-double-complete.model.mjs +2 -0
- package/esm2022/lib/table-t/s-tablet.component.mjs +7 -4
- package/esm2022/lib/table-t/table-actions-buttons/table-actions-buttons.component.mjs +2 -2
- package/esm2022/lib/tabs/models/configTabs.interface.mjs +1 -1
- package/esm2022/lib/tabs/s-tabs.component.mjs +3 -3
- package/esm2022/public-api.mjs +2 -1
- package/fesm2022/sidesys-generic-ui.mjs +600 -164
- package/fesm2022/sidesys-generic-ui.mjs.map +1 -1
- package/lib/input/components/color/s-color.component.d.ts +2 -1
- package/lib/input/components/input/s-input-model.d.ts +2 -0
- package/lib/input/components/input/s-input.component.d.ts +2 -2
- package/lib/input/components/input-number/s-input-number.component.d.ts +2 -0
- package/lib/input/components/slider/s-slider.component.d.ts +48 -0
- package/lib/input/index.d.ts +1 -1
- package/lib/input/input.module.d.ts +2 -2
- package/lib/modal/modal-confirm/models/modal-confirm.interface.d.ts +1 -1
- package/lib/table-complete/table-complete.component.d.ts +4 -0
- package/lib/table-double/table-double.component.d.ts +45 -22
- package/lib/table-double/table-double.model.d.ts +24 -3
- package/lib/table-double-complete/table-double-complete.component.d.ts +38 -0
- package/lib/table-double-complete/table-double-complete.model.d.ts +37 -0
- package/lib/table-t/s-tablet.component.d.ts +2 -1
- package/lib/tabs/models/configTabs.interface.d.ts +4 -0
- package/package.json +1 -1
- package/public-api.d.ts +2 -0
- package/esm2022/lib/input/components/range/s-range.component.mjs +0 -196
- package/lib/input/components/range/s-range.component.d.ts +0 -45
|
@@ -66,11 +66,11 @@ class SIconMaterialComponent {
|
|
|
66
66
|
}
|
|
67
67
|
}
|
|
68
68
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SIconMaterialComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
69
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: SIconMaterialComponent, selector: "s-icon-mat", inputs: { name: "name", size: "size", fill: "fill", weight: "weight", grade: "grade", opticalSize: "opticalSize", style: "style", type: "type" }, viewQueries: [{ propertyName: "Icon", first: true, predicate: ["icon"], descendants: true, static: true }], ngImport: i0, template: "<div #icon class=\"s-icon-mat\">\n <span [ngClass]=\"optionsType\" [ngStyle]=\"computedStyles\">\n <ng-content *ngIf=\"!name\"></ng-content>\n <ng-container *ngIf=\"name\">{{name}}</ng-container>\n </span>\n</div>", styles: ["@font-face{font-family:Material Icons;font-style:normal;font-weight:400;src:url(https://fonts.gstatic.com/s/materialicons/v145/flUhRq6tzZclQEJ-Vdg-IuiaDsNc.woff2) format(\"woff2\")}@font-face{font-family:Material Symbols Outlined;font-style:normal;font-weight:100 700;src:url(https://fonts.gstatic.com/s/materialsymbolsoutlined/
|
|
69
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: SIconMaterialComponent, selector: "s-icon-mat", inputs: { name: "name", size: "size", fill: "fill", weight: "weight", grade: "grade", opticalSize: "opticalSize", style: "style", type: "type" }, viewQueries: [{ propertyName: "Icon", first: true, predicate: ["icon"], descendants: true, static: true }], ngImport: i0, template: "<div #icon class=\"s-icon-mat\">\n <span [ngClass]=\"optionsType\" [ngStyle]=\"computedStyles\">\n <ng-content *ngIf=\"!name\"></ng-content>\n <ng-container *ngIf=\"name\">{{name}}</ng-container>\n </span>\n</div>", styles: ["@font-face{font-family:Material Icons;font-style:normal;font-weight:400;src:url(https://fonts.gstatic.com/s/materialicons/v145/flUhRq6tzZclQEJ-Vdg-IuiaDsNc.woff2) format(\"woff2\")}@font-face{font-family:Material Symbols Outlined;font-style:normal;font-weight:100 700;src:url(https://fonts.gstatic.com/s/materialsymbolsoutlined/v316/kJF1BvYX7BgnkSrUwT8OhrdQw4oELdPIeeII9v6oDMzByHX9rA6RzaxHMPdY43zj-jCxv3fzvRNU22ZXGJpEpjC_1v-p_4MrImHCIJIZrDCvHOejbd5zrDAt.woff2) format(\"woff2\")}.s-icon-mat{display:flex}.s-icon-mat .material-icons{font-family:Material Icons;font-weight:400;font-style:normal;font-size:1.5rem;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;font-feature-settings:\"liga\";-webkit-font-feature-settings:\"liga\";-webkit-font-smoothing:antialiased}.s-icon-mat .material-symbols-outlined{font-family:Material Symbols Outlined;font-weight:400;font-style:normal;font-size:1.5rem;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:\"liga\";-webkit-font-smoothing:antialiased}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
70
70
|
}
|
|
71
71
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SIconMaterialComponent, decorators: [{
|
|
72
72
|
type: Component,
|
|
73
|
-
args: [{ selector: 's-icon-mat', encapsulation: ViewEncapsulation.None, template: "<div #icon class=\"s-icon-mat\">\n <span [ngClass]=\"optionsType\" [ngStyle]=\"computedStyles\">\n <ng-content *ngIf=\"!name\"></ng-content>\n <ng-container *ngIf=\"name\">{{name}}</ng-container>\n </span>\n</div>", styles: ["@font-face{font-family:Material Icons;font-style:normal;font-weight:400;src:url(https://fonts.gstatic.com/s/materialicons/v145/flUhRq6tzZclQEJ-Vdg-IuiaDsNc.woff2) format(\"woff2\")}@font-face{font-family:Material Symbols Outlined;font-style:normal;font-weight:100 700;src:url(https://fonts.gstatic.com/s/materialsymbolsoutlined/
|
|
73
|
+
args: [{ selector: 's-icon-mat', encapsulation: ViewEncapsulation.None, template: "<div #icon class=\"s-icon-mat\">\n <span [ngClass]=\"optionsType\" [ngStyle]=\"computedStyles\">\n <ng-content *ngIf=\"!name\"></ng-content>\n <ng-container *ngIf=\"name\">{{name}}</ng-container>\n </span>\n</div>", styles: ["@font-face{font-family:Material Icons;font-style:normal;font-weight:400;src:url(https://fonts.gstatic.com/s/materialicons/v145/flUhRq6tzZclQEJ-Vdg-IuiaDsNc.woff2) format(\"woff2\")}@font-face{font-family:Material Symbols Outlined;font-style:normal;font-weight:100 700;src:url(https://fonts.gstatic.com/s/materialsymbolsoutlined/v316/kJF1BvYX7BgnkSrUwT8OhrdQw4oELdPIeeII9v6oDMzByHX9rA6RzaxHMPdY43zj-jCxv3fzvRNU22ZXGJpEpjC_1v-p_4MrImHCIJIZrDCvHOejbd5zrDAt.woff2) format(\"woff2\")}.s-icon-mat{display:flex}.s-icon-mat .material-icons{font-family:Material Icons;font-weight:400;font-style:normal;font-size:1.5rem;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;font-feature-settings:\"liga\";-webkit-font-feature-settings:\"liga\";-webkit-font-smoothing:antialiased}.s-icon-mat .material-symbols-outlined{font-family:Material Symbols Outlined;font-weight:400;font-style:normal;font-size:1.5rem;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:\"liga\";-webkit-font-smoothing:antialiased}\n"] }]
|
|
74
74
|
}], propDecorators: { Icon: [{
|
|
75
75
|
type: ViewChild,
|
|
76
76
|
args: ['icon', { static: true }]
|
|
@@ -1474,6 +1474,8 @@ class SInput {
|
|
|
1474
1474
|
const INPUTS_REGEX = {
|
|
1475
1475
|
URL: /^(https?:\/\/)?([a-zA-Z0-9-]+\.)+[a-zA-Z]{2,6}(\/[a-zA-Z0-9#]+\/?)*$/,
|
|
1476
1476
|
EMAIL: /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/,
|
|
1477
|
+
ALPHANUMERIC: /[a-zA-ZáéíóúÁÉÍÓÚñÑ0-9._\- ]/g,
|
|
1478
|
+
SEARCH: /^[a-zA-ZáéíóúÁÉÍÓÚñÑ0-9._\- ]*$/,
|
|
1477
1479
|
};
|
|
1478
1480
|
var INPUT_TYPE;
|
|
1479
1481
|
(function (INPUT_TYPE) {
|
|
@@ -1685,18 +1687,18 @@ class SInputComponent extends ControlValueAccessorDirective {
|
|
|
1685
1687
|
this.blur = new EventEmitter();
|
|
1686
1688
|
this.focus = new EventEmitter();
|
|
1687
1689
|
this.iconSymbol = false;
|
|
1688
|
-
this.ICON_THEME = ICON_THEME;
|
|
1689
1690
|
this.showPassword = false;
|
|
1690
1691
|
this.INPUT_TYPE = INPUT_TYPE;
|
|
1691
1692
|
this.THEME = THEME;
|
|
1693
|
+
this.ICON_THEME = ICON_THEME;
|
|
1692
1694
|
this.isFocused = false;
|
|
1693
1695
|
}
|
|
1694
1696
|
onInput(event) {
|
|
1695
|
-
this.patternError();
|
|
1696
1697
|
const input = event.target;
|
|
1697
1698
|
this.value = input.value;
|
|
1698
1699
|
this.onChange(this.value);
|
|
1699
1700
|
this.onTouched();
|
|
1701
|
+
this.patternError();
|
|
1700
1702
|
}
|
|
1701
1703
|
registerOnChange(fn) {
|
|
1702
1704
|
if (!this.config.useFormControl) {
|
|
@@ -1707,25 +1709,18 @@ class SInputComponent extends ControlValueAccessorDirective {
|
|
|
1707
1709
|
return this.config.theme === 'yellow' ? 'symbol' : 'icon';
|
|
1708
1710
|
}
|
|
1709
1711
|
showIconType() {
|
|
1710
|
-
this.iconType = this.config.type
|
|
1711
|
-
? this.getIconByType(this.config.type)
|
|
1712
|
-
: undefined;
|
|
1712
|
+
this.iconType = this.config.type ? this.getIconByType(this.config.type) : undefined;
|
|
1713
1713
|
return !!this.iconType;
|
|
1714
1714
|
}
|
|
1715
1715
|
getIconByType(type) {
|
|
1716
|
-
return type in ICON_INPUT
|
|
1717
|
-
? ICON_INPUT[type]
|
|
1718
|
-
: undefined;
|
|
1716
|
+
return type in ICON_INPUT ? ICON_INPUT[type] : undefined;
|
|
1719
1717
|
}
|
|
1720
1718
|
patternError() {
|
|
1721
|
-
|
|
1722
|
-
|
|
1723
|
-
this.
|
|
1724
|
-
|
|
1725
|
-
|
|
1726
|
-
if (this.config.type === INPUT_TYPE.EMAIL &&
|
|
1727
|
-
!INPUTS_REGEX.EMAIL.test(this.control?.value || this.value)) {
|
|
1728
|
-
this.errorPattern = 'Formato de email invalido.';
|
|
1719
|
+
const value = this.control?.value || this.value;
|
|
1720
|
+
if ((this.config.type === INPUT_TYPE.SEARCH && !INPUTS_REGEX.SEARCH.test(value)) ||
|
|
1721
|
+
(this.config.type === INPUT_TYPE.URL && !INPUTS_REGEX.URL.test(value)) ||
|
|
1722
|
+
(this.config.type === INPUT_TYPE.EMAIL && !INPUTS_REGEX.EMAIL.test(value))) {
|
|
1723
|
+
this.errorPattern = 'validation.invalidData';
|
|
1729
1724
|
return;
|
|
1730
1725
|
}
|
|
1731
1726
|
this.errorPattern = undefined;
|
|
@@ -1735,16 +1730,16 @@ class SInputComponent extends ControlValueAccessorDirective {
|
|
|
1735
1730
|
this.showPassword = !this.showPassword;
|
|
1736
1731
|
}
|
|
1737
1732
|
clickHelp() {
|
|
1738
|
-
this.clickHelpIconEvent.
|
|
1733
|
+
this.clickHelpIconEvent.emit();
|
|
1739
1734
|
}
|
|
1740
1735
|
onBlur(event) {
|
|
1741
1736
|
this.patternError();
|
|
1742
1737
|
this.isFocused = false;
|
|
1743
|
-
this.blur.
|
|
1738
|
+
this.blur.emit(event);
|
|
1744
1739
|
}
|
|
1745
1740
|
onFocus(event) {
|
|
1746
1741
|
this.isFocused = true;
|
|
1747
|
-
this.focus.
|
|
1742
|
+
this.focus.emit(event);
|
|
1748
1743
|
}
|
|
1749
1744
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SInputComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
1750
1745
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: SInputComponent, selector: "s-input", inputs: { config: "config" }, outputs: { clickHelpIconEvent: "clickHelpIconEvent", blur: "blur", focus: "focus" }, providers: [
|
|
@@ -1753,7 +1748,7 @@ class SInputComponent extends ControlValueAccessorDirective {
|
|
|
1753
1748
|
useExisting: forwardRef(() => SInputComponent),
|
|
1754
1749
|
multi: true,
|
|
1755
1750
|
},
|
|
1756
|
-
], usesInheritance: true, ngImport: i0, template: "<div class=\"s-input\">\n <label [for]=\"config.id\" *ngIf=\"config?.label\" class=\"s-input__label\">\n {{ config.label }}\n <span class=\"s-input__required\" *ngIf=\"config?.required\">*</span>\n </label>\n <div\n class=\"s-input__content {{ config.size }} theme-{{ config.theme }} {{
|
|
1751
|
+
], usesInheritance: true, ngImport: i0, template: "<div class=\"s-input\">\n <label [for]=\"config.id\" *ngIf=\"config?.label\" class=\"s-input__label\">\n {{ config.label }}\n <span class=\"s-input__required\" *ngIf=\"config?.required\">*</span>\n </label>\n <div\n class=\"s-input__content {{ config.size }} theme-{{ config.theme }} {{ config.classAdd }}\"\n [ngClass]=\"{\n 'disabled-active': config.disabled || (control && control.status === 'DISABLED'),\n readonly: config.readOnly,\n 'theme-red':\n (control && control.invalid && (isFocused || control.touched)) ||\n errorPattern ||\n config.theme === THEME.RED ||\n config.errorText,\n }\">\n <div *ngIf=\"showIconType()\" class=\"content-left\">\n <s-icon-mat class=\"icon\">{{ iconType }}</s-icon-mat>\n </div>\n <div class=\"content-center\">\n <ng-container *ngIf=\"control; else notUseFormControl\">\n <input\n autocomplete=\"off\"\n [id]=\"config.id\"\n [placeholder]=\"config.placeholder ?? ''\"\n [readOnly]=\"config.readOnly || config.disabled\"\n type=\"{{ type }}\"\n max=\"{{ config.max }}\"\n min=\"{{ config.min }}\"\n [maxlength]=\"config.maxlength ?? null\"\n [formControl]=\"control\"\n (input)=\"onInput($event)\"\n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\" />\n </ng-container>\n <ng-template #notUseFormControl>\n <input\n autocomplete=\"off\"\n [id]=\"config.id\"\n [placeholder]=\"config.placeholder ?? ''\"\n [readOnly]=\"config.readOnly || config.disabled\"\n type=\"{{ type }}\"\n max=\"{{ config.max }}\"\n min=\"{{ config.min }}\"\n [value]=\"value\"\n (input)=\"onInput($event)\"\n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\" />\n </ng-template>\n </div>\n <div *ngIf=\"config?.type === 'password'\" class=\"content-right\">\n <s-icon-mat [type]=\"iconSymbol ? 'symbol' : 'icon'\" class=\"icon cursor\" (click)=\"changeShowPassword()\"\n >{{ showPassword ? 'visibility' : 'visibility_off' }}\n </s-icon-mat>\n </div>\n <div *ngIf=\"config?.theme !== THEME.DEFAULT && config.theme !== undefined\" class=\"content-right\">\n <s-icon-mat [type]=\"getIconType()\" class=\"icon report\">{{ ICON_THEME[config.theme] }}</s-icon-mat>\n </div>\n <div\n *ngIf=\"config.showHelp && (config.theme === THEME.DEFAULT || config.theme !== undefined)\"\n class=\"content-right\">\n <s-icon-mat (click)=\"clickHelp()\" class=\"icon cursor\">help_outline</s-icon-mat>\n </div>\n </div>\n <s-validation-error\n *ngIf=\"\n !config.hideErrorText &&\n control &&\n control.invalid &&\n (isFocused || control.touched) &&\n !((config.type === INPUT_TYPE.URL && config.errorText) || (config.type === INPUT_TYPE.EMAIL && config.errorText))\n \"\n [customErrorMessages]=\"config.errorMessages ?? undefined\"\n [errors]=\"control.errors\">\n </s-validation-error>\n <s-error-control *ngIf=\"!config.hideErrorText && config.errorText\" theme=\"red\">\n {{ config.errorText }}\n </s-error-control>\n <s-error-control *ngIf=\"!config.hideErrorText && errorPattern && !config.errorText\" theme=\"red\">\n {{ errorPattern }}\n </s-error-control>\n <s-error-control\n *ngIf=\"\n !config.hideErrorText &&\n !errorPattern &&\n !config.errorText &&\n ((control && control.errors?.['required'] && !control.touched) || (control && !control.errors)) &&\n !(isFocused && control.invalid)\n \">\n {{ config.helpText || '' }}\n </s-error-control>\n</div>\n", styles: [":host{align-self:flex-start}.s-input s-error-control .label-content{line-height:normal}.s-input__label{font-size:.875rem;color:var(--secondary-600)}.s-input__required{color:var(--primary-600)}.s-input__content{display:flex;border:.063rem solid var(--primary-500);border-radius:.25rem;padding:0 .5rem;margin:.188rem 0;background-color:var(--neutrals-1200)}.s-input__content input{width:100%;border:0rem;color:var(--secondary-600);writing-mode:unset;height:2.25rem;font-size:inherit;background-color:var(--neutrals-1200)}.s-input__content input:-webkit-autofill,.s-input__content input:-webkit-autofill:hover,.s-input__content input:-webkit-autofill:focus,.s-input__content input:-webkit-autofill:active{-webkit-box-shadow:0 0 0 1.875rem var(--neutrals-1200) inset!important}.s-input__content input:focus,.s-input__content input:focus-visible{outline:none}.s-input__content .icon{width:1.25rem;cursor:default}.s-input__content .icon span{display:flex}.s-input__content .content-center{width:100%;background-color:var(--neutrals-1200)}.s-input__content .content-left{display:flex;align-items:center;justify-content:space-evenly;margin-right:.5rem;color:var(--primary-600)}.s-input__content .content-left-url{display:flex;align-items:center;justify-content:space-evenly;margin-right:.5rem;border-right:.063rem solid var(--secondary-500);padding-right:.5rem;color:var(--secondary-500);font-size:.9rem}.s-input__content .content-right{display:flex;align-items:center;justify-content:space-evenly;margin-left:.5rem;color:var(--secondary-600)}.s-input__content.sm input{height:1.3rem;font-size:.75rem}.s-input__content.sm .icon{width:1.25rem;cursor:default}.s-input__content.sm .icon span{font-size:1.2em;display:flex}.s-input__content.disabled-active{background-color:var(--neutrals-1100);border-color:var(--neutrals-900);color:var(--neutrals-800);pointer-events:none}.s-input__content.disabled-active input{background-color:var(--neutrals-1100);color:var(--neutrals-800)}.s-input__content.disabled-active .content-left{color:var(--neutrals-800)!important}.s-input__content.disabled-active .content-right s-icon-mat span{color:var(--neutrals-800)!important}.s-input__content.readonly{background-color:var(--neutrals-1100)}.s-input__content.readonly input{background-color:var(--neutrals-1100);cursor:default;color:var(--secondary-600)}.s-input__content.theme-red{border:.063rem solid var(--red-500)}.s-input__content.theme-red .icon.report span{color:var(--red-600)}.s-input__content.theme-green{border:.063rem solid var(--green-500)}.s-input__content.theme-green .icon.report span{color:var(--green-600)}.s-input__content.theme-yellow{border:.063rem solid var(--yellow-500)}.s-input__content.theme-yellow .icon.report span{color:var(--yellow-600)}.s-input__content:has(input:focus){border:.063rem solid var(--primary-600);box-shadow:0 0 0 .25rem var(--cyan-alpha-200),0 .063rem .125rem 0 var(--blue-alpha-100)}.s-input__content:has(input:focus).theme-green:has(input:focus){border:.063rem solid var(--green-500);box-shadow:0 0 0 .25rem var(--green-alpha-200),0 .063rem .125rem 0 var(--blue-alpha-100)}.s-input__content:has(input:focus).theme-yellow:has(input:focus){border:.063rem solid var(--yellow-500);box-shadow:0 0 0 .25rem var(--yellow-alpha-200),0 .063rem .125rem 0 var(--blue-alpha-100)}.s-input__content:has(input:focus).theme-red:has(input:focus){border:.063rem solid var(--red-500);box-shadow:0 0 0 .25rem var(--red-alpha-200),0 .063rem .125rem 0 var(--blue-alpha-100)}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: SIconMaterialComponent, selector: "s-icon-mat", inputs: ["name", "size", "fill", "weight", "grade", "opticalSize", "style", "type"] }, { kind: "component", type: SErrorControl, selector: "s-error-control", inputs: ["theme", "icon", "iconCustom", "size"] }, { kind: "component", type: SValidationError, selector: "s-validation-error", inputs: ["errors", "customErrorMessages"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
1757
1752
|
}
|
|
1758
1753
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SInputComponent, decorators: [{
|
|
1759
1754
|
type: Component,
|
|
@@ -1763,7 +1758,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
1763
1758
|
useExisting: forwardRef(() => SInputComponent),
|
|
1764
1759
|
multi: true,
|
|
1765
1760
|
},
|
|
1766
|
-
], template: "<div class=\"s-input\">\n <label [for]=\"config.id\" *ngIf=\"config?.label\" class=\"s-input__label\">\n {{ config.label }}\n <span class=\"s-input__required\" *ngIf=\"config?.required\">*</span>\n </label>\n <div\n class=\"s-input__content {{ config.size }} theme-{{ config.theme }} {{
|
|
1761
|
+
], template: "<div class=\"s-input\">\n <label [for]=\"config.id\" *ngIf=\"config?.label\" class=\"s-input__label\">\n {{ config.label }}\n <span class=\"s-input__required\" *ngIf=\"config?.required\">*</span>\n </label>\n <div\n class=\"s-input__content {{ config.size }} theme-{{ config.theme }} {{ config.classAdd }}\"\n [ngClass]=\"{\n 'disabled-active': config.disabled || (control && control.status === 'DISABLED'),\n readonly: config.readOnly,\n 'theme-red':\n (control && control.invalid && (isFocused || control.touched)) ||\n errorPattern ||\n config.theme === THEME.RED ||\n config.errorText,\n }\">\n <div *ngIf=\"showIconType()\" class=\"content-left\">\n <s-icon-mat class=\"icon\">{{ iconType }}</s-icon-mat>\n </div>\n <div class=\"content-center\">\n <ng-container *ngIf=\"control; else notUseFormControl\">\n <input\n autocomplete=\"off\"\n [id]=\"config.id\"\n [placeholder]=\"config.placeholder ?? ''\"\n [readOnly]=\"config.readOnly || config.disabled\"\n type=\"{{ type }}\"\n max=\"{{ config.max }}\"\n min=\"{{ config.min }}\"\n [maxlength]=\"config.maxlength ?? null\"\n [formControl]=\"control\"\n (input)=\"onInput($event)\"\n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\" />\n </ng-container>\n <ng-template #notUseFormControl>\n <input\n autocomplete=\"off\"\n [id]=\"config.id\"\n [placeholder]=\"config.placeholder ?? ''\"\n [readOnly]=\"config.readOnly || config.disabled\"\n type=\"{{ type }}\"\n max=\"{{ config.max }}\"\n min=\"{{ config.min }}\"\n [value]=\"value\"\n (input)=\"onInput($event)\"\n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\" />\n </ng-template>\n </div>\n <div *ngIf=\"config?.type === 'password'\" class=\"content-right\">\n <s-icon-mat [type]=\"iconSymbol ? 'symbol' : 'icon'\" class=\"icon cursor\" (click)=\"changeShowPassword()\"\n >{{ showPassword ? 'visibility' : 'visibility_off' }}\n </s-icon-mat>\n </div>\n <div *ngIf=\"config?.theme !== THEME.DEFAULT && config.theme !== undefined\" class=\"content-right\">\n <s-icon-mat [type]=\"getIconType()\" class=\"icon report\">{{ ICON_THEME[config.theme] }}</s-icon-mat>\n </div>\n <div\n *ngIf=\"config.showHelp && (config.theme === THEME.DEFAULT || config.theme !== undefined)\"\n class=\"content-right\">\n <s-icon-mat (click)=\"clickHelp()\" class=\"icon cursor\">help_outline</s-icon-mat>\n </div>\n </div>\n <s-validation-error\n *ngIf=\"\n !config.hideErrorText &&\n control &&\n control.invalid &&\n (isFocused || control.touched) &&\n !((config.type === INPUT_TYPE.URL && config.errorText) || (config.type === INPUT_TYPE.EMAIL && config.errorText))\n \"\n [customErrorMessages]=\"config.errorMessages ?? undefined\"\n [errors]=\"control.errors\">\n </s-validation-error>\n <s-error-control *ngIf=\"!config.hideErrorText && config.errorText\" theme=\"red\">\n {{ config.errorText }}\n </s-error-control>\n <s-error-control *ngIf=\"!config.hideErrorText && errorPattern && !config.errorText\" theme=\"red\">\n {{ errorPattern }}\n </s-error-control>\n <s-error-control\n *ngIf=\"\n !config.hideErrorText &&\n !errorPattern &&\n !config.errorText &&\n ((control && control.errors?.['required'] && !control.touched) || (control && !control.errors)) &&\n !(isFocused && control.invalid)\n \">\n {{ config.helpText || '' }}\n </s-error-control>\n</div>\n", styles: [":host{align-self:flex-start}.s-input s-error-control .label-content{line-height:normal}.s-input__label{font-size:.875rem;color:var(--secondary-600)}.s-input__required{color:var(--primary-600)}.s-input__content{display:flex;border:.063rem solid var(--primary-500);border-radius:.25rem;padding:0 .5rem;margin:.188rem 0;background-color:var(--neutrals-1200)}.s-input__content input{width:100%;border:0rem;color:var(--secondary-600);writing-mode:unset;height:2.25rem;font-size:inherit;background-color:var(--neutrals-1200)}.s-input__content input:-webkit-autofill,.s-input__content input:-webkit-autofill:hover,.s-input__content input:-webkit-autofill:focus,.s-input__content input:-webkit-autofill:active{-webkit-box-shadow:0 0 0 1.875rem var(--neutrals-1200) inset!important}.s-input__content input:focus,.s-input__content input:focus-visible{outline:none}.s-input__content .icon{width:1.25rem;cursor:default}.s-input__content .icon span{display:flex}.s-input__content .content-center{width:100%;background-color:var(--neutrals-1200)}.s-input__content .content-left{display:flex;align-items:center;justify-content:space-evenly;margin-right:.5rem;color:var(--primary-600)}.s-input__content .content-left-url{display:flex;align-items:center;justify-content:space-evenly;margin-right:.5rem;border-right:.063rem solid var(--secondary-500);padding-right:.5rem;color:var(--secondary-500);font-size:.9rem}.s-input__content .content-right{display:flex;align-items:center;justify-content:space-evenly;margin-left:.5rem;color:var(--secondary-600)}.s-input__content.sm input{height:1.3rem;font-size:.75rem}.s-input__content.sm .icon{width:1.25rem;cursor:default}.s-input__content.sm .icon span{font-size:1.2em;display:flex}.s-input__content.disabled-active{background-color:var(--neutrals-1100);border-color:var(--neutrals-900);color:var(--neutrals-800);pointer-events:none}.s-input__content.disabled-active input{background-color:var(--neutrals-1100);color:var(--neutrals-800)}.s-input__content.disabled-active .content-left{color:var(--neutrals-800)!important}.s-input__content.disabled-active .content-right s-icon-mat span{color:var(--neutrals-800)!important}.s-input__content.readonly{background-color:var(--neutrals-1100)}.s-input__content.readonly input{background-color:var(--neutrals-1100);cursor:default;color:var(--secondary-600)}.s-input__content.theme-red{border:.063rem solid var(--red-500)}.s-input__content.theme-red .icon.report span{color:var(--red-600)}.s-input__content.theme-green{border:.063rem solid var(--green-500)}.s-input__content.theme-green .icon.report span{color:var(--green-600)}.s-input__content.theme-yellow{border:.063rem solid var(--yellow-500)}.s-input__content.theme-yellow .icon.report span{color:var(--yellow-600)}.s-input__content:has(input:focus){border:.063rem solid var(--primary-600);box-shadow:0 0 0 .25rem var(--cyan-alpha-200),0 .063rem .125rem 0 var(--blue-alpha-100)}.s-input__content:has(input:focus).theme-green:has(input:focus){border:.063rem solid var(--green-500);box-shadow:0 0 0 .25rem var(--green-alpha-200),0 .063rem .125rem 0 var(--blue-alpha-100)}.s-input__content:has(input:focus).theme-yellow:has(input:focus){border:.063rem solid var(--yellow-500);box-shadow:0 0 0 .25rem var(--yellow-alpha-200),0 .063rem .125rem 0 var(--blue-alpha-100)}.s-input__content:has(input:focus).theme-red:has(input:focus){border:.063rem solid var(--red-500);box-shadow:0 0 0 .25rem var(--red-alpha-200),0 .063rem .125rem 0 var(--blue-alpha-100)}\n"] }]
|
|
1767
1762
|
}], propDecorators: { config: [{
|
|
1768
1763
|
type: Input
|
|
1769
1764
|
}], clickHelpIconEvent: [{
|
|
@@ -1964,7 +1959,7 @@ class SSelectSimpleComponent {
|
|
|
1964
1959
|
useExisting: forwardRef(() => SSelectSimpleComponent),
|
|
1965
1960
|
multi: true
|
|
1966
1961
|
}
|
|
1967
|
-
], usesOnChanges: true, ngImport: i0, template: "<div class=\"s-select\" [ngClass]=\"disabled ? 's-select--disabled':''\">\n <span *ngIf=\"label\" class=\"s-select--select-label\">{{label}}</span>\n <div class=\"s-select__main cursor {{ isOpen ? 'is-open' : '' }} {{size ? size : ''}}\" (click)=\"openDropDown()\" tabindex=\"0\" (keydown)=\"onKeyDownMain($event)\">\n <div class=\"s-select__main__selected-option select-simple\">\n <div class=\"s-select__main__selected-option__left\" *ngIf=\"activeIndex >= 0\">\n <div *ngIf=\"display == 'dot'\" class=\"dot\"></div>\n <s-icon-mat size=\"{{size === 'md' ? '22' : '17'}}\" class=\"iconPerson\" *ngIf=\"display === 'iconperson'\">person_outline</s-icon-mat>\n <div *ngIf=\"display === 'profile' && options[activeIndex]?.user\" class=\"content-avatar\">\n <s-avatar size=\"24\" [status]=\"options[activeIndex].user?.status\" [display]=\"options[activeIndex].user?.display\" [urlProfileImage]=\"options[activeIndex].user?.url\"></s-avatar>\n </div>\n <span>{{ options[activeIndex].title }}</span>\n </div>\n <div class=\"s-select__main__selected-option__left\" *ngIf=\"activeIndex < 0\">\n <div class=\"s-select__main__selected-option__left__content-option\" *ngIf=\"!selectedValue\">\n <div *ngIf=\"display === 'dot'\" class=\"dot\"></div>\n <s-icon-mat class=\"iconPerson\" *ngIf=\"display === 'iconperson'\">person_outline</s-icon-mat>\n <div *ngIf=\"display === 'profile'\" class=\"content-avatar\">\n <s-avatar size=\"24\"></s-avatar>\n </div>\n <span class=\"placeholder\">{{placeholder}}</span>\n </div>\n </div>\n <div class=\"s-select__main__selected-option__right\">\n <s-icon-mat *ngIf=\"!readOnly\" class=\"{{isOpen ? 'is-open-arrow' : ''}}\">{{isOpen ? 'expand_less' : 'expand_more'}}</s-icon-mat>\n </div>\n </div>\n </div>\n <div class=\"s-select__options {{size ? size : ''}}\" *ngIf=\"isOpen\">\n <div class=\"s-select__item {{size ? size : ''}}\"\n *ngFor=\"let item of options; index as i\"\n [class.active]=\"i === activeIndex\"\n (click)=\"getSelectedValue(item)\"\n (keydown)=\"onKeyDownItems($event , item)\"\n tabindex=\"0\"\n >\n <div class=\"content-left select-simple\">\n <div *ngIf=\"display === 'dot'\" class=\"dot\"></div>\n <div *ngIf=\"display === 'profile'\" class=\"content-avatar\">\n <s-avatar size=\"24\" [display]=\"item.user?.display\" [status]=\"item.user?.status\" [urlProfileImage]=\"item.user?.url\" ></s-avatar>\n </div>\n <s-icon-mat size=\"{{size === 'md' ? '22' : '17'}}\" class=\"iconPerson\" *ngIf=\"display === 'iconperson'\">person_outline</s-icon-mat>\n <span class=\"option-value\">\n {{item.title}}\n </span>\n </div>\n <div class=\"content-right\" *ngIf=\"i === activeIndex\">\n <s-icon-mat class=\"icon-check\">check</s-icon-mat>\n </div>\n </div>\n </div>\n</div>", styles: [".s-select{width:100%;position:relative}.s-select--required{display:contents;color:var(--primary-600)}.s-select--select-label{color:var(--secondary-600);display:flex;font-size:.875rem;font-weight:400;line-height:1.375rem;letter-spacing:.01rem;margin-bottom:.125rem}.s-select__main{background-color:var(--neutrals-1200);color:var(--secondary-600);border:.063rem solid var(--primary-500);border-radius:.25rem;display:flex;padding:0 .625rem}.s-select__main.theme-red{border-color:var(--red-600)!important;box-shadow:0 0 0 .25rem var(--red-alpha-200),0 .0625rem .125rem 0 var(--blue-alpha-100)!important}.s-select__main.md{height:2.4rem;font-size:1rem}.s-select__main.sm{height:1.5rem;font-size:.9rem}.s-select__main.is-open{border:.06rem solid var(--primary-600);box-shadow:var(--focus-cyan--md)}.s-select__main__selected-option{width:100%;display:flex;align-items:center;justify-content:space-between}.s-select__main__selected-option input{display:none}.s-select__main__selected-option input:-webkit-autofill,.s-select__main__selected-option input:-webkit-autofill:hover,.s-select__main__selected-option input:-webkit-autofill:focus,.s-select__main__selected-option input:-webkit-autofill:active{-webkit-box-shadow:0 0 0 1.9rem var(--neutrals-1200) inset!important}.s-select__main__selected-option span{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.s-select__main__selected-option__left{display:flex;align-items:center;justify-content:space-between;width:100%;gap:.5rem}.s-select__main__selected-option__left__content-option{display:flex;align-items:center;gap:.5rem}.s-select__main__selected-option__left__content-option .placeholder{color:var(--neutrals-700);opacity:.6}.s-select__main__selected-option__left .dot{border-radius:100%;width:.3rem;height:.3rem;border:.06rem solid var(--green-600);background-color:var(--green-600);margin-left:.3rem}.s-select__main__selected-option__left s-icon-mat.iconPerson{margin-left:.3rem;color:var(--primary-600)}.s-select__main__selected-option__left .content-avatar{margin-left:.375rem}.s-select__main__selected-option__right{display:flex;align-items:center;justify-content:space-evenly;color:var(--primary-600)}.s-select__main__selected-option__right .is-open-arrow{color:var(--primary-600)}.s-select__main__selected-option.select-simple .s-select__main__selected-option__left{width:93%}.s-select__main__selected-option.select-multiple .s-select__main__selected-option__left{width:100%}.s-select__options{max-height:12.5rem;overflow-y:auto;position:absolute;width:100%;z-index:2;box-shadow:var(--E300);background-color:var(--neutrals-1200);border-radius:.25rem;left:0}.s-select__options.sm{top:3.5rem}.s-select__options.md{top:4.5rem}.s-select__options.label-off.md{top:3.1rem}.s-select__options.label-off.sm{top:2.1rem}.s-select__dropdown{max-height:30rem;position:absolute;width:100%;z-index:2;box-shadow:var(--E300);background-color:var(--neutrals-1200);border-radius:.25rem;left:0;margin-top:.5rem}.s-select__options-multiple{border-bottom:.063rem solid var(--neutrals-900);border-top:.063rem solid var(--neutrals-900);max-height:13.5rem;overflow-y:auto}.s-select__options-multiple--search{padding:.3rem .5rem;height:100%}.s-select__options-multiple--selected{padding:.3rem .5rem;height:100%;margin-top:.3rem}.s-select__options-multiple--selected .s-button{width:100%}.s-select__options-multiple--selected .sm{font-size:.75rem}.s-select__options-multiple--selected-content{display:flex;justify-content:space-between;margin-top:.5rem}.s-select__options-multiple--selected-text:first-letter{text-transform:uppercase}.s-select__options-multiple--selectAllOption{color:var(--primary-600);cursor:pointer;text-decoration:underline}.s-select__options-multiple-all{align-items:center;display:flex}.s-select__options-multiple-all.sm{font-size:.75rem;padding:.25rem .5rem}.s-select__options-multiple-all.md{font-size:1rem;padding:.625rem .875rem}.s-select__options-multiple-text{padding-left:.625rem}.s-select__item{display:flex;justify-content:space-between;padding:0 .875rem;color:var(--secondary-600)}.s-select__item:hover{background-color:var(--neutrals-1000);cursor:pointer}.s-select__item.sm{font-size:.75rem;padding:.25rem .5rem}.s-select__item.md{font-size:1rem;padding:.625rem .875rem}.s-select__item .option-value{margin-left:.375rem}.s-select__item.active .option-value{font-weight:500;color:var(--primary-600)}.s-select__item .content-left.select-multiple{grid-template-columns:3fr 4fr 96fr}.s-select__item .content-left.select-simple{grid-template-columns:4fr 96fr}.s-select__item .content-left{display:grid;align-items:center;justify-content:space-evenly;margin-right:.5rem;grid-template-columns:3fr 4fr 96fr;gap:.25rem;justify-items:start}.s-select__item .content-left s-icon-mat span{font-size:1.3rem}.s-select__item .content-left s-icon-mat.iconPerson{margin-left:.3rem;color:var(--primary-600);height:1.25rem}.s-select__item .content-left s-radio input,.s-select__item .content-left s-checkbox input{cursor:pointer}.s-select__item .content-left .content-avatar{margin-left:.375rem}.s-select__item .content-left .dot{border-radius:100%;width:.3rem;height:.3rem;border:.06rem solid var(--green-600);background-color:var(--green-600);margin-left:.625rem;margin-right:.563rem}.s-select__item .content-center{width:100%}.s-select__item .content-right{display:flex;align-items:center;justify-content:space-evenly;margin-left:.5rem;color:var(--primary-600)}.s-select__item .content-right s-icon-mat span{font-size:1.2rem}.s-select--disabled .s-select-multiple__main,.s-select--disabled .s-select__main{background-color:var(--neutrals-1100);border:.063rem solid var(--neutrals-900);color:var(--neutrals-700);cursor:not-allowed}.s-select--disabled .s-select-multiple__main s-icon-mat.iconPerson,.s-select--disabled .s-select__main s-icon-mat.iconPerson{color:var(--neutrals-700)}.s-select--disabled .s-select-multiple__main .content-avatar .s-avatar__dot-content,.s-select--disabled .s-select__main .content-avatar .s-avatar__dot-content{background-color:var(--neutrals-700)}.s-select--disabled .s-select-multiple__main .content-avatar .s-avatar__dot-content s-icon-mat span,.s-select--disabled .s-select__main .content-avatar .s-avatar__dot-content s-icon-mat span{color:var(--neutrals-1100)}.s-select--disabled .s-select-multiple__main .dot,.s-select--disabled .s-select__main .dot{background-color:var(--neutrals-700);border:.06rem solid var(--neutrals-700)}.s-select--disabled .s-select-multiple__main .dot s-icon-mat span,.s-select--disabled .s-select__main .dot s-icon-mat span{color:var(--neutrals-1200)}.s-select--disabled .s-select-multiple__main .dot-content,.s-select--disabled .s-select__main .dot-content{background-color:var(--neutrals-700);border:var(--neutrals-700)}.s-select--disabled .s-select-multiple__main .dot-content s-icon-mat span,.s-select--disabled .s-select__main .dot-content s-icon-mat span{color:var(--neutrals-1200)}.s-select--disabled .s-select-multiple__main s-icon-mat span,.s-select--disabled .s-select__main s-icon-mat span{color:var(--neutrals-700)}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: SIconMaterialComponent, selector: "s-icon-mat", inputs: ["name", "size", "fill", "weight", "grade", "opticalSize", "style", "type"] }, { kind: "component", type: SAvatarComponent, selector: "s-avatar", inputs: ["urlProfileImage", "letters", "status", "display", "size"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
1962
|
+
], usesOnChanges: true, ngImport: i0, template: "<div class=\"s-select\" [ngClass]=\"disabled ? 's-select--disabled':''\">\n <span *ngIf=\"label\" class=\"s-select--select-label\">{{label}}</span>\n <div class=\"s-select__main cursor {{ isOpen ? 'is-open' : '' }} {{size ? size : ''}}\" (click)=\"openDropDown()\" tabindex=\"0\" (keydown)=\"onKeyDownMain($event)\">\n <div class=\"s-select__main__selected-option select-simple\">\n <div class=\"s-select__main__selected-option__left\" *ngIf=\"activeIndex >= 0\">\n <div *ngIf=\"display == 'dot'\" class=\"dot\"></div>\n <s-icon-mat size=\"{{size === 'md' ? '22' : '17'}}\" class=\"iconPerson\" *ngIf=\"display === 'iconperson'\">person_outline</s-icon-mat>\n <div *ngIf=\"display === 'profile' && options[activeIndex]?.user\" class=\"content-avatar\">\n <s-avatar size=\"24\" [status]=\"options[activeIndex].user?.status\" [display]=\"options[activeIndex].user?.display\" [urlProfileImage]=\"options[activeIndex].user?.url\"></s-avatar>\n </div>\n <span>{{ options[activeIndex].title }}</span>\n </div>\n <div class=\"s-select__main__selected-option__left\" *ngIf=\"activeIndex < 0\">\n <div class=\"s-select__main__selected-option__left__content-option\" *ngIf=\"!selectedValue\">\n <div *ngIf=\"display === 'dot'\" class=\"dot\"></div>\n <s-icon-mat class=\"iconPerson\" *ngIf=\"display === 'iconperson'\">person_outline</s-icon-mat>\n <div *ngIf=\"display === 'profile'\" class=\"content-avatar\">\n <s-avatar size=\"24\"></s-avatar>\n </div>\n <span class=\"placeholder\">{{placeholder}}</span>\n </div>\n </div>\n <div class=\"s-select__main__selected-option__right\">\n <s-icon-mat *ngIf=\"!readOnly\" class=\"{{isOpen ? 'is-open-arrow' : ''}}\">{{isOpen ? 'expand_less' : 'expand_more'}}</s-icon-mat>\n </div>\n </div>\n </div>\n <div class=\"s-select__options {{size ? size : ''}}\" *ngIf=\"isOpen\">\n <div class=\"s-select__item {{size ? size : ''}}\"\n *ngFor=\"let item of options; index as i\"\n [class.active]=\"i === activeIndex\"\n (click)=\"getSelectedValue(item)\"\n (keydown)=\"onKeyDownItems($event , item)\"\n tabindex=\"0\"\n >\n <div class=\"content-left select-simple\">\n <div *ngIf=\"display === 'dot'\" class=\"dot\"></div>\n <div *ngIf=\"display === 'profile'\" class=\"content-avatar\">\n <s-avatar size=\"24\" [display]=\"item.user?.display\" [status]=\"item.user?.status\" [urlProfileImage]=\"item.user?.url\" ></s-avatar>\n </div>\n <s-icon-mat size=\"{{size === 'md' ? '22' : '17'}}\" class=\"iconPerson\" *ngIf=\"display === 'iconperson'\">person_outline</s-icon-mat>\n <span class=\"option-value\">\n {{item.title}}\n </span>\n </div>\n <div class=\"content-right\" *ngIf=\"i === activeIndex\">\n <s-icon-mat class=\"icon-check\">check</s-icon-mat>\n </div>\n </div>\n </div>\n</div>", styles: [".s-select{width:100%;position:relative}.s-select__main.readonly{background-color:var(--neutrals-1100);cursor:default}.s-select--required{display:contents;color:var(--primary-600)}.s-select--select-label{color:var(--secondary-600);display:flex;font-size:.875rem;font-weight:400;line-height:1.375rem;letter-spacing:.01rem;margin-bottom:.125rem}.s-select__main{background-color:var(--neutrals-1200);color:var(--secondary-600);border:.063rem solid var(--primary-500);border-radius:.25rem;display:flex;padding:0 .625rem}.s-select__main.theme-red{border-color:var(--red-600)!important;box-shadow:0 0 0 .25rem var(--red-alpha-200),0 .0625rem .125rem 0 var(--blue-alpha-100)!important}.s-select__main.md{height:2.4rem;font-size:1rem}.s-select__main.sm{height:1.5rem;font-size:.9rem}.s-select__main.is-open{border:.06rem solid var(--primary-600);box-shadow:var(--focus-cyan--md)}.s-select__main__selected-option{width:100%;display:flex;align-items:center;justify-content:space-between}.s-select__main__selected-option input{display:none}.s-select__main__selected-option input:-webkit-autofill,.s-select__main__selected-option input:-webkit-autofill:hover,.s-select__main__selected-option input:-webkit-autofill:focus,.s-select__main__selected-option input:-webkit-autofill:active{-webkit-box-shadow:0 0 0 1.9rem var(--neutrals-1200) inset!important}.s-select__main__selected-option span{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.s-select__main__selected-option__left{display:flex;align-items:center;justify-content:space-between;width:100%;gap:.5rem}.s-select__main__selected-option__left__content-option{display:flex;align-items:center;gap:.5rem}.s-select__main__selected-option__left__content-option .placeholder{color:var(--neutrals-700);opacity:.6}.s-select__main__selected-option__left .dot{border-radius:100%;width:.3rem;height:.3rem;border:.06rem solid var(--green-600);background-color:var(--green-600);margin-left:.3rem}.s-select__main__selected-option__left s-icon-mat.iconPerson{margin-left:.3rem;color:var(--primary-600)}.s-select__main__selected-option__left .content-avatar{margin-left:.375rem}.s-select__main__selected-option__right{display:flex;align-items:center;justify-content:space-evenly;color:var(--primary-600)}.s-select__main__selected-option__right .is-open-arrow{color:var(--primary-600)}.s-select__main__selected-option.select-simple .s-select__main__selected-option__left{width:93%}.s-select__main__selected-option.select-multiple .s-select__main__selected-option__left{width:100%}.s-select__options{max-height:12.5rem;overflow-y:auto;position:absolute;width:100%;z-index:2;box-shadow:var(--E300);background-color:var(--neutrals-1200);border-radius:.25rem;left:0}.s-select__options.sm{top:3.5rem}.s-select__options.md{top:4.5rem}.s-select__options.label-off.md{top:3.1rem}.s-select__options.label-off.sm{top:2.1rem}.s-select__dropdown{max-height:30rem;position:absolute;width:100%;z-index:2;box-shadow:var(--E300);background-color:var(--neutrals-1200);border-radius:.25rem;left:0;margin-top:.5rem}.s-select__options-multiple{border-bottom:.063rem solid var(--neutrals-900);border-top:.063rem solid var(--neutrals-900);max-height:13.5rem;overflow-y:auto}.s-select__options-multiple--search{padding:.3rem .5rem;height:100%}.s-select__options-multiple--selected{padding:.3rem .5rem;height:100%;margin-top:.3rem}.s-select__options-multiple--selected .s-button{width:100%}.s-select__options-multiple--selected .sm{font-size:.75rem}.s-select__options-multiple--selected-content{display:flex;justify-content:space-between;margin-top:.5rem}.s-select__options-multiple--selected-text:first-letter{text-transform:uppercase}.s-select__options-multiple--selectAllOption{color:var(--primary-600);cursor:pointer;text-decoration:underline}.s-select__options-multiple-all{align-items:center;display:flex}.s-select__options-multiple-all.sm{font-size:.75rem;padding:.25rem .5rem}.s-select__options-multiple-all.md{font-size:1rem;padding:.625rem .875rem}.s-select__options-multiple-text{padding-left:.625rem}.s-select__item{display:flex;justify-content:space-between;padding:0 .875rem;color:var(--secondary-600)}.s-select__item:hover{background-color:var(--neutrals-1000);cursor:pointer}.s-select__item.sm{font-size:.75rem;padding:.25rem .5rem}.s-select__item.md{font-size:1rem;padding:.625rem .875rem}.s-select__item.no-display .content-left.select-simple{grid-template-columns:auto}.s-select__item.no-display .content-left.select-multiple{grid-template-columns:auto 1fr}.s-select__item.no-display .option-value{margin-left:0;width:100%;max-width:100%;white-space:normal;overflow-wrap:anywhere;word-break:break-word}.s-select__item .option-value{margin-left:.375rem}.s-select__item.active .option-value{font-weight:500;color:var(--primary-600)}.s-select__item .content-left.select-multiple{grid-template-columns:2fr 2fr 96fr}.s-select__item .content-left.select-simple{grid-template-columns:2fr 96fr}.s-select__item .content-left{display:grid;align-items:center;justify-content:space-evenly;margin-right:.5rem;grid-template-columns:3fr 4fr 96fr;gap:.25rem;justify-items:start}.s-select__item .content-left s-icon-mat span{font-size:1.3rem}.s-select__item .content-left s-icon-mat.iconPerson{margin-left:.3rem;color:var(--primary-600);height:1.25rem}.s-select__item .content-left s-radio input,.s-select__item .content-left s-checkbox input{cursor:pointer}.s-select__item .content-left .content-avatar{margin-left:.375rem}.s-select__item .content-left .dot{border-radius:100%;width:.3rem;height:.3rem;border:.06rem solid var(--green-600);background-color:var(--green-600);margin-left:.625rem;margin-right:.563rem}.s-select__item .content-center{width:100%}.s-select__item .content-right{display:flex;align-items:center;justify-content:space-evenly;margin-left:.5rem;color:var(--primary-600)}.s-select__item .content-right s-icon-mat span{font-size:1.2rem}.s-select--disabled .s-select-multiple__main,.s-select--disabled .s-select__main{background-color:var(--neutrals-1100);border:.063rem solid var(--neutrals-900);color:var(--neutrals-700);cursor:not-allowed}.s-select--disabled .s-select-multiple__main s-icon-mat.iconPerson,.s-select--disabled .s-select__main s-icon-mat.iconPerson{color:var(--neutrals-700)}.s-select--disabled .s-select-multiple__main .content-avatar .s-avatar__dot-content,.s-select--disabled .s-select__main .content-avatar .s-avatar__dot-content{background-color:var(--neutrals-700)}.s-select--disabled .s-select-multiple__main .content-avatar .s-avatar__dot-content s-icon-mat span,.s-select--disabled .s-select__main .content-avatar .s-avatar__dot-content s-icon-mat span{color:var(--neutrals-1100)}.s-select--disabled .s-select-multiple__main .dot,.s-select--disabled .s-select__main .dot{background-color:var(--neutrals-700);border:.06rem solid var(--neutrals-700)}.s-select--disabled .s-select-multiple__main .dot s-icon-mat span,.s-select--disabled .s-select__main .dot s-icon-mat span{color:var(--neutrals-1200)}.s-select--disabled .s-select-multiple__main .dot-content,.s-select--disabled .s-select__main .dot-content{background-color:var(--neutrals-700);border:var(--neutrals-700)}.s-select--disabled .s-select-multiple__main .dot-content s-icon-mat span,.s-select--disabled .s-select__main .dot-content s-icon-mat span{color:var(--neutrals-1200)}.s-select--disabled .s-select-multiple__main s-icon-mat span,.s-select--disabled .s-select__main s-icon-mat span{color:var(--neutrals-700)}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: SIconMaterialComponent, selector: "s-icon-mat", inputs: ["name", "size", "fill", "weight", "grade", "opticalSize", "style", "type"] }, { kind: "component", type: SAvatarComponent, selector: "s-avatar", inputs: ["urlProfileImage", "letters", "status", "display", "size"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
1968
1963
|
}
|
|
1969
1964
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SSelectSimpleComponent, decorators: [{
|
|
1970
1965
|
type: Component,
|
|
@@ -1974,7 +1969,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
1974
1969
|
useExisting: forwardRef(() => SSelectSimpleComponent),
|
|
1975
1970
|
multi: true
|
|
1976
1971
|
}
|
|
1977
|
-
], template: "<div class=\"s-select\" [ngClass]=\"disabled ? 's-select--disabled':''\">\n <span *ngIf=\"label\" class=\"s-select--select-label\">{{label}}</span>\n <div class=\"s-select__main cursor {{ isOpen ? 'is-open' : '' }} {{size ? size : ''}}\" (click)=\"openDropDown()\" tabindex=\"0\" (keydown)=\"onKeyDownMain($event)\">\n <div class=\"s-select__main__selected-option select-simple\">\n <div class=\"s-select__main__selected-option__left\" *ngIf=\"activeIndex >= 0\">\n <div *ngIf=\"display == 'dot'\" class=\"dot\"></div>\n <s-icon-mat size=\"{{size === 'md' ? '22' : '17'}}\" class=\"iconPerson\" *ngIf=\"display === 'iconperson'\">person_outline</s-icon-mat>\n <div *ngIf=\"display === 'profile' && options[activeIndex]?.user\" class=\"content-avatar\">\n <s-avatar size=\"24\" [status]=\"options[activeIndex].user?.status\" [display]=\"options[activeIndex].user?.display\" [urlProfileImage]=\"options[activeIndex].user?.url\"></s-avatar>\n </div>\n <span>{{ options[activeIndex].title }}</span>\n </div>\n <div class=\"s-select__main__selected-option__left\" *ngIf=\"activeIndex < 0\">\n <div class=\"s-select__main__selected-option__left__content-option\" *ngIf=\"!selectedValue\">\n <div *ngIf=\"display === 'dot'\" class=\"dot\"></div>\n <s-icon-mat class=\"iconPerson\" *ngIf=\"display === 'iconperson'\">person_outline</s-icon-mat>\n <div *ngIf=\"display === 'profile'\" class=\"content-avatar\">\n <s-avatar size=\"24\"></s-avatar>\n </div>\n <span class=\"placeholder\">{{placeholder}}</span>\n </div>\n </div>\n <div class=\"s-select__main__selected-option__right\">\n <s-icon-mat *ngIf=\"!readOnly\" class=\"{{isOpen ? 'is-open-arrow' : ''}}\">{{isOpen ? 'expand_less' : 'expand_more'}}</s-icon-mat>\n </div>\n </div>\n </div>\n <div class=\"s-select__options {{size ? size : ''}}\" *ngIf=\"isOpen\">\n <div class=\"s-select__item {{size ? size : ''}}\"\n *ngFor=\"let item of options; index as i\"\n [class.active]=\"i === activeIndex\"\n (click)=\"getSelectedValue(item)\"\n (keydown)=\"onKeyDownItems($event , item)\"\n tabindex=\"0\"\n >\n <div class=\"content-left select-simple\">\n <div *ngIf=\"display === 'dot'\" class=\"dot\"></div>\n <div *ngIf=\"display === 'profile'\" class=\"content-avatar\">\n <s-avatar size=\"24\" [display]=\"item.user?.display\" [status]=\"item.user?.status\" [urlProfileImage]=\"item.user?.url\" ></s-avatar>\n </div>\n <s-icon-mat size=\"{{size === 'md' ? '22' : '17'}}\" class=\"iconPerson\" *ngIf=\"display === 'iconperson'\">person_outline</s-icon-mat>\n <span class=\"option-value\">\n {{item.title}}\n </span>\n </div>\n <div class=\"content-right\" *ngIf=\"i === activeIndex\">\n <s-icon-mat class=\"icon-check\">check</s-icon-mat>\n </div>\n </div>\n </div>\n</div>", styles: [".s-select{width:100%;position:relative}.s-select--required{display:contents;color:var(--primary-600)}.s-select--select-label{color:var(--secondary-600);display:flex;font-size:.875rem;font-weight:400;line-height:1.375rem;letter-spacing:.01rem;margin-bottom:.125rem}.s-select__main{background-color:var(--neutrals-1200);color:var(--secondary-600);border:.063rem solid var(--primary-500);border-radius:.25rem;display:flex;padding:0 .625rem}.s-select__main.theme-red{border-color:var(--red-600)!important;box-shadow:0 0 0 .25rem var(--red-alpha-200),0 .0625rem .125rem 0 var(--blue-alpha-100)!important}.s-select__main.md{height:2.4rem;font-size:1rem}.s-select__main.sm{height:1.5rem;font-size:.9rem}.s-select__main.is-open{border:.06rem solid var(--primary-600);box-shadow:var(--focus-cyan--md)}.s-select__main__selected-option{width:100%;display:flex;align-items:center;justify-content:space-between}.s-select__main__selected-option input{display:none}.s-select__main__selected-option input:-webkit-autofill,.s-select__main__selected-option input:-webkit-autofill:hover,.s-select__main__selected-option input:-webkit-autofill:focus,.s-select__main__selected-option input:-webkit-autofill:active{-webkit-box-shadow:0 0 0 1.9rem var(--neutrals-1200) inset!important}.s-select__main__selected-option span{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.s-select__main__selected-option__left{display:flex;align-items:center;justify-content:space-between;width:100%;gap:.5rem}.s-select__main__selected-option__left__content-option{display:flex;align-items:center;gap:.5rem}.s-select__main__selected-option__left__content-option .placeholder{color:var(--neutrals-700);opacity:.6}.s-select__main__selected-option__left .dot{border-radius:100%;width:.3rem;height:.3rem;border:.06rem solid var(--green-600);background-color:var(--green-600);margin-left:.3rem}.s-select__main__selected-option__left s-icon-mat.iconPerson{margin-left:.3rem;color:var(--primary-600)}.s-select__main__selected-option__left .content-avatar{margin-left:.375rem}.s-select__main__selected-option__right{display:flex;align-items:center;justify-content:space-evenly;color:var(--primary-600)}.s-select__main__selected-option__right .is-open-arrow{color:var(--primary-600)}.s-select__main__selected-option.select-simple .s-select__main__selected-option__left{width:93%}.s-select__main__selected-option.select-multiple .s-select__main__selected-option__left{width:100%}.s-select__options{max-height:12.5rem;overflow-y:auto;position:absolute;width:100%;z-index:2;box-shadow:var(--E300);background-color:var(--neutrals-1200);border-radius:.25rem;left:0}.s-select__options.sm{top:3.5rem}.s-select__options.md{top:4.5rem}.s-select__options.label-off.md{top:3.1rem}.s-select__options.label-off.sm{top:2.1rem}.s-select__dropdown{max-height:30rem;position:absolute;width:100%;z-index:2;box-shadow:var(--E300);background-color:var(--neutrals-1200);border-radius:.25rem;left:0;margin-top:.5rem}.s-select__options-multiple{border-bottom:.063rem solid var(--neutrals-900);border-top:.063rem solid var(--neutrals-900);max-height:13.5rem;overflow-y:auto}.s-select__options-multiple--search{padding:.3rem .5rem;height:100%}.s-select__options-multiple--selected{padding:.3rem .5rem;height:100%;margin-top:.3rem}.s-select__options-multiple--selected .s-button{width:100%}.s-select__options-multiple--selected .sm{font-size:.75rem}.s-select__options-multiple--selected-content{display:flex;justify-content:space-between;margin-top:.5rem}.s-select__options-multiple--selected-text:first-letter{text-transform:uppercase}.s-select__options-multiple--selectAllOption{color:var(--primary-600);cursor:pointer;text-decoration:underline}.s-select__options-multiple-all{align-items:center;display:flex}.s-select__options-multiple-all.sm{font-size:.75rem;padding:.25rem .5rem}.s-select__options-multiple-all.md{font-size:1rem;padding:.625rem .875rem}.s-select__options-multiple-text{padding-left:.625rem}.s-select__item{display:flex;justify-content:space-between;padding:0 .875rem;color:var(--secondary-600)}.s-select__item:hover{background-color:var(--neutrals-1000);cursor:pointer}.s-select__item.sm{font-size:.75rem;padding:.25rem .5rem}.s-select__item.md{font-size:1rem;padding:.625rem .875rem}.s-select__item .option-value{margin-left:.375rem}.s-select__item.active .option-value{font-weight:500;color:var(--primary-600)}.s-select__item .content-left.select-multiple{grid-template-columns:3fr 4fr 96fr}.s-select__item .content-left.select-simple{grid-template-columns:4fr 96fr}.s-select__item .content-left{display:grid;align-items:center;justify-content:space-evenly;margin-right:.5rem;grid-template-columns:3fr 4fr 96fr;gap:.25rem;justify-items:start}.s-select__item .content-left s-icon-mat span{font-size:1.3rem}.s-select__item .content-left s-icon-mat.iconPerson{margin-left:.3rem;color:var(--primary-600);height:1.25rem}.s-select__item .content-left s-radio input,.s-select__item .content-left s-checkbox input{cursor:pointer}.s-select__item .content-left .content-avatar{margin-left:.375rem}.s-select__item .content-left .dot{border-radius:100%;width:.3rem;height:.3rem;border:.06rem solid var(--green-600);background-color:var(--green-600);margin-left:.625rem;margin-right:.563rem}.s-select__item .content-center{width:100%}.s-select__item .content-right{display:flex;align-items:center;justify-content:space-evenly;margin-left:.5rem;color:var(--primary-600)}.s-select__item .content-right s-icon-mat span{font-size:1.2rem}.s-select--disabled .s-select-multiple__main,.s-select--disabled .s-select__main{background-color:var(--neutrals-1100);border:.063rem solid var(--neutrals-900);color:var(--neutrals-700);cursor:not-allowed}.s-select--disabled .s-select-multiple__main s-icon-mat.iconPerson,.s-select--disabled .s-select__main s-icon-mat.iconPerson{color:var(--neutrals-700)}.s-select--disabled .s-select-multiple__main .content-avatar .s-avatar__dot-content,.s-select--disabled .s-select__main .content-avatar .s-avatar__dot-content{background-color:var(--neutrals-700)}.s-select--disabled .s-select-multiple__main .content-avatar .s-avatar__dot-content s-icon-mat span,.s-select--disabled .s-select__main .content-avatar .s-avatar__dot-content s-icon-mat span{color:var(--neutrals-1100)}.s-select--disabled .s-select-multiple__main .dot,.s-select--disabled .s-select__main .dot{background-color:var(--neutrals-700);border:.06rem solid var(--neutrals-700)}.s-select--disabled .s-select-multiple__main .dot s-icon-mat span,.s-select--disabled .s-select__main .dot s-icon-mat span{color:var(--neutrals-1200)}.s-select--disabled .s-select-multiple__main .dot-content,.s-select--disabled .s-select__main .dot-content{background-color:var(--neutrals-700);border:var(--neutrals-700)}.s-select--disabled .s-select-multiple__main .dot-content s-icon-mat span,.s-select--disabled .s-select__main .dot-content s-icon-mat span{color:var(--neutrals-1200)}.s-select--disabled .s-select-multiple__main s-icon-mat span,.s-select--disabled .s-select__main s-icon-mat span{color:var(--neutrals-700)}\n"] }]
|
|
1972
|
+
], template: "<div class=\"s-select\" [ngClass]=\"disabled ? 's-select--disabled':''\">\n <span *ngIf=\"label\" class=\"s-select--select-label\">{{label}}</span>\n <div class=\"s-select__main cursor {{ isOpen ? 'is-open' : '' }} {{size ? size : ''}}\" (click)=\"openDropDown()\" tabindex=\"0\" (keydown)=\"onKeyDownMain($event)\">\n <div class=\"s-select__main__selected-option select-simple\">\n <div class=\"s-select__main__selected-option__left\" *ngIf=\"activeIndex >= 0\">\n <div *ngIf=\"display == 'dot'\" class=\"dot\"></div>\n <s-icon-mat size=\"{{size === 'md' ? '22' : '17'}}\" class=\"iconPerson\" *ngIf=\"display === 'iconperson'\">person_outline</s-icon-mat>\n <div *ngIf=\"display === 'profile' && options[activeIndex]?.user\" class=\"content-avatar\">\n <s-avatar size=\"24\" [status]=\"options[activeIndex].user?.status\" [display]=\"options[activeIndex].user?.display\" [urlProfileImage]=\"options[activeIndex].user?.url\"></s-avatar>\n </div>\n <span>{{ options[activeIndex].title }}</span>\n </div>\n <div class=\"s-select__main__selected-option__left\" *ngIf=\"activeIndex < 0\">\n <div class=\"s-select__main__selected-option__left__content-option\" *ngIf=\"!selectedValue\">\n <div *ngIf=\"display === 'dot'\" class=\"dot\"></div>\n <s-icon-mat class=\"iconPerson\" *ngIf=\"display === 'iconperson'\">person_outline</s-icon-mat>\n <div *ngIf=\"display === 'profile'\" class=\"content-avatar\">\n <s-avatar size=\"24\"></s-avatar>\n </div>\n <span class=\"placeholder\">{{placeholder}}</span>\n </div>\n </div>\n <div class=\"s-select__main__selected-option__right\">\n <s-icon-mat *ngIf=\"!readOnly\" class=\"{{isOpen ? 'is-open-arrow' : ''}}\">{{isOpen ? 'expand_less' : 'expand_more'}}</s-icon-mat>\n </div>\n </div>\n </div>\n <div class=\"s-select__options {{size ? size : ''}}\" *ngIf=\"isOpen\">\n <div class=\"s-select__item {{size ? size : ''}}\"\n *ngFor=\"let item of options; index as i\"\n [class.active]=\"i === activeIndex\"\n (click)=\"getSelectedValue(item)\"\n (keydown)=\"onKeyDownItems($event , item)\"\n tabindex=\"0\"\n >\n <div class=\"content-left select-simple\">\n <div *ngIf=\"display === 'dot'\" class=\"dot\"></div>\n <div *ngIf=\"display === 'profile'\" class=\"content-avatar\">\n <s-avatar size=\"24\" [display]=\"item.user?.display\" [status]=\"item.user?.status\" [urlProfileImage]=\"item.user?.url\" ></s-avatar>\n </div>\n <s-icon-mat size=\"{{size === 'md' ? '22' : '17'}}\" class=\"iconPerson\" *ngIf=\"display === 'iconperson'\">person_outline</s-icon-mat>\n <span class=\"option-value\">\n {{item.title}}\n </span>\n </div>\n <div class=\"content-right\" *ngIf=\"i === activeIndex\">\n <s-icon-mat class=\"icon-check\">check</s-icon-mat>\n </div>\n </div>\n </div>\n</div>", styles: [".s-select{width:100%;position:relative}.s-select__main.readonly{background-color:var(--neutrals-1100);cursor:default}.s-select--required{display:contents;color:var(--primary-600)}.s-select--select-label{color:var(--secondary-600);display:flex;font-size:.875rem;font-weight:400;line-height:1.375rem;letter-spacing:.01rem;margin-bottom:.125rem}.s-select__main{background-color:var(--neutrals-1200);color:var(--secondary-600);border:.063rem solid var(--primary-500);border-radius:.25rem;display:flex;padding:0 .625rem}.s-select__main.theme-red{border-color:var(--red-600)!important;box-shadow:0 0 0 .25rem var(--red-alpha-200),0 .0625rem .125rem 0 var(--blue-alpha-100)!important}.s-select__main.md{height:2.4rem;font-size:1rem}.s-select__main.sm{height:1.5rem;font-size:.9rem}.s-select__main.is-open{border:.06rem solid var(--primary-600);box-shadow:var(--focus-cyan--md)}.s-select__main__selected-option{width:100%;display:flex;align-items:center;justify-content:space-between}.s-select__main__selected-option input{display:none}.s-select__main__selected-option input:-webkit-autofill,.s-select__main__selected-option input:-webkit-autofill:hover,.s-select__main__selected-option input:-webkit-autofill:focus,.s-select__main__selected-option input:-webkit-autofill:active{-webkit-box-shadow:0 0 0 1.9rem var(--neutrals-1200) inset!important}.s-select__main__selected-option span{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.s-select__main__selected-option__left{display:flex;align-items:center;justify-content:space-between;width:100%;gap:.5rem}.s-select__main__selected-option__left__content-option{display:flex;align-items:center;gap:.5rem}.s-select__main__selected-option__left__content-option .placeholder{color:var(--neutrals-700);opacity:.6}.s-select__main__selected-option__left .dot{border-radius:100%;width:.3rem;height:.3rem;border:.06rem solid var(--green-600);background-color:var(--green-600);margin-left:.3rem}.s-select__main__selected-option__left s-icon-mat.iconPerson{margin-left:.3rem;color:var(--primary-600)}.s-select__main__selected-option__left .content-avatar{margin-left:.375rem}.s-select__main__selected-option__right{display:flex;align-items:center;justify-content:space-evenly;color:var(--primary-600)}.s-select__main__selected-option__right .is-open-arrow{color:var(--primary-600)}.s-select__main__selected-option.select-simple .s-select__main__selected-option__left{width:93%}.s-select__main__selected-option.select-multiple .s-select__main__selected-option__left{width:100%}.s-select__options{max-height:12.5rem;overflow-y:auto;position:absolute;width:100%;z-index:2;box-shadow:var(--E300);background-color:var(--neutrals-1200);border-radius:.25rem;left:0}.s-select__options.sm{top:3.5rem}.s-select__options.md{top:4.5rem}.s-select__options.label-off.md{top:3.1rem}.s-select__options.label-off.sm{top:2.1rem}.s-select__dropdown{max-height:30rem;position:absolute;width:100%;z-index:2;box-shadow:var(--E300);background-color:var(--neutrals-1200);border-radius:.25rem;left:0;margin-top:.5rem}.s-select__options-multiple{border-bottom:.063rem solid var(--neutrals-900);border-top:.063rem solid var(--neutrals-900);max-height:13.5rem;overflow-y:auto}.s-select__options-multiple--search{padding:.3rem .5rem;height:100%}.s-select__options-multiple--selected{padding:.3rem .5rem;height:100%;margin-top:.3rem}.s-select__options-multiple--selected .s-button{width:100%}.s-select__options-multiple--selected .sm{font-size:.75rem}.s-select__options-multiple--selected-content{display:flex;justify-content:space-between;margin-top:.5rem}.s-select__options-multiple--selected-text:first-letter{text-transform:uppercase}.s-select__options-multiple--selectAllOption{color:var(--primary-600);cursor:pointer;text-decoration:underline}.s-select__options-multiple-all{align-items:center;display:flex}.s-select__options-multiple-all.sm{font-size:.75rem;padding:.25rem .5rem}.s-select__options-multiple-all.md{font-size:1rem;padding:.625rem .875rem}.s-select__options-multiple-text{padding-left:.625rem}.s-select__item{display:flex;justify-content:space-between;padding:0 .875rem;color:var(--secondary-600)}.s-select__item:hover{background-color:var(--neutrals-1000);cursor:pointer}.s-select__item.sm{font-size:.75rem;padding:.25rem .5rem}.s-select__item.md{font-size:1rem;padding:.625rem .875rem}.s-select__item.no-display .content-left.select-simple{grid-template-columns:auto}.s-select__item.no-display .content-left.select-multiple{grid-template-columns:auto 1fr}.s-select__item.no-display .option-value{margin-left:0;width:100%;max-width:100%;white-space:normal;overflow-wrap:anywhere;word-break:break-word}.s-select__item .option-value{margin-left:.375rem}.s-select__item.active .option-value{font-weight:500;color:var(--primary-600)}.s-select__item .content-left.select-multiple{grid-template-columns:2fr 2fr 96fr}.s-select__item .content-left.select-simple{grid-template-columns:2fr 96fr}.s-select__item .content-left{display:grid;align-items:center;justify-content:space-evenly;margin-right:.5rem;grid-template-columns:3fr 4fr 96fr;gap:.25rem;justify-items:start}.s-select__item .content-left s-icon-mat span{font-size:1.3rem}.s-select__item .content-left s-icon-mat.iconPerson{margin-left:.3rem;color:var(--primary-600);height:1.25rem}.s-select__item .content-left s-radio input,.s-select__item .content-left s-checkbox input{cursor:pointer}.s-select__item .content-left .content-avatar{margin-left:.375rem}.s-select__item .content-left .dot{border-radius:100%;width:.3rem;height:.3rem;border:.06rem solid var(--green-600);background-color:var(--green-600);margin-left:.625rem;margin-right:.563rem}.s-select__item .content-center{width:100%}.s-select__item .content-right{display:flex;align-items:center;justify-content:space-evenly;margin-left:.5rem;color:var(--primary-600)}.s-select__item .content-right s-icon-mat span{font-size:1.2rem}.s-select--disabled .s-select-multiple__main,.s-select--disabled .s-select__main{background-color:var(--neutrals-1100);border:.063rem solid var(--neutrals-900);color:var(--neutrals-700);cursor:not-allowed}.s-select--disabled .s-select-multiple__main s-icon-mat.iconPerson,.s-select--disabled .s-select__main s-icon-mat.iconPerson{color:var(--neutrals-700)}.s-select--disabled .s-select-multiple__main .content-avatar .s-avatar__dot-content,.s-select--disabled .s-select__main .content-avatar .s-avatar__dot-content{background-color:var(--neutrals-700)}.s-select--disabled .s-select-multiple__main .content-avatar .s-avatar__dot-content s-icon-mat span,.s-select--disabled .s-select__main .content-avatar .s-avatar__dot-content s-icon-mat span{color:var(--neutrals-1100)}.s-select--disabled .s-select-multiple__main .dot,.s-select--disabled .s-select__main .dot{background-color:var(--neutrals-700);border:.06rem solid var(--neutrals-700)}.s-select--disabled .s-select-multiple__main .dot s-icon-mat span,.s-select--disabled .s-select__main .dot s-icon-mat span{color:var(--neutrals-1200)}.s-select--disabled .s-select-multiple__main .dot-content,.s-select--disabled .s-select__main .dot-content{background-color:var(--neutrals-700);border:var(--neutrals-700)}.s-select--disabled .s-select-multiple__main .dot-content s-icon-mat span,.s-select--disabled .s-select__main .dot-content s-icon-mat span{color:var(--neutrals-1200)}.s-select--disabled .s-select-multiple__main s-icon-mat span,.s-select--disabled .s-select__main s-icon-mat span{color:var(--neutrals-700)}\n"] }]
|
|
1978
1973
|
}], ctorParameters: () => [{ type: SelectNavigationService }], propDecorators: { disabled: [{
|
|
1979
1974
|
type: Input
|
|
1980
1975
|
}], placeholder: [{
|
|
@@ -2546,7 +2541,7 @@ class SInputTextAreaComponent extends ControlValueAccessorDirective {
|
|
|
2546
2541
|
useExisting: forwardRef(() => SInputTextAreaComponent),
|
|
2547
2542
|
multi: true
|
|
2548
2543
|
}
|
|
2549
|
-
], usesInheritance: true, ngImport: i0, template: "<section class=\"s-textarea\">\n <label [for]=\"config.id\" *ngIf=\"config?.label\" class=\"s-textarea__label\">\n {{ config.label }}\n <span class=\"s-textarea__required\" *ngIf=\"config?.required\">*</span>\n </label>\n <div\n class=\"s-textarea__content {{ config.classAdd }}\"\n [ngClass]=\"{\n 'disabled-active': config.disabled || control?.status === 'DISABLED',\n }\">\n <ng-container *ngIf=\"control; else notUseFormControl\">\n <textarea\n [readOnly]=\"config.readOnly || config.disabled\"\n class=\"theme-{{ config.theme }} {{ config.classAdd }}\"\n [ngClass]=\"{\n resize: !config.resize,\n 'theme-red':\n (control && control.invalid && (isFocused || control.touched)) ||\n (control && control.errors && control.touched) ||\n config.theme === 'red',\n }\"\n [ngStyle]=\"{ height: config.height, width: config.width }\"\n [id]=\"config.id\"\n autocomplete=\"off\"\n [placeholder]=\"config.placeholder ?? ''\"\n [formControl]=\"control\"\n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\">\n </textarea>\n </ng-container>\n <ng-template #notUseFormControl>\n <textarea\n [readOnly]=\"config.readOnly || config.disabled\"\n [ngClass]=\"[\n config.resize ? '' : 'resize',\n config.theme ? 'theme-' + config.theme : '',\n ]\"\n [ngStyle]=\"{ height: config.height, width: config.width }\"\n [disabled]=\"config.disabled ?? false\"\n [id]=\"config.id\"\n autocomplete=\"off\"\n [placeholder]=\"config.placeholder ?? ''\"\n [value]=\"value\"\n (input)=\"onInput($event)\"\n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\">\n </textarea>\n </ng-template>\n <s-validation-error\n *ngIf=\"\n !config.hideErrorText &&\n control &&\n control.invalid &&\n (isFocused || control.touched)\n \"\n [customErrorMessages]=\"config.errorMessages ?? undefined\"\n [errors]=\"control.errors\">\n </s-validation-error>\n <s-error-control\n *ngIf=\"!config.hideErrorText && config.errorText\"\n theme=\"red\"\n >{{ config.errorText }}</s-error-control\n >\n <s-error-control\n *ngIf=\"\n !config.hideErrorText &&\n !config.errorText &&\n ((control && control.errors?.['required'] && !control.touched) ||\n (control && !control.errors)) &&\n !(isFocused && control.invalid)\n \">\n {{ config.helpText || '' }}</s-error-control\n >\n </div>\n</section>\n", styles: [".s-textarea{margin-bottom:.5rem}.s-textarea__label{font-size:.875rem;color:var(--secondary-600)}.s-textarea__required{color:var(--primary-600)}.s-textarea__content textarea{width:calc(100% - 1.875rem);padding:.625rem .875rem;border:.063rem solid var(--primary-500);border-radius:.25rem;color:var(--secondary-600);writing-mode:unset;height:2.125rem;font-size:1rem;max-width:100%}.s-textarea__content:not(.disabled-active) textarea:focus-visible{outline:none;border:none;border:1px solid var(--primary-600);box-shadow:0 0 0 .25rem var(--cyan-alpha-200),0 .0625rem .125rem 0 var(--blue-alpha-100)}.s-textarea__content.disabled-active textarea{border-color:var(--neutrals-900);background-color:var(--neutrals-1100);color:var(--neutrals-800);resize:none}.s-textarea__content.disabled-active textarea:focus-visible{outline:none}.s-textarea__content textarea.theme-red{border:.063rem solid var(--red-600)}.s-textarea__content textarea.theme-red:focus-visible{border:1px solid var(--red-600);box-shadow:0 0 0 .25rem var(--red-alpha-200),0 .0625rem .125rem 0 var(--blue-alpha-100)}.s-textarea__content textarea.theme-green{border:.063rem solid var(--green-600)}.s-textarea__content textarea.theme-green:focus-visible{border:1px solid var(--green-500);box-shadow:0 0 0 .25rem var(--green-alpha-200),0 .0625rem .125rem 0 var(--blue-alpha-100)}.s-textarea__content textarea.theme-yellow{border:.063rem solid var(--yellow-500)}.s-textarea__content textarea.theme-yellow:focus-visible{border:1px solid var(--yellow-500);box-shadow:0 0 0 .25rem var(--yellow-alpha-200),0 .0625rem .125rem 0 var(--blue-alpha-100)}.s-textarea__content .resize{resize:none}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: SErrorControl, selector: "s-error-control", inputs: ["theme", "icon", "iconCustom", "size"] }, { kind: "component", type: SValidationError, selector: "s-validation-error", inputs: ["errors", "customErrorMessages"] }] }); }
|
|
2544
|
+
], usesInheritance: true, ngImport: i0, template: "<section class=\"s-textarea\">\n <label [for]=\"config.id\" *ngIf=\"config?.label\" class=\"s-textarea__label\">\n {{ config.label }}\n <span class=\"s-textarea__required\" *ngIf=\"config?.required\">*</span>\n </label>\n <div\n class=\"s-textarea__content {{ config.classAdd }}\"\n [ngClass]=\"{\n 'disabled-active': config.disabled || control?.status === 'DISABLED',\n }\">\n <ng-container *ngIf=\"control; else notUseFormControl\">\n <textarea\n [readOnly]=\"config.readOnly || config.disabled\"\n class=\"theme-{{ config.theme }} {{ config.classAdd }}\"\n [ngClass]=\"{\n resize: !config.resize,\n 'readonly':\n config.readOnly,\n 'theme-red':\n (control && control.invalid && (isFocused || control.touched)) ||\n (control && control.errors && control.touched) ||\n config.theme === 'red',\n }\"\n [ngStyle]=\"{ height: config.height, width: config.width }\"\n [id]=\"config.id\"\n autocomplete=\"off\"\n [placeholder]=\"config.placeholder ?? ''\"\n [formControl]=\"control\"\n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\">\n </textarea>\n </ng-container>\n <ng-template #notUseFormControl>\n <textarea\n [readOnly]=\"config.readOnly || config.disabled\"\n [ngClass]=\"[\n config.resize ? '' : 'resize',\n config.theme ? 'theme-' + config.theme : '',\n ]\"\n [ngStyle]=\"{ height: config.height, width: config.width }\"\n [disabled]=\"config.disabled ?? false\"\n [id]=\"config.id\"\n autocomplete=\"off\"\n [placeholder]=\"config.placeholder ?? ''\"\n [value]=\"value\"\n (input)=\"onInput($event)\"\n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\">\n </textarea>\n </ng-template>\n <s-validation-error\n *ngIf=\"\n !config.hideErrorText &&\n control &&\n control.invalid &&\n (isFocused || control.touched)\n \"\n [customErrorMessages]=\"config.errorMessages ?? undefined\"\n [errors]=\"control.errors\">\n </s-validation-error>\n <s-error-control\n *ngIf=\"!config.hideErrorText && config.errorText\"\n theme=\"red\"\n >{{ config.errorText }}</s-error-control\n >\n <s-error-control\n *ngIf=\"\n !config.hideErrorText &&\n !config.errorText &&\n ((control && control.errors?.['required'] && !control.touched) ||\n (control && !control.errors)) &&\n !(isFocused && control.invalid)\n \">\n {{ config.helpText || '' }}</s-error-control\n >\n </div>\n</section>\n", styles: [".s-textarea{margin-bottom:.5rem}.s-textarea__label{font-size:.875rem;color:var(--secondary-600)}.s-textarea__required{color:var(--primary-600)}.s-textarea__content textarea{width:calc(100% - 1.875rem);padding:.625rem .875rem;border:.063rem solid var(--primary-500);border-radius:.25rem;color:var(--secondary-600);writing-mode:unset;height:2.125rem;font-size:1rem;max-width:100%}.s-textarea__content:not(.disabled-active) textarea:focus-visible{outline:none;border:none;border:1px solid var(--primary-600);box-shadow:0 0 0 .25rem var(--cyan-alpha-200),0 .0625rem .125rem 0 var(--blue-alpha-100)}.s-textarea__content.disabled-active textarea{border-color:var(--neutrals-900);background-color:var(--neutrals-1100);color:var(--neutrals-800);resize:none}.s-textarea__content.disabled-active textarea:focus-visible{outline:none}.s-textarea__content textarea.readonly{background-color:var(--neutrals-1100)!important}.s-textarea__content textarea.readonly input{background-color:var(--neutrals-1100)!important;cursor:default}.s-textarea__content textarea.theme-red{border:.063rem solid var(--red-600)}.s-textarea__content textarea.theme-red:focus-visible{border:1px solid var(--red-600);box-shadow:0 0 0 .25rem var(--red-alpha-200),0 .0625rem .125rem 0 var(--blue-alpha-100)}.s-textarea__content textarea.theme-green{border:.063rem solid var(--green-600)}.s-textarea__content textarea.theme-green:focus-visible{border:1px solid var(--green-500);box-shadow:0 0 0 .25rem var(--green-alpha-200),0 .0625rem .125rem 0 var(--blue-alpha-100)}.s-textarea__content textarea.theme-yellow{border:.063rem solid var(--yellow-500)}.s-textarea__content textarea.theme-yellow:focus-visible{border:1px solid var(--yellow-500);box-shadow:0 0 0 .25rem var(--yellow-alpha-200),0 .0625rem .125rem 0 var(--blue-alpha-100)}.s-textarea__content .resize{resize:none}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: SErrorControl, selector: "s-error-control", inputs: ["theme", "icon", "iconCustom", "size"] }, { kind: "component", type: SValidationError, selector: "s-validation-error", inputs: ["errors", "customErrorMessages"] }] }); }
|
|
2550
2545
|
}
|
|
2551
2546
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SInputTextAreaComponent, decorators: [{
|
|
2552
2547
|
type: Component,
|
|
@@ -2556,7 +2551,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
2556
2551
|
useExisting: forwardRef(() => SInputTextAreaComponent),
|
|
2557
2552
|
multi: true
|
|
2558
2553
|
}
|
|
2559
|
-
], template: "<section class=\"s-textarea\">\n <label [for]=\"config.id\" *ngIf=\"config?.label\" class=\"s-textarea__label\">\n {{ config.label }}\n <span class=\"s-textarea__required\" *ngIf=\"config?.required\">*</span>\n </label>\n <div\n class=\"s-textarea__content {{ config.classAdd }}\"\n [ngClass]=\"{\n 'disabled-active': config.disabled || control?.status === 'DISABLED',\n }\">\n <ng-container *ngIf=\"control; else notUseFormControl\">\n <textarea\n [readOnly]=\"config.readOnly || config.disabled\"\n class=\"theme-{{ config.theme }} {{ config.classAdd }}\"\n [ngClass]=\"{\n resize: !config.resize,\n 'theme-red':\n (control && control.invalid && (isFocused || control.touched)) ||\n (control && control.errors && control.touched) ||\n config.theme === 'red',\n }\"\n [ngStyle]=\"{ height: config.height, width: config.width }\"\n [id]=\"config.id\"\n autocomplete=\"off\"\n [placeholder]=\"config.placeholder ?? ''\"\n [formControl]=\"control\"\n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\">\n </textarea>\n </ng-container>\n <ng-template #notUseFormControl>\n <textarea\n [readOnly]=\"config.readOnly || config.disabled\"\n [ngClass]=\"[\n config.resize ? '' : 'resize',\n config.theme ? 'theme-' + config.theme : '',\n ]\"\n [ngStyle]=\"{ height: config.height, width: config.width }\"\n [disabled]=\"config.disabled ?? false\"\n [id]=\"config.id\"\n autocomplete=\"off\"\n [placeholder]=\"config.placeholder ?? ''\"\n [value]=\"value\"\n (input)=\"onInput($event)\"\n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\">\n </textarea>\n </ng-template>\n <s-validation-error\n *ngIf=\"\n !config.hideErrorText &&\n control &&\n control.invalid &&\n (isFocused || control.touched)\n \"\n [customErrorMessages]=\"config.errorMessages ?? undefined\"\n [errors]=\"control.errors\">\n </s-validation-error>\n <s-error-control\n *ngIf=\"!config.hideErrorText && config.errorText\"\n theme=\"red\"\n >{{ config.errorText }}</s-error-control\n >\n <s-error-control\n *ngIf=\"\n !config.hideErrorText &&\n !config.errorText &&\n ((control && control.errors?.['required'] && !control.touched) ||\n (control && !control.errors)) &&\n !(isFocused && control.invalid)\n \">\n {{ config.helpText || '' }}</s-error-control\n >\n </div>\n</section>\n", styles: [".s-textarea{margin-bottom:.5rem}.s-textarea__label{font-size:.875rem;color:var(--secondary-600)}.s-textarea__required{color:var(--primary-600)}.s-textarea__content textarea{width:calc(100% - 1.875rem);padding:.625rem .875rem;border:.063rem solid var(--primary-500);border-radius:.25rem;color:var(--secondary-600);writing-mode:unset;height:2.125rem;font-size:1rem;max-width:100%}.s-textarea__content:not(.disabled-active) textarea:focus-visible{outline:none;border:none;border:1px solid var(--primary-600);box-shadow:0 0 0 .25rem var(--cyan-alpha-200),0 .0625rem .125rem 0 var(--blue-alpha-100)}.s-textarea__content.disabled-active textarea{border-color:var(--neutrals-900);background-color:var(--neutrals-1100);color:var(--neutrals-800);resize:none}.s-textarea__content.disabled-active textarea:focus-visible{outline:none}.s-textarea__content textarea.theme-red{border:.063rem solid var(--red-600)}.s-textarea__content textarea.theme-red:focus-visible{border:1px solid var(--red-600);box-shadow:0 0 0 .25rem var(--red-alpha-200),0 .0625rem .125rem 0 var(--blue-alpha-100)}.s-textarea__content textarea.theme-green{border:.063rem solid var(--green-600)}.s-textarea__content textarea.theme-green:focus-visible{border:1px solid var(--green-500);box-shadow:0 0 0 .25rem var(--green-alpha-200),0 .0625rem .125rem 0 var(--blue-alpha-100)}.s-textarea__content textarea.theme-yellow{border:.063rem solid var(--yellow-500)}.s-textarea__content textarea.theme-yellow:focus-visible{border:1px solid var(--yellow-500);box-shadow:0 0 0 .25rem var(--yellow-alpha-200),0 .0625rem .125rem 0 var(--blue-alpha-100)}.s-textarea__content .resize{resize:none}\n"] }]
|
|
2554
|
+
], template: "<section class=\"s-textarea\">\n <label [for]=\"config.id\" *ngIf=\"config?.label\" class=\"s-textarea__label\">\n {{ config.label }}\n <span class=\"s-textarea__required\" *ngIf=\"config?.required\">*</span>\n </label>\n <div\n class=\"s-textarea__content {{ config.classAdd }}\"\n [ngClass]=\"{\n 'disabled-active': config.disabled || control?.status === 'DISABLED',\n }\">\n <ng-container *ngIf=\"control; else notUseFormControl\">\n <textarea\n [readOnly]=\"config.readOnly || config.disabled\"\n class=\"theme-{{ config.theme }} {{ config.classAdd }}\"\n [ngClass]=\"{\n resize: !config.resize,\n 'readonly':\n config.readOnly,\n 'theme-red':\n (control && control.invalid && (isFocused || control.touched)) ||\n (control && control.errors && control.touched) ||\n config.theme === 'red',\n }\"\n [ngStyle]=\"{ height: config.height, width: config.width }\"\n [id]=\"config.id\"\n autocomplete=\"off\"\n [placeholder]=\"config.placeholder ?? ''\"\n [formControl]=\"control\"\n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\">\n </textarea>\n </ng-container>\n <ng-template #notUseFormControl>\n <textarea\n [readOnly]=\"config.readOnly || config.disabled\"\n [ngClass]=\"[\n config.resize ? '' : 'resize',\n config.theme ? 'theme-' + config.theme : '',\n ]\"\n [ngStyle]=\"{ height: config.height, width: config.width }\"\n [disabled]=\"config.disabled ?? false\"\n [id]=\"config.id\"\n autocomplete=\"off\"\n [placeholder]=\"config.placeholder ?? ''\"\n [value]=\"value\"\n (input)=\"onInput($event)\"\n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\">\n </textarea>\n </ng-template>\n <s-validation-error\n *ngIf=\"\n !config.hideErrorText &&\n control &&\n control.invalid &&\n (isFocused || control.touched)\n \"\n [customErrorMessages]=\"config.errorMessages ?? undefined\"\n [errors]=\"control.errors\">\n </s-validation-error>\n <s-error-control\n *ngIf=\"!config.hideErrorText && config.errorText\"\n theme=\"red\"\n >{{ config.errorText }}</s-error-control\n >\n <s-error-control\n *ngIf=\"\n !config.hideErrorText &&\n !config.errorText &&\n ((control && control.errors?.['required'] && !control.touched) ||\n (control && !control.errors)) &&\n !(isFocused && control.invalid)\n \">\n {{ config.helpText || '' }}</s-error-control\n >\n </div>\n</section>\n", styles: [".s-textarea{margin-bottom:.5rem}.s-textarea__label{font-size:.875rem;color:var(--secondary-600)}.s-textarea__required{color:var(--primary-600)}.s-textarea__content textarea{width:calc(100% - 1.875rem);padding:.625rem .875rem;border:.063rem solid var(--primary-500);border-radius:.25rem;color:var(--secondary-600);writing-mode:unset;height:2.125rem;font-size:1rem;max-width:100%}.s-textarea__content:not(.disabled-active) textarea:focus-visible{outline:none;border:none;border:1px solid var(--primary-600);box-shadow:0 0 0 .25rem var(--cyan-alpha-200),0 .0625rem .125rem 0 var(--blue-alpha-100)}.s-textarea__content.disabled-active textarea{border-color:var(--neutrals-900);background-color:var(--neutrals-1100);color:var(--neutrals-800);resize:none}.s-textarea__content.disabled-active textarea:focus-visible{outline:none}.s-textarea__content textarea.readonly{background-color:var(--neutrals-1100)!important}.s-textarea__content textarea.readonly input{background-color:var(--neutrals-1100)!important;cursor:default}.s-textarea__content textarea.theme-red{border:.063rem solid var(--red-600)}.s-textarea__content textarea.theme-red:focus-visible{border:1px solid var(--red-600);box-shadow:0 0 0 .25rem var(--red-alpha-200),0 .0625rem .125rem 0 var(--blue-alpha-100)}.s-textarea__content textarea.theme-green{border:.063rem solid var(--green-600)}.s-textarea__content textarea.theme-green:focus-visible{border:1px solid var(--green-500);box-shadow:0 0 0 .25rem var(--green-alpha-200),0 .0625rem .125rem 0 var(--blue-alpha-100)}.s-textarea__content textarea.theme-yellow{border:.063rem solid var(--yellow-500)}.s-textarea__content textarea.theme-yellow:focus-visible{border:1px solid var(--yellow-500);box-shadow:0 0 0 .25rem var(--yellow-alpha-200),0 .0625rem .125rem 0 var(--blue-alpha-100)}.s-textarea__content .resize{resize:none}\n"] }]
|
|
2560
2555
|
}], propDecorators: { config: [{
|
|
2561
2556
|
type: Input
|
|
2562
2557
|
}], blur: [{
|
|
@@ -2565,7 +2560,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
2565
2560
|
type: Output
|
|
2566
2561
|
}] } });
|
|
2567
2562
|
|
|
2568
|
-
class
|
|
2563
|
+
class SSliderComponent {
|
|
2569
2564
|
constructor() {
|
|
2570
2565
|
this.onChange = (_) => { };
|
|
2571
2566
|
this.onTouch = () => { };
|
|
@@ -2578,6 +2573,7 @@ class SRangeComponent {
|
|
|
2578
2573
|
this.classAdd = '';
|
|
2579
2574
|
this.size = 'md';
|
|
2580
2575
|
this.rangeUnity = '';
|
|
2576
|
+
this.showInput = false;
|
|
2581
2577
|
this.inconSymbol = false;
|
|
2582
2578
|
this.tooltipValue = '';
|
|
2583
2579
|
this.valueChangeEvent = new EventEmitter();
|
|
@@ -2598,53 +2594,36 @@ class SRangeComponent {
|
|
|
2598
2594
|
this.valueChangeEvent.next(this.value);
|
|
2599
2595
|
}, 500, null);
|
|
2600
2596
|
}
|
|
2601
|
-
onTextChangeVal(val) {
|
|
2602
|
-
if (this.inputTimeout) {
|
|
2603
|
-
clearTimeout(this.inputTimeout);
|
|
2604
|
-
}
|
|
2605
|
-
this.inputTimeout = setTimeout(() => {
|
|
2606
|
-
if (val) {
|
|
2607
|
-
this.onTouch();
|
|
2608
|
-
this.onChange(val);
|
|
2609
|
-
this.valueChangeEvent.next(val);
|
|
2610
|
-
this.value = val;
|
|
2611
|
-
}
|
|
2612
|
-
else {
|
|
2613
|
-
this.onTouch();
|
|
2614
|
-
this.onChange(val);
|
|
2615
|
-
this.valueChangeEvent.next(this.value);
|
|
2616
|
-
}
|
|
2617
|
-
}, 500, null);
|
|
2618
|
-
}
|
|
2619
2597
|
clickIcon() {
|
|
2620
2598
|
this.clickHelpIconEvent.next();
|
|
2621
2599
|
}
|
|
2622
2600
|
//FUNCIONES PARA TYPE RANGE
|
|
2623
2601
|
rangeOnLoad() {
|
|
2624
2602
|
setTimeout(() => {
|
|
2625
|
-
//RANGO TOTAL
|
|
2626
2603
|
const rangeMax = this.max ? this.max : 100;
|
|
2627
|
-
//CALCULO LA AMPLITUD PARA PODER POSICIONAR AL 50% POR DEFECTO
|
|
2628
2604
|
let amplitudTotal = rangeMax - this.min;
|
|
2629
2605
|
let porcion = (amplitudTotal * 50) / 100;
|
|
2630
|
-
// INICIALIZA AL 50% CUANDO NO HAY VALOR PREDEFINIDO
|
|
2631
2606
|
let value = this.value == '' ? this.min + porcion : this.value;
|
|
2632
|
-
|
|
2633
|
-
|
|
2607
|
+
const clampedValue = this.clampValue(value);
|
|
2608
|
+
if (this.value == '' || this.value === null || this.value === undefined) {
|
|
2609
|
+
this.value = clampedValue.toString();
|
|
2610
|
+
this.onChange(this.value);
|
|
2611
|
+
}
|
|
2634
2612
|
this.tooltipValue = this.value + this.rangeUnity;
|
|
2635
|
-
this.updateTooltip(value
|
|
2636
|
-
//SI ES CHROME APLICO EL FIX
|
|
2613
|
+
this.updateTooltip(this.value);
|
|
2637
2614
|
const isChrome = /Chrome/.test(navigator.userAgent) && /Google Inc/.test(navigator.vendor);
|
|
2638
2615
|
if (isChrome) {
|
|
2639
|
-
|
|
2640
|
-
|
|
2641
|
-
document.getElementById(this.id)?.style.setProperty('margin-
|
|
2642
|
-
document.getElementById(this.id)?.style.setProperty('margin-bottom', ' 0.875rem');
|
|
2616
|
+
let porcentaje = ((clampedValue - this.min) / (rangeMax - this.min)) * 100;
|
|
2617
|
+
document.getElementById(this.id)?.style.setProperty('margin-top', '0.875rem');
|
|
2618
|
+
document.getElementById(this.id)?.style.setProperty('margin-bottom', '0.875rem');
|
|
2643
2619
|
document.getElementById(this.id)?.style.setProperty('border-radius', '0.25rem');
|
|
2644
|
-
document.getElementById(this.id)?.style.setProperty('height', '
|
|
2645
|
-
document.getElementById(this.id)?.style.setProperty('background', 'linear-gradient(to right, var(--primary-600) 0%, var(--primary-600) ' +
|
|
2620
|
+
document.getElementById(this.id)?.style.setProperty('height', '0.5rem');
|
|
2621
|
+
document.getElementById(this.id)?.style.setProperty('background', 'linear-gradient(to right, var(--primary-600) 0%, var(--primary-600) ' +
|
|
2622
|
+
porcentaje +
|
|
2623
|
+
'%, var(--neutrals-1000) ' +
|
|
2624
|
+
porcentaje +
|
|
2625
|
+
'%, var(--neutrals-1000) 100%)');
|
|
2646
2626
|
}
|
|
2647
|
-
;
|
|
2648
2627
|
}, 0);
|
|
2649
2628
|
}
|
|
2650
2629
|
//FUNCION PARA CHROME CUANDO SE DESLIZA EL SLIDE FUNCIONE CORRECTAMENTE
|
|
@@ -2655,7 +2634,6 @@ class SRangeComponent {
|
|
|
2655
2634
|
let porcentaje = ((value - this.min) / (rangeMax - this.min)) * 100;
|
|
2656
2635
|
document.getElementById(this.id)?.style.setProperty('background', 'linear-gradient(to right, var(--primary-600) 0%, var(--primary-600) ' + porcentaje + '%, var(--neutrals-1000) ' + porcentaje + '%, var(--neutrals-1000) 100%)');
|
|
2657
2636
|
}
|
|
2658
|
-
;
|
|
2659
2637
|
}
|
|
2660
2638
|
//FUNCION QUE ACTUALIZA EL TOOLTIP CUANDO SE DESLIZA EL SLIDE
|
|
2661
2639
|
updateTooltip(value) {
|
|
@@ -2676,8 +2654,9 @@ class SRangeComponent {
|
|
|
2676
2654
|
//FIN FUNCIONES PARA TYPE RANGE
|
|
2677
2655
|
//FUNCIONES PARA QUE FUNCIONE FORM BUILDER
|
|
2678
2656
|
writeValue(value) {
|
|
2679
|
-
if (value) {
|
|
2680
|
-
|
|
2657
|
+
if (value !== null && value !== undefined) {
|
|
2658
|
+
const clampedValue = this.clampValue(value);
|
|
2659
|
+
this.value = clampedValue.toString();
|
|
2681
2660
|
this.rangeOnLoad();
|
|
2682
2661
|
}
|
|
2683
2662
|
}
|
|
@@ -2693,30 +2672,55 @@ class SRangeComponent {
|
|
|
2693
2672
|
onFocus(event) {
|
|
2694
2673
|
this.focus.next(event);
|
|
2695
2674
|
}
|
|
2696
|
-
|
|
2697
|
-
|
|
2675
|
+
onNumberInput(event) {
|
|
2676
|
+
const input = event.target;
|
|
2677
|
+
const clampedValue = this.clampValue(input.value);
|
|
2678
|
+
input.value = clampedValue.toString();
|
|
2679
|
+
this.value = input.value;
|
|
2680
|
+
this.updateTooltip(this.value);
|
|
2681
|
+
this.changeRange(this.value);
|
|
2682
|
+
this.onTextChange();
|
|
2683
|
+
}
|
|
2684
|
+
clampValue(value) {
|
|
2685
|
+
let num = Number(value);
|
|
2686
|
+
if (isNaN(num)) {
|
|
2687
|
+
return this.min;
|
|
2688
|
+
}
|
|
2689
|
+
if (this.max !== undefined && num > this.max) {
|
|
2690
|
+
return this.max;
|
|
2691
|
+
}
|
|
2692
|
+
if (num < this.min) {
|
|
2693
|
+
return this.min;
|
|
2694
|
+
}
|
|
2695
|
+
return num;
|
|
2696
|
+
}
|
|
2697
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SSliderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2698
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: SSliderComponent, selector: "s-slider", inputs: { value: "value", id: "id", label: "label", required: "required", helpText: "helpText", errorText: "errorText", disabled: "disabled", max: "max", min: "min", step: "step", readOnly: "readOnly", classAdd: "classAdd", size: "size", rangeUnity: "rangeUnity", showInput: "showInput" }, outputs: { valueChangeEvent: "valueChangeEvent", clickHelpIconEvent: "clickHelpIconEvent", blur: "blur", focus: "focus" }, providers: [
|
|
2698
2699
|
{
|
|
2699
2700
|
provide: NG_VALUE_ACCESSOR,
|
|
2700
|
-
useExisting: forwardRef(() =>
|
|
2701
|
+
useExisting: forwardRef(() => SSliderComponent),
|
|
2701
2702
|
multi: true
|
|
2702
2703
|
}
|
|
2703
|
-
], viewQueries: [{ propertyName: "tooltipContainer", first: true, predicate: ["tooltipContainer"], descendants: true }, { propertyName: "tooltip", first: true, predicate: ["tooltip"], descendants: true }], ngImport: i0, template: "<ng-container>\n <label *ngIf=\"label\" class=\"s-
|
|
2704
|
+
], viewQueries: [{ propertyName: "tooltipContainer", first: true, predicate: ["tooltipContainer"], descendants: true }, { propertyName: "tooltip", first: true, predicate: ["tooltip"], descendants: true }, { propertyName: "numberInput", first: true, predicate: ["numberInput"], descendants: true }], ngImport: i0, template: "<ng-container>\n <label *ngIf=\"label\" class=\"s-slider__label\">\n {{ label }}\n <span class=\"s-slider__required\" *ngIf=\"required\">*</span>\n </label>\n <div class=\"s-slider__row\" [ngClass]=\"{ 'with-input': showInput }\">\n <div class=\"s-slider__content {{ classAdd }}\" [ngClass]=\"{ 'disabled-active': disabled }\">\n <div class=\"tooltip tooltip-{{ disabled }}\" #tooltipContainer>\n <input #rangeField [id]=\"id\" type=\"range\" [min]=\"min\" [max]=\"max ?? null\" [step]=\"step\" autocomplete=\"off\"\n [disabled]=\"disabled\" [readOnly]=\"readOnly\" [(ngModel)]=\"value\" (blur)=\"onBlur($event)\"\n (focus)=\"onFocus($event)\" (ngModelChange)=\"onTextChange()\"\n (mousemove)=\"!readOnly && changeRange(rangeField.value)\"\n (input)=\"!readOnly && updateTooltip(rangeField.value)\" (mousedown)=\"preventInteraction($event)\" />\n <span class=\"tooltiptext\" #tooltip>{{ tooltipValue }}</span>\n </div>\n </div>\n <s-input *ngIf=\"showInput\" #numberInput type=\"number\" class=\"s-slider__number\" [disabled]=\"disabled\" [(ngModel)]=\"value\" (input)=\"onNumberInput($event)\"> </s-input>\n </div>\n <s-error-control *ngIf=\"errorText\" theme=\"red\">{{ errorText }}</s-error-control>\n <s-error-control *ngIf=\"helpText && !errorText\">\n <i class=\"s-slider__help-icon\">i</i>\n {{ helpText }}\n </s-error-control>\n</ng-container>", styles: [".s-slider__label{font-size:.875rem;color:var(--secondary-600)}.s-slider__required{color:var(--primary-600)}input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus,input:-webkit-autofill:active{-webkit-box-shadow:0 0 0 1.875rem var(--neutrals-1200) inset!important}.s-slider__content input{width:100%;height:2.25rem;margin:0;-webkit-appearance:none}.s-slider__help{display:flex;align-items:center;gap:.375rem;margin-top:.25rem;font-size:.75rem;color:var(--secondary-600)}.s-slider__help-icon{width:1rem;height:1rem;border-radius:50%;background:var(--secondary-600);color:var(--neutrals-1200);font-size:.625rem;display:flex;align-items:center;justify-content:center;font-weight:700}.s-slider__wrapper{display:flex;align-items:center;gap:.75rem}.s-slider__wrapper.with-input .s-slider__content{flex:1}.s-slider__number{width:3.5rem;height:2.25rem;text-align:center;border-radius:.25rem}.s-slider__help-icon{margin-right:.5rem}.s-slider__row.with-input{display:flex;align-items:center;gap:2rem}.s-slider__content{width:-webkit-fill-available}.s-slider__content input[type=range]::-webkit-slider-runnable-track{border-radius:.25rem;height:.5rem}.s-slider__content input[type=range]::-moz-slider-track{appearance:none;background-color:var(--neutrals-1000)!important;height:.5rem;border-radius:.25rem}.s-slider__content input[type=range]::-ms-track{appearance:none;background-color:var(--neutrals-1000)!important;height:.5rem;border-radius:.25rem}.s-slider__content input[type=range]::-moz-slider-progress{appearance:none;background-color:var(--primary-600)!important;height:.5rem;border-radius:.25rem}.s-slider__content input[type=range]::-ms-fill-upper{appearance:none;background-color:var(--primary-600)!important;height:.5rem;border-radius:.25rem}.s-slider__content input[type=range]::-webkit-slider-thumb{box-sizing:border-box;-webkit-appearance:none;border:unset;outline:unset;box-shadow:unset;width:1.5rem;height:1.5rem;border-radius:50%;border:.18rem solid var(--primary-600);background:var(--neutrals-1200);margin-top:-.5rem}.s-slider__content input[type=range]::-moz-slider-thumb{box-sizing:border-box;-webkit-appearance:none;border:unset;outline:unset;box-shadow:unset;width:1.5rem;height:1.5rem;border-radius:50%;border:.18rem solid var(--primary-600);background:var(--neutrals-1200)}.s-slider__content input[type=range]::-ms-thumb{box-sizing:border-box;-webkit-appearance:none;border:unset;outline:unset;box-shadow:unset;width:1.5rem;height:1.5rem;border-radius:50%;border:.18rem solid var(--primary-600);background:var(--neutrals-1200)}.s-slider__content input[type=range]::-webkit-slider-thumb:hover{border:.18rem solid var(--primary-600);background:var(--primary-200)}.s-slider__content input[type=range]::-moz-slider-thumb:hover{border:.18rem solid var(--primary-600);background:var(--primary-200)}.s-slider__content input[type=range]::-ms-thumb:hover{border:.18rem solid var(--primary-600);background:var(--primary-200)}.s-slider__content input[type=range]::-webkit-slider-thumb:active{border:.18rem solid var(--primary-600);background:var(--primary-600);box-shadow:0 .0625rem .125rem 0 var(--blue-alpha-100),0 0 0 .25rem var(--cyan-alpha-200)}.s-slider__content input[type=range]::-moz-slider-thumb:active{border:.18rem solid var(--primary-600);background:var(--primary-600);box-shadow:0 .0625rem .125rem 0 var(--blue-alpha-100),0 0 0 .25rem var(--cyan-alpha-200)}.s-slider__content input[type=range]::-ms-thumb:active{border:.18rem solid var(--primary-600);background:var(--primary-600);box-shadow:0 .0625rem .125rem 0 var(--blue-alpha-100),0 0 0 .25rem var(--cyan-alpha-200)}.s-slider__content input[type=range]:disabled{filter:grayscale(1);opacity:.3;cursor:not-allowed}.tooltip{position:relative;display:inline-block;cursor:pointer;width:100%}.tooltip .tooltiptext{visibility:hidden;width:2.5rem;background-color:var(--neutrals-1200);color:var(--secondary-600);font-weight:700;font-size:.75rem;text-align:center;border-radius:.25rem;padding:.31rem;position:absolute;z-index:1;bottom:100%;left:550%;transform:translate(-50%);box-shadow:var(--E200)}.tooltip-false:hover .tooltiptext{visibility:visible}.tooltip .tooltiptext:before{content:\"\";position:absolute!important;transform:rotate(45deg);height:.625rem;width:.625rem;bottom:-.31rem;background-color:var(--neutrals-1200);box-shadow:var(--E200);left:40%}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.RangeValueAccessor, selector: "input[type=range][formControlName],input[type=range][formControl],input[type=range][ngModel]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: SErrorControl, selector: "s-error-control", inputs: ["theme", "icon", "iconCustom", "size"] }, { kind: "component", type: SInputComponent, selector: "s-input", inputs: ["config"], outputs: ["clickHelpIconEvent", "blur", "focus"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
2704
2705
|
}
|
|
2705
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type:
|
|
2706
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SSliderComponent, decorators: [{
|
|
2706
2707
|
type: Component,
|
|
2707
|
-
args: [{ selector: 's-
|
|
2708
|
+
args: [{ selector: 's-slider', encapsulation: ViewEncapsulation.None, providers: [
|
|
2708
2709
|
{
|
|
2709
2710
|
provide: NG_VALUE_ACCESSOR,
|
|
2710
|
-
useExisting: forwardRef(() =>
|
|
2711
|
+
useExisting: forwardRef(() => SSliderComponent),
|
|
2711
2712
|
multi: true
|
|
2712
2713
|
}
|
|
2713
|
-
], template: "<ng-container>\n <label *ngIf=\"label\" class=\"s-
|
|
2714
|
+
], template: "<ng-container>\n <label *ngIf=\"label\" class=\"s-slider__label\">\n {{ label }}\n <span class=\"s-slider__required\" *ngIf=\"required\">*</span>\n </label>\n <div class=\"s-slider__row\" [ngClass]=\"{ 'with-input': showInput }\">\n <div class=\"s-slider__content {{ classAdd }}\" [ngClass]=\"{ 'disabled-active': disabled }\">\n <div class=\"tooltip tooltip-{{ disabled }}\" #tooltipContainer>\n <input #rangeField [id]=\"id\" type=\"range\" [min]=\"min\" [max]=\"max ?? null\" [step]=\"step\" autocomplete=\"off\"\n [disabled]=\"disabled\" [readOnly]=\"readOnly\" [(ngModel)]=\"value\" (blur)=\"onBlur($event)\"\n (focus)=\"onFocus($event)\" (ngModelChange)=\"onTextChange()\"\n (mousemove)=\"!readOnly && changeRange(rangeField.value)\"\n (input)=\"!readOnly && updateTooltip(rangeField.value)\" (mousedown)=\"preventInteraction($event)\" />\n <span class=\"tooltiptext\" #tooltip>{{ tooltipValue }}</span>\n </div>\n </div>\n <s-input *ngIf=\"showInput\" #numberInput type=\"number\" class=\"s-slider__number\" [disabled]=\"disabled\" [(ngModel)]=\"value\" (input)=\"onNumberInput($event)\"> </s-input>\n </div>\n <s-error-control *ngIf=\"errorText\" theme=\"red\">{{ errorText }}</s-error-control>\n <s-error-control *ngIf=\"helpText && !errorText\">\n <i class=\"s-slider__help-icon\">i</i>\n {{ helpText }}\n </s-error-control>\n</ng-container>", styles: [".s-slider__label{font-size:.875rem;color:var(--secondary-600)}.s-slider__required{color:var(--primary-600)}input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus,input:-webkit-autofill:active{-webkit-box-shadow:0 0 0 1.875rem var(--neutrals-1200) inset!important}.s-slider__content input{width:100%;height:2.25rem;margin:0;-webkit-appearance:none}.s-slider__help{display:flex;align-items:center;gap:.375rem;margin-top:.25rem;font-size:.75rem;color:var(--secondary-600)}.s-slider__help-icon{width:1rem;height:1rem;border-radius:50%;background:var(--secondary-600);color:var(--neutrals-1200);font-size:.625rem;display:flex;align-items:center;justify-content:center;font-weight:700}.s-slider__wrapper{display:flex;align-items:center;gap:.75rem}.s-slider__wrapper.with-input .s-slider__content{flex:1}.s-slider__number{width:3.5rem;height:2.25rem;text-align:center;border-radius:.25rem}.s-slider__help-icon{margin-right:.5rem}.s-slider__row.with-input{display:flex;align-items:center;gap:2rem}.s-slider__content{width:-webkit-fill-available}.s-slider__content input[type=range]::-webkit-slider-runnable-track{border-radius:.25rem;height:.5rem}.s-slider__content input[type=range]::-moz-slider-track{appearance:none;background-color:var(--neutrals-1000)!important;height:.5rem;border-radius:.25rem}.s-slider__content input[type=range]::-ms-track{appearance:none;background-color:var(--neutrals-1000)!important;height:.5rem;border-radius:.25rem}.s-slider__content input[type=range]::-moz-slider-progress{appearance:none;background-color:var(--primary-600)!important;height:.5rem;border-radius:.25rem}.s-slider__content input[type=range]::-ms-fill-upper{appearance:none;background-color:var(--primary-600)!important;height:.5rem;border-radius:.25rem}.s-slider__content input[type=range]::-webkit-slider-thumb{box-sizing:border-box;-webkit-appearance:none;border:unset;outline:unset;box-shadow:unset;width:1.5rem;height:1.5rem;border-radius:50%;border:.18rem solid var(--primary-600);background:var(--neutrals-1200);margin-top:-.5rem}.s-slider__content input[type=range]::-moz-slider-thumb{box-sizing:border-box;-webkit-appearance:none;border:unset;outline:unset;box-shadow:unset;width:1.5rem;height:1.5rem;border-radius:50%;border:.18rem solid var(--primary-600);background:var(--neutrals-1200)}.s-slider__content input[type=range]::-ms-thumb{box-sizing:border-box;-webkit-appearance:none;border:unset;outline:unset;box-shadow:unset;width:1.5rem;height:1.5rem;border-radius:50%;border:.18rem solid var(--primary-600);background:var(--neutrals-1200)}.s-slider__content input[type=range]::-webkit-slider-thumb:hover{border:.18rem solid var(--primary-600);background:var(--primary-200)}.s-slider__content input[type=range]::-moz-slider-thumb:hover{border:.18rem solid var(--primary-600);background:var(--primary-200)}.s-slider__content input[type=range]::-ms-thumb:hover{border:.18rem solid var(--primary-600);background:var(--primary-200)}.s-slider__content input[type=range]::-webkit-slider-thumb:active{border:.18rem solid var(--primary-600);background:var(--primary-600);box-shadow:0 .0625rem .125rem 0 var(--blue-alpha-100),0 0 0 .25rem var(--cyan-alpha-200)}.s-slider__content input[type=range]::-moz-slider-thumb:active{border:.18rem solid var(--primary-600);background:var(--primary-600);box-shadow:0 .0625rem .125rem 0 var(--blue-alpha-100),0 0 0 .25rem var(--cyan-alpha-200)}.s-slider__content input[type=range]::-ms-thumb:active{border:.18rem solid var(--primary-600);background:var(--primary-600);box-shadow:0 .0625rem .125rem 0 var(--blue-alpha-100),0 0 0 .25rem var(--cyan-alpha-200)}.s-slider__content input[type=range]:disabled{filter:grayscale(1);opacity:.3;cursor:not-allowed}.tooltip{position:relative;display:inline-block;cursor:pointer;width:100%}.tooltip .tooltiptext{visibility:hidden;width:2.5rem;background-color:var(--neutrals-1200);color:var(--secondary-600);font-weight:700;font-size:.75rem;text-align:center;border-radius:.25rem;padding:.31rem;position:absolute;z-index:1;bottom:100%;left:550%;transform:translate(-50%);box-shadow:var(--E200)}.tooltip-false:hover .tooltiptext{visibility:visible}.tooltip .tooltiptext:before{content:\"\";position:absolute!important;transform:rotate(45deg);height:.625rem;width:.625rem;bottom:-.31rem;background-color:var(--neutrals-1200);box-shadow:var(--E200);left:40%}\n"] }]
|
|
2714
2715
|
}], propDecorators: { tooltipContainer: [{
|
|
2715
2716
|
type: ViewChild,
|
|
2716
2717
|
args: ['tooltipContainer', { static: false }]
|
|
2717
2718
|
}], tooltip: [{
|
|
2718
2719
|
type: ViewChild,
|
|
2719
2720
|
args: ['tooltip', { static: false }]
|
|
2721
|
+
}], numberInput: [{
|
|
2722
|
+
type: ViewChild,
|
|
2723
|
+
args: ['numberInput', { static: false }]
|
|
2720
2724
|
}], value: [{
|
|
2721
2725
|
type: Input
|
|
2722
2726
|
}], id: [{
|
|
@@ -2745,6 +2749,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
2745
2749
|
type: Input
|
|
2746
2750
|
}], rangeUnity: [{
|
|
2747
2751
|
type: Input
|
|
2752
|
+
}], showInput: [{
|
|
2753
|
+
type: Input
|
|
2748
2754
|
}], valueChangeEvent: [{
|
|
2749
2755
|
type: Output
|
|
2750
2756
|
}], clickHelpIconEvent: [{
|
|
@@ -2805,7 +2811,7 @@ class SCalendarComponent extends ControlValueAccessorDirective {
|
|
|
2805
2811
|
useExisting: forwardRef(() => SCalendarComponent),
|
|
2806
2812
|
multi: true
|
|
2807
2813
|
}
|
|
2808
|
-
], usesInheritance: true, ngImport: i0, template: "<section class=\"s-calendar\">\n <label [for]=\"config.id\" *ngIf=\"config?.label\" class=\"s-calendar__label\">\n {{ config.label }}\n <span class=\"s-calendar__required\" *ngIf=\"config?.required\">*</span>\n </label>\n <div\n class=\"s-calendar__content {{ config.size }} theme-{{ config.theme }} {{\n config.classAdd\n }}\"\n [ngClass]=\"{\n 'disabled-active':\n config.disabled || (control && control.status === 'DISABLED'),\n 'theme-red':\n (control && control.invalid && (isFocused || control.touched)) ||\n (control && control.errors && control.touched) ||\n config.theme === 'red',\n }\">\n <div class=\"s-calendar__content--center\">\n <ng-container *ngIf=\"control; else notUseFormControl\">\n <input\n autocomplete=\"off\"\n [readOnly]=\"config.readOnly || config.disabled\"\n [id]=\"config.id\"\n [type]=\"'date'\"\n max=\"{{ config.max }}\"\n min=\"{{ config.min }}\"\n [formControl]=\"control\"\n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\" />\n </ng-container>\n <ng-template #notUseFormControl>\n <input\n autocomplete=\"off\"\n [readOnly]=\"config.readOnly || config.disabled\"\n [id]=\"config.id\"\n [type]=\"'date'\"\n max=\"{{ config.max }}\"\n min=\"{{ config.min }}\"\n [value]=\"value\"\n (input)=\"onInput($event)\"\n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\" />\n </ng-template>\n </div>\n <div\n *ngIf=\"config?.theme !== 'default' && config.theme !== undefined\"\n class=\"s-calendar__content--right\">\n <s-icon-mat [type]=\"getIconType()\" class=\"icon report\">{{\n ICON_THEME[config.theme]\n }}</s-icon-mat>\n </div>\n <div\n *ngIf=\"\n config?.theme === 'default' ||\n (config?.theme === undefined && config.showHelp)\n \"\n class=\"s-calendar__content--right\">\n <s-icon-mat (click)=\"clickHelp()\" class=\"icon cursor\"\n >help_outline</s-icon-mat\n >\n </div>\n </div>\n <s-validation-error\n *ngIf=\"\n !config.hideErrorText &&\n control &&\n control.invalid &&\n (isFocused || control.touched)\n \"\n [customErrorMessages]=\"config.errorMessages\"\n [errors]=\"control.errors\">\n </s-validation-error>\n <s-error-control\n *ngIf=\"!config.hideErrorText && config.errorText\"\n theme=\"red\"\n >{{ config.errorText }}</s-error-control\n >\n <s-error-control\n *ngIf=\"\n !config.hideErrorText &&\n !config.errorText &&\n ((control && control.errors?.['required'] && !control.touched) ||\n (control && !control.errors)) &&\n !(isFocused && control.invalid)\n \">\n {{ config.helpText || '' }}</s-error-control\n >\n</section>\n", styles: [".s-calendar{margin-bottom:.5rem}.s-calendar__label{font-size:.875rem;color:var(--secondary-600)}.s-calendar__required{color:var(--primary-600)}.s-calendar__content{display:flex;border:.063rem solid var(--primary-500);border-radius:.25rem;padding:0 .5rem;margin:.18rem 0;background-color:var(--neutrals-1200)}.s-calendar__content input{width:100%;border:0rem;color:var(--secondary-600);writing-mode:unset;height:2.25rem;font-size:inherit;background-color:var(--neutrals-1200)}.s-calendar__content input:focus,.s-calendar__content input:focus-visible{outline:none}.s-calendar__content .icon{width:1.25rem;cursor:default}.s-calendar__content .icon span{display:flex}.s-calendar__content--center{width:100%;background-color:var(--neutrals-1200)}.s-calendar__content--right{display:flex;align-items:center;justify-content:space-evenly;margin-left:.5rem;color:var(--secondary-600)}.s-calendar__content.theme-red{border:.063rem solid var(--red-500)}.s-calendar__content.theme-red .icon.report span{color:var(--red-600)}.s-calendar__content.theme-green{border:.063rem solid var(--green-500)}.s-calendar__content.theme-green .icon.report span{color:var(--green-600)}.s-calendar__content.theme-yellow{border:.063rem solid var(--yellow-500)}.s-calendar__content.theme-yellow .icon.report span{color:var(--yellow-600)}.s-calendar__content.disabled-active{background-color:var(--neutrals-1100);border-color:var(--neutrals-900);color:var(--neutrals-800)}.s-calendar__content.disabled-active input{background-color:var(--neutrals-1100);color:var(--neutrals-800)}.s-calendar__content.disabled-active .content-right s-icon-mat span{color:var(--neutrals-800)!important}.s-calendar__content.sm input{height:1.3rem;font-size:.75rem}.s-calendar__content.sm .icon{width:1.25rem;cursor:default}.s-calendar__content.sm .icon span{font-size:1.2rem;display:flex}.s-calendar__content:has(input:focus){border:.063rem solid var(--primary-600);box-shadow:0 0 0 .25rem var(--cyan-alpha-200),0 .063rem .25rem 0 var(--blue-alpha-100)}.s-calendar__content.theme-green:has(input:focus){border:.063rem solid var(--green-500);box-shadow:0 0 0 .25rem var(--green-alpha-200),0 .063rem .125rem 0 var(--blue-alpha-100)}.s-calendar__content.theme-yellow:has(input:focus){border:.063rem solid var(--yellow-500);box-shadow:0 0 0 .25rem var(--yellow-alpha-200),0 .063rem .125rem 0 var(--blue-alpha-100)}.s-calendar__content.theme-red:has(input:focus){border:.063rem solid var(--red-500);box-shadow:0 0 0 .25rem var(--red-alpha-200),0 .063rem .125rem 0 var(--blue-alpha-100)}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: SIconMaterialComponent, selector: "s-icon-mat", inputs: ["name", "size", "fill", "weight", "grade", "opticalSize", "style", "type"] }, { kind: "component", type: SErrorControl, selector: "s-error-control", inputs: ["theme", "icon", "iconCustom", "size"] }, { kind: "component", type: SValidationError, selector: "s-validation-error", inputs: ["errors", "customErrorMessages"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
2814
|
+
], usesInheritance: true, ngImport: i0, template: "<section class=\"s-calendar\">\n <label [for]=\"config.id\" *ngIf=\"config?.label\" class=\"s-calendar__label\">\n {{ config.label }}\n <span class=\"s-calendar__required\" *ngIf=\"config?.required\">*</span>\n </label>\n <div\n class=\"s-calendar__content {{ config.size }} theme-{{ config.theme }} {{\n config.classAdd\n }}\"\n [ngClass]=\"{\n 'disabled-active':\n config.disabled || (control && control.status === 'DISABLED'),\n 'readonly':\n config.readOnly,\n 'theme-red':\n (control && control.invalid && (isFocused || control.touched)) ||\n (control && control.errors && control.touched) ||\n config.theme === 'red',\n }\">\n <div class=\"s-calendar__content--center\">\n <ng-container *ngIf=\"control; else notUseFormControl\">\n <input\n autocomplete=\"off\"\n [readOnly]=\"config.readOnly || config.disabled\"\n [id]=\"config.id\"\n [type]=\"'date'\"\n max=\"{{ config.max }}\"\n min=\"{{ config.min }}\"\n [formControl]=\"control\"\n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\" />\n </ng-container>\n <ng-template #notUseFormControl>\n <input\n autocomplete=\"off\"\n [readOnly]=\"config.readOnly || config.disabled\"\n [id]=\"config.id\"\n [type]=\"'date'\"\n max=\"{{ config.max }}\"\n min=\"{{ config.min }}\"\n [value]=\"value\"\n (input)=\"onInput($event)\"\n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\" />\n </ng-template>\n </div>\n <div\n *ngIf=\"config?.theme !== 'default' && config.theme !== undefined\"\n class=\"s-calendar__content--right\">\n <s-icon-mat [type]=\"getIconType()\" class=\"icon report\">{{\n ICON_THEME[config.theme]\n }}</s-icon-mat>\n </div>\n <div\n *ngIf=\"\n config?.theme === 'default' ||\n (config?.theme === undefined && config.showHelp)\n \"\n class=\"s-calendar__content--right\">\n <s-icon-mat (click)=\"clickHelp()\" class=\"icon cursor\"\n >help_outline</s-icon-mat\n >\n </div>\n </div>\n <s-validation-error\n *ngIf=\"\n !config.hideErrorText &&\n control &&\n control.invalid &&\n (isFocused || control.touched)\n \"\n [customErrorMessages]=\"config.errorMessages\"\n [errors]=\"control.errors\">\n </s-validation-error>\n <s-error-control\n *ngIf=\"!config.hideErrorText && config.errorText\"\n theme=\"red\"\n >{{ config.errorText }}</s-error-control\n >\n <s-error-control\n *ngIf=\"\n !config.hideErrorText &&\n !config.errorText &&\n ((control && control.errors?.['required'] && !control.touched) ||\n (control && !control.errors)) &&\n !(isFocused && control.invalid)\n \">\n {{ config.helpText || '' }}</s-error-control\n >\n</section>\n", styles: [".s-calendar{margin-bottom:.5rem}.s-calendar__label{font-size:.875rem;color:var(--secondary-600)}.s-calendar__required{color:var(--primary-600)}.s-calendar__content{display:flex;border:.063rem solid var(--primary-500);border-radius:.25rem;padding:0 .5rem;margin:.18rem 0;background-color:var(--neutrals-1200)}.s-calendar__content input{width:100%;border:0rem;color:var(--secondary-600);writing-mode:unset;height:2.25rem;font-size:inherit;background-color:var(--neutrals-1200)}.s-calendar__content input:focus,.s-calendar__content input:focus-visible{outline:none}.s-calendar__content .icon{width:1.25rem;cursor:default}.s-calendar__content .icon span{display:flex}.s-calendar__content--center{width:100%;background-color:var(--neutrals-1200)}.s-calendar__content--right{display:flex;align-items:center;justify-content:space-evenly;margin-left:.5rem;color:var(--secondary-600)}.s-calendar__content.theme-red{border:.063rem solid var(--red-500)}.s-calendar__content.theme-red .icon.report span{color:var(--red-600)}.s-calendar__content.theme-green{border:.063rem solid var(--green-500)}.s-calendar__content.theme-green .icon.report span{color:var(--green-600)}.s-calendar__content.theme-yellow{border:.063rem solid var(--yellow-500)}.s-calendar__content.theme-yellow .icon.report span{color:var(--yellow-600)}.s-calendar__content.disabled-active{background-color:var(--neutrals-1100);border-color:var(--neutrals-900);color:var(--neutrals-800)}.s-calendar__content.disabled-active input{background-color:var(--neutrals-1100);color:var(--neutrals-800)}.s-calendar__content.disabled-active .content-right s-icon-mat span{color:var(--neutrals-800)!important}.s-calendar__content.readonly{background-color:var(--neutrals-1100)}.s-calendar__content.readonly input{background-color:var(--neutrals-1100);cursor:default}.s-calendar__content.sm input{height:1.3rem;font-size:.75rem}.s-calendar__content.sm .icon{width:1.25rem;cursor:default}.s-calendar__content.sm .icon span{font-size:1.2rem;display:flex}.s-calendar__content:has(input:focus){border:.063rem solid var(--primary-600);box-shadow:0 0 0 .25rem var(--cyan-alpha-200),0 .063rem .25rem 0 var(--blue-alpha-100)}.s-calendar__content.theme-green:has(input:focus){border:.063rem solid var(--green-500);box-shadow:0 0 0 .25rem var(--green-alpha-200),0 .063rem .125rem 0 var(--blue-alpha-100)}.s-calendar__content.theme-yellow:has(input:focus){border:.063rem solid var(--yellow-500);box-shadow:0 0 0 .25rem var(--yellow-alpha-200),0 .063rem .125rem 0 var(--blue-alpha-100)}.s-calendar__content.theme-red:has(input:focus){border:.063rem solid var(--red-500);box-shadow:0 0 0 .25rem var(--red-alpha-200),0 .063rem .125rem 0 var(--blue-alpha-100)}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: SIconMaterialComponent, selector: "s-icon-mat", inputs: ["name", "size", "fill", "weight", "grade", "opticalSize", "style", "type"] }, { kind: "component", type: SErrorControl, selector: "s-error-control", inputs: ["theme", "icon", "iconCustom", "size"] }, { kind: "component", type: SValidationError, selector: "s-validation-error", inputs: ["errors", "customErrorMessages"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
2809
2815
|
}
|
|
2810
2816
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SCalendarComponent, decorators: [{
|
|
2811
2817
|
type: Component,
|
|
@@ -2815,7 +2821,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
2815
2821
|
useExisting: forwardRef(() => SCalendarComponent),
|
|
2816
2822
|
multi: true
|
|
2817
2823
|
}
|
|
2818
|
-
], template: "<section class=\"s-calendar\">\n <label [for]=\"config.id\" *ngIf=\"config?.label\" class=\"s-calendar__label\">\n {{ config.label }}\n <span class=\"s-calendar__required\" *ngIf=\"config?.required\">*</span>\n </label>\n <div\n class=\"s-calendar__content {{ config.size }} theme-{{ config.theme }} {{\n config.classAdd\n }}\"\n [ngClass]=\"{\n 'disabled-active':\n config.disabled || (control && control.status === 'DISABLED'),\n 'theme-red':\n (control && control.invalid && (isFocused || control.touched)) ||\n (control && control.errors && control.touched) ||\n config.theme === 'red',\n }\">\n <div class=\"s-calendar__content--center\">\n <ng-container *ngIf=\"control; else notUseFormControl\">\n <input\n autocomplete=\"off\"\n [readOnly]=\"config.readOnly || config.disabled\"\n [id]=\"config.id\"\n [type]=\"'date'\"\n max=\"{{ config.max }}\"\n min=\"{{ config.min }}\"\n [formControl]=\"control\"\n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\" />\n </ng-container>\n <ng-template #notUseFormControl>\n <input\n autocomplete=\"off\"\n [readOnly]=\"config.readOnly || config.disabled\"\n [id]=\"config.id\"\n [type]=\"'date'\"\n max=\"{{ config.max }}\"\n min=\"{{ config.min }}\"\n [value]=\"value\"\n (input)=\"onInput($event)\"\n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\" />\n </ng-template>\n </div>\n <div\n *ngIf=\"config?.theme !== 'default' && config.theme !== undefined\"\n class=\"s-calendar__content--right\">\n <s-icon-mat [type]=\"getIconType()\" class=\"icon report\">{{\n ICON_THEME[config.theme]\n }}</s-icon-mat>\n </div>\n <div\n *ngIf=\"\n config?.theme === 'default' ||\n (config?.theme === undefined && config.showHelp)\n \"\n class=\"s-calendar__content--right\">\n <s-icon-mat (click)=\"clickHelp()\" class=\"icon cursor\"\n >help_outline</s-icon-mat\n >\n </div>\n </div>\n <s-validation-error\n *ngIf=\"\n !config.hideErrorText &&\n control &&\n control.invalid &&\n (isFocused || control.touched)\n \"\n [customErrorMessages]=\"config.errorMessages\"\n [errors]=\"control.errors\">\n </s-validation-error>\n <s-error-control\n *ngIf=\"!config.hideErrorText && config.errorText\"\n theme=\"red\"\n >{{ config.errorText }}</s-error-control\n >\n <s-error-control\n *ngIf=\"\n !config.hideErrorText &&\n !config.errorText &&\n ((control && control.errors?.['required'] && !control.touched) ||\n (control && !control.errors)) &&\n !(isFocused && control.invalid)\n \">\n {{ config.helpText || '' }}</s-error-control\n >\n</section>\n", styles: [".s-calendar{margin-bottom:.5rem}.s-calendar__label{font-size:.875rem;color:var(--secondary-600)}.s-calendar__required{color:var(--primary-600)}.s-calendar__content{display:flex;border:.063rem solid var(--primary-500);border-radius:.25rem;padding:0 .5rem;margin:.18rem 0;background-color:var(--neutrals-1200)}.s-calendar__content input{width:100%;border:0rem;color:var(--secondary-600);writing-mode:unset;height:2.25rem;font-size:inherit;background-color:var(--neutrals-1200)}.s-calendar__content input:focus,.s-calendar__content input:focus-visible{outline:none}.s-calendar__content .icon{width:1.25rem;cursor:default}.s-calendar__content .icon span{display:flex}.s-calendar__content--center{width:100%;background-color:var(--neutrals-1200)}.s-calendar__content--right{display:flex;align-items:center;justify-content:space-evenly;margin-left:.5rem;color:var(--secondary-600)}.s-calendar__content.theme-red{border:.063rem solid var(--red-500)}.s-calendar__content.theme-red .icon.report span{color:var(--red-600)}.s-calendar__content.theme-green{border:.063rem solid var(--green-500)}.s-calendar__content.theme-green .icon.report span{color:var(--green-600)}.s-calendar__content.theme-yellow{border:.063rem solid var(--yellow-500)}.s-calendar__content.theme-yellow .icon.report span{color:var(--yellow-600)}.s-calendar__content.disabled-active{background-color:var(--neutrals-1100);border-color:var(--neutrals-900);color:var(--neutrals-800)}.s-calendar__content.disabled-active input{background-color:var(--neutrals-1100);color:var(--neutrals-800)}.s-calendar__content.disabled-active .content-right s-icon-mat span{color:var(--neutrals-800)!important}.s-calendar__content.sm input{height:1.3rem;font-size:.75rem}.s-calendar__content.sm .icon{width:1.25rem;cursor:default}.s-calendar__content.sm .icon span{font-size:1.2rem;display:flex}.s-calendar__content:has(input:focus){border:.063rem solid var(--primary-600);box-shadow:0 0 0 .25rem var(--cyan-alpha-200),0 .063rem .25rem 0 var(--blue-alpha-100)}.s-calendar__content.theme-green:has(input:focus){border:.063rem solid var(--green-500);box-shadow:0 0 0 .25rem var(--green-alpha-200),0 .063rem .125rem 0 var(--blue-alpha-100)}.s-calendar__content.theme-yellow:has(input:focus){border:.063rem solid var(--yellow-500);box-shadow:0 0 0 .25rem var(--yellow-alpha-200),0 .063rem .125rem 0 var(--blue-alpha-100)}.s-calendar__content.theme-red:has(input:focus){border:.063rem solid var(--red-500);box-shadow:0 0 0 .25rem var(--red-alpha-200),0 .063rem .125rem 0 var(--blue-alpha-100)}\n"] }]
|
|
2824
|
+
], template: "<section class=\"s-calendar\">\n <label [for]=\"config.id\" *ngIf=\"config?.label\" class=\"s-calendar__label\">\n {{ config.label }}\n <span class=\"s-calendar__required\" *ngIf=\"config?.required\">*</span>\n </label>\n <div\n class=\"s-calendar__content {{ config.size }} theme-{{ config.theme }} {{\n config.classAdd\n }}\"\n [ngClass]=\"{\n 'disabled-active':\n config.disabled || (control && control.status === 'DISABLED'),\n 'readonly':\n config.readOnly,\n 'theme-red':\n (control && control.invalid && (isFocused || control.touched)) ||\n (control && control.errors && control.touched) ||\n config.theme === 'red',\n }\">\n <div class=\"s-calendar__content--center\">\n <ng-container *ngIf=\"control; else notUseFormControl\">\n <input\n autocomplete=\"off\"\n [readOnly]=\"config.readOnly || config.disabled\"\n [id]=\"config.id\"\n [type]=\"'date'\"\n max=\"{{ config.max }}\"\n min=\"{{ config.min }}\"\n [formControl]=\"control\"\n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\" />\n </ng-container>\n <ng-template #notUseFormControl>\n <input\n autocomplete=\"off\"\n [readOnly]=\"config.readOnly || config.disabled\"\n [id]=\"config.id\"\n [type]=\"'date'\"\n max=\"{{ config.max }}\"\n min=\"{{ config.min }}\"\n [value]=\"value\"\n (input)=\"onInput($event)\"\n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\" />\n </ng-template>\n </div>\n <div\n *ngIf=\"config?.theme !== 'default' && config.theme !== undefined\"\n class=\"s-calendar__content--right\">\n <s-icon-mat [type]=\"getIconType()\" class=\"icon report\">{{\n ICON_THEME[config.theme]\n }}</s-icon-mat>\n </div>\n <div\n *ngIf=\"\n config?.theme === 'default' ||\n (config?.theme === undefined && config.showHelp)\n \"\n class=\"s-calendar__content--right\">\n <s-icon-mat (click)=\"clickHelp()\" class=\"icon cursor\"\n >help_outline</s-icon-mat\n >\n </div>\n </div>\n <s-validation-error\n *ngIf=\"\n !config.hideErrorText &&\n control &&\n control.invalid &&\n (isFocused || control.touched)\n \"\n [customErrorMessages]=\"config.errorMessages\"\n [errors]=\"control.errors\">\n </s-validation-error>\n <s-error-control\n *ngIf=\"!config.hideErrorText && config.errorText\"\n theme=\"red\"\n >{{ config.errorText }}</s-error-control\n >\n <s-error-control\n *ngIf=\"\n !config.hideErrorText &&\n !config.errorText &&\n ((control && control.errors?.['required'] && !control.touched) ||\n (control && !control.errors)) &&\n !(isFocused && control.invalid)\n \">\n {{ config.helpText || '' }}</s-error-control\n >\n</section>\n", styles: [".s-calendar{margin-bottom:.5rem}.s-calendar__label{font-size:.875rem;color:var(--secondary-600)}.s-calendar__required{color:var(--primary-600)}.s-calendar__content{display:flex;border:.063rem solid var(--primary-500);border-radius:.25rem;padding:0 .5rem;margin:.18rem 0;background-color:var(--neutrals-1200)}.s-calendar__content input{width:100%;border:0rem;color:var(--secondary-600);writing-mode:unset;height:2.25rem;font-size:inherit;background-color:var(--neutrals-1200)}.s-calendar__content input:focus,.s-calendar__content input:focus-visible{outline:none}.s-calendar__content .icon{width:1.25rem;cursor:default}.s-calendar__content .icon span{display:flex}.s-calendar__content--center{width:100%;background-color:var(--neutrals-1200)}.s-calendar__content--right{display:flex;align-items:center;justify-content:space-evenly;margin-left:.5rem;color:var(--secondary-600)}.s-calendar__content.theme-red{border:.063rem solid var(--red-500)}.s-calendar__content.theme-red .icon.report span{color:var(--red-600)}.s-calendar__content.theme-green{border:.063rem solid var(--green-500)}.s-calendar__content.theme-green .icon.report span{color:var(--green-600)}.s-calendar__content.theme-yellow{border:.063rem solid var(--yellow-500)}.s-calendar__content.theme-yellow .icon.report span{color:var(--yellow-600)}.s-calendar__content.disabled-active{background-color:var(--neutrals-1100);border-color:var(--neutrals-900);color:var(--neutrals-800)}.s-calendar__content.disabled-active input{background-color:var(--neutrals-1100);color:var(--neutrals-800)}.s-calendar__content.disabled-active .content-right s-icon-mat span{color:var(--neutrals-800)!important}.s-calendar__content.readonly{background-color:var(--neutrals-1100)}.s-calendar__content.readonly input{background-color:var(--neutrals-1100);cursor:default}.s-calendar__content.sm input{height:1.3rem;font-size:.75rem}.s-calendar__content.sm .icon{width:1.25rem;cursor:default}.s-calendar__content.sm .icon span{font-size:1.2rem;display:flex}.s-calendar__content:has(input:focus){border:.063rem solid var(--primary-600);box-shadow:0 0 0 .25rem var(--cyan-alpha-200),0 .063rem .25rem 0 var(--blue-alpha-100)}.s-calendar__content.theme-green:has(input:focus){border:.063rem solid var(--green-500);box-shadow:0 0 0 .25rem var(--green-alpha-200),0 .063rem .125rem 0 var(--blue-alpha-100)}.s-calendar__content.theme-yellow:has(input:focus){border:.063rem solid var(--yellow-500);box-shadow:0 0 0 .25rem var(--yellow-alpha-200),0 .063rem .125rem 0 var(--blue-alpha-100)}.s-calendar__content.theme-red:has(input:focus){border:.063rem solid var(--red-500);box-shadow:0 0 0 .25rem var(--red-alpha-200),0 .063rem .125rem 0 var(--blue-alpha-100)}\n"] }]
|
|
2819
2825
|
}], propDecorators: { config: [{
|
|
2820
2826
|
type: Input
|
|
2821
2827
|
}], clickHelpIconEvent: [{
|
|
@@ -2876,7 +2882,7 @@ class STimeComponent extends ControlValueAccessorDirective {
|
|
|
2876
2882
|
useExisting: forwardRef(() => STimeComponent),
|
|
2877
2883
|
multi: true
|
|
2878
2884
|
}
|
|
2879
|
-
], usesInheritance: true, ngImport: i0, template: "<section class=\"s-time\">\n <label [for]=\"config.id\" *ngIf=\"config?.label\" class=\"s-time__label\">\n {{ config.label }}\n <span class=\"s-time__required\" *ngIf=\"config?.required\">*</span>\n </label>\n <div\n class=\"s-time__content {{ config.size }} theme-{{ config.theme }} {{\n config.classAdd\n }}\"\n [ngClass]=\"{\n 'disabled-active':\n config.disabled || (control && control.status === 'DISABLED'),\n 'theme-red':\n (control && control.invalid && (isFocused || control.touched)) ||\n (control && control.errors && control.touched) ||\n config.theme === 'red',\n }\">\n <div class=\"content-center\">\n <ng-container *ngIf=\"control; else notUseFormControl\">\n <input\n autocomplete=\"off\"\n [readOnly]=\"config.readOnly || config.disabled\"\n [id]=\"config.id\"\n [type]=\"'time'\"\n max=\"{{ config.max }}\"\n min=\"{{ config.min }}\"\n [formControl]=\"control\"\n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\" />\n </ng-container>\n <ng-template #notUseFormControl>\n <input\n autocomplete=\"off\"\n [readOnly]=\"config.readOnly || config.disabled\"\n [id]=\"config.id\"\n [type]=\"'time'\"\n max=\"{{ config.max }}\"\n min=\"{{ config.min }}\"\n [value]=\"value\"\n (input)=\"onInput($event)\"\n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\" />\n </ng-template>\n </div>\n <div\n *ngIf=\"config?.theme !== 'default' && config.theme !== undefined\"\n class=\"content-right\">\n <s-icon-mat [type]=\"getIconType()\" class=\"icon report\">{{\n ICON_THEME[config.theme]\n }}</s-icon-mat>\n </div>\n <div\n *ngIf=\"\n config?.theme === 'default' ||\n (config?.theme === undefined && config.showHelp)\n \"\n class=\"content-right\">\n <s-icon-mat (click)=\"clickHelp()\" class=\"icon cursor\"\n >help_outline</s-icon-mat\n >\n </div>\n </div>\n <s-validation-error\n *ngIf=\"\n !config.hideErrorText &&\n control &&\n control.invalid &&\n (isFocused || control.touched)\n \"\n [customErrorMessages]=\"config.errorMessages\"\n [errors]=\"control.errors\">\n </s-validation-error>\n <s-error-control\n *ngIf=\"!config.hideErrorText && config.errorText\"\n theme=\"red\"\n >{{ config.errorText }}</s-error-control\n >\n <s-error-control\n *ngIf=\"\n !config.hideErrorText &&\n !config.errorText &&\n ((control && control.errors?.['required'] && !control.touched) ||\n (control && !control.errors)) &&\n !(isFocused && control.invalid)\n \">\n {{ config.helpText || '' }}\n </s-error-control>\n</section>\n", styles: [".s-time{margin-bottom:.5rem}.s-time__label{font-size:.875rem;color:var(--secondary-600)}.s-time__required{color:var(--primary-600)}.s-time__content{display:flex;border:.063rem solid var(--primary-500);border-radius:.25rem;padding:0 .5rem;margin:.18rem 0;background-color:var(--neutrals-1200)}.s-time__content input{width:100%;border:0rem;color:var(--secondary-600);writing-mode:unset;height:2.25rem;font-size:inherit;background-color:var(--neutrals-1200)}.s-time__content input:focus,.s-time__content input:focus-visible{outline:none}.s-time__content input:-webkit-autofill,.s-time__content input:-webkit-autofill:hover,.s-time__content input:-webkit-autofill:focus,.s-time__content input:-webkit-autofill:active{-webkit-box-shadow:0 0 0 1.875rem var(--neutrals-1200) inset!important}.s-time__content .icon{width:1.25rem;cursor:default}.s-time__content .icon span{display:flex}.s-time__content .content-center{width:100%;background-color:var(--neutrals-1200)}.s-time__content .content-left{display:flex;align-items:center;justify-content:space-evenly;margin-right:.5rem;color:var(--primary-600)}.s-time__content .content-right{display:flex;align-items:center;justify-content:space-evenly;margin-left:.5rem;color:var(--secondary-600)}.s-time__content.disabled-active{background-color:var(--neutrals-1100);border-color:var(--neutrals-900);color:var(--neutrals-800)}.s-time__content.disabled-active input{background-color:var(--neutrals-1100);color:var(--neutrals-800)}.s-time__content.disabled-active .content-left{color:var(--neutrals-800)!important}.s-time__content.disabled-active .content-right s-icon-mat span{color:var(--neutrals-800)!important}.s-time__content.theme-red{border:.063rem solid var(--red-500)}.s-time__content.theme-red .icon.report span{color:var(--red-600)}.s-time__content.theme-green{border:.063rem solid var(--green-500)}.s-time__content.theme-green .icon.report span{color:var(--green-600)}.s-time__content.theme-yellow{border:.063rem solid var(--yellow-500)}.s-time__content.theme-yellow .icon.report span{color:var(--yellow-600)}.s-time__content.sm input{height:1.3rem;font-size:.75rem}.s-time__content.sm .icon{width:1.25rem;cursor:default}.s-time__content.sm .icon span{font-size:1.2em;display:flex}.s-time__content:has(input:focus){border:.063rem solid var(--primary-600);box-shadow:0 0 0 .25rem var(--cyan-alpha-200),0 .0625rem .125rem 0 var(--blue-alpha-100)}.s-time__content.theme-green:has(input:focus){border:.063rem solid var(--green-500);box-shadow:0 0 0 .25rem var(--green-alpha-200),0 .0625rem .125rem 0 var(--blue-alpha-100)}.s-time__content.theme-yellow:has(input:focus){border:.063rem solid var(--yellow-500);box-shadow:0 0 0 .25rem var(--yellow-alpha-200),0 .0625rem .125rem 0 var(--blue-alpha-100)}.s-time__content.theme-red:has(input:focus){border:.063rem solid var(--red-500);box-shadow:0 0 0 .25rem var(--red-alpha-200),0 .0625rem .125rem 0 var(--blue-alpha-100)}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: SIconMaterialComponent, selector: "s-icon-mat", inputs: ["name", "size", "fill", "weight", "grade", "opticalSize", "style", "type"] }, { kind: "component", type: SErrorControl, selector: "s-error-control", inputs: ["theme", "icon", "iconCustom", "size"] }, { kind: "component", type: SValidationError, selector: "s-validation-error", inputs: ["errors", "customErrorMessages"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
2885
|
+
], usesInheritance: true, ngImport: i0, template: "<section class=\"s-time\">\n <label [for]=\"config.id\" *ngIf=\"config?.label\" class=\"s-time__label\">\n {{ config.label }}\n <span class=\"s-time__required\" *ngIf=\"config?.required\">*</span>\n </label>\n <div\n class=\"s-time__content {{ config.size }} theme-{{ config.theme }} {{\n config.classAdd\n }}\"\n [ngClass]=\"{\n 'disabled-active':\n config.disabled || (control && control.status === 'DISABLED'),\n 'readonly':\n config.readOnly,\n 'theme-red':\n (control && control.invalid && (isFocused || control.touched)) ||\n (control && control.errors && control.touched) ||\n config.theme === 'red',\n }\">\n <div class=\"content-center\">\n <ng-container *ngIf=\"control; else notUseFormControl\">\n <input\n autocomplete=\"off\"\n [readOnly]=\"config.readOnly || config.disabled\"\n [id]=\"config.id\"\n [type]=\"'time'\"\n max=\"{{ config.max }}\"\n min=\"{{ config.min }}\"\n [formControl]=\"control\"\n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\" />\n </ng-container>\n <ng-template #notUseFormControl>\n <input\n autocomplete=\"off\"\n [readOnly]=\"config.readOnly || config.disabled\"\n [id]=\"config.id\"\n [type]=\"'time'\"\n max=\"{{ config.max }}\"\n min=\"{{ config.min }}\"\n [value]=\"value\"\n (input)=\"onInput($event)\"\n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\" />\n </ng-template>\n </div>\n <div\n *ngIf=\"config?.theme !== 'default' && config.theme !== undefined\"\n class=\"content-right\">\n <s-icon-mat [type]=\"getIconType()\" class=\"icon report\">{{\n ICON_THEME[config.theme]\n }}</s-icon-mat>\n </div>\n <div\n *ngIf=\"\n config?.theme === 'default' ||\n (config?.theme === undefined && config.showHelp)\n \"\n class=\"content-right\">\n <s-icon-mat (click)=\"clickHelp()\" class=\"icon cursor\"\n >help_outline</s-icon-mat\n >\n </div>\n </div>\n <s-validation-error\n *ngIf=\"\n !config.hideErrorText &&\n control &&\n control.invalid &&\n (isFocused || control.touched)\n \"\n [customErrorMessages]=\"config.errorMessages\"\n [errors]=\"control.errors\">\n </s-validation-error>\n <s-error-control\n *ngIf=\"!config.hideErrorText && config.errorText\"\n theme=\"red\"\n >{{ config.errorText }}</s-error-control\n >\n <s-error-control\n *ngIf=\"\n !config.hideErrorText &&\n !config.errorText &&\n ((control && control.errors?.['required'] && !control.touched) ||\n (control && !control.errors)) &&\n !(isFocused && control.invalid)\n \">\n {{ config.helpText || '' }}\n </s-error-control>\n</section>\n", styles: [".s-time{margin-bottom:.5rem}.s-time__label{font-size:.875rem;color:var(--secondary-600)}.s-time__required{color:var(--primary-600)}.s-time__content{display:flex;border:.063rem solid var(--primary-500);border-radius:.25rem;padding:0 .5rem;margin:.18rem 0;background-color:var(--neutrals-1200)}.s-time__content input{width:100%;border:0rem;color:var(--secondary-600);writing-mode:unset;height:2.25rem;font-size:inherit;background-color:var(--neutrals-1200)}.s-time__content input:focus,.s-time__content input:focus-visible{outline:none}.s-time__content input:-webkit-autofill,.s-time__content input:-webkit-autofill:hover,.s-time__content input:-webkit-autofill:focus,.s-time__content input:-webkit-autofill:active{-webkit-box-shadow:0 0 0 1.875rem var(--neutrals-1200) inset!important}.s-time__content .icon{width:1.25rem;cursor:default}.s-time__content .icon span{display:flex}.s-time__content .content-center{width:100%;background-color:var(--neutrals-1200)}.s-time__content .content-left{display:flex;align-items:center;justify-content:space-evenly;margin-right:.5rem;color:var(--primary-600)}.s-time__content .content-right{display:flex;align-items:center;justify-content:space-evenly;margin-left:.5rem;color:var(--secondary-600)}.s-time__content.disabled-active{background-color:var(--neutrals-1100);border-color:var(--neutrals-900);color:var(--neutrals-800)}.s-time__content.disabled-active input{background-color:var(--neutrals-1100);color:var(--neutrals-800)}.s-time__content.disabled-active .content-left{color:var(--neutrals-800)!important}.s-time__content.disabled-active .content-right s-icon-mat span{color:var(--neutrals-800)!important}.s-time__content.readonly{background-color:var(--neutrals-1100)}.s-time__content.readonly input{background-color:var(--neutrals-1100);cursor:default}.s-time__content.theme-red{border:.063rem solid var(--red-500)}.s-time__content.theme-red .icon.report span{color:var(--red-600)}.s-time__content.theme-green{border:.063rem solid var(--green-500)}.s-time__content.theme-green .icon.report span{color:var(--green-600)}.s-time__content.theme-yellow{border:.063rem solid var(--yellow-500)}.s-time__content.theme-yellow .icon.report span{color:var(--yellow-600)}.s-time__content.sm input{height:1.3rem;font-size:.75rem}.s-time__content.sm .icon{width:1.25rem;cursor:default}.s-time__content.sm .icon span{font-size:1.2em;display:flex}.s-time__content:has(input:focus){border:.063rem solid var(--primary-600);box-shadow:0 0 0 .25rem var(--cyan-alpha-200),0 .0625rem .125rem 0 var(--blue-alpha-100)}.s-time__content.theme-green:has(input:focus){border:.063rem solid var(--green-500);box-shadow:0 0 0 .25rem var(--green-alpha-200),0 .0625rem .125rem 0 var(--blue-alpha-100)}.s-time__content.theme-yellow:has(input:focus){border:.063rem solid var(--yellow-500);box-shadow:0 0 0 .25rem var(--yellow-alpha-200),0 .0625rem .125rem 0 var(--blue-alpha-100)}.s-time__content.theme-red:has(input:focus){border:.063rem solid var(--red-500);box-shadow:0 0 0 .25rem var(--red-alpha-200),0 .0625rem .125rem 0 var(--blue-alpha-100)}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: SIconMaterialComponent, selector: "s-icon-mat", inputs: ["name", "size", "fill", "weight", "grade", "opticalSize", "style", "type"] }, { kind: "component", type: SErrorControl, selector: "s-error-control", inputs: ["theme", "icon", "iconCustom", "size"] }, { kind: "component", type: SValidationError, selector: "s-validation-error", inputs: ["errors", "customErrorMessages"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
2880
2886
|
}
|
|
2881
2887
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: STimeComponent, decorators: [{
|
|
2882
2888
|
type: Component,
|
|
@@ -2886,7 +2892,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
2886
2892
|
useExisting: forwardRef(() => STimeComponent),
|
|
2887
2893
|
multi: true
|
|
2888
2894
|
}
|
|
2889
|
-
], template: "<section class=\"s-time\">\n <label [for]=\"config.id\" *ngIf=\"config?.label\" class=\"s-time__label\">\n {{ config.label }}\n <span class=\"s-time__required\" *ngIf=\"config?.required\">*</span>\n </label>\n <div\n class=\"s-time__content {{ config.size }} theme-{{ config.theme }} {{\n config.classAdd\n }}\"\n [ngClass]=\"{\n 'disabled-active':\n config.disabled || (control && control.status === 'DISABLED'),\n 'theme-red':\n (control && control.invalid && (isFocused || control.touched)) ||\n (control && control.errors && control.touched) ||\n config.theme === 'red',\n }\">\n <div class=\"content-center\">\n <ng-container *ngIf=\"control; else notUseFormControl\">\n <input\n autocomplete=\"off\"\n [readOnly]=\"config.readOnly || config.disabled\"\n [id]=\"config.id\"\n [type]=\"'time'\"\n max=\"{{ config.max }}\"\n min=\"{{ config.min }}\"\n [formControl]=\"control\"\n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\" />\n </ng-container>\n <ng-template #notUseFormControl>\n <input\n autocomplete=\"off\"\n [readOnly]=\"config.readOnly || config.disabled\"\n [id]=\"config.id\"\n [type]=\"'time'\"\n max=\"{{ config.max }}\"\n min=\"{{ config.min }}\"\n [value]=\"value\"\n (input)=\"onInput($event)\"\n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\" />\n </ng-template>\n </div>\n <div\n *ngIf=\"config?.theme !== 'default' && config.theme !== undefined\"\n class=\"content-right\">\n <s-icon-mat [type]=\"getIconType()\" class=\"icon report\">{{\n ICON_THEME[config.theme]\n }}</s-icon-mat>\n </div>\n <div\n *ngIf=\"\n config?.theme === 'default' ||\n (config?.theme === undefined && config.showHelp)\n \"\n class=\"content-right\">\n <s-icon-mat (click)=\"clickHelp()\" class=\"icon cursor\"\n >help_outline</s-icon-mat\n >\n </div>\n </div>\n <s-validation-error\n *ngIf=\"\n !config.hideErrorText &&\n control &&\n control.invalid &&\n (isFocused || control.touched)\n \"\n [customErrorMessages]=\"config.errorMessages\"\n [errors]=\"control.errors\">\n </s-validation-error>\n <s-error-control\n *ngIf=\"!config.hideErrorText && config.errorText\"\n theme=\"red\"\n >{{ config.errorText }}</s-error-control\n >\n <s-error-control\n *ngIf=\"\n !config.hideErrorText &&\n !config.errorText &&\n ((control && control.errors?.['required'] && !control.touched) ||\n (control && !control.errors)) &&\n !(isFocused && control.invalid)\n \">\n {{ config.helpText || '' }}\n </s-error-control>\n</section>\n", styles: [".s-time{margin-bottom:.5rem}.s-time__label{font-size:.875rem;color:var(--secondary-600)}.s-time__required{color:var(--primary-600)}.s-time__content{display:flex;border:.063rem solid var(--primary-500);border-radius:.25rem;padding:0 .5rem;margin:.18rem 0;background-color:var(--neutrals-1200)}.s-time__content input{width:100%;border:0rem;color:var(--secondary-600);writing-mode:unset;height:2.25rem;font-size:inherit;background-color:var(--neutrals-1200)}.s-time__content input:focus,.s-time__content input:focus-visible{outline:none}.s-time__content input:-webkit-autofill,.s-time__content input:-webkit-autofill:hover,.s-time__content input:-webkit-autofill:focus,.s-time__content input:-webkit-autofill:active{-webkit-box-shadow:0 0 0 1.875rem var(--neutrals-1200) inset!important}.s-time__content .icon{width:1.25rem;cursor:default}.s-time__content .icon span{display:flex}.s-time__content .content-center{width:100%;background-color:var(--neutrals-1200)}.s-time__content .content-left{display:flex;align-items:center;justify-content:space-evenly;margin-right:.5rem;color:var(--primary-600)}.s-time__content .content-right{display:flex;align-items:center;justify-content:space-evenly;margin-left:.5rem;color:var(--secondary-600)}.s-time__content.disabled-active{background-color:var(--neutrals-1100);border-color:var(--neutrals-900);color:var(--neutrals-800)}.s-time__content.disabled-active input{background-color:var(--neutrals-1100);color:var(--neutrals-800)}.s-time__content.disabled-active .content-left{color:var(--neutrals-800)!important}.s-time__content.disabled-active .content-right s-icon-mat span{color:var(--neutrals-800)!important}.s-time__content.theme-red{border:.063rem solid var(--red-500)}.s-time__content.theme-red .icon.report span{color:var(--red-600)}.s-time__content.theme-green{border:.063rem solid var(--green-500)}.s-time__content.theme-green .icon.report span{color:var(--green-600)}.s-time__content.theme-yellow{border:.063rem solid var(--yellow-500)}.s-time__content.theme-yellow .icon.report span{color:var(--yellow-600)}.s-time__content.sm input{height:1.3rem;font-size:.75rem}.s-time__content.sm .icon{width:1.25rem;cursor:default}.s-time__content.sm .icon span{font-size:1.2em;display:flex}.s-time__content:has(input:focus){border:.063rem solid var(--primary-600);box-shadow:0 0 0 .25rem var(--cyan-alpha-200),0 .0625rem .125rem 0 var(--blue-alpha-100)}.s-time__content.theme-green:has(input:focus){border:.063rem solid var(--green-500);box-shadow:0 0 0 .25rem var(--green-alpha-200),0 .0625rem .125rem 0 var(--blue-alpha-100)}.s-time__content.theme-yellow:has(input:focus){border:.063rem solid var(--yellow-500);box-shadow:0 0 0 .25rem var(--yellow-alpha-200),0 .0625rem .125rem 0 var(--blue-alpha-100)}.s-time__content.theme-red:has(input:focus){border:.063rem solid var(--red-500);box-shadow:0 0 0 .25rem var(--red-alpha-200),0 .0625rem .125rem 0 var(--blue-alpha-100)}\n"] }]
|
|
2895
|
+
], template: "<section class=\"s-time\">\n <label [for]=\"config.id\" *ngIf=\"config?.label\" class=\"s-time__label\">\n {{ config.label }}\n <span class=\"s-time__required\" *ngIf=\"config?.required\">*</span>\n </label>\n <div\n class=\"s-time__content {{ config.size }} theme-{{ config.theme }} {{\n config.classAdd\n }}\"\n [ngClass]=\"{\n 'disabled-active':\n config.disabled || (control && control.status === 'DISABLED'),\n 'readonly':\n config.readOnly,\n 'theme-red':\n (control && control.invalid && (isFocused || control.touched)) ||\n (control && control.errors && control.touched) ||\n config.theme === 'red',\n }\">\n <div class=\"content-center\">\n <ng-container *ngIf=\"control; else notUseFormControl\">\n <input\n autocomplete=\"off\"\n [readOnly]=\"config.readOnly || config.disabled\"\n [id]=\"config.id\"\n [type]=\"'time'\"\n max=\"{{ config.max }}\"\n min=\"{{ config.min }}\"\n [formControl]=\"control\"\n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\" />\n </ng-container>\n <ng-template #notUseFormControl>\n <input\n autocomplete=\"off\"\n [readOnly]=\"config.readOnly || config.disabled\"\n [id]=\"config.id\"\n [type]=\"'time'\"\n max=\"{{ config.max }}\"\n min=\"{{ config.min }}\"\n [value]=\"value\"\n (input)=\"onInput($event)\"\n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\" />\n </ng-template>\n </div>\n <div\n *ngIf=\"config?.theme !== 'default' && config.theme !== undefined\"\n class=\"content-right\">\n <s-icon-mat [type]=\"getIconType()\" class=\"icon report\">{{\n ICON_THEME[config.theme]\n }}</s-icon-mat>\n </div>\n <div\n *ngIf=\"\n config?.theme === 'default' ||\n (config?.theme === undefined && config.showHelp)\n \"\n class=\"content-right\">\n <s-icon-mat (click)=\"clickHelp()\" class=\"icon cursor\"\n >help_outline</s-icon-mat\n >\n </div>\n </div>\n <s-validation-error\n *ngIf=\"\n !config.hideErrorText &&\n control &&\n control.invalid &&\n (isFocused || control.touched)\n \"\n [customErrorMessages]=\"config.errorMessages\"\n [errors]=\"control.errors\">\n </s-validation-error>\n <s-error-control\n *ngIf=\"!config.hideErrorText && config.errorText\"\n theme=\"red\"\n >{{ config.errorText }}</s-error-control\n >\n <s-error-control\n *ngIf=\"\n !config.hideErrorText &&\n !config.errorText &&\n ((control && control.errors?.['required'] && !control.touched) ||\n (control && !control.errors)) &&\n !(isFocused && control.invalid)\n \">\n {{ config.helpText || '' }}\n </s-error-control>\n</section>\n", styles: [".s-time{margin-bottom:.5rem}.s-time__label{font-size:.875rem;color:var(--secondary-600)}.s-time__required{color:var(--primary-600)}.s-time__content{display:flex;border:.063rem solid var(--primary-500);border-radius:.25rem;padding:0 .5rem;margin:.18rem 0;background-color:var(--neutrals-1200)}.s-time__content input{width:100%;border:0rem;color:var(--secondary-600);writing-mode:unset;height:2.25rem;font-size:inherit;background-color:var(--neutrals-1200)}.s-time__content input:focus,.s-time__content input:focus-visible{outline:none}.s-time__content input:-webkit-autofill,.s-time__content input:-webkit-autofill:hover,.s-time__content input:-webkit-autofill:focus,.s-time__content input:-webkit-autofill:active{-webkit-box-shadow:0 0 0 1.875rem var(--neutrals-1200) inset!important}.s-time__content .icon{width:1.25rem;cursor:default}.s-time__content .icon span{display:flex}.s-time__content .content-center{width:100%;background-color:var(--neutrals-1200)}.s-time__content .content-left{display:flex;align-items:center;justify-content:space-evenly;margin-right:.5rem;color:var(--primary-600)}.s-time__content .content-right{display:flex;align-items:center;justify-content:space-evenly;margin-left:.5rem;color:var(--secondary-600)}.s-time__content.disabled-active{background-color:var(--neutrals-1100);border-color:var(--neutrals-900);color:var(--neutrals-800)}.s-time__content.disabled-active input{background-color:var(--neutrals-1100);color:var(--neutrals-800)}.s-time__content.disabled-active .content-left{color:var(--neutrals-800)!important}.s-time__content.disabled-active .content-right s-icon-mat span{color:var(--neutrals-800)!important}.s-time__content.readonly{background-color:var(--neutrals-1100)}.s-time__content.readonly input{background-color:var(--neutrals-1100);cursor:default}.s-time__content.theme-red{border:.063rem solid var(--red-500)}.s-time__content.theme-red .icon.report span{color:var(--red-600)}.s-time__content.theme-green{border:.063rem solid var(--green-500)}.s-time__content.theme-green .icon.report span{color:var(--green-600)}.s-time__content.theme-yellow{border:.063rem solid var(--yellow-500)}.s-time__content.theme-yellow .icon.report span{color:var(--yellow-600)}.s-time__content.sm input{height:1.3rem;font-size:.75rem}.s-time__content.sm .icon{width:1.25rem;cursor:default}.s-time__content.sm .icon span{font-size:1.2em;display:flex}.s-time__content:has(input:focus){border:.063rem solid var(--primary-600);box-shadow:0 0 0 .25rem var(--cyan-alpha-200),0 .0625rem .125rem 0 var(--blue-alpha-100)}.s-time__content.theme-green:has(input:focus){border:.063rem solid var(--green-500);box-shadow:0 0 0 .25rem var(--green-alpha-200),0 .0625rem .125rem 0 var(--blue-alpha-100)}.s-time__content.theme-yellow:has(input:focus){border:.063rem solid var(--yellow-500);box-shadow:0 0 0 .25rem var(--yellow-alpha-200),0 .0625rem .125rem 0 var(--blue-alpha-100)}.s-time__content.theme-red:has(input:focus){border:.063rem solid var(--red-500);box-shadow:0 0 0 .25rem var(--red-alpha-200),0 .0625rem .125rem 0 var(--blue-alpha-100)}\n"] }]
|
|
2890
2896
|
}], propDecorators: { config: [{
|
|
2891
2897
|
type: Input
|
|
2892
2898
|
}], clickHelpIconEvent: [{
|
|
@@ -2909,6 +2915,7 @@ class SColorComponent {
|
|
|
2909
2915
|
this.classAdd = '';
|
|
2910
2916
|
this.help = false;
|
|
2911
2917
|
this.size = 'md';
|
|
2918
|
+
this.disabled = false;
|
|
2912
2919
|
this.visibility = false;
|
|
2913
2920
|
this.inconSymbol = false;
|
|
2914
2921
|
this.ICON_THEME = ICON_THEME;
|
|
@@ -2955,13 +2962,13 @@ class SColorComponent {
|
|
|
2955
2962
|
this.focus.next(event);
|
|
2956
2963
|
}
|
|
2957
2964
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SColorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2958
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: SColorComponent, selector: "s-color", inputs: { value: "value", id: "id", name: "name", label: "label", placeHolder: "placeHolder", required: "required", helpText: "helpText", errorText: "errorText", hideErrorText: "hideErrorText", readOnly: "readOnly", theme: "theme", classAdd: "classAdd", help: "help", size: "size" }, outputs: { valueChangeEvent: "valueChangeEvent", clickHelpIconEvent: "clickHelpIconEvent", blur: "blur", focus: "focus" }, providers: [
|
|
2965
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: SColorComponent, selector: "s-color", inputs: { value: "value", id: "id", name: "name", label: "label", placeHolder: "placeHolder", required: "required", helpText: "helpText", errorText: "errorText", hideErrorText: "hideErrorText", readOnly: "readOnly", theme: "theme", classAdd: "classAdd", help: "help", size: "size", disabled: "disabled" }, outputs: { valueChangeEvent: "valueChangeEvent", clickHelpIconEvent: "clickHelpIconEvent", blur: "blur", focus: "focus" }, providers: [
|
|
2959
2966
|
{
|
|
2960
2967
|
provide: NG_VALUE_ACCESSOR,
|
|
2961
2968
|
useExisting: forwardRef(() => SColorComponent),
|
|
2962
2969
|
multi: true
|
|
2963
2970
|
}
|
|
2964
|
-
], ngImport: i0, template: "<ng-container class=\"s-color\">\n <label *ngIf=\"label\" class=\"s-color__label\" for=\"name\">\n {{ label }}\n <span class=\"s-color__required\" *ngIf=\"required\">*</span>\n </label>\n <div\n class=\"s-color__content content-input-main-color {{ size }} theme-{{\n theme\n }} {{ classAdd }}\"\n [ngClass]=\"{
|
|
2971
|
+
], ngImport: i0, template: "<ng-container class=\"s-color\">\n <label *ngIf=\"label\" class=\"s-color__label\" for=\"name\">\n {{ label }}\n <span class=\"s-color__required\" *ngIf=\"required\">*</span>\n </label>\n <div\n class=\"s-color__content content-input-main-color {{ size }} theme-{{\n theme\n }} {{ classAdd }}\"\n [ngClass]=\"{'disabled-active': disabled ,'readonly': readOnly}\">\n <div class=\"content-left\">\n <input\n [readOnly]=\"readOnly\"\n #color\n [id]=\"name\"\n [name]=\"name\"\n type=\"color\"\n [disabled]=\"disabled\"\n [(ngModel)]=\"value\"\n (ngModelChange)=\"onTextChange()\"\n class=\"content-color\"/>\n </div>\n <div\n role=\"button\"\n tabindex=\"0\"\n class=\"content-center\"\n (click)=\"!this.readOnly ? this.color.click() : null\"\n (keydown.enter)=\"!this.readOnly ? this.color.click() : null\">\n <input\n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\"\n [readOnly]=\"readOnly\"\n [id]=\"id ? id : ''\"\n [type]=\"color\"\n autocomplete=\"off\"\n [placeholder]=\"placeHolder ? placeHolder : ''\"\n [(ngModel)]=\"value\"\n [disabled]=\"readOnly\" />\n </div>\n <div class=\"content-right\">\n <s-icon-mat [type]=\"'icon'\" class=\"icon cursor\">colorize</s-icon-mat>\n </div>\n <div *ngIf=\"theme !== 'default'\" class=\"content-right\">\n <s-icon-mat [type]=\"getIconType()\" class=\"icon report\">\n {{ ICON_THEME[this.theme] }}\n </s-icon-mat>\n </div>\n\n <div *ngIf=\"theme === 'default' && help\" class=\"content-right\">\n <s-icon-mat (click)=\"clickIcon()\" class=\"icon cursor\">\n help_outline\n </s-icon-mat>\n </div>\n </div>\n <s-error-control *ngIf=\"!hideErrorText && errorText\" theme=\"red\">\n {{ errorText }}\n </s-error-control>\n <s-error-control *ngIf=\"!hideErrorText && helpText && !errorText\">\n {{ helpText }}\n </s-error-control>\n</ng-container>\n", styles: [".s-color{margin-bottom:.5rem}.s-color__label{font-size:.875rem}.s-color__required{color:var(--primary-600)}.s-color__content{display:flex;border:.063rem solid var(--primary-500);border-radius:.25rem;padding:0 .5rem 0 0;margin:.18rem 0;background-color:var(--neutrals-1200)}.s-color__content input:-webkit-autofill,.s-color__content input:-webkit-autofill:hover,.s-color__content input:-webkit-autofill:focus,.s-color__content input:-webkit-autofill:active{-webkit-box-shadow:0 0 0 1.875rem var(--neutrals-1200) inset!important}.s-color__content input{width:100%;border:0rem;color:var(--secondary-600);writing-mode:unset;height:2.25rem;font-size:inherit;background-color:var(--neutrals-1200)}.s-color__content input.content-color{width:2.5rem;padding:0}.s-color__content input:focus,.s-color__content input:focus-visible{outline:none}.s-color__content .icon{width:1.25rem;cursor:default}.s-color__content .icon span{display:flex}.s-color__content .content-center{align-items:center;display:flex;width:100%;background-color:var(--neutrals-1200)}.s-color__content .content-left{display:flex;align-items:center;justify-content:space-evenly;margin-right:.5rem;border-right:.063rem solid var(--secondary-500);padding-right:.5rem;color:var(--secondary-500);font-size:.9rem;padding-left:.5rem}.s-color__content .content-right{display:flex;align-items:center;justify-content:space-evenly;margin:.5rem;color:var(--secondary-600)}.s-color__content.theme-green{border:.063rem solid var(--green-500)}.s-color__content.theme-green .icon.report span{color:var(--green-600)}.s-color__content.theme-yellow{border:.063rem solid var(--yellow-500)}.s-color__content.theme-yellow .icon.report span{color:var(--yellow-600)}.s-color__content.theme-red{border:.063rem solid var(--red-500)}.s-color__content.theme-red .icon.report span{color:var(--red-600)}.s-color__content.disabled-active{background-color:var(--neutrals-1100);border-color:var(--neutrals-900);color:var(--neutrals-800)}.s-color__content.disabled-active input{background-color:var(--neutrals-1100);color:var(--secondary-600)}.s-color__content.disabled-active .content-left{color:var(--neutrals-800)!important;border-right:.063rem solid var(--neutrals-900)}.s-color__content.disabled-active .content-right s-icon-mat span{color:var(--neutrals-800)!important}.s-color__content.readonly{background-color:var(--neutrals-1100);border-color:var(--neutrals-900)}.s-color__content.readonly input{background-color:var(--neutrals-1100);color:var(--secondary-600);cursor:default}.s-color__content.readonly .content-left{color:var(--neutrals-800)}.s-color__content.readonly .content-right s-icon-mat span{color:var(--neutrals-800)}.s-color__content.sm input{height:1.3rem;font-size:.75rem}.s-color__content.sm .icon{width:1.25rem;cursor:default}.s-color__content.sm .icon span{font-size:1.2em;display:flex}.s-color__content:has(input:focus){border:.063rem solid var(--primary-600);box-shadow:0 0 0 .25rem var(--cyan-alpha-200),0 .063rem .125rem 0 var(--blue-alpha-100)}.s-color__content:has(input:focus).theme-red:has(input:focus){border:.063rem solid var(--red-500);box-shadow:0 0 0 .25rem var(--red-alpha-200),0 .063rem .125rem 0 var(--blue-alpha-100)}.s-color__content:has(input:focus).theme-yellow:has(input:focus){border:.063rem solid var(--yellow-500);box-shadow:0 0 0 .25rem var(--yellow-alpha-200),0 .063rem .125rem 0 var(--blue-alpha-100)}.s-color__content:has(input:focus).theme-green:has(input:focus){border:.063rem solid var(--green-500);box-shadow:0 0 0 .25rem var(--green-alpha-200),0 .063rem .125rem 0 var(--blue-alpha-100)}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: SIconMaterialComponent, selector: "s-icon-mat", inputs: ["name", "size", "fill", "weight", "grade", "opticalSize", "style", "type"] }, { kind: "component", type: SErrorControl, selector: "s-error-control", inputs: ["theme", "icon", "iconCustom", "size"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
2965
2972
|
}
|
|
2966
2973
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SColorComponent, decorators: [{
|
|
2967
2974
|
type: Component,
|
|
@@ -2971,7 +2978,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
2971
2978
|
useExisting: forwardRef(() => SColorComponent),
|
|
2972
2979
|
multi: true
|
|
2973
2980
|
}
|
|
2974
|
-
], template: "<ng-container class=\"s-color\">\n <label *ngIf=\"label\" class=\"s-color__label\" for=\"name\">\n {{ label }}\n <span class=\"s-color__required\" *ngIf=\"required\">*</span>\n </label>\n <div\n class=\"s-color__content content-input-main-color {{ size }} theme-{{\n theme\n }} {{ classAdd }}\"\n [ngClass]=\"{
|
|
2981
|
+
], template: "<ng-container class=\"s-color\">\n <label *ngIf=\"label\" class=\"s-color__label\" for=\"name\">\n {{ label }}\n <span class=\"s-color__required\" *ngIf=\"required\">*</span>\n </label>\n <div\n class=\"s-color__content content-input-main-color {{ size }} theme-{{\n theme\n }} {{ classAdd }}\"\n [ngClass]=\"{'disabled-active': disabled ,'readonly': readOnly}\">\n <div class=\"content-left\">\n <input\n [readOnly]=\"readOnly\"\n #color\n [id]=\"name\"\n [name]=\"name\"\n type=\"color\"\n [disabled]=\"disabled\"\n [(ngModel)]=\"value\"\n (ngModelChange)=\"onTextChange()\"\n class=\"content-color\"/>\n </div>\n <div\n role=\"button\"\n tabindex=\"0\"\n class=\"content-center\"\n (click)=\"!this.readOnly ? this.color.click() : null\"\n (keydown.enter)=\"!this.readOnly ? this.color.click() : null\">\n <input\n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\"\n [readOnly]=\"readOnly\"\n [id]=\"id ? id : ''\"\n [type]=\"color\"\n autocomplete=\"off\"\n [placeholder]=\"placeHolder ? placeHolder : ''\"\n [(ngModel)]=\"value\"\n [disabled]=\"readOnly\" />\n </div>\n <div class=\"content-right\">\n <s-icon-mat [type]=\"'icon'\" class=\"icon cursor\">colorize</s-icon-mat>\n </div>\n <div *ngIf=\"theme !== 'default'\" class=\"content-right\">\n <s-icon-mat [type]=\"getIconType()\" class=\"icon report\">\n {{ ICON_THEME[this.theme] }}\n </s-icon-mat>\n </div>\n\n <div *ngIf=\"theme === 'default' && help\" class=\"content-right\">\n <s-icon-mat (click)=\"clickIcon()\" class=\"icon cursor\">\n help_outline\n </s-icon-mat>\n </div>\n </div>\n <s-error-control *ngIf=\"!hideErrorText && errorText\" theme=\"red\">\n {{ errorText }}\n </s-error-control>\n <s-error-control *ngIf=\"!hideErrorText && helpText && !errorText\">\n {{ helpText }}\n </s-error-control>\n</ng-container>\n", styles: [".s-color{margin-bottom:.5rem}.s-color__label{font-size:.875rem}.s-color__required{color:var(--primary-600)}.s-color__content{display:flex;border:.063rem solid var(--primary-500);border-radius:.25rem;padding:0 .5rem 0 0;margin:.18rem 0;background-color:var(--neutrals-1200)}.s-color__content input:-webkit-autofill,.s-color__content input:-webkit-autofill:hover,.s-color__content input:-webkit-autofill:focus,.s-color__content input:-webkit-autofill:active{-webkit-box-shadow:0 0 0 1.875rem var(--neutrals-1200) inset!important}.s-color__content input{width:100%;border:0rem;color:var(--secondary-600);writing-mode:unset;height:2.25rem;font-size:inherit;background-color:var(--neutrals-1200)}.s-color__content input.content-color{width:2.5rem;padding:0}.s-color__content input:focus,.s-color__content input:focus-visible{outline:none}.s-color__content .icon{width:1.25rem;cursor:default}.s-color__content .icon span{display:flex}.s-color__content .content-center{align-items:center;display:flex;width:100%;background-color:var(--neutrals-1200)}.s-color__content .content-left{display:flex;align-items:center;justify-content:space-evenly;margin-right:.5rem;border-right:.063rem solid var(--secondary-500);padding-right:.5rem;color:var(--secondary-500);font-size:.9rem;padding-left:.5rem}.s-color__content .content-right{display:flex;align-items:center;justify-content:space-evenly;margin:.5rem;color:var(--secondary-600)}.s-color__content.theme-green{border:.063rem solid var(--green-500)}.s-color__content.theme-green .icon.report span{color:var(--green-600)}.s-color__content.theme-yellow{border:.063rem solid var(--yellow-500)}.s-color__content.theme-yellow .icon.report span{color:var(--yellow-600)}.s-color__content.theme-red{border:.063rem solid var(--red-500)}.s-color__content.theme-red .icon.report span{color:var(--red-600)}.s-color__content.disabled-active{background-color:var(--neutrals-1100);border-color:var(--neutrals-900);color:var(--neutrals-800)}.s-color__content.disabled-active input{background-color:var(--neutrals-1100);color:var(--secondary-600)}.s-color__content.disabled-active .content-left{color:var(--neutrals-800)!important;border-right:.063rem solid var(--neutrals-900)}.s-color__content.disabled-active .content-right s-icon-mat span{color:var(--neutrals-800)!important}.s-color__content.readonly{background-color:var(--neutrals-1100);border-color:var(--neutrals-900)}.s-color__content.readonly input{background-color:var(--neutrals-1100);color:var(--secondary-600);cursor:default}.s-color__content.readonly .content-left{color:var(--neutrals-800)}.s-color__content.readonly .content-right s-icon-mat span{color:var(--neutrals-800)}.s-color__content.sm input{height:1.3rem;font-size:.75rem}.s-color__content.sm .icon{width:1.25rem;cursor:default}.s-color__content.sm .icon span{font-size:1.2em;display:flex}.s-color__content:has(input:focus){border:.063rem solid var(--primary-600);box-shadow:0 0 0 .25rem var(--cyan-alpha-200),0 .063rem .125rem 0 var(--blue-alpha-100)}.s-color__content:has(input:focus).theme-red:has(input:focus){border:.063rem solid var(--red-500);box-shadow:0 0 0 .25rem var(--red-alpha-200),0 .063rem .125rem 0 var(--blue-alpha-100)}.s-color__content:has(input:focus).theme-yellow:has(input:focus){border:.063rem solid var(--yellow-500);box-shadow:0 0 0 .25rem var(--yellow-alpha-200),0 .063rem .125rem 0 var(--blue-alpha-100)}.s-color__content:has(input:focus).theme-green:has(input:focus){border:.063rem solid var(--green-500);box-shadow:0 0 0 .25rem var(--green-alpha-200),0 .063rem .125rem 0 var(--blue-alpha-100)}\n"] }]
|
|
2975
2982
|
}], propDecorators: { value: [{
|
|
2976
2983
|
type: Input
|
|
2977
2984
|
}], id: [{
|
|
@@ -3000,6 +3007,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
3000
3007
|
type: Input
|
|
3001
3008
|
}], size: [{
|
|
3002
3009
|
type: Input
|
|
3010
|
+
}], disabled: [{
|
|
3011
|
+
type: Input
|
|
3003
3012
|
}], valueChangeEvent: [{
|
|
3004
3013
|
type: Output
|
|
3005
3014
|
}], clickHelpIconEvent: [{
|
|
@@ -3095,6 +3104,22 @@ class SInputNumberComponent extends ControlValueAccessorDirective {
|
|
|
3095
3104
|
this.isFocused = true;
|
|
3096
3105
|
this.focus.next(event);
|
|
3097
3106
|
}
|
|
3107
|
+
canDecrease() {
|
|
3108
|
+
if (this.config.disabled || this.config.readOnly)
|
|
3109
|
+
return false;
|
|
3110
|
+
if (this.config.min === undefined)
|
|
3111
|
+
return true;
|
|
3112
|
+
const currentValue = this.getValue();
|
|
3113
|
+
return currentValue > this.config.min;
|
|
3114
|
+
}
|
|
3115
|
+
canIncrease() {
|
|
3116
|
+
if (this.config.disabled || this.config.readOnly)
|
|
3117
|
+
return false;
|
|
3118
|
+
if (this.config.max === undefined)
|
|
3119
|
+
return true;
|
|
3120
|
+
const currentValue = this.getValue();
|
|
3121
|
+
return currentValue < this.config.max;
|
|
3122
|
+
}
|
|
3098
3123
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SInputNumberComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
3099
3124
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: SInputNumberComponent, selector: "s-input-number", inputs: { config: "config" }, outputs: { clickHelpIconEvent: "clickHelpIconEvent", blur: "blur", focus: "focus" }, providers: [
|
|
3100
3125
|
{
|
|
@@ -3102,7 +3127,7 @@ class SInputNumberComponent extends ControlValueAccessorDirective {
|
|
|
3102
3127
|
useExisting: forwardRef(() => SInputNumberComponent),
|
|
3103
3128
|
multi: true
|
|
3104
3129
|
}
|
|
3105
|
-
], usesInheritance: true, ngImport: i0, template: "<section class=\"s-input-number\">\n <label *ngIf=\"config.label\" class=\"s-input-number__label\" for=\"config.id\">\n {{ config.label }}\n <span class=\"s-input-number__required\" *ngIf=\"config.required\">*</span>\n </label>\n <div class=\"d-flex align-center\">\n <div class=\"content-left mr-1\">\n <s-button\n [disabled]=\"
|
|
3130
|
+
], usesInheritance: true, ngImport: i0, template: "<section class=\"s-input-number\">\n <label *ngIf=\"config.label\" class=\"s-input-number__label\" for=\"config.id\">\n {{ config.label }}\n <span class=\"s-input-number__required\" *ngIf=\"config.required\">*</span>\n </label>\n <div class=\"d-flex align-center\">\n <div class=\"content-left mr-1\">\n <s-button\n [disabled]=\"!canDecrease()\"\n (click)=\"numberDecrease()\"\n [size]=\"config.size ?? 'md'\"\n [pill]=\"true\"\n [invert]=\"true\"\n class=\"s-input-number__button\">\n <s-icon-mat>remove</s-icon-mat>\n </s-button>\n </div>\n <div\n class=\"s-input-number__content {{ config.size }}\n theme-{{ config.theme }} {{ config.classAdd }} w-100\"\n [ngClass]=\"{\n 'disabled-active': config.disabled,\n 'readonly': config.readOnly,\n 'theme-red':\n (control && control.invalid && (isFocused || control.touched)) ||\n (control && control.errors && control.touched) ||\n config.theme === 'red',\n }\">\n <div class=\"content-center\">\n <ng-container *ngIf=\"control; else notUseFormControl\">\n <input\n autocomplete=\"off\"\n placeholder=\"{{ config.placeholder }}\"\n [readOnly]=\"config.readOnly || config.disabled\"\n [id]=\"config.id ? config.id : ''\"\n [type]=\"'number'\"\n max=\"{{ config.max }}\"\n min=\"{{ config.min }}\"\n [step]=\"config.step\"\n [formControl]=\"getControl()\"\n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\" />\n </ng-container>\n <ng-template #notUseFormControl>\n <input\n autocomplete=\"off\"\n placeholder=\"{{ config.placeholder }}\"\n [readOnly]=\"config.readOnly || config.disabled\"\n [id]=\"config.id ? config.id : ''\"\n [type]=\"'number'\"\n max=\"{{ config.max }}\"\n min=\"{{ config.min }}\"\n [step]=\"config.step\"\n [value]=\"value\"\n (input)=\"onInput($event)\"\n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\" />\n </ng-template>\n </div>\n <div\n *ngIf=\"config.theme !== 'default' && config.theme !== undefined\"\n class=\"content-right\">\n <s-icon-mat [type]=\"getIconType()\" class=\"icon report\">{{\n ICON_THEME[config.theme]\n }}</s-icon-mat>\n </div>\n <div\n *ngIf=\"\n (config?.theme === 'default' && config.showHelp) ||\n (config?.theme === undefined && config.showHelp)\n \"\n class=\"content-right\">\n <s-icon-mat (click)=\"clickHelp()\" class=\"icon cursor\"\n >help_outline</s-icon-mat\n >\n </div>\n </div>\n <div class=\"content-left ml-1\">\n <s-button\n [disabled]=\"!canIncrease()\"\n (click)=\"numberIncrement()\"\n [size]=\"config.size ?? 'md'\"\n [pill]=\"true\"\n [invert]=\"true\"\n class=\"button-input-626\"\n ><s-icon-mat>add</s-icon-mat></s-button\n >\n </div>\n </div>\n <s-validation-error\n *ngIf=\"\n !config.hideErrorText &&\n control &&\n control.invalid &&\n (isFocused || control.touched)\n \"\n [customErrorMessages]=\"config.errorMessages\"\n [errors]=\"control.errors\">\n </s-validation-error>\n <s-error-control\n *ngIf=\"!config.hideErrorText && config.errorText\"\n theme=\"red\"\n >{{ config.errorText }}</s-error-control\n >\n <s-error-control\n *ngIf=\"\n !config.hideErrorText &&\n !config.errorText &&\n ((control && control.errors?.['required'] && !control.touched) ||\n (control && !control.errors)) &&\n !(isFocused && control.invalid)\n \">\n {{ config.helpText || '' }}\n </s-error-control>\n</section>\n", styles: [".s-input-number{margin-bottom:.5rem}.s-input-number__label{font-size:.875rem;color:var(--secondary-600)}.s-input-number__required{color:var(--primary-600)}.s-input-number__button{font-size:.93rem;font-weight:700}.s-input-number__content{display:flex;border:.063rem solid var(--primary-500);border-radius:.25rem;padding:0 .5rem;margin:.18rem 0;background-color:var(--neutrals-1200)}.s-input-number__content input{width:100%;border:0rem;color:var(--secondary-600);writing-mode:unset;height:2.25rem;font-size:inherit;background-color:var(--neutrals-1200)}.s-input-number__content input:focus,.s-input-number__content input:focus-visible{outline:none}.s-input-number__content input:-webkit-autofill,.s-input-number__content input:-webkit-autofill:hover,.s-input-number__content input:-webkit-autofill:focus,.s-input-number__content input:-webkit-autofill:active{-webkit-box-shadow:0rem 0rem 0rem 1.875rem var(--neutrals-1200) inset!important}.s-input-number__content input::-webkit-outer-spin-button,.s-input-number__content input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.s-input-number__content input[type=number]{-moz-appearance:textfield}.s-input-number__content .icon{width:1.25rem;cursor:default}.s-input-number__content .icon span{display:flex}.s-input-number__content .content-center{width:100%;background-color:var(--neutrals-1200)}.s-input-number__content .content-left{display:flex;align-items:center;justify-content:space-evenly;margin-right:.5rem;color:var(--primary-600)}.s-input-number__content .content-right{display:flex;align-items:center;justify-content:space-evenly;margin-left:.5rem;color:var(--secondary-600)}.s-input-number__content.theme-green:has(input:focus){border:.063rem solid var(--green-500);box-shadow:0 0 0 .25rem var(--green-alpha-200),0 .063rem .125rem 0 var(--blue-alpha-100)}.s-input-number__content.theme-yellow:has(input:focus){border:.063rem solid var(--yellow-500);box-shadow:0 0 0 .25rem var(--yellow-alpha-200),0 .063rem .125rem 0 var(--blue-alpha-100)}.s-input-number__content.theme-red:has(input:focus){border:.063rem solid var(--red-500);box-shadow:0 0 0 .25rem var(--red-alpha-200),0 .063rem .125rem 0 var(--blue-alpha-100)}.s-input-number__content.disabled-active{background-color:var(--neutrals-1100);border-color:var(--neutrals-900);color:var(--neutrals-800);outline:0}.s-input-number__content.disabled-active input{background-color:var(--neutrals-1100);color:var(--neutrals-800)}.s-input-number__content.disabled-active.content-left{color:var(--neutrals-800)!important}.s-input-number__content.disabled-active.content-right s-icon-mat span{color:var(--neutrals-800)!important}.s-input-number__content.readonly{background-color:var(--neutrals-1100)}.s-input-number__content.readonly input{background-color:var(--neutrals-1100);cursor:default;color:var(--secondary-600)}.s-input-number__content.theme-red{border:.063rem solid var(--red-500)}.s-input-number__content.theme-red .icon.report span{color:var(--red-600)}.s-input-number__content.theme-green{border:.063rem solid var(--green-500)}.s-input-number__content.theme-green .icon.report span{color:var(--green-600)}.s-input-number__content.theme-yellow{border:.063rem solid var(--yellow-500)}.s-input-number__content.theme-yellow .icon.report span{color:var(--yellow-600)}.s-input-number__content .sm input{height:1.3rem;font-size:.75rem}.s-input-number__content .sm .icon{width:1.25rem;cursor:default}.s-input-number__content .sm .icon span{font-size:1.2em;display:flex}.s-input-number__content:not(.disabled-active):has(input:focus){border:.063rem solid var(--primary-600);box-shadow:0 0 0 .25rem var(--cyan-alpha-200),0 .063rem .125rem 0 var(--blue-alpha-100)}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: SIconMaterialComponent, selector: "s-icon-mat", inputs: ["name", "size", "fill", "weight", "grade", "opticalSize", "style", "type"] }, { kind: "component", type: SButtonComponent, selector: "s-button", inputs: ["disabled", "pill", "size", "invert", "type", "loading", "position", "theme", "active"] }, { kind: "component", type: SErrorControl, selector: "s-error-control", inputs: ["theme", "icon", "iconCustom", "size"] }, { kind: "component", type: SValidationError, selector: "s-validation-error", inputs: ["errors", "customErrorMessages"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
3106
3131
|
}
|
|
3107
3132
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SInputNumberComponent, decorators: [{
|
|
3108
3133
|
type: Component,
|
|
@@ -3112,7 +3137,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
3112
3137
|
useExisting: forwardRef(() => SInputNumberComponent),
|
|
3113
3138
|
multi: true
|
|
3114
3139
|
}
|
|
3115
|
-
], template: "<section class=\"s-input-number\">\n <label *ngIf=\"config.label\" class=\"s-input-number__label\" for=\"config.id\">\n {{ config.label }}\n <span class=\"s-input-number__required\" *ngIf=\"config.required\">*</span>\n </label>\n <div class=\"d-flex align-center\">\n <div class=\"content-left mr-1\">\n <s-button\n [disabled]=\"
|
|
3140
|
+
], template: "<section class=\"s-input-number\">\n <label *ngIf=\"config.label\" class=\"s-input-number__label\" for=\"config.id\">\n {{ config.label }}\n <span class=\"s-input-number__required\" *ngIf=\"config.required\">*</span>\n </label>\n <div class=\"d-flex align-center\">\n <div class=\"content-left mr-1\">\n <s-button\n [disabled]=\"!canDecrease()\"\n (click)=\"numberDecrease()\"\n [size]=\"config.size ?? 'md'\"\n [pill]=\"true\"\n [invert]=\"true\"\n class=\"s-input-number__button\">\n <s-icon-mat>remove</s-icon-mat>\n </s-button>\n </div>\n <div\n class=\"s-input-number__content {{ config.size }}\n theme-{{ config.theme }} {{ config.classAdd }} w-100\"\n [ngClass]=\"{\n 'disabled-active': config.disabled,\n 'readonly': config.readOnly,\n 'theme-red':\n (control && control.invalid && (isFocused || control.touched)) ||\n (control && control.errors && control.touched) ||\n config.theme === 'red',\n }\">\n <div class=\"content-center\">\n <ng-container *ngIf=\"control; else notUseFormControl\">\n <input\n autocomplete=\"off\"\n placeholder=\"{{ config.placeholder }}\"\n [readOnly]=\"config.readOnly || config.disabled\"\n [id]=\"config.id ? config.id : ''\"\n [type]=\"'number'\"\n max=\"{{ config.max }}\"\n min=\"{{ config.min }}\"\n [step]=\"config.step\"\n [formControl]=\"getControl()\"\n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\" />\n </ng-container>\n <ng-template #notUseFormControl>\n <input\n autocomplete=\"off\"\n placeholder=\"{{ config.placeholder }}\"\n [readOnly]=\"config.readOnly || config.disabled\"\n [id]=\"config.id ? config.id : ''\"\n [type]=\"'number'\"\n max=\"{{ config.max }}\"\n min=\"{{ config.min }}\"\n [step]=\"config.step\"\n [value]=\"value\"\n (input)=\"onInput($event)\"\n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\" />\n </ng-template>\n </div>\n <div\n *ngIf=\"config.theme !== 'default' && config.theme !== undefined\"\n class=\"content-right\">\n <s-icon-mat [type]=\"getIconType()\" class=\"icon report\">{{\n ICON_THEME[config.theme]\n }}</s-icon-mat>\n </div>\n <div\n *ngIf=\"\n (config?.theme === 'default' && config.showHelp) ||\n (config?.theme === undefined && config.showHelp)\n \"\n class=\"content-right\">\n <s-icon-mat (click)=\"clickHelp()\" class=\"icon cursor\"\n >help_outline</s-icon-mat\n >\n </div>\n </div>\n <div class=\"content-left ml-1\">\n <s-button\n [disabled]=\"!canIncrease()\"\n (click)=\"numberIncrement()\"\n [size]=\"config.size ?? 'md'\"\n [pill]=\"true\"\n [invert]=\"true\"\n class=\"button-input-626\"\n ><s-icon-mat>add</s-icon-mat></s-button\n >\n </div>\n </div>\n <s-validation-error\n *ngIf=\"\n !config.hideErrorText &&\n control &&\n control.invalid &&\n (isFocused || control.touched)\n \"\n [customErrorMessages]=\"config.errorMessages\"\n [errors]=\"control.errors\">\n </s-validation-error>\n <s-error-control\n *ngIf=\"!config.hideErrorText && config.errorText\"\n theme=\"red\"\n >{{ config.errorText }}</s-error-control\n >\n <s-error-control\n *ngIf=\"\n !config.hideErrorText &&\n !config.errorText &&\n ((control && control.errors?.['required'] && !control.touched) ||\n (control && !control.errors)) &&\n !(isFocused && control.invalid)\n \">\n {{ config.helpText || '' }}\n </s-error-control>\n</section>\n", styles: [".s-input-number{margin-bottom:.5rem}.s-input-number__label{font-size:.875rem;color:var(--secondary-600)}.s-input-number__required{color:var(--primary-600)}.s-input-number__button{font-size:.93rem;font-weight:700}.s-input-number__content{display:flex;border:.063rem solid var(--primary-500);border-radius:.25rem;padding:0 .5rem;margin:.18rem 0;background-color:var(--neutrals-1200)}.s-input-number__content input{width:100%;border:0rem;color:var(--secondary-600);writing-mode:unset;height:2.25rem;font-size:inherit;background-color:var(--neutrals-1200)}.s-input-number__content input:focus,.s-input-number__content input:focus-visible{outline:none}.s-input-number__content input:-webkit-autofill,.s-input-number__content input:-webkit-autofill:hover,.s-input-number__content input:-webkit-autofill:focus,.s-input-number__content input:-webkit-autofill:active{-webkit-box-shadow:0rem 0rem 0rem 1.875rem var(--neutrals-1200) inset!important}.s-input-number__content input::-webkit-outer-spin-button,.s-input-number__content input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.s-input-number__content input[type=number]{-moz-appearance:textfield}.s-input-number__content .icon{width:1.25rem;cursor:default}.s-input-number__content .icon span{display:flex}.s-input-number__content .content-center{width:100%;background-color:var(--neutrals-1200)}.s-input-number__content .content-left{display:flex;align-items:center;justify-content:space-evenly;margin-right:.5rem;color:var(--primary-600)}.s-input-number__content .content-right{display:flex;align-items:center;justify-content:space-evenly;margin-left:.5rem;color:var(--secondary-600)}.s-input-number__content.theme-green:has(input:focus){border:.063rem solid var(--green-500);box-shadow:0 0 0 .25rem var(--green-alpha-200),0 .063rem .125rem 0 var(--blue-alpha-100)}.s-input-number__content.theme-yellow:has(input:focus){border:.063rem solid var(--yellow-500);box-shadow:0 0 0 .25rem var(--yellow-alpha-200),0 .063rem .125rem 0 var(--blue-alpha-100)}.s-input-number__content.theme-red:has(input:focus){border:.063rem solid var(--red-500);box-shadow:0 0 0 .25rem var(--red-alpha-200),0 .063rem .125rem 0 var(--blue-alpha-100)}.s-input-number__content.disabled-active{background-color:var(--neutrals-1100);border-color:var(--neutrals-900);color:var(--neutrals-800);outline:0}.s-input-number__content.disabled-active input{background-color:var(--neutrals-1100);color:var(--neutrals-800)}.s-input-number__content.disabled-active.content-left{color:var(--neutrals-800)!important}.s-input-number__content.disabled-active.content-right s-icon-mat span{color:var(--neutrals-800)!important}.s-input-number__content.readonly{background-color:var(--neutrals-1100)}.s-input-number__content.readonly input{background-color:var(--neutrals-1100);cursor:default;color:var(--secondary-600)}.s-input-number__content.theme-red{border:.063rem solid var(--red-500)}.s-input-number__content.theme-red .icon.report span{color:var(--red-600)}.s-input-number__content.theme-green{border:.063rem solid var(--green-500)}.s-input-number__content.theme-green .icon.report span{color:var(--green-600)}.s-input-number__content.theme-yellow{border:.063rem solid var(--yellow-500)}.s-input-number__content.theme-yellow .icon.report span{color:var(--yellow-600)}.s-input-number__content .sm input{height:1.3rem;font-size:.75rem}.s-input-number__content .sm .icon{width:1.25rem;cursor:default}.s-input-number__content .sm .icon span{font-size:1.2em;display:flex}.s-input-number__content:not(.disabled-active):has(input:focus){border:.063rem solid var(--primary-600);box-shadow:0 0 0 .25rem var(--cyan-alpha-200),0 .063rem .125rem 0 var(--blue-alpha-100)}\n"] }]
|
|
3116
3141
|
}], propDecorators: { config: [{
|
|
3117
3142
|
type: Input
|
|
3118
3143
|
}], clickHelpIconEvent: [{
|
|
@@ -3129,7 +3154,7 @@ class SInputModule {
|
|
|
3129
3154
|
SErrorControl,
|
|
3130
3155
|
SInputComponent,
|
|
3131
3156
|
SInputNumberComponent,
|
|
3132
|
-
|
|
3157
|
+
SSliderComponent,
|
|
3133
3158
|
SCalendarComponent,
|
|
3134
3159
|
STimeComponent,
|
|
3135
3160
|
SColorComponent,
|
|
@@ -3141,7 +3166,7 @@ class SInputModule {
|
|
|
3141
3166
|
SErrorControl,
|
|
3142
3167
|
SInputComponent,
|
|
3143
3168
|
SInputNumberComponent,
|
|
3144
|
-
|
|
3169
|
+
SSliderComponent,
|
|
3145
3170
|
SCalendarComponent,
|
|
3146
3171
|
STimeComponent,
|
|
3147
3172
|
SColorComponent,
|
|
@@ -3161,7 +3186,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
3161
3186
|
SErrorControl,
|
|
3162
3187
|
SInputComponent,
|
|
3163
3188
|
SInputNumberComponent,
|
|
3164
|
-
|
|
3189
|
+
SSliderComponent,
|
|
3165
3190
|
SCalendarComponent,
|
|
3166
3191
|
STimeComponent,
|
|
3167
3192
|
SColorComponent,
|
|
@@ -3179,7 +3204,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
3179
3204
|
SErrorControl,
|
|
3180
3205
|
SInputComponent,
|
|
3181
3206
|
SInputNumberComponent,
|
|
3182
|
-
|
|
3207
|
+
SSliderComponent,
|
|
3183
3208
|
SCalendarComponent,
|
|
3184
3209
|
STimeComponent,
|
|
3185
3210
|
SColorComponent,
|
|
@@ -3346,7 +3371,7 @@ class SSelectMultipleComponent extends ControlValueAccessorDirective {
|
|
|
3346
3371
|
useExisting: forwardRef(() => SSelectMultipleComponent),
|
|
3347
3372
|
multi: true,
|
|
3348
3373
|
},
|
|
3349
|
-
], usesInheritance: true, ngImport: i0, template: "<article\r\n *ngIf=\"config\"\r\n class=\"s-select\"\r\n [ngClass]=\"config.disabled || control?.disabled ? 's-select--disabled' : ''\">\r\n <span *ngIf=\"config.label\" class=\"s-select--select-label\">\r\n {{ config.label }}\r\n <span class=\"s-select--required\" *ngIf=\"config?.required\">*</span>\r\n </span>\r\n <section\r\n [ngClass]=\"{\r\n 'theme-red': control && control.invalid && isFocused,\r\n 'is-open': isOpen,\r\n sm: (config.size ?? INPUT_SIZE.MD) === INPUT_SIZE.SM,\r\n md: (config.size ?? INPUT_SIZE.MD) === INPUT_SIZE.MD,\r\n }\"\r\n role=\"button\"\r\n tabindex=\"0\"\r\n aria-expanded=\"false\"\r\n aria-controls=\"dropdown\"\r\n aria-haspopup=\"true\"\r\n class=\"s-select__main cursor\"\r\n [ngClass]=\"config.size === 'sm' ? 'sm' : 'md'\"\r\n (click)=\"openDropDown()\"\r\n (keydown)=\"onKeyDownMain($event)\">\r\n <div class=\"s-select__main__selected-option select-multiple\">\r\n <div class=\"s-select__main__selected-option__left\">\r\n <div *ngIf=\"config.display === 'dot'\" class=\"dot\"></div>\r\n <s-icon-mat\r\n size=\"{{ config.size === 'md' ? '22' : '17' }}\"\r\n class=\"iconPerson\"\r\n *ngIf=\"config.display === 'iconperson'\">\r\n person_outline\r\n </s-icon-mat>\r\n <div *ngIf=\"config.display === 'profile'\" class=\"content-avatar\">\r\n <s-avatar size=\"{{ config.size === 'sm' ? '16' : '24' }}\"></s-avatar>\r\n </div>\r\n <span *ngIf=\"countSelected >= 1\" class=\"s-select__value\">\r\n {{ selectionText }}\r\n </span>\r\n <span *ngIf=\"countSelected === 0\" class=\"s-select__value\">\r\n {{ config.placeholder }}\r\n </span>\r\n <div class=\"s-select__main__selected-option__right\">\r\n <s-icon-mat\r\n *ngIf=\"!config.readOnly || !config.disabled\"\r\n class=\"{{ isOpen ? 'is-open-arrow' : '' }}\"\r\n >{{ isOpen ? 'expand_less' : 'expand_more' }}</s-icon-mat\r\n >\r\n </div>\r\n </div>\r\n </div>\r\n </section>\r\n <s-validation-error\r\n *ngIf=\"!config.hideErrorText && control && control.invalid && isFocused\"\r\n [customErrorMessages]=\"config.errorMessages ?? undefined\"\r\n [errors]=\"control.errors\">\r\n </s-validation-error>\r\n <s-error-control\r\n *ngIf=\"\r\n !config.hideErrorText && control && control.invalid && config.errorText\r\n \"\r\n theme=\"red\">\r\n {{ config.errorText }}\r\n </s-error-control>\r\n <s-error-control\r\n *ngIf=\"\r\n !config.hideErrorText &&\r\n !config.errorText &&\r\n control &&\r\n !control.errors &&\r\n config.helpText\r\n \">\r\n {{ config.helpText }}\r\n </s-error-control>\r\n <section class=\"s-select__dropdown\" *ngIf=\"isOpen\">\r\n <div class=\"s-select__options-multiple--search\">\r\n <!-- //TODO flag opcional, por defecto true -->\r\n <s-input\r\n [config]=\"configSearch\"\r\n [(ngModel)]=\"searchText\"\r\n (ngModelChange)=\"filter()\"></s-input>\r\n </div>\r\n <div\r\n class=\"s-select__options-multiple\"\r\n [ngClass]=\"config.size === 'sm' ? 'sm' : 'md'\">\r\n <div\r\n role=\"option\"\r\n tabindex=\"0\"\r\n class=\"s-select__item\"\r\n [ngClass]=\"config.size === 'sm' ? 'sm' : 'md'\"\r\n *ngFor=\"let item of options; index as i\"\r\n (click)=\"changeItem(item)\"\r\n [attr.aria-selected]=\"item.value\"\r\n (keydown)=\"onKeyDownItems($event, item)\"\r\n [class.active]=\"item.value === true\">\r\n <div class=\"content-left select-multiple\">\r\n <s-checkbox\r\n [config]=\"checkItem\"\r\n [(ngModel)]=\"item.value\"></s-checkbox>\r\n <div *ngIf=\"config.display === 'dot'\" class=\"dot\"></div>\r\n <div *ngIf=\"config.display === 'profile'\" class=\"content-avatar\">\r\n <s-avatar\r\n [size]=\"config.size === 'sm' ? '16' : '24'\"\r\n [display]=\"item.user?.display\"\r\n [letters]=\"item.user?.letters\"\r\n [status]=\"item.user?.status\"\r\n [urlProfileImage]=\"item.user?.url\">\r\n </s-avatar>\r\n </div>\r\n <s-icon-mat\r\n size=\"{{ config.size === 'sm' ? '17' : '22' }}\"\r\n class=\"iconPerson\"\r\n *ngIf=\"config.display === 'iconperson'\">\r\n person_outline\r\n </s-icon-mat>\r\n <span class=\"option-value\">\r\n {{ item.title }}\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n <div\r\n class=\"s-select__options-multiple--selected\"\r\n [ngClass]=\"{ sm: config.size === 'sm' }\">\r\n <div class=\"s-select__options-multiple--selected-content\">\r\n <p class=\"s-select__options-multiple--selected-text\">\r\n {{ this.config.selected }}: {{ this.countSelected }}\r\n </p>\r\n <a\r\n tabindex=\"0\"\r\n class=\"s-select__options-multiple--selectAllOption\"\r\n (click)=\"selectAllEvent()\"\r\n (keydown.enter)=\"selectAllEvent()\"\r\n >{{\r\n options.length === countSelected\r\n ? config.deselectAllOptions\r\n : config.selectAllOption\r\n }}</a\r\n >\r\n </div>\r\n </div>\r\n </section>\r\n</article>\r\n", styles: [".s-select{width:100%;position:relative}.s-select--required{display:contents;color:var(--primary-600)}.s-select--select-label{color:var(--secondary-600);display:flex;font-size:.875rem;font-weight:400;line-height:1.375rem;letter-spacing:.01rem;margin-bottom:.125rem}.s-select__main{background-color:var(--neutrals-1200);color:var(--secondary-600);border:.063rem solid var(--primary-500);border-radius:.25rem;display:flex;padding:0 .625rem}.s-select__main.theme-red{border-color:var(--red-600)!important;box-shadow:0 0 0 .25rem var(--red-alpha-200),0 .0625rem .125rem 0 var(--blue-alpha-100)!important}.s-select__main.md{height:2.4rem;font-size:1rem}.s-select__main.sm{height:1.5rem;font-size:.9rem}.s-select__main.is-open{border:.06rem solid var(--primary-600);box-shadow:var(--focus-cyan--md)}.s-select__main__selected-option{width:100%;display:flex;align-items:center;justify-content:space-between}.s-select__main__selected-option input{display:none}.s-select__main__selected-option input:-webkit-autofill,.s-select__main__selected-option input:-webkit-autofill:hover,.s-select__main__selected-option input:-webkit-autofill:focus,.s-select__main__selected-option input:-webkit-autofill:active{-webkit-box-shadow:0 0 0 1.9rem var(--neutrals-1200) inset!important}.s-select__main__selected-option span{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.s-select__main__selected-option__left{display:flex;align-items:center;justify-content:space-between;width:100%;gap:.5rem}.s-select__main__selected-option__left__content-option{display:flex;align-items:center;gap:.5rem}.s-select__main__selected-option__left__content-option .placeholder{color:var(--neutrals-700);opacity:.6}.s-select__main__selected-option__left .dot{border-radius:100%;width:.3rem;height:.3rem;border:.06rem solid var(--green-600);background-color:var(--green-600);margin-left:.3rem}.s-select__main__selected-option__left s-icon-mat.iconPerson{margin-left:.3rem;color:var(--primary-600)}.s-select__main__selected-option__left .content-avatar{margin-left:.375rem}.s-select__main__selected-option__right{display:flex;align-items:center;justify-content:space-evenly;color:var(--primary-600)}.s-select__main__selected-option__right .is-open-arrow{color:var(--primary-600)}.s-select__main__selected-option.select-simple .s-select__main__selected-option__left{width:93%}.s-select__main__selected-option.select-multiple .s-select__main__selected-option__left{width:100%}.s-select__options{max-height:12.5rem;overflow-y:auto;position:absolute;width:100%;z-index:2;box-shadow:var(--E300);background-color:var(--neutrals-1200);border-radius:.25rem;left:0}.s-select__options.sm{top:3.5rem}.s-select__options.md{top:4.5rem}.s-select__options.label-off.md{top:3.1rem}.s-select__options.label-off.sm{top:2.1rem}.s-select__dropdown{max-height:30rem;position:absolute;width:100%;z-index:2;box-shadow:var(--E300);background-color:var(--neutrals-1200);border-radius:.25rem;left:0;margin-top:.5rem}.s-select__options-multiple{border-bottom:.063rem solid var(--neutrals-900);border-top:.063rem solid var(--neutrals-900);max-height:13.5rem;overflow-y:auto}.s-select__options-multiple--search{padding:.3rem .5rem;height:100%}.s-select__options-multiple--selected{padding:.3rem .5rem;height:100%;margin-top:.3rem}.s-select__options-multiple--selected .s-button{width:100%}.s-select__options-multiple--selected .sm{font-size:.75rem}.s-select__options-multiple--selected-content{display:flex;justify-content:space-between;margin-top:.5rem}.s-select__options-multiple--selected-text:first-letter{text-transform:uppercase}.s-select__options-multiple--selectAllOption{color:var(--primary-600);cursor:pointer;text-decoration:underline}.s-select__options-multiple-all{align-items:center;display:flex}.s-select__options-multiple-all.sm{font-size:.75rem;padding:.25rem .5rem}.s-select__options-multiple-all.md{font-size:1rem;padding:.625rem .875rem}.s-select__options-multiple-text{padding-left:.625rem}.s-select__item{display:flex;justify-content:space-between;padding:0 .875rem;color:var(--secondary-600)}.s-select__item:hover{background-color:var(--neutrals-1000);cursor:pointer}.s-select__item.sm{font-size:.75rem;padding:.25rem .5rem}.s-select__item.md{font-size:1rem;padding:.625rem .875rem}.s-select__item .option-value{margin-left:.375rem}.s-select__item.active .option-value{font-weight:500;color:var(--primary-600)}.s-select__item .content-left.select-multiple{grid-template-columns:3fr 4fr 96fr}.s-select__item .content-left.select-simple{grid-template-columns:4fr 96fr}.s-select__item .content-left{display:grid;align-items:center;justify-content:space-evenly;margin-right:.5rem;grid-template-columns:3fr 4fr 96fr;gap:.25rem;justify-items:start}.s-select__item .content-left s-icon-mat span{font-size:1.3rem}.s-select__item .content-left s-icon-mat.iconPerson{margin-left:.3rem;color:var(--primary-600);height:1.25rem}.s-select__item .content-left s-radio input,.s-select__item .content-left s-checkbox input{cursor:pointer}.s-select__item .content-left .content-avatar{margin-left:.375rem}.s-select__item .content-left .dot{border-radius:100%;width:.3rem;height:.3rem;border:.06rem solid var(--green-600);background-color:var(--green-600);margin-left:.625rem;margin-right:.563rem}.s-select__item .content-center{width:100%}.s-select__item .content-right{display:flex;align-items:center;justify-content:space-evenly;margin-left:.5rem;color:var(--primary-600)}.s-select__item .content-right s-icon-mat span{font-size:1.2rem}.s-select--disabled .s-select-multiple__main,.s-select--disabled .s-select__main{background-color:var(--neutrals-1100);border:.063rem solid var(--neutrals-900);color:var(--neutrals-700);cursor:not-allowed}.s-select--disabled .s-select-multiple__main s-icon-mat.iconPerson,.s-select--disabled .s-select__main s-icon-mat.iconPerson{color:var(--neutrals-700)}.s-select--disabled .s-select-multiple__main .content-avatar .s-avatar__dot-content,.s-select--disabled .s-select__main .content-avatar .s-avatar__dot-content{background-color:var(--neutrals-700)}.s-select--disabled .s-select-multiple__main .content-avatar .s-avatar__dot-content s-icon-mat span,.s-select--disabled .s-select__main .content-avatar .s-avatar__dot-content s-icon-mat span{color:var(--neutrals-1100)}.s-select--disabled .s-select-multiple__main .dot,.s-select--disabled .s-select__main .dot{background-color:var(--neutrals-700);border:.06rem solid var(--neutrals-700)}.s-select--disabled .s-select-multiple__main .dot s-icon-mat span,.s-select--disabled .s-select__main .dot s-icon-mat span{color:var(--neutrals-1200)}.s-select--disabled .s-select-multiple__main .dot-content,.s-select--disabled .s-select__main .dot-content{background-color:var(--neutrals-700);border:var(--neutrals-700)}.s-select--disabled .s-select-multiple__main .dot-content s-icon-mat span,.s-select--disabled .s-select__main .dot-content s-icon-mat span{color:var(--neutrals-1200)}.s-select--disabled .s-select-multiple__main s-icon-mat span,.s-select--disabled .s-select__main s-icon-mat span{color:var(--neutrals-700)}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: SIconMaterialComponent, selector: "s-icon-mat", inputs: ["name", "size", "fill", "weight", "grade", "opticalSize", "style", "type"] }, { kind: "component", type: SAvatarComponent, selector: "s-avatar", inputs: ["urlProfileImage", "letters", "status", "display", "size"] }, { kind: "component", type: SCheckboxComponent, selector: "s-checkbox", inputs: ["config"], outputs: ["blur", "focus"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "component", type: SErrorControl, selector: "s-error-control", inputs: ["theme", "icon", "iconCustom", "size"] }, { kind: "component", type: SInputComponent, selector: "s-input", inputs: ["config"], outputs: ["clickHelpIconEvent", "blur", "focus"] }, { kind: "component", type: SValidationError, selector: "s-validation-error", inputs: ["errors", "customErrorMessages"] }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
3374
|
+
], usesInheritance: true, ngImport: i0, template: "<article\r\n *ngIf=\"config\"\r\n class=\"s-select\"\r\n [ngClass]=\"config.disabled || control?.disabled ? 's-select--disabled' : ''\">\r\n <span *ngIf=\"config.label\" class=\"s-select--select-label\">\r\n {{ config.label }}\r\n <span class=\"s-select--required\" *ngIf=\"config?.required\">*</span>\r\n </span>\r\n <section\r\n class=\"s-select__main cursor\"\r\n [ngClass]=\"{\r\n readonly: config.readOnly,\r\n 'theme-red': control && control.invalid && isFocused,\r\n 'is-open': isOpen,\r\n sm: (config.size ?? INPUT_SIZE.MD) === INPUT_SIZE.SM,\r\n md: (config.size ?? INPUT_SIZE.MD) === INPUT_SIZE.MD\r\n }\"\r\n role=\"button\"\r\n tabindex=\"0\"\r\n aria-expanded=\"false\"\r\n aria-controls=\"dropdown\"\r\n aria-haspopup=\"true\"\r\n (click)=\"openDropDown()\"\r\n (keydown)=\"onKeyDownMain($event)\"\r\n >\r\n <div class=\"s-select__main__selected-option select-multiple\">\r\n <div class=\"s-select__main__selected-option__left\">\r\n <div *ngIf=\"config.display === 'dot'\" class=\"dot\"></div>\r\n <s-icon-mat\r\n size=\"{{ config.size === 'md' ? '22' : '17' }}\"\r\n class=\"iconPerson\"\r\n *ngIf=\"config.display === 'iconperson'\">\r\n person_outline\r\n </s-icon-mat>\r\n <div *ngIf=\"config.display === 'profile'\" class=\"content-avatar\">\r\n <s-avatar size=\"{{ config.size === 'sm' ? '16' : '24' }}\"></s-avatar>\r\n </div>\r\n <span *ngIf=\"countSelected >= 1\" class=\"s-select__value\">\r\n {{ selectionText }}\r\n </span>\r\n <span *ngIf=\"countSelected === 0\" class=\"s-select__value\">\r\n {{ config.placeholder }}\r\n </span>\r\n <div class=\"s-select__main__selected-option__right\">\r\n <s-icon-mat\r\n *ngIf=\"!config.readOnly || !config.disabled\"\r\n class=\"{{ isOpen ? 'is-open-arrow' : '' }}\"\r\n >{{ isOpen ? 'expand_less' : 'expand_more' }}</s-icon-mat\r\n >\r\n </div>\r\n </div>\r\n </div>\r\n </section>\r\n <s-validation-error\r\n *ngIf=\"!config.hideErrorText && control && control.invalid && isFocused\"\r\n [customErrorMessages]=\"config.errorMessages ?? undefined\"\r\n [errors]=\"control.errors\">\r\n </s-validation-error>\r\n <s-error-control\r\n *ngIf=\"\r\n !config.hideErrorText && control && control.invalid && config.errorText\r\n \"\r\n theme=\"red\">\r\n {{ config.errorText }}\r\n </s-error-control>\r\n <s-error-control\r\n *ngIf=\"\r\n !config.hideErrorText &&\r\n !config.errorText &&\r\n control &&\r\n !control.errors &&\r\n config.helpText\r\n \">\r\n {{ config.helpText }}\r\n </s-error-control>\r\n <section class=\"s-select__dropdown\" *ngIf=\"isOpen\">\r\n <div class=\"s-select__options-multiple--search\">\r\n <!-- //TODO flag opcional, por defecto true -->\r\n <s-input\r\n [config]=\"configSearch\"\r\n [(ngModel)]=\"searchText\"\r\n (ngModelChange)=\"filter()\"></s-input>\r\n </div>\r\n <div\r\n class=\"s-select__options-multiple\"\r\n [ngClass]=\"config.size === 'sm' ? 'sm' : 'md'\">\r\n <div\r\n role=\"option\"\r\n tabindex=\"0\"\r\n class=\"s-select__item\"\r\n [ngClass]=\"{sm: config.size === 'sm',md: config.size !== 'sm','no-display': !config.display}\"\r\n *ngFor=\"let item of options; index as i\"\r\n (click)=\"changeItem(item)\"\r\n [attr.aria-selected]=\"item.value\"\r\n (keydown)=\"onKeyDownItems($event, item)\"\r\n [class.active]=\"item.value === true\">\r\n <div class=\"content-left select-multiple\">\r\n <s-checkbox\r\n [config]=\"checkItem\"\r\n [(ngModel)]=\"item.value\"></s-checkbox>\r\n <div *ngIf=\"config.display === 'dot'\" class=\"dot\"></div>\r\n <div *ngIf=\"config.display === 'profile'\" class=\"content-avatar\">\r\n <s-avatar\r\n [size]=\"config.size === 'sm' ? '16' : '24'\"\r\n [display]=\"item.user?.display\"\r\n [letters]=\"item.user?.letters\"\r\n [status]=\"item.user?.status\"\r\n [urlProfileImage]=\"item.user?.url\">\r\n </s-avatar>\r\n </div>\r\n <s-icon-mat\r\n size=\"{{ config.size === 'sm' ? '17' : '22' }}\"\r\n class=\"iconPerson\"\r\n *ngIf=\"config.display === 'iconperson'\">\r\n person_outline\r\n </s-icon-mat>\r\n <span class=\"option-value\">\r\n {{ item.title }}\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n <div\r\n class=\"s-select__options-multiple--selected\"\r\n [ngClass]=\"{ sm: config.size === 'sm' }\">\r\n <div class=\"s-select__options-multiple--selected-content\">\r\n <p class=\"s-select__options-multiple--selected-text\">\r\n {{ this.config.selected }}: {{ this.countSelected }}\r\n </p>\r\n <a\r\n tabindex=\"0\"\r\n class=\"s-select__options-multiple--selectAllOption\"\r\n (click)=\"selectAllEvent()\"\r\n (keydown.enter)=\"selectAllEvent()\"\r\n >{{\r\n options.length === countSelected\r\n ? config.deselectAllOptions\r\n : config.selectAllOption\r\n }}</a\r\n >\r\n </div>\r\n </div>\r\n </section>\r\n</article>\r\n", styles: [".s-select{width:100%;position:relative}.s-select__main.readonly{background-color:var(--neutrals-1100);cursor:default}.s-select--required{display:contents;color:var(--primary-600)}.s-select--select-label{color:var(--secondary-600);display:flex;font-size:.875rem;font-weight:400;line-height:1.375rem;letter-spacing:.01rem;margin-bottom:.125rem}.s-select__main{background-color:var(--neutrals-1200);color:var(--secondary-600);border:.063rem solid var(--primary-500);border-radius:.25rem;display:flex;padding:0 .625rem}.s-select__main.theme-red{border-color:var(--red-600)!important;box-shadow:0 0 0 .25rem var(--red-alpha-200),0 .0625rem .125rem 0 var(--blue-alpha-100)!important}.s-select__main.md{height:2.4rem;font-size:1rem}.s-select__main.sm{height:1.5rem;font-size:.9rem}.s-select__main.is-open{border:.06rem solid var(--primary-600);box-shadow:var(--focus-cyan--md)}.s-select__main__selected-option{width:100%;display:flex;align-items:center;justify-content:space-between}.s-select__main__selected-option input{display:none}.s-select__main__selected-option input:-webkit-autofill,.s-select__main__selected-option input:-webkit-autofill:hover,.s-select__main__selected-option input:-webkit-autofill:focus,.s-select__main__selected-option input:-webkit-autofill:active{-webkit-box-shadow:0 0 0 1.9rem var(--neutrals-1200) inset!important}.s-select__main__selected-option span{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.s-select__main__selected-option__left{display:flex;align-items:center;justify-content:space-between;width:100%;gap:.5rem}.s-select__main__selected-option__left__content-option{display:flex;align-items:center;gap:.5rem}.s-select__main__selected-option__left__content-option .placeholder{color:var(--neutrals-700);opacity:.6}.s-select__main__selected-option__left .dot{border-radius:100%;width:.3rem;height:.3rem;border:.06rem solid var(--green-600);background-color:var(--green-600);margin-left:.3rem}.s-select__main__selected-option__left s-icon-mat.iconPerson{margin-left:.3rem;color:var(--primary-600)}.s-select__main__selected-option__left .content-avatar{margin-left:.375rem}.s-select__main__selected-option__right{display:flex;align-items:center;justify-content:space-evenly;color:var(--primary-600)}.s-select__main__selected-option__right .is-open-arrow{color:var(--primary-600)}.s-select__main__selected-option.select-simple .s-select__main__selected-option__left{width:93%}.s-select__main__selected-option.select-multiple .s-select__main__selected-option__left{width:100%}.s-select__options{max-height:12.5rem;overflow-y:auto;position:absolute;width:100%;z-index:2;box-shadow:var(--E300);background-color:var(--neutrals-1200);border-radius:.25rem;left:0}.s-select__options.sm{top:3.5rem}.s-select__options.md{top:4.5rem}.s-select__options.label-off.md{top:3.1rem}.s-select__options.label-off.sm{top:2.1rem}.s-select__dropdown{max-height:30rem;position:absolute;width:100%;z-index:2;box-shadow:var(--E300);background-color:var(--neutrals-1200);border-radius:.25rem;left:0;margin-top:.5rem}.s-select__options-multiple{border-bottom:.063rem solid var(--neutrals-900);border-top:.063rem solid var(--neutrals-900);max-height:13.5rem;overflow-y:auto}.s-select__options-multiple--search{padding:.3rem .5rem;height:100%}.s-select__options-multiple--selected{padding:.3rem .5rem;height:100%;margin-top:.3rem}.s-select__options-multiple--selected .s-button{width:100%}.s-select__options-multiple--selected .sm{font-size:.75rem}.s-select__options-multiple--selected-content{display:flex;justify-content:space-between;margin-top:.5rem}.s-select__options-multiple--selected-text:first-letter{text-transform:uppercase}.s-select__options-multiple--selectAllOption{color:var(--primary-600);cursor:pointer;text-decoration:underline}.s-select__options-multiple-all{align-items:center;display:flex}.s-select__options-multiple-all.sm{font-size:.75rem;padding:.25rem .5rem}.s-select__options-multiple-all.md{font-size:1rem;padding:.625rem .875rem}.s-select__options-multiple-text{padding-left:.625rem}.s-select__item{display:flex;justify-content:space-between;padding:0 .875rem;color:var(--secondary-600)}.s-select__item:hover{background-color:var(--neutrals-1000);cursor:pointer}.s-select__item.sm{font-size:.75rem;padding:.25rem .5rem}.s-select__item.md{font-size:1rem;padding:.625rem .875rem}.s-select__item.no-display .content-left.select-simple{grid-template-columns:auto}.s-select__item.no-display .content-left.select-multiple{grid-template-columns:auto 1fr}.s-select__item.no-display .option-value{margin-left:0;width:100%;max-width:100%;white-space:normal;overflow-wrap:anywhere;word-break:break-word}.s-select__item .option-value{margin-left:.375rem}.s-select__item.active .option-value{font-weight:500;color:var(--primary-600)}.s-select__item .content-left.select-multiple{grid-template-columns:2fr 2fr 96fr}.s-select__item .content-left.select-simple{grid-template-columns:2fr 96fr}.s-select__item .content-left{display:grid;align-items:center;justify-content:space-evenly;margin-right:.5rem;grid-template-columns:3fr 4fr 96fr;gap:.25rem;justify-items:start}.s-select__item .content-left s-icon-mat span{font-size:1.3rem}.s-select__item .content-left s-icon-mat.iconPerson{margin-left:.3rem;color:var(--primary-600);height:1.25rem}.s-select__item .content-left s-radio input,.s-select__item .content-left s-checkbox input{cursor:pointer}.s-select__item .content-left .content-avatar{margin-left:.375rem}.s-select__item .content-left .dot{border-radius:100%;width:.3rem;height:.3rem;border:.06rem solid var(--green-600);background-color:var(--green-600);margin-left:.625rem;margin-right:.563rem}.s-select__item .content-center{width:100%}.s-select__item .content-right{display:flex;align-items:center;justify-content:space-evenly;margin-left:.5rem;color:var(--primary-600)}.s-select__item .content-right s-icon-mat span{font-size:1.2rem}.s-select--disabled .s-select-multiple__main,.s-select--disabled .s-select__main{background-color:var(--neutrals-1100);border:.063rem solid var(--neutrals-900);color:var(--neutrals-700);cursor:not-allowed}.s-select--disabled .s-select-multiple__main s-icon-mat.iconPerson,.s-select--disabled .s-select__main s-icon-mat.iconPerson{color:var(--neutrals-700)}.s-select--disabled .s-select-multiple__main .content-avatar .s-avatar__dot-content,.s-select--disabled .s-select__main .content-avatar .s-avatar__dot-content{background-color:var(--neutrals-700)}.s-select--disabled .s-select-multiple__main .content-avatar .s-avatar__dot-content s-icon-mat span,.s-select--disabled .s-select__main .content-avatar .s-avatar__dot-content s-icon-mat span{color:var(--neutrals-1100)}.s-select--disabled .s-select-multiple__main .dot,.s-select--disabled .s-select__main .dot{background-color:var(--neutrals-700);border:.06rem solid var(--neutrals-700)}.s-select--disabled .s-select-multiple__main .dot s-icon-mat span,.s-select--disabled .s-select__main .dot s-icon-mat span{color:var(--neutrals-1200)}.s-select--disabled .s-select-multiple__main .dot-content,.s-select--disabled .s-select__main .dot-content{background-color:var(--neutrals-700);border:var(--neutrals-700)}.s-select--disabled .s-select-multiple__main .dot-content s-icon-mat span,.s-select--disabled .s-select__main .dot-content s-icon-mat span{color:var(--neutrals-1200)}.s-select--disabled .s-select-multiple__main s-icon-mat span,.s-select--disabled .s-select__main s-icon-mat span{color:var(--neutrals-700)}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: SIconMaterialComponent, selector: "s-icon-mat", inputs: ["name", "size", "fill", "weight", "grade", "opticalSize", "style", "type"] }, { kind: "component", type: SAvatarComponent, selector: "s-avatar", inputs: ["urlProfileImage", "letters", "status", "display", "size"] }, { kind: "component", type: SCheckboxComponent, selector: "s-checkbox", inputs: ["config"], outputs: ["blur", "focus"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "component", type: SErrorControl, selector: "s-error-control", inputs: ["theme", "icon", "iconCustom", "size"] }, { kind: "component", type: SInputComponent, selector: "s-input", inputs: ["config"], outputs: ["clickHelpIconEvent", "blur", "focus"] }, { kind: "component", type: SValidationError, selector: "s-validation-error", inputs: ["errors", "customErrorMessages"] }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
3350
3375
|
}
|
|
3351
3376
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SSelectMultipleComponent, decorators: [{
|
|
3352
3377
|
type: Component,
|
|
@@ -3356,7 +3381,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
3356
3381
|
useExisting: forwardRef(() => SSelectMultipleComponent),
|
|
3357
3382
|
multi: true,
|
|
3358
3383
|
},
|
|
3359
|
-
], template: "<article\r\n *ngIf=\"config\"\r\n class=\"s-select\"\r\n [ngClass]=\"config.disabled || control?.disabled ? 's-select--disabled' : ''\">\r\n <span *ngIf=\"config.label\" class=\"s-select--select-label\">\r\n {{ config.label }}\r\n <span class=\"s-select--required\" *ngIf=\"config?.required\">*</span>\r\n </span>\r\n <section\r\n [ngClass]=\"{\r\n 'theme-red': control && control.invalid && isFocused,\r\n 'is-open': isOpen,\r\n sm: (config.size ?? INPUT_SIZE.MD) === INPUT_SIZE.SM,\r\n md: (config.size ?? INPUT_SIZE.MD) === INPUT_SIZE.MD,\r\n }\"\r\n role=\"button\"\r\n tabindex=\"0\"\r\n aria-expanded=\"false\"\r\n aria-controls=\"dropdown\"\r\n aria-haspopup=\"true\"\r\n class=\"s-select__main cursor\"\r\n [ngClass]=\"config.size === 'sm' ? 'sm' : 'md'\"\r\n (click)=\"openDropDown()\"\r\n (keydown)=\"onKeyDownMain($event)\">\r\n <div class=\"s-select__main__selected-option select-multiple\">\r\n <div class=\"s-select__main__selected-option__left\">\r\n <div *ngIf=\"config.display === 'dot'\" class=\"dot\"></div>\r\n <s-icon-mat\r\n size=\"{{ config.size === 'md' ? '22' : '17' }}\"\r\n class=\"iconPerson\"\r\n *ngIf=\"config.display === 'iconperson'\">\r\n person_outline\r\n </s-icon-mat>\r\n <div *ngIf=\"config.display === 'profile'\" class=\"content-avatar\">\r\n <s-avatar size=\"{{ config.size === 'sm' ? '16' : '24' }}\"></s-avatar>\r\n </div>\r\n <span *ngIf=\"countSelected >= 1\" class=\"s-select__value\">\r\n {{ selectionText }}\r\n </span>\r\n <span *ngIf=\"countSelected === 0\" class=\"s-select__value\">\r\n {{ config.placeholder }}\r\n </span>\r\n <div class=\"s-select__main__selected-option__right\">\r\n <s-icon-mat\r\n *ngIf=\"!config.readOnly || !config.disabled\"\r\n class=\"{{ isOpen ? 'is-open-arrow' : '' }}\"\r\n >{{ isOpen ? 'expand_less' : 'expand_more' }}</s-icon-mat\r\n >\r\n </div>\r\n </div>\r\n </div>\r\n </section>\r\n <s-validation-error\r\n *ngIf=\"!config.hideErrorText && control && control.invalid && isFocused\"\r\n [customErrorMessages]=\"config.errorMessages ?? undefined\"\r\n [errors]=\"control.errors\">\r\n </s-validation-error>\r\n <s-error-control\r\n *ngIf=\"\r\n !config.hideErrorText && control && control.invalid && config.errorText\r\n \"\r\n theme=\"red\">\r\n {{ config.errorText }}\r\n </s-error-control>\r\n <s-error-control\r\n *ngIf=\"\r\n !config.hideErrorText &&\r\n !config.errorText &&\r\n control &&\r\n !control.errors &&\r\n config.helpText\r\n \">\r\n {{ config.helpText }}\r\n </s-error-control>\r\n <section class=\"s-select__dropdown\" *ngIf=\"isOpen\">\r\n <div class=\"s-select__options-multiple--search\">\r\n <!-- //TODO flag opcional, por defecto true -->\r\n <s-input\r\n [config]=\"configSearch\"\r\n [(ngModel)]=\"searchText\"\r\n (ngModelChange)=\"filter()\"></s-input>\r\n </div>\r\n <div\r\n class=\"s-select__options-multiple\"\r\n [ngClass]=\"config.size === 'sm' ? 'sm' : 'md'\">\r\n <div\r\n role=\"option\"\r\n tabindex=\"0\"\r\n class=\"s-select__item\"\r\n [ngClass]=\"config.size === 'sm' ? 'sm' : 'md'\"\r\n *ngFor=\"let item of options; index as i\"\r\n (click)=\"changeItem(item)\"\r\n [attr.aria-selected]=\"item.value\"\r\n (keydown)=\"onKeyDownItems($event, item)\"\r\n [class.active]=\"item.value === true\">\r\n <div class=\"content-left select-multiple\">\r\n <s-checkbox\r\n [config]=\"checkItem\"\r\n [(ngModel)]=\"item.value\"></s-checkbox>\r\n <div *ngIf=\"config.display === 'dot'\" class=\"dot\"></div>\r\n <div *ngIf=\"config.display === 'profile'\" class=\"content-avatar\">\r\n <s-avatar\r\n [size]=\"config.size === 'sm' ? '16' : '24'\"\r\n [display]=\"item.user?.display\"\r\n [letters]=\"item.user?.letters\"\r\n [status]=\"item.user?.status\"\r\n [urlProfileImage]=\"item.user?.url\">\r\n </s-avatar>\r\n </div>\r\n <s-icon-mat\r\n size=\"{{ config.size === 'sm' ? '17' : '22' }}\"\r\n class=\"iconPerson\"\r\n *ngIf=\"config.display === 'iconperson'\">\r\n person_outline\r\n </s-icon-mat>\r\n <span class=\"option-value\">\r\n {{ item.title }}\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n <div\r\n class=\"s-select__options-multiple--selected\"\r\n [ngClass]=\"{ sm: config.size === 'sm' }\">\r\n <div class=\"s-select__options-multiple--selected-content\">\r\n <p class=\"s-select__options-multiple--selected-text\">\r\n {{ this.config.selected }}: {{ this.countSelected }}\r\n </p>\r\n <a\r\n tabindex=\"0\"\r\n class=\"s-select__options-multiple--selectAllOption\"\r\n (click)=\"selectAllEvent()\"\r\n (keydown.enter)=\"selectAllEvent()\"\r\n >{{\r\n options.length === countSelected\r\n ? config.deselectAllOptions\r\n : config.selectAllOption\r\n }}</a\r\n >\r\n </div>\r\n </div>\r\n </section>\r\n</article>\r\n", styles: [".s-select{width:100%;position:relative}.s-select--required{display:contents;color:var(--primary-600)}.s-select--select-label{color:var(--secondary-600);display:flex;font-size:.875rem;font-weight:400;line-height:1.375rem;letter-spacing:.01rem;margin-bottom:.125rem}.s-select__main{background-color:var(--neutrals-1200);color:var(--secondary-600);border:.063rem solid var(--primary-500);border-radius:.25rem;display:flex;padding:0 .625rem}.s-select__main.theme-red{border-color:var(--red-600)!important;box-shadow:0 0 0 .25rem var(--red-alpha-200),0 .0625rem .125rem 0 var(--blue-alpha-100)!important}.s-select__main.md{height:2.4rem;font-size:1rem}.s-select__main.sm{height:1.5rem;font-size:.9rem}.s-select__main.is-open{border:.06rem solid var(--primary-600);box-shadow:var(--focus-cyan--md)}.s-select__main__selected-option{width:100%;display:flex;align-items:center;justify-content:space-between}.s-select__main__selected-option input{display:none}.s-select__main__selected-option input:-webkit-autofill,.s-select__main__selected-option input:-webkit-autofill:hover,.s-select__main__selected-option input:-webkit-autofill:focus,.s-select__main__selected-option input:-webkit-autofill:active{-webkit-box-shadow:0 0 0 1.9rem var(--neutrals-1200) inset!important}.s-select__main__selected-option span{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.s-select__main__selected-option__left{display:flex;align-items:center;justify-content:space-between;width:100%;gap:.5rem}.s-select__main__selected-option__left__content-option{display:flex;align-items:center;gap:.5rem}.s-select__main__selected-option__left__content-option .placeholder{color:var(--neutrals-700);opacity:.6}.s-select__main__selected-option__left .dot{border-radius:100%;width:.3rem;height:.3rem;border:.06rem solid var(--green-600);background-color:var(--green-600);margin-left:.3rem}.s-select__main__selected-option__left s-icon-mat.iconPerson{margin-left:.3rem;color:var(--primary-600)}.s-select__main__selected-option__left .content-avatar{margin-left:.375rem}.s-select__main__selected-option__right{display:flex;align-items:center;justify-content:space-evenly;color:var(--primary-600)}.s-select__main__selected-option__right .is-open-arrow{color:var(--primary-600)}.s-select__main__selected-option.select-simple .s-select__main__selected-option__left{width:93%}.s-select__main__selected-option.select-multiple .s-select__main__selected-option__left{width:100%}.s-select__options{max-height:12.5rem;overflow-y:auto;position:absolute;width:100%;z-index:2;box-shadow:var(--E300);background-color:var(--neutrals-1200);border-radius:.25rem;left:0}.s-select__options.sm{top:3.5rem}.s-select__options.md{top:4.5rem}.s-select__options.label-off.md{top:3.1rem}.s-select__options.label-off.sm{top:2.1rem}.s-select__dropdown{max-height:30rem;position:absolute;width:100%;z-index:2;box-shadow:var(--E300);background-color:var(--neutrals-1200);border-radius:.25rem;left:0;margin-top:.5rem}.s-select__options-multiple{border-bottom:.063rem solid var(--neutrals-900);border-top:.063rem solid var(--neutrals-900);max-height:13.5rem;overflow-y:auto}.s-select__options-multiple--search{padding:.3rem .5rem;height:100%}.s-select__options-multiple--selected{padding:.3rem .5rem;height:100%;margin-top:.3rem}.s-select__options-multiple--selected .s-button{width:100%}.s-select__options-multiple--selected .sm{font-size:.75rem}.s-select__options-multiple--selected-content{display:flex;justify-content:space-between;margin-top:.5rem}.s-select__options-multiple--selected-text:first-letter{text-transform:uppercase}.s-select__options-multiple--selectAllOption{color:var(--primary-600);cursor:pointer;text-decoration:underline}.s-select__options-multiple-all{align-items:center;display:flex}.s-select__options-multiple-all.sm{font-size:.75rem;padding:.25rem .5rem}.s-select__options-multiple-all.md{font-size:1rem;padding:.625rem .875rem}.s-select__options-multiple-text{padding-left:.625rem}.s-select__item{display:flex;justify-content:space-between;padding:0 .875rem;color:var(--secondary-600)}.s-select__item:hover{background-color:var(--neutrals-1000);cursor:pointer}.s-select__item.sm{font-size:.75rem;padding:.25rem .5rem}.s-select__item.md{font-size:1rem;padding:.625rem .875rem}.s-select__item .option-value{margin-left:.375rem}.s-select__item.active .option-value{font-weight:500;color:var(--primary-600)}.s-select__item .content-left.select-multiple{grid-template-columns:3fr 4fr 96fr}.s-select__item .content-left.select-simple{grid-template-columns:4fr 96fr}.s-select__item .content-left{display:grid;align-items:center;justify-content:space-evenly;margin-right:.5rem;grid-template-columns:3fr 4fr 96fr;gap:.25rem;justify-items:start}.s-select__item .content-left s-icon-mat span{font-size:1.3rem}.s-select__item .content-left s-icon-mat.iconPerson{margin-left:.3rem;color:var(--primary-600);height:1.25rem}.s-select__item .content-left s-radio input,.s-select__item .content-left s-checkbox input{cursor:pointer}.s-select__item .content-left .content-avatar{margin-left:.375rem}.s-select__item .content-left .dot{border-radius:100%;width:.3rem;height:.3rem;border:.06rem solid var(--green-600);background-color:var(--green-600);margin-left:.625rem;margin-right:.563rem}.s-select__item .content-center{width:100%}.s-select__item .content-right{display:flex;align-items:center;justify-content:space-evenly;margin-left:.5rem;color:var(--primary-600)}.s-select__item .content-right s-icon-mat span{font-size:1.2rem}.s-select--disabled .s-select-multiple__main,.s-select--disabled .s-select__main{background-color:var(--neutrals-1100);border:.063rem solid var(--neutrals-900);color:var(--neutrals-700);cursor:not-allowed}.s-select--disabled .s-select-multiple__main s-icon-mat.iconPerson,.s-select--disabled .s-select__main s-icon-mat.iconPerson{color:var(--neutrals-700)}.s-select--disabled .s-select-multiple__main .content-avatar .s-avatar__dot-content,.s-select--disabled .s-select__main .content-avatar .s-avatar__dot-content{background-color:var(--neutrals-700)}.s-select--disabled .s-select-multiple__main .content-avatar .s-avatar__dot-content s-icon-mat span,.s-select--disabled .s-select__main .content-avatar .s-avatar__dot-content s-icon-mat span{color:var(--neutrals-1100)}.s-select--disabled .s-select-multiple__main .dot,.s-select--disabled .s-select__main .dot{background-color:var(--neutrals-700);border:.06rem solid var(--neutrals-700)}.s-select--disabled .s-select-multiple__main .dot s-icon-mat span,.s-select--disabled .s-select__main .dot s-icon-mat span{color:var(--neutrals-1200)}.s-select--disabled .s-select-multiple__main .dot-content,.s-select--disabled .s-select__main .dot-content{background-color:var(--neutrals-700);border:var(--neutrals-700)}.s-select--disabled .s-select-multiple__main .dot-content s-icon-mat span,.s-select--disabled .s-select__main .dot-content s-icon-mat span{color:var(--neutrals-1200)}.s-select--disabled .s-select-multiple__main s-icon-mat span,.s-select--disabled .s-select__main s-icon-mat span{color:var(--neutrals-700)}\n"] }]
|
|
3384
|
+
], template: "<article\r\n *ngIf=\"config\"\r\n class=\"s-select\"\r\n [ngClass]=\"config.disabled || control?.disabled ? 's-select--disabled' : ''\">\r\n <span *ngIf=\"config.label\" class=\"s-select--select-label\">\r\n {{ config.label }}\r\n <span class=\"s-select--required\" *ngIf=\"config?.required\">*</span>\r\n </span>\r\n <section\r\n class=\"s-select__main cursor\"\r\n [ngClass]=\"{\r\n readonly: config.readOnly,\r\n 'theme-red': control && control.invalid && isFocused,\r\n 'is-open': isOpen,\r\n sm: (config.size ?? INPUT_SIZE.MD) === INPUT_SIZE.SM,\r\n md: (config.size ?? INPUT_SIZE.MD) === INPUT_SIZE.MD\r\n }\"\r\n role=\"button\"\r\n tabindex=\"0\"\r\n aria-expanded=\"false\"\r\n aria-controls=\"dropdown\"\r\n aria-haspopup=\"true\"\r\n (click)=\"openDropDown()\"\r\n (keydown)=\"onKeyDownMain($event)\"\r\n >\r\n <div class=\"s-select__main__selected-option select-multiple\">\r\n <div class=\"s-select__main__selected-option__left\">\r\n <div *ngIf=\"config.display === 'dot'\" class=\"dot\"></div>\r\n <s-icon-mat\r\n size=\"{{ config.size === 'md' ? '22' : '17' }}\"\r\n class=\"iconPerson\"\r\n *ngIf=\"config.display === 'iconperson'\">\r\n person_outline\r\n </s-icon-mat>\r\n <div *ngIf=\"config.display === 'profile'\" class=\"content-avatar\">\r\n <s-avatar size=\"{{ config.size === 'sm' ? '16' : '24' }}\"></s-avatar>\r\n </div>\r\n <span *ngIf=\"countSelected >= 1\" class=\"s-select__value\">\r\n {{ selectionText }}\r\n </span>\r\n <span *ngIf=\"countSelected === 0\" class=\"s-select__value\">\r\n {{ config.placeholder }}\r\n </span>\r\n <div class=\"s-select__main__selected-option__right\">\r\n <s-icon-mat\r\n *ngIf=\"!config.readOnly || !config.disabled\"\r\n class=\"{{ isOpen ? 'is-open-arrow' : '' }}\"\r\n >{{ isOpen ? 'expand_less' : 'expand_more' }}</s-icon-mat\r\n >\r\n </div>\r\n </div>\r\n </div>\r\n </section>\r\n <s-validation-error\r\n *ngIf=\"!config.hideErrorText && control && control.invalid && isFocused\"\r\n [customErrorMessages]=\"config.errorMessages ?? undefined\"\r\n [errors]=\"control.errors\">\r\n </s-validation-error>\r\n <s-error-control\r\n *ngIf=\"\r\n !config.hideErrorText && control && control.invalid && config.errorText\r\n \"\r\n theme=\"red\">\r\n {{ config.errorText }}\r\n </s-error-control>\r\n <s-error-control\r\n *ngIf=\"\r\n !config.hideErrorText &&\r\n !config.errorText &&\r\n control &&\r\n !control.errors &&\r\n config.helpText\r\n \">\r\n {{ config.helpText }}\r\n </s-error-control>\r\n <section class=\"s-select__dropdown\" *ngIf=\"isOpen\">\r\n <div class=\"s-select__options-multiple--search\">\r\n <!-- //TODO flag opcional, por defecto true -->\r\n <s-input\r\n [config]=\"configSearch\"\r\n [(ngModel)]=\"searchText\"\r\n (ngModelChange)=\"filter()\"></s-input>\r\n </div>\r\n <div\r\n class=\"s-select__options-multiple\"\r\n [ngClass]=\"config.size === 'sm' ? 'sm' : 'md'\">\r\n <div\r\n role=\"option\"\r\n tabindex=\"0\"\r\n class=\"s-select__item\"\r\n [ngClass]=\"{sm: config.size === 'sm',md: config.size !== 'sm','no-display': !config.display}\"\r\n *ngFor=\"let item of options; index as i\"\r\n (click)=\"changeItem(item)\"\r\n [attr.aria-selected]=\"item.value\"\r\n (keydown)=\"onKeyDownItems($event, item)\"\r\n [class.active]=\"item.value === true\">\r\n <div class=\"content-left select-multiple\">\r\n <s-checkbox\r\n [config]=\"checkItem\"\r\n [(ngModel)]=\"item.value\"></s-checkbox>\r\n <div *ngIf=\"config.display === 'dot'\" class=\"dot\"></div>\r\n <div *ngIf=\"config.display === 'profile'\" class=\"content-avatar\">\r\n <s-avatar\r\n [size]=\"config.size === 'sm' ? '16' : '24'\"\r\n [display]=\"item.user?.display\"\r\n [letters]=\"item.user?.letters\"\r\n [status]=\"item.user?.status\"\r\n [urlProfileImage]=\"item.user?.url\">\r\n </s-avatar>\r\n </div>\r\n <s-icon-mat\r\n size=\"{{ config.size === 'sm' ? '17' : '22' }}\"\r\n class=\"iconPerson\"\r\n *ngIf=\"config.display === 'iconperson'\">\r\n person_outline\r\n </s-icon-mat>\r\n <span class=\"option-value\">\r\n {{ item.title }}\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n <div\r\n class=\"s-select__options-multiple--selected\"\r\n [ngClass]=\"{ sm: config.size === 'sm' }\">\r\n <div class=\"s-select__options-multiple--selected-content\">\r\n <p class=\"s-select__options-multiple--selected-text\">\r\n {{ this.config.selected }}: {{ this.countSelected }}\r\n </p>\r\n <a\r\n tabindex=\"0\"\r\n class=\"s-select__options-multiple--selectAllOption\"\r\n (click)=\"selectAllEvent()\"\r\n (keydown.enter)=\"selectAllEvent()\"\r\n >{{\r\n options.length === countSelected\r\n ? config.deselectAllOptions\r\n : config.selectAllOption\r\n }}</a\r\n >\r\n </div>\r\n </div>\r\n </section>\r\n</article>\r\n", styles: [".s-select{width:100%;position:relative}.s-select__main.readonly{background-color:var(--neutrals-1100);cursor:default}.s-select--required{display:contents;color:var(--primary-600)}.s-select--select-label{color:var(--secondary-600);display:flex;font-size:.875rem;font-weight:400;line-height:1.375rem;letter-spacing:.01rem;margin-bottom:.125rem}.s-select__main{background-color:var(--neutrals-1200);color:var(--secondary-600);border:.063rem solid var(--primary-500);border-radius:.25rem;display:flex;padding:0 .625rem}.s-select__main.theme-red{border-color:var(--red-600)!important;box-shadow:0 0 0 .25rem var(--red-alpha-200),0 .0625rem .125rem 0 var(--blue-alpha-100)!important}.s-select__main.md{height:2.4rem;font-size:1rem}.s-select__main.sm{height:1.5rem;font-size:.9rem}.s-select__main.is-open{border:.06rem solid var(--primary-600);box-shadow:var(--focus-cyan--md)}.s-select__main__selected-option{width:100%;display:flex;align-items:center;justify-content:space-between}.s-select__main__selected-option input{display:none}.s-select__main__selected-option input:-webkit-autofill,.s-select__main__selected-option input:-webkit-autofill:hover,.s-select__main__selected-option input:-webkit-autofill:focus,.s-select__main__selected-option input:-webkit-autofill:active{-webkit-box-shadow:0 0 0 1.9rem var(--neutrals-1200) inset!important}.s-select__main__selected-option span{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.s-select__main__selected-option__left{display:flex;align-items:center;justify-content:space-between;width:100%;gap:.5rem}.s-select__main__selected-option__left__content-option{display:flex;align-items:center;gap:.5rem}.s-select__main__selected-option__left__content-option .placeholder{color:var(--neutrals-700);opacity:.6}.s-select__main__selected-option__left .dot{border-radius:100%;width:.3rem;height:.3rem;border:.06rem solid var(--green-600);background-color:var(--green-600);margin-left:.3rem}.s-select__main__selected-option__left s-icon-mat.iconPerson{margin-left:.3rem;color:var(--primary-600)}.s-select__main__selected-option__left .content-avatar{margin-left:.375rem}.s-select__main__selected-option__right{display:flex;align-items:center;justify-content:space-evenly;color:var(--primary-600)}.s-select__main__selected-option__right .is-open-arrow{color:var(--primary-600)}.s-select__main__selected-option.select-simple .s-select__main__selected-option__left{width:93%}.s-select__main__selected-option.select-multiple .s-select__main__selected-option__left{width:100%}.s-select__options{max-height:12.5rem;overflow-y:auto;position:absolute;width:100%;z-index:2;box-shadow:var(--E300);background-color:var(--neutrals-1200);border-radius:.25rem;left:0}.s-select__options.sm{top:3.5rem}.s-select__options.md{top:4.5rem}.s-select__options.label-off.md{top:3.1rem}.s-select__options.label-off.sm{top:2.1rem}.s-select__dropdown{max-height:30rem;position:absolute;width:100%;z-index:2;box-shadow:var(--E300);background-color:var(--neutrals-1200);border-radius:.25rem;left:0;margin-top:.5rem}.s-select__options-multiple{border-bottom:.063rem solid var(--neutrals-900);border-top:.063rem solid var(--neutrals-900);max-height:13.5rem;overflow-y:auto}.s-select__options-multiple--search{padding:.3rem .5rem;height:100%}.s-select__options-multiple--selected{padding:.3rem .5rem;height:100%;margin-top:.3rem}.s-select__options-multiple--selected .s-button{width:100%}.s-select__options-multiple--selected .sm{font-size:.75rem}.s-select__options-multiple--selected-content{display:flex;justify-content:space-between;margin-top:.5rem}.s-select__options-multiple--selected-text:first-letter{text-transform:uppercase}.s-select__options-multiple--selectAllOption{color:var(--primary-600);cursor:pointer;text-decoration:underline}.s-select__options-multiple-all{align-items:center;display:flex}.s-select__options-multiple-all.sm{font-size:.75rem;padding:.25rem .5rem}.s-select__options-multiple-all.md{font-size:1rem;padding:.625rem .875rem}.s-select__options-multiple-text{padding-left:.625rem}.s-select__item{display:flex;justify-content:space-between;padding:0 .875rem;color:var(--secondary-600)}.s-select__item:hover{background-color:var(--neutrals-1000);cursor:pointer}.s-select__item.sm{font-size:.75rem;padding:.25rem .5rem}.s-select__item.md{font-size:1rem;padding:.625rem .875rem}.s-select__item.no-display .content-left.select-simple{grid-template-columns:auto}.s-select__item.no-display .content-left.select-multiple{grid-template-columns:auto 1fr}.s-select__item.no-display .option-value{margin-left:0;width:100%;max-width:100%;white-space:normal;overflow-wrap:anywhere;word-break:break-word}.s-select__item .option-value{margin-left:.375rem}.s-select__item.active .option-value{font-weight:500;color:var(--primary-600)}.s-select__item .content-left.select-multiple{grid-template-columns:2fr 2fr 96fr}.s-select__item .content-left.select-simple{grid-template-columns:2fr 96fr}.s-select__item .content-left{display:grid;align-items:center;justify-content:space-evenly;margin-right:.5rem;grid-template-columns:3fr 4fr 96fr;gap:.25rem;justify-items:start}.s-select__item .content-left s-icon-mat span{font-size:1.3rem}.s-select__item .content-left s-icon-mat.iconPerson{margin-left:.3rem;color:var(--primary-600);height:1.25rem}.s-select__item .content-left s-radio input,.s-select__item .content-left s-checkbox input{cursor:pointer}.s-select__item .content-left .content-avatar{margin-left:.375rem}.s-select__item .content-left .dot{border-radius:100%;width:.3rem;height:.3rem;border:.06rem solid var(--green-600);background-color:var(--green-600);margin-left:.625rem;margin-right:.563rem}.s-select__item .content-center{width:100%}.s-select__item .content-right{display:flex;align-items:center;justify-content:space-evenly;margin-left:.5rem;color:var(--primary-600)}.s-select__item .content-right s-icon-mat span{font-size:1.2rem}.s-select--disabled .s-select-multiple__main,.s-select--disabled .s-select__main{background-color:var(--neutrals-1100);border:.063rem solid var(--neutrals-900);color:var(--neutrals-700);cursor:not-allowed}.s-select--disabled .s-select-multiple__main s-icon-mat.iconPerson,.s-select--disabled .s-select__main s-icon-mat.iconPerson{color:var(--neutrals-700)}.s-select--disabled .s-select-multiple__main .content-avatar .s-avatar__dot-content,.s-select--disabled .s-select__main .content-avatar .s-avatar__dot-content{background-color:var(--neutrals-700)}.s-select--disabled .s-select-multiple__main .content-avatar .s-avatar__dot-content s-icon-mat span,.s-select--disabled .s-select__main .content-avatar .s-avatar__dot-content s-icon-mat span{color:var(--neutrals-1100)}.s-select--disabled .s-select-multiple__main .dot,.s-select--disabled .s-select__main .dot{background-color:var(--neutrals-700);border:.06rem solid var(--neutrals-700)}.s-select--disabled .s-select-multiple__main .dot s-icon-mat span,.s-select--disabled .s-select__main .dot s-icon-mat span{color:var(--neutrals-1200)}.s-select--disabled .s-select-multiple__main .dot-content,.s-select--disabled .s-select__main .dot-content{background-color:var(--neutrals-700);border:var(--neutrals-700)}.s-select--disabled .s-select-multiple__main .dot-content s-icon-mat span,.s-select--disabled .s-select__main .dot-content s-icon-mat span{color:var(--neutrals-1200)}.s-select--disabled .s-select-multiple__main s-icon-mat span,.s-select--disabled .s-select__main s-icon-mat span{color:var(--neutrals-700)}\n"] }]
|
|
3360
3385
|
}], ctorParameters: () => [{ type: SelectNavigationService }, { type: i0.Injector }], propDecorators: { config: [{
|
|
3361
3386
|
type: Input
|
|
3362
3387
|
}], selectEvent: [{
|
|
@@ -3394,13 +3419,14 @@ class SSelectComponent extends ControlValueAccessorDirective {
|
|
|
3394
3419
|
return this.control;
|
|
3395
3420
|
}
|
|
3396
3421
|
getTitle() {
|
|
3397
|
-
if (this.
|
|
3398
|
-
|
|
3399
|
-
|
|
3422
|
+
if (!this.config?.options?.length) {
|
|
3423
|
+
return '';
|
|
3424
|
+
}
|
|
3425
|
+
if (this.value === null || this.value === undefined) {
|
|
3426
|
+
return '';
|
|
3400
3427
|
}
|
|
3401
|
-
|
|
3402
|
-
|
|
3403
|
-
: '';
|
|
3428
|
+
const option = this.config.options.find(item => item.value === this.value.toString());
|
|
3429
|
+
return option?.title ?? '';
|
|
3404
3430
|
}
|
|
3405
3431
|
onInput(event) {
|
|
3406
3432
|
const input = event.target;
|
|
@@ -3458,7 +3484,7 @@ class SSelectComponent extends ControlValueAccessorDirective {
|
|
|
3458
3484
|
useExisting: forwardRef(() => SSelectComponent),
|
|
3459
3485
|
multi: true,
|
|
3460
3486
|
},
|
|
3461
|
-
], usesInheritance: true, ngImport: i0, template: "<div\r\n *ngIf=\"config\"\r\n class=\"s-select\"\r\n [ngClass]=\"config.disabled || control?.disabled ? 's-select--disabled' : ''\">\r\n <span *ngIf=\"config.label\" class=\"s-select--select-label\"\r\n >{{ config.label }}\r\n <span class=\"s-select--required\" *ngIf=\"config?.required\">*</span>\r\n </span>\r\n <div\r\n class=\"s-select__main cursor\"\r\n [ngClass]=\"{\r\n 'theme-red': (control && control.invalid && isFocused ),\r\n 'is-open': isOpen,\r\n 'sm': (config.size ?? INPUT_SIZE.MD) === INPUT_SIZE.SM,\r\n 'md': (config.size ?? INPUT_SIZE.MD) === INPUT_SIZE.MD\r\n }\"\r\n tabIndex=\"0\"\r\n (keydown)=\"onKeyDownMain($event)\">\r\n <div class=\"s-select__main__selected-option select-simple\">\r\n <div class=\"s-select__main__selected-option__left\" *ngIf=\"value\">\r\n <ng-container *ngIf=\"control; else notUseFormControl\">\r\n <ng-container *ngTemplateOutlet=\"display\"></ng-container>\r\n <input\r\n [readOnly]=\"config.readOnly || config.disabled\"\r\n [id]=\"config.id ? config.id : ''\"\r\n [formControl]=\"getControl()\"\r\n (focus)=\"onFocus()\"\r\n (blur)=\"onBlur()\" />\r\n </ng-container>\r\n <ng-template #notUseFormControl>\r\n <ng-container *ngTemplateOutlet=\"display\"></ng-container>\r\n <input\r\n [readOnly]=\"config.readOnly || config.disabled\"\r\n [id]=\"config.id ? config.id : ''\"\r\n [value]=\"value\"\r\n (input)=\"onInput($event)\"\r\n (focus)=\"onFocus()\"\r\n (blur)=\"onBlur()\" />\r\n </ng-template>\r\n <span>{{ getTitle() }}</span>\r\n </div>\r\n <div class=\"s-select__main__selected-option__left\" *ngIf=\"!value\">\r\n <div\r\n class=\"s-select__main__selected-option__left__content-option\"\r\n *ngIf=\"!value\">\r\n <ng-container *ngTemplateOutlet=\"display\"></ng-container>\r\n <span class=\"placeholder\">{{ config.placeholder }}</span>\r\n </div>\r\n </div>\r\n <div class=\"s-select__main__selected-option__right\">\r\n <s-icon-mat\r\n *ngIf=\"!config.readOnly\"\r\n class=\"{{ isOpen ? 'is-open-arrow' : '' }}\"\r\n >{{ isOpen ? 'expand_less' : 'expand_more' }}</s-icon-mat\r\n >\r\n </div>\r\n </div>\r\n </div>\r\n <s-validation-error\r\n *ngIf=\"!config.hideErrorText && control && control.invalid && isFocused\"\r\n [customErrorMessages]=\"config.errorMessages ?? undefined\"\r\n [errors]=\"control.errors\">\r\n </s-validation-error>\r\n <s-error-control\r\n *ngIf=\"!config.hideErrorText && control && control.invalid && config.errorText\"\r\n theme=\"red\">\r\n {{ config.errorText }}\r\n </s-error-control>\r\n <s-error-control\r\n *ngIf=\"!config.hideErrorText && !config.errorText && control && !control.errors && config.helpText\">\r\n {{ config.helpText }}\r\n </s-error-control>\r\n\r\n\r\n <div class=\"s-select__options\" [ngClass]=\"{\r\n 'label-off': !config.label,\r\n 'sm': (config.size ?? INPUT_SIZE.MD) === INPUT_SIZE.SM,\r\n 'md': (config.size ?? INPUT_SIZE.MD) === INPUT_SIZE.MD\r\n }\" *ngIf=\"isOpen\">\r\n <section class=\"s-select__options-simple\">\r\n <div\r\n class=\"s-select__item\"\r\n [ngClass]=\"{\r\n 'sm': (config.size ?? INPUT_SIZE.MD) === INPUT_SIZE.SM,\r\n 'md': (config.size ?? INPUT_SIZE.MD) === INPUT_SIZE.MD\r\n }\"\r\n *ngFor=\"let item of config.options; index as i\"\r\n [class.active]=\"i === activeIndex\"\r\n (click)=\"getSelectedValue(item)\"\r\n (keydown)=\"onKeyDownItems($event, item)\"\r\n tabindex=\"0\">\r\n <div class=\"content-left select-simple\">\r\n <div *ngIf=\"config.display === 'dot'\" class=\"dot\"></div>\r\n <div *ngIf=\"config.display === 'profile'\" class=\"content-avatar\">\r\n <s-avatar\r\n size=\"24\"\r\n [display]=\"item.user?.display\"\r\n [status]=\"item.user?.status\"\r\n [urlProfileImage]=\"item.user?.url\"></s-avatar>\r\n </div>\r\n <s-icon-mat\r\n [size]=\"(config.size ?? INPUT_SIZE.MD) === INPUT_SIZE.SM ? '17' : '22'\"\r\n class=\"iconPerson\"\r\n *ngIf=\"config.display === 'iconperson'\"\r\n >person_outline</s-icon-mat\r\n >\r\n <span class=\"option-value\">\r\n {{ item.title }}\r\n </span>\r\n </div>\r\n <div class=\"content-right\" *ngIf=\"i === activeIndex\">\r\n <s-icon-mat class=\"icon-check\">check</s-icon-mat>\r\n </div>\r\n </div>\r\n </section>\r\n </div>\r\n</div>\r\n\r\n<ng-template #display>\r\n <div *ngIf=\"config.display === 'dot'\" class=\"dot\"></div>\r\n <s-icon-mat\r\n [size]=\"(config.size ?? INPUT_SIZE.MD) === INPUT_SIZE.SM ? '17' : '22'\"\r\n class=\"iconPerson\"\r\n *ngIf=\"config.display === 'iconperson'\"\r\n >person_outline</s-icon-mat\r\n >\r\n <div\r\n *ngIf=\"\r\n config?.display === 'profile' &&\r\n (activeIndex || this.activeIndex === 0) &&\r\n config.options[activeIndex]?.user\r\n \"\r\n class=\"content-avatar\">\r\n <s-avatar\r\n size=\"24\"\r\n [status]=\"config.options[activeIndex].user?.status ?? null\"\r\n [display]=\"config.options[activeIndex].user?.display ?? undefined\"\r\n [urlProfileImage]=\"\r\n config.options[activeIndex].user?.url ?? undefined\r\n \"></s-avatar>\r\n </div>\r\n</ng-template>", styles: [".s-select{width:100%;position:relative}.s-select--required{display:contents;color:var(--primary-600)}.s-select--select-label{color:var(--secondary-600);display:flex;font-size:.875rem;font-weight:400;line-height:1.375rem;letter-spacing:.01rem;margin-bottom:.125rem}.s-select__main{background-color:var(--neutrals-1200);color:var(--secondary-600);border:.063rem solid var(--primary-500);border-radius:.25rem;display:flex;padding:0 .625rem}.s-select__main.theme-red{border-color:var(--red-600)!important;box-shadow:0 0 0 .25rem var(--red-alpha-200),0 .0625rem .125rem 0 var(--blue-alpha-100)!important}.s-select__main.md{height:2.4rem;font-size:1rem}.s-select__main.sm{height:1.5rem;font-size:.9rem}.s-select__main.is-open{border:.06rem solid var(--primary-600);box-shadow:var(--focus-cyan--md)}.s-select__main__selected-option{width:100%;display:flex;align-items:center;justify-content:space-between}.s-select__main__selected-option input{display:none}.s-select__main__selected-option input:-webkit-autofill,.s-select__main__selected-option input:-webkit-autofill:hover,.s-select__main__selected-option input:-webkit-autofill:focus,.s-select__main__selected-option input:-webkit-autofill:active{-webkit-box-shadow:0 0 0 1.9rem var(--neutrals-1200) inset!important}.s-select__main__selected-option span{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.s-select__main__selected-option__left{display:flex;align-items:center;justify-content:space-between;width:100%;gap:.5rem}.s-select__main__selected-option__left__content-option{display:flex;align-items:center;gap:.5rem}.s-select__main__selected-option__left__content-option .placeholder{color:var(--neutrals-700);opacity:.6}.s-select__main__selected-option__left .dot{border-radius:100%;width:.3rem;height:.3rem;border:.06rem solid var(--green-600);background-color:var(--green-600);margin-left:.3rem}.s-select__main__selected-option__left s-icon-mat.iconPerson{margin-left:.3rem;color:var(--primary-600)}.s-select__main__selected-option__left .content-avatar{margin-left:.375rem}.s-select__main__selected-option__right{display:flex;align-items:center;justify-content:space-evenly;color:var(--primary-600)}.s-select__main__selected-option__right .is-open-arrow{color:var(--primary-600)}.s-select__main__selected-option.select-simple .s-select__main__selected-option__left{width:93%}.s-select__main__selected-option.select-multiple .s-select__main__selected-option__left{width:100%}.s-select__options{max-height:12.5rem;overflow-y:auto;position:absolute;width:100%;z-index:2;box-shadow:var(--E300);background-color:var(--neutrals-1200);border-radius:.25rem;left:0}.s-select__options.sm{top:3.5rem}.s-select__options.md{top:4.5rem}.s-select__options.label-off.md{top:3.1rem}.s-select__options.label-off.sm{top:2.1rem}.s-select__dropdown{max-height:30rem;position:absolute;width:100%;z-index:2;box-shadow:var(--E300);background-color:var(--neutrals-1200);border-radius:.25rem;left:0;margin-top:.5rem}.s-select__options-multiple{border-bottom:.063rem solid var(--neutrals-900);border-top:.063rem solid var(--neutrals-900);max-height:13.5rem;overflow-y:auto}.s-select__options-multiple--search{padding:.3rem .5rem;height:100%}.s-select__options-multiple--selected{padding:.3rem .5rem;height:100%;margin-top:.3rem}.s-select__options-multiple--selected .s-button{width:100%}.s-select__options-multiple--selected .sm{font-size:.75rem}.s-select__options-multiple--selected-content{display:flex;justify-content:space-between;margin-top:.5rem}.s-select__options-multiple--selected-text:first-letter{text-transform:uppercase}.s-select__options-multiple--selectAllOption{color:var(--primary-600);cursor:pointer;text-decoration:underline}.s-select__options-multiple-all{align-items:center;display:flex}.s-select__options-multiple-all.sm{font-size:.75rem;padding:.25rem .5rem}.s-select__options-multiple-all.md{font-size:1rem;padding:.625rem .875rem}.s-select__options-multiple-text{padding-left:.625rem}.s-select__item{display:flex;justify-content:space-between;padding:0 .875rem;color:var(--secondary-600)}.s-select__item:hover{background-color:var(--neutrals-1000);cursor:pointer}.s-select__item.sm{font-size:.75rem;padding:.25rem .5rem}.s-select__item.md{font-size:1rem;padding:.625rem .875rem}.s-select__item .option-value{margin-left:.375rem}.s-select__item.active .option-value{font-weight:500;color:var(--primary-600)}.s-select__item .content-left.select-multiple{grid-template-columns:3fr 4fr 96fr}.s-select__item .content-left.select-simple{grid-template-columns:4fr 96fr}.s-select__item .content-left{display:grid;align-items:center;justify-content:space-evenly;margin-right:.5rem;grid-template-columns:3fr 4fr 96fr;gap:.25rem;justify-items:start}.s-select__item .content-left s-icon-mat span{font-size:1.3rem}.s-select__item .content-left s-icon-mat.iconPerson{margin-left:.3rem;color:var(--primary-600);height:1.25rem}.s-select__item .content-left s-radio input,.s-select__item .content-left s-checkbox input{cursor:pointer}.s-select__item .content-left .content-avatar{margin-left:.375rem}.s-select__item .content-left .dot{border-radius:100%;width:.3rem;height:.3rem;border:.06rem solid var(--green-600);background-color:var(--green-600);margin-left:.625rem;margin-right:.563rem}.s-select__item .content-center{width:100%}.s-select__item .content-right{display:flex;align-items:center;justify-content:space-evenly;margin-left:.5rem;color:var(--primary-600)}.s-select__item .content-right s-icon-mat span{font-size:1.2rem}.s-select--disabled .s-select-multiple__main,.s-select--disabled .s-select__main{background-color:var(--neutrals-1100);border:.063rem solid var(--neutrals-900);color:var(--neutrals-700);cursor:not-allowed}.s-select--disabled .s-select-multiple__main s-icon-mat.iconPerson,.s-select--disabled .s-select__main s-icon-mat.iconPerson{color:var(--neutrals-700)}.s-select--disabled .s-select-multiple__main .content-avatar .s-avatar__dot-content,.s-select--disabled .s-select__main .content-avatar .s-avatar__dot-content{background-color:var(--neutrals-700)}.s-select--disabled .s-select-multiple__main .content-avatar .s-avatar__dot-content s-icon-mat span,.s-select--disabled .s-select__main .content-avatar .s-avatar__dot-content s-icon-mat span{color:var(--neutrals-1100)}.s-select--disabled .s-select-multiple__main .dot,.s-select--disabled .s-select__main .dot{background-color:var(--neutrals-700);border:.06rem solid var(--neutrals-700)}.s-select--disabled .s-select-multiple__main .dot s-icon-mat span,.s-select--disabled .s-select__main .dot s-icon-mat span{color:var(--neutrals-1200)}.s-select--disabled .s-select-multiple__main .dot-content,.s-select--disabled .s-select__main .dot-content{background-color:var(--neutrals-700);border:var(--neutrals-700)}.s-select--disabled .s-select-multiple__main .dot-content s-icon-mat span,.s-select--disabled .s-select__main .dot-content s-icon-mat span{color:var(--neutrals-1200)}.s-select--disabled .s-select-multiple__main s-icon-mat span,.s-select--disabled .s-select__main s-icon-mat span{color:var(--neutrals-700)}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: SIconMaterialComponent, selector: "s-icon-mat", inputs: ["name", "size", "fill", "weight", "grade", "opticalSize", "style", "type"] }, { kind: "component", type: SAvatarComponent, selector: "s-avatar", inputs: ["urlProfileImage", "letters", "status", "display", "size"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: SErrorControl, selector: "s-error-control", inputs: ["theme", "icon", "iconCustom", "size"] }, { kind: "component", type: SValidationError, selector: "s-validation-error", inputs: ["errors", "customErrorMessages"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
3487
|
+
], usesInheritance: true, ngImport: i0, template: "<div\r\n *ngIf=\"config\"\r\n class=\"s-select\"\r\n [ngClass]=\"config.disabled || control?.disabled ? 's-select--disabled' : ''\">\r\n <span *ngIf=\"config.label\" class=\"s-select--select-label\"\r\n >{{ config.label }}\r\n <span class=\"s-select--required\" *ngIf=\"config?.required\">*</span>\r\n </span>\r\n <div\r\n class=\"s-select__main cursor\"\r\n [ngClass]=\"{\r\n 'theme-red': (control && control.invalid && isFocused ),\r\n 'is-open': isOpen,\r\n 'readonly': config.readOnly,\r\n 'sm': (config.size ?? INPUT_SIZE.MD) === INPUT_SIZE.SM,\r\n 'md': (config.size ?? INPUT_SIZE.MD) === INPUT_SIZE.MD\r\n }\"\r\n tabIndex=\"0\"\r\n (keydown)=\"onKeyDownMain($event)\">\r\n <div class=\"s-select__main__selected-option select-simple\">\r\n <div class=\"s-select__main__selected-option__left\" *ngIf=\"value\">\r\n <ng-container *ngIf=\"control; else notUseFormControl\">\r\n <ng-container *ngTemplateOutlet=\"display\"></ng-container>\r\n <input\r\n [readOnly]=\"config.readOnly || config.disabled\"\r\n [id]=\"config.id ? config.id : ''\"\r\n [formControl]=\"getControl()\"\r\n (focus)=\"onFocus()\"\r\n (blur)=\"onBlur()\" />\r\n </ng-container>\r\n <ng-template #notUseFormControl>\r\n <ng-container *ngTemplateOutlet=\"display\"></ng-container>\r\n <input\r\n [readOnly]=\"config.readOnly || config.disabled\"\r\n [id]=\"config.id ? config.id : ''\"\r\n [value]=\"value\"\r\n (input)=\"onInput($event)\"\r\n (focus)=\"onFocus()\"\r\n (blur)=\"onBlur()\" />\r\n </ng-template>\r\n <span>{{ getTitle() }}</span>\r\n </div>\r\n <div class=\"s-select__main__selected-option__left\" *ngIf=\"!value\">\r\n <div\r\n class=\"s-select__main__selected-option__left__content-option\"\r\n *ngIf=\"!value\">\r\n <ng-container *ngTemplateOutlet=\"display\"></ng-container>\r\n <span class=\"placeholder\">{{ config.placeholder }}</span>\r\n </div>\r\n </div>\r\n <div class=\"s-select__main__selected-option__right\">\r\n <s-icon-mat\r\n *ngIf=\"!config.readOnly\"\r\n class=\"{{ isOpen ? 'is-open-arrow' : '' }}\"\r\n >{{ isOpen ? 'expand_less' : 'expand_more' }}</s-icon-mat\r\n >\r\n </div>\r\n </div>\r\n </div>\r\n <s-validation-error\r\n *ngIf=\"!config.hideErrorText && control && control.invalid && isFocused\"\r\n [customErrorMessages]=\"config.errorMessages ?? undefined\"\r\n [errors]=\"control.errors\">\r\n </s-validation-error>\r\n <s-error-control\r\n *ngIf=\"!config.hideErrorText && control && control.invalid && config.errorText\"\r\n theme=\"red\">\r\n {{ config.errorText }}\r\n </s-error-control>\r\n <s-error-control\r\n *ngIf=\"!config.hideErrorText && !config.errorText && control && !control.errors && config.helpText\">\r\n {{ config.helpText }}\r\n </s-error-control>\r\n\r\n\r\n <div class=\"s-select__options\" [ngClass]=\"{\r\n 'label-off': !config.label,\r\n 'sm': (config.size ?? INPUT_SIZE.MD) === INPUT_SIZE.SM,\r\n 'md': (config.size ?? INPUT_SIZE.MD) === INPUT_SIZE.MD\r\n }\" *ngIf=\"isOpen\">\r\n <section class=\"s-select__options-simple\">\r\n <div\r\n class=\"s-select__item\"\r\n [ngClass]=\"{\r\n 'sm': (config.size ?? INPUT_SIZE.MD) === INPUT_SIZE.SM,\r\n 'md': (config.size ?? INPUT_SIZE.MD) === INPUT_SIZE.MD,\r\n 'no-display': !config.display\r\n }\"\r\n *ngFor=\"let item of config.options; index as i\"\r\n [class.active]=\"i === activeIndex\"\r\n (click)=\"getSelectedValue(item)\"\r\n (keydown)=\"onKeyDownItems($event, item)\"\r\n tabindex=\"0\">\r\n <div class=\"content-left select-simple\">\r\n <div *ngIf=\"config.display === 'dot'\" class=\"dot\"></div>\r\n <div *ngIf=\"config.display === 'profile'\" class=\"content-avatar\">\r\n <s-avatar\r\n size=\"24\"\r\n [display]=\"item.user?.display\"\r\n [status]=\"item.user?.status\"\r\n [urlProfileImage]=\"item.user?.url\"></s-avatar>\r\n </div>\r\n <s-icon-mat\r\n [size]=\"(config.size ?? INPUT_SIZE.MD) === INPUT_SIZE.SM ? '17' : '22'\"\r\n class=\"iconPerson\"\r\n *ngIf=\"config.display === 'iconperson'\"\r\n >person_outline</s-icon-mat\r\n >\r\n <span class=\"option-value\">\r\n {{ item.title }}\r\n </span>\r\n </div>\r\n <div class=\"content-right\" *ngIf=\"i === activeIndex\">\r\n <s-icon-mat class=\"icon-check\">check</s-icon-mat>\r\n </div>\r\n </div>\r\n </section>\r\n </div>\r\n</div>\r\n\r\n<ng-template #display>\r\n <div *ngIf=\"config.display === 'dot'\" class=\"dot\"></div>\r\n <s-icon-mat\r\n [size]=\"(config.size ?? INPUT_SIZE.MD) === INPUT_SIZE.SM ? '17' : '22'\"\r\n class=\"iconPerson\"\r\n *ngIf=\"config.display === 'iconperson'\"\r\n >person_outline</s-icon-mat\r\n >\r\n <div\r\n *ngIf=\"\r\n config?.display === 'profile' &&\r\n (activeIndex || this.activeIndex === 0) &&\r\n config.options[activeIndex]?.user\r\n \"\r\n class=\"content-avatar\">\r\n <s-avatar\r\n size=\"24\"\r\n [status]=\"config.options[activeIndex].user?.status ?? null\"\r\n [display]=\"config.options[activeIndex].user?.display ?? undefined\"\r\n [urlProfileImage]=\"\r\n config.options[activeIndex].user?.url ?? undefined\r\n \"></s-avatar>\r\n </div>\r\n</ng-template>", styles: [".s-select{width:100%;position:relative}.s-select__main.readonly{background-color:var(--neutrals-1100);cursor:default}.s-select--required{display:contents;color:var(--primary-600)}.s-select--select-label{color:var(--secondary-600);display:flex;font-size:.875rem;font-weight:400;line-height:1.375rem;letter-spacing:.01rem;margin-bottom:.125rem}.s-select__main{background-color:var(--neutrals-1200);color:var(--secondary-600);border:.063rem solid var(--primary-500);border-radius:.25rem;display:flex;padding:0 .625rem}.s-select__main.theme-red{border-color:var(--red-600)!important;box-shadow:0 0 0 .25rem var(--red-alpha-200),0 .0625rem .125rem 0 var(--blue-alpha-100)!important}.s-select__main.md{height:2.4rem;font-size:1rem}.s-select__main.sm{height:1.5rem;font-size:.9rem}.s-select__main.is-open{border:.06rem solid var(--primary-600);box-shadow:var(--focus-cyan--md)}.s-select__main__selected-option{width:100%;display:flex;align-items:center;justify-content:space-between}.s-select__main__selected-option input{display:none}.s-select__main__selected-option input:-webkit-autofill,.s-select__main__selected-option input:-webkit-autofill:hover,.s-select__main__selected-option input:-webkit-autofill:focus,.s-select__main__selected-option input:-webkit-autofill:active{-webkit-box-shadow:0 0 0 1.9rem var(--neutrals-1200) inset!important}.s-select__main__selected-option span{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.s-select__main__selected-option__left{display:flex;align-items:center;justify-content:space-between;width:100%;gap:.5rem}.s-select__main__selected-option__left__content-option{display:flex;align-items:center;gap:.5rem}.s-select__main__selected-option__left__content-option .placeholder{color:var(--neutrals-700);opacity:.6}.s-select__main__selected-option__left .dot{border-radius:100%;width:.3rem;height:.3rem;border:.06rem solid var(--green-600);background-color:var(--green-600);margin-left:.3rem}.s-select__main__selected-option__left s-icon-mat.iconPerson{margin-left:.3rem;color:var(--primary-600)}.s-select__main__selected-option__left .content-avatar{margin-left:.375rem}.s-select__main__selected-option__right{display:flex;align-items:center;justify-content:space-evenly;color:var(--primary-600)}.s-select__main__selected-option__right .is-open-arrow{color:var(--primary-600)}.s-select__main__selected-option.select-simple .s-select__main__selected-option__left{width:93%}.s-select__main__selected-option.select-multiple .s-select__main__selected-option__left{width:100%}.s-select__options{max-height:12.5rem;overflow-y:auto;position:absolute;width:100%;z-index:2;box-shadow:var(--E300);background-color:var(--neutrals-1200);border-radius:.25rem;left:0}.s-select__options.sm{top:3.5rem}.s-select__options.md{top:4.5rem}.s-select__options.label-off.md{top:3.1rem}.s-select__options.label-off.sm{top:2.1rem}.s-select__dropdown{max-height:30rem;position:absolute;width:100%;z-index:2;box-shadow:var(--E300);background-color:var(--neutrals-1200);border-radius:.25rem;left:0;margin-top:.5rem}.s-select__options-multiple{border-bottom:.063rem solid var(--neutrals-900);border-top:.063rem solid var(--neutrals-900);max-height:13.5rem;overflow-y:auto}.s-select__options-multiple--search{padding:.3rem .5rem;height:100%}.s-select__options-multiple--selected{padding:.3rem .5rem;height:100%;margin-top:.3rem}.s-select__options-multiple--selected .s-button{width:100%}.s-select__options-multiple--selected .sm{font-size:.75rem}.s-select__options-multiple--selected-content{display:flex;justify-content:space-between;margin-top:.5rem}.s-select__options-multiple--selected-text:first-letter{text-transform:uppercase}.s-select__options-multiple--selectAllOption{color:var(--primary-600);cursor:pointer;text-decoration:underline}.s-select__options-multiple-all{align-items:center;display:flex}.s-select__options-multiple-all.sm{font-size:.75rem;padding:.25rem .5rem}.s-select__options-multiple-all.md{font-size:1rem;padding:.625rem .875rem}.s-select__options-multiple-text{padding-left:.625rem}.s-select__item{display:flex;justify-content:space-between;padding:0 .875rem;color:var(--secondary-600)}.s-select__item:hover{background-color:var(--neutrals-1000);cursor:pointer}.s-select__item.sm{font-size:.75rem;padding:.25rem .5rem}.s-select__item.md{font-size:1rem;padding:.625rem .875rem}.s-select__item.no-display .content-left.select-simple{grid-template-columns:auto}.s-select__item.no-display .content-left.select-multiple{grid-template-columns:auto 1fr}.s-select__item.no-display .option-value{margin-left:0;width:100%;max-width:100%;white-space:normal;overflow-wrap:anywhere;word-break:break-word}.s-select__item .option-value{margin-left:.375rem}.s-select__item.active .option-value{font-weight:500;color:var(--primary-600)}.s-select__item .content-left.select-multiple{grid-template-columns:2fr 2fr 96fr}.s-select__item .content-left.select-simple{grid-template-columns:2fr 96fr}.s-select__item .content-left{display:grid;align-items:center;justify-content:space-evenly;margin-right:.5rem;grid-template-columns:3fr 4fr 96fr;gap:.25rem;justify-items:start}.s-select__item .content-left s-icon-mat span{font-size:1.3rem}.s-select__item .content-left s-icon-mat.iconPerson{margin-left:.3rem;color:var(--primary-600);height:1.25rem}.s-select__item .content-left s-radio input,.s-select__item .content-left s-checkbox input{cursor:pointer}.s-select__item .content-left .content-avatar{margin-left:.375rem}.s-select__item .content-left .dot{border-radius:100%;width:.3rem;height:.3rem;border:.06rem solid var(--green-600);background-color:var(--green-600);margin-left:.625rem;margin-right:.563rem}.s-select__item .content-center{width:100%}.s-select__item .content-right{display:flex;align-items:center;justify-content:space-evenly;margin-left:.5rem;color:var(--primary-600)}.s-select__item .content-right s-icon-mat span{font-size:1.2rem}.s-select--disabled .s-select-multiple__main,.s-select--disabled .s-select__main{background-color:var(--neutrals-1100);border:.063rem solid var(--neutrals-900);color:var(--neutrals-700);cursor:not-allowed}.s-select--disabled .s-select-multiple__main s-icon-mat.iconPerson,.s-select--disabled .s-select__main s-icon-mat.iconPerson{color:var(--neutrals-700)}.s-select--disabled .s-select-multiple__main .content-avatar .s-avatar__dot-content,.s-select--disabled .s-select__main .content-avatar .s-avatar__dot-content{background-color:var(--neutrals-700)}.s-select--disabled .s-select-multiple__main .content-avatar .s-avatar__dot-content s-icon-mat span,.s-select--disabled .s-select__main .content-avatar .s-avatar__dot-content s-icon-mat span{color:var(--neutrals-1100)}.s-select--disabled .s-select-multiple__main .dot,.s-select--disabled .s-select__main .dot{background-color:var(--neutrals-700);border:.06rem solid var(--neutrals-700)}.s-select--disabled .s-select-multiple__main .dot s-icon-mat span,.s-select--disabled .s-select__main .dot s-icon-mat span{color:var(--neutrals-1200)}.s-select--disabled .s-select-multiple__main .dot-content,.s-select--disabled .s-select__main .dot-content{background-color:var(--neutrals-700);border:var(--neutrals-700)}.s-select--disabled .s-select-multiple__main .dot-content s-icon-mat span,.s-select--disabled .s-select__main .dot-content s-icon-mat span{color:var(--neutrals-1200)}.s-select--disabled .s-select-multiple__main s-icon-mat span,.s-select--disabled .s-select__main s-icon-mat span{color:var(--neutrals-700)}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: SIconMaterialComponent, selector: "s-icon-mat", inputs: ["name", "size", "fill", "weight", "grade", "opticalSize", "style", "type"] }, { kind: "component", type: SAvatarComponent, selector: "s-avatar", inputs: ["urlProfileImage", "letters", "status", "display", "size"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: SErrorControl, selector: "s-error-control", inputs: ["theme", "icon", "iconCustom", "size"] }, { kind: "component", type: SValidationError, selector: "s-validation-error", inputs: ["errors", "customErrorMessages"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
3462
3488
|
}
|
|
3463
3489
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SSelectComponent, decorators: [{
|
|
3464
3490
|
type: Component,
|
|
@@ -3468,7 +3494,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
3468
3494
|
useExisting: forwardRef(() => SSelectComponent),
|
|
3469
3495
|
multi: true,
|
|
3470
3496
|
},
|
|
3471
|
-
], template: "<div\r\n *ngIf=\"config\"\r\n class=\"s-select\"\r\n [ngClass]=\"config.disabled || control?.disabled ? 's-select--disabled' : ''\">\r\n <span *ngIf=\"config.label\" class=\"s-select--select-label\"\r\n >{{ config.label }}\r\n <span class=\"s-select--required\" *ngIf=\"config?.required\">*</span>\r\n </span>\r\n <div\r\n class=\"s-select__main cursor\"\r\n [ngClass]=\"{\r\n 'theme-red': (control && control.invalid && isFocused ),\r\n 'is-open': isOpen,\r\n 'sm': (config.size ?? INPUT_SIZE.MD) === INPUT_SIZE.SM,\r\n 'md': (config.size ?? INPUT_SIZE.MD) === INPUT_SIZE.MD\r\n }\"\r\n tabIndex=\"0\"\r\n (keydown)=\"onKeyDownMain($event)\">\r\n <div class=\"s-select__main__selected-option select-simple\">\r\n <div class=\"s-select__main__selected-option__left\" *ngIf=\"value\">\r\n <ng-container *ngIf=\"control; else notUseFormControl\">\r\n <ng-container *ngTemplateOutlet=\"display\"></ng-container>\r\n <input\r\n [readOnly]=\"config.readOnly || config.disabled\"\r\n [id]=\"config.id ? config.id : ''\"\r\n [formControl]=\"getControl()\"\r\n (focus)=\"onFocus()\"\r\n (blur)=\"onBlur()\" />\r\n </ng-container>\r\n <ng-template #notUseFormControl>\r\n <ng-container *ngTemplateOutlet=\"display\"></ng-container>\r\n <input\r\n [readOnly]=\"config.readOnly || config.disabled\"\r\n [id]=\"config.id ? config.id : ''\"\r\n [value]=\"value\"\r\n (input)=\"onInput($event)\"\r\n (focus)=\"onFocus()\"\r\n (blur)=\"onBlur()\" />\r\n </ng-template>\r\n <span>{{ getTitle() }}</span>\r\n </div>\r\n <div class=\"s-select__main__selected-option__left\" *ngIf=\"!value\">\r\n <div\r\n class=\"s-select__main__selected-option__left__content-option\"\r\n *ngIf=\"!value\">\r\n <ng-container *ngTemplateOutlet=\"display\"></ng-container>\r\n <span class=\"placeholder\">{{ config.placeholder }}</span>\r\n </div>\r\n </div>\r\n <div class=\"s-select__main__selected-option__right\">\r\n <s-icon-mat\r\n *ngIf=\"!config.readOnly\"\r\n class=\"{{ isOpen ? 'is-open-arrow' : '' }}\"\r\n >{{ isOpen ? 'expand_less' : 'expand_more' }}</s-icon-mat\r\n >\r\n </div>\r\n </div>\r\n </div>\r\n <s-validation-error\r\n *ngIf=\"!config.hideErrorText && control && control.invalid && isFocused\"\r\n [customErrorMessages]=\"config.errorMessages ?? undefined\"\r\n [errors]=\"control.errors\">\r\n </s-validation-error>\r\n <s-error-control\r\n *ngIf=\"!config.hideErrorText && control && control.invalid && config.errorText\"\r\n theme=\"red\">\r\n {{ config.errorText }}\r\n </s-error-control>\r\n <s-error-control\r\n *ngIf=\"!config.hideErrorText && !config.errorText && control && !control.errors && config.helpText\">\r\n {{ config.helpText }}\r\n </s-error-control>\r\n\r\n\r\n <div class=\"s-select__options\" [ngClass]=\"{\r\n 'label-off': !config.label,\r\n 'sm': (config.size ?? INPUT_SIZE.MD) === INPUT_SIZE.SM,\r\n 'md': (config.size ?? INPUT_SIZE.MD) === INPUT_SIZE.MD\r\n }\" *ngIf=\"isOpen\">\r\n <section class=\"s-select__options-simple\">\r\n <div\r\n class=\"s-select__item\"\r\n [ngClass]=\"{\r\n 'sm': (config.size ?? INPUT_SIZE.MD) === INPUT_SIZE.SM,\r\n 'md': (config.size ?? INPUT_SIZE.MD) === INPUT_SIZE.MD\r\n }\"\r\n *ngFor=\"let item of config.options; index as i\"\r\n [class.active]=\"i === activeIndex\"\r\n (click)=\"getSelectedValue(item)\"\r\n (keydown)=\"onKeyDownItems($event, item)\"\r\n tabindex=\"0\">\r\n <div class=\"content-left select-simple\">\r\n <div *ngIf=\"config.display === 'dot'\" class=\"dot\"></div>\r\n <div *ngIf=\"config.display === 'profile'\" class=\"content-avatar\">\r\n <s-avatar\r\n size=\"24\"\r\n [display]=\"item.user?.display\"\r\n [status]=\"item.user?.status\"\r\n [urlProfileImage]=\"item.user?.url\"></s-avatar>\r\n </div>\r\n <s-icon-mat\r\n [size]=\"(config.size ?? INPUT_SIZE.MD) === INPUT_SIZE.SM ? '17' : '22'\"\r\n class=\"iconPerson\"\r\n *ngIf=\"config.display === 'iconperson'\"\r\n >person_outline</s-icon-mat\r\n >\r\n <span class=\"option-value\">\r\n {{ item.title }}\r\n </span>\r\n </div>\r\n <div class=\"content-right\" *ngIf=\"i === activeIndex\">\r\n <s-icon-mat class=\"icon-check\">check</s-icon-mat>\r\n </div>\r\n </div>\r\n </section>\r\n </div>\r\n</div>\r\n\r\n<ng-template #display>\r\n <div *ngIf=\"config.display === 'dot'\" class=\"dot\"></div>\r\n <s-icon-mat\r\n [size]=\"(config.size ?? INPUT_SIZE.MD) === INPUT_SIZE.SM ? '17' : '22'\"\r\n class=\"iconPerson\"\r\n *ngIf=\"config.display === 'iconperson'\"\r\n >person_outline</s-icon-mat\r\n >\r\n <div\r\n *ngIf=\"\r\n config?.display === 'profile' &&\r\n (activeIndex || this.activeIndex === 0) &&\r\n config.options[activeIndex]?.user\r\n \"\r\n class=\"content-avatar\">\r\n <s-avatar\r\n size=\"24\"\r\n [status]=\"config.options[activeIndex].user?.status ?? null\"\r\n [display]=\"config.options[activeIndex].user?.display ?? undefined\"\r\n [urlProfileImage]=\"\r\n config.options[activeIndex].user?.url ?? undefined\r\n \"></s-avatar>\r\n </div>\r\n</ng-template>", styles: [".s-select{width:100%;position:relative}.s-select--required{display:contents;color:var(--primary-600)}.s-select--select-label{color:var(--secondary-600);display:flex;font-size:.875rem;font-weight:400;line-height:1.375rem;letter-spacing:.01rem;margin-bottom:.125rem}.s-select__main{background-color:var(--neutrals-1200);color:var(--secondary-600);border:.063rem solid var(--primary-500);border-radius:.25rem;display:flex;padding:0 .625rem}.s-select__main.theme-red{border-color:var(--red-600)!important;box-shadow:0 0 0 .25rem var(--red-alpha-200),0 .0625rem .125rem 0 var(--blue-alpha-100)!important}.s-select__main.md{height:2.4rem;font-size:1rem}.s-select__main.sm{height:1.5rem;font-size:.9rem}.s-select__main.is-open{border:.06rem solid var(--primary-600);box-shadow:var(--focus-cyan--md)}.s-select__main__selected-option{width:100%;display:flex;align-items:center;justify-content:space-between}.s-select__main__selected-option input{display:none}.s-select__main__selected-option input:-webkit-autofill,.s-select__main__selected-option input:-webkit-autofill:hover,.s-select__main__selected-option input:-webkit-autofill:focus,.s-select__main__selected-option input:-webkit-autofill:active{-webkit-box-shadow:0 0 0 1.9rem var(--neutrals-1200) inset!important}.s-select__main__selected-option span{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.s-select__main__selected-option__left{display:flex;align-items:center;justify-content:space-between;width:100%;gap:.5rem}.s-select__main__selected-option__left__content-option{display:flex;align-items:center;gap:.5rem}.s-select__main__selected-option__left__content-option .placeholder{color:var(--neutrals-700);opacity:.6}.s-select__main__selected-option__left .dot{border-radius:100%;width:.3rem;height:.3rem;border:.06rem solid var(--green-600);background-color:var(--green-600);margin-left:.3rem}.s-select__main__selected-option__left s-icon-mat.iconPerson{margin-left:.3rem;color:var(--primary-600)}.s-select__main__selected-option__left .content-avatar{margin-left:.375rem}.s-select__main__selected-option__right{display:flex;align-items:center;justify-content:space-evenly;color:var(--primary-600)}.s-select__main__selected-option__right .is-open-arrow{color:var(--primary-600)}.s-select__main__selected-option.select-simple .s-select__main__selected-option__left{width:93%}.s-select__main__selected-option.select-multiple .s-select__main__selected-option__left{width:100%}.s-select__options{max-height:12.5rem;overflow-y:auto;position:absolute;width:100%;z-index:2;box-shadow:var(--E300);background-color:var(--neutrals-1200);border-radius:.25rem;left:0}.s-select__options.sm{top:3.5rem}.s-select__options.md{top:4.5rem}.s-select__options.label-off.md{top:3.1rem}.s-select__options.label-off.sm{top:2.1rem}.s-select__dropdown{max-height:30rem;position:absolute;width:100%;z-index:2;box-shadow:var(--E300);background-color:var(--neutrals-1200);border-radius:.25rem;left:0;margin-top:.5rem}.s-select__options-multiple{border-bottom:.063rem solid var(--neutrals-900);border-top:.063rem solid var(--neutrals-900);max-height:13.5rem;overflow-y:auto}.s-select__options-multiple--search{padding:.3rem .5rem;height:100%}.s-select__options-multiple--selected{padding:.3rem .5rem;height:100%;margin-top:.3rem}.s-select__options-multiple--selected .s-button{width:100%}.s-select__options-multiple--selected .sm{font-size:.75rem}.s-select__options-multiple--selected-content{display:flex;justify-content:space-between;margin-top:.5rem}.s-select__options-multiple--selected-text:first-letter{text-transform:uppercase}.s-select__options-multiple--selectAllOption{color:var(--primary-600);cursor:pointer;text-decoration:underline}.s-select__options-multiple-all{align-items:center;display:flex}.s-select__options-multiple-all.sm{font-size:.75rem;padding:.25rem .5rem}.s-select__options-multiple-all.md{font-size:1rem;padding:.625rem .875rem}.s-select__options-multiple-text{padding-left:.625rem}.s-select__item{display:flex;justify-content:space-between;padding:0 .875rem;color:var(--secondary-600)}.s-select__item:hover{background-color:var(--neutrals-1000);cursor:pointer}.s-select__item.sm{font-size:.75rem;padding:.25rem .5rem}.s-select__item.md{font-size:1rem;padding:.625rem .875rem}.s-select__item .option-value{margin-left:.375rem}.s-select__item.active .option-value{font-weight:500;color:var(--primary-600)}.s-select__item .content-left.select-multiple{grid-template-columns:3fr 4fr 96fr}.s-select__item .content-left.select-simple{grid-template-columns:4fr 96fr}.s-select__item .content-left{display:grid;align-items:center;justify-content:space-evenly;margin-right:.5rem;grid-template-columns:3fr 4fr 96fr;gap:.25rem;justify-items:start}.s-select__item .content-left s-icon-mat span{font-size:1.3rem}.s-select__item .content-left s-icon-mat.iconPerson{margin-left:.3rem;color:var(--primary-600);height:1.25rem}.s-select__item .content-left s-radio input,.s-select__item .content-left s-checkbox input{cursor:pointer}.s-select__item .content-left .content-avatar{margin-left:.375rem}.s-select__item .content-left .dot{border-radius:100%;width:.3rem;height:.3rem;border:.06rem solid var(--green-600);background-color:var(--green-600);margin-left:.625rem;margin-right:.563rem}.s-select__item .content-center{width:100%}.s-select__item .content-right{display:flex;align-items:center;justify-content:space-evenly;margin-left:.5rem;color:var(--primary-600)}.s-select__item .content-right s-icon-mat span{font-size:1.2rem}.s-select--disabled .s-select-multiple__main,.s-select--disabled .s-select__main{background-color:var(--neutrals-1100);border:.063rem solid var(--neutrals-900);color:var(--neutrals-700);cursor:not-allowed}.s-select--disabled .s-select-multiple__main s-icon-mat.iconPerson,.s-select--disabled .s-select__main s-icon-mat.iconPerson{color:var(--neutrals-700)}.s-select--disabled .s-select-multiple__main .content-avatar .s-avatar__dot-content,.s-select--disabled .s-select__main .content-avatar .s-avatar__dot-content{background-color:var(--neutrals-700)}.s-select--disabled .s-select-multiple__main .content-avatar .s-avatar__dot-content s-icon-mat span,.s-select--disabled .s-select__main .content-avatar .s-avatar__dot-content s-icon-mat span{color:var(--neutrals-1100)}.s-select--disabled .s-select-multiple__main .dot,.s-select--disabled .s-select__main .dot{background-color:var(--neutrals-700);border:.06rem solid var(--neutrals-700)}.s-select--disabled .s-select-multiple__main .dot s-icon-mat span,.s-select--disabled .s-select__main .dot s-icon-mat span{color:var(--neutrals-1200)}.s-select--disabled .s-select-multiple__main .dot-content,.s-select--disabled .s-select__main .dot-content{background-color:var(--neutrals-700);border:var(--neutrals-700)}.s-select--disabled .s-select-multiple__main .dot-content s-icon-mat span,.s-select--disabled .s-select__main .dot-content s-icon-mat span{color:var(--neutrals-1200)}.s-select--disabled .s-select-multiple__main s-icon-mat span,.s-select--disabled .s-select__main s-icon-mat span{color:var(--neutrals-700)}\n"] }]
|
|
3497
|
+
], template: "<div\r\n *ngIf=\"config\"\r\n class=\"s-select\"\r\n [ngClass]=\"config.disabled || control?.disabled ? 's-select--disabled' : ''\">\r\n <span *ngIf=\"config.label\" class=\"s-select--select-label\"\r\n >{{ config.label }}\r\n <span class=\"s-select--required\" *ngIf=\"config?.required\">*</span>\r\n </span>\r\n <div\r\n class=\"s-select__main cursor\"\r\n [ngClass]=\"{\r\n 'theme-red': (control && control.invalid && isFocused ),\r\n 'is-open': isOpen,\r\n 'readonly': config.readOnly,\r\n 'sm': (config.size ?? INPUT_SIZE.MD) === INPUT_SIZE.SM,\r\n 'md': (config.size ?? INPUT_SIZE.MD) === INPUT_SIZE.MD\r\n }\"\r\n tabIndex=\"0\"\r\n (keydown)=\"onKeyDownMain($event)\">\r\n <div class=\"s-select__main__selected-option select-simple\">\r\n <div class=\"s-select__main__selected-option__left\" *ngIf=\"value\">\r\n <ng-container *ngIf=\"control; else notUseFormControl\">\r\n <ng-container *ngTemplateOutlet=\"display\"></ng-container>\r\n <input\r\n [readOnly]=\"config.readOnly || config.disabled\"\r\n [id]=\"config.id ? config.id : ''\"\r\n [formControl]=\"getControl()\"\r\n (focus)=\"onFocus()\"\r\n (blur)=\"onBlur()\" />\r\n </ng-container>\r\n <ng-template #notUseFormControl>\r\n <ng-container *ngTemplateOutlet=\"display\"></ng-container>\r\n <input\r\n [readOnly]=\"config.readOnly || config.disabled\"\r\n [id]=\"config.id ? config.id : ''\"\r\n [value]=\"value\"\r\n (input)=\"onInput($event)\"\r\n (focus)=\"onFocus()\"\r\n (blur)=\"onBlur()\" />\r\n </ng-template>\r\n <span>{{ getTitle() }}</span>\r\n </div>\r\n <div class=\"s-select__main__selected-option__left\" *ngIf=\"!value\">\r\n <div\r\n class=\"s-select__main__selected-option__left__content-option\"\r\n *ngIf=\"!value\">\r\n <ng-container *ngTemplateOutlet=\"display\"></ng-container>\r\n <span class=\"placeholder\">{{ config.placeholder }}</span>\r\n </div>\r\n </div>\r\n <div class=\"s-select__main__selected-option__right\">\r\n <s-icon-mat\r\n *ngIf=\"!config.readOnly\"\r\n class=\"{{ isOpen ? 'is-open-arrow' : '' }}\"\r\n >{{ isOpen ? 'expand_less' : 'expand_more' }}</s-icon-mat\r\n >\r\n </div>\r\n </div>\r\n </div>\r\n <s-validation-error\r\n *ngIf=\"!config.hideErrorText && control && control.invalid && isFocused\"\r\n [customErrorMessages]=\"config.errorMessages ?? undefined\"\r\n [errors]=\"control.errors\">\r\n </s-validation-error>\r\n <s-error-control\r\n *ngIf=\"!config.hideErrorText && control && control.invalid && config.errorText\"\r\n theme=\"red\">\r\n {{ config.errorText }}\r\n </s-error-control>\r\n <s-error-control\r\n *ngIf=\"!config.hideErrorText && !config.errorText && control && !control.errors && config.helpText\">\r\n {{ config.helpText }}\r\n </s-error-control>\r\n\r\n\r\n <div class=\"s-select__options\" [ngClass]=\"{\r\n 'label-off': !config.label,\r\n 'sm': (config.size ?? INPUT_SIZE.MD) === INPUT_SIZE.SM,\r\n 'md': (config.size ?? INPUT_SIZE.MD) === INPUT_SIZE.MD\r\n }\" *ngIf=\"isOpen\">\r\n <section class=\"s-select__options-simple\">\r\n <div\r\n class=\"s-select__item\"\r\n [ngClass]=\"{\r\n 'sm': (config.size ?? INPUT_SIZE.MD) === INPUT_SIZE.SM,\r\n 'md': (config.size ?? INPUT_SIZE.MD) === INPUT_SIZE.MD,\r\n 'no-display': !config.display\r\n }\"\r\n *ngFor=\"let item of config.options; index as i\"\r\n [class.active]=\"i === activeIndex\"\r\n (click)=\"getSelectedValue(item)\"\r\n (keydown)=\"onKeyDownItems($event, item)\"\r\n tabindex=\"0\">\r\n <div class=\"content-left select-simple\">\r\n <div *ngIf=\"config.display === 'dot'\" class=\"dot\"></div>\r\n <div *ngIf=\"config.display === 'profile'\" class=\"content-avatar\">\r\n <s-avatar\r\n size=\"24\"\r\n [display]=\"item.user?.display\"\r\n [status]=\"item.user?.status\"\r\n [urlProfileImage]=\"item.user?.url\"></s-avatar>\r\n </div>\r\n <s-icon-mat\r\n [size]=\"(config.size ?? INPUT_SIZE.MD) === INPUT_SIZE.SM ? '17' : '22'\"\r\n class=\"iconPerson\"\r\n *ngIf=\"config.display === 'iconperson'\"\r\n >person_outline</s-icon-mat\r\n >\r\n <span class=\"option-value\">\r\n {{ item.title }}\r\n </span>\r\n </div>\r\n <div class=\"content-right\" *ngIf=\"i === activeIndex\">\r\n <s-icon-mat class=\"icon-check\">check</s-icon-mat>\r\n </div>\r\n </div>\r\n </section>\r\n </div>\r\n</div>\r\n\r\n<ng-template #display>\r\n <div *ngIf=\"config.display === 'dot'\" class=\"dot\"></div>\r\n <s-icon-mat\r\n [size]=\"(config.size ?? INPUT_SIZE.MD) === INPUT_SIZE.SM ? '17' : '22'\"\r\n class=\"iconPerson\"\r\n *ngIf=\"config.display === 'iconperson'\"\r\n >person_outline</s-icon-mat\r\n >\r\n <div\r\n *ngIf=\"\r\n config?.display === 'profile' &&\r\n (activeIndex || this.activeIndex === 0) &&\r\n config.options[activeIndex]?.user\r\n \"\r\n class=\"content-avatar\">\r\n <s-avatar\r\n size=\"24\"\r\n [status]=\"config.options[activeIndex].user?.status ?? null\"\r\n [display]=\"config.options[activeIndex].user?.display ?? undefined\"\r\n [urlProfileImage]=\"\r\n config.options[activeIndex].user?.url ?? undefined\r\n \"></s-avatar>\r\n </div>\r\n</ng-template>", styles: [".s-select{width:100%;position:relative}.s-select__main.readonly{background-color:var(--neutrals-1100);cursor:default}.s-select--required{display:contents;color:var(--primary-600)}.s-select--select-label{color:var(--secondary-600);display:flex;font-size:.875rem;font-weight:400;line-height:1.375rem;letter-spacing:.01rem;margin-bottom:.125rem}.s-select__main{background-color:var(--neutrals-1200);color:var(--secondary-600);border:.063rem solid var(--primary-500);border-radius:.25rem;display:flex;padding:0 .625rem}.s-select__main.theme-red{border-color:var(--red-600)!important;box-shadow:0 0 0 .25rem var(--red-alpha-200),0 .0625rem .125rem 0 var(--blue-alpha-100)!important}.s-select__main.md{height:2.4rem;font-size:1rem}.s-select__main.sm{height:1.5rem;font-size:.9rem}.s-select__main.is-open{border:.06rem solid var(--primary-600);box-shadow:var(--focus-cyan--md)}.s-select__main__selected-option{width:100%;display:flex;align-items:center;justify-content:space-between}.s-select__main__selected-option input{display:none}.s-select__main__selected-option input:-webkit-autofill,.s-select__main__selected-option input:-webkit-autofill:hover,.s-select__main__selected-option input:-webkit-autofill:focus,.s-select__main__selected-option input:-webkit-autofill:active{-webkit-box-shadow:0 0 0 1.9rem var(--neutrals-1200) inset!important}.s-select__main__selected-option span{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.s-select__main__selected-option__left{display:flex;align-items:center;justify-content:space-between;width:100%;gap:.5rem}.s-select__main__selected-option__left__content-option{display:flex;align-items:center;gap:.5rem}.s-select__main__selected-option__left__content-option .placeholder{color:var(--neutrals-700);opacity:.6}.s-select__main__selected-option__left .dot{border-radius:100%;width:.3rem;height:.3rem;border:.06rem solid var(--green-600);background-color:var(--green-600);margin-left:.3rem}.s-select__main__selected-option__left s-icon-mat.iconPerson{margin-left:.3rem;color:var(--primary-600)}.s-select__main__selected-option__left .content-avatar{margin-left:.375rem}.s-select__main__selected-option__right{display:flex;align-items:center;justify-content:space-evenly;color:var(--primary-600)}.s-select__main__selected-option__right .is-open-arrow{color:var(--primary-600)}.s-select__main__selected-option.select-simple .s-select__main__selected-option__left{width:93%}.s-select__main__selected-option.select-multiple .s-select__main__selected-option__left{width:100%}.s-select__options{max-height:12.5rem;overflow-y:auto;position:absolute;width:100%;z-index:2;box-shadow:var(--E300);background-color:var(--neutrals-1200);border-radius:.25rem;left:0}.s-select__options.sm{top:3.5rem}.s-select__options.md{top:4.5rem}.s-select__options.label-off.md{top:3.1rem}.s-select__options.label-off.sm{top:2.1rem}.s-select__dropdown{max-height:30rem;position:absolute;width:100%;z-index:2;box-shadow:var(--E300);background-color:var(--neutrals-1200);border-radius:.25rem;left:0;margin-top:.5rem}.s-select__options-multiple{border-bottom:.063rem solid var(--neutrals-900);border-top:.063rem solid var(--neutrals-900);max-height:13.5rem;overflow-y:auto}.s-select__options-multiple--search{padding:.3rem .5rem;height:100%}.s-select__options-multiple--selected{padding:.3rem .5rem;height:100%;margin-top:.3rem}.s-select__options-multiple--selected .s-button{width:100%}.s-select__options-multiple--selected .sm{font-size:.75rem}.s-select__options-multiple--selected-content{display:flex;justify-content:space-between;margin-top:.5rem}.s-select__options-multiple--selected-text:first-letter{text-transform:uppercase}.s-select__options-multiple--selectAllOption{color:var(--primary-600);cursor:pointer;text-decoration:underline}.s-select__options-multiple-all{align-items:center;display:flex}.s-select__options-multiple-all.sm{font-size:.75rem;padding:.25rem .5rem}.s-select__options-multiple-all.md{font-size:1rem;padding:.625rem .875rem}.s-select__options-multiple-text{padding-left:.625rem}.s-select__item{display:flex;justify-content:space-between;padding:0 .875rem;color:var(--secondary-600)}.s-select__item:hover{background-color:var(--neutrals-1000);cursor:pointer}.s-select__item.sm{font-size:.75rem;padding:.25rem .5rem}.s-select__item.md{font-size:1rem;padding:.625rem .875rem}.s-select__item.no-display .content-left.select-simple{grid-template-columns:auto}.s-select__item.no-display .content-left.select-multiple{grid-template-columns:auto 1fr}.s-select__item.no-display .option-value{margin-left:0;width:100%;max-width:100%;white-space:normal;overflow-wrap:anywhere;word-break:break-word}.s-select__item .option-value{margin-left:.375rem}.s-select__item.active .option-value{font-weight:500;color:var(--primary-600)}.s-select__item .content-left.select-multiple{grid-template-columns:2fr 2fr 96fr}.s-select__item .content-left.select-simple{grid-template-columns:2fr 96fr}.s-select__item .content-left{display:grid;align-items:center;justify-content:space-evenly;margin-right:.5rem;grid-template-columns:3fr 4fr 96fr;gap:.25rem;justify-items:start}.s-select__item .content-left s-icon-mat span{font-size:1.3rem}.s-select__item .content-left s-icon-mat.iconPerson{margin-left:.3rem;color:var(--primary-600);height:1.25rem}.s-select__item .content-left s-radio input,.s-select__item .content-left s-checkbox input{cursor:pointer}.s-select__item .content-left .content-avatar{margin-left:.375rem}.s-select__item .content-left .dot{border-radius:100%;width:.3rem;height:.3rem;border:.06rem solid var(--green-600);background-color:var(--green-600);margin-left:.625rem;margin-right:.563rem}.s-select__item .content-center{width:100%}.s-select__item .content-right{display:flex;align-items:center;justify-content:space-evenly;margin-left:.5rem;color:var(--primary-600)}.s-select__item .content-right s-icon-mat span{font-size:1.2rem}.s-select--disabled .s-select-multiple__main,.s-select--disabled .s-select__main{background-color:var(--neutrals-1100);border:.063rem solid var(--neutrals-900);color:var(--neutrals-700);cursor:not-allowed}.s-select--disabled .s-select-multiple__main s-icon-mat.iconPerson,.s-select--disabled .s-select__main s-icon-mat.iconPerson{color:var(--neutrals-700)}.s-select--disabled .s-select-multiple__main .content-avatar .s-avatar__dot-content,.s-select--disabled .s-select__main .content-avatar .s-avatar__dot-content{background-color:var(--neutrals-700)}.s-select--disabled .s-select-multiple__main .content-avatar .s-avatar__dot-content s-icon-mat span,.s-select--disabled .s-select__main .content-avatar .s-avatar__dot-content s-icon-mat span{color:var(--neutrals-1100)}.s-select--disabled .s-select-multiple__main .dot,.s-select--disabled .s-select__main .dot{background-color:var(--neutrals-700);border:.06rem solid var(--neutrals-700)}.s-select--disabled .s-select-multiple__main .dot s-icon-mat span,.s-select--disabled .s-select__main .dot s-icon-mat span{color:var(--neutrals-1200)}.s-select--disabled .s-select-multiple__main .dot-content,.s-select--disabled .s-select__main .dot-content{background-color:var(--neutrals-700);border:var(--neutrals-700)}.s-select--disabled .s-select-multiple__main .dot-content s-icon-mat span,.s-select--disabled .s-select__main .dot-content s-icon-mat span{color:var(--neutrals-1200)}.s-select--disabled .s-select-multiple__main s-icon-mat span,.s-select--disabled .s-select__main s-icon-mat span{color:var(--neutrals-700)}\n"] }]
|
|
3472
3498
|
}], ctorParameters: () => [{ type: i0.Injector }, { type: SelectNavigationService }], propDecorators: { config: [{
|
|
3473
3499
|
type: Input
|
|
3474
3500
|
}], blur: [{
|
|
@@ -3608,7 +3634,7 @@ class SSelectMultipleOldComponent {
|
|
|
3608
3634
|
useExisting: forwardRef(() => SSelectMultipleOldComponent),
|
|
3609
3635
|
multi: true,
|
|
3610
3636
|
},
|
|
3611
|
-
], ngImport: i0, template: "<!-- eslint-disable @angular-eslint/template/interactive-supports-focus -->\r\n<div\r\n class=\"s-select\"\r\n [ngClass]=\"disabled ? 's-select--disabled' : ''\">\r\n <span *ngIf=\"label\" class=\"s-select--select-label\">{{ label }}</span>\r\n <div\r\n class=\"s-select__main cursor {{ isOpen ? 'is-open' : '' }} {{\r\n size ? size : ''\r\n }}\"\r\n (click)=\"openDropDown()\"\r\n tabindex=\"0\" (keydown)=\"onKeyDownMain($event)\">\r\n <div class=\"s-select__main__selected-option\">\r\n <div class=\"s-select__main__selected-option__left\">\r\n <div *ngIf=\"display === 'dot'\" class=\"dot\"></div>\r\n <s-icon-mat\r\n size=\"{{ size === 'md' ? '22' : '17' }}\"\r\n class=\"iconPerson\"\r\n *ngIf=\"display === 'iconperson'\"\r\n >person_outline</s-icon-mat\r\n >\r\n <div *ngIf=\"display === 'profile'\" class=\"content-avatar\">\r\n <s-avatar *ngIf=\"size === 'sm'\" size=\"16\"></s-avatar>\r\n <s-avatar *ngIf=\"size === 'md'\" size=\"24\"></s-avatar>\r\n </div>\r\n <!-- +{{ countSelected }} Selecciones -->\r\n <span *ngIf=\"countSelected >= 1\" class=\"s-select__value\">{{\r\n selectionText\r\n }}</span>\r\n <span *ngIf=\"countSelected === 0\" class=\"s-select__value\">{{\r\n placeholder\r\n }}</span>\r\n </div>\r\n <div class=\"s-select__main__selected-option__right\">\r\n <s-icon-mat\r\n *ngIf=\"!readOnly\"\r\n class=\"{{ isOpen ? 'is-open-arrow' : '' }}\"\r\n >{{ isOpen ? 'expand_less' : 'expand_more' }}</s-icon-mat\r\n >\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"s-select__options {{ size ? size : '' }}\" *ngIf=\"isOpen\">\r\n <div\r\n tabindex=\"0\"\r\n (keydown.enter)=\"selectAllEvent()\"\r\n (click)=\"selectAllEvent()\"\r\n class=\"s-select__item {{ size ? size : '' }}\"\r\n *ngIf=\"options.length >= 2\">\r\n <div class=\"content-left\">\r\n <s-checkbox\r\n [config]=\"checkAll\"\r\n [(ngModel)]=\"selectAll\"\r\n \r\n (keydown.enter)=\"selectAllEvent()\"\r\n ></s-checkbox>\r\n <span class=\"option-value\">{{ selectAllOption }}</span>\r\n </div>\r\n </div>\r\n <div\r\n class=\"s-select__item {{ size ? size : '' }}\"\r\n *ngFor=\"let item of options; index as i\"\r\n (click)=\"changeItem(item)\"\r\n (keydown)=\"onKeyDownItems($event , item)\"\r\n tabindex=\"0\"\r\n [class.active]=\"item.value === true\">\r\n <div class=\"content-left\">\r\n <s-checkbox-old [tabIndex]=\"-1\" [model]=\"item.value\"> </s-checkbox-old>\r\n <div *ngIf=\"display === 'dot'\" class=\"dot\"></div>\r\n <div *ngIf=\"display === 'profile'\" class=\"content-avatar\">\r\n <s-avatar\r\n *ngIf=\"size === 'sm'\"\r\n size=\"16\"\r\n [display]=\"item.user.display\"\r\n [status]=\"item.user.status\"\r\n [urlProfileImage]=\"item.user.url\"></s-avatar>\r\n <s-avatar\r\n *ngIf=\"size === 'md'\"\r\n size=\"24\"\r\n [display]=\"item.user.display\"\r\n [status]=\"item.user.status\"\r\n [urlProfileImage]=\"item.user.url\"></s-avatar>\r\n </div>\r\n <s-icon-mat\r\n size=\"{{ size === 'md' ? '22' : '17' }}\"\r\n class=\"iconPerson\"\r\n *ngIf=\"display === 'iconperson'\"\r\n >person_outline</s-icon-mat\r\n >\r\n <span class=\"option-value\">\r\n {{ item.title }}\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".s-select{width:100%;position:relative}.s-select--required{display:contents;color:var(--primary-600)}.s-select--select-label{color:var(--secondary-600);display:flex;font-size:.875rem;font-weight:400;line-height:1.375rem;letter-spacing:.01rem;margin-bottom:.125rem}.s-select__main{background-color:var(--neutrals-1200);color:var(--secondary-600);border:.063rem solid var(--primary-500);border-radius:.25rem;display:flex;padding:0 .625rem}.s-select__main.theme-red{border-color:var(--red-600)!important;box-shadow:0 0 0 .25rem var(--red-alpha-200),0 .0625rem .125rem 0 var(--blue-alpha-100)!important}.s-select__main.md{height:2.4rem;font-size:1rem}.s-select__main.sm{height:1.5rem;font-size:.9rem}.s-select__main.is-open{border:.06rem solid var(--primary-600);box-shadow:var(--focus-cyan--md)}.s-select__main__selected-option{width:100%;display:flex;align-items:center;justify-content:space-between}.s-select__main__selected-option input{display:none}.s-select__main__selected-option input:-webkit-autofill,.s-select__main__selected-option input:-webkit-autofill:hover,.s-select__main__selected-option input:-webkit-autofill:focus,.s-select__main__selected-option input:-webkit-autofill:active{-webkit-box-shadow:0 0 0 1.9rem var(--neutrals-1200) inset!important}.s-select__main__selected-option span{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.s-select__main__selected-option__left{display:flex;align-items:center;justify-content:space-between;width:100%;gap:.5rem}.s-select__main__selected-option__left__content-option{display:flex;align-items:center;gap:.5rem}.s-select__main__selected-option__left__content-option .placeholder{color:var(--neutrals-700);opacity:.6}.s-select__main__selected-option__left .dot{border-radius:100%;width:.3rem;height:.3rem;border:.06rem solid var(--green-600);background-color:var(--green-600);margin-left:.3rem}.s-select__main__selected-option__left s-icon-mat.iconPerson{margin-left:.3rem;color:var(--primary-600)}.s-select__main__selected-option__left .content-avatar{margin-left:.375rem}.s-select__main__selected-option__right{display:flex;align-items:center;justify-content:space-evenly;color:var(--primary-600)}.s-select__main__selected-option__right .is-open-arrow{color:var(--primary-600)}.s-select__main__selected-option.select-simple .s-select__main__selected-option__left{width:93%}.s-select__main__selected-option.select-multiple .s-select__main__selected-option__left{width:100%}.s-select__options{max-height:12.5rem;overflow-y:auto;position:absolute;width:100%;z-index:2;box-shadow:var(--E300);background-color:var(--neutrals-1200);border-radius:.25rem;left:0}.s-select__options.sm{top:3.5rem}.s-select__options.md{top:4.5rem}.s-select__options.label-off.md{top:3.1rem}.s-select__options.label-off.sm{top:2.1rem}.s-select__dropdown{max-height:30rem;position:absolute;width:100%;z-index:2;box-shadow:var(--E300);background-color:var(--neutrals-1200);border-radius:.25rem;left:0;margin-top:.5rem}.s-select__options-multiple{border-bottom:.063rem solid var(--neutrals-900);border-top:.063rem solid var(--neutrals-900);max-height:13.5rem;overflow-y:auto}.s-select__options-multiple--search{padding:.3rem .5rem;height:100%}.s-select__options-multiple--selected{padding:.3rem .5rem;height:100%;margin-top:.3rem}.s-select__options-multiple--selected .s-button{width:100%}.s-select__options-multiple--selected .sm{font-size:.75rem}.s-select__options-multiple--selected-content{display:flex;justify-content:space-between;margin-top:.5rem}.s-select__options-multiple--selected-text:first-letter{text-transform:uppercase}.s-select__options-multiple--selectAllOption{color:var(--primary-600);cursor:pointer;text-decoration:underline}.s-select__options-multiple-all{align-items:center;display:flex}.s-select__options-multiple-all.sm{font-size:.75rem;padding:.25rem .5rem}.s-select__options-multiple-all.md{font-size:1rem;padding:.625rem .875rem}.s-select__options-multiple-text{padding-left:.625rem}.s-select__item{display:flex;justify-content:space-between;padding:0 .875rem;color:var(--secondary-600)}.s-select__item:hover{background-color:var(--neutrals-1000);cursor:pointer}.s-select__item.sm{font-size:.75rem;padding:.25rem .5rem}.s-select__item.md{font-size:1rem;padding:.625rem .875rem}.s-select__item .option-value{margin-left:.375rem}.s-select__item.active .option-value{font-weight:500;color:var(--primary-600)}.s-select__item .content-left.select-multiple{grid-template-columns:3fr 4fr 96fr}.s-select__item .content-left.select-simple{grid-template-columns:4fr 96fr}.s-select__item .content-left{display:grid;align-items:center;justify-content:space-evenly;margin-right:.5rem;grid-template-columns:3fr 4fr 96fr;gap:.25rem;justify-items:start}.s-select__item .content-left s-icon-mat span{font-size:1.3rem}.s-select__item .content-left s-icon-mat.iconPerson{margin-left:.3rem;color:var(--primary-600);height:1.25rem}.s-select__item .content-left s-radio input,.s-select__item .content-left s-checkbox input{cursor:pointer}.s-select__item .content-left .content-avatar{margin-left:.375rem}.s-select__item .content-left .dot{border-radius:100%;width:.3rem;height:.3rem;border:.06rem solid var(--green-600);background-color:var(--green-600);margin-left:.625rem;margin-right:.563rem}.s-select__item .content-center{width:100%}.s-select__item .content-right{display:flex;align-items:center;justify-content:space-evenly;margin-left:.5rem;color:var(--primary-600)}.s-select__item .content-right s-icon-mat span{font-size:1.2rem}.s-select--disabled .s-select-multiple__main,.s-select--disabled .s-select__main{background-color:var(--neutrals-1100);border:.063rem solid var(--neutrals-900);color:var(--neutrals-700);cursor:not-allowed}.s-select--disabled .s-select-multiple__main s-icon-mat.iconPerson,.s-select--disabled .s-select__main s-icon-mat.iconPerson{color:var(--neutrals-700)}.s-select--disabled .s-select-multiple__main .content-avatar .s-avatar__dot-content,.s-select--disabled .s-select__main .content-avatar .s-avatar__dot-content{background-color:var(--neutrals-700)}.s-select--disabled .s-select-multiple__main .content-avatar .s-avatar__dot-content s-icon-mat span,.s-select--disabled .s-select__main .content-avatar .s-avatar__dot-content s-icon-mat span{color:var(--neutrals-1100)}.s-select--disabled .s-select-multiple__main .dot,.s-select--disabled .s-select__main .dot{background-color:var(--neutrals-700);border:.06rem solid var(--neutrals-700)}.s-select--disabled .s-select-multiple__main .dot s-icon-mat span,.s-select--disabled .s-select__main .dot s-icon-mat span{color:var(--neutrals-1200)}.s-select--disabled .s-select-multiple__main .dot-content,.s-select--disabled .s-select__main .dot-content{background-color:var(--neutrals-700);border:var(--neutrals-700)}.s-select--disabled .s-select-multiple__main .dot-content s-icon-mat span,.s-select--disabled .s-select__main .dot-content s-icon-mat span{color:var(--neutrals-1200)}.s-select--disabled .s-select-multiple__main s-icon-mat span,.s-select--disabled .s-select__main s-icon-mat span{color:var(--neutrals-700)}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: SIconMaterialComponent, selector: "s-icon-mat", inputs: ["name", "size", "fill", "weight", "grade", "opticalSize", "style", "type"] }, { kind: "component", type: SAvatarComponent, selector: "s-avatar", inputs: ["urlProfileImage", "letters", "status", "display", "size"] }, { kind: "component", type: SCheckboxOldComponent, selector: "s-checkbox-old", inputs: ["value", "model", "disabled", "isUndefined", "label", "boldSelectActive", "tabIndex"], outputs: ["emitSelection"] }, { kind: "component", type: SCheckboxComponent, selector: "s-checkbox", inputs: ["config"], outputs: ["blur", "focus"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
3637
|
+
], ngImport: i0, template: "<!-- eslint-disable @angular-eslint/template/interactive-supports-focus -->\r\n<div\r\n class=\"s-select\"\r\n [ngClass]=\"disabled ? 's-select--disabled' : ''\">\r\n <span *ngIf=\"label\" class=\"s-select--select-label\">{{ label }}</span>\r\n <div\r\n class=\"s-select__main cursor {{ isOpen ? 'is-open' : '' }} {{\r\n size ? size : ''\r\n }}\"\r\n (click)=\"openDropDown()\"\r\n tabindex=\"0\" (keydown)=\"onKeyDownMain($event)\">\r\n <div class=\"s-select__main__selected-option\">\r\n <div class=\"s-select__main__selected-option__left\">\r\n <div *ngIf=\"display === 'dot'\" class=\"dot\"></div>\r\n <s-icon-mat\r\n size=\"{{ size === 'md' ? '22' : '17' }}\"\r\n class=\"iconPerson\"\r\n *ngIf=\"display === 'iconperson'\"\r\n >person_outline</s-icon-mat\r\n >\r\n <div *ngIf=\"display === 'profile'\" class=\"content-avatar\">\r\n <s-avatar *ngIf=\"size === 'sm'\" size=\"16\"></s-avatar>\r\n <s-avatar *ngIf=\"size === 'md'\" size=\"24\"></s-avatar>\r\n </div>\r\n <!-- +{{ countSelected }} Selecciones -->\r\n <span *ngIf=\"countSelected >= 1\" class=\"s-select__value\">{{\r\n selectionText\r\n }}</span>\r\n <span *ngIf=\"countSelected === 0\" class=\"s-select__value\">{{\r\n placeholder\r\n }}</span>\r\n </div>\r\n <div class=\"s-select__main__selected-option__right\">\r\n <s-icon-mat\r\n *ngIf=\"!readOnly\"\r\n class=\"{{ isOpen ? 'is-open-arrow' : '' }}\"\r\n >{{ isOpen ? 'expand_less' : 'expand_more' }}</s-icon-mat\r\n >\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"s-select__options {{ size ? size : '' }}\" *ngIf=\"isOpen\">\r\n <div\r\n tabindex=\"0\"\r\n (keydown.enter)=\"selectAllEvent()\"\r\n (click)=\"selectAllEvent()\"\r\n class=\"s-select__item {{ size ? size : '' }}\"\r\n *ngIf=\"options.length >= 2\">\r\n <div class=\"content-left\">\r\n <s-checkbox\r\n [config]=\"checkAll\"\r\n [(ngModel)]=\"selectAll\"\r\n \r\n (keydown.enter)=\"selectAllEvent()\"\r\n ></s-checkbox>\r\n <span class=\"option-value\">{{ selectAllOption }}</span>\r\n </div>\r\n </div>\r\n <div\r\n class=\"s-select__item {{ size ? size : '' }}\"\r\n *ngFor=\"let item of options; index as i\"\r\n (click)=\"changeItem(item)\"\r\n (keydown)=\"onKeyDownItems($event , item)\"\r\n tabindex=\"0\"\r\n [class.active]=\"item.value === true\">\r\n <div class=\"content-left\">\r\n <s-checkbox-old [tabIndex]=\"-1\" [model]=\"item.value\"> </s-checkbox-old>\r\n <div *ngIf=\"display === 'dot'\" class=\"dot\"></div>\r\n <div *ngIf=\"display === 'profile'\" class=\"content-avatar\">\r\n <s-avatar\r\n *ngIf=\"size === 'sm'\"\r\n size=\"16\"\r\n [display]=\"item.user.display\"\r\n [status]=\"item.user.status\"\r\n [urlProfileImage]=\"item.user.url\"></s-avatar>\r\n <s-avatar\r\n *ngIf=\"size === 'md'\"\r\n size=\"24\"\r\n [display]=\"item.user.display\"\r\n [status]=\"item.user.status\"\r\n [urlProfileImage]=\"item.user.url\"></s-avatar>\r\n </div>\r\n <s-icon-mat\r\n size=\"{{ size === 'md' ? '22' : '17' }}\"\r\n class=\"iconPerson\"\r\n *ngIf=\"display === 'iconperson'\"\r\n >person_outline</s-icon-mat\r\n >\r\n <span class=\"option-value\">\r\n {{ item.title }}\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".s-select{width:100%;position:relative}.s-select__main.readonly{background-color:var(--neutrals-1100);cursor:default}.s-select--required{display:contents;color:var(--primary-600)}.s-select--select-label{color:var(--secondary-600);display:flex;font-size:.875rem;font-weight:400;line-height:1.375rem;letter-spacing:.01rem;margin-bottom:.125rem}.s-select__main{background-color:var(--neutrals-1200);color:var(--secondary-600);border:.063rem solid var(--primary-500);border-radius:.25rem;display:flex;padding:0 .625rem}.s-select__main.theme-red{border-color:var(--red-600)!important;box-shadow:0 0 0 .25rem var(--red-alpha-200),0 .0625rem .125rem 0 var(--blue-alpha-100)!important}.s-select__main.md{height:2.4rem;font-size:1rem}.s-select__main.sm{height:1.5rem;font-size:.9rem}.s-select__main.is-open{border:.06rem solid var(--primary-600);box-shadow:var(--focus-cyan--md)}.s-select__main__selected-option{width:100%;display:flex;align-items:center;justify-content:space-between}.s-select__main__selected-option input{display:none}.s-select__main__selected-option input:-webkit-autofill,.s-select__main__selected-option input:-webkit-autofill:hover,.s-select__main__selected-option input:-webkit-autofill:focus,.s-select__main__selected-option input:-webkit-autofill:active{-webkit-box-shadow:0 0 0 1.9rem var(--neutrals-1200) inset!important}.s-select__main__selected-option span{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.s-select__main__selected-option__left{display:flex;align-items:center;justify-content:space-between;width:100%;gap:.5rem}.s-select__main__selected-option__left__content-option{display:flex;align-items:center;gap:.5rem}.s-select__main__selected-option__left__content-option .placeholder{color:var(--neutrals-700);opacity:.6}.s-select__main__selected-option__left .dot{border-radius:100%;width:.3rem;height:.3rem;border:.06rem solid var(--green-600);background-color:var(--green-600);margin-left:.3rem}.s-select__main__selected-option__left s-icon-mat.iconPerson{margin-left:.3rem;color:var(--primary-600)}.s-select__main__selected-option__left .content-avatar{margin-left:.375rem}.s-select__main__selected-option__right{display:flex;align-items:center;justify-content:space-evenly;color:var(--primary-600)}.s-select__main__selected-option__right .is-open-arrow{color:var(--primary-600)}.s-select__main__selected-option.select-simple .s-select__main__selected-option__left{width:93%}.s-select__main__selected-option.select-multiple .s-select__main__selected-option__left{width:100%}.s-select__options{max-height:12.5rem;overflow-y:auto;position:absolute;width:100%;z-index:2;box-shadow:var(--E300);background-color:var(--neutrals-1200);border-radius:.25rem;left:0}.s-select__options.sm{top:3.5rem}.s-select__options.md{top:4.5rem}.s-select__options.label-off.md{top:3.1rem}.s-select__options.label-off.sm{top:2.1rem}.s-select__dropdown{max-height:30rem;position:absolute;width:100%;z-index:2;box-shadow:var(--E300);background-color:var(--neutrals-1200);border-radius:.25rem;left:0;margin-top:.5rem}.s-select__options-multiple{border-bottom:.063rem solid var(--neutrals-900);border-top:.063rem solid var(--neutrals-900);max-height:13.5rem;overflow-y:auto}.s-select__options-multiple--search{padding:.3rem .5rem;height:100%}.s-select__options-multiple--selected{padding:.3rem .5rem;height:100%;margin-top:.3rem}.s-select__options-multiple--selected .s-button{width:100%}.s-select__options-multiple--selected .sm{font-size:.75rem}.s-select__options-multiple--selected-content{display:flex;justify-content:space-between;margin-top:.5rem}.s-select__options-multiple--selected-text:first-letter{text-transform:uppercase}.s-select__options-multiple--selectAllOption{color:var(--primary-600);cursor:pointer;text-decoration:underline}.s-select__options-multiple-all{align-items:center;display:flex}.s-select__options-multiple-all.sm{font-size:.75rem;padding:.25rem .5rem}.s-select__options-multiple-all.md{font-size:1rem;padding:.625rem .875rem}.s-select__options-multiple-text{padding-left:.625rem}.s-select__item{display:flex;justify-content:space-between;padding:0 .875rem;color:var(--secondary-600)}.s-select__item:hover{background-color:var(--neutrals-1000);cursor:pointer}.s-select__item.sm{font-size:.75rem;padding:.25rem .5rem}.s-select__item.md{font-size:1rem;padding:.625rem .875rem}.s-select__item.no-display .content-left.select-simple{grid-template-columns:auto}.s-select__item.no-display .content-left.select-multiple{grid-template-columns:auto 1fr}.s-select__item.no-display .option-value{margin-left:0;width:100%;max-width:100%;white-space:normal;overflow-wrap:anywhere;word-break:break-word}.s-select__item .option-value{margin-left:.375rem}.s-select__item.active .option-value{font-weight:500;color:var(--primary-600)}.s-select__item .content-left.select-multiple{grid-template-columns:2fr 2fr 96fr}.s-select__item .content-left.select-simple{grid-template-columns:2fr 96fr}.s-select__item .content-left{display:grid;align-items:center;justify-content:space-evenly;margin-right:.5rem;grid-template-columns:3fr 4fr 96fr;gap:.25rem;justify-items:start}.s-select__item .content-left s-icon-mat span{font-size:1.3rem}.s-select__item .content-left s-icon-mat.iconPerson{margin-left:.3rem;color:var(--primary-600);height:1.25rem}.s-select__item .content-left s-radio input,.s-select__item .content-left s-checkbox input{cursor:pointer}.s-select__item .content-left .content-avatar{margin-left:.375rem}.s-select__item .content-left .dot{border-radius:100%;width:.3rem;height:.3rem;border:.06rem solid var(--green-600);background-color:var(--green-600);margin-left:.625rem;margin-right:.563rem}.s-select__item .content-center{width:100%}.s-select__item .content-right{display:flex;align-items:center;justify-content:space-evenly;margin-left:.5rem;color:var(--primary-600)}.s-select__item .content-right s-icon-mat span{font-size:1.2rem}.s-select--disabled .s-select-multiple__main,.s-select--disabled .s-select__main{background-color:var(--neutrals-1100);border:.063rem solid var(--neutrals-900);color:var(--neutrals-700);cursor:not-allowed}.s-select--disabled .s-select-multiple__main s-icon-mat.iconPerson,.s-select--disabled .s-select__main s-icon-mat.iconPerson{color:var(--neutrals-700)}.s-select--disabled .s-select-multiple__main .content-avatar .s-avatar__dot-content,.s-select--disabled .s-select__main .content-avatar .s-avatar__dot-content{background-color:var(--neutrals-700)}.s-select--disabled .s-select-multiple__main .content-avatar .s-avatar__dot-content s-icon-mat span,.s-select--disabled .s-select__main .content-avatar .s-avatar__dot-content s-icon-mat span{color:var(--neutrals-1100)}.s-select--disabled .s-select-multiple__main .dot,.s-select--disabled .s-select__main .dot{background-color:var(--neutrals-700);border:.06rem solid var(--neutrals-700)}.s-select--disabled .s-select-multiple__main .dot s-icon-mat span,.s-select--disabled .s-select__main .dot s-icon-mat span{color:var(--neutrals-1200)}.s-select--disabled .s-select-multiple__main .dot-content,.s-select--disabled .s-select__main .dot-content{background-color:var(--neutrals-700);border:var(--neutrals-700)}.s-select--disabled .s-select-multiple__main .dot-content s-icon-mat span,.s-select--disabled .s-select__main .dot-content s-icon-mat span{color:var(--neutrals-1200)}.s-select--disabled .s-select-multiple__main s-icon-mat span,.s-select--disabled .s-select__main s-icon-mat span{color:var(--neutrals-700)}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: SIconMaterialComponent, selector: "s-icon-mat", inputs: ["name", "size", "fill", "weight", "grade", "opticalSize", "style", "type"] }, { kind: "component", type: SAvatarComponent, selector: "s-avatar", inputs: ["urlProfileImage", "letters", "status", "display", "size"] }, { kind: "component", type: SCheckboxOldComponent, selector: "s-checkbox-old", inputs: ["value", "model", "disabled", "isUndefined", "label", "boldSelectActive", "tabIndex"], outputs: ["emitSelection"] }, { kind: "component", type: SCheckboxComponent, selector: "s-checkbox", inputs: ["config"], outputs: ["blur", "focus"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
3612
3638
|
}
|
|
3613
3639
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SSelectMultipleOldComponent, decorators: [{
|
|
3614
3640
|
type: Component,
|
|
@@ -3618,7 +3644,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
3618
3644
|
useExisting: forwardRef(() => SSelectMultipleOldComponent),
|
|
3619
3645
|
multi: true,
|
|
3620
3646
|
},
|
|
3621
|
-
], template: "<!-- eslint-disable @angular-eslint/template/interactive-supports-focus -->\r\n<div\r\n class=\"s-select\"\r\n [ngClass]=\"disabled ? 's-select--disabled' : ''\">\r\n <span *ngIf=\"label\" class=\"s-select--select-label\">{{ label }}</span>\r\n <div\r\n class=\"s-select__main cursor {{ isOpen ? 'is-open' : '' }} {{\r\n size ? size : ''\r\n }}\"\r\n (click)=\"openDropDown()\"\r\n tabindex=\"0\" (keydown)=\"onKeyDownMain($event)\">\r\n <div class=\"s-select__main__selected-option\">\r\n <div class=\"s-select__main__selected-option__left\">\r\n <div *ngIf=\"display === 'dot'\" class=\"dot\"></div>\r\n <s-icon-mat\r\n size=\"{{ size === 'md' ? '22' : '17' }}\"\r\n class=\"iconPerson\"\r\n *ngIf=\"display === 'iconperson'\"\r\n >person_outline</s-icon-mat\r\n >\r\n <div *ngIf=\"display === 'profile'\" class=\"content-avatar\">\r\n <s-avatar *ngIf=\"size === 'sm'\" size=\"16\"></s-avatar>\r\n <s-avatar *ngIf=\"size === 'md'\" size=\"24\"></s-avatar>\r\n </div>\r\n <!-- +{{ countSelected }} Selecciones -->\r\n <span *ngIf=\"countSelected >= 1\" class=\"s-select__value\">{{\r\n selectionText\r\n }}</span>\r\n <span *ngIf=\"countSelected === 0\" class=\"s-select__value\">{{\r\n placeholder\r\n }}</span>\r\n </div>\r\n <div class=\"s-select__main__selected-option__right\">\r\n <s-icon-mat\r\n *ngIf=\"!readOnly\"\r\n class=\"{{ isOpen ? 'is-open-arrow' : '' }}\"\r\n >{{ isOpen ? 'expand_less' : 'expand_more' }}</s-icon-mat\r\n >\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"s-select__options {{ size ? size : '' }}\" *ngIf=\"isOpen\">\r\n <div\r\n tabindex=\"0\"\r\n (keydown.enter)=\"selectAllEvent()\"\r\n (click)=\"selectAllEvent()\"\r\n class=\"s-select__item {{ size ? size : '' }}\"\r\n *ngIf=\"options.length >= 2\">\r\n <div class=\"content-left\">\r\n <s-checkbox\r\n [config]=\"checkAll\"\r\n [(ngModel)]=\"selectAll\"\r\n \r\n (keydown.enter)=\"selectAllEvent()\"\r\n ></s-checkbox>\r\n <span class=\"option-value\">{{ selectAllOption }}</span>\r\n </div>\r\n </div>\r\n <div\r\n class=\"s-select__item {{ size ? size : '' }}\"\r\n *ngFor=\"let item of options; index as i\"\r\n (click)=\"changeItem(item)\"\r\n (keydown)=\"onKeyDownItems($event , item)\"\r\n tabindex=\"0\"\r\n [class.active]=\"item.value === true\">\r\n <div class=\"content-left\">\r\n <s-checkbox-old [tabIndex]=\"-1\" [model]=\"item.value\"> </s-checkbox-old>\r\n <div *ngIf=\"display === 'dot'\" class=\"dot\"></div>\r\n <div *ngIf=\"display === 'profile'\" class=\"content-avatar\">\r\n <s-avatar\r\n *ngIf=\"size === 'sm'\"\r\n size=\"16\"\r\n [display]=\"item.user.display\"\r\n [status]=\"item.user.status\"\r\n [urlProfileImage]=\"item.user.url\"></s-avatar>\r\n <s-avatar\r\n *ngIf=\"size === 'md'\"\r\n size=\"24\"\r\n [display]=\"item.user.display\"\r\n [status]=\"item.user.status\"\r\n [urlProfileImage]=\"item.user.url\"></s-avatar>\r\n </div>\r\n <s-icon-mat\r\n size=\"{{ size === 'md' ? '22' : '17' }}\"\r\n class=\"iconPerson\"\r\n *ngIf=\"display === 'iconperson'\"\r\n >person_outline</s-icon-mat\r\n >\r\n <span class=\"option-value\">\r\n {{ item.title }}\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".s-select{width:100%;position:relative}.s-select--required{display:contents;color:var(--primary-600)}.s-select--select-label{color:var(--secondary-600);display:flex;font-size:.875rem;font-weight:400;line-height:1.375rem;letter-spacing:.01rem;margin-bottom:.125rem}.s-select__main{background-color:var(--neutrals-1200);color:var(--secondary-600);border:.063rem solid var(--primary-500);border-radius:.25rem;display:flex;padding:0 .625rem}.s-select__main.theme-red{border-color:var(--red-600)!important;box-shadow:0 0 0 .25rem var(--red-alpha-200),0 .0625rem .125rem 0 var(--blue-alpha-100)!important}.s-select__main.md{height:2.4rem;font-size:1rem}.s-select__main.sm{height:1.5rem;font-size:.9rem}.s-select__main.is-open{border:.06rem solid var(--primary-600);box-shadow:var(--focus-cyan--md)}.s-select__main__selected-option{width:100%;display:flex;align-items:center;justify-content:space-between}.s-select__main__selected-option input{display:none}.s-select__main__selected-option input:-webkit-autofill,.s-select__main__selected-option input:-webkit-autofill:hover,.s-select__main__selected-option input:-webkit-autofill:focus,.s-select__main__selected-option input:-webkit-autofill:active{-webkit-box-shadow:0 0 0 1.9rem var(--neutrals-1200) inset!important}.s-select__main__selected-option span{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.s-select__main__selected-option__left{display:flex;align-items:center;justify-content:space-between;width:100%;gap:.5rem}.s-select__main__selected-option__left__content-option{display:flex;align-items:center;gap:.5rem}.s-select__main__selected-option__left__content-option .placeholder{color:var(--neutrals-700);opacity:.6}.s-select__main__selected-option__left .dot{border-radius:100%;width:.3rem;height:.3rem;border:.06rem solid var(--green-600);background-color:var(--green-600);margin-left:.3rem}.s-select__main__selected-option__left s-icon-mat.iconPerson{margin-left:.3rem;color:var(--primary-600)}.s-select__main__selected-option__left .content-avatar{margin-left:.375rem}.s-select__main__selected-option__right{display:flex;align-items:center;justify-content:space-evenly;color:var(--primary-600)}.s-select__main__selected-option__right .is-open-arrow{color:var(--primary-600)}.s-select__main__selected-option.select-simple .s-select__main__selected-option__left{width:93%}.s-select__main__selected-option.select-multiple .s-select__main__selected-option__left{width:100%}.s-select__options{max-height:12.5rem;overflow-y:auto;position:absolute;width:100%;z-index:2;box-shadow:var(--E300);background-color:var(--neutrals-1200);border-radius:.25rem;left:0}.s-select__options.sm{top:3.5rem}.s-select__options.md{top:4.5rem}.s-select__options.label-off.md{top:3.1rem}.s-select__options.label-off.sm{top:2.1rem}.s-select__dropdown{max-height:30rem;position:absolute;width:100%;z-index:2;box-shadow:var(--E300);background-color:var(--neutrals-1200);border-radius:.25rem;left:0;margin-top:.5rem}.s-select__options-multiple{border-bottom:.063rem solid var(--neutrals-900);border-top:.063rem solid var(--neutrals-900);max-height:13.5rem;overflow-y:auto}.s-select__options-multiple--search{padding:.3rem .5rem;height:100%}.s-select__options-multiple--selected{padding:.3rem .5rem;height:100%;margin-top:.3rem}.s-select__options-multiple--selected .s-button{width:100%}.s-select__options-multiple--selected .sm{font-size:.75rem}.s-select__options-multiple--selected-content{display:flex;justify-content:space-between;margin-top:.5rem}.s-select__options-multiple--selected-text:first-letter{text-transform:uppercase}.s-select__options-multiple--selectAllOption{color:var(--primary-600);cursor:pointer;text-decoration:underline}.s-select__options-multiple-all{align-items:center;display:flex}.s-select__options-multiple-all.sm{font-size:.75rem;padding:.25rem .5rem}.s-select__options-multiple-all.md{font-size:1rem;padding:.625rem .875rem}.s-select__options-multiple-text{padding-left:.625rem}.s-select__item{display:flex;justify-content:space-between;padding:0 .875rem;color:var(--secondary-600)}.s-select__item:hover{background-color:var(--neutrals-1000);cursor:pointer}.s-select__item.sm{font-size:.75rem;padding:.25rem .5rem}.s-select__item.md{font-size:1rem;padding:.625rem .875rem}.s-select__item .option-value{margin-left:.375rem}.s-select__item.active .option-value{font-weight:500;color:var(--primary-600)}.s-select__item .content-left.select-multiple{grid-template-columns:3fr 4fr 96fr}.s-select__item .content-left.select-simple{grid-template-columns:4fr 96fr}.s-select__item .content-left{display:grid;align-items:center;justify-content:space-evenly;margin-right:.5rem;grid-template-columns:3fr 4fr 96fr;gap:.25rem;justify-items:start}.s-select__item .content-left s-icon-mat span{font-size:1.3rem}.s-select__item .content-left s-icon-mat.iconPerson{margin-left:.3rem;color:var(--primary-600);height:1.25rem}.s-select__item .content-left s-radio input,.s-select__item .content-left s-checkbox input{cursor:pointer}.s-select__item .content-left .content-avatar{margin-left:.375rem}.s-select__item .content-left .dot{border-radius:100%;width:.3rem;height:.3rem;border:.06rem solid var(--green-600);background-color:var(--green-600);margin-left:.625rem;margin-right:.563rem}.s-select__item .content-center{width:100%}.s-select__item .content-right{display:flex;align-items:center;justify-content:space-evenly;margin-left:.5rem;color:var(--primary-600)}.s-select__item .content-right s-icon-mat span{font-size:1.2rem}.s-select--disabled .s-select-multiple__main,.s-select--disabled .s-select__main{background-color:var(--neutrals-1100);border:.063rem solid var(--neutrals-900);color:var(--neutrals-700);cursor:not-allowed}.s-select--disabled .s-select-multiple__main s-icon-mat.iconPerson,.s-select--disabled .s-select__main s-icon-mat.iconPerson{color:var(--neutrals-700)}.s-select--disabled .s-select-multiple__main .content-avatar .s-avatar__dot-content,.s-select--disabled .s-select__main .content-avatar .s-avatar__dot-content{background-color:var(--neutrals-700)}.s-select--disabled .s-select-multiple__main .content-avatar .s-avatar__dot-content s-icon-mat span,.s-select--disabled .s-select__main .content-avatar .s-avatar__dot-content s-icon-mat span{color:var(--neutrals-1100)}.s-select--disabled .s-select-multiple__main .dot,.s-select--disabled .s-select__main .dot{background-color:var(--neutrals-700);border:.06rem solid var(--neutrals-700)}.s-select--disabled .s-select-multiple__main .dot s-icon-mat span,.s-select--disabled .s-select__main .dot s-icon-mat span{color:var(--neutrals-1200)}.s-select--disabled .s-select-multiple__main .dot-content,.s-select--disabled .s-select__main .dot-content{background-color:var(--neutrals-700);border:var(--neutrals-700)}.s-select--disabled .s-select-multiple__main .dot-content s-icon-mat span,.s-select--disabled .s-select__main .dot-content s-icon-mat span{color:var(--neutrals-1200)}.s-select--disabled .s-select-multiple__main s-icon-mat span,.s-select--disabled .s-select__main s-icon-mat span{color:var(--neutrals-700)}\n"] }]
|
|
3647
|
+
], template: "<!-- eslint-disable @angular-eslint/template/interactive-supports-focus -->\r\n<div\r\n class=\"s-select\"\r\n [ngClass]=\"disabled ? 's-select--disabled' : ''\">\r\n <span *ngIf=\"label\" class=\"s-select--select-label\">{{ label }}</span>\r\n <div\r\n class=\"s-select__main cursor {{ isOpen ? 'is-open' : '' }} {{\r\n size ? size : ''\r\n }}\"\r\n (click)=\"openDropDown()\"\r\n tabindex=\"0\" (keydown)=\"onKeyDownMain($event)\">\r\n <div class=\"s-select__main__selected-option\">\r\n <div class=\"s-select__main__selected-option__left\">\r\n <div *ngIf=\"display === 'dot'\" class=\"dot\"></div>\r\n <s-icon-mat\r\n size=\"{{ size === 'md' ? '22' : '17' }}\"\r\n class=\"iconPerson\"\r\n *ngIf=\"display === 'iconperson'\"\r\n >person_outline</s-icon-mat\r\n >\r\n <div *ngIf=\"display === 'profile'\" class=\"content-avatar\">\r\n <s-avatar *ngIf=\"size === 'sm'\" size=\"16\"></s-avatar>\r\n <s-avatar *ngIf=\"size === 'md'\" size=\"24\"></s-avatar>\r\n </div>\r\n <!-- +{{ countSelected }} Selecciones -->\r\n <span *ngIf=\"countSelected >= 1\" class=\"s-select__value\">{{\r\n selectionText\r\n }}</span>\r\n <span *ngIf=\"countSelected === 0\" class=\"s-select__value\">{{\r\n placeholder\r\n }}</span>\r\n </div>\r\n <div class=\"s-select__main__selected-option__right\">\r\n <s-icon-mat\r\n *ngIf=\"!readOnly\"\r\n class=\"{{ isOpen ? 'is-open-arrow' : '' }}\"\r\n >{{ isOpen ? 'expand_less' : 'expand_more' }}</s-icon-mat\r\n >\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"s-select__options {{ size ? size : '' }}\" *ngIf=\"isOpen\">\r\n <div\r\n tabindex=\"0\"\r\n (keydown.enter)=\"selectAllEvent()\"\r\n (click)=\"selectAllEvent()\"\r\n class=\"s-select__item {{ size ? size : '' }}\"\r\n *ngIf=\"options.length >= 2\">\r\n <div class=\"content-left\">\r\n <s-checkbox\r\n [config]=\"checkAll\"\r\n [(ngModel)]=\"selectAll\"\r\n \r\n (keydown.enter)=\"selectAllEvent()\"\r\n ></s-checkbox>\r\n <span class=\"option-value\">{{ selectAllOption }}</span>\r\n </div>\r\n </div>\r\n <div\r\n class=\"s-select__item {{ size ? size : '' }}\"\r\n *ngFor=\"let item of options; index as i\"\r\n (click)=\"changeItem(item)\"\r\n (keydown)=\"onKeyDownItems($event , item)\"\r\n tabindex=\"0\"\r\n [class.active]=\"item.value === true\">\r\n <div class=\"content-left\">\r\n <s-checkbox-old [tabIndex]=\"-1\" [model]=\"item.value\"> </s-checkbox-old>\r\n <div *ngIf=\"display === 'dot'\" class=\"dot\"></div>\r\n <div *ngIf=\"display === 'profile'\" class=\"content-avatar\">\r\n <s-avatar\r\n *ngIf=\"size === 'sm'\"\r\n size=\"16\"\r\n [display]=\"item.user.display\"\r\n [status]=\"item.user.status\"\r\n [urlProfileImage]=\"item.user.url\"></s-avatar>\r\n <s-avatar\r\n *ngIf=\"size === 'md'\"\r\n size=\"24\"\r\n [display]=\"item.user.display\"\r\n [status]=\"item.user.status\"\r\n [urlProfileImage]=\"item.user.url\"></s-avatar>\r\n </div>\r\n <s-icon-mat\r\n size=\"{{ size === 'md' ? '22' : '17' }}\"\r\n class=\"iconPerson\"\r\n *ngIf=\"display === 'iconperson'\"\r\n >person_outline</s-icon-mat\r\n >\r\n <span class=\"option-value\">\r\n {{ item.title }}\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".s-select{width:100%;position:relative}.s-select__main.readonly{background-color:var(--neutrals-1100);cursor:default}.s-select--required{display:contents;color:var(--primary-600)}.s-select--select-label{color:var(--secondary-600);display:flex;font-size:.875rem;font-weight:400;line-height:1.375rem;letter-spacing:.01rem;margin-bottom:.125rem}.s-select__main{background-color:var(--neutrals-1200);color:var(--secondary-600);border:.063rem solid var(--primary-500);border-radius:.25rem;display:flex;padding:0 .625rem}.s-select__main.theme-red{border-color:var(--red-600)!important;box-shadow:0 0 0 .25rem var(--red-alpha-200),0 .0625rem .125rem 0 var(--blue-alpha-100)!important}.s-select__main.md{height:2.4rem;font-size:1rem}.s-select__main.sm{height:1.5rem;font-size:.9rem}.s-select__main.is-open{border:.06rem solid var(--primary-600);box-shadow:var(--focus-cyan--md)}.s-select__main__selected-option{width:100%;display:flex;align-items:center;justify-content:space-between}.s-select__main__selected-option input{display:none}.s-select__main__selected-option input:-webkit-autofill,.s-select__main__selected-option input:-webkit-autofill:hover,.s-select__main__selected-option input:-webkit-autofill:focus,.s-select__main__selected-option input:-webkit-autofill:active{-webkit-box-shadow:0 0 0 1.9rem var(--neutrals-1200) inset!important}.s-select__main__selected-option span{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.s-select__main__selected-option__left{display:flex;align-items:center;justify-content:space-between;width:100%;gap:.5rem}.s-select__main__selected-option__left__content-option{display:flex;align-items:center;gap:.5rem}.s-select__main__selected-option__left__content-option .placeholder{color:var(--neutrals-700);opacity:.6}.s-select__main__selected-option__left .dot{border-radius:100%;width:.3rem;height:.3rem;border:.06rem solid var(--green-600);background-color:var(--green-600);margin-left:.3rem}.s-select__main__selected-option__left s-icon-mat.iconPerson{margin-left:.3rem;color:var(--primary-600)}.s-select__main__selected-option__left .content-avatar{margin-left:.375rem}.s-select__main__selected-option__right{display:flex;align-items:center;justify-content:space-evenly;color:var(--primary-600)}.s-select__main__selected-option__right .is-open-arrow{color:var(--primary-600)}.s-select__main__selected-option.select-simple .s-select__main__selected-option__left{width:93%}.s-select__main__selected-option.select-multiple .s-select__main__selected-option__left{width:100%}.s-select__options{max-height:12.5rem;overflow-y:auto;position:absolute;width:100%;z-index:2;box-shadow:var(--E300);background-color:var(--neutrals-1200);border-radius:.25rem;left:0}.s-select__options.sm{top:3.5rem}.s-select__options.md{top:4.5rem}.s-select__options.label-off.md{top:3.1rem}.s-select__options.label-off.sm{top:2.1rem}.s-select__dropdown{max-height:30rem;position:absolute;width:100%;z-index:2;box-shadow:var(--E300);background-color:var(--neutrals-1200);border-radius:.25rem;left:0;margin-top:.5rem}.s-select__options-multiple{border-bottom:.063rem solid var(--neutrals-900);border-top:.063rem solid var(--neutrals-900);max-height:13.5rem;overflow-y:auto}.s-select__options-multiple--search{padding:.3rem .5rem;height:100%}.s-select__options-multiple--selected{padding:.3rem .5rem;height:100%;margin-top:.3rem}.s-select__options-multiple--selected .s-button{width:100%}.s-select__options-multiple--selected .sm{font-size:.75rem}.s-select__options-multiple--selected-content{display:flex;justify-content:space-between;margin-top:.5rem}.s-select__options-multiple--selected-text:first-letter{text-transform:uppercase}.s-select__options-multiple--selectAllOption{color:var(--primary-600);cursor:pointer;text-decoration:underline}.s-select__options-multiple-all{align-items:center;display:flex}.s-select__options-multiple-all.sm{font-size:.75rem;padding:.25rem .5rem}.s-select__options-multiple-all.md{font-size:1rem;padding:.625rem .875rem}.s-select__options-multiple-text{padding-left:.625rem}.s-select__item{display:flex;justify-content:space-between;padding:0 .875rem;color:var(--secondary-600)}.s-select__item:hover{background-color:var(--neutrals-1000);cursor:pointer}.s-select__item.sm{font-size:.75rem;padding:.25rem .5rem}.s-select__item.md{font-size:1rem;padding:.625rem .875rem}.s-select__item.no-display .content-left.select-simple{grid-template-columns:auto}.s-select__item.no-display .content-left.select-multiple{grid-template-columns:auto 1fr}.s-select__item.no-display .option-value{margin-left:0;width:100%;max-width:100%;white-space:normal;overflow-wrap:anywhere;word-break:break-word}.s-select__item .option-value{margin-left:.375rem}.s-select__item.active .option-value{font-weight:500;color:var(--primary-600)}.s-select__item .content-left.select-multiple{grid-template-columns:2fr 2fr 96fr}.s-select__item .content-left.select-simple{grid-template-columns:2fr 96fr}.s-select__item .content-left{display:grid;align-items:center;justify-content:space-evenly;margin-right:.5rem;grid-template-columns:3fr 4fr 96fr;gap:.25rem;justify-items:start}.s-select__item .content-left s-icon-mat span{font-size:1.3rem}.s-select__item .content-left s-icon-mat.iconPerson{margin-left:.3rem;color:var(--primary-600);height:1.25rem}.s-select__item .content-left s-radio input,.s-select__item .content-left s-checkbox input{cursor:pointer}.s-select__item .content-left .content-avatar{margin-left:.375rem}.s-select__item .content-left .dot{border-radius:100%;width:.3rem;height:.3rem;border:.06rem solid var(--green-600);background-color:var(--green-600);margin-left:.625rem;margin-right:.563rem}.s-select__item .content-center{width:100%}.s-select__item .content-right{display:flex;align-items:center;justify-content:space-evenly;margin-left:.5rem;color:var(--primary-600)}.s-select__item .content-right s-icon-mat span{font-size:1.2rem}.s-select--disabled .s-select-multiple__main,.s-select--disabled .s-select__main{background-color:var(--neutrals-1100);border:.063rem solid var(--neutrals-900);color:var(--neutrals-700);cursor:not-allowed}.s-select--disabled .s-select-multiple__main s-icon-mat.iconPerson,.s-select--disabled .s-select__main s-icon-mat.iconPerson{color:var(--neutrals-700)}.s-select--disabled .s-select-multiple__main .content-avatar .s-avatar__dot-content,.s-select--disabled .s-select__main .content-avatar .s-avatar__dot-content{background-color:var(--neutrals-700)}.s-select--disabled .s-select-multiple__main .content-avatar .s-avatar__dot-content s-icon-mat span,.s-select--disabled .s-select__main .content-avatar .s-avatar__dot-content s-icon-mat span{color:var(--neutrals-1100)}.s-select--disabled .s-select-multiple__main .dot,.s-select--disabled .s-select__main .dot{background-color:var(--neutrals-700);border:.06rem solid var(--neutrals-700)}.s-select--disabled .s-select-multiple__main .dot s-icon-mat span,.s-select--disabled .s-select__main .dot s-icon-mat span{color:var(--neutrals-1200)}.s-select--disabled .s-select-multiple__main .dot-content,.s-select--disabled .s-select__main .dot-content{background-color:var(--neutrals-700);border:var(--neutrals-700)}.s-select--disabled .s-select-multiple__main .dot-content s-icon-mat span,.s-select--disabled .s-select__main .dot-content s-icon-mat span{color:var(--neutrals-1200)}.s-select--disabled .s-select-multiple__main s-icon-mat span,.s-select--disabled .s-select__main s-icon-mat span{color:var(--neutrals-700)}\n"] }]
|
|
3622
3648
|
}], ctorParameters: () => [{ type: SelectNavigationService }], propDecorators: { disabled: [{
|
|
3623
3649
|
type: Input
|
|
3624
3650
|
}], placeholder: [{
|
|
@@ -4062,6 +4088,7 @@ class FormFilledMetadataDto {
|
|
|
4062
4088
|
class STabletComponent {
|
|
4063
4089
|
constructor() {
|
|
4064
4090
|
this.loading = false;
|
|
4091
|
+
this.isTreeMode = false;
|
|
4065
4092
|
this.loadingScroll = input(false);
|
|
4066
4093
|
this.updateDataEvent = new EventEmitter();
|
|
4067
4094
|
this.ordenByEvent = new EventEmitter();
|
|
@@ -4075,7 +4102,7 @@ class STabletComponent {
|
|
|
4075
4102
|
this.initData = this.data;
|
|
4076
4103
|
}
|
|
4077
4104
|
orderBy(column) {
|
|
4078
|
-
if (column.sortable !== false && !column.disabled) {
|
|
4105
|
+
if (column.sortable !== false && !column.disabled && !column.checkbox) {
|
|
4079
4106
|
if (column.id) {
|
|
4080
4107
|
//column.id es el campo a ordenar.
|
|
4081
4108
|
const sortAsc = this.fieldSelect && this.fieldSelect.SortField === column.id && this.fieldSelect.SortAsc === true
|
|
@@ -4106,11 +4133,11 @@ class STabletComponent {
|
|
|
4106
4133
|
}
|
|
4107
4134
|
}
|
|
4108
4135
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: STabletComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
4109
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: STabletComponent, selector: "s-tablet", inputs: { data: { classPropertyName: "data", publicName: "data", isSignal: false, isRequired: false, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: false, isRequired: false, transformFunction: null }, caption: { classPropertyName: "caption", publicName: "caption", isSignal: false, isRequired: false, transformFunction: null }, header: { classPropertyName: "header", publicName: "header", isSignal: false, isRequired: false, transformFunction: null }, bodyloading: { classPropertyName: "bodyloading", publicName: "bodyloading", isSignal: false, isRequired: false, transformFunction: null }, body: { classPropertyName: "body", publicName: "body", isSignal: false, isRequired: false, transformFunction: null }, configColumn: { classPropertyName: "configColumn", publicName: "configColumn", isSignal: false, isRequired: false, transformFunction: null }, loadingScroll: { classPropertyName: "loadingScroll", publicName: "loadingScroll", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { updateDataEvent: "updateDataEvent", ordenByEvent: "ordenByEvent", checkAllEvent: "checkAllEvent", scrollEvent: "scrollEvent" }, ngImport: i0, template: "<ng-container *ngTemplateOutlet=\"caption\"></ng-container>\n<div class=\"pre-s-tablet s-scroll\" (scroll)=\"onScroll($event)\">\n <table class=\"s-tablet\">\n <thead>\n <ng-container *ngTemplateOutlet=\"header\"></ng-container>\n <tr *ngIf=\"configColumn && !loading\">\n <th\n *ngFor=\"let column of configColumn\"\n [width]=\"column.width\"\n tabindex=\"0\"\n (keydown.enter)=\"orderBy(column)\"\n (click)=\"orderBy(column)\">\n <div\n class=\"s-tablet__header\"\n [ngClass]=\"{\n 's-tablet__header--align-center': column.align === 'center',\n 's-tablet__header--align-right': column.align === 'right',\n 's-tablet__header--align-left': column.align === 'left' || !column.align,\n cursor: column.sortable !== false,\n 's-tablet__disabled': loading,\n }\">\n <
|
|
4136
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: STabletComponent, selector: "s-tablet", inputs: { data: { classPropertyName: "data", publicName: "data", isSignal: false, isRequired: false, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: false, isRequired: false, transformFunction: null }, caption: { classPropertyName: "caption", publicName: "caption", isSignal: false, isRequired: false, transformFunction: null }, header: { classPropertyName: "header", publicName: "header", isSignal: false, isRequired: false, transformFunction: null }, bodyloading: { classPropertyName: "bodyloading", publicName: "bodyloading", isSignal: false, isRequired: false, transformFunction: null }, body: { classPropertyName: "body", publicName: "body", isSignal: false, isRequired: false, transformFunction: null }, configColumn: { classPropertyName: "configColumn", publicName: "configColumn", isSignal: false, isRequired: false, transformFunction: null }, isTreeMode: { classPropertyName: "isTreeMode", publicName: "isTreeMode", isSignal: false, isRequired: false, transformFunction: null }, loadingScroll: { classPropertyName: "loadingScroll", publicName: "loadingScroll", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { updateDataEvent: "updateDataEvent", ordenByEvent: "ordenByEvent", checkAllEvent: "checkAllEvent", scrollEvent: "scrollEvent" }, ngImport: i0, template: "<ng-container *ngTemplateOutlet=\"caption\"></ng-container>\n<div class=\"pre-s-tablet s-scroll\" (scroll)=\"onScroll($event)\">\n <table class=\"s-tablet\">\n <thead>\n <ng-container *ngTemplateOutlet=\"header\"></ng-container>\n <tr *ngIf=\"configColumn && configColumn.length > 0 && !loading\">\n <th\n *ngFor=\"let column of configColumn\"\n [width]=\"column.width\"\n tabindex=\"0\"\n (keydown.enter)=\"orderBy(column)\"\n (click)=\"orderBy(column)\">\n <div\n class=\"s-tablet__header\"\n [ngClass]=\"{\n 's-tablet__header--align-center': column.align === 'center',\n 's-tablet__header--align-right': column.align === 'right',\n 's-tablet__header--align-left': column.align === 'left' || !column.align,\n cursor: column.sortable !== false,\n 's-tablet__disabled': loading,\n }\">\n <ng-container *ngIf=\"column.checkbox\">\n <span *ngIf=\"isTreeMode\" class=\"s-table-double__tree-spacer\"></span>\n <s-checkbox\n [ngClass]=\"{ 'mr-2': column.title }\"\n [config]=\"checkboxConfig\"\n [(ngModel)]=\"column.checkboxValue\"\n (ngModelChange)=\"checkAll($event)\">\n </s-checkbox>\n </ng-container>\n <div\n class=\"s-tablet__header__label\"\n [ngClass]=\"{\n 's-tablet__header__select': fieldSelect && fieldSelect.SortField === column.id,\n }\">\n {{ column.title }}\n </div>\n <span *ngIf=\"fieldSelect && fieldSelect.SortField === column.id\" class=\"s-tablet__header__icon\">\n <s-icon-mat [type]=\"'symbol'\" size=\"18\" class=\"icon cursor\">{{\n fieldSelect.SortAsc ? 'keyboard_arrow_up' : 'keyboard_arrow_down'\n }}</s-icon-mat>\n </span>\n <span\n *ngIf=\"column.sortable !== false && column.title && fieldSelect && fieldSelect.SortField !== column.id\">\n <s-icon-mat [type]=\"'symbol'\" size=\"18\" class=\"icon cursor\" class=\"s-tablet__header__icon--standard\"\n >keyboard_arrow_down</s-icon-mat\n >\n </span>\n <span\n *ngIf=\"!fieldSelect && column.sortable !== false && column.title\"\n class=\"s-tablet__header__icon--standard\">\n <s-icon-mat [type]=\"'symbol'\" size=\"18\" class=\"icon cursor\" class=\"s-tablet__header__icon--standard\"\n >keyboard_arrow_down</s-icon-mat\n >\n </span>\n </div>\n </th>\n </tr>\n </thead>\n <tbody [ngClass]=\"loading ? 's-tablet__empty' : 's-tablet__body'\">\n <ng-container *ngIf=\"loading; else body\">\n <ng-template #body>\n <ng-content></ng-content>\n </ng-template>\n <ng-template #loading *ngTemplateOutlet=\"bodyloading\"></ng-template>\n </ng-container>\n </tbody>\n @if (loadingScroll()) {\n <tbody class=\"s-tablet__body\">\n <tr>\n <td [attr.colspan]=\"configColumn.length || 1\" class=\"s-table-complete__loading\">\n <s-spinner size=\"sm\"></s-spinner>\n </td>\n </tr>\n </tbody>\n }\n </table>\n</div>\n", styles: [".pre-s-tablet{max-width:100%;overflow-x:auto}.pre-s-tablet .s-tablet{background-color:var(--primary-100);border-collapse:collapse;width:100%}.pre-s-tablet .s-tablet thead{background-color:var(--neutrals-1200);font-weight:700}.pre-s-tablet .s-tablet thead th{vertical-align:middle;color:var(--secondary-600);font-size:.875rem;line-height:1.375rem;letter-spacing:.016rem;font-weight:700!important;text-align:left}.pre-s-tablet .s-tablet thead th:last-of-type{text-align:center}.pre-s-tablet .s-tablet__body{background-color:var(--neutrals-1200);color:var(--secondary-600)}.pre-s-tablet .s-tablet__disabled{color:var(--neutrals-700);pointer-events:none}.pre-s-tablet .s-tablet__empty{display:table-caption;caption-side:bottom;width:100%}.pre-s-tablet .s-tablet tbody tr td,.pre-s-tablet .s-tablet thead tr th{padding:.875rem;height:3.5rem;vertical-align:middle;font-size:.875rem}.pre-s-tablet .s-tablet th,.pre-s-tablet .s-tablet td{box-sizing:border-box;border:none;box-shadow:inset 0 -.063rem 0 var(--neutrals-900)}.pre-s-tablet .s-tablet td,.pre-s-tablet .s-tablet thead tr{height:3.5rem}.pre-s-tablet .s-tablet thead tr th{position:sticky;top:0;background-color:var(--neutrals-1200)}.pre-s-tablet .s-tablet__header{display:flex;gap:.5rem;align-items:center}.pre-s-tablet .s-tablet__header__icon{color:var(--primary-600)}.pre-s-tablet .s-tablet__header__icon--standard .s-icon-mat span{color:var(--neutrals-800)}.pre-s-tablet .s-tablet__header--align-left{justify-content:flex-start}.pre-s-tablet .s-tablet__header--align-center{justify-content:center}.pre-s-tablet .s-tablet__header--align-right{justify-content:flex-end}.pre-s-tablet .s-tablet__header__label{color:var(--secondary-500);font-weight:600}.pre-s-tablet .s-tablet__header__select{color:var(--secondary-600);font-weight:700}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: SIconMaterialComponent, selector: "s-icon-mat", inputs: ["name", "size", "fill", "weight", "grade", "opticalSize", "style", "type"] }, { kind: "component", type: SCheckboxComponent, selector: "s-checkbox", inputs: ["config"], outputs: ["blur", "focus"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: SSpinnerComponent, selector: "s-spinner", inputs: ["size", "animation"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
4110
4137
|
}
|
|
4111
4138
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: STabletComponent, decorators: [{
|
|
4112
4139
|
type: Component,
|
|
4113
|
-
args: [{ selector: 's-tablet', encapsulation: ViewEncapsulation.None, template: "<ng-container *ngTemplateOutlet=\"caption\"></ng-container>\n<div class=\"pre-s-tablet s-scroll\" (scroll)=\"onScroll($event)\">\n <table class=\"s-tablet\">\n <thead>\n <ng-container *ngTemplateOutlet=\"header\"></ng-container>\n <tr *ngIf=\"configColumn && !loading\">\n <th\n *ngFor=\"let column of configColumn\"\n [width]=\"column.width\"\n tabindex=\"0\"\n (keydown.enter)=\"orderBy(column)\"\n (click)=\"orderBy(column)\">\n <div\n class=\"s-tablet__header\"\n [ngClass]=\"{\n 's-tablet__header--align-center': column.align === 'center',\n 's-tablet__header--align-right': column.align === 'right',\n 's-tablet__header--align-left': column.align === 'left' || !column.align,\n cursor: column.sortable !== false,\n 's-tablet__disabled': loading,\n }\">\n <
|
|
4140
|
+
args: [{ selector: 's-tablet', encapsulation: ViewEncapsulation.None, template: "<ng-container *ngTemplateOutlet=\"caption\"></ng-container>\n<div class=\"pre-s-tablet s-scroll\" (scroll)=\"onScroll($event)\">\n <table class=\"s-tablet\">\n <thead>\n <ng-container *ngTemplateOutlet=\"header\"></ng-container>\n <tr *ngIf=\"configColumn && configColumn.length > 0 && !loading\">\n <th\n *ngFor=\"let column of configColumn\"\n [width]=\"column.width\"\n tabindex=\"0\"\n (keydown.enter)=\"orderBy(column)\"\n (click)=\"orderBy(column)\">\n <div\n class=\"s-tablet__header\"\n [ngClass]=\"{\n 's-tablet__header--align-center': column.align === 'center',\n 's-tablet__header--align-right': column.align === 'right',\n 's-tablet__header--align-left': column.align === 'left' || !column.align,\n cursor: column.sortable !== false,\n 's-tablet__disabled': loading,\n }\">\n <ng-container *ngIf=\"column.checkbox\">\n <span *ngIf=\"isTreeMode\" class=\"s-table-double__tree-spacer\"></span>\n <s-checkbox\n [ngClass]=\"{ 'mr-2': column.title }\"\n [config]=\"checkboxConfig\"\n [(ngModel)]=\"column.checkboxValue\"\n (ngModelChange)=\"checkAll($event)\">\n </s-checkbox>\n </ng-container>\n <div\n class=\"s-tablet__header__label\"\n [ngClass]=\"{\n 's-tablet__header__select': fieldSelect && fieldSelect.SortField === column.id,\n }\">\n {{ column.title }}\n </div>\n <span *ngIf=\"fieldSelect && fieldSelect.SortField === column.id\" class=\"s-tablet__header__icon\">\n <s-icon-mat [type]=\"'symbol'\" size=\"18\" class=\"icon cursor\">{{\n fieldSelect.SortAsc ? 'keyboard_arrow_up' : 'keyboard_arrow_down'\n }}</s-icon-mat>\n </span>\n <span\n *ngIf=\"column.sortable !== false && column.title && fieldSelect && fieldSelect.SortField !== column.id\">\n <s-icon-mat [type]=\"'symbol'\" size=\"18\" class=\"icon cursor\" class=\"s-tablet__header__icon--standard\"\n >keyboard_arrow_down</s-icon-mat\n >\n </span>\n <span\n *ngIf=\"!fieldSelect && column.sortable !== false && column.title\"\n class=\"s-tablet__header__icon--standard\">\n <s-icon-mat [type]=\"'symbol'\" size=\"18\" class=\"icon cursor\" class=\"s-tablet__header__icon--standard\"\n >keyboard_arrow_down</s-icon-mat\n >\n </span>\n </div>\n </th>\n </tr>\n </thead>\n <tbody [ngClass]=\"loading ? 's-tablet__empty' : 's-tablet__body'\">\n <ng-container *ngIf=\"loading; else body\">\n <ng-template #body>\n <ng-content></ng-content>\n </ng-template>\n <ng-template #loading *ngTemplateOutlet=\"bodyloading\"></ng-template>\n </ng-container>\n </tbody>\n @if (loadingScroll()) {\n <tbody class=\"s-tablet__body\">\n <tr>\n <td [attr.colspan]=\"configColumn.length || 1\" class=\"s-table-complete__loading\">\n <s-spinner size=\"sm\"></s-spinner>\n </td>\n </tr>\n </tbody>\n }\n </table>\n</div>\n", styles: [".pre-s-tablet{max-width:100%;overflow-x:auto}.pre-s-tablet .s-tablet{background-color:var(--primary-100);border-collapse:collapse;width:100%}.pre-s-tablet .s-tablet thead{background-color:var(--neutrals-1200);font-weight:700}.pre-s-tablet .s-tablet thead th{vertical-align:middle;color:var(--secondary-600);font-size:.875rem;line-height:1.375rem;letter-spacing:.016rem;font-weight:700!important;text-align:left}.pre-s-tablet .s-tablet thead th:last-of-type{text-align:center}.pre-s-tablet .s-tablet__body{background-color:var(--neutrals-1200);color:var(--secondary-600)}.pre-s-tablet .s-tablet__disabled{color:var(--neutrals-700);pointer-events:none}.pre-s-tablet .s-tablet__empty{display:table-caption;caption-side:bottom;width:100%}.pre-s-tablet .s-tablet tbody tr td,.pre-s-tablet .s-tablet thead tr th{padding:.875rem;height:3.5rem;vertical-align:middle;font-size:.875rem}.pre-s-tablet .s-tablet th,.pre-s-tablet .s-tablet td{box-sizing:border-box;border:none;box-shadow:inset 0 -.063rem 0 var(--neutrals-900)}.pre-s-tablet .s-tablet td,.pre-s-tablet .s-tablet thead tr{height:3.5rem}.pre-s-tablet .s-tablet thead tr th{position:sticky;top:0;background-color:var(--neutrals-1200)}.pre-s-tablet .s-tablet__header{display:flex;gap:.5rem;align-items:center}.pre-s-tablet .s-tablet__header__icon{color:var(--primary-600)}.pre-s-tablet .s-tablet__header__icon--standard .s-icon-mat span{color:var(--neutrals-800)}.pre-s-tablet .s-tablet__header--align-left{justify-content:flex-start}.pre-s-tablet .s-tablet__header--align-center{justify-content:center}.pre-s-tablet .s-tablet__header--align-right{justify-content:flex-end}.pre-s-tablet .s-tablet__header__label{color:var(--secondary-500);font-weight:600}.pre-s-tablet .s-tablet__header__select{color:var(--secondary-600);font-weight:700}\n"] }]
|
|
4114
4141
|
}], propDecorators: { data: [{
|
|
4115
4142
|
type: Input
|
|
4116
4143
|
}], loading: [{
|
|
@@ -4125,6 +4152,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
4125
4152
|
type: Input
|
|
4126
4153
|
}], configColumn: [{
|
|
4127
4154
|
type: Input
|
|
4155
|
+
}], isTreeMode: [{
|
|
4156
|
+
type: Input
|
|
4128
4157
|
}], updateDataEvent: [{
|
|
4129
4158
|
type: Output
|
|
4130
4159
|
}], ordenByEvent: [{
|
|
@@ -4408,11 +4437,11 @@ class TableActionsButtonsComponent {
|
|
|
4408
4437
|
}
|
|
4409
4438
|
}
|
|
4410
4439
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TableActionsButtonsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
4411
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: TableActionsButtonsComponent, selector: "s-table-actions-buttons", inputs: { tableActionsButtons: "tableActionsButtons" }, outputs: { clickButtonEvent: "clickButtonEvent" }, ngImport: i0, template: "<div class=\"d-flex justify-content-center table-actions-buttons\">\n <ng-container *ngFor=\"let button of tableActionsButtons\">\n <s-icon-mat\n tabindex=\"0\"\n class=\"table-actions-buttons__icon p-1 no-select\"\n size=\"20\"\n [ngClass]=\"getButtonsClass(button)\"\n [tooltip]=\"tooltip\"\n (keyup.enter)=\"handleButtonClick(button)\"\n (click)=\"handleButtonClick(button)\">\n {{ button.icon ?? getButtonsType(button.type).icon }}\n </s-icon-mat>\n <s-tooltip\n #tooltip\n [title]=\"button.tooltip\"\n [position]=\"button.tooltipPosition ?? 'top'\"\n theme=\"dark\"></s-tooltip>\n </ng-container>\n</div>\n", styles: [".table-actions-buttons__icon{color:var(--primary-600);cursor:pointer}.table-actions-buttons__icon__primary{color:var(--primary-600)}.table-actions-buttons__icon__primary--disabled{color:var(--primary-300)}.table-actions-buttons__icon__primary:not(.table-actions-buttons__icon__primary--disabled):hover{color:var(--primary-900)}.table-actions-buttons__icon__secondary{color:var(--
|
|
4440
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: TableActionsButtonsComponent, selector: "s-table-actions-buttons", inputs: { tableActionsButtons: "tableActionsButtons" }, outputs: { clickButtonEvent: "clickButtonEvent" }, ngImport: i0, template: "<div class=\"d-flex justify-content-center table-actions-buttons\">\n <ng-container *ngFor=\"let button of tableActionsButtons\">\n <s-icon-mat\n tabindex=\"0\"\n class=\"table-actions-buttons__icon p-1 no-select\"\n size=\"20\"\n [ngClass]=\"getButtonsClass(button)\"\n [tooltip]=\"tooltip\"\n (keyup.enter)=\"handleButtonClick(button)\"\n (click)=\"handleButtonClick(button)\">\n {{ button.icon ?? getButtonsType(button.type).icon }}\n </s-icon-mat>\n <s-tooltip\n #tooltip\n [title]=\"button.tooltip\"\n [position]=\"button.tooltipPosition ?? 'top'\"\n theme=\"dark\"></s-tooltip>\n </ng-container>\n</div>\n", styles: [".table-actions-buttons__icon{color:var(--primary-600);cursor:pointer}.table-actions-buttons__icon__primary{color:var(--primary-600)}.table-actions-buttons__icon__primary--disabled{color:var(--primary-300)}.table-actions-buttons__icon__primary:not(.table-actions-buttons__icon__primary--disabled):hover{color:var(--primary-900)}.table-actions-buttons__icon__secondary{color:var(--primary-600)}.table-actions-buttons__icon__secondary--disabled{color:var(--primary-300)}.table-actions-buttons__icon__secondary:not(.table-actions-buttons__icon__secondary--disabled):hover{color:var(--secondary-900)}.table-actions-buttons__icon__green{color:var(--green-600)}.table-actions-buttons__icon__green--disabled{color:var(--green-300)}.table-actions-buttons__icon__green:not(.table-actions-buttons__icon__green--disabled):hover{color:var(--green-900)}.table-actions-buttons__icon__red{color:var(--red-600)}.table-actions-buttons__icon__red--disabled{color:var(--red-300)}.table-actions-buttons__icon__red:not(.table-actions-buttons__icon__red--disabled):hover{color:var(--red-900)}.table-actions-buttons__icon__yellow{color:var(--yellow-600)}.table-actions-buttons__icon__yellow--disabled{color:var(--yellow-300)}.table-actions-buttons__icon__yellow:not(.table-actions-buttons__icon__yellow--disabled):hover{color:var(--yellow-900)}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: SIconMaterialComponent, selector: "s-icon-mat", inputs: ["name", "size", "fill", "weight", "grade", "opticalSize", "style", "type"] }, { kind: "component", type: STooltipComponent, selector: "s-tooltip", inputs: ["title", "description", "theme", "position"] }, { kind: "directive", type: CustomTooltipDirective, selector: "[tooltip]", inputs: ["tooltip"] }] }); }
|
|
4412
4441
|
}
|
|
4413
4442
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TableActionsButtonsComponent, decorators: [{
|
|
4414
4443
|
type: Component,
|
|
4415
|
-
args: [{ selector: 's-table-actions-buttons', template: "<div class=\"d-flex justify-content-center table-actions-buttons\">\n <ng-container *ngFor=\"let button of tableActionsButtons\">\n <s-icon-mat\n tabindex=\"0\"\n class=\"table-actions-buttons__icon p-1 no-select\"\n size=\"20\"\n [ngClass]=\"getButtonsClass(button)\"\n [tooltip]=\"tooltip\"\n (keyup.enter)=\"handleButtonClick(button)\"\n (click)=\"handleButtonClick(button)\">\n {{ button.icon ?? getButtonsType(button.type).icon }}\n </s-icon-mat>\n <s-tooltip\n #tooltip\n [title]=\"button.tooltip\"\n [position]=\"button.tooltipPosition ?? 'top'\"\n theme=\"dark\"></s-tooltip>\n </ng-container>\n</div>\n", styles: [".table-actions-buttons__icon{color:var(--primary-600);cursor:pointer}.table-actions-buttons__icon__primary{color:var(--primary-600)}.table-actions-buttons__icon__primary--disabled{color:var(--primary-300)}.table-actions-buttons__icon__primary:not(.table-actions-buttons__icon__primary--disabled):hover{color:var(--primary-900)}.table-actions-buttons__icon__secondary{color:var(--
|
|
4444
|
+
args: [{ selector: 's-table-actions-buttons', template: "<div class=\"d-flex justify-content-center table-actions-buttons\">\n <ng-container *ngFor=\"let button of tableActionsButtons\">\n <s-icon-mat\n tabindex=\"0\"\n class=\"table-actions-buttons__icon p-1 no-select\"\n size=\"20\"\n [ngClass]=\"getButtonsClass(button)\"\n [tooltip]=\"tooltip\"\n (keyup.enter)=\"handleButtonClick(button)\"\n (click)=\"handleButtonClick(button)\">\n {{ button.icon ?? getButtonsType(button.type).icon }}\n </s-icon-mat>\n <s-tooltip\n #tooltip\n [title]=\"button.tooltip\"\n [position]=\"button.tooltipPosition ?? 'top'\"\n theme=\"dark\"></s-tooltip>\n </ng-container>\n</div>\n", styles: [".table-actions-buttons__icon{color:var(--primary-600);cursor:pointer}.table-actions-buttons__icon__primary{color:var(--primary-600)}.table-actions-buttons__icon__primary--disabled{color:var(--primary-300)}.table-actions-buttons__icon__primary:not(.table-actions-buttons__icon__primary--disabled):hover{color:var(--primary-900)}.table-actions-buttons__icon__secondary{color:var(--primary-600)}.table-actions-buttons__icon__secondary--disabled{color:var(--primary-300)}.table-actions-buttons__icon__secondary:not(.table-actions-buttons__icon__secondary--disabled):hover{color:var(--secondary-900)}.table-actions-buttons__icon__green{color:var(--green-600)}.table-actions-buttons__icon__green--disabled{color:var(--green-300)}.table-actions-buttons__icon__green:not(.table-actions-buttons__icon__green--disabled):hover{color:var(--green-900)}.table-actions-buttons__icon__red{color:var(--red-600)}.table-actions-buttons__icon__red--disabled{color:var(--red-300)}.table-actions-buttons__icon__red:not(.table-actions-buttons__icon__red--disabled):hover{color:var(--red-900)}.table-actions-buttons__icon__yellow{color:var(--yellow-600)}.table-actions-buttons__icon__yellow--disabled{color:var(--yellow-300)}.table-actions-buttons__icon__yellow:not(.table-actions-buttons__icon__yellow--disabled):hover{color:var(--yellow-900)}\n"] }]
|
|
4416
4445
|
}], propDecorators: { tableActionsButtons: [{
|
|
4417
4446
|
type: Input
|
|
4418
4447
|
}], clickButtonEvent: [{
|
|
@@ -5440,11 +5469,11 @@ class SListSimpleComponent {
|
|
|
5440
5469
|
this.listStyle = 'default';
|
|
5441
5470
|
}
|
|
5442
5471
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SListSimpleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
5443
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: SListSimpleComponent, selector: "s-list-simple", inputs: { listStyle: "listStyle" }, ngImport: i0, template: "<div class=\"s-list-simple s-list-simple--{{listStyle}}\">\n <ng-content></ng-content>\n</div>", styles: ["@font-face{font-family:Material Icons;font-style:normal;font-weight:400;src:url(https://fonts.gstatic.com/s/materialicons/v145/flUhRq6tzZclQEJ-Vdg-IuiaDsNc.woff2) format(\"woff2\")}@font-face{font-family:Material Symbols Outlined;font-style:normal;font-weight:100 700;src:url(https://fonts.gstatic.com/s/materialsymbolsoutlined/
|
|
5472
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: SListSimpleComponent, selector: "s-list-simple", inputs: { listStyle: "listStyle" }, ngImport: i0, template: "<div class=\"s-list-simple s-list-simple--{{listStyle}}\">\n <ng-content></ng-content>\n</div>", styles: ["@font-face{font-family:Material Icons;font-style:normal;font-weight:400;src:url(https://fonts.gstatic.com/s/materialicons/v145/flUhRq6tzZclQEJ-Vdg-IuiaDsNc.woff2) format(\"woff2\")}@font-face{font-family:Material Symbols Outlined;font-style:normal;font-weight:100 700;src:url(https://fonts.gstatic.com/s/materialsymbolsoutlined/v316/kJF1BvYX7BgnkSrUwT8OhrdQw4oELdPIeeII9v6oDMzByHX9rA6RzaxHMPdY43zj-jCxv3fzvRNU22ZXGJpEpjC_1v-p_4MrImHCIJIZrDCvHOejbd5zrDAt.woff2) format(\"woff2\")}.s-list-simple ul{font-size:.875rem;font-weight:400;line-height:1.25rem;letter-spacing:.01563rem;display:flex;flex-direction:column;align-items:flex-start;align-self:stretch}.s-list-simple ul,.s-list-simple ol{margin-left:.625rem}.s-list-simple ul ul,.s-list-simple ul ol,.s-list-simple ol ul,.s-list-simple ol ol{margin-left:1.063rem}.s-list-simple ul ul ul,.s-list-simple ul ul ol,.s-list-simple ul ol ul,.s-list-simple ul ol ol,.s-list-simple ol ul ul,.s-list-simple ol ul ol,.s-list-simple ol ol ul,.s-list-simple ol ol ol{margin-left:1.5rem}.s-list-simple ul ul ul ul,.s-list-simple ul ul ul ol,.s-list-simple ul ul ol ul,.s-list-simple ul ul ol ol,.s-list-simple ul ol ul ul,.s-list-simple ul ol ul ol,.s-list-simple ul ol ol ul,.s-list-simple ul ol ol ol,.s-list-simple ol ul ul ul,.s-list-simple ol ul ul ol,.s-list-simple ol ul ol ul,.s-list-simple ol ul ol ol,.s-list-simple ol ol ul ul,.s-list-simple ol ol ul ol,.s-list-simple ol ol ol ul,.s-list-simple ol ol ol ol{margin-left:30.063rem}.s-list-simple--default ul{list-style:disc}.s-list-simple--check li,.s-list-simple--chevron li,.s-list-simple--folder li{list-style-type:none}.s-list-simple--check li:before,.s-list-simple--chevron li:before,.s-list-simple--folder li:before{font-family:Material Icons;display:inline-block;margin-right:.5em}.s-list-simple--check ul ul ul li:before{color:var(--green-700)}.s-list-simple--check ul ul ul .mark-invert:before,.s-list-simple--check ul ul ul .mark-invert::marker{color:var(--green-600)!important}.s-list-simple--check li:before{content:\"\\e5ca\";color:var(--green-600)}.s-list-simple--check .mark-invert:before,.s-list-simple--check .mark-invert::marker{color:var(--green-700)}.s-list-simple--chevron li:before{content:\"\\e5cc\";color:var(--secondary-600)}.s-list-simple--dot ul,.s-list-simple--dot ul ul{list-style:disc}.s-list-simple--dot ul ul ul{list-style:circle}.s-list-simple--dot li::marker{font-size:1.063rem;color:var(--secondary-600)}.s-list-simple--folder ul ul ul li:before{font-family:Material Symbols Outlined}.s-list-simple--folder ul ul ul .mark-invert:before,.s-list-simple--folder ul ul ul .mark-invert::marker{font-family:Material Icons!important}.s-list-simple--folder li:before{content:\"\\e2c7\";color:var(--secondary-600)}.s-list-simple--folder .mark-invert:before,.s-list-simple--folder .mark-invert::marker{font-family:Material Symbols Outlined}.s-list-simple--a1 ul>li:before{color:var(--primary-600);font-weight:700;content:counter(level1) \". \";counter-increment:level1}.s-list-simple--a1 ul ul>li:before{color:var(--secondary-600);font-weight:700;content:counter(level2,lower-alpha) \". \";counter-increment:level2}.s-list-simple--a1 ul ul ul>li:before{font-weight:400;content:counter(level2,lower-alpha) \".\" counter(level3) \" \";counter-increment:level3}.s-list-simple--a1 ul{counter-reset:level1}.s-list-simple--a1 ul ul{counter-reset:level2}.s-list-simple--a1 ul ul ul{counter-reset:level3}\n"], encapsulation: i0.ViewEncapsulation.None }); }
|
|
5444
5473
|
}
|
|
5445
5474
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SListSimpleComponent, decorators: [{
|
|
5446
5475
|
type: Component,
|
|
5447
|
-
args: [{ selector: 's-list-simple', encapsulation: ViewEncapsulation.None, template: "<div class=\"s-list-simple s-list-simple--{{listStyle}}\">\n <ng-content></ng-content>\n</div>", styles: ["@font-face{font-family:Material Icons;font-style:normal;font-weight:400;src:url(https://fonts.gstatic.com/s/materialicons/v145/flUhRq6tzZclQEJ-Vdg-IuiaDsNc.woff2) format(\"woff2\")}@font-face{font-family:Material Symbols Outlined;font-style:normal;font-weight:100 700;src:url(https://fonts.gstatic.com/s/materialsymbolsoutlined/
|
|
5476
|
+
args: [{ selector: 's-list-simple', encapsulation: ViewEncapsulation.None, template: "<div class=\"s-list-simple s-list-simple--{{listStyle}}\">\n <ng-content></ng-content>\n</div>", styles: ["@font-face{font-family:Material Icons;font-style:normal;font-weight:400;src:url(https://fonts.gstatic.com/s/materialicons/v145/flUhRq6tzZclQEJ-Vdg-IuiaDsNc.woff2) format(\"woff2\")}@font-face{font-family:Material Symbols Outlined;font-style:normal;font-weight:100 700;src:url(https://fonts.gstatic.com/s/materialsymbolsoutlined/v316/kJF1BvYX7BgnkSrUwT8OhrdQw4oELdPIeeII9v6oDMzByHX9rA6RzaxHMPdY43zj-jCxv3fzvRNU22ZXGJpEpjC_1v-p_4MrImHCIJIZrDCvHOejbd5zrDAt.woff2) format(\"woff2\")}.s-list-simple ul{font-size:.875rem;font-weight:400;line-height:1.25rem;letter-spacing:.01563rem;display:flex;flex-direction:column;align-items:flex-start;align-self:stretch}.s-list-simple ul,.s-list-simple ol{margin-left:.625rem}.s-list-simple ul ul,.s-list-simple ul ol,.s-list-simple ol ul,.s-list-simple ol ol{margin-left:1.063rem}.s-list-simple ul ul ul,.s-list-simple ul ul ol,.s-list-simple ul ol ul,.s-list-simple ul ol ol,.s-list-simple ol ul ul,.s-list-simple ol ul ol,.s-list-simple ol ol ul,.s-list-simple ol ol ol{margin-left:1.5rem}.s-list-simple ul ul ul ul,.s-list-simple ul ul ul ol,.s-list-simple ul ul ol ul,.s-list-simple ul ul ol ol,.s-list-simple ul ol ul ul,.s-list-simple ul ol ul ol,.s-list-simple ul ol ol ul,.s-list-simple ul ol ol ol,.s-list-simple ol ul ul ul,.s-list-simple ol ul ul ol,.s-list-simple ol ul ol ul,.s-list-simple ol ul ol ol,.s-list-simple ol ol ul ul,.s-list-simple ol ol ul ol,.s-list-simple ol ol ol ul,.s-list-simple ol ol ol ol{margin-left:30.063rem}.s-list-simple--default ul{list-style:disc}.s-list-simple--check li,.s-list-simple--chevron li,.s-list-simple--folder li{list-style-type:none}.s-list-simple--check li:before,.s-list-simple--chevron li:before,.s-list-simple--folder li:before{font-family:Material Icons;display:inline-block;margin-right:.5em}.s-list-simple--check ul ul ul li:before{color:var(--green-700)}.s-list-simple--check ul ul ul .mark-invert:before,.s-list-simple--check ul ul ul .mark-invert::marker{color:var(--green-600)!important}.s-list-simple--check li:before{content:\"\\e5ca\";color:var(--green-600)}.s-list-simple--check .mark-invert:before,.s-list-simple--check .mark-invert::marker{color:var(--green-700)}.s-list-simple--chevron li:before{content:\"\\e5cc\";color:var(--secondary-600)}.s-list-simple--dot ul,.s-list-simple--dot ul ul{list-style:disc}.s-list-simple--dot ul ul ul{list-style:circle}.s-list-simple--dot li::marker{font-size:1.063rem;color:var(--secondary-600)}.s-list-simple--folder ul ul ul li:before{font-family:Material Symbols Outlined}.s-list-simple--folder ul ul ul .mark-invert:before,.s-list-simple--folder ul ul ul .mark-invert::marker{font-family:Material Icons!important}.s-list-simple--folder li:before{content:\"\\e2c7\";color:var(--secondary-600)}.s-list-simple--folder .mark-invert:before,.s-list-simple--folder .mark-invert::marker{font-family:Material Symbols Outlined}.s-list-simple--a1 ul>li:before{color:var(--primary-600);font-weight:700;content:counter(level1) \". \";counter-increment:level1}.s-list-simple--a1 ul ul>li:before{color:var(--secondary-600);font-weight:700;content:counter(level2,lower-alpha) \". \";counter-increment:level2}.s-list-simple--a1 ul ul ul>li:before{font-weight:400;content:counter(level2,lower-alpha) \".\" counter(level3) \" \";counter-increment:level3}.s-list-simple--a1 ul{counter-reset:level1}.s-list-simple--a1 ul ul{counter-reset:level2}.s-list-simple--a1 ul ul ul{counter-reset:level3}\n"] }]
|
|
5448
5477
|
}], propDecorators: { listStyle: [{
|
|
5449
5478
|
type: Input
|
|
5450
5479
|
}] } });
|
|
@@ -6063,11 +6092,11 @@ class STabsComponent {
|
|
|
6063
6092
|
this.eventSelect.emit(tab);
|
|
6064
6093
|
}
|
|
6065
6094
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: STabsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
6066
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: STabsComponent, selector: "s-tabs", inputs: { tabs: "tabs", configTabs: "configTabs" }, outputs: { eventSelect: "eventSelect" }, usesOnChanges: true, ngImport: i0, template: "<div\n class=\"s-tabs s-scroll no-select\"\n *ngIf=\"tabsConfig\"\n [ngClass]=\"{\n 's-tabs__background': configTabs?.background,\n 's-tabs__pill': configTabs?.pill,\n 's-tabs__sm': configTabs?.size === 'sm',\n }\">\n <div class=\"s-tabs__container\" [ngStyle]=\"{ width: configTabs?.width + '%' }\">\n <div\n class=\"s-tabs__content\"\n *ngFor=\"let tab of tabsConfig\"\n [ngClass]=\"{\n selected: tab.selected,\n highlight: tab.highlight,\n disabled: tab.disabled,\n }\"\n tabindex=\"0\"\n (keydown.enter)=\"selectTab(tab)\"\n (click)=\"selectTab(tab)\">\n <s-icon-mat\n class=\"s-tabs__icon\"\n *ngIf=\"tab.icon\"\n [ngClass]=\"[tab.iconType ? tab.iconType : '']\"\n [type]=\"tab.iconSymbol ? 'symbol' : 'icon'\"\n >{{ tab.icon }}</s-icon-mat\n >\n <span *ngIf=\"tab.text\" class=\"s-tabs__text\">{{ tab.text }}</span>\n <s-badge\n *ngIf=\"tab.badge\"\n [type]=\"tab.badgeType ? tab.badgeType : 'primary'\"\n >{{ tab.badge }}</s-badge\n >\n </div>\n </div>\n</div>\n", styles: [".s-tabs{border-top-right-radius:.5rem;border-top-left-radius:.5rem;display:block;overflow:auto}.s-tabs__icon .s-icon-mat span{font-size:1.25rem}.s-tabs .material-icons{font-size:1.5rem}.s-tabs__container{display:flex;justify-content:center}.s-tabs__content{align-items:center;color:var(--secondary-600);cursor:pointer;display:flex;flex-basis:50%;flex-grow:1;font-size:1rem;justify-content:center;line-height:2rem;padding:.896rem .5rem;text-align:center;gap:.4rem}.s-tabs__content.selected{
|
|
6095
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: STabsComponent, selector: "s-tabs", inputs: { tabs: "tabs", configTabs: "configTabs" }, outputs: { eventSelect: "eventSelect" }, usesOnChanges: true, ngImport: i0, template: "<div\n class=\"s-tabs s-scroll no-select\"\n *ngIf=\"tabsConfig\"\n [ngClass]=\"{\n 's-tabs__background': configTabs?.background,\n 's-tabs__pill': configTabs?.pill,\n 's-tabs__sm': configTabs?.size === 'sm',\n 's-tabs__vertical': configTabs?.orientation === 'vertical',\n 's-tabs__underline': configTabs?.underline,\n 's-tabs__backgroundSelected': configTabs?.backgroundSelected\n }\"\n [ngStyle]=\"{\n '--tabs-width': configTabs?.width + '%',\n '--tabs-height': configTabs?.height + '%'\n }\"\n >\n <div class=\"s-tabs__container\" [ngStyle]=\"{ width: configTabs?.width + '%' }\">\n <div\n class=\"s-tabs__content\"\n *ngFor=\"let tab of tabsConfig\"\n [ngClass]=\"{\n selected: tab.selected,\n highlight: tab.highlight,\n disabled: tab.disabled,\n }\"\n tabindex=\"0\"\n (keydown.enter)=\"selectTab(tab)\"\n (click)=\"selectTab(tab)\">\n <s-icon-mat\n class=\"s-tabs__icon\"\n *ngIf=\"tab.icon\"\n [ngClass]=\"[tab.iconType ? tab.iconType : '']\"\n [type]=\"tab.iconSymbol ? 'symbol' : 'icon'\"\n >{{ tab.icon }}</s-icon-mat\n >\n <span *ngIf=\"tab.text\" class=\"s-tabs__text\">{{ tab.text }}</span>\n <s-badge\n *ngIf=\"tab.badge\"\n [type]=\"tab.badgeType ? tab.badgeType : 'primary'\"\n >{{ tab.badge }}</s-badge\n >\n </div>\n </div>\n</div>\n", styles: [".s-tabs{border-top-right-radius:.5rem;border-top-left-radius:.5rem;display:block;overflow:auto;height:var(--tabs-height, auto)}.s-tabs__icon .s-icon-mat span{font-size:1.25rem}.s-tabs .material-icons{font-size:1.5rem}.s-tabs__container{display:flex;justify-content:center;height:13%}.s-tabs__content{align-items:center;color:var(--secondary-600);cursor:pointer;display:flex;flex-basis:50%;flex-grow:1;font-size:1rem;justify-content:center;line-height:2rem;padding:.896rem .5rem;text-align:center;gap:.4rem}.s-tabs__content.selected{color:var(--primary-600);background-color:var(--primary-200);border-top-right-radius:.5rem;border-top-left-radius:.5rem}.s-tabs__content.highlight{background-color:var(--primary-200)}.s-tabs__content.disabled{color:var(--secondary-300);cursor:not-allowed}.s-tabs .primary{color:var(--primary-600)}.s-tabs .secondary{color:var(--secondary-600)}.s-tabs .green{color:var(--green-600)}.s-tabs .yellow{color:var(--yellow-600)}.s-tabs .red{color:var(--red-600)}.s-tabs__text{font-weight:700}.s-tabs__background{background-color:var(--primary-100)}.s-tabs__pill{padding:.5rem;border-bottom-left-radius:.5rem;border-bottom-right-radius:.5rem}.s-tabs__pill .s-tabs{background-color:var(--primary-100)}.s-tabs__pill .s-tabs__container{gap:.5rem}.s-tabs__pill .s-tabs__content{padding:.43rem .187rem;border-bottom:0;border-radius:.25rem}.s-tabs__pill .s-tabs__content.selected{color:var(--primary-600);background-color:var(--primary-200)}.s-tabs__sm .s-tabs__text{font-size:.75rem}.s-tabs__sm .s-tabs__icon span{font-size:1.3rem}.s-tabs__sm.s-tabs__pill{padding:.25rem}.s-tabs__sm.s-tabs__pill .s-tabs__content{padding:.299rem .187rem}.s-tabs__sm .s-tabs__content{padding:.24rem .187rem}.s-tabs__vertical{display:flex;width:var(--tabs-width, max-content);height:var(--tabs-height, 100%)}.s-tabs__vertical s-icon-mat.s-tabs__icon{padding-left:.6rem;padding-right:.2rem}.s-tabs__vertical .s-tabs__container{flex-direction:column;width:100%!important;justify-content:flex-start;align-items:stretch}.s-tabs__vertical.s-tabs__pill{padding-left:.7rem;padding-right:.7rem;padding-bottom:var(--_pill-padding-bottom, .5rem)}.s-tabs__vertical.s-tabs__pill .s-tabs__container{display:flex;flex-direction:column;width:100%!important;justify-content:flex-start;align-items:center!important}.s-tabs__vertical .s-tabs__content{justify-content:flex-start;text-align:left;flex-basis:auto;border-bottom:none;border-left:.063rem solid transparent;border-radius:0}.s-tabs__vertical .s-tabs__content.selected{border-left:.188rem solid var(--primary-600);border-bottom:none;border-top-right-radius:0;border-top-left-radius:0;background-color:var(--primary-200)}.s-tabs__vertical .s-tabs__content:not(:has(.s-tabs__icon)) .s-tabs__text{padding-left:.5rem}.s-tabs__vertical.s-tabs__pill .s-tabs__container{gap:.5rem}.s-tabs__vertical.s-tabs__pill .s-tabs__content{border-left:0;border-radius:.25rem;width:100%}.s-tabs__vertical.s-tabs__pill .s-tabs__content.selected{border-left:0}.s-tabs__vertical.s-tabs__underline.s-tabs__pill .s-tabs__content.selected{border-bottom:.15rem solid var(--primary-600);border-bottom-left-radius:0;border-bottom-right-radius:0}.s-tabs__vertical.s-tabs__backgroundSelected.s-tabs__pill .s-tabs__content.selected{background:none}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: SIconMaterialComponent, selector: "s-icon-mat", inputs: ["name", "size", "fill", "weight", "grade", "opticalSize", "style", "type"] }, { kind: "component", type: SBadgeComponent, selector: "s-badge", inputs: ["type", "size", "new"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
6067
6096
|
}
|
|
6068
6097
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: STabsComponent, decorators: [{
|
|
6069
6098
|
type: Component,
|
|
6070
|
-
args: [{ selector: 's-tabs', encapsulation: ViewEncapsulation.None, template: "<div\n class=\"s-tabs s-scroll no-select\"\n *ngIf=\"tabsConfig\"\n [ngClass]=\"{\n 's-tabs__background': configTabs?.background,\n 's-tabs__pill': configTabs?.pill,\n 's-tabs__sm': configTabs?.size === 'sm',\n }\">\n <div class=\"s-tabs__container\" [ngStyle]=\"{ width: configTabs?.width + '%' }\">\n <div\n class=\"s-tabs__content\"\n *ngFor=\"let tab of tabsConfig\"\n [ngClass]=\"{\n selected: tab.selected,\n highlight: tab.highlight,\n disabled: tab.disabled,\n }\"\n tabindex=\"0\"\n (keydown.enter)=\"selectTab(tab)\"\n (click)=\"selectTab(tab)\">\n <s-icon-mat\n class=\"s-tabs__icon\"\n *ngIf=\"tab.icon\"\n [ngClass]=\"[tab.iconType ? tab.iconType : '']\"\n [type]=\"tab.iconSymbol ? 'symbol' : 'icon'\"\n >{{ tab.icon }}</s-icon-mat\n >\n <span *ngIf=\"tab.text\" class=\"s-tabs__text\">{{ tab.text }}</span>\n <s-badge\n *ngIf=\"tab.badge\"\n [type]=\"tab.badgeType ? tab.badgeType : 'primary'\"\n >{{ tab.badge }}</s-badge\n >\n </div>\n </div>\n</div>\n", styles: [".s-tabs{border-top-right-radius:.5rem;border-top-left-radius:.5rem;display:block;overflow:auto}.s-tabs__icon .s-icon-mat span{font-size:1.25rem}.s-tabs .material-icons{font-size:1.5rem}.s-tabs__container{display:flex;justify-content:center}.s-tabs__content{align-items:center;color:var(--secondary-600);cursor:pointer;display:flex;flex-basis:50%;flex-grow:1;font-size:1rem;justify-content:center;line-height:2rem;padding:.896rem .5rem;text-align:center;gap:.4rem}.s-tabs__content.selected{
|
|
6099
|
+
args: [{ selector: 's-tabs', encapsulation: ViewEncapsulation.None, template: "<div\n class=\"s-tabs s-scroll no-select\"\n *ngIf=\"tabsConfig\"\n [ngClass]=\"{\n 's-tabs__background': configTabs?.background,\n 's-tabs__pill': configTabs?.pill,\n 's-tabs__sm': configTabs?.size === 'sm',\n 's-tabs__vertical': configTabs?.orientation === 'vertical',\n 's-tabs__underline': configTabs?.underline,\n 's-tabs__backgroundSelected': configTabs?.backgroundSelected\n }\"\n [ngStyle]=\"{\n '--tabs-width': configTabs?.width + '%',\n '--tabs-height': configTabs?.height + '%'\n }\"\n >\n <div class=\"s-tabs__container\" [ngStyle]=\"{ width: configTabs?.width + '%' }\">\n <div\n class=\"s-tabs__content\"\n *ngFor=\"let tab of tabsConfig\"\n [ngClass]=\"{\n selected: tab.selected,\n highlight: tab.highlight,\n disabled: tab.disabled,\n }\"\n tabindex=\"0\"\n (keydown.enter)=\"selectTab(tab)\"\n (click)=\"selectTab(tab)\">\n <s-icon-mat\n class=\"s-tabs__icon\"\n *ngIf=\"tab.icon\"\n [ngClass]=\"[tab.iconType ? tab.iconType : '']\"\n [type]=\"tab.iconSymbol ? 'symbol' : 'icon'\"\n >{{ tab.icon }}</s-icon-mat\n >\n <span *ngIf=\"tab.text\" class=\"s-tabs__text\">{{ tab.text }}</span>\n <s-badge\n *ngIf=\"tab.badge\"\n [type]=\"tab.badgeType ? tab.badgeType : 'primary'\"\n >{{ tab.badge }}</s-badge\n >\n </div>\n </div>\n</div>\n", styles: [".s-tabs{border-top-right-radius:.5rem;border-top-left-radius:.5rem;display:block;overflow:auto;height:var(--tabs-height, auto)}.s-tabs__icon .s-icon-mat span{font-size:1.25rem}.s-tabs .material-icons{font-size:1.5rem}.s-tabs__container{display:flex;justify-content:center;height:13%}.s-tabs__content{align-items:center;color:var(--secondary-600);cursor:pointer;display:flex;flex-basis:50%;flex-grow:1;font-size:1rem;justify-content:center;line-height:2rem;padding:.896rem .5rem;text-align:center;gap:.4rem}.s-tabs__content.selected{color:var(--primary-600);background-color:var(--primary-200);border-top-right-radius:.5rem;border-top-left-radius:.5rem}.s-tabs__content.highlight{background-color:var(--primary-200)}.s-tabs__content.disabled{color:var(--secondary-300);cursor:not-allowed}.s-tabs .primary{color:var(--primary-600)}.s-tabs .secondary{color:var(--secondary-600)}.s-tabs .green{color:var(--green-600)}.s-tabs .yellow{color:var(--yellow-600)}.s-tabs .red{color:var(--red-600)}.s-tabs__text{font-weight:700}.s-tabs__background{background-color:var(--primary-100)}.s-tabs__pill{padding:.5rem;border-bottom-left-radius:.5rem;border-bottom-right-radius:.5rem}.s-tabs__pill .s-tabs{background-color:var(--primary-100)}.s-tabs__pill .s-tabs__container{gap:.5rem}.s-tabs__pill .s-tabs__content{padding:.43rem .187rem;border-bottom:0;border-radius:.25rem}.s-tabs__pill .s-tabs__content.selected{color:var(--primary-600);background-color:var(--primary-200)}.s-tabs__sm .s-tabs__text{font-size:.75rem}.s-tabs__sm .s-tabs__icon span{font-size:1.3rem}.s-tabs__sm.s-tabs__pill{padding:.25rem}.s-tabs__sm.s-tabs__pill .s-tabs__content{padding:.299rem .187rem}.s-tabs__sm .s-tabs__content{padding:.24rem .187rem}.s-tabs__vertical{display:flex;width:var(--tabs-width, max-content);height:var(--tabs-height, 100%)}.s-tabs__vertical s-icon-mat.s-tabs__icon{padding-left:.6rem;padding-right:.2rem}.s-tabs__vertical .s-tabs__container{flex-direction:column;width:100%!important;justify-content:flex-start;align-items:stretch}.s-tabs__vertical.s-tabs__pill{padding-left:.7rem;padding-right:.7rem;padding-bottom:var(--_pill-padding-bottom, .5rem)}.s-tabs__vertical.s-tabs__pill .s-tabs__container{display:flex;flex-direction:column;width:100%!important;justify-content:flex-start;align-items:center!important}.s-tabs__vertical .s-tabs__content{justify-content:flex-start;text-align:left;flex-basis:auto;border-bottom:none;border-left:.063rem solid transparent;border-radius:0}.s-tabs__vertical .s-tabs__content.selected{border-left:.188rem solid var(--primary-600);border-bottom:none;border-top-right-radius:0;border-top-left-radius:0;background-color:var(--primary-200)}.s-tabs__vertical .s-tabs__content:not(:has(.s-tabs__icon)) .s-tabs__text{padding-left:.5rem}.s-tabs__vertical.s-tabs__pill .s-tabs__container{gap:.5rem}.s-tabs__vertical.s-tabs__pill .s-tabs__content{border-left:0;border-radius:.25rem;width:100%}.s-tabs__vertical.s-tabs__pill .s-tabs__content.selected{border-left:0}.s-tabs__vertical.s-tabs__underline.s-tabs__pill .s-tabs__content.selected{border-bottom:.15rem solid var(--primary-600);border-bottom-left-radius:0;border-bottom-right-radius:0}.s-tabs__vertical.s-tabs__backgroundSelected.s-tabs__pill .s-tabs__content.selected{background:none}\n"] }]
|
|
6071
6100
|
}], ctorParameters: () => [], propDecorators: { tabs: [{
|
|
6072
6101
|
type: Input
|
|
6073
6102
|
}], configTabs: [{
|
|
@@ -6466,6 +6495,8 @@ class TableCompleteComponent {
|
|
|
6466
6495
|
this.searchEvent = new EventEmitter();
|
|
6467
6496
|
this.bottomStatusBarEvent = new EventEmitter();
|
|
6468
6497
|
this.scrollEvent = new EventEmitter();
|
|
6498
|
+
this._sTranslateService = inject(STranslateService);
|
|
6499
|
+
this.searchText = '';
|
|
6469
6500
|
}
|
|
6470
6501
|
ngOnChanges(changes) {
|
|
6471
6502
|
if (changes['config']) {
|
|
@@ -6474,12 +6505,17 @@ class TableCompleteComponent {
|
|
|
6474
6505
|
}
|
|
6475
6506
|
ngOnInit() {
|
|
6476
6507
|
this.filtersDisabled();
|
|
6508
|
+
this.emptyConfigSearch = {
|
|
6509
|
+
image: 'assets/empty/empty-search.png',
|
|
6510
|
+
title: this._sTranslateService.instant('ui.generic.emptySearch.title'),
|
|
6511
|
+
detail: this._sTranslateService.instant('ui.generic.emptySearch.detail'),
|
|
6512
|
+
};
|
|
6477
6513
|
}
|
|
6478
6514
|
filtersDisabled() {
|
|
6479
6515
|
if (this.config.configToolbarTop) {
|
|
6480
6516
|
this.config.configToolbarTop = {
|
|
6481
6517
|
...this.config.configToolbarTop,
|
|
6482
|
-
filtersDisabled: this.config.totalItems === 0,
|
|
6518
|
+
filtersDisabled: this.config.totalItems === 0 && this.searchText === '',
|
|
6483
6519
|
};
|
|
6484
6520
|
}
|
|
6485
6521
|
}
|
|
@@ -6496,6 +6532,7 @@ class TableCompleteComponent {
|
|
|
6496
6532
|
this.deleteEvent.emit();
|
|
6497
6533
|
}
|
|
6498
6534
|
search(text) {
|
|
6535
|
+
this.searchText = text;
|
|
6499
6536
|
this.searchEvent.emit(text);
|
|
6500
6537
|
}
|
|
6501
6538
|
select(value) {
|
|
@@ -6531,11 +6568,11 @@ class TableCompleteComponent {
|
|
|
6531
6568
|
this.scrollEvent.emit();
|
|
6532
6569
|
}
|
|
6533
6570
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TableCompleteComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
6534
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: TableCompleteComponent, selector: "s-table-complete", inputs: { config: "config" }, outputs: { actionEvent: "actionEvent", checkAllEvent: "checkAllEvent", deleteEvent: "deleteEvent", emptyEvent: "emptyEvent", filterEvent: "filterEvent", orderByEvent: "orderByEvent", pageEvent: "pageEvent", paginationEvent: "paginationEvent", multiSelectEvent: "multiSelectEvent", pillButtonEvent: "pillButtonEvent", selectEvent: "selectEvent", searchEvent: "searchEvent", bottomStatusBarEvent: "bottomStatusBarEvent", scrollEvent: "scrollEvent" }, usesOnChanges: true, ngImport: i0, template: "<section class=\"s-table-complete\">\n <s-toolbar-top\n *ngIf=\"config.configToolbarTop\"\n [config]=\"config.configToolbarTop\"\n (searchEvent)=\"search($event)\"\n (actionEvent)=\"action()\"\n (deleteEvent)=\"delete()\"\n (filterEvent)=\"filter($event)\"\n (multiSelectEvent)=\"multiSelect($event)\"\n (pillButtonEvent)=\"pillButton()\"\n (selectEvent)=\"select($event)\">\n </s-toolbar-top>\n <div class=\"s-table-complete__table\" *ngIf=\"config.columns\">\n <s-tablet\n [configColumn]=\"config.columns\"\n [loading]=\"config.totalItems === 0\"\n [loadingScroll]=\"config.loadingScroll ?? false\"\n (ordenByEvent)=\"ordenEvent($event)\"\n (checkAllEvent)=\"checkAll($event)\"\n (scrollEvent)=\"onScroll()\">\n <ng-template STemplate=\"body\">\n <ng-content></ng-content>\n </ng-template>\n <ng-template STemplate=\"bodyloading\" #notItems>\n <s-empty *ngIf=\"config.emptyConfig\" [config]=\"config.emptyConfig\" (buttonEvent)=\"buttonEmpty()\"></s-empty>\n </ng-template>\n </s-tablet>\n </div>\n @if (config.configBottomStatusBar) {\n <s-bottom-status-bar\n [config]=\"config.configBottomStatusBar()\"\n (stateChangeEvent)=\"selectionControlChange($event)\" />\n }\n @if (!config.scroll) {\n @if (!config.hidePagination) {\n <div class=\"s-table-complete__pagination\">\n <section>\n <s-pagination\n *ngIf=\"config.paginationText\"\n [disabled]=\"config.totalItems === 0\"\n [showing]=\"config.paginationText.showing\"\n [of]=\"config.paginationText.of\"\n [items]=\"config.paginationText.items\"\n [empty]=\"config.paginationText.empty\"\n [pageNumber]=\"config.pageNumber ?? 0\"\n [pageSize]=\"config.pageSize ?? 0\"\n [pageSizes]=\"config.pageSizes ? config.pageSizes : undefined\"\n [totalItems]=\"config.totalItems ?? 0\"\n (pageEmitter)=\"goToPage($event)\"\n (paginationEmitter)=\"pagination($event)\">\n </s-pagination>\n <s-pagination\n *ngIf=\"!config.paginationText\"\n [disabled]=\"config.totalItems === 0\"\n [pageNumber]=\"config.pageNumber ?? 0\"\n [totalItems]=\"config.totalItems ?? 0\"\n [pageSize]=\"config.pageSize ?? 0\"\n [pageSizes]=\"config.pageSizes ? config.pageSizes : undefined\"\n (pageEmitter)=\"goToPage($event)\"\n (paginationEmitter)=\"pagination($event)\">\n </s-pagination>\n </section>\n </div>\n }\n }\n</section>\n", styles: [".s-table-complete{width:100%;box-shadow:var(--E000);border-radius:.5rem}.s-table-complete__table{background:var(--neutrals-1200)!important}.s-table-complete__pagination{background-color:var(--neutrals-1200);border-top:.031rem solid var(--secondary-300);border-radius:0 0 .5rem .5rem;padding:1rem}.s-table-complete .border-bottom{border-bottom:.031rem solid var(--secondary-300)}.s-table-complete s-tablet .pre-s-tablet{height:37rem;background-color:var(--primary-100)}.s-table-complete .s-scroll::-webkit-scrollbar-track{background-color:var(--neutrals-1200)}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: SToolbarTopComponent, selector: "s-toolbar-top", inputs: ["config"], outputs: ["actionEvent", "deleteEvent", "filterEvent", "multiSelectEvent", "pillButtonEvent", "selectEvent", "searchEvent"] }, { kind: "component", type: EmptyComponent, selector: "s-empty", inputs: ["config"], outputs: ["buttonEvent"] }, { kind: "component", type: STabletComponent, selector: "s-tablet", inputs: ["data", "loading", "caption", "header", "bodyloading", "body", "configColumn", "loadingScroll"], outputs: ["updateDataEvent", "ordenByEvent", "checkAllEvent", "scrollEvent"] }, { kind: "directive", type: STemplate, selector: "[STemplate]", inputs: ["STemplate"] }, { kind: "component", type: SPaginationComponent, selector: "s-pagination", inputs: ["showing", "to", "of", "items", "empty", "disabled", "pageNumber", "totalItems", "pageSize", "pageSizes"], outputs: ["pageEmitter", "paginationEmitter"] }, { kind: "component", type: SBottomStatusBarComponent, selector: "s-bottom-status-bar", inputs: ["config"], outputs: ["stateChange", "stateChangeEvent"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
6571
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: TableCompleteComponent, selector: "s-table-complete", inputs: { config: "config" }, outputs: { actionEvent: "actionEvent", checkAllEvent: "checkAllEvent", deleteEvent: "deleteEvent", emptyEvent: "emptyEvent", filterEvent: "filterEvent", orderByEvent: "orderByEvent", pageEvent: "pageEvent", paginationEvent: "paginationEvent", multiSelectEvent: "multiSelectEvent", pillButtonEvent: "pillButtonEvent", selectEvent: "selectEvent", searchEvent: "searchEvent", bottomStatusBarEvent: "bottomStatusBarEvent", scrollEvent: "scrollEvent" }, usesOnChanges: true, ngImport: i0, template: "<section class=\"s-table-complete\">\n <s-toolbar-top\n *ngIf=\"config.configToolbarTop\"\n [config]=\"config.configToolbarTop\"\n (searchEvent)=\"search($event)\"\n (actionEvent)=\"action()\"\n (deleteEvent)=\"delete()\"\n (filterEvent)=\"filter($event)\"\n (multiSelectEvent)=\"multiSelect($event)\"\n (pillButtonEvent)=\"pillButton()\"\n (selectEvent)=\"select($event)\">\n </s-toolbar-top>\n <div class=\"s-table-complete__table\" *ngIf=\"config.columns\">\n <s-tablet\n [configColumn]=\"config.columns\"\n [loading]=\"config.totalItems === 0\"\n [loadingScroll]=\"config.loadingScroll ?? false\"\n [isTreeMode]=\"config.isTreeMode ?? false\"\n (ordenByEvent)=\"ordenEvent($event)\"\n (checkAllEvent)=\"checkAll($event)\"\n (scrollEvent)=\"onScroll()\">\n <ng-template STemplate=\"body\">\n <ng-content></ng-content>\n </ng-template>\n <ng-template STemplate=\"bodyloading\" #notItems>\n @if (searchText) {\n <s-empty [config]=\"emptyConfigSearch\" (buttonEvent)=\"buttonEmpty()\"></s-empty>\n } @else {\n <s-empty *ngIf=\"config.emptyConfig\" [config]=\"config.emptyConfig\" (buttonEvent)=\"buttonEmpty()\"></s-empty>\n }\n </ng-template>\n </s-tablet>\n </div>\n @if (config.configBottomStatusBar) {\n <s-bottom-status-bar\n [config]=\"config.configBottomStatusBar()\"\n (stateChangeEvent)=\"selectionControlChange($event)\" />\n }\n @if (!config.scroll) {\n @if (!config.hidePagination) {\n <div class=\"s-table-complete__pagination\">\n <section>\n <s-pagination\n *ngIf=\"config.paginationText\"\n [disabled]=\"config.totalItems === 0\"\n [showing]=\"config.paginationText.showing\"\n [of]=\"config.paginationText.of\"\n [items]=\"config.paginationText.items\"\n [empty]=\"config.paginationText.empty\"\n [pageNumber]=\"config.pageNumber ?? 0\"\n [pageSize]=\"config.pageSize ?? 0\"\n [pageSizes]=\"config.pageSizes ? config.pageSizes : undefined\"\n [totalItems]=\"config.totalItems ?? 0\"\n (pageEmitter)=\"goToPage($event)\"\n (paginationEmitter)=\"pagination($event)\">\n </s-pagination>\n <s-pagination\n *ngIf=\"!config.paginationText\"\n [disabled]=\"config.totalItems === 0\"\n [pageNumber]=\"config.pageNumber ?? 0\"\n [totalItems]=\"config.totalItems ?? 0\"\n [pageSize]=\"config.pageSize ?? 0\"\n [pageSizes]=\"config.pageSizes ? config.pageSizes : undefined\"\n (pageEmitter)=\"goToPage($event)\"\n (paginationEmitter)=\"pagination($event)\">\n </s-pagination>\n </section>\n </div>\n }\n }\n</section>\n", styles: [".s-table-complete{width:100%;box-shadow:var(--E000);border-radius:.5rem}.s-table-complete__table{background:var(--neutrals-1200)!important}.s-table-complete__pagination{background-color:var(--neutrals-1200);border-top:.031rem solid var(--secondary-300);border-radius:0 0 .5rem .5rem;padding:1rem}.s-table-complete .border-bottom{border-bottom:.031rem solid var(--secondary-300)}.s-table-complete s-tablet .pre-s-tablet{height:37rem;background-color:var(--primary-100)}.s-table-complete .s-scroll::-webkit-scrollbar-track{background-color:var(--neutrals-1200)}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: SToolbarTopComponent, selector: "s-toolbar-top", inputs: ["config"], outputs: ["actionEvent", "deleteEvent", "filterEvent", "multiSelectEvent", "pillButtonEvent", "selectEvent", "searchEvent"] }, { kind: "component", type: EmptyComponent, selector: "s-empty", inputs: ["config"], outputs: ["buttonEvent"] }, { kind: "component", type: STabletComponent, selector: "s-tablet", inputs: ["data", "loading", "caption", "header", "bodyloading", "body", "configColumn", "isTreeMode", "loadingScroll"], outputs: ["updateDataEvent", "ordenByEvent", "checkAllEvent", "scrollEvent"] }, { kind: "directive", type: STemplate, selector: "[STemplate]", inputs: ["STemplate"] }, { kind: "component", type: SPaginationComponent, selector: "s-pagination", inputs: ["showing", "to", "of", "items", "empty", "disabled", "pageNumber", "totalItems", "pageSize", "pageSizes"], outputs: ["pageEmitter", "paginationEmitter"] }, { kind: "component", type: SBottomStatusBarComponent, selector: "s-bottom-status-bar", inputs: ["config"], outputs: ["stateChange", "stateChangeEvent"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
6535
6572
|
}
|
|
6536
6573
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TableCompleteComponent, decorators: [{
|
|
6537
6574
|
type: Component,
|
|
6538
|
-
args: [{ selector: 's-table-complete', encapsulation: ViewEncapsulation.None, template: "<section class=\"s-table-complete\">\n <s-toolbar-top\n *ngIf=\"config.configToolbarTop\"\n [config]=\"config.configToolbarTop\"\n (searchEvent)=\"search($event)\"\n (actionEvent)=\"action()\"\n (deleteEvent)=\"delete()\"\n (filterEvent)=\"filter($event)\"\n (multiSelectEvent)=\"multiSelect($event)\"\n (pillButtonEvent)=\"pillButton()\"\n (selectEvent)=\"select($event)\">\n </s-toolbar-top>\n <div class=\"s-table-complete__table\" *ngIf=\"config.columns\">\n <s-tablet\n [configColumn]=\"config.columns\"\n [loading]=\"config.totalItems === 0\"\n [loadingScroll]=\"config.loadingScroll ?? false\"\n (ordenByEvent)=\"ordenEvent($event)\"\n (checkAllEvent)=\"checkAll($event)\"\n (scrollEvent)=\"onScroll()\">\n <ng-template STemplate=\"body\">\n <ng-content></ng-content>\n </ng-template>\n <ng-template STemplate=\"bodyloading\" #notItems>\n <s-empty *ngIf=\"config.emptyConfig\" [config]=\"config.emptyConfig\" (buttonEvent)=\"buttonEmpty()\"></s-empty>\n </ng-template>\n </s-tablet>\n </div>\n @if (config.configBottomStatusBar) {\n <s-bottom-status-bar\n [config]=\"config.configBottomStatusBar()\"\n (stateChangeEvent)=\"selectionControlChange($event)\" />\n }\n @if (!config.scroll) {\n @if (!config.hidePagination) {\n <div class=\"s-table-complete__pagination\">\n <section>\n <s-pagination\n *ngIf=\"config.paginationText\"\n [disabled]=\"config.totalItems === 0\"\n [showing]=\"config.paginationText.showing\"\n [of]=\"config.paginationText.of\"\n [items]=\"config.paginationText.items\"\n [empty]=\"config.paginationText.empty\"\n [pageNumber]=\"config.pageNumber ?? 0\"\n [pageSize]=\"config.pageSize ?? 0\"\n [pageSizes]=\"config.pageSizes ? config.pageSizes : undefined\"\n [totalItems]=\"config.totalItems ?? 0\"\n (pageEmitter)=\"goToPage($event)\"\n (paginationEmitter)=\"pagination($event)\">\n </s-pagination>\n <s-pagination\n *ngIf=\"!config.paginationText\"\n [disabled]=\"config.totalItems === 0\"\n [pageNumber]=\"config.pageNumber ?? 0\"\n [totalItems]=\"config.totalItems ?? 0\"\n [pageSize]=\"config.pageSize ?? 0\"\n [pageSizes]=\"config.pageSizes ? config.pageSizes : undefined\"\n (pageEmitter)=\"goToPage($event)\"\n (paginationEmitter)=\"pagination($event)\">\n </s-pagination>\n </section>\n </div>\n }\n }\n</section>\n", styles: [".s-table-complete{width:100%;box-shadow:var(--E000);border-radius:.5rem}.s-table-complete__table{background:var(--neutrals-1200)!important}.s-table-complete__pagination{background-color:var(--neutrals-1200);border-top:.031rem solid var(--secondary-300);border-radius:0 0 .5rem .5rem;padding:1rem}.s-table-complete .border-bottom{border-bottom:.031rem solid var(--secondary-300)}.s-table-complete s-tablet .pre-s-tablet{height:37rem;background-color:var(--primary-100)}.s-table-complete .s-scroll::-webkit-scrollbar-track{background-color:var(--neutrals-1200)}\n"] }]
|
|
6575
|
+
args: [{ selector: 's-table-complete', encapsulation: ViewEncapsulation.None, template: "<section class=\"s-table-complete\">\n <s-toolbar-top\n *ngIf=\"config.configToolbarTop\"\n [config]=\"config.configToolbarTop\"\n (searchEvent)=\"search($event)\"\n (actionEvent)=\"action()\"\n (deleteEvent)=\"delete()\"\n (filterEvent)=\"filter($event)\"\n (multiSelectEvent)=\"multiSelect($event)\"\n (pillButtonEvent)=\"pillButton()\"\n (selectEvent)=\"select($event)\">\n </s-toolbar-top>\n <div class=\"s-table-complete__table\" *ngIf=\"config.columns\">\n <s-tablet\n [configColumn]=\"config.columns\"\n [loading]=\"config.totalItems === 0\"\n [loadingScroll]=\"config.loadingScroll ?? false\"\n [isTreeMode]=\"config.isTreeMode ?? false\"\n (ordenByEvent)=\"ordenEvent($event)\"\n (checkAllEvent)=\"checkAll($event)\"\n (scrollEvent)=\"onScroll()\">\n <ng-template STemplate=\"body\">\n <ng-content></ng-content>\n </ng-template>\n <ng-template STemplate=\"bodyloading\" #notItems>\n @if (searchText) {\n <s-empty [config]=\"emptyConfigSearch\" (buttonEvent)=\"buttonEmpty()\"></s-empty>\n } @else {\n <s-empty *ngIf=\"config.emptyConfig\" [config]=\"config.emptyConfig\" (buttonEvent)=\"buttonEmpty()\"></s-empty>\n }\n </ng-template>\n </s-tablet>\n </div>\n @if (config.configBottomStatusBar) {\n <s-bottom-status-bar\n [config]=\"config.configBottomStatusBar()\"\n (stateChangeEvent)=\"selectionControlChange($event)\" />\n }\n @if (!config.scroll) {\n @if (!config.hidePagination) {\n <div class=\"s-table-complete__pagination\">\n <section>\n <s-pagination\n *ngIf=\"config.paginationText\"\n [disabled]=\"config.totalItems === 0\"\n [showing]=\"config.paginationText.showing\"\n [of]=\"config.paginationText.of\"\n [items]=\"config.paginationText.items\"\n [empty]=\"config.paginationText.empty\"\n [pageNumber]=\"config.pageNumber ?? 0\"\n [pageSize]=\"config.pageSize ?? 0\"\n [pageSizes]=\"config.pageSizes ? config.pageSizes : undefined\"\n [totalItems]=\"config.totalItems ?? 0\"\n (pageEmitter)=\"goToPage($event)\"\n (paginationEmitter)=\"pagination($event)\">\n </s-pagination>\n <s-pagination\n *ngIf=\"!config.paginationText\"\n [disabled]=\"config.totalItems === 0\"\n [pageNumber]=\"config.pageNumber ?? 0\"\n [totalItems]=\"config.totalItems ?? 0\"\n [pageSize]=\"config.pageSize ?? 0\"\n [pageSizes]=\"config.pageSizes ? config.pageSizes : undefined\"\n (pageEmitter)=\"goToPage($event)\"\n (paginationEmitter)=\"pagination($event)\">\n </s-pagination>\n </section>\n </div>\n }\n }\n</section>\n", styles: [".s-table-complete{width:100%;box-shadow:var(--E000);border-radius:.5rem}.s-table-complete__table{background:var(--neutrals-1200)!important}.s-table-complete__pagination{background-color:var(--neutrals-1200);border-top:.031rem solid var(--secondary-300);border-radius:0 0 .5rem .5rem;padding:1rem}.s-table-complete .border-bottom{border-bottom:.031rem solid var(--secondary-300)}.s-table-complete s-tablet .pre-s-tablet{height:37rem;background-color:var(--primary-100)}.s-table-complete .s-scroll::-webkit-scrollbar-track{background-color:var(--neutrals-1200)}\n"] }]
|
|
6539
6576
|
}], propDecorators: { config: [{
|
|
6540
6577
|
type: Input
|
|
6541
6578
|
}], actionEvent: [{
|
|
@@ -6697,10 +6734,10 @@ class SModalConfirmComponent {
|
|
|
6697
6734
|
this.modalConfirmService.close(response, checkboxChecked);
|
|
6698
6735
|
}
|
|
6699
6736
|
getTextAlignClass() {
|
|
6700
|
-
return 's-modal-confirm__message--' + (this.config?.textAlign ?? '
|
|
6737
|
+
return 's-modal-confirm__message--' + (this.config?.textAlign ?? 'left');
|
|
6701
6738
|
}
|
|
6702
6739
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SModalConfirmComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
6703
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: SModalConfirmComponent, isStandalone: true, selector: "s-modal-confirm.", host: { listeners: { "document:keydown.escape": "onEscapeKey($event)" } }, ngImport: i0, template: "@if (config.isVisible) {\n <div class=\"overlay\">\n <div class=\"overlay__grid-12\">\n <div\n class=\"s-modal-confirm\"\n (click)=\"close(false)\"\n (keydown.enter)=\"close(false)\"\n tabindex=\"0\">\n <div\n class=\"s-modal-confirm__content\"\n (click)=\"$event.stopPropagation()\"\n (keydown.enter)=\"$event.stopPropagation()\"\n tabindex=\"0\">\n <section\n class=\"s-modal-confirm__header\"\n [ngClass]=\"{\n 's-modal-confirm__header--secondary':\n config.backgroundType === 'secondary',\n }\">\n <div class=\"s-modal-confirm__header-title\">\n <s-icon-mat\n size=\"20\"\n [ngClass]=\"'s-modal-confirm__icon-' + config.type\">\n {{ getIconType(config.type).icon }}\n </s-icon-mat>\n <h4 class=\"s-modal-confirm__title\">\n {{ config.title }}\n </h4>\n </div>\n <s-icon-mat\n
|
|
6740
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: SModalConfirmComponent, isStandalone: true, selector: "s-modal-confirm.", host: { listeners: { "document:keydown.escape": "onEscapeKey($event)" } }, ngImport: i0, template: "@if (config.isVisible) {\n <div class=\"overlay\">\n <div class=\"overlay__grid-12\">\n <div\n class=\"s-modal-confirm\"\n (click)=\"close(false)\"\n (keydown.enter)=\"close(false)\"\n tabindex=\"0\">\n <div\n class=\"s-modal-confirm__content\"\n (click)=\"$event.stopPropagation()\"\n (keydown.enter)=\"$event.stopPropagation()\"\n tabindex=\"0\">\n <section\n class=\"s-modal-confirm__header\"\n [ngClass]=\"{\n 's-modal-confirm__header--secondary':\n config.backgroundType === 'secondary',\n }\">\n <div class=\"s-modal-confirm__header-title\">\n <s-icon-mat\n size=\"20\"\n [ngClass]=\"'s-modal-confirm__icon-' + config.type\">\n {{ getIconType(config.type).icon }}\n </s-icon-mat>\n <h4 class=\"s-modal-confirm__title\">\n {{ config.title }}\n </h4>\n </div>\n @if (config.cancelText) {\n <s-icon-mat\n tabindex=\"0\"\n class=\"s-modal-confirm__icon-close\"\n size=\"20\"\n (click)=\"close(false)\">\n close\n </s-icon-mat>\n }\n </section>\n <div class=\"s-scroll s-modal-confirm__body\">\n <p class=\"s-modal-confirm__message\" [ngClass]=\"getTextAlignClass()\">\n {{ config.message }}\n </p>\n </div>\n <section\n class=\"s-modal-confirm__buttons\"\n [ngClass]=\"{\n 's-modal-confirm__buttons--secondary':\n config.backgroundType === 'secondary',\n }\">\n <div>\n @if (config.checkbox) {\n <s-checkbox\n [config]=\"configCheckbox\"\n [(ngModel)]=\"valueCheckbox\"\n (ngModelChange)=\"valueCheckbox = $event\"></s-checkbox>\n }\n </div>\n <div>\n @if (config.cancelText) {\n <s-button\n type=\"tertiary\"\n [theme]=\"getIconType(config.type).color\"\n (click)=\"close(false, valueCheckbox)\"\n (keydown.enter)=\"close(false, valueCheckbox)\">\n {{ config.cancelText }}\n </s-button>\n }\n <s-button\n [theme]=\"getIconType(config.type).color\"\n (click)=\"close(true, valueCheckbox)\"\n (keydown.enter)=\"close(true, valueCheckbox)\">\n {{ config.confirmText }}\n </s-button>\n </div>\n </section>\n </div>\n </div>\n </div>\n </div>\n}\n", styles: [".overlay{position:fixed;inset:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.overlay__grid-12{display:grid;grid-template-columns:repeat(12,1fr);gap:1rem;width:100%;margin:0 2rem}.s-modal-confirm{grid-column:5/span 4;box-shadow:var(--E500)}.s-modal-confirm__content{background:var(--neutrals-1200);text-align:left;min-width:10rem;border-radius:.5rem}.s-modal-confirm__header{align-items:center;display:flex;justify-content:space-between;border-top-left-radius:.5rem;border-top-right-radius:.5rem;padding:.625rem 1rem}.s-modal-confirm__header-title{align-items:center;display:flex}.s-modal-confirm__header-title h4{font-size:1.25rem;margin-left:.4rem;color:var(--secondary-600)}.s-modal-confirm__icon-alert{color:var(--yellow-600)}.s-modal-confirm__icon-error{color:var(--red-600)}.s-modal-confirm__icon-info{color:var(--primary-600)}.s-modal-confirm__icon-close{color:var(--neutrals-600);cursor:pointer}.s-modal-confirm__message{font-size:.875rem;color:var(--secondary-600)}.s-modal-confirm__message--center{text-align:center}.s-modal-confirm__message--justify{text-align:justify}.s-modal-confirm__message--left{text-align:left}.s-modal-confirm__message--right{text-align:right}.s-modal-confirm__buttons{display:flex;padding:.625rem 1rem;border-bottom-left-radius:.5rem;border-bottom-right-radius:.5rem;justify-content:space-between;align-items:center}.s-modal-confirm__buttons--secondary{background:var(--neutrals-1100)}@media (max-width: 37.5rem){.s-modal-confirm__buttons{justify-content:end;flex-direction:column;align-items:center}}.s-modal-confirm__body{margin:.5rem .25rem .5rem .938rem;max-height:7rem;overflow-x:hidden;padding-right:.313rem;text-align:justify}@media (max-width: 31.25rem){.s-modal-confirm{grid-column:1/span 12}}@media (max-width: 55.625rem){.s-modal-confirm{grid-column:3/span 8}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: SButtonModule }, { kind: "component", type: SButtonComponent, selector: "s-button", inputs: ["disabled", "pill", "size", "invert", "type", "loading", "position", "theme", "active"] }, { kind: "ngmodule", type: SIconMaterialModule }, { kind: "component", type: SIconMaterialComponent, selector: "s-icon-mat", inputs: ["name", "size", "fill", "weight", "grade", "opticalSize", "style", "type"] }, { kind: "ngmodule", type: SCheckboxModule }, { kind: "component", type: SCheckboxComponent, selector: "s-checkbox", inputs: ["config"], outputs: ["blur", "focus"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] }); }
|
|
6704
6741
|
}
|
|
6705
6742
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SModalConfirmComponent, decorators: [{
|
|
6706
6743
|
type: Component,
|
|
@@ -6710,7 +6747,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
6710
6747
|
SIconMaterialModule,
|
|
6711
6748
|
SCheckboxModule,
|
|
6712
6749
|
FormsModule,
|
|
6713
|
-
], template: "@if (config.isVisible) {\n <div class=\"overlay\">\n <div class=\"overlay__grid-12\">\n <div\n class=\"s-modal-confirm\"\n (click)=\"close(false)\"\n (keydown.enter)=\"close(false)\"\n tabindex=\"0\">\n <div\n class=\"s-modal-confirm__content\"\n (click)=\"$event.stopPropagation()\"\n (keydown.enter)=\"$event.stopPropagation()\"\n tabindex=\"0\">\n <section\n class=\"s-modal-confirm__header\"\n [ngClass]=\"{\n 's-modal-confirm__header--secondary':\n config.backgroundType === 'secondary',\n }\">\n <div class=\"s-modal-confirm__header-title\">\n <s-icon-mat\n size=\"20\"\n [ngClass]=\"'s-modal-confirm__icon-' + config.type\">\n {{ getIconType(config.type).icon }}\n </s-icon-mat>\n <h4 class=\"s-modal-confirm__title\">\n {{ config.title }}\n </h4>\n </div>\n <s-icon-mat\n
|
|
6750
|
+
], template: "@if (config.isVisible) {\n <div class=\"overlay\">\n <div class=\"overlay__grid-12\">\n <div\n class=\"s-modal-confirm\"\n (click)=\"close(false)\"\n (keydown.enter)=\"close(false)\"\n tabindex=\"0\">\n <div\n class=\"s-modal-confirm__content\"\n (click)=\"$event.stopPropagation()\"\n (keydown.enter)=\"$event.stopPropagation()\"\n tabindex=\"0\">\n <section\n class=\"s-modal-confirm__header\"\n [ngClass]=\"{\n 's-modal-confirm__header--secondary':\n config.backgroundType === 'secondary',\n }\">\n <div class=\"s-modal-confirm__header-title\">\n <s-icon-mat\n size=\"20\"\n [ngClass]=\"'s-modal-confirm__icon-' + config.type\">\n {{ getIconType(config.type).icon }}\n </s-icon-mat>\n <h4 class=\"s-modal-confirm__title\">\n {{ config.title }}\n </h4>\n </div>\n @if (config.cancelText) {\n <s-icon-mat\n tabindex=\"0\"\n class=\"s-modal-confirm__icon-close\"\n size=\"20\"\n (click)=\"close(false)\">\n close\n </s-icon-mat>\n }\n </section>\n <div class=\"s-scroll s-modal-confirm__body\">\n <p class=\"s-modal-confirm__message\" [ngClass]=\"getTextAlignClass()\">\n {{ config.message }}\n </p>\n </div>\n <section\n class=\"s-modal-confirm__buttons\"\n [ngClass]=\"{\n 's-modal-confirm__buttons--secondary':\n config.backgroundType === 'secondary',\n }\">\n <div>\n @if (config.checkbox) {\n <s-checkbox\n [config]=\"configCheckbox\"\n [(ngModel)]=\"valueCheckbox\"\n (ngModelChange)=\"valueCheckbox = $event\"></s-checkbox>\n }\n </div>\n <div>\n @if (config.cancelText) {\n <s-button\n type=\"tertiary\"\n [theme]=\"getIconType(config.type).color\"\n (click)=\"close(false, valueCheckbox)\"\n (keydown.enter)=\"close(false, valueCheckbox)\">\n {{ config.cancelText }}\n </s-button>\n }\n <s-button\n [theme]=\"getIconType(config.type).color\"\n (click)=\"close(true, valueCheckbox)\"\n (keydown.enter)=\"close(true, valueCheckbox)\">\n {{ config.confirmText }}\n </s-button>\n </div>\n </section>\n </div>\n </div>\n </div>\n </div>\n}\n", styles: [".overlay{position:fixed;inset:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.overlay__grid-12{display:grid;grid-template-columns:repeat(12,1fr);gap:1rem;width:100%;margin:0 2rem}.s-modal-confirm{grid-column:5/span 4;box-shadow:var(--E500)}.s-modal-confirm__content{background:var(--neutrals-1200);text-align:left;min-width:10rem;border-radius:.5rem}.s-modal-confirm__header{align-items:center;display:flex;justify-content:space-between;border-top-left-radius:.5rem;border-top-right-radius:.5rem;padding:.625rem 1rem}.s-modal-confirm__header-title{align-items:center;display:flex}.s-modal-confirm__header-title h4{font-size:1.25rem;margin-left:.4rem;color:var(--secondary-600)}.s-modal-confirm__icon-alert{color:var(--yellow-600)}.s-modal-confirm__icon-error{color:var(--red-600)}.s-modal-confirm__icon-info{color:var(--primary-600)}.s-modal-confirm__icon-close{color:var(--neutrals-600);cursor:pointer}.s-modal-confirm__message{font-size:.875rem;color:var(--secondary-600)}.s-modal-confirm__message--center{text-align:center}.s-modal-confirm__message--justify{text-align:justify}.s-modal-confirm__message--left{text-align:left}.s-modal-confirm__message--right{text-align:right}.s-modal-confirm__buttons{display:flex;padding:.625rem 1rem;border-bottom-left-radius:.5rem;border-bottom-right-radius:.5rem;justify-content:space-between;align-items:center}.s-modal-confirm__buttons--secondary{background:var(--neutrals-1100)}@media (max-width: 37.5rem){.s-modal-confirm__buttons{justify-content:end;flex-direction:column;align-items:center}}.s-modal-confirm__body{margin:.5rem .25rem .5rem .938rem;max-height:7rem;overflow-x:hidden;padding-right:.313rem;text-align:justify}@media (max-width: 31.25rem){.s-modal-confirm{grid-column:1/span 12}}@media (max-width: 55.625rem){.s-modal-confirm{grid-column:3/span 8}}\n"] }]
|
|
6714
6751
|
}], propDecorators: { onEscapeKey: [{
|
|
6715
6752
|
type: HostListener,
|
|
6716
6753
|
args: ['document:keydown.escape', ['$event']]
|
|
@@ -7050,6 +7087,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
7050
7087
|
type: Input
|
|
7051
7088
|
}] } });
|
|
7052
7089
|
|
|
7090
|
+
const MAX_TREE_LEVEL = 20;
|
|
7053
7091
|
class STableDoubleComponent {
|
|
7054
7092
|
constructor() {
|
|
7055
7093
|
this.actionPositionEvent = new EventEmitter();
|
|
@@ -7066,6 +7104,10 @@ class STableDoubleComponent {
|
|
|
7066
7104
|
this.pillButtonPositionEvent = new EventEmitter();
|
|
7067
7105
|
this.scrollPositionEvent = new EventEmitter();
|
|
7068
7106
|
this.selectPositionEvent = new EventEmitter();
|
|
7107
|
+
this.rowSelectPositionEvent = new EventEmitter();
|
|
7108
|
+
this.actionEvent = new EventEmitter();
|
|
7109
|
+
this.toggleExpandEvent = new EventEmitter();
|
|
7110
|
+
this.reorderItemEvent = new EventEmitter();
|
|
7069
7111
|
this.disabledButtonLeft = signal(true);
|
|
7070
7112
|
this.disabledButtonRight = signal(true);
|
|
7071
7113
|
this.itemsTableLeft = [];
|
|
@@ -7088,24 +7130,85 @@ class STableDoubleComponent {
|
|
|
7088
7130
|
};
|
|
7089
7131
|
}
|
|
7090
7132
|
}
|
|
7133
|
+
onDragStart(event, itemId) {
|
|
7134
|
+
this.dragItemId = itemId;
|
|
7135
|
+
event.dataTransfer?.setData('text/plain', ''); // Necesario para habilitar el arrastre en algunos navegadores
|
|
7136
|
+
}
|
|
7137
|
+
onDragOver(event, itemId) {
|
|
7138
|
+
if (this.dragItemId === null || this.dragItemId === itemId) {
|
|
7139
|
+
return;
|
|
7140
|
+
}
|
|
7141
|
+
this.dragOverItemId = itemId;
|
|
7142
|
+
event.preventDefault();
|
|
7143
|
+
}
|
|
7144
|
+
onDragLeave(event) {
|
|
7145
|
+
this.dragOverItemId = null;
|
|
7146
|
+
}
|
|
7147
|
+
onDrop(event, itemId, isLeftTable) {
|
|
7148
|
+
if (this.dragItemId === null || this.dragItemId === itemId) {
|
|
7149
|
+
return;
|
|
7150
|
+
}
|
|
7151
|
+
// Reordenar los elementos
|
|
7152
|
+
const items = this.getItems(isLeftTable);
|
|
7153
|
+
const dragIndex = items.findIndex((item) => item.id === this.dragItemId);
|
|
7154
|
+
const dropIndex = items.findIndex((item) => item.id === itemId);
|
|
7155
|
+
if (dragIndex !== -1 && dropIndex !== -1) {
|
|
7156
|
+
const draggedItem = items[dragIndex];
|
|
7157
|
+
items.splice(dragIndex, 1);
|
|
7158
|
+
items.splice(dropIndex, 0, draggedItem);
|
|
7159
|
+
}
|
|
7160
|
+
this.dragItemId = null;
|
|
7161
|
+
this.dragOverItemId = null;
|
|
7162
|
+
event.preventDefault();
|
|
7163
|
+
this.eventUpdateTablesEmit();
|
|
7164
|
+
}
|
|
7165
|
+
iconAction(itemId, isLeftTable) {
|
|
7166
|
+
const items = this.getItems(isLeftTable);
|
|
7167
|
+
const item = items.find((item) => item.id === itemId);
|
|
7168
|
+
if (item)
|
|
7169
|
+
this.actionEvent.emit({ isLeftTable, id: itemId });
|
|
7170
|
+
}
|
|
7171
|
+
selectItem(itemId, isLeftTable) {
|
|
7172
|
+
const items = this.getItems(isLeftTable);
|
|
7173
|
+
const itemIndex = items.findIndex((item) => item.id === itemId);
|
|
7174
|
+
if (itemIndex !== -1) {
|
|
7175
|
+
items[itemIndex].selectedCheckbox = !items[itemIndex].selectedCheckbox;
|
|
7176
|
+
this.updateCounter();
|
|
7177
|
+
}
|
|
7178
|
+
}
|
|
7091
7179
|
cloneItemsTables() {
|
|
7092
7180
|
this.itemsTableLeft = [...this.config.tableLeftItems];
|
|
7093
7181
|
this.itemsTableRightData = [...this.config.tableRightItems];
|
|
7094
7182
|
}
|
|
7095
|
-
moveItems(
|
|
7096
|
-
const sourceData = this.
|
|
7097
|
-
const targetData = this.
|
|
7098
|
-
const
|
|
7099
|
-
const
|
|
7100
|
-
const
|
|
7101
|
-
const
|
|
7102
|
-
|
|
7183
|
+
moveItems(isLeftTableSource) {
|
|
7184
|
+
const sourceData = this.getItems(isLeftTableSource);
|
|
7185
|
+
const targetData = this.getItems(!isLeftTableSource);
|
|
7186
|
+
const originalSourceData = isLeftTableSource ? this.itemsTableLeft : this.itemsTableRightData;
|
|
7187
|
+
const originalTargetData = isLeftTableSource ? this.itemsTableRightData : this.itemsTableLeft;
|
|
7188
|
+
const hasItemSelection = sourceData.some(item => item.itemSelected);
|
|
7189
|
+
const selectedItems = sourceData
|
|
7190
|
+
.filter(item => hasItemSelection ? item.itemSelected : item.selectedCheckbox)
|
|
7191
|
+
.map(item => ({
|
|
7192
|
+
...item,
|
|
7193
|
+
selectedCheckbox: false,
|
|
7194
|
+
itemSelected: false
|
|
7195
|
+
}));
|
|
7103
7196
|
targetData.push(...selectedItems);
|
|
7104
|
-
this.
|
|
7197
|
+
this.setItems(isLeftTableSource, sourceData.filter(item => hasItemSelection ? !item.itemSelected : !item.selectedCheckbox));
|
|
7105
7198
|
originalTargetData.push(...selectedItems);
|
|
7106
|
-
|
|
7107
|
-
|
|
7108
|
-
|
|
7199
|
+
const filteredOriginalSource = originalSourceData.filter(item => !selectedItems.some(sel => sel.name === item.name));
|
|
7200
|
+
if (isLeftTableSource) {
|
|
7201
|
+
this.itemsTableLeft = filteredOriginalSource;
|
|
7202
|
+
}
|
|
7203
|
+
else {
|
|
7204
|
+
this.itemsTableRightData = filteredOriginalSource;
|
|
7205
|
+
}
|
|
7206
|
+
const checkColumnRight = this.config.tableRightConfig.columns[0]?.checkboxValue;
|
|
7207
|
+
const checkColumnLeft = this.config.tableLeftConfig.columns[0]?.checkboxValue;
|
|
7208
|
+
if (checkColumnRight)
|
|
7209
|
+
this.config.tableRightConfig.columns[0].checkboxValue = false;
|
|
7210
|
+
if (checkColumnLeft)
|
|
7211
|
+
this.config.tableLeftConfig.columns[0].checkboxValue = false;
|
|
7109
7212
|
this.config.tableLeftConfig.totalItems = this.config.tableLeftItems.length;
|
|
7110
7213
|
this.config.tableRightConfig.totalItems = this.config.tableRightItems.length;
|
|
7111
7214
|
this.eventUpdateTablesEmit();
|
|
@@ -7118,69 +7221,69 @@ class STableDoubleComponent {
|
|
|
7118
7221
|
});
|
|
7119
7222
|
}
|
|
7120
7223
|
addItem() {
|
|
7121
|
-
this.moveItems(
|
|
7224
|
+
this.moveItems(true);
|
|
7122
7225
|
this.cloneItemsTables();
|
|
7123
7226
|
}
|
|
7124
7227
|
removeItem() {
|
|
7125
|
-
this.moveItems(
|
|
7228
|
+
this.moveItems(false);
|
|
7126
7229
|
this.cloneItemsTables();
|
|
7127
7230
|
}
|
|
7128
|
-
action(
|
|
7129
|
-
this.actionPositionEvent.emit(
|
|
7231
|
+
action(isLeftTable) {
|
|
7232
|
+
this.actionPositionEvent.emit(isLeftTable);
|
|
7130
7233
|
}
|
|
7131
|
-
delete(
|
|
7132
|
-
this.deletePositionEvent.emit(
|
|
7234
|
+
delete(isLeftTable) {
|
|
7235
|
+
this.deletePositionEvent.emit(isLeftTable);
|
|
7133
7236
|
}
|
|
7134
|
-
empty(
|
|
7135
|
-
this.emptyPositionEvent.emit(
|
|
7237
|
+
empty(isLeftTable) {
|
|
7238
|
+
this.emptyPositionEvent.emit(isLeftTable);
|
|
7136
7239
|
}
|
|
7137
|
-
orderBy(event,
|
|
7138
|
-
this.orderByPositionEvent.emit({
|
|
7240
|
+
orderBy(event, isLeftTable) {
|
|
7241
|
+
this.orderByPositionEvent.emit({ isLeftTable, value: event });
|
|
7139
7242
|
}
|
|
7140
|
-
page(event,
|
|
7141
|
-
this.pagePositionEvent.emit({
|
|
7243
|
+
page(event, isLeftTable) {
|
|
7244
|
+
this.pagePositionEvent.emit({ isLeftTable, value: event });
|
|
7142
7245
|
}
|
|
7143
|
-
paginationEmitter(event,
|
|
7144
|
-
this.paginationPositionEvent.emit({
|
|
7246
|
+
paginationEmitter(event, isLeftTable) {
|
|
7247
|
+
this.paginationPositionEvent.emit({ isLeftTable, value: event });
|
|
7145
7248
|
}
|
|
7146
|
-
select(event,
|
|
7147
|
-
this.selectPositionEvent.emit({
|
|
7249
|
+
select(event, isLeftTable) {
|
|
7250
|
+
this.selectPositionEvent.emit({ isLeftTable, value: event });
|
|
7148
7251
|
}
|
|
7149
|
-
pillButton(
|
|
7150
|
-
this.pillButtonPositionEvent.emit(
|
|
7252
|
+
pillButton(isLeftTable) {
|
|
7253
|
+
this.pillButtonPositionEvent.emit(isLeftTable);
|
|
7151
7254
|
}
|
|
7152
|
-
filter(event,
|
|
7153
|
-
this.filterPositionEvent.emit({
|
|
7255
|
+
filter(event, isLeftTable) {
|
|
7256
|
+
this.filterPositionEvent.emit({ isLeftTable, value: event });
|
|
7154
7257
|
}
|
|
7155
|
-
multiSelect(event,
|
|
7156
|
-
this.multiSelectPositionEvent.emit({
|
|
7258
|
+
multiSelect(event, isLeftTable) {
|
|
7259
|
+
this.multiSelectPositionEvent.emit({ isLeftTable, value: event });
|
|
7157
7260
|
}
|
|
7158
|
-
checkAllEvent(event,
|
|
7159
|
-
|
|
7261
|
+
checkAllEvent(event, isLeftTable) {
|
|
7262
|
+
const items = this.getItems(isLeftTable);
|
|
7263
|
+
this.setItems(isLeftTable, items.map(item => ({
|
|
7160
7264
|
...item,
|
|
7161
|
-
|
|
7162
|
-
}));
|
|
7265
|
+
selectedCheckbox: event,
|
|
7266
|
+
})));
|
|
7163
7267
|
this.updateCounter();
|
|
7164
7268
|
}
|
|
7165
|
-
onScroll(
|
|
7166
|
-
this.scrollPositionEvent.emit(
|
|
7269
|
+
onScroll(isLeftTable) {
|
|
7270
|
+
this.scrollPositionEvent.emit(isLeftTable);
|
|
7167
7271
|
}
|
|
7168
7272
|
changeCheckbox() {
|
|
7169
7273
|
this.config.tableRightConfig.columns[0].checkboxValue =
|
|
7170
|
-
this.config.tableRightItems.length > 0 && this.config.tableRightItems.every(item => item.
|
|
7274
|
+
this.config.tableRightItems.length > 0 && this.config.tableRightItems.every(item => item.selectedCheckbox);
|
|
7171
7275
|
this.config.tableLeftConfig.columns[0].checkboxValue =
|
|
7172
|
-
this.config.tableLeftItems.length > 0 && this.config.tableLeftItems.every(item => item.
|
|
7276
|
+
this.config.tableLeftItems.length > 0 && this.config.tableLeftItems.every(item => item.selectedCheckbox);
|
|
7173
7277
|
this.updateCounter();
|
|
7174
7278
|
}
|
|
7175
|
-
bottomStatusBarChange(state,
|
|
7176
|
-
this.bottomStatusBarPositionEvent.emit({
|
|
7279
|
+
bottomStatusBarChange(state, isLeftTable) {
|
|
7280
|
+
this.bottomStatusBarPositionEvent.emit({ isLeftTable, value: state });
|
|
7177
7281
|
this.updateCounter();
|
|
7178
7282
|
}
|
|
7179
|
-
search(event,
|
|
7180
|
-
const
|
|
7181
|
-
const original = isLeft ? this.itemsTableLeft : this.itemsTableRightData;
|
|
7283
|
+
search(event, isLeftTable) {
|
|
7284
|
+
const original = isLeftTable ? this.itemsTableLeft : this.itemsTableRightData;
|
|
7182
7285
|
const filtered = this.getFilteredItems(original, event);
|
|
7183
|
-
if (
|
|
7286
|
+
if (isLeftTable) {
|
|
7184
7287
|
this.config.tableLeftItems = filtered;
|
|
7185
7288
|
}
|
|
7186
7289
|
else {
|
|
@@ -7195,24 +7298,99 @@ class STableDoubleComponent {
|
|
|
7195
7298
|
}
|
|
7196
7299
|
updateCounter() {
|
|
7197
7300
|
const updateStatusBar = (items, config, setter) => {
|
|
7198
|
-
const
|
|
7301
|
+
const counterCheckbox = items.filter(item => item.selectedCheckbox).length;
|
|
7302
|
+
const counterItem = items.filter(item => item.itemSelected).length;
|
|
7303
|
+
const counter = Math.max(counterCheckbox, counterItem);
|
|
7199
7304
|
config.configBottomStatusBar = signal({
|
|
7200
7305
|
...config.configBottomStatusBar?.(),
|
|
7201
7306
|
counter,
|
|
7202
7307
|
disabled: items.length === 0,
|
|
7203
7308
|
total: items.length,
|
|
7204
7309
|
});
|
|
7205
|
-
|
|
7310
|
+
// Habilitar botón si hay items seleccionados (por checkbox O por item)
|
|
7311
|
+
setter.set(counterCheckbox === 0 && counterItem === 0);
|
|
7206
7312
|
};
|
|
7207
7313
|
updateStatusBar(this.config.tableLeftItems, this.config.tableLeftConfig, this.disabledButtonLeft);
|
|
7208
7314
|
updateStatusBar(this.config.tableRightItems, this.config.tableRightConfig, this.disabledButtonRight);
|
|
7209
7315
|
}
|
|
7316
|
+
getTreeLevelClass(item) {
|
|
7317
|
+
if (!this.config.isTreeMode || !item.level) {
|
|
7318
|
+
return 's-table-double__tree-level-0';
|
|
7319
|
+
}
|
|
7320
|
+
const level = Math.min(item.level, MAX_TREE_LEVEL);
|
|
7321
|
+
return `s-table-double__tree-level-${level}`;
|
|
7322
|
+
}
|
|
7323
|
+
toggleExpand(event, itemId) {
|
|
7324
|
+
event.stopPropagation();
|
|
7325
|
+
this.toggleExpandEvent.emit(itemId);
|
|
7326
|
+
}
|
|
7327
|
+
rowClick(item, isLeftTable) {
|
|
7328
|
+
if (isLeftTable && this.config.disableLeftRowSelection) {
|
|
7329
|
+
return;
|
|
7330
|
+
}
|
|
7331
|
+
if (!isLeftTable) {
|
|
7332
|
+
this.config.tableRightItems.forEach(i => {
|
|
7333
|
+
i.itemSelected = i.id === item.id ? !i.itemSelected : false;
|
|
7334
|
+
});
|
|
7335
|
+
}
|
|
7336
|
+
else {
|
|
7337
|
+
item.itemSelected = !item.itemSelected;
|
|
7338
|
+
}
|
|
7339
|
+
this.updateCounter();
|
|
7340
|
+
this.rowSelectPositionEvent.emit({ isLeftTable, value: item });
|
|
7341
|
+
}
|
|
7342
|
+
getItems(isLeftTable) {
|
|
7343
|
+
return isLeftTable ? this.config.tableLeftItems : this.config.tableRightItems;
|
|
7344
|
+
}
|
|
7345
|
+
setItems(isLeftTable, items) {
|
|
7346
|
+
if (isLeftTable) {
|
|
7347
|
+
this.config.tableLeftItems = items;
|
|
7348
|
+
}
|
|
7349
|
+
else {
|
|
7350
|
+
this.config.tableRightItems = items;
|
|
7351
|
+
}
|
|
7352
|
+
}
|
|
7353
|
+
getOrderButtons(item) {
|
|
7354
|
+
const isFirst = !!item.__isFirstSibling;
|
|
7355
|
+
const isLast = !!item.__isLastSibling;
|
|
7356
|
+
if (item.__orderButtons &&
|
|
7357
|
+
item.__orderButtons[0].disabled === isFirst &&
|
|
7358
|
+
item.__orderButtons[2].disabled === isLast) {
|
|
7359
|
+
return item.__orderButtons;
|
|
7360
|
+
}
|
|
7361
|
+
item.__orderButtons = [
|
|
7362
|
+
{
|
|
7363
|
+
type: ActionsButtonsType.DOUBLE_ARROW_UP,
|
|
7364
|
+
tooltip: this._sTranslateService.instant('ui.generic.first'),
|
|
7365
|
+
disabled: isFirst,
|
|
7366
|
+
},
|
|
7367
|
+
{
|
|
7368
|
+
type: ActionsButtonsType.ARROW_UP,
|
|
7369
|
+
tooltip: this._sTranslateService.instant('ui.generic.up'),
|
|
7370
|
+
disabled: isFirst,
|
|
7371
|
+
},
|
|
7372
|
+
{
|
|
7373
|
+
type: ActionsButtonsType.ARROW_DOWN,
|
|
7374
|
+
tooltip: this._sTranslateService.instant('ui.generic.down'),
|
|
7375
|
+
disabled: isLast,
|
|
7376
|
+
},
|
|
7377
|
+
{
|
|
7378
|
+
type: ActionsButtonsType.DOUBLE_ARROW_DOWN,
|
|
7379
|
+
tooltip: this._sTranslateService.instant('ui.generic.last'),
|
|
7380
|
+
disabled: isLast,
|
|
7381
|
+
},
|
|
7382
|
+
];
|
|
7383
|
+
return item.__orderButtons;
|
|
7384
|
+
}
|
|
7385
|
+
onOrderButtonClick(type, itemId) {
|
|
7386
|
+
this.reorderItemEvent.emit({ itemId, direction: type });
|
|
7387
|
+
}
|
|
7210
7388
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: STableDoubleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
7211
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: STableDoubleComponent, isStandalone: true, selector: "s-table-double", inputs: { config: "config" }, outputs: { actionPositionEvent: "actionPositionEvent", bottomStatusBarPositionEvent: "bottomStatusBarPositionEvent", checkAllPositionEvent: "checkAllPositionEvent", deletePositionEvent: "deletePositionEvent", emptyPositionEvent: "emptyPositionEvent", eventUpdateTables: "eventUpdateTables", filterPositionEvent: "filterPositionEvent", multiSelectPositionEvent: "multiSelectPositionEvent", orderByPositionEvent: "orderByPositionEvent", pagePositionEvent: "pagePositionEvent", paginationPositionEvent: "paginationPositionEvent", pillButtonPositionEvent: "pillButtonPositionEvent", scrollPositionEvent: "scrollPositionEvent", selectPositionEvent: "selectPositionEvent" }, ngImport: i0, template: "<div class=\"s-table-double\">\n <div class=\"s-table-double__header\"></div>\n <div class=\"s-table-double__body\">\n <div class=\"s-table-double__body__left\">\n <s-table-complete\n [config]=\"config.tableLeftConfig\"\n (actionEvent)=\"action('Left')\"\n (bottomStatusBarEvent)=\"bottomStatusBarChange($event, 'Left')\"\n (checkAllEvent)=\"checkAllEvent($event, 'Left')\"\n (deleteEvent)=\"delete('Left')\"\n (emptyEvent)=\"empty('Left')\"\n (filterEvent)=\"filter($event, 'Left')\"\n (multiSelectEvent)=\"multiSelect($event, 'Left')\"\n (orderByEvent)=\"orderBy($event, 'Left')\"\n (pageEvent)=\"page($event, 'Left')\"\n (paginationEvent)=\"paginationEmitter($event, 'Left')\"\n (pillButtonEvent)=\"pillButton('Left')\"\n (scrollEvent)=\"onScroll('Left')\"\n (searchEvent)=\"search($event, 'Left')\">\n @for (item of config.tableLeftItems; track item) {\n <tr [ngClass]=\"{ active: item.selected }\">\n <td>\n <input type=\"checkbox\" (change)=\"changeCheckbox()\" [(ngModel)]=\"item.selected\" />\n </td>\n @for (column of config.tableLeftConfig.columns; track column) {\n @if (column.id !== 'checkbox' && column.id !== undefined) {\n <td>{{ item[column.id] }}</td>\n }\n }\n </tr>\n }\n </s-table-complete>\n </div>\n <div class=\"s-table-double__body__middle\">\n <div>\n <s-button\n (click)=\"addItem()\"\n (keydown.enter)=\"addItem()\"\n position=\"normal\"\n [disabled]=\"disabledButtonLeft()\"\n [pill]=\"true\"\n ><s-icon-mat><span class=\"material-symbols-outlined\"> arrow_forward </span></s-icon-mat></s-button\n >\n </div>\n <div>\n <s-button\n (click)=\"removeItem()\"\n (keydown.enter)=\"removeItem()\"\n position=\"normal\"\n type=\"secondary\"\n [disabled]=\"disabledButtonRight()\"\n [pill]=\"true\"\n ><s-icon-mat><span class=\"material-symbols-outlined\"> arrow_back </span></s-icon-mat></s-button\n >\n </div>\n </div>\n <div class=\"s-table-double__body__right\">\n <s-table-complete\n [config]=\"config.tableRightConfig\"\n (actionEvent)=\"action('Right')\"\n (bottomStatusBarEvent)=\"bottomStatusBarChange($event, 'Right')\"\n (checkAllEvent)=\"checkAllEvent($event, 'Right')\"\n (deleteEvent)=\"delete('Right')\"\n (emptyEvent)=\"empty('Right')\"\n (filterEvent)=\"filter($event, 'Right')\"\n (multiSelectEvent)=\"multiSelect($event, 'Right')\"\n (orderByEvent)=\"orderBy($event, 'Right')\"\n (pageEvent)=\"page($event, 'Right')\"\n (paginationEvent)=\"paginationEmitter($event, 'Right')\"\n (pillButtonEvent)=\"pillButton('Right')\"\n (scrollEvent)=\"onScroll('Right')\"\n (searchEvent)=\"search($event, 'Right')\">\n @for (item of config.tableRightItems; track item) {\n <tr [ngClass]=\"{ active: item.selected }\">\n <td>\n <input type=\"checkbox\" (change)=\"changeCheckbox()\" [(ngModel)]=\"item.selected\" />\n </td>\n @for (column of config.tableRightConfig.columns; track column) {\n @if (column.id !== 'checkbox' && column.id !== undefined) {\n <td>{{ item[column.id] }}</td>\n }\n }\n </tr>\n }\n </s-table-complete>\n </div>\n </div>\n</div>\n", styles: [".s-table-double{margin-bottom:1rem}.s-table-double__body{display:flex;gap:.625rem}.s-table-double__body .s-tablet tr{cursor:pointer}.s-table-double__body .s-tablet tr:hover{background-color:var(--primary-200)}.s-table-double__body .s-tablet tr.active{background-color:var(--neutrals-1100)}.s-table-double__body__left{flex:5}.s-table-double__body__middle{display:flex;flex-direction:column;gap:.625rem;justify-content:center;padding:1.25rem;background-color:var(--primary-100);border-radius:.5rem}.s-table-double__body__right{flex:5}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: STableCompleteModule }, { kind: "component", type: TableCompleteComponent, selector: "s-table-complete", inputs: ["config"], outputs: ["actionEvent", "checkAllEvent", "deleteEvent", "emptyEvent", "filterEvent", "orderByEvent", "pageEvent", "paginationEvent", "multiSelectEvent", "pillButtonEvent", "selectEvent", "searchEvent", "bottomStatusBarEvent", "scrollEvent"] }, { kind: "ngmodule", type: SButtonModule }, { kind: "component", type: SButtonComponent, selector: "s-button", inputs: ["disabled", "pill", "size", "invert", "type", "loading", "position", "theme", "active"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: SIconMaterialModule }, { kind: "component", type: SIconMaterialComponent, selector: "s-icon-mat", inputs: ["name", "size", "fill", "weight", "grade", "opticalSize", "style", "type"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
7389
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: STableDoubleComponent, isStandalone: true, selector: "s-table-double", inputs: { config: "config" }, outputs: { actionPositionEvent: "actionPositionEvent", bottomStatusBarPositionEvent: "bottomStatusBarPositionEvent", checkAllPositionEvent: "checkAllPositionEvent", deletePositionEvent: "deletePositionEvent", emptyPositionEvent: "emptyPositionEvent", eventUpdateTables: "eventUpdateTables", filterPositionEvent: "filterPositionEvent", multiSelectPositionEvent: "multiSelectPositionEvent", orderByPositionEvent: "orderByPositionEvent", pagePositionEvent: "pagePositionEvent", paginationPositionEvent: "paginationPositionEvent", pillButtonPositionEvent: "pillButtonPositionEvent", scrollPositionEvent: "scrollPositionEvent", selectPositionEvent: "selectPositionEvent", rowSelectPositionEvent: "rowSelectPositionEvent", actionEvent: "actionEvent", toggleExpandEvent: "toggleExpandEvent", reorderItemEvent: "reorderItemEvent" }, ngImport: i0, template: "<div class=\"s-table-double\">\n <div class=\"s-table-double__header\"></div>\n <div class=\"s-table-double__body\">\n <div class=\"s-table-double__body__left\">\n <s-table-complete\n [config]=\"config.tableLeftConfig\"\n (actionEvent)=\"action(true)\"\n (bottomStatusBarEvent)=\"bottomStatusBarChange($event, true)\"\n (checkAllEvent)=\"checkAllEvent($event, true)\"\n (deleteEvent)=\"delete(true)\"\n (emptyEvent)=\"empty(true)\"\n (filterEvent)=\"filter($event, true)\"\n (multiSelectEvent)=\"multiSelect($event, true)\"\n (orderByEvent)=\"orderBy($event, true)\"\n (pageEvent)=\"page($event, true)\"\n (paginationEvent)=\"paginationEmitter($event, true)\"\n (pillButtonEvent)=\"pillButton(true)\"\n (scrollEvent)=\"onScroll(true)\"\n (searchEvent)=\"search($event, true)\">\n @if (config.dragAndDrop) {\n @for (item of config.tableLeftItems; track item) {\n <div class=\"s-table-double__list\">\n <s-list\n [size]=\"'xs'\"\n [attr.data-item-id]=\"item.id\"\n [draggable]=\"true\"\n [selected]=\"item.selectedCheckbox\"\n (dragstart)=\"onDragStart($event, item.id)\"\n (dragover)=\"onDragOver($event, item.id)\"\n (dragleave)=\"onDragLeave($event)\"\n (drop)=\"onDrop($event, item.id, true)\"\n (click)=\"selectItem(item.id, true)\">\n <div class=\"s-table-double__drag\">\n <h5 class=\"ml-2\">{{ item.name }}</h5>\n @if (item.iconAction) {\n <div class=\"s-table-double__drag-icon\">\n <s-icon-mat (click)=\"iconAction(item.id, true)\">{{ item.iconAction }}</s-icon-mat>\n </div>\n }\n </div>\n </s-list>\n </div>\n }\n } @else {\n @for (item of config.tableLeftItems; track item) {\n <tr [ngClass]=\"{ active: !config.disableLeftRowSelection && item.itemSelected }\" (click)=\"!config.disableLeftRowSelection && rowClick(item, true)\">\n <td (click)=\"$event.stopPropagation()\">\n <input type=\"checkbox\" [(ngModel)]=\"item.selectedCheckbox\" (change)=\"changeCheckbox()\" />\n </td>\n @for (column of config.tableLeftConfig.columns; track column) {\n @if (column.id !== 'checkbox' && column.id !== undefined) {\n <td>{{ item[column.id] }}</td>\n }\n }\n </tr>\n }\n }\n </s-table-complete>\n </div>\n <div class=\"s-table-double__body__middle\">\n <div>\n <s-button\n (click)=\"addItem()\"\n (keydown.enter)=\"addItem()\"\n position=\"normal\"\n [disabled]=\"disabledButtonLeft()\"\n [pill]=\"true\"\n ><s-icon-mat><span class=\"material-symbols-outlined\"> {{ config.additionButton ? 'add' : 'arrow_forward' }} </span></s-icon-mat></s-button\n >\n </div>\n <div>\n <s-button\n (click)=\"removeItem()\"\n (keydown.enter)=\"removeItem()\"\n position=\"normal\"\n type=\"secondary\"\n [disabled]=\"disabledButtonRight()\"\n [pill]=\"true\"\n ><s-icon-mat><span class=\"material-symbols-outlined\"> {{ config.additionButton ? 'remove' : 'arrow_back' }} </span></s-icon-mat></s-button\n >\n </div>\n </div>\n <div class=\"s-table-double__body__right\">\n <s-table-complete\n [config]=\"config.tableRightConfig\"\n (actionEvent)=\"action(false)\"\n (bottomStatusBarEvent)=\"bottomStatusBarChange($event, false)\"\n (checkAllEvent)=\"checkAllEvent($event, false)\"\n (deleteEvent)=\"delete(false)\"\n (emptyEvent)=\"empty(false)\"\n (filterEvent)=\"filter($event, false)\"\n (multiSelectEvent)=\"multiSelect($event, false)\"\n (orderByEvent)=\"orderBy($event, false)\"\n (pageEvent)=\"page($event, false)\"\n (paginationEvent)=\"paginationEmitter($event, false)\"\n (pillButtonEvent)=\"pillButton(false)\"\n (scrollEvent)=\"onScroll(false)\"\n (searchEvent)=\"search($event, false)\">\n @if (config.dragAndDrop) {\n @for (item of config.tableRightItems; track item) {\n <s-list\n [size]=\"'xs'\"\n [attr.data-item-id]=\"item.id\"\n [draggable]=\"true\"\n [selected]=\"item.selectedCheckbox\"\n (dragstart)=\"onDragStart($event, item.id)\"\n (dragover)=\"onDragOver($event, item.id)\"\n (dragleave)=\"onDragLeave($event)\"\n (drop)=\"onDrop($event, item.id, false)\"\n (click)=\"selectItem(item.id, false)\">\n <div class=\"s-table-double__drag\">\n <h5 class=\"ml-2\">{{ item.name }}</h5>\n @if (item.iconAction) {\n <div class=\"s-table-double__drag-icon\">\n <s-icon-mat (click)=\"iconAction(item.id, false)\">{{ item.iconAction }}</s-icon-mat>\n </div>\n }\n </div>\n </s-list>\n }\n } @else {\n @for (item of config.tableRightItems; track item) {\n <tr [ngClass]=\"{ active: item.itemSelected }\" (click)=\"rowClick(item, false)\">\n <td\n class=\"s-table-double__tree-cell\"\n [class.s-table-double__tree-cell--tree]=\"config.isTreeMode\"\n [attr.colspan]=\"config.isTreeMode ? config.tableRightConfig.columns.length - (config.showOrderButtons ? 1 : 0) : null\">\n <div class=\"s-table-double__tree-cell-content\" [ngClass]=\"getTreeLevelClass(item)\">\n @if (config.isTreeMode && item.hasChildren) {\n <s-icon-mat\n class=\"s-table-double__tree-toggle\"\n [class.s-table-double__tree-toggle--expanded]=\"item.expanded\"\n (click)=\"toggleExpand($event, item.id)\">\n <span class=\"material-symbols-outlined\">chevron_right</span>\n </s-icon-mat>\n } @else if (config.isTreeMode) {\n <span class=\"s-table-double__tree-spacer\"></span>\n }\n <input type=\"checkbox\" [(ngModel)]=\"item.selectedCheckbox\" (click)=\"$event.stopPropagation()\" (change)=\"changeCheckbox()\" />\n @if (config.isTreeMode) {\n <span class=\"s-table-double__tree-name\">{{ item.name }}</span>\n }\n </div>\n </td>\n @for (column of config.tableRightConfig.columns; track column) {\n @if (column.id !== 'checkbox' && column.id !== undefined && !(config.isTreeMode && column.id === 'name') && column.id !== 'actions') {\n <td>{{ item[column.id] }}</td>\n }\n }\n @if (config.showOrderButtons) {\n <td class=\"s-table-double__order-actions\" (click)=\"$event.stopPropagation()\">\n <s-table-actions-buttons\n [tableActionsButtons]=\"getOrderButtons(item)\"\n (clickButtonEvent)=\"onOrderButtonClick($event, item.id)\">\n </s-table-actions-buttons>\n </td>\n }\n </tr>\n }\n }\n </s-table-complete>\n </div>\n </div>\n</div>\n", styles: [".s-table-double__body{display:flex;gap:.625rem}.s-table-double__body .s-tablet tr{cursor:pointer;-webkit-user-select:none;user-select:none}.s-table-double__body .s-tablet tr:hover{background-color:var(--primary-200)}.s-table-double__body .s-tablet tr.active{background-color:var(--neutrals-1100)}.s-table-double__body__left{flex:5}.s-table-double__body__middle{display:flex;flex-direction:column;gap:.625rem;justify-content:center;padding:1.25rem;background-color:var(--primary-100);border-radius:.5rem}.s-table-double__body__right{flex:5}.s-table-double .s-table-double__tree-cell{padding-left:0!important}.s-table-double__tree-cell-content{display:flex;align-items:center;gap:.5rem}.s-table-double .s-table-double__tree-cell.s-table-double__tree-cell--tree__list{margin:.5rem}.s-table-double .s-table-double__tree-cell.s-table-double__tree-cell--tree__drag{display:flex;justify-content:space-between;width:100%}.s-table-double .s-table-double__tree-cell.s-table-double__tree-cell--tree__drag-icon{color:var(--primary-600)}.s-table-double .s-table-double__tree-cell.s-table-double__tree-cell--tree__drag-icon:hover{cursor:pointer;color:var(--secondary-600)}.s-table-double .s-table-double__tree-level-0{padding-left:11px!important}.s-table-double .s-table-double__tree-level-1{padding-left:35px!important}.s-table-double .s-table-double__tree-level-2{padding-left:59px!important}.s-table-double .s-table-double__tree-level-3{padding-left:83px!important}.s-table-double .s-table-double__tree-level-4{padding-left:107px!important}.s-table-double .s-table-double__tree-level-5{padding-left:131px!important}.s-table-double .s-table-double__tree-level-6{padding-left:155px!important}.s-table-double .s-table-double__tree-level-7{padding-left:179px!important}.s-table-double .s-table-double__tree-level-8{padding-left:203px!important}.s-table-double .s-table-double__tree-level-9{padding-left:227px!important}.s-table-double .s-table-double__tree-level-10{padding-left:251px!important}.s-table-double .s-table-double__tree-level-11{padding-left:275px!important}.s-table-double .s-table-double__tree-level-12{padding-left:299px!important}.s-table-double .s-table-double__tree-level-13{padding-left:323px!important}.s-table-double .s-table-double__tree-level-14{padding-left:347px!important}.s-table-double .s-table-double__tree-level-15{padding-left:371px!important}.s-table-double .s-table-double__tree-level-16{padding-left:395px!important}.s-table-double .s-table-double__tree-level-17{padding-left:419px!important}.s-table-double .s-table-double__tree-level-18{padding-left:443px!important}.s-table-double .s-table-double__tree-level-19{padding-left:467px!important}.s-table-double .s-table-double__tree-level-20{padding-left:491px!important}.s-table-double__tree-toggle{cursor:pointer;transition:transform .2s ease;display:inline-flex;align-items:center;justify-content:center;color:var(--neutrals-600);font-size:1.25rem}.s-table-double__tree-toggle:hover{color:var(--primary-600)}.s-table-double__tree-toggle--expanded{transform:rotate(90deg)}.s-table-double__tree-spacer{display:inline-block;width:24px}.s-table-double__tree-name{margin-left:.25rem;white-space:nowrap;cursor:pointer;flex:1}.s-table-double .s-table-double__drag{display:flex;justify-content:space-between;color:var(--primary-600)}.s-table-double__order-actions{width:1px;white-space:nowrap}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: STableCompleteModule }, { kind: "component", type: TableCompleteComponent, selector: "s-table-complete", inputs: ["config"], outputs: ["actionEvent", "checkAllEvent", "deleteEvent", "emptyEvent", "filterEvent", "orderByEvent", "pageEvent", "paginationEvent", "multiSelectEvent", "pillButtonEvent", "selectEvent", "searchEvent", "bottomStatusBarEvent", "scrollEvent"] }, { kind: "ngmodule", type: SButtonModule }, { kind: "component", type: SButtonComponent, selector: "s-button", inputs: ["disabled", "pill", "size", "invert", "type", "loading", "position", "theme", "active"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: SIconMaterialModule }, { kind: "component", type: SIconMaterialComponent, selector: "s-icon-mat", inputs: ["name", "size", "fill", "weight", "grade", "opticalSize", "style", "type"] }, { kind: "ngmodule", type: SListModule }, { kind: "component", type: SListComponent, selector: "s-list", inputs: ["disabled", "selected", "size"] }, { kind: "ngmodule", type: TableActionsButtonsModule }, { kind: "component", type: TableActionsButtonsComponent, selector: "s-table-actions-buttons", inputs: ["tableActionsButtons"], outputs: ["clickButtonEvent"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
7212
7390
|
}
|
|
7213
7391
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: STableDoubleComponent, decorators: [{
|
|
7214
7392
|
type: Component,
|
|
7215
|
-
args: [{ selector: 's-table-double', standalone: true, imports: [CommonModule, STableCompleteModule, SButtonModule, FormsModule, SIconMaterialModule], encapsulation: ViewEncapsulation.None, template: "<div class=\"s-table-double\">\n <div class=\"s-table-double__header\"></div>\n <div class=\"s-table-double__body\">\n <div class=\"s-table-double__body__left\">\n <s-table-complete\n [config]=\"config.tableLeftConfig\"\n (actionEvent)=\"action('Left')\"\n (bottomStatusBarEvent)=\"bottomStatusBarChange($event, 'Left')\"\n (checkAllEvent)=\"checkAllEvent($event, 'Left')\"\n (deleteEvent)=\"delete('Left')\"\n (emptyEvent)=\"empty('Left')\"\n (filterEvent)=\"filter($event, 'Left')\"\n (multiSelectEvent)=\"multiSelect($event, 'Left')\"\n (orderByEvent)=\"orderBy($event, 'Left')\"\n (pageEvent)=\"page($event, 'Left')\"\n (paginationEvent)=\"paginationEmitter($event, 'Left')\"\n (pillButtonEvent)=\"pillButton('Left')\"\n (scrollEvent)=\"onScroll('Left')\"\n (searchEvent)=\"search($event, 'Left')\">\n @for (item of config.tableLeftItems; track item) {\n <tr [ngClass]=\"{ active: item.selected }\">\n <td>\n <input type=\"checkbox\" (change)=\"changeCheckbox()\" [(ngModel)]=\"item.selected\" />\n </td>\n @for (column of config.tableLeftConfig.columns; track column) {\n @if (column.id !== 'checkbox' && column.id !== undefined) {\n <td>{{ item[column.id] }}</td>\n }\n }\n </tr>\n }\n </s-table-complete>\n </div>\n <div class=\"s-table-double__body__middle\">\n <div>\n <s-button\n (click)=\"addItem()\"\n (keydown.enter)=\"addItem()\"\n position=\"normal\"\n [disabled]=\"disabledButtonLeft()\"\n [pill]=\"true\"\n ><s-icon-mat><span class=\"material-symbols-outlined\"> arrow_forward </span></s-icon-mat></s-button\n >\n </div>\n <div>\n <s-button\n (click)=\"removeItem()\"\n (keydown.enter)=\"removeItem()\"\n position=\"normal\"\n type=\"secondary\"\n [disabled]=\"disabledButtonRight()\"\n [pill]=\"true\"\n ><s-icon-mat><span class=\"material-symbols-outlined\"> arrow_back </span></s-icon-mat></s-button\n >\n </div>\n </div>\n <div class=\"s-table-double__body__right\">\n <s-table-complete\n [config]=\"config.tableRightConfig\"\n (actionEvent)=\"action('Right')\"\n (bottomStatusBarEvent)=\"bottomStatusBarChange($event, 'Right')\"\n (checkAllEvent)=\"checkAllEvent($event, 'Right')\"\n (deleteEvent)=\"delete('Right')\"\n (emptyEvent)=\"empty('Right')\"\n (filterEvent)=\"filter($event, 'Right')\"\n (multiSelectEvent)=\"multiSelect($event, 'Right')\"\n (orderByEvent)=\"orderBy($event, 'Right')\"\n (pageEvent)=\"page($event, 'Right')\"\n (paginationEvent)=\"paginationEmitter($event, 'Right')\"\n (pillButtonEvent)=\"pillButton('Right')\"\n (scrollEvent)=\"onScroll('Right')\"\n (searchEvent)=\"search($event, 'Right')\">\n @for (item of config.tableRightItems; track item) {\n <tr [ngClass]=\"{ active: item.selected }\">\n <td>\n <input type=\"checkbox\" (change)=\"changeCheckbox()\" [(ngModel)]=\"item.selected\" />\n </td>\n @for (column of config.tableRightConfig.columns; track column) {\n @if (column.id !== 'checkbox' && column.id !== undefined) {\n <td>{{ item[column.id] }}</td>\n }\n }\n </tr>\n }\n </s-table-complete>\n </div>\n </div>\n</div>\n", styles: [".s-table-double{margin-bottom:1rem}.s-table-double__body{display:flex;gap:.625rem}.s-table-double__body .s-tablet tr{cursor:pointer}.s-table-double__body .s-tablet tr:hover{background-color:var(--primary-200)}.s-table-double__body .s-tablet tr.active{background-color:var(--neutrals-1100)}.s-table-double__body__left{flex:5}.s-table-double__body__middle{display:flex;flex-direction:column;gap:.625rem;justify-content:center;padding:1.25rem;background-color:var(--primary-100);border-radius:.5rem}.s-table-double__body__right{flex:5}\n"] }]
|
|
7393
|
+
args: [{ selector: 's-table-double', standalone: true, imports: [CommonModule, STableCompleteModule, SButtonModule, FormsModule, SIconMaterialModule, SListModule, TableActionsButtonsModule], encapsulation: ViewEncapsulation.None, template: "<div class=\"s-table-double\">\n <div class=\"s-table-double__header\"></div>\n <div class=\"s-table-double__body\">\n <div class=\"s-table-double__body__left\">\n <s-table-complete\n [config]=\"config.tableLeftConfig\"\n (actionEvent)=\"action(true)\"\n (bottomStatusBarEvent)=\"bottomStatusBarChange($event, true)\"\n (checkAllEvent)=\"checkAllEvent($event, true)\"\n (deleteEvent)=\"delete(true)\"\n (emptyEvent)=\"empty(true)\"\n (filterEvent)=\"filter($event, true)\"\n (multiSelectEvent)=\"multiSelect($event, true)\"\n (orderByEvent)=\"orderBy($event, true)\"\n (pageEvent)=\"page($event, true)\"\n (paginationEvent)=\"paginationEmitter($event, true)\"\n (pillButtonEvent)=\"pillButton(true)\"\n (scrollEvent)=\"onScroll(true)\"\n (searchEvent)=\"search($event, true)\">\n @if (config.dragAndDrop) {\n @for (item of config.tableLeftItems; track item) {\n <div class=\"s-table-double__list\">\n <s-list\n [size]=\"'xs'\"\n [attr.data-item-id]=\"item.id\"\n [draggable]=\"true\"\n [selected]=\"item.selectedCheckbox\"\n (dragstart)=\"onDragStart($event, item.id)\"\n (dragover)=\"onDragOver($event, item.id)\"\n (dragleave)=\"onDragLeave($event)\"\n (drop)=\"onDrop($event, item.id, true)\"\n (click)=\"selectItem(item.id, true)\">\n <div class=\"s-table-double__drag\">\n <h5 class=\"ml-2\">{{ item.name }}</h5>\n @if (item.iconAction) {\n <div class=\"s-table-double__drag-icon\">\n <s-icon-mat (click)=\"iconAction(item.id, true)\">{{ item.iconAction }}</s-icon-mat>\n </div>\n }\n </div>\n </s-list>\n </div>\n }\n } @else {\n @for (item of config.tableLeftItems; track item) {\n <tr [ngClass]=\"{ active: !config.disableLeftRowSelection && item.itemSelected }\" (click)=\"!config.disableLeftRowSelection && rowClick(item, true)\">\n <td (click)=\"$event.stopPropagation()\">\n <input type=\"checkbox\" [(ngModel)]=\"item.selectedCheckbox\" (change)=\"changeCheckbox()\" />\n </td>\n @for (column of config.tableLeftConfig.columns; track column) {\n @if (column.id !== 'checkbox' && column.id !== undefined) {\n <td>{{ item[column.id] }}</td>\n }\n }\n </tr>\n }\n }\n </s-table-complete>\n </div>\n <div class=\"s-table-double__body__middle\">\n <div>\n <s-button\n (click)=\"addItem()\"\n (keydown.enter)=\"addItem()\"\n position=\"normal\"\n [disabled]=\"disabledButtonLeft()\"\n [pill]=\"true\"\n ><s-icon-mat><span class=\"material-symbols-outlined\"> {{ config.additionButton ? 'add' : 'arrow_forward' }} </span></s-icon-mat></s-button\n >\n </div>\n <div>\n <s-button\n (click)=\"removeItem()\"\n (keydown.enter)=\"removeItem()\"\n position=\"normal\"\n type=\"secondary\"\n [disabled]=\"disabledButtonRight()\"\n [pill]=\"true\"\n ><s-icon-mat><span class=\"material-symbols-outlined\"> {{ config.additionButton ? 'remove' : 'arrow_back' }} </span></s-icon-mat></s-button\n >\n </div>\n </div>\n <div class=\"s-table-double__body__right\">\n <s-table-complete\n [config]=\"config.tableRightConfig\"\n (actionEvent)=\"action(false)\"\n (bottomStatusBarEvent)=\"bottomStatusBarChange($event, false)\"\n (checkAllEvent)=\"checkAllEvent($event, false)\"\n (deleteEvent)=\"delete(false)\"\n (emptyEvent)=\"empty(false)\"\n (filterEvent)=\"filter($event, false)\"\n (multiSelectEvent)=\"multiSelect($event, false)\"\n (orderByEvent)=\"orderBy($event, false)\"\n (pageEvent)=\"page($event, false)\"\n (paginationEvent)=\"paginationEmitter($event, false)\"\n (pillButtonEvent)=\"pillButton(false)\"\n (scrollEvent)=\"onScroll(false)\"\n (searchEvent)=\"search($event, false)\">\n @if (config.dragAndDrop) {\n @for (item of config.tableRightItems; track item) {\n <s-list\n [size]=\"'xs'\"\n [attr.data-item-id]=\"item.id\"\n [draggable]=\"true\"\n [selected]=\"item.selectedCheckbox\"\n (dragstart)=\"onDragStart($event, item.id)\"\n (dragover)=\"onDragOver($event, item.id)\"\n (dragleave)=\"onDragLeave($event)\"\n (drop)=\"onDrop($event, item.id, false)\"\n (click)=\"selectItem(item.id, false)\">\n <div class=\"s-table-double__drag\">\n <h5 class=\"ml-2\">{{ item.name }}</h5>\n @if (item.iconAction) {\n <div class=\"s-table-double__drag-icon\">\n <s-icon-mat (click)=\"iconAction(item.id, false)\">{{ item.iconAction }}</s-icon-mat>\n </div>\n }\n </div>\n </s-list>\n }\n } @else {\n @for (item of config.tableRightItems; track item) {\n <tr [ngClass]=\"{ active: item.itemSelected }\" (click)=\"rowClick(item, false)\">\n <td\n class=\"s-table-double__tree-cell\"\n [class.s-table-double__tree-cell--tree]=\"config.isTreeMode\"\n [attr.colspan]=\"config.isTreeMode ? config.tableRightConfig.columns.length - (config.showOrderButtons ? 1 : 0) : null\">\n <div class=\"s-table-double__tree-cell-content\" [ngClass]=\"getTreeLevelClass(item)\">\n @if (config.isTreeMode && item.hasChildren) {\n <s-icon-mat\n class=\"s-table-double__tree-toggle\"\n [class.s-table-double__tree-toggle--expanded]=\"item.expanded\"\n (click)=\"toggleExpand($event, item.id)\">\n <span class=\"material-symbols-outlined\">chevron_right</span>\n </s-icon-mat>\n } @else if (config.isTreeMode) {\n <span class=\"s-table-double__tree-spacer\"></span>\n }\n <input type=\"checkbox\" [(ngModel)]=\"item.selectedCheckbox\" (click)=\"$event.stopPropagation()\" (change)=\"changeCheckbox()\" />\n @if (config.isTreeMode) {\n <span class=\"s-table-double__tree-name\">{{ item.name }}</span>\n }\n </div>\n </td>\n @for (column of config.tableRightConfig.columns; track column) {\n @if (column.id !== 'checkbox' && column.id !== undefined && !(config.isTreeMode && column.id === 'name') && column.id !== 'actions') {\n <td>{{ item[column.id] }}</td>\n }\n }\n @if (config.showOrderButtons) {\n <td class=\"s-table-double__order-actions\" (click)=\"$event.stopPropagation()\">\n <s-table-actions-buttons\n [tableActionsButtons]=\"getOrderButtons(item)\"\n (clickButtonEvent)=\"onOrderButtonClick($event, item.id)\">\n </s-table-actions-buttons>\n </td>\n }\n </tr>\n }\n }\n </s-table-complete>\n </div>\n </div>\n</div>\n", styles: [".s-table-double__body{display:flex;gap:.625rem}.s-table-double__body .s-tablet tr{cursor:pointer;-webkit-user-select:none;user-select:none}.s-table-double__body .s-tablet tr:hover{background-color:var(--primary-200)}.s-table-double__body .s-tablet tr.active{background-color:var(--neutrals-1100)}.s-table-double__body__left{flex:5}.s-table-double__body__middle{display:flex;flex-direction:column;gap:.625rem;justify-content:center;padding:1.25rem;background-color:var(--primary-100);border-radius:.5rem}.s-table-double__body__right{flex:5}.s-table-double .s-table-double__tree-cell{padding-left:0!important}.s-table-double__tree-cell-content{display:flex;align-items:center;gap:.5rem}.s-table-double .s-table-double__tree-cell.s-table-double__tree-cell--tree__list{margin:.5rem}.s-table-double .s-table-double__tree-cell.s-table-double__tree-cell--tree__drag{display:flex;justify-content:space-between;width:100%}.s-table-double .s-table-double__tree-cell.s-table-double__tree-cell--tree__drag-icon{color:var(--primary-600)}.s-table-double .s-table-double__tree-cell.s-table-double__tree-cell--tree__drag-icon:hover{cursor:pointer;color:var(--secondary-600)}.s-table-double .s-table-double__tree-level-0{padding-left:11px!important}.s-table-double .s-table-double__tree-level-1{padding-left:35px!important}.s-table-double .s-table-double__tree-level-2{padding-left:59px!important}.s-table-double .s-table-double__tree-level-3{padding-left:83px!important}.s-table-double .s-table-double__tree-level-4{padding-left:107px!important}.s-table-double .s-table-double__tree-level-5{padding-left:131px!important}.s-table-double .s-table-double__tree-level-6{padding-left:155px!important}.s-table-double .s-table-double__tree-level-7{padding-left:179px!important}.s-table-double .s-table-double__tree-level-8{padding-left:203px!important}.s-table-double .s-table-double__tree-level-9{padding-left:227px!important}.s-table-double .s-table-double__tree-level-10{padding-left:251px!important}.s-table-double .s-table-double__tree-level-11{padding-left:275px!important}.s-table-double .s-table-double__tree-level-12{padding-left:299px!important}.s-table-double .s-table-double__tree-level-13{padding-left:323px!important}.s-table-double .s-table-double__tree-level-14{padding-left:347px!important}.s-table-double .s-table-double__tree-level-15{padding-left:371px!important}.s-table-double .s-table-double__tree-level-16{padding-left:395px!important}.s-table-double .s-table-double__tree-level-17{padding-left:419px!important}.s-table-double .s-table-double__tree-level-18{padding-left:443px!important}.s-table-double .s-table-double__tree-level-19{padding-left:467px!important}.s-table-double .s-table-double__tree-level-20{padding-left:491px!important}.s-table-double__tree-toggle{cursor:pointer;transition:transform .2s ease;display:inline-flex;align-items:center;justify-content:center;color:var(--neutrals-600);font-size:1.25rem}.s-table-double__tree-toggle:hover{color:var(--primary-600)}.s-table-double__tree-toggle--expanded{transform:rotate(90deg)}.s-table-double__tree-spacer{display:inline-block;width:24px}.s-table-double__tree-name{margin-left:.25rem;white-space:nowrap;cursor:pointer;flex:1}.s-table-double .s-table-double__drag{display:flex;justify-content:space-between;color:var(--primary-600)}.s-table-double__order-actions{width:1px;white-space:nowrap}\n"] }]
|
|
7216
7394
|
}], propDecorators: { config: [{
|
|
7217
7395
|
type: Input
|
|
7218
7396
|
}], actionPositionEvent: [{
|
|
@@ -7243,11 +7421,269 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
7243
7421
|
type: Output
|
|
7244
7422
|
}], selectPositionEvent: [{
|
|
7245
7423
|
type: Output
|
|
7424
|
+
}], rowSelectPositionEvent: [{
|
|
7425
|
+
type: Output
|
|
7426
|
+
}], actionEvent: [{
|
|
7427
|
+
type: Output
|
|
7428
|
+
}], toggleExpandEvent: [{
|
|
7429
|
+
type: Output
|
|
7430
|
+
}], reorderItemEvent: [{
|
|
7431
|
+
type: Output
|
|
7432
|
+
}] } });
|
|
7433
|
+
|
|
7434
|
+
class STableDoubleCompleteComponent {
|
|
7435
|
+
constructor() {
|
|
7436
|
+
this.updateEvent = new EventEmitter();
|
|
7437
|
+
this.actionPositionEvent = new EventEmitter();
|
|
7438
|
+
this.bottomStatusBarPositionEvent = new EventEmitter();
|
|
7439
|
+
this.checkAllPositionEvent = new EventEmitter();
|
|
7440
|
+
this.deletePositionEvent = new EventEmitter();
|
|
7441
|
+
this.emptyPositionEvent = new EventEmitter();
|
|
7442
|
+
this.filterPositionEvent = new EventEmitter();
|
|
7443
|
+
this.multiSelectPositionEvent = new EventEmitter();
|
|
7444
|
+
this.orderByPositionEvent = new EventEmitter();
|
|
7445
|
+
this.pillButtonPositionEvent = new EventEmitter();
|
|
7446
|
+
this.scrollPositionEvent = new EventEmitter();
|
|
7447
|
+
this.selectPositionEvent = new EventEmitter();
|
|
7448
|
+
this.rightTableState = [];
|
|
7449
|
+
this.expandedNodes = new Map();
|
|
7450
|
+
}
|
|
7451
|
+
ngOnInit() {
|
|
7452
|
+
this.rightTableState = [
|
|
7453
|
+
...(this.config.tableConfig.tableRightItems ?? []),
|
|
7454
|
+
];
|
|
7455
|
+
const selectedTab = this.config.tabs.find(t => t.selected);
|
|
7456
|
+
if (selectedTab) {
|
|
7457
|
+
this.setActiveTab(selectedTab);
|
|
7458
|
+
}
|
|
7459
|
+
}
|
|
7460
|
+
onTabSelect(tab) {
|
|
7461
|
+
this.setActiveTab(tab);
|
|
7462
|
+
}
|
|
7463
|
+
setActiveTab(tab) {
|
|
7464
|
+
this.activeTabKey = String(tab.value ?? tab.text);
|
|
7465
|
+
const leftItems = this.config.itemsByTab[this.activeTabKey] ?? [];
|
|
7466
|
+
const tableLeftItems = this.mapToTableDoubleItems(leftItems);
|
|
7467
|
+
let tableRightItems = this.mapToTableDoubleItems(this.rightTableState);
|
|
7468
|
+
if (this.config.treeMode) {
|
|
7469
|
+
tableRightItems = this.flattenTree(this.buildTree(this.rightTableState));
|
|
7470
|
+
}
|
|
7471
|
+
this.tableDoubleAdapter = this.buildTableDoubleAdapter(tableLeftItems, tableRightItems);
|
|
7472
|
+
}
|
|
7473
|
+
onUpdateTables(event) {
|
|
7474
|
+
const prevRightIds = new Set(this.rightTableState.map(i => i.id));
|
|
7475
|
+
const sourceLeft = this.config.itemsByTab[this.activeTabKey] ?? [];
|
|
7476
|
+
const selectedRightItems = event.tableRightItems.filter(i => i.itemSelected);
|
|
7477
|
+
const parentId = this.config.treeMode && selectedRightItems.length === 1
|
|
7478
|
+
? selectedRightItems[0].id
|
|
7479
|
+
: null;
|
|
7480
|
+
const nextRight = event.tableRightItems.map(item => {
|
|
7481
|
+
const prev = this.rightTableState.find(r => r.id === item.id);
|
|
7482
|
+
const fromLeft = sourceLeft.find(l => l.id === item.id);
|
|
7483
|
+
return {
|
|
7484
|
+
...(prev ?? fromLeft ?? {}),
|
|
7485
|
+
id: item.id,
|
|
7486
|
+
name: item.name,
|
|
7487
|
+
selectedCheckbox: !!item.selectedCheckbox,
|
|
7488
|
+
parentId: prev?.parentId ?? null,
|
|
7489
|
+
};
|
|
7490
|
+
});
|
|
7491
|
+
const addedItems = nextRight.filter(i => !prevRightIds.has(i.id));
|
|
7492
|
+
if (this.config.treeMode && parentId) {
|
|
7493
|
+
addedItems.forEach(item => {
|
|
7494
|
+
item.parentId = parentId;
|
|
7495
|
+
});
|
|
7496
|
+
}
|
|
7497
|
+
this.rightTableState = nextRight;
|
|
7498
|
+
this.resetSelections();
|
|
7499
|
+
this.refreshTables();
|
|
7500
|
+
}
|
|
7501
|
+
refreshTables() {
|
|
7502
|
+
const leftItems = this.config.itemsByTab[this.activeTabKey] ?? [];
|
|
7503
|
+
const tableLeftItems = this.mapToTableDoubleItems(leftItems);
|
|
7504
|
+
let tableRightItems = this.mapToTableDoubleItems(this.rightTableState);
|
|
7505
|
+
if (this.config.treeMode) {
|
|
7506
|
+
tableRightItems = this.flattenTree(this.buildTree(this.rightTableState));
|
|
7507
|
+
}
|
|
7508
|
+
this.tableDoubleAdapter = this.buildTableDoubleAdapter(tableLeftItems, tableRightItems);
|
|
7509
|
+
this.updateEvent.emit({
|
|
7510
|
+
tabKey: this.activeTabKey,
|
|
7511
|
+
tableLeftItems,
|
|
7512
|
+
tableRightItems,
|
|
7513
|
+
});
|
|
7514
|
+
}
|
|
7515
|
+
buildTableDoubleAdapter(leftItems, rightItems) {
|
|
7516
|
+
const rightColumns = [...this.config.tableConfig.tableRightConfig.columns];
|
|
7517
|
+
if (this.config.showOrderButtons && !rightColumns.some(c => c.id === 'actions')) {
|
|
7518
|
+
rightColumns.push({ id: 'actions', title: '' });
|
|
7519
|
+
}
|
|
7520
|
+
return {
|
|
7521
|
+
additionButton: true,
|
|
7522
|
+
isTreeMode: !!this.config.treeMode,
|
|
7523
|
+
showOrderButtons: !!this.config.showOrderButtons,
|
|
7524
|
+
disableLeftRowSelection: true,
|
|
7525
|
+
tableLeftConfig: {
|
|
7526
|
+
...this.config.tableConfig.tableLeftConfig,
|
|
7527
|
+
totalItems: leftItems.length,
|
|
7528
|
+
isTreeMode: false,
|
|
7529
|
+
configBottomStatusBar: signal({
|
|
7530
|
+
counter: leftItems.filter(i => i.selectedCheckbox).length,
|
|
7531
|
+
total: leftItems.length,
|
|
7532
|
+
disabled: leftItems.length === 0,
|
|
7533
|
+
}),
|
|
7534
|
+
},
|
|
7535
|
+
tableRightConfig: {
|
|
7536
|
+
...this.config.tableConfig.tableRightConfig,
|
|
7537
|
+
columns: rightColumns,
|
|
7538
|
+
totalItems: rightItems.length,
|
|
7539
|
+
isTreeMode: !!this.config.treeMode,
|
|
7540
|
+
configBottomStatusBar: signal({
|
|
7541
|
+
counter: rightItems.filter(i => i.selectedCheckbox).length,
|
|
7542
|
+
total: rightItems.length,
|
|
7543
|
+
disabled: rightItems.length === 0,
|
|
7544
|
+
}),
|
|
7545
|
+
},
|
|
7546
|
+
tableLeftItems: leftItems,
|
|
7547
|
+
tableRightItems: rightItems,
|
|
7548
|
+
};
|
|
7549
|
+
}
|
|
7550
|
+
mapToTableDoubleItems(items) {
|
|
7551
|
+
return items.map((item, index) => ({
|
|
7552
|
+
...item,
|
|
7553
|
+
name: item.name ?? '',
|
|
7554
|
+
selectedCheckbox: item.selectedCheckbox ?? false,
|
|
7555
|
+
}));
|
|
7556
|
+
}
|
|
7557
|
+
buildTree(items) {
|
|
7558
|
+
const map = new Map();
|
|
7559
|
+
const roots = [];
|
|
7560
|
+
items.forEach(item => {
|
|
7561
|
+
map.set(item.id, { ...item, children: [] });
|
|
7562
|
+
});
|
|
7563
|
+
map.forEach(item => {
|
|
7564
|
+
if (item.parentId) {
|
|
7565
|
+
const parent = map.get(item.parentId);
|
|
7566
|
+
if (parent)
|
|
7567
|
+
parent.children.push(item);
|
|
7568
|
+
}
|
|
7569
|
+
else {
|
|
7570
|
+
roots.push(item);
|
|
7571
|
+
}
|
|
7572
|
+
});
|
|
7573
|
+
return roots;
|
|
7574
|
+
}
|
|
7575
|
+
flattenTree(nodes, level = 0) {
|
|
7576
|
+
let result = [];
|
|
7577
|
+
for (let i = 0; i < nodes.length; i++) {
|
|
7578
|
+
const node = nodes[i];
|
|
7579
|
+
const hasChildren = !!node.children?.length;
|
|
7580
|
+
const isExpanded = this.expandedNodes.get(node.id) ?? true;
|
|
7581
|
+
result.push({
|
|
7582
|
+
id: node.id,
|
|
7583
|
+
name: node.name ?? '',
|
|
7584
|
+
selectedCheckbox: !!node.selectedCheckbox,
|
|
7585
|
+
parentId: node.parentId ?? null,
|
|
7586
|
+
level: level,
|
|
7587
|
+
expanded: isExpanded,
|
|
7588
|
+
hasChildren: hasChildren,
|
|
7589
|
+
});
|
|
7590
|
+
if (hasChildren && isExpanded && node.children) {
|
|
7591
|
+
result = result.concat(this.flattenTree(node.children, level + 1));
|
|
7592
|
+
}
|
|
7593
|
+
}
|
|
7594
|
+
return result;
|
|
7595
|
+
}
|
|
7596
|
+
resetSelections() {
|
|
7597
|
+
const leftItems = this.config.itemsByTab[this.activeTabKey] ?? [];
|
|
7598
|
+
leftItems.forEach(i => {
|
|
7599
|
+
i.selectedCheckbox = false;
|
|
7600
|
+
i.itemSelected = false;
|
|
7601
|
+
});
|
|
7602
|
+
this.rightTableState.forEach(i => {
|
|
7603
|
+
i.selectedCheckbox = false;
|
|
7604
|
+
i.itemSelected = false;
|
|
7605
|
+
});
|
|
7606
|
+
}
|
|
7607
|
+
toggleNodeExpansion(nodeId) {
|
|
7608
|
+
const currentState = this.expandedNodes.get(nodeId) ?? true;
|
|
7609
|
+
this.expandedNodes.set(nodeId, !currentState);
|
|
7610
|
+
this.refreshTables();
|
|
7611
|
+
}
|
|
7612
|
+
onReorderItem(event) {
|
|
7613
|
+
const { itemId, direction } = event;
|
|
7614
|
+
const item = this.rightTableState.find(i => i.id === itemId);
|
|
7615
|
+
if (!item)
|
|
7616
|
+
return;
|
|
7617
|
+
const parentId = item.parentId ?? null;
|
|
7618
|
+
const siblings = this.rightTableState.filter(i => (i.parentId ?? null) === parentId);
|
|
7619
|
+
const siblingIndex = siblings.findIndex(i => i.id === itemId);
|
|
7620
|
+
if (siblingIndex === -1)
|
|
7621
|
+
return;
|
|
7622
|
+
let targetIndex;
|
|
7623
|
+
switch (direction) {
|
|
7624
|
+
case 'top':
|
|
7625
|
+
targetIndex = 0;
|
|
7626
|
+
break;
|
|
7627
|
+
case 'up':
|
|
7628
|
+
targetIndex = siblingIndex - 1;
|
|
7629
|
+
break;
|
|
7630
|
+
case 'down':
|
|
7631
|
+
targetIndex = siblingIndex + 1;
|
|
7632
|
+
break;
|
|
7633
|
+
case 'bottom':
|
|
7634
|
+
targetIndex = siblings.length - 1;
|
|
7635
|
+
break;
|
|
7636
|
+
default:
|
|
7637
|
+
return;
|
|
7638
|
+
}
|
|
7639
|
+
if (targetIndex < 0 || targetIndex >= siblings.length || targetIndex === siblingIndex)
|
|
7640
|
+
return;
|
|
7641
|
+
siblings.splice(siblingIndex, 1);
|
|
7642
|
+
siblings.splice(targetIndex, 0, item);
|
|
7643
|
+
this.rightTableState = this.rightTableState.filter(i => (i.parentId ?? null) !== parentId);
|
|
7644
|
+
const insertRef = parentId
|
|
7645
|
+
? this.rightTableState.findIndex(i => i.id === parentId) + 1
|
|
7646
|
+
: 0;
|
|
7647
|
+
this.rightTableState.splice(insertRef, 0, ...siblings);
|
|
7648
|
+
this.refreshTables();
|
|
7649
|
+
}
|
|
7650
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: STableDoubleCompleteComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
7651
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: STableDoubleCompleteComponent, isStandalone: true, selector: "s-table-double-complete", inputs: { config: "config" }, outputs: { updateEvent: "updateEvent", actionPositionEvent: "actionPositionEvent", bottomStatusBarPositionEvent: "bottomStatusBarPositionEvent", checkAllPositionEvent: "checkAllPositionEvent", deletePositionEvent: "deletePositionEvent", emptyPositionEvent: "emptyPositionEvent", filterPositionEvent: "filterPositionEvent", multiSelectPositionEvent: "multiSelectPositionEvent", orderByPositionEvent: "orderByPositionEvent", pillButtonPositionEvent: "pillButtonPositionEvent", scrollPositionEvent: "scrollPositionEvent", selectPositionEvent: "selectPositionEvent" }, ngImport: i0, template: "<div class=\"s-table-double-complete\">\n <s-tabs\n [tabs]=\"config.tabs\"\n [configTabs]=\"config.configTabs\"\n (eventSelect)=\"onTabSelect($event)\">\n </s-tabs>\n\n <s-table-double\n [config]=\"tableDoubleAdapter\"\n (eventUpdateTables)=\"onUpdateTables($event)\"\n (actionPositionEvent)=\"actionPositionEvent.emit($event)\"\n (bottomStatusBarPositionEvent)=\"bottomStatusBarPositionEvent.emit($event)\"\n (checkAllPositionEvent)=\"checkAllPositionEvent.emit($event)\"\n (deletePositionEvent)=\"deletePositionEvent.emit($event)\"\n (emptyPositionEvent)=\"emptyPositionEvent.emit($event)\"\n (filterPositionEvent)=\"filterPositionEvent.emit($event)\"\n (multiSelectPositionEvent)=\"multiSelectPositionEvent.emit($event)\"\n (orderByPositionEvent)=\"orderByPositionEvent.emit($event)\"\n (pillButtonPositionEvent)=\"pillButtonPositionEvent.emit($event)\"\n (scrollPositionEvent)=\"scrollPositionEvent.emit($event)\"\n (toggleExpandEvent)=\"toggleNodeExpansion($event)\"\n (reorderItemEvent)=\"onReorderItem($event)\">\n</s-table-double>\n</div>\n", styles: [".s-table-double-complete{display:flex;flex-direction:row;gap:.5rem}s-table-double{width:100%}s-tabs{width:15%}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: STabsModule }, { kind: "component", type: STabsComponent, selector: "s-tabs", inputs: ["tabs", "configTabs"], outputs: ["eventSelect"] }, { kind: "component", type: STableDoubleComponent, selector: "s-table-double", inputs: ["config"], outputs: ["actionPositionEvent", "bottomStatusBarPositionEvent", "checkAllPositionEvent", "deletePositionEvent", "emptyPositionEvent", "eventUpdateTables", "filterPositionEvent", "multiSelectPositionEvent", "orderByPositionEvent", "pagePositionEvent", "paginationPositionEvent", "pillButtonPositionEvent", "scrollPositionEvent", "selectPositionEvent", "rowSelectPositionEvent", "actionEvent", "toggleExpandEvent", "reorderItemEvent"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
7652
|
+
}
|
|
7653
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: STableDoubleCompleteComponent, decorators: [{
|
|
7654
|
+
type: Component,
|
|
7655
|
+
args: [{ selector: 's-table-double-complete', standalone: true, imports: [CommonModule, STabsModule, STableDoubleComponent], encapsulation: ViewEncapsulation.None, template: "<div class=\"s-table-double-complete\">\n <s-tabs\n [tabs]=\"config.tabs\"\n [configTabs]=\"config.configTabs\"\n (eventSelect)=\"onTabSelect($event)\">\n </s-tabs>\n\n <s-table-double\n [config]=\"tableDoubleAdapter\"\n (eventUpdateTables)=\"onUpdateTables($event)\"\n (actionPositionEvent)=\"actionPositionEvent.emit($event)\"\n (bottomStatusBarPositionEvent)=\"bottomStatusBarPositionEvent.emit($event)\"\n (checkAllPositionEvent)=\"checkAllPositionEvent.emit($event)\"\n (deletePositionEvent)=\"deletePositionEvent.emit($event)\"\n (emptyPositionEvent)=\"emptyPositionEvent.emit($event)\"\n (filterPositionEvent)=\"filterPositionEvent.emit($event)\"\n (multiSelectPositionEvent)=\"multiSelectPositionEvent.emit($event)\"\n (orderByPositionEvent)=\"orderByPositionEvent.emit($event)\"\n (pillButtonPositionEvent)=\"pillButtonPositionEvent.emit($event)\"\n (scrollPositionEvent)=\"scrollPositionEvent.emit($event)\"\n (toggleExpandEvent)=\"toggleNodeExpansion($event)\"\n (reorderItemEvent)=\"onReorderItem($event)\">\n</s-table-double>\n</div>\n", styles: [".s-table-double-complete{display:flex;flex-direction:row;gap:.5rem}s-table-double{width:100%}s-tabs{width:15%}\n"] }]
|
|
7656
|
+
}], propDecorators: { config: [{
|
|
7657
|
+
type: Input
|
|
7658
|
+
}], updateEvent: [{
|
|
7659
|
+
type: Output
|
|
7660
|
+
}], actionPositionEvent: [{
|
|
7661
|
+
type: Output
|
|
7662
|
+
}], bottomStatusBarPositionEvent: [{
|
|
7663
|
+
type: Output
|
|
7664
|
+
}], checkAllPositionEvent: [{
|
|
7665
|
+
type: Output
|
|
7666
|
+
}], deletePositionEvent: [{
|
|
7667
|
+
type: Output
|
|
7668
|
+
}], emptyPositionEvent: [{
|
|
7669
|
+
type: Output
|
|
7670
|
+
}], filterPositionEvent: [{
|
|
7671
|
+
type: Output
|
|
7672
|
+
}], multiSelectPositionEvent: [{
|
|
7673
|
+
type: Output
|
|
7674
|
+
}], orderByPositionEvent: [{
|
|
7675
|
+
type: Output
|
|
7676
|
+
}], pillButtonPositionEvent: [{
|
|
7677
|
+
type: Output
|
|
7678
|
+
}], scrollPositionEvent: [{
|
|
7679
|
+
type: Output
|
|
7680
|
+
}], selectPositionEvent: [{
|
|
7681
|
+
type: Output
|
|
7246
7682
|
}] } });
|
|
7247
7683
|
|
|
7248
7684
|
/**
|
|
7249
7685
|
* Generated bundle index. Do not edit.
|
|
7250
7686
|
*/
|
|
7251
7687
|
|
|
7252
|
-
export { ANIMATION, ANIMATION_CONFIG, ActionsButtons, ActionsButtonsType, AnimationComponent, BehaviorDto, CustomTooltipDirective, DataTypeDto, EmptyComponent, FieldOptionDto, FieldTemplateDto, FormFilledDto, FormFilledMetadataDto, FormFilledValueDto, FormGroupDto, FormLayoutDto, FormTypeDto, GridMultiInputsComponent, GridMultiInputsToolbarTopComponent, GroupFieldDto, GroupTemplateDto, ICON_INPUT, ICON_THEME, INPUTS_REGEX, INPUT_SIZE, INPUT_TYPE, ImageLoaderDirective, InputSearch, LinkedFieldDto, LocalstorageService, ModalTypeIcon, SAnimationModule, SAvatarComponent, SAvatarModule, SBadgeComponent, SBadgeModule, SBottomStatusBarComponent, SBreadcrumComponent, SBreadcrumModule, SButtonComponent, SButtonModule, SCalendar, SCalendarComponent, SCardComponent, SCardModule, SCheckData, SCheckbox, SCheckboxComponent, SCheckboxModule, SCheckboxOldComponent, SCollapseComponent, SCollapseModule, SColorComponent, SCompanyLogoComponent, SCompanyLogoModule, SContainerComponent, SContainerModule, SContentComponent, SContentModule, SDynamicFormComponent, SDynamicFormModule, SEmptyModule, SErrorControl, SFooterComponent, SFooterModule, SGridMultiInputsModule, SIcon, SIconMaterialComponent, SIconMaterialModule, SIconMenuComponent, SIconMenuModel, SIconMenuModule, SInput, SInputComponent, SInputModule, SInputNumber, SInputNumberComponent, SInputTextAreaComponent, SLinkComponent, SLinkModule, SListComponent, SListModule, SListSimpleComponent, SListSimpleModule, SMenuItemTitleComponent, SMenuMain, SMenuMainComponent, SMenuMainModule, SModalConfirmComponent, SModalConfirmService, SNavbarComponent, SNavbarModule, SNotificationComponent, SPaginationComponent, SPaginationModule, SPopupComponent, SPopupModule, SPrecodeComponent, SPrecodeModule, SProfileGroupComponent, SProfileGroupModule, SProgressbarComponent, SProgressbarModule, SRadioComponent, SRadioModule,
|
|
7688
|
+
export { ANIMATION, ANIMATION_CONFIG, ActionsButtons, ActionsButtonsType, AnimationComponent, BehaviorDto, CustomTooltipDirective, DataTypeDto, EmptyComponent, FieldOptionDto, FieldTemplateDto, FormFilledDto, FormFilledMetadataDto, FormFilledValueDto, FormGroupDto, FormLayoutDto, FormTypeDto, GridMultiInputsComponent, GridMultiInputsToolbarTopComponent, GroupFieldDto, GroupTemplateDto, ICON_INPUT, ICON_THEME, INPUTS_REGEX, INPUT_SIZE, INPUT_TYPE, ImageLoaderDirective, InputSearch, LinkedFieldDto, LocalstorageService, ModalTypeIcon, SAnimationModule, SAvatarComponent, SAvatarModule, SBadgeComponent, SBadgeModule, SBottomStatusBarComponent, SBreadcrumComponent, SBreadcrumModule, SButtonComponent, SButtonModule, SCalendar, SCalendarComponent, SCardComponent, SCardModule, SCheckData, SCheckbox, SCheckboxComponent, SCheckboxModule, SCheckboxOldComponent, SCollapseComponent, SCollapseModule, SColorComponent, SCompanyLogoComponent, SCompanyLogoModule, SContainerComponent, SContainerModule, SContentComponent, SContentModule, SDynamicFormComponent, SDynamicFormModule, SEmptyModule, SErrorControl, SFooterComponent, SFooterModule, SGridMultiInputsModule, SIcon, SIconMaterialComponent, SIconMaterialModule, SIconMenuComponent, SIconMenuModel, SIconMenuModule, SInput, SInputComponent, SInputModule, SInputNumber, SInputNumberComponent, SInputTextAreaComponent, SLinkComponent, SLinkModule, SListComponent, SListModule, SListSimpleComponent, SListSimpleModule, SMenuItemTitleComponent, SMenuMain, SMenuMainComponent, SMenuMainModule, SModalConfirmComponent, SModalConfirmService, SNavbarComponent, SNavbarModule, SNotificationComponent, SPaginationComponent, SPaginationModule, SPopupComponent, SPopupModule, SPrecodeComponent, SPrecodeModule, SProfileGroupComponent, SProfileGroupModule, SProgressbarComponent, SProgressbarModule, SRadioComponent, SRadioModule, SRedirectComponent, SSelect, SSelectComponent, SSelectModule, SSelectMultipleComponent, SSelectMultipleModel, SSelectMultipleOldComponent, SSelectSimpleComponent, SSelectSimpleModel, SSelectUser, SSidebarComponent, SSidebarModule, SSliderComponent, SSpinnerComponent, SSpinnerModule, SSubMenu, SSubMenuComponent, SSubMenuHeader, SSubMenuItem, SSubMenuModule, SSwitch, STableCompleteModule, STableDoubleCompleteComponent, STableDoubleComponent, STabletComponent, STabletModule, STabsComponent, STabsModule, STagComponent, STagModule, STemplate, STemplatePopup, STextArea, SThemeComponent, SThemeModule, SThumbnailComponent, SThumbnailModule, STime, STimeComponent, STimelineComponent, STimelineModule, SToastComponent, SToastModule, SToastService, SToggleSwitchComponent, SToggleSwitchModule, SToolbarTopComponent, SToolbarTopModule, STooltipComponent, STooltipModule, STranslatePipe, STranslateService, STreeListComponent, STreeListModule, SUser, SValidationError, SharedModule, SidebarStateService, SortableColumn, THEME, TableActionsButtonsComponent, TableActionsButtonsModule, TableCompleteComponent, ToggleSwitchFormComponent };
|
|
7253
7689
|
//# sourceMappingURL=sidesys-generic-ui.mjs.map
|