suis 0.6.0 → 0.8.0
Sign up to get free protection for your applications and to get access to all the features.
- package/README.md +2 -0
- package/esm2022/lib/classes/index.mjs +2 -1
- package/esm2022/lib/classes/suis-input.base.mjs +58 -0
- package/esm2022/lib/components/index.mjs +3 -1
- package/esm2022/lib/components/suis-chip/index.mjs +3 -0
- package/esm2022/lib/components/suis-chip/suis-chip.component.mjs +48 -0
- package/esm2022/lib/components/suis-chip/suis-chip.types.mjs +2 -0
- package/esm2022/lib/components/suis-input-chips/index.mjs +2 -0
- package/esm2022/lib/components/suis-input-chips/suis-input-chips.component.mjs +92 -0
- package/esm2022/lib/components/suis-input-text/suis-input-text.component.mjs +21 -38
- package/fesm2022/suis.mjs +217 -56
- package/fesm2022/suis.mjs.map +1 -1
- package/lib/classes/index.d.ts +1 -0
- package/lib/classes/suis-input.base.d.ts +32 -0
- package/lib/components/index.d.ts +2 -0
- package/lib/components/suis-chip/index.d.ts +2 -0
- package/lib/components/suis-chip/suis-chip.component.d.ts +28 -0
- package/lib/components/suis-chip/suis-chip.types.d.ts +2 -0
- package/lib/components/suis-input-chips/index.d.ts +1 -0
- package/lib/components/suis-input-chips/suis-input-chips.component.d.ts +33 -0
- package/lib/components/suis-input-text/suis-input-text.component.d.ts +8 -16
- package/package.json +1 -1
package/README.md
CHANGED
@@ -16,6 +16,8 @@ Modern UI component library. Supports Angular in version 16 and uses its latest
|
|
16
16
|
| Button | SuisButton | button[suisButton] | 0.5.0 |
|
17
17
|
| ButtonOutlined | SuisButtonOutlined | button[suisButtonOutlined] | 0.5.0 |
|
18
18
|
| Icon | SuisIcon | suis-icon | 0.6.0 |
|
19
|
+
| Chip | SuisChip | suis-chip | 0.7.0 |
|
20
|
+
| InputChips | SuisInputChips | suis-input-chips | 0.8.0 |
|
19
21
|
|
20
22
|
## Pipes
|
21
23
|
|
@@ -1,2 +1,3 @@
|
|
1
1
|
export * from './suis-button.base';
|
2
|
-
|
2
|
+
export * from './suis-input.base';
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3N1aXMvc3JjL2xpYi9jbGFzc2VzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxtQkFBbUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vc3Vpcy1idXR0b24uYmFzZSc7XG5leHBvcnQgKiBmcm9tICcuL3N1aXMtaW5wdXQuYmFzZSc7XG4iXX0=
|
@@ -0,0 +1,58 @@
|
|
1
|
+
import { ChangeDetectorRef, Directive, EventEmitter, Input, Output, inject, } from '@angular/core';
|
2
|
+
import * as i0 from "@angular/core";
|
3
|
+
class SuisInputBase {
|
4
|
+
constructor() {
|
5
|
+
/** @internal */
|
6
|
+
this.cdRef = inject(ChangeDetectorRef);
|
7
|
+
/**
|
8
|
+
* Sets input disabled state. By default set to false.
|
9
|
+
*/
|
10
|
+
this.readonly = false;
|
11
|
+
/**
|
12
|
+
* Adds invalid styling to the input. By default set to false.
|
13
|
+
*/
|
14
|
+
this.invalid = false;
|
15
|
+
/**
|
16
|
+
* Emits on value changed.
|
17
|
+
*/
|
18
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
19
|
+
this.changed = new EventEmitter();
|
20
|
+
/**
|
21
|
+
* Emits on input touched.
|
22
|
+
*/
|
23
|
+
this.touched = new EventEmitter();
|
24
|
+
// eslint-disable-next-line @typescript-eslint/no-empty-function, @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any
|
25
|
+
this._onChange = (value) => { };
|
26
|
+
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
27
|
+
this._onTouched = () => { };
|
28
|
+
}
|
29
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
30
|
+
registerOnChange(fn) {
|
31
|
+
this._onChange = fn;
|
32
|
+
}
|
33
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
34
|
+
registerOnTouched(fn) {
|
35
|
+
this._onTouched = fn;
|
36
|
+
}
|
37
|
+
/** @internal */
|
38
|
+
onTouch() {
|
39
|
+
this._onTouched();
|
40
|
+
this.touched.emit();
|
41
|
+
this.cdRef.markForCheck();
|
42
|
+
}
|
43
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: SuisInputBase, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
44
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.0", type: SuisInputBase, inputs: { readonly: "readonly", invalid: "invalid" }, outputs: { changed: "changed", touched: "touched" }, ngImport: i0 }); }
|
45
|
+
}
|
46
|
+
export { SuisInputBase };
|
47
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: SuisInputBase, decorators: [{
|
48
|
+
type: Directive
|
49
|
+
}], propDecorators: { readonly: [{
|
50
|
+
type: Input
|
51
|
+
}], invalid: [{
|
52
|
+
type: Input
|
53
|
+
}], changed: [{
|
54
|
+
type: Output
|
55
|
+
}], touched: [{
|
56
|
+
type: Output
|
57
|
+
}] } });
|
58
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Vpcy1pbnB1dC5iYXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zdWlzL3NyYy9saWIvY2xhc3Nlcy9zdWlzLWlucHV0LmJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBQ04sTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDOztBQUd2QixNQUNzQixhQUFhO0lBRG5DO1FBRUUsZ0JBQWdCO1FBQ0csVUFBSyxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBRXJEOztXQUVHO1FBQ00sYUFBUSxHQUFZLEtBQUssQ0FBQztRQUVuQzs7V0FFRztRQUNNLFlBQU8sR0FBWSxLQUFLLENBQUM7UUFFbEM7O1dBRUc7UUFDSCw4REFBOEQ7UUFDcEQsWUFBTyxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFFNUM7O1dBRUc7UUFDTyxZQUFPLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUU3Qyx1SUFBdUk7UUFDdkksY0FBUyxHQUFHLENBQUMsS0FBVSxFQUFFLEVBQUUsR0FBRSxDQUFDLENBQUM7UUFFL0IsZ0VBQWdFO1FBQ2hFLGVBQVUsR0FBRyxHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUM7S0FxQnZCO0lBbkJDLDhEQUE4RDtJQUM5RCxnQkFBZ0IsQ0FBQyxFQUFPO1FBQ3RCLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFRCw4REFBOEQ7SUFDOUQsaUJBQWlCLENBQUMsRUFBTztRQUN2QixJQUFJLENBQUMsVUFBVSxHQUFHLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBS0QsZ0JBQWdCO0lBQ2hCLE9BQU87UUFDTCxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDbEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNwQixJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzVCLENBQUM7OEdBakRtQixhQUFhO2tHQUFiLGFBQWE7O1NBQWIsYUFBYTsyRkFBYixhQUFhO2tCQURsQyxTQUFTOzhCQVFDLFFBQVE7c0JBQWhCLEtBQUs7Z0JBS0csT0FBTztzQkFBZixLQUFLO2dCQU1JLE9BQU87c0JBQWhCLE1BQU07Z0JBS0csT0FBTztzQkFBaEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBEaXJlY3RpdmUsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgaW5qZWN0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBTdWlzSW5wdXRCYXNlIGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuICAvKiogQGludGVybmFsICovXG4gIHByb3RlY3RlZCByZWFkb25seSBjZFJlZiA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XG5cbiAgLyoqXG4gICAqIFNldHMgaW5wdXQgZGlzYWJsZWQgc3RhdGUuIEJ5IGRlZmF1bHQgc2V0IHRvIGZhbHNlLlxuICAgKi9cbiAgQElucHV0KCkgcmVhZG9ubHk6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKipcbiAgICogQWRkcyBpbnZhbGlkIHN0eWxpbmcgdG8gdGhlIGlucHV0LiBCeSBkZWZhdWx0IHNldCB0byBmYWxzZS5cbiAgICovXG4gIEBJbnB1dCgpIGludmFsaWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKipcbiAgICogRW1pdHMgb24gdmFsdWUgY2hhbmdlZC5cbiAgICovXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gIEBPdXRwdXQoKSBjaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgLyoqXG4gICAqIEVtaXRzIG9uIGlucHV0IHRvdWNoZWQuXG4gICAqL1xuICBAT3V0cHV0KCkgdG91Y2hlZCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LWZ1bmN0aW9uLCBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnMsIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgX29uQ2hhbmdlID0gKHZhbHVlOiBhbnkpID0+IHt9O1xuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktZnVuY3Rpb25cbiAgX29uVG91Y2hlZCA9ICgpID0+IHt9O1xuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMuX29uQ2hhbmdlID0gZm47XG4gIH1cblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5fb25Ub3VjaGVkID0gZm47XG4gIH1cblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICBhYnN0cmFjdCB3cml0ZVZhbHVlKG9iajogYW55KTogdm9pZDtcblxuICAvKiogQGludGVybmFsICovXG4gIG9uVG91Y2goKTogdm9pZCB7XG4gICAgdGhpcy5fb25Ub3VjaGVkKCk7XG4gICAgdGhpcy50b3VjaGVkLmVtaXQoKTtcbiAgICB0aGlzLmNkUmVmLm1hcmtGb3JDaGVjaygpO1xuICB9XG59XG4iXX0=
|
@@ -1,7 +1,9 @@
|
|
1
1
|
export * from './suis-box';
|
2
2
|
export * from './suis-button';
|
3
|
+
export * from './suis-chip';
|
3
4
|
export * from './suis-form-field';
|
4
5
|
export * from './suis-icon';
|
6
|
+
export * from './suis-input-chips';
|
5
7
|
export * from './suis-input-text';
|
6
8
|
export * from './suis-label';
|
7
|
-
//# sourceMappingURL=data:application/json;base64,
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3N1aXMvc3JjL2xpYi9jb21wb25lbnRzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsWUFBWSxDQUFDO0FBQzNCLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9zdWlzLWJveCc7XG5leHBvcnQgKiBmcm9tICcuL3N1aXMtYnV0dG9uJztcbmV4cG9ydCAqIGZyb20gJy4vc3Vpcy1jaGlwJztcbmV4cG9ydCAqIGZyb20gJy4vc3Vpcy1mb3JtLWZpZWxkJztcbmV4cG9ydCAqIGZyb20gJy4vc3Vpcy1pY29uJztcbmV4cG9ydCAqIGZyb20gJy4vc3Vpcy1pbnB1dC1jaGlwcyc7XG5leHBvcnQgKiBmcm9tICcuL3N1aXMtaW5wdXQtdGV4dCc7XG5leHBvcnQgKiBmcm9tICcuL3N1aXMtbGFiZWwnO1xuIl19
|
@@ -0,0 +1,3 @@
|
|
1
|
+
export * from './suis-chip.component';
|
2
|
+
export * from './suis-chip.types';
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3N1aXMvc3JjL2xpYi9jb21wb25lbnRzL3N1aXMtY2hpcC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsbUJBQW1CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3N1aXMtY2hpcC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9zdWlzLWNoaXAudHlwZXMnO1xuIl19
|
@@ -0,0 +1,48 @@
|
|
1
|
+
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, } from '@angular/core';
|
2
|
+
import { CommonModule } from '@angular/common';
|
3
|
+
import { SuisIconComponent, SuisIconType } from '../suis-icon';
|
4
|
+
import { SuisNgClassPipe } from '../../pipes/suis-ng-class.pipe';
|
5
|
+
import * as i0 from "@angular/core";
|
6
|
+
import * as i1 from "@angular/common";
|
7
|
+
class SuisChipComponent {
|
8
|
+
constructor() {
|
9
|
+
/** @internal */
|
10
|
+
this.SuisIconType = SuisIconType;
|
11
|
+
/**
|
12
|
+
* Sets the color pallette of the chip. Type of SuisChipColor. By default set to 'primary'.
|
13
|
+
*/
|
14
|
+
this.color = 'primary';
|
15
|
+
/**
|
16
|
+
* Sets the color of the cross icon. Visible only if removable set to true. Type of SuisIconColor. By default set to 'white'.
|
17
|
+
*/
|
18
|
+
this.iconColor = 'white';
|
19
|
+
/**
|
20
|
+
* Shows cross icon with remove action. By default set to false.
|
21
|
+
*/
|
22
|
+
this.removable = false;
|
23
|
+
/**
|
24
|
+
* Emits on cross icon click.
|
25
|
+
*/
|
26
|
+
this.remove = new EventEmitter();
|
27
|
+
}
|
28
|
+
/** @internal */
|
29
|
+
onRemove() {
|
30
|
+
this.remove.emit();
|
31
|
+
}
|
32
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: SuisChipComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
33
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: SuisChipComponent, isStandalone: true, selector: "suis-chip", inputs: { color: "color", iconColor: "iconColor", removable: "removable" }, outputs: { remove: "remove" }, ngImport: i0, template: "<div class=\"suis-chip\" [ngClass]=\"'suis-chip' | suisNgClass : color\">\n <ng-content></ng-content>\n <button\n *ngIf=\"removable\"\n class=\"suis-chip__remove\"\n type=\"button\"\n (click)=\"onRemove()\"\n >\n <suis-icon\n [color]=\"iconColor\"\n [type]=\"SuisIconType.CROSS\"\n [pointer]=\"true\"\n [size]=\"'lg'\"\n ></suis-icon>\n </button>\n</div>\n", styles: ["*{margin:0;padding:0;box-sizing:border-box}.suis-chip{display:flex;align-items:center;justify-content:center;width:-moz-fit-content;width:fit-content;border-radius:1rem;font-size:.875rem;padding:.25rem .5rem;color:#fff}.suis-chip__remove{border:none;background-color:transparent}.suis-chip--primary{background-color:#192a56}.suis-chip--secondary{background-color:#273c75}.suis-chip--tertiary{background-color:#dcdde1;color:#2f3640}.suis-chip--complementary{background-color:#f5f6fa;color:#2f3640}.suis-chip--success{background-color:#2ed573}.suis-chip--warning{background-color:#ffa502}.suis-chip--danger{background-color:#ff4757}.suis-chip--gray{background-color:#bcbcbc}.suis-chip--white{background-color:#fff;color:#2f3640}.suis-chip--dark{background-color:#000}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: SuisIconComponent, selector: "suis-icon", inputs: ["size", "color", "type", "outlined", "filled", "pointer"] }, { kind: "pipe", type: SuisNgClassPipe, name: "suisNgClass" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
34
|
+
}
|
35
|
+
export { SuisChipComponent };
|
36
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: SuisChipComponent, decorators: [{
|
37
|
+
type: Component,
|
38
|
+
args: [{ selector: 'suis-chip', standalone: true, imports: [CommonModule, SuisIconComponent, SuisNgClassPipe], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"suis-chip\" [ngClass]=\"'suis-chip' | suisNgClass : color\">\n <ng-content></ng-content>\n <button\n *ngIf=\"removable\"\n class=\"suis-chip__remove\"\n type=\"button\"\n (click)=\"onRemove()\"\n >\n <suis-icon\n [color]=\"iconColor\"\n [type]=\"SuisIconType.CROSS\"\n [pointer]=\"true\"\n [size]=\"'lg'\"\n ></suis-icon>\n </button>\n</div>\n", styles: ["*{margin:0;padding:0;box-sizing:border-box}.suis-chip{display:flex;align-items:center;justify-content:center;width:-moz-fit-content;width:fit-content;border-radius:1rem;font-size:.875rem;padding:.25rem .5rem;color:#fff}.suis-chip__remove{border:none;background-color:transparent}.suis-chip--primary{background-color:#192a56}.suis-chip--secondary{background-color:#273c75}.suis-chip--tertiary{background-color:#dcdde1;color:#2f3640}.suis-chip--complementary{background-color:#f5f6fa;color:#2f3640}.suis-chip--success{background-color:#2ed573}.suis-chip--warning{background-color:#ffa502}.suis-chip--danger{background-color:#ff4757}.suis-chip--gray{background-color:#bcbcbc}.suis-chip--white{background-color:#fff;color:#2f3640}.suis-chip--dark{background-color:#000}\n"] }]
|
39
|
+
}], propDecorators: { color: [{
|
40
|
+
type: Input
|
41
|
+
}], iconColor: [{
|
42
|
+
type: Input
|
43
|
+
}], removable: [{
|
44
|
+
type: Input
|
45
|
+
}], remove: [{
|
46
|
+
type: Output
|
47
|
+
}] } });
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Vpcy1jaGlwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc3Vpcy9zcmMvbGliL2NvbXBvbmVudHMvc3Vpcy1jaGlwL3N1aXMtY2hpcC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3N1aXMvc3JjL2xpYi9jb21wb25lbnRzL3N1aXMtY2hpcC9zdWlzLWNoaXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBaUIsaUJBQWlCLEVBQUUsWUFBWSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRTlFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQzs7O0FBRWpFLE1BUWEsaUJBQWlCO0lBUjlCO1FBU0UsZ0JBQWdCO1FBQ1AsaUJBQVksR0FBRyxZQUFZLENBQUM7UUFFckM7O1dBRUc7UUFDTSxVQUFLLEdBQWtCLFNBQVMsQ0FBQztRQUUxQzs7V0FFRztRQUNNLGNBQVMsR0FBa0IsT0FBTyxDQUFDO1FBRTVDOztXQUVHO1FBQ00sY0FBUyxHQUFZLEtBQUssQ0FBQztRQUVwQzs7V0FFRztRQUNPLFdBQU0sR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO0tBTTdDO0lBSkMsZ0JBQWdCO0lBQ2hCLFFBQVE7UUFDTixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3JCLENBQUM7OEdBM0JVLGlCQUFpQjtrR0FBakIsaUJBQWlCLGdMQ3BCOUIsZ1pBZ0JBLHd6QkREWSxZQUFZLGlPQUFFLGlCQUFpQixxSEFBRSxlQUFlOztTQUsvQyxpQkFBaUI7MkZBQWpCLGlCQUFpQjtrQkFSN0IsU0FBUzsrQkFDRSxXQUFXLGNBQ1QsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLGlCQUFpQixFQUFFLGVBQWUsQ0FBQyxtQkFHMUMsdUJBQXVCLENBQUMsTUFBTTs4QkFTdEMsS0FBSztzQkFBYixLQUFLO2dCQUtHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBS0csU0FBUztzQkFBakIsS0FBSztnQkFLSSxNQUFNO3NCQUFmLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPdXRwdXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFN1aXNJY29uQ29sb3IsIFN1aXNJY29uQ29tcG9uZW50LCBTdWlzSWNvblR5cGUgfSBmcm9tICcuLi9zdWlzLWljb24nO1xuaW1wb3J0IHsgU3Vpc0NoaXBDb2xvciB9IGZyb20gJy4vc3Vpcy1jaGlwLnR5cGVzJztcbmltcG9ydCB7IFN1aXNOZ0NsYXNzUGlwZSB9IGZyb20gJy4uLy4uL3BpcGVzL3N1aXMtbmctY2xhc3MucGlwZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3N1aXMtY2hpcCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFN1aXNJY29uQ29tcG9uZW50LCBTdWlzTmdDbGFzc1BpcGVdLFxuICB0ZW1wbGF0ZVVybDogJy4vc3Vpcy1jaGlwLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc3Vpcy1jaGlwLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBTdWlzQ2hpcENvbXBvbmVudCB7XG4gIC8qKiBAaW50ZXJuYWwgKi9cbiAgcmVhZG9ubHkgU3Vpc0ljb25UeXBlID0gU3Vpc0ljb25UeXBlO1xuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBjb2xvciBwYWxsZXR0ZSBvZiB0aGUgY2hpcC4gVHlwZSBvZiBTdWlzQ2hpcENvbG9yLiBCeSBkZWZhdWx0IHNldCB0byAncHJpbWFyeScuXG4gICAqL1xuICBASW5wdXQoKSBjb2xvcjogU3Vpc0NoaXBDb2xvciA9ICdwcmltYXJ5JztcblxuICAvKipcbiAgICogU2V0cyB0aGUgY29sb3Igb2YgdGhlIGNyb3NzIGljb24uIFZpc2libGUgb25seSBpZiByZW1vdmFibGUgc2V0IHRvIHRydWUuIFR5cGUgb2YgU3Vpc0ljb25Db2xvci4gQnkgZGVmYXVsdCBzZXQgdG8gJ3doaXRlJy5cbiAgICovXG4gIEBJbnB1dCgpIGljb25Db2xvcjogU3Vpc0ljb25Db2xvciA9ICd3aGl0ZSc7XG5cbiAgLyoqXG4gICAqIFNob3dzIGNyb3NzIGljb24gd2l0aCByZW1vdmUgYWN0aW9uLiBCeSBkZWZhdWx0IHNldCB0byBmYWxzZS5cbiAgICovXG4gIEBJbnB1dCgpIHJlbW92YWJsZTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBFbWl0cyBvbiBjcm9zcyBpY29uIGNsaWNrLlxuICAgKi9cbiAgQE91dHB1dCgpIHJlbW92ZSA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAvKiogQGludGVybmFsICovXG4gIG9uUmVtb3ZlKCk6IHZvaWQge1xuICAgIHRoaXMucmVtb3ZlLmVtaXQoKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInN1aXMtY2hpcFwiIFtuZ0NsYXNzXT1cIidzdWlzLWNoaXAnIHwgc3Vpc05nQ2xhc3MgOiBjb2xvclwiPlxuICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gIDxidXR0b25cbiAgICAqbmdJZj1cInJlbW92YWJsZVwiXG4gICAgY2xhc3M9XCJzdWlzLWNoaXBfX3JlbW92ZVwiXG4gICAgdHlwZT1cImJ1dHRvblwiXG4gICAgKGNsaWNrKT1cIm9uUmVtb3ZlKClcIlxuICA+XG4gICAgPHN1aXMtaWNvblxuICAgICAgW2NvbG9yXT1cImljb25Db2xvclwiXG4gICAgICBbdHlwZV09XCJTdWlzSWNvblR5cGUuQ1JPU1NcIlxuICAgICAgW3BvaW50ZXJdPVwidHJ1ZVwiXG4gICAgICBbc2l6ZV09XCInbGcnXCJcbiAgICA+PC9zdWlzLWljb24+XG4gIDwvYnV0dG9uPlxuPC9kaXY+XG4iXX0=
|
@@ -0,0 +1,2 @@
|
|
1
|
+
export {};
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Vpcy1jaGlwLnR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zdWlzL3NyYy9saWIvY29tcG9uZW50cy9zdWlzLWNoaXAvc3Vpcy1jaGlwLnR5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTdWlzQ29sb3IgfSBmcm9tICcuLi8uLi90eXBlcyc7XG5cbmV4cG9ydCB0eXBlIFN1aXNDaGlwQ29sb3IgPSBTdWlzQ29sb3IgfCAnZ3JheScgfCAnZGFyaycgfCAnd2hpdGUnO1xuIl19
|
@@ -0,0 +1,2 @@
|
|
1
|
+
export * from './suis-input-chips.component';
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3N1aXMvc3JjL2xpYi9jb21wb25lbnRzL3N1aXMtaW5wdXQtY2hpcHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyw4QkFBOEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vc3Vpcy1pbnB1dC1jaGlwcy5jb21wb25lbnQnO1xuIl19
|
@@ -0,0 +1,92 @@
|
|
1
|
+
import { ChangeDetectionStrategy, Component, ElementRef, HostListener, Input, ViewChild, forwardRef, } from '@angular/core';
|
2
|
+
import { CommonModule } from '@angular/common';
|
3
|
+
import { FormControl, NG_VALUE_ACCESSOR, ReactiveFormsModule, } from '@angular/forms';
|
4
|
+
import { SuisChipComponent } from '../suis-chip';
|
5
|
+
import { SuisInputTextComponent } from '../suis-input-text';
|
6
|
+
import { SuisInputBase } from '../../classes/suis-input.base';
|
7
|
+
import * as i0 from "@angular/core";
|
8
|
+
import * as i1 from "@angular/common";
|
9
|
+
import * as i2 from "@angular/forms";
|
10
|
+
class SuisInputChipsComponent extends SuisInputBase {
|
11
|
+
constructor() {
|
12
|
+
super(...arguments);
|
13
|
+
/**
|
14
|
+
* Placeholder text displayed in input. By default set to empty string.
|
15
|
+
*/
|
16
|
+
this.placeholder = '';
|
17
|
+
/**
|
18
|
+
* Sets the color pallette of the chips. Type of SuisChipColor. By default set to 'primary'.
|
19
|
+
*/
|
20
|
+
this.chipColor = 'primary';
|
21
|
+
/**
|
22
|
+
* Sets the color of the chips' cross icon. Type of SuisIconColor. By default set to 'white'.
|
23
|
+
*/
|
24
|
+
this.chipIconColor = 'white';
|
25
|
+
/** @internal */
|
26
|
+
this.value = [];
|
27
|
+
/** @internal */
|
28
|
+
this.inputControl = new FormControl('', { nonNullable: true });
|
29
|
+
}
|
30
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
31
|
+
writeValue(obj) {
|
32
|
+
this.value = obj || [];
|
33
|
+
this._onChange(this.value);
|
34
|
+
this.cdRef.markForCheck();
|
35
|
+
}
|
36
|
+
addItem(value) {
|
37
|
+
const values = value.split(',').filter((v) => !!v);
|
38
|
+
this.value = this.value.concat(values);
|
39
|
+
this._onChange(this.value);
|
40
|
+
this.changed.emit(this.value);
|
41
|
+
this.cdRef.markForCheck();
|
42
|
+
}
|
43
|
+
removeItem(value) {
|
44
|
+
this.value = this.value.filter((v) => v !== value);
|
45
|
+
}
|
46
|
+
submitValue() {
|
47
|
+
const inputValue = this.inputControl.value;
|
48
|
+
this.inputControl.reset();
|
49
|
+
this.addItem(inputValue);
|
50
|
+
}
|
51
|
+
onDocumentClick(event) {
|
52
|
+
if (!this.inputEl?.nativeElement.contains(event.target))
|
53
|
+
this.submitValue();
|
54
|
+
}
|
55
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: SuisInputChipsComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
56
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: SuisInputChipsComponent, isStandalone: true, selector: "suis-input-chips", inputs: { placeholder: "placeholder", chipColor: "chipColor", chipIconColor: "chipIconColor" }, host: { listeners: { "document:click": "onDocumentClick($event)" } }, providers: [
|
57
|
+
{
|
58
|
+
provide: NG_VALUE_ACCESSOR,
|
59
|
+
multi: true,
|
60
|
+
useExisting: forwardRef(() => SuisInputChipsComponent),
|
61
|
+
},
|
62
|
+
], viewQueries: [{ propertyName: "inputEl", first: true, predicate: ["input"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"suis-input-chips\">\n <div #input class=\"suis-input-chips__input\">\n <suis-input-text\n [formControl]=\"inputControl\"\n [readonly]=\"readonly\"\n [invalid]=\"invalid\"\n [placeholder]=\"placeholder\"\n (touched)=\"onTouch()\"\n (enterPressed)=\"submitValue()\"\n ></suis-input-text>\n </div>\n <div *ngIf=\"value.length\" class=\"suis-input-chips__chips\">\n <suis-chip\n [removable]=\"readonly ? false : true\"\n [color]=\"chipColor\"\n [iconColor]=\"chipIconColor\"\n (remove)=\"removeItem(item)\"\n *ngFor=\"let item of value\"\n >\n {{ item }}\n </suis-chip>\n </div>\n</div>\n", styles: [".suis-input-chips__chips{margin-top:.375rem;display:flex;flex-wrap:wrap}.suis-input-chips__chips suis-chip:not(:last-child){margin-right:.25rem}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { 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: SuisChipComponent, selector: "suis-chip", inputs: ["color", "iconColor", "removable"], outputs: ["remove"] }, { kind: "component", type: SuisInputTextComponent, selector: "suis-input-text", inputs: ["type", "placeholder"], outputs: ["enterPressed"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
63
|
+
}
|
64
|
+
export { SuisInputChipsComponent };
|
65
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: SuisInputChipsComponent, decorators: [{
|
66
|
+
type: Component,
|
67
|
+
args: [{ selector: 'suis-input-chips', standalone: true, imports: [
|
68
|
+
CommonModule,
|
69
|
+
ReactiveFormsModule,
|
70
|
+
SuisChipComponent,
|
71
|
+
SuisInputTextComponent,
|
72
|
+
], changeDetection: ChangeDetectionStrategy.OnPush, providers: [
|
73
|
+
{
|
74
|
+
provide: NG_VALUE_ACCESSOR,
|
75
|
+
multi: true,
|
76
|
+
useExisting: forwardRef(() => SuisInputChipsComponent),
|
77
|
+
},
|
78
|
+
], template: "<div class=\"suis-input-chips\">\n <div #input class=\"suis-input-chips__input\">\n <suis-input-text\n [formControl]=\"inputControl\"\n [readonly]=\"readonly\"\n [invalid]=\"invalid\"\n [placeholder]=\"placeholder\"\n (touched)=\"onTouch()\"\n (enterPressed)=\"submitValue()\"\n ></suis-input-text>\n </div>\n <div *ngIf=\"value.length\" class=\"suis-input-chips__chips\">\n <suis-chip\n [removable]=\"readonly ? false : true\"\n [color]=\"chipColor\"\n [iconColor]=\"chipIconColor\"\n (remove)=\"removeItem(item)\"\n *ngFor=\"let item of value\"\n >\n {{ item }}\n </suis-chip>\n </div>\n</div>\n", styles: [".suis-input-chips__chips{margin-top:.375rem;display:flex;flex-wrap:wrap}.suis-input-chips__chips suis-chip:not(:last-child){margin-right:.25rem}\n"] }]
|
79
|
+
}], propDecorators: { inputEl: [{
|
80
|
+
type: ViewChild,
|
81
|
+
args: ['input']
|
82
|
+
}], placeholder: [{
|
83
|
+
type: Input
|
84
|
+
}], chipColor: [{
|
85
|
+
type: Input
|
86
|
+
}], chipIconColor: [{
|
87
|
+
type: Input
|
88
|
+
}], onDocumentClick: [{
|
89
|
+
type: HostListener,
|
90
|
+
args: ['document:click', ['$event']]
|
91
|
+
}] } });
|
92
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Vpcy1pbnB1dC1jaGlwcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3N1aXMvc3JjL2xpYi9jb21wb25lbnRzL3N1aXMtaW5wdXQtY2hpcHMvc3Vpcy1pbnB1dC1jaGlwcy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3N1aXMvc3JjL2xpYi9jb21wb25lbnRzL3N1aXMtaW5wdXQtY2hpcHMvc3Vpcy1pbnB1dC1jaGlwcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLEtBQUssRUFDTCxTQUFTLEVBQ1QsVUFBVSxHQUNYLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQ0wsV0FBVyxFQUNYLGlCQUFpQixFQUNqQixtQkFBbUIsR0FDcEIsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQWlCLGlCQUFpQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzVELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7OztBQUc5RCxNQW9CYSx1QkFBd0IsU0FBUSxhQUFhO0lBcEIxRDs7UUF3QkU7O1dBRUc7UUFDTSxnQkFBVyxHQUFXLEVBQUUsQ0FBQztRQUVsQzs7V0FFRztRQUNNLGNBQVMsR0FBa0IsU0FBUyxDQUFDO1FBRTlDOztXQUVHO1FBQ00sa0JBQWEsR0FBa0IsT0FBTyxDQUFDO1FBRWhELGdCQUFnQjtRQUNoQixVQUFLLEdBQWEsRUFBRSxDQUFDO1FBRXJCLGdCQUFnQjtRQUNoQixpQkFBWSxHQUFHLElBQUksV0FBVyxDQUFTLEVBQUUsRUFBRSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0tBK0JuRTtJQTdCQyw4REFBOEQ7SUFDOUQsVUFBVSxDQUFDLEdBQWE7UUFDdEIsSUFBSSxDQUFDLEtBQUssR0FBRyxHQUFHLElBQUksRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNCLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVELE9BQU8sQ0FBQyxLQUFhO1FBQ25CLE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDbkQsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN2QyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMzQixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDOUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRUQsVUFBVSxDQUFDLEtBQWE7UUFDdEIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLLEtBQUssQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFFRCxXQUFXO1FBQ1QsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUM7UUFDM0MsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUMxQixJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQzNCLENBQUM7SUFHRCxlQUFlLENBQUMsS0FBWTtRQUMxQixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxhQUFhLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUM7WUFBRSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDOUUsQ0FBQzs4R0FyRFUsdUJBQXVCO2tHQUF2Qix1QkFBdUIscU9BUnZCO1lBQ1Q7Z0JBQ0UsT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsS0FBSyxFQUFFLElBQUk7Z0JBQ1gsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQzthQUN2RDtTQUNGLG1KQ3RDSCxzcUJBdUJBLDJNRENJLFlBQVksK1BBQ1osbUJBQW1CLDBUQUNuQixpQkFBaUIsd0hBQ2pCLHNCQUFzQjs7U0FhYix1QkFBdUI7MkZBQXZCLHVCQUF1QjtrQkFwQm5DLFNBQVM7K0JBQ0Usa0JBQWtCLGNBQ2hCLElBQUksV0FDUDt3QkFDUCxZQUFZO3dCQUNaLG1CQUFtQjt3QkFDbkIsaUJBQWlCO3dCQUNqQixzQkFBc0I7cUJBQ3ZCLG1CQUdnQix1QkFBdUIsQ0FBQyxNQUFNLGFBQ3BDO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLEtBQUssRUFBRSxJQUFJOzRCQUNYLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLHdCQUF3QixDQUFDO3lCQUN2RDtxQkFDRjs4QkFJbUIsT0FBTztzQkFBMUIsU0FBUzt1QkFBQyxPQUFPO2dCQUtULFdBQVc7c0JBQW5CLEtBQUs7Z0JBS0csU0FBUztzQkFBakIsS0FBSztnQkFLRyxhQUFhO3NCQUFyQixLQUFLO2dCQWtDTixlQUFlO3NCQURkLFlBQVk7dUJBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBIb3N0TGlzdGVuZXIsXG4gIElucHV0LFxuICBWaWV3Q2hpbGQsXG4gIGZvcndhcmRSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIEZvcm1Db250cm9sLFxuICBOR19WQUxVRV9BQ0NFU1NPUixcbiAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgU3Vpc0NoaXBDb2xvciwgU3Vpc0NoaXBDb21wb25lbnQgfSBmcm9tICcuLi9zdWlzLWNoaXAnO1xuaW1wb3J0IHsgU3Vpc0lucHV0VGV4dENvbXBvbmVudCB9IGZyb20gJy4uL3N1aXMtaW5wdXQtdGV4dCc7XG5pbXBvcnQgeyBTdWlzSW5wdXRCYXNlIH0gZnJvbSAnLi4vLi4vY2xhc3Nlcy9zdWlzLWlucHV0LmJhc2UnO1xuaW1wb3J0IHsgU3Vpc0ljb25Db2xvciB9IGZyb20gJy4uL3N1aXMtaWNvbic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3N1aXMtaW5wdXQtY2hpcHMnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgU3Vpc0NoaXBDb21wb25lbnQsXG4gICAgU3Vpc0lucHV0VGV4dENvbXBvbmVudCxcbiAgXSxcbiAgdGVtcGxhdGVVcmw6ICcuL3N1aXMtaW5wdXQtY2hpcHMuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zdWlzLWlucHV0LWNoaXBzLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gU3Vpc0lucHV0Q2hpcHNDb21wb25lbnQpLFxuICAgIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFN1aXNJbnB1dENoaXBzQ29tcG9uZW50IGV4dGVuZHMgU3Vpc0lucHV0QmFzZSB7XG4gIC8qKiBAaW50ZXJuYWwgKi9cbiAgQFZpZXdDaGlsZCgnaW5wdXQnKSBpbnB1dEVsPzogRWxlbWVudFJlZjtcblxuICAvKipcbiAgICogUGxhY2Vob2xkZXIgdGV4dCBkaXNwbGF5ZWQgaW4gaW5wdXQuIEJ5IGRlZmF1bHQgc2V0IHRvIGVtcHR5IHN0cmluZy5cbiAgICovXG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyOiBzdHJpbmcgPSAnJztcblxuICAvKipcbiAgICogU2V0cyB0aGUgY29sb3IgcGFsbGV0dGUgb2YgdGhlIGNoaXBzLiBUeXBlIG9mIFN1aXNDaGlwQ29sb3IuIEJ5IGRlZmF1bHQgc2V0IHRvICdwcmltYXJ5Jy5cbiAgICovXG4gIEBJbnB1dCgpIGNoaXBDb2xvcjogU3Vpc0NoaXBDb2xvciA9ICdwcmltYXJ5JztcblxuICAvKipcbiAgICogU2V0cyB0aGUgY29sb3Igb2YgdGhlIGNoaXBzJyBjcm9zcyBpY29uLiBUeXBlIG9mIFN1aXNJY29uQ29sb3IuIEJ5IGRlZmF1bHQgc2V0IHRvICd3aGl0ZScuXG4gICAqL1xuICBASW5wdXQoKSBjaGlwSWNvbkNvbG9yOiBTdWlzSWNvbkNvbG9yID0gJ3doaXRlJztcblxuICAvKiogQGludGVybmFsICovXG4gIHZhbHVlOiBzdHJpbmdbXSA9IFtdO1xuXG4gIC8qKiBAaW50ZXJuYWwgKi9cbiAgaW5wdXRDb250cm9sID0gbmV3IEZvcm1Db250cm9sPHN0cmluZz4oJycsIHsgbm9uTnVsbGFibGU6IHRydWUgfSk7XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgd3JpdGVWYWx1ZShvYmo6IHN0cmluZ1tdKTogdm9pZCB7XG4gICAgdGhpcy52YWx1ZSA9IG9iaiB8fCBbXTtcbiAgICB0aGlzLl9vbkNoYW5nZSh0aGlzLnZhbHVlKTtcbiAgICB0aGlzLmNkUmVmLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgYWRkSXRlbSh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgY29uc3QgdmFsdWVzID0gdmFsdWUuc3BsaXQoJywnKS5maWx0ZXIoKHYpID0+ICEhdik7XG4gICAgdGhpcy52YWx1ZSA9IHRoaXMudmFsdWUuY29uY2F0KHZhbHVlcyk7XG4gICAgdGhpcy5fb25DaGFuZ2UodGhpcy52YWx1ZSk7XG4gICAgdGhpcy5jaGFuZ2VkLmVtaXQodGhpcy52YWx1ZSk7XG4gICAgdGhpcy5jZFJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHJlbW92ZUl0ZW0odmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMudmFsdWUgPSB0aGlzLnZhbHVlLmZpbHRlcigodikgPT4gdiAhPT0gdmFsdWUpO1xuICB9XG5cbiAgc3VibWl0VmFsdWUoKSB7XG4gICAgY29uc3QgaW5wdXRWYWx1ZSA9IHRoaXMuaW5wdXRDb250cm9sLnZhbHVlO1xuICAgIHRoaXMuaW5wdXRDb250cm9sLnJlc2V0KCk7XG4gICAgdGhpcy5hZGRJdGVtKGlucHV0VmFsdWUpO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6Y2xpY2snLCBbJyRldmVudCddKVxuICBvbkRvY3VtZW50Q2xpY2soZXZlbnQ6IEV2ZW50KSB7XG4gICAgaWYgKCF0aGlzLmlucHV0RWw/Lm5hdGl2ZUVsZW1lbnQuY29udGFpbnMoZXZlbnQudGFyZ2V0KSkgdGhpcy5zdWJtaXRWYWx1ZSgpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwic3Vpcy1pbnB1dC1jaGlwc1wiPlxuICA8ZGl2ICNpbnB1dCBjbGFzcz1cInN1aXMtaW5wdXQtY2hpcHNfX2lucHV0XCI+XG4gICAgPHN1aXMtaW5wdXQtdGV4dFxuICAgICAgW2Zvcm1Db250cm9sXT1cImlucHV0Q29udHJvbFwiXG4gICAgICBbcmVhZG9ubHldPVwicmVhZG9ubHlcIlxuICAgICAgW2ludmFsaWRdPVwiaW52YWxpZFwiXG4gICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxuICAgICAgKHRvdWNoZWQpPVwib25Ub3VjaCgpXCJcbiAgICAgIChlbnRlclByZXNzZWQpPVwic3VibWl0VmFsdWUoKVwiXG4gICAgPjwvc3Vpcy1pbnB1dC10ZXh0PlxuICA8L2Rpdj5cbiAgPGRpdiAqbmdJZj1cInZhbHVlLmxlbmd0aFwiIGNsYXNzPVwic3Vpcy1pbnB1dC1jaGlwc19fY2hpcHNcIj5cbiAgICA8c3Vpcy1jaGlwXG4gICAgICBbcmVtb3ZhYmxlXT1cInJlYWRvbmx5ID8gZmFsc2UgOiB0cnVlXCJcbiAgICAgIFtjb2xvcl09XCJjaGlwQ29sb3JcIlxuICAgICAgW2ljb25Db2xvcl09XCJjaGlwSWNvbkNvbG9yXCJcbiAgICAgIChyZW1vdmUpPVwicmVtb3ZlSXRlbShpdGVtKVwiXG4gICAgICAqbmdGb3I9XCJsZXQgaXRlbSBvZiB2YWx1ZVwiXG4gICAgPlxuICAgICAge3sgaXRlbSB9fVxuICAgIDwvc3Vpcy1jaGlwPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
|
@@ -1,10 +1,11 @@
|
|
1
|
-
import { ChangeDetectionStrategy,
|
1
|
+
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, forwardRef, } from '@angular/core';
|
2
2
|
import { CommonModule } from '@angular/common';
|
3
3
|
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
4
|
+
import { SuisInputBase } from '../../classes/suis-input.base';
|
4
5
|
import * as i0 from "@angular/core";
|
5
|
-
class SuisInputTextComponent {
|
6
|
+
class SuisInputTextComponent extends SuisInputBase {
|
6
7
|
constructor() {
|
7
|
-
|
8
|
+
super(...arguments);
|
8
9
|
/**
|
9
10
|
* Sets input's type to one of the accepted values - 'text' or 'password'. By default set to 'text'.
|
10
11
|
*/
|
@@ -14,29 +15,11 @@ class SuisInputTextComponent {
|
|
14
15
|
*/
|
15
16
|
this.placeholder = '';
|
16
17
|
/**
|
17
|
-
*
|
18
|
+
* Emits on keydown enter input event.
|
18
19
|
*/
|
19
|
-
this.
|
20
|
-
/**
|
21
|
-
* Adds invalid styling to the input. By default set to false.
|
22
|
-
*/
|
23
|
-
this.invalid = false;
|
20
|
+
this.enterPressed = new EventEmitter();
|
24
21
|
/** @internal */
|
25
22
|
this.value = '';
|
26
|
-
// eslint-disable-next-line @typescript-eslint/no-empty-function, @typescript-eslint/no-unused-vars
|
27
|
-
this._onChange = (value) => { };
|
28
|
-
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
29
|
-
this._onTouched = () => { };
|
30
|
-
}
|
31
|
-
onChange(event) {
|
32
|
-
const target = event.target;
|
33
|
-
this.value = target.value;
|
34
|
-
this._onChange(this.value);
|
35
|
-
this.cdRef.markForCheck();
|
36
|
-
}
|
37
|
-
onTouch() {
|
38
|
-
this._onTouched();
|
39
|
-
this.cdRef.markForCheck();
|
40
23
|
}
|
41
24
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
42
25
|
writeValue(obj) {
|
@@ -44,22 +27,24 @@ class SuisInputTextComponent {
|
|
44
27
|
this._onChange(this.value);
|
45
28
|
this.cdRef.markForCheck();
|
46
29
|
}
|
47
|
-
|
48
|
-
|
49
|
-
this.
|
30
|
+
onChange(event) {
|
31
|
+
const target = event.target;
|
32
|
+
this.value = target.value;
|
33
|
+
this._onChange(this.value);
|
34
|
+
this.changed.emit(this.value);
|
35
|
+
this.cdRef.markForCheck();
|
50
36
|
}
|
51
|
-
|
52
|
-
|
53
|
-
this._onTouched = fn;
|
37
|
+
onEnter() {
|
38
|
+
this.enterPressed.emit();
|
54
39
|
}
|
55
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: SuisInputTextComponent, deps:
|
56
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: SuisInputTextComponent, isStandalone: true, selector: "suis-input-text", inputs: { type: "type", placeholder: "placeholder",
|
40
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: SuisInputTextComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
41
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: SuisInputTextComponent, isStandalone: true, selector: "suis-input-text", inputs: { type: "type", placeholder: "placeholder" }, outputs: { enterPressed: "enterPressed" }, providers: [
|
57
42
|
{
|
58
43
|
provide: NG_VALUE_ACCESSOR,
|
59
44
|
multi: true,
|
60
45
|
useExisting: forwardRef(() => SuisInputTextComponent),
|
61
46
|
},
|
62
|
-
], ngImport: i0, template: "<input\n class=\"suis-input\"\n [class.suis-input--invalid]=\"invalid\"\n [type]=\"type\"\n [value]=\"value\"\n [placeholder]=\"placeholder\"\n [disabled]=\"readonly\"\n (input)=\"onChange($event)\"\n (focus)=\"onTouch()\"\n/>\n", styles: ["*{margin:0;padding:0;box-sizing:border-box}.suis-input{background-color:#fff;box-shadow:0 2px 5px #00000080;border-radius:.25rem;padding:.5rem 1rem;border:0;width:100%}.suis-input:focus{box-shadow:0 2px 5px #192a56bf;outline:none}.suis-input--invalid{box-shadow:0 2px 5px #ff4757bf}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
47
|
+
], usesInheritance: true, ngImport: i0, template: "<input\n class=\"suis-input\"\n [class.suis-input--invalid]=\"invalid\"\n [type]=\"type\"\n [value]=\"value\"\n [placeholder]=\"placeholder\"\n [disabled]=\"readonly\"\n (input)=\"onChange($event)\"\n (focus)=\"onTouch()\"\n (keydown.enter)=\"onEnter()\"\n/>\n", styles: ["*{margin:0;padding:0;box-sizing:border-box}.suis-input{background-color:#fff;box-shadow:0 2px 5px #00000080;border-radius:.25rem;padding:.5rem 1rem;border:0;width:100%}.suis-input:focus{box-shadow:0 2px 5px #192a56bf;outline:none}.suis-input--invalid{box-shadow:0 2px 5px #ff4757bf}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
63
48
|
}
|
64
49
|
export { SuisInputTextComponent };
|
65
50
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: SuisInputTextComponent, decorators: [{
|
@@ -70,14 +55,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImpor
|
|
70
55
|
multi: true,
|
71
56
|
useExisting: forwardRef(() => SuisInputTextComponent),
|
72
57
|
},
|
73
|
-
], template: "<input\n class=\"suis-input\"\n [class.suis-input--invalid]=\"invalid\"\n [type]=\"type\"\n [value]=\"value\"\n [placeholder]=\"placeholder\"\n [disabled]=\"readonly\"\n (input)=\"onChange($event)\"\n (focus)=\"onTouch()\"\n/>\n", styles: ["*{margin:0;padding:0;box-sizing:border-box}.suis-input{background-color:#fff;box-shadow:0 2px 5px #00000080;border-radius:.25rem;padding:.5rem 1rem;border:0;width:100%}.suis-input:focus{box-shadow:0 2px 5px #192a56bf;outline:none}.suis-input--invalid{box-shadow:0 2px 5px #ff4757bf}\n"] }]
|
58
|
+
], template: "<input\n class=\"suis-input\"\n [class.suis-input--invalid]=\"invalid\"\n [type]=\"type\"\n [value]=\"value\"\n [placeholder]=\"placeholder\"\n [disabled]=\"readonly\"\n (input)=\"onChange($event)\"\n (focus)=\"onTouch()\"\n (keydown.enter)=\"onEnter()\"\n/>\n", styles: ["*{margin:0;padding:0;box-sizing:border-box}.suis-input{background-color:#fff;box-shadow:0 2px 5px #00000080;border-radius:.25rem;padding:.5rem 1rem;border:0;width:100%}.suis-input:focus{box-shadow:0 2px 5px #192a56bf;outline:none}.suis-input--invalid{box-shadow:0 2px 5px #ff4757bf}\n"] }]
|
74
59
|
}], propDecorators: { type: [{
|
75
60
|
type: Input
|
76
61
|
}], placeholder: [{
|
77
62
|
type: Input
|
78
|
-
}],
|
79
|
-
type:
|
80
|
-
}], invalid: [{
|
81
|
-
type: Input
|
63
|
+
}], enterPressed: [{
|
64
|
+
type: Output
|
82
65
|
}] } });
|
83
|
-
//# sourceMappingURL=data:application/json;base64,
|
66
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Vpcy1pbnB1dC10ZXh0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc3Vpcy9zcmMvbGliL2NvbXBvbmVudHMvc3Vpcy1pbnB1dC10ZXh0L3N1aXMtaW5wdXQtdGV4dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3N1aXMvc3JjL2xpYi9jb21wb25lbnRzL3N1aXMtaW5wdXQtdGV4dC9zdWlzLWlucHV0LXRleHQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBQ04sVUFBVSxHQUNYLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVuRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sK0JBQStCLENBQUM7O0FBRTlELE1BZWEsc0JBQXVCLFNBQVEsYUFBYTtJQWZ6RDs7UUFnQkU7O1dBRUc7UUFDTSxTQUFJLEdBQXNCLE1BQU0sQ0FBQztRQUUxQzs7V0FFRztRQUNNLGdCQUFXLEdBQVcsRUFBRSxDQUFDO1FBRWxDOztXQUVHO1FBQ08saUJBQVksR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBRWxELGdCQUFnQjtRQUNoQixVQUFLLEdBQVcsRUFBRSxDQUFDO0tBb0JwQjtJQWxCQyw4REFBOEQ7SUFDOUQsVUFBVSxDQUFDLEdBQVc7UUFDcEIsSUFBSSxDQUFDLEtBQUssR0FBRyxHQUFHLENBQUM7UUFDakIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDM0IsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRUQsUUFBUSxDQUFDLEtBQVk7UUFDbkIsTUFBTSxNQUFNLEdBQUcsS0FBSyxDQUFDLE1BQTBCLENBQUM7UUFDaEQsSUFBSSxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDO1FBQzFCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM5QixJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFRCxPQUFPO1FBQ0wsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUMzQixDQUFDOzhHQXBDVSxzQkFBc0I7a0dBQXRCLHNCQUFzQiwrSkFSdEI7WUFDVDtnQkFDRSxPQUFPLEVBQUUsaUJBQWlCO2dCQUMxQixLQUFLLEVBQUUsSUFBSTtnQkFDWCxXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHNCQUFzQixDQUFDO2FBQ3REO1NBQ0YsaURDMUJILCtRQVdBLHFWREtZLFlBQVk7O1NBWVgsc0JBQXNCOzJGQUF0QixzQkFBc0I7a0JBZmxDLFNBQVM7K0JBQ0UsaUJBQWlCLGNBQ2YsSUFBSSxXQUNQLENBQUMsWUFBWSxDQUFDLG1CQUdOLHVCQUF1QixDQUFDLE1BQU0sYUFDcEM7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsS0FBSyxFQUFFLElBQUk7NEJBQ1gsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsdUJBQXVCLENBQUM7eUJBQ3REO3FCQUNGOzhCQU1RLElBQUk7c0JBQVosS0FBSztnQkFLRyxXQUFXO3NCQUFuQixLQUFLO2dCQUtJLFlBQVk7c0JBQXJCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIGZvcndhcmRSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgU3Vpc0lucHV0VGV4dFR5cGUgfSBmcm9tICcuL3N1aXMtaW5wdXQtdGV4dC50eXBlcyc7XG5pbXBvcnQgeyBTdWlzSW5wdXRCYXNlIH0gZnJvbSAnLi4vLi4vY2xhc3Nlcy9zdWlzLWlucHV0LmJhc2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzdWlzLWlucHV0LXRleHQnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbiAgdGVtcGxhdGVVcmw6ICcuL3N1aXMtaW5wdXQtdGV4dC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3N1aXMtaW5wdXQtdGV4dC5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFN1aXNJbnB1dFRleHRDb21wb25lbnQpLFxuICAgIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFN1aXNJbnB1dFRleHRDb21wb25lbnQgZXh0ZW5kcyBTdWlzSW5wdXRCYXNlIHtcbiAgLyoqXG4gICAqIFNldHMgaW5wdXQncyB0eXBlIHRvIG9uZSBvZiB0aGUgYWNjZXB0ZWQgdmFsdWVzIC0gJ3RleHQnIG9yICdwYXNzd29yZCcuIEJ5IGRlZmF1bHQgc2V0IHRvICd0ZXh0Jy5cbiAgICovXG4gIEBJbnB1dCgpIHR5cGU6IFN1aXNJbnB1dFRleHRUeXBlID0gJ3RleHQnO1xuXG4gIC8qKlxuICAgKiBQbGFjZWhvbGRlciB0ZXh0IGRpc3BsYXllZCBpbiBpbnB1dC4gQnkgZGVmYXVsdCBzZXQgdG8gZW1wdHkgc3RyaW5nLlxuICAgKi9cbiAgQElucHV0KCkgcGxhY2Vob2xkZXI6IHN0cmluZyA9ICcnO1xuXG4gIC8qKlxuICAgKiBFbWl0cyBvbiBrZXlkb3duIGVudGVyIGlucHV0IGV2ZW50LlxuICAgKi9cbiAgQE91dHB1dCgpIGVudGVyUHJlc3NlZCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAvKiogQGludGVybmFsICovXG4gIHZhbHVlOiBzdHJpbmcgPSAnJztcblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICB3cml0ZVZhbHVlKG9iajogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy52YWx1ZSA9IG9iajtcbiAgICB0aGlzLl9vbkNoYW5nZSh0aGlzLnZhbHVlKTtcbiAgICB0aGlzLmNkUmVmLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgb25DaGFuZ2UoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgY29uc3QgdGFyZ2V0ID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQ7XG4gICAgdGhpcy52YWx1ZSA9IHRhcmdldC52YWx1ZTtcbiAgICB0aGlzLl9vbkNoYW5nZSh0aGlzLnZhbHVlKTtcbiAgICB0aGlzLmNoYW5nZWQuZW1pdCh0aGlzLnZhbHVlKTtcbiAgICB0aGlzLmNkUmVmLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgb25FbnRlcigpOiB2b2lkIHtcbiAgICB0aGlzLmVudGVyUHJlc3NlZC5lbWl0KCk7XG4gIH1cbn1cbiIsIjxpbnB1dFxuICBjbGFzcz1cInN1aXMtaW5wdXRcIlxuICBbY2xhc3Muc3Vpcy1pbnB1dC0taW52YWxpZF09XCJpbnZhbGlkXCJcbiAgW3R5cGVdPVwidHlwZVwiXG4gIFt2YWx1ZV09XCJ2YWx1ZVwiXG4gIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXG4gIFtkaXNhYmxlZF09XCJyZWFkb25seVwiXG4gIChpbnB1dCk9XCJvbkNoYW5nZSgkZXZlbnQpXCJcbiAgKGZvY3VzKT1cIm9uVG91Y2goKVwiXG4gIChrZXlkb3duLmVudGVyKT1cIm9uRW50ZXIoKVwiXG4vPlxuIl19
|
package/fesm2022/suis.mjs
CHANGED
@@ -1,8 +1,9 @@
|
|
1
1
|
import * as i0 from '@angular/core';
|
2
|
-
import { Component, ChangeDetectionStrategy, Input, inject, ElementRef, Renderer2, Directive, ViewEncapsulation, HostListener, Pipe,
|
2
|
+
import { Component, ChangeDetectionStrategy, Input, inject, ElementRef, Renderer2, Directive, ChangeDetectorRef, EventEmitter, Output, ViewEncapsulation, HostListener, Pipe, forwardRef, ViewChild } from '@angular/core';
|
3
3
|
import * as i1 from '@angular/common';
|
4
4
|
import { CommonModule } from '@angular/common';
|
5
|
-
import
|
5
|
+
import * as i2 from '@angular/forms';
|
6
|
+
import { NG_VALUE_ACCESSOR, FormControl, ReactiveFormsModule } from '@angular/forms';
|
6
7
|
|
7
8
|
class SuisBoxComponent {
|
8
9
|
constructor() {
|
@@ -53,6 +54,61 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImpor
|
|
53
54
|
type: Input
|
54
55
|
}] } });
|
55
56
|
|
57
|
+
class SuisInputBase {
|
58
|
+
constructor() {
|
59
|
+
/** @internal */
|
60
|
+
this.cdRef = inject(ChangeDetectorRef);
|
61
|
+
/**
|
62
|
+
* Sets input disabled state. By default set to false.
|
63
|
+
*/
|
64
|
+
this.readonly = false;
|
65
|
+
/**
|
66
|
+
* Adds invalid styling to the input. By default set to false.
|
67
|
+
*/
|
68
|
+
this.invalid = false;
|
69
|
+
/**
|
70
|
+
* Emits on value changed.
|
71
|
+
*/
|
72
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
73
|
+
this.changed = new EventEmitter();
|
74
|
+
/**
|
75
|
+
* Emits on input touched.
|
76
|
+
*/
|
77
|
+
this.touched = new EventEmitter();
|
78
|
+
// eslint-disable-next-line @typescript-eslint/no-empty-function, @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any
|
79
|
+
this._onChange = (value) => { };
|
80
|
+
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
81
|
+
this._onTouched = () => { };
|
82
|
+
}
|
83
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
84
|
+
registerOnChange(fn) {
|
85
|
+
this._onChange = fn;
|
86
|
+
}
|
87
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
88
|
+
registerOnTouched(fn) {
|
89
|
+
this._onTouched = fn;
|
90
|
+
}
|
91
|
+
/** @internal */
|
92
|
+
onTouch() {
|
93
|
+
this._onTouched();
|
94
|
+
this.touched.emit();
|
95
|
+
this.cdRef.markForCheck();
|
96
|
+
}
|
97
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: SuisInputBase, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
98
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.0", type: SuisInputBase, inputs: { readonly: "readonly", invalid: "invalid" }, outputs: { changed: "changed", touched: "touched" }, ngImport: i0 }); }
|
99
|
+
}
|
100
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: SuisInputBase, decorators: [{
|
101
|
+
type: Directive
|
102
|
+
}], propDecorators: { readonly: [{
|
103
|
+
type: Input
|
104
|
+
}], invalid: [{
|
105
|
+
type: Input
|
106
|
+
}], changed: [{
|
107
|
+
type: Output
|
108
|
+
}], touched: [{
|
109
|
+
type: Output
|
110
|
+
}] } });
|
111
|
+
|
56
112
|
class SuisButtonComponent extends SuisButtonBase {
|
57
113
|
ngAfterViewInit() {
|
58
114
|
this.renderer2.addClass(this.elementRef.nativeElement, 'suis-button');
|
@@ -107,25 +163,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImpor
|
|
107
163
|
args: ['click']
|
108
164
|
}] } });
|
109
165
|
|
110
|
-
class SuisFormFieldComponent {
|
111
|
-
constructor() {
|
112
|
-
/**
|
113
|
-
* Adds a bottom margin below the field. By default set to false.
|
114
|
-
*/
|
115
|
-
this.spacing = false;
|
116
|
-
}
|
117
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: SuisFormFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
118
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: SuisFormFieldComponent, isStandalone: true, selector: "suis-form-field", inputs: { errorTemplate: "errorTemplate", spacing: "spacing" }, ngImport: i0, template: "<div class=\"suis-form-field\" [class.suis-form-field--spacing]=\"spacing\">\n <ng-content></ng-content>\n <div *ngIf=\"errorTemplate\" class=\"suis-form-field__error\">\n <ng-container [ngTemplateOutlet]=\"errorTemplate\"></ng-container>\n </div>\n</div>\n", styles: ["*{margin:0;padding:0;box-sizing:border-box}.suis-form-field{width:100%}.suis-form-field__error{color:#ff4757;margin-top:.25rem;font-size:.75rem}.suis-form-field--spacing{margin-bottom:.75rem}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
119
|
-
}
|
120
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: SuisFormFieldComponent, decorators: [{
|
121
|
-
type: Component,
|
122
|
-
args: [{ selector: 'suis-form-field', standalone: true, imports: [CommonModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"suis-form-field\" [class.suis-form-field--spacing]=\"spacing\">\n <ng-content></ng-content>\n <div *ngIf=\"errorTemplate\" class=\"suis-form-field__error\">\n <ng-container [ngTemplateOutlet]=\"errorTemplate\"></ng-container>\n </div>\n</div>\n", styles: ["*{margin:0;padding:0;box-sizing:border-box}.suis-form-field{width:100%}.suis-form-field__error{color:#ff4757;margin-top:.25rem;font-size:.75rem}.suis-form-field--spacing{margin-bottom:.75rem}\n"] }]
|
123
|
-
}], propDecorators: { errorTemplate: [{
|
124
|
-
type: Input
|
125
|
-
}], spacing: [{
|
126
|
-
type: Input
|
127
|
-
}] } });
|
128
|
-
|
129
166
|
var SuisIconType;
|
130
167
|
(function (SuisIconType) {
|
131
168
|
SuisIconType["INFO"] = "info";
|
@@ -242,9 +279,69 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImpor
|
|
242
279
|
type: Input
|
243
280
|
}] } });
|
244
281
|
|
245
|
-
class
|
282
|
+
class SuisChipComponent {
|
246
283
|
constructor() {
|
247
|
-
|
284
|
+
/** @internal */
|
285
|
+
this.SuisIconType = SuisIconType;
|
286
|
+
/**
|
287
|
+
* Sets the color pallette of the chip. Type of SuisChipColor. By default set to 'primary'.
|
288
|
+
*/
|
289
|
+
this.color = 'primary';
|
290
|
+
/**
|
291
|
+
* Sets the color of the cross icon. Visible only if removable set to true. Type of SuisIconColor. By default set to 'white'.
|
292
|
+
*/
|
293
|
+
this.iconColor = 'white';
|
294
|
+
/**
|
295
|
+
* Shows cross icon with remove action. By default set to false.
|
296
|
+
*/
|
297
|
+
this.removable = false;
|
298
|
+
/**
|
299
|
+
* Emits on cross icon click.
|
300
|
+
*/
|
301
|
+
this.remove = new EventEmitter();
|
302
|
+
}
|
303
|
+
/** @internal */
|
304
|
+
onRemove() {
|
305
|
+
this.remove.emit();
|
306
|
+
}
|
307
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: SuisChipComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
308
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: SuisChipComponent, isStandalone: true, selector: "suis-chip", inputs: { color: "color", iconColor: "iconColor", removable: "removable" }, outputs: { remove: "remove" }, ngImport: i0, template: "<div class=\"suis-chip\" [ngClass]=\"'suis-chip' | suisNgClass : color\">\n <ng-content></ng-content>\n <button\n *ngIf=\"removable\"\n class=\"suis-chip__remove\"\n type=\"button\"\n (click)=\"onRemove()\"\n >\n <suis-icon\n [color]=\"iconColor\"\n [type]=\"SuisIconType.CROSS\"\n [pointer]=\"true\"\n [size]=\"'lg'\"\n ></suis-icon>\n </button>\n</div>\n", styles: ["*{margin:0;padding:0;box-sizing:border-box}.suis-chip{display:flex;align-items:center;justify-content:center;width:-moz-fit-content;width:fit-content;border-radius:1rem;font-size:.875rem;padding:.25rem .5rem;color:#fff}.suis-chip__remove{border:none;background-color:transparent}.suis-chip--primary{background-color:#192a56}.suis-chip--secondary{background-color:#273c75}.suis-chip--tertiary{background-color:#dcdde1;color:#2f3640}.suis-chip--complementary{background-color:#f5f6fa;color:#2f3640}.suis-chip--success{background-color:#2ed573}.suis-chip--warning{background-color:#ffa502}.suis-chip--danger{background-color:#ff4757}.suis-chip--gray{background-color:#bcbcbc}.suis-chip--white{background-color:#fff;color:#2f3640}.suis-chip--dark{background-color:#000}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: SuisIconComponent, selector: "suis-icon", inputs: ["size", "color", "type", "outlined", "filled", "pointer"] }, { kind: "pipe", type: SuisNgClassPipe, name: "suisNgClass" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
309
|
+
}
|
310
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: SuisChipComponent, decorators: [{
|
311
|
+
type: Component,
|
312
|
+
args: [{ selector: 'suis-chip', standalone: true, imports: [CommonModule, SuisIconComponent, SuisNgClassPipe], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"suis-chip\" [ngClass]=\"'suis-chip' | suisNgClass : color\">\n <ng-content></ng-content>\n <button\n *ngIf=\"removable\"\n class=\"suis-chip__remove\"\n type=\"button\"\n (click)=\"onRemove()\"\n >\n <suis-icon\n [color]=\"iconColor\"\n [type]=\"SuisIconType.CROSS\"\n [pointer]=\"true\"\n [size]=\"'lg'\"\n ></suis-icon>\n </button>\n</div>\n", styles: ["*{margin:0;padding:0;box-sizing:border-box}.suis-chip{display:flex;align-items:center;justify-content:center;width:-moz-fit-content;width:fit-content;border-radius:1rem;font-size:.875rem;padding:.25rem .5rem;color:#fff}.suis-chip__remove{border:none;background-color:transparent}.suis-chip--primary{background-color:#192a56}.suis-chip--secondary{background-color:#273c75}.suis-chip--tertiary{background-color:#dcdde1;color:#2f3640}.suis-chip--complementary{background-color:#f5f6fa;color:#2f3640}.suis-chip--success{background-color:#2ed573}.suis-chip--warning{background-color:#ffa502}.suis-chip--danger{background-color:#ff4757}.suis-chip--gray{background-color:#bcbcbc}.suis-chip--white{background-color:#fff;color:#2f3640}.suis-chip--dark{background-color:#000}\n"] }]
|
313
|
+
}], propDecorators: { color: [{
|
314
|
+
type: Input
|
315
|
+
}], iconColor: [{
|
316
|
+
type: Input
|
317
|
+
}], removable: [{
|
318
|
+
type: Input
|
319
|
+
}], remove: [{
|
320
|
+
type: Output
|
321
|
+
}] } });
|
322
|
+
|
323
|
+
class SuisFormFieldComponent {
|
324
|
+
constructor() {
|
325
|
+
/**
|
326
|
+
* Adds a bottom margin below the field. By default set to false.
|
327
|
+
*/
|
328
|
+
this.spacing = false;
|
329
|
+
}
|
330
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: SuisFormFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
331
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: SuisFormFieldComponent, isStandalone: true, selector: "suis-form-field", inputs: { errorTemplate: "errorTemplate", spacing: "spacing" }, ngImport: i0, template: "<div class=\"suis-form-field\" [class.suis-form-field--spacing]=\"spacing\">\n <ng-content></ng-content>\n <div *ngIf=\"errorTemplate\" class=\"suis-form-field__error\">\n <ng-container [ngTemplateOutlet]=\"errorTemplate\"></ng-container>\n </div>\n</div>\n", styles: ["*{margin:0;padding:0;box-sizing:border-box}.suis-form-field{width:100%}.suis-form-field__error{color:#ff4757;margin-top:.25rem;font-size:.75rem}.suis-form-field--spacing{margin-bottom:.75rem}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
332
|
+
}
|
333
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: SuisFormFieldComponent, decorators: [{
|
334
|
+
type: Component,
|
335
|
+
args: [{ selector: 'suis-form-field', standalone: true, imports: [CommonModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"suis-form-field\" [class.suis-form-field--spacing]=\"spacing\">\n <ng-content></ng-content>\n <div *ngIf=\"errorTemplate\" class=\"suis-form-field__error\">\n <ng-container [ngTemplateOutlet]=\"errorTemplate\"></ng-container>\n </div>\n</div>\n", styles: ["*{margin:0;padding:0;box-sizing:border-box}.suis-form-field{width:100%}.suis-form-field__error{color:#ff4757;margin-top:.25rem;font-size:.75rem}.suis-form-field--spacing{margin-bottom:.75rem}\n"] }]
|
336
|
+
}], propDecorators: { errorTemplate: [{
|
337
|
+
type: Input
|
338
|
+
}], spacing: [{
|
339
|
+
type: Input
|
340
|
+
}] } });
|
341
|
+
|
342
|
+
class SuisInputTextComponent extends SuisInputBase {
|
343
|
+
constructor() {
|
344
|
+
super(...arguments);
|
248
345
|
/**
|
249
346
|
* Sets input's type to one of the accepted values - 'text' or 'password'. By default set to 'text'.
|
250
347
|
*/
|
@@ -254,29 +351,11 @@ class SuisInputTextComponent {
|
|
254
351
|
*/
|
255
352
|
this.placeholder = '';
|
256
353
|
/**
|
257
|
-
*
|
258
|
-
*/
|
259
|
-
this.readonly = false;
|
260
|
-
/**
|
261
|
-
* Adds invalid styling to the input. By default set to false.
|
354
|
+
* Emits on keydown enter input event.
|
262
355
|
*/
|
263
|
-
this.
|
356
|
+
this.enterPressed = new EventEmitter();
|
264
357
|
/** @internal */
|
265
358
|
this.value = '';
|
266
|
-
// eslint-disable-next-line @typescript-eslint/no-empty-function, @typescript-eslint/no-unused-vars
|
267
|
-
this._onChange = (value) => { };
|
268
|
-
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
269
|
-
this._onTouched = () => { };
|
270
|
-
}
|
271
|
-
onChange(event) {
|
272
|
-
const target = event.target;
|
273
|
-
this.value = target.value;
|
274
|
-
this._onChange(this.value);
|
275
|
-
this.cdRef.markForCheck();
|
276
|
-
}
|
277
|
-
onTouch() {
|
278
|
-
this._onTouched();
|
279
|
-
this.cdRef.markForCheck();
|
280
359
|
}
|
281
360
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
282
361
|
writeValue(obj) {
|
@@ -284,22 +363,24 @@ class SuisInputTextComponent {
|
|
284
363
|
this._onChange(this.value);
|
285
364
|
this.cdRef.markForCheck();
|
286
365
|
}
|
287
|
-
|
288
|
-
|
289
|
-
this.
|
366
|
+
onChange(event) {
|
367
|
+
const target = event.target;
|
368
|
+
this.value = target.value;
|
369
|
+
this._onChange(this.value);
|
370
|
+
this.changed.emit(this.value);
|
371
|
+
this.cdRef.markForCheck();
|
290
372
|
}
|
291
|
-
|
292
|
-
|
293
|
-
this._onTouched = fn;
|
373
|
+
onEnter() {
|
374
|
+
this.enterPressed.emit();
|
294
375
|
}
|
295
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: SuisInputTextComponent, deps:
|
296
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: SuisInputTextComponent, isStandalone: true, selector: "suis-input-text", inputs: { type: "type", placeholder: "placeholder",
|
376
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: SuisInputTextComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
377
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: SuisInputTextComponent, isStandalone: true, selector: "suis-input-text", inputs: { type: "type", placeholder: "placeholder" }, outputs: { enterPressed: "enterPressed" }, providers: [
|
297
378
|
{
|
298
379
|
provide: NG_VALUE_ACCESSOR,
|
299
380
|
multi: true,
|
300
381
|
useExisting: forwardRef(() => SuisInputTextComponent),
|
301
382
|
},
|
302
|
-
], ngImport: i0, template: "<input\n class=\"suis-input\"\n [class.suis-input--invalid]=\"invalid\"\n [type]=\"type\"\n [value]=\"value\"\n [placeholder]=\"placeholder\"\n [disabled]=\"readonly\"\n (input)=\"onChange($event)\"\n (focus)=\"onTouch()\"\n/>\n", styles: ["*{margin:0;padding:0;box-sizing:border-box}.suis-input{background-color:#fff;box-shadow:0 2px 5px #00000080;border-radius:.25rem;padding:.5rem 1rem;border:0;width:100%}.suis-input:focus{box-shadow:0 2px 5px #192a56bf;outline:none}.suis-input--invalid{box-shadow:0 2px 5px #ff4757bf}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
383
|
+
], usesInheritance: true, ngImport: i0, template: "<input\n class=\"suis-input\"\n [class.suis-input--invalid]=\"invalid\"\n [type]=\"type\"\n [value]=\"value\"\n [placeholder]=\"placeholder\"\n [disabled]=\"readonly\"\n (input)=\"onChange($event)\"\n (focus)=\"onTouch()\"\n (keydown.enter)=\"onEnter()\"\n/>\n", styles: ["*{margin:0;padding:0;box-sizing:border-box}.suis-input{background-color:#fff;box-shadow:0 2px 5px #00000080;border-radius:.25rem;padding:.5rem 1rem;border:0;width:100%}.suis-input:focus{box-shadow:0 2px 5px #192a56bf;outline:none}.suis-input--invalid{box-shadow:0 2px 5px #ff4757bf}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
303
384
|
}
|
304
385
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: SuisInputTextComponent, decorators: [{
|
305
386
|
type: Component,
|
@@ -309,15 +390,95 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImpor
|
|
309
390
|
multi: true,
|
310
391
|
useExisting: forwardRef(() => SuisInputTextComponent),
|
311
392
|
},
|
312
|
-
], template: "<input\n class=\"suis-input\"\n [class.suis-input--invalid]=\"invalid\"\n [type]=\"type\"\n [value]=\"value\"\n [placeholder]=\"placeholder\"\n [disabled]=\"readonly\"\n (input)=\"onChange($event)\"\n (focus)=\"onTouch()\"\n/>\n", styles: ["*{margin:0;padding:0;box-sizing:border-box}.suis-input{background-color:#fff;box-shadow:0 2px 5px #00000080;border-radius:.25rem;padding:.5rem 1rem;border:0;width:100%}.suis-input:focus{box-shadow:0 2px 5px #192a56bf;outline:none}.suis-input--invalid{box-shadow:0 2px 5px #ff4757bf}\n"] }]
|
393
|
+
], template: "<input\n class=\"suis-input\"\n [class.suis-input--invalid]=\"invalid\"\n [type]=\"type\"\n [value]=\"value\"\n [placeholder]=\"placeholder\"\n [disabled]=\"readonly\"\n (input)=\"onChange($event)\"\n (focus)=\"onTouch()\"\n (keydown.enter)=\"onEnter()\"\n/>\n", styles: ["*{margin:0;padding:0;box-sizing:border-box}.suis-input{background-color:#fff;box-shadow:0 2px 5px #00000080;border-radius:.25rem;padding:.5rem 1rem;border:0;width:100%}.suis-input:focus{box-shadow:0 2px 5px #192a56bf;outline:none}.suis-input--invalid{box-shadow:0 2px 5px #ff4757bf}\n"] }]
|
313
394
|
}], propDecorators: { type: [{
|
314
395
|
type: Input
|
315
396
|
}], placeholder: [{
|
316
397
|
type: Input
|
317
|
-
}],
|
398
|
+
}], enterPressed: [{
|
399
|
+
type: Output
|
400
|
+
}] } });
|
401
|
+
|
402
|
+
class SuisInputChipsComponent extends SuisInputBase {
|
403
|
+
constructor() {
|
404
|
+
super(...arguments);
|
405
|
+
/**
|
406
|
+
* Placeholder text displayed in input. By default set to empty string.
|
407
|
+
*/
|
408
|
+
this.placeholder = '';
|
409
|
+
/**
|
410
|
+
* Sets the color pallette of the chips. Type of SuisChipColor. By default set to 'primary'.
|
411
|
+
*/
|
412
|
+
this.chipColor = 'primary';
|
413
|
+
/**
|
414
|
+
* Sets the color of the chips' cross icon. Type of SuisIconColor. By default set to 'white'.
|
415
|
+
*/
|
416
|
+
this.chipIconColor = 'white';
|
417
|
+
/** @internal */
|
418
|
+
this.value = [];
|
419
|
+
/** @internal */
|
420
|
+
this.inputControl = new FormControl('', { nonNullable: true });
|
421
|
+
}
|
422
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
423
|
+
writeValue(obj) {
|
424
|
+
this.value = obj || [];
|
425
|
+
this._onChange(this.value);
|
426
|
+
this.cdRef.markForCheck();
|
427
|
+
}
|
428
|
+
addItem(value) {
|
429
|
+
const values = value.split(',').filter((v) => !!v);
|
430
|
+
this.value = this.value.concat(values);
|
431
|
+
this._onChange(this.value);
|
432
|
+
this.changed.emit(this.value);
|
433
|
+
this.cdRef.markForCheck();
|
434
|
+
}
|
435
|
+
removeItem(value) {
|
436
|
+
this.value = this.value.filter((v) => v !== value);
|
437
|
+
}
|
438
|
+
submitValue() {
|
439
|
+
const inputValue = this.inputControl.value;
|
440
|
+
this.inputControl.reset();
|
441
|
+
this.addItem(inputValue);
|
442
|
+
}
|
443
|
+
onDocumentClick(event) {
|
444
|
+
if (!this.inputEl?.nativeElement.contains(event.target))
|
445
|
+
this.submitValue();
|
446
|
+
}
|
447
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: SuisInputChipsComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
448
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: SuisInputChipsComponent, isStandalone: true, selector: "suis-input-chips", inputs: { placeholder: "placeholder", chipColor: "chipColor", chipIconColor: "chipIconColor" }, host: { listeners: { "document:click": "onDocumentClick($event)" } }, providers: [
|
449
|
+
{
|
450
|
+
provide: NG_VALUE_ACCESSOR,
|
451
|
+
multi: true,
|
452
|
+
useExisting: forwardRef(() => SuisInputChipsComponent),
|
453
|
+
},
|
454
|
+
], viewQueries: [{ propertyName: "inputEl", first: true, predicate: ["input"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"suis-input-chips\">\n <div #input class=\"suis-input-chips__input\">\n <suis-input-text\n [formControl]=\"inputControl\"\n [readonly]=\"readonly\"\n [invalid]=\"invalid\"\n [placeholder]=\"placeholder\"\n (touched)=\"onTouch()\"\n (enterPressed)=\"submitValue()\"\n ></suis-input-text>\n </div>\n <div *ngIf=\"value.length\" class=\"suis-input-chips__chips\">\n <suis-chip\n [removable]=\"readonly ? false : true\"\n [color]=\"chipColor\"\n [iconColor]=\"chipIconColor\"\n (remove)=\"removeItem(item)\"\n *ngFor=\"let item of value\"\n >\n {{ item }}\n </suis-chip>\n </div>\n</div>\n", styles: [".suis-input-chips__chips{margin-top:.375rem;display:flex;flex-wrap:wrap}.suis-input-chips__chips suis-chip:not(:last-child){margin-right:.25rem}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { 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: SuisChipComponent, selector: "suis-chip", inputs: ["color", "iconColor", "removable"], outputs: ["remove"] }, { kind: "component", type: SuisInputTextComponent, selector: "suis-input-text", inputs: ["type", "placeholder"], outputs: ["enterPressed"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
455
|
+
}
|
456
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: SuisInputChipsComponent, decorators: [{
|
457
|
+
type: Component,
|
458
|
+
args: [{ selector: 'suis-input-chips', standalone: true, imports: [
|
459
|
+
CommonModule,
|
460
|
+
ReactiveFormsModule,
|
461
|
+
SuisChipComponent,
|
462
|
+
SuisInputTextComponent,
|
463
|
+
], changeDetection: ChangeDetectionStrategy.OnPush, providers: [
|
464
|
+
{
|
465
|
+
provide: NG_VALUE_ACCESSOR,
|
466
|
+
multi: true,
|
467
|
+
useExisting: forwardRef(() => SuisInputChipsComponent),
|
468
|
+
},
|
469
|
+
], template: "<div class=\"suis-input-chips\">\n <div #input class=\"suis-input-chips__input\">\n <suis-input-text\n [formControl]=\"inputControl\"\n [readonly]=\"readonly\"\n [invalid]=\"invalid\"\n [placeholder]=\"placeholder\"\n (touched)=\"onTouch()\"\n (enterPressed)=\"submitValue()\"\n ></suis-input-text>\n </div>\n <div *ngIf=\"value.length\" class=\"suis-input-chips__chips\">\n <suis-chip\n [removable]=\"readonly ? false : true\"\n [color]=\"chipColor\"\n [iconColor]=\"chipIconColor\"\n (remove)=\"removeItem(item)\"\n *ngFor=\"let item of value\"\n >\n {{ item }}\n </suis-chip>\n </div>\n</div>\n", styles: [".suis-input-chips__chips{margin-top:.375rem;display:flex;flex-wrap:wrap}.suis-input-chips__chips suis-chip:not(:last-child){margin-right:.25rem}\n"] }]
|
470
|
+
}], propDecorators: { inputEl: [{
|
471
|
+
type: ViewChild,
|
472
|
+
args: ['input']
|
473
|
+
}], placeholder: [{
|
474
|
+
type: Input
|
475
|
+
}], chipColor: [{
|
318
476
|
type: Input
|
319
|
-
}],
|
477
|
+
}], chipIconColor: [{
|
320
478
|
type: Input
|
479
|
+
}], onDocumentClick: [{
|
480
|
+
type: HostListener,
|
481
|
+
args: ['document:click', ['$event']]
|
321
482
|
}] } });
|
322
483
|
|
323
484
|
class SuisLabelComponent {
|
@@ -347,5 +508,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImpor
|
|
347
508
|
* Generated bundle index. Do not edit.
|
348
509
|
*/
|
349
510
|
|
350
|
-
export { SuisAnchorButtonComponent, SuisBoxComponent, SuisButtonComponent, SuisButtonOutlinedComponent, SuisFormFieldComponent, SuisIconComponent, SuisIconType, SuisInputTextComponent, SuisLabelComponent, SuisNgClassPipe };
|
511
|
+
export { SuisAnchorButtonComponent, SuisBoxComponent, SuisButtonComponent, SuisButtonOutlinedComponent, SuisChipComponent, SuisFormFieldComponent, SuisIconComponent, SuisIconType, SuisInputChipsComponent, SuisInputTextComponent, SuisLabelComponent, SuisNgClassPipe };
|
351
512
|
//# sourceMappingURL=suis.mjs.map
|
package/fesm2022/suis.mjs.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"suis.mjs","sources":["../../../../libs/suis/src/lib/components/suis-box/suis-box.component.ts","../../../../libs/suis/src/lib/components/suis-box/suis-box.component.html","../../../../libs/suis/src/lib/classes/suis-button.base.ts","../../../../libs/suis/src/lib/components/suis-button/suis-button.component.ts","../../../../libs/suis/src/lib/components/suis-button/suis-button.component.html","../../../../libs/suis/src/lib/components/suis-form-field/suis-form-field.component.ts","../../../../libs/suis/src/lib/components/suis-form-field/suis-form-field.component.html","../../../../libs/suis/src/lib/components/suis-icon/suis-icon.enums.ts","../../../../libs/suis/src/lib/components/suis-icon/suis-icon-type.pipe.ts","../../../../libs/suis/src/lib/pipes/suis-ng-class.pipe.ts","../../../../libs/suis/src/lib/components/suis-icon/suis-icon.component.ts","../../../../libs/suis/src/lib/components/suis-icon/suis-icon.component.html","../../../../libs/suis/src/lib/components/suis-input-text/suis-input-text.component.ts","../../../../libs/suis/src/lib/components/suis-input-text/suis-input-text.component.html","../../../../libs/suis/src/lib/components/suis-label/suis-label.component.ts","../../../../libs/suis/src/lib/components/suis-label/suis-label.component.html","../../../../libs/suis/src/suis.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\n\n@Component({\n selector: 'suis-box',\n standalone: true,\n imports: [],\n templateUrl: './suis-box.component.html',\n styleUrls: ['./suis-box.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SuisBoxComponent {\n /**\n * Adds a padding around the content. By default set to false.\n */\n @Input() spacing: boolean = false;\n}\n","<div class=\"suis-box\" [class.suis-box--spacing]=\"spacing\">\n <ng-content></ng-content>\n</div>\n","import { Directive, ElementRef, Input, Renderer2, inject } from '@angular/core';\nimport { SuisColor } from '../types/suis-color.type';\n\n@Directive()\nexport abstract class SuisButtonBase {\n /** @internal */\n protected readonly elementRef = inject(ElementRef);\n\n /** @internal */\n protected readonly renderer2 = inject(Renderer2);\n\n /**\n * Sets button's color theme. Type of SuisColor. By default set to 'primary'.\n */\n @Input() color: SuisColor = 'primary';\n\n /**\n * Sets button's disabled attribute. By default set to false.\n */\n @Input() disabled: boolean = false;\n\n /**\n * Shows loading spinner instead of content projection. By default set to false.\n */\n @Input() loading: boolean = false;\n}\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n HostListener,\n ViewEncapsulation,\n} from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { SuisButtonBase } from '../../classes';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'button[suisButton]',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './suis-button.component.html',\n styleUrls: ['./suis-button.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n // eslint-disable-next-line @angular-eslint/no-host-metadata-property\n host: {\n '[attr.disabled]': 'disabled || null',\n '[attr.tabindex]': 'disabled ? -1 : 0',\n },\n})\nexport class SuisButtonComponent\n extends SuisButtonBase\n implements AfterViewInit\n{\n ngAfterViewInit(): void {\n this.renderer2.addClass(this.elementRef.nativeElement, 'suis-button');\n this.renderer2.addClass(\n this.elementRef.nativeElement,\n `suis-button--${this.color}`\n );\n }\n}\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'button[suisButtonOutlined]',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './suis-button.component.html',\n styleUrls: ['./suis-button-outlined.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n // eslint-disable-next-line @angular-eslint/no-host-metadata-property\n host: {\n '[attr.disabled]': 'disabled || null',\n '[attr.tabindex]': 'disabled ? -1 : 0',\n },\n})\nexport class SuisButtonOutlinedComponent\n extends SuisButtonBase\n implements AfterViewInit\n{\n ngAfterViewInit(): void {\n this.renderer2.addClass(\n this.elementRef.nativeElement,\n 'suis-button-outlined'\n );\n this.renderer2.addClass(\n this.elementRef.nativeElement,\n `suis-button-outlined--${this.color}`\n );\n }\n}\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'a[suisButton]',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './suis-button.component.html',\n styleUrls: ['./suis-button.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n // eslint-disable-next-line @angular-eslint/no-host-metadata-property\n host: {\n '[attr.tabindex]': 'disabled ? -1 : 0',\n },\n})\nexport class SuisAnchorButtonComponent\n extends SuisButtonBase\n implements AfterViewInit\n{\n ngAfterViewInit(): void {\n this.renderer2.addClass(this.elementRef.nativeElement, 'suis-button');\n this.renderer2.addClass(\n this.elementRef.nativeElement,\n `suis-button--${this.color}`\n );\n }\n\n @HostListener('click')\n onClick(event: Event): void {\n if (this.disabled) {\n event.preventDefault();\n event.stopImmediatePropagation();\n }\n }\n}\n","<ng-container *ngIf=\"!loading; else spinner\">\n <ng-content></ng-content>\n</ng-container>\n<ng-template #spinner>\n <!-- TODO: <suis-spinner></suis-spinner> -->\n</ng-template>\n","import {\n ChangeDetectionStrategy,\n Component,\n Input,\n TemplateRef,\n} from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'suis-form-field',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './suis-form-field.component.html',\n styleUrls: ['./suis-form-field.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SuisFormFieldComponent {\n /**\n * Template to be added below the field with error message.\n */\n @Input() errorTemplate?: TemplateRef<HTMLElement>;\n\n /**\n * Adds a bottom margin below the field. By default set to false.\n */\n @Input() spacing: boolean = false;\n}\n","<div class=\"suis-form-field\" [class.suis-form-field--spacing]=\"spacing\">\n <ng-content></ng-content>\n <div *ngIf=\"errorTemplate\" class=\"suis-form-field__error\">\n <ng-container [ngTemplateOutlet]=\"errorTemplate\"></ng-container>\n </div>\n</div>\n","export enum SuisIconType {\n INFO = 'info',\n WARNING = 'warning',\n CHECK = 'check',\n CROSS = 'cross',\n PLUS = 'plus',\n MINUS = 'minus',\n ARROW_UP = 'arrow-up',\n ARROW_LEFT = 'arrow-left',\n ARROW_RIGHT = 'arrow-right',\n ARROW_DOWN = 'arrow-down',\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { SuisIconType } from './suis-icon.enums';\n\n@Pipe({\n standalone: true,\n name: 'suisIconType',\n})\nexport class SuisIconTypePipe implements PipeTransform {\n transform(type: SuisIconType): string {\n switch (type) {\n case SuisIconType.INFO:\n return '?';\n case SuisIconType.WARNING:\n return '!';\n case SuisIconType.CHECK:\n return '✓';\n case SuisIconType.CROSS:\n return '×';\n case SuisIconType.PLUS:\n return '+';\n case SuisIconType.MINUS:\n return '−';\n case SuisIconType.ARROW_LEFT:\n return '←';\n case SuisIconType.ARROW_UP:\n return '↑';\n case SuisIconType.ARROW_RIGHT:\n return '→';\n case SuisIconType.ARROW_DOWN:\n return '↓';\n }\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n standalone: true,\n name: 'suisNgClass',\n})\nexport class SuisNgClassPipe implements PipeTransform {\n transform(prefix: string, ...args: string[]): string[] {\n const classes: string[] = [];\n args.forEach((arg) => classes.push(`${prefix}--${arg}`));\n return classes;\n }\n}\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { SuisIconColor, SuisIconSize } from './suis-icon.types';\nimport { SuisIconType } from './suis-icon.enums';\nimport { SuisIconTypePipe } from './suis-icon-type.pipe';\nimport { SuisNgClassPipe } from '../../pipes/suis-ng-class.pipe';\n\n@Component({\n selector: 'suis-icon',\n standalone: true,\n imports: [CommonModule, SuisIconTypePipe, SuisNgClassPipe],\n templateUrl: './suis-icon.component.html',\n styleUrls: ['./suis-icon.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SuisIconComponent {\n /** @internal */\n readonly SuisIconType = SuisIconType;\n\n /**\n * Sets the font size of the HTML Entity itself. Type of SuisIconSize. By default set to 'md'.\n */\n @Input() size: SuisIconSize = 'md';\n\n /**\n * Sets the color pallette of the icon and surroundings. Type of SuisIconColor. By default set to 'dark'.\n */\n @Input() color: SuisIconColor = 'dark';\n\n /**\n * Sets the HTML Entity displayed in content. Type of SuisIconType. By default set to SuisIconType.INFO.\n */\n @Input() type: SuisIconType = SuisIconType.INFO;\n\n /**\n * Shows the circled border around the icon. By default set to false. Can not be combined with filled (will be overriden then).\n */\n @Input() outlined: boolean = false;\n\n /**\n * Shows the circled background behind the icon. By default set to false. Overrides outlined behavior if used at the sime time.\n */\n @Input() filled: boolean = false;\n\n /**\n * Shows the pointer cursor when hovered. By defauly set to false.\n */\n @Input() pointer: boolean = false;\n}\n","<div\n class=\"suis-icon\"\n [class.suis-icon--outlined]=\"outlined\"\n [class.suis-icon--filled]=\"filled\"\n [class.suis-icon--pointer]=\"pointer\"\n [ngClass]=\"'suis-icon' | suisNgClass : color : size\"\n>\n <span [innerHTML]=\"type | suisIconType\"></span>\n</div>\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Input,\n forwardRef,\n inject,\n} from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { SuisInputTextType } from './suis-input-text.types';\n\n@Component({\n selector: 'suis-input-text',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './suis-input-text.component.html',\n styleUrls: ['./suis-input-text.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n multi: true,\n useExisting: forwardRef(() => SuisInputTextComponent),\n },\n ],\n})\nexport class SuisInputTextComponent implements ControlValueAccessor {\n private readonly cdRef = inject(ChangeDetectorRef);\n\n /**\n * Sets input's type to one of the accepted values - 'text' or 'password'. By default set to 'text'.\n */\n @Input() type: SuisInputTextType = 'text';\n\n /**\n * Placeholder text displayed in input. By default set to empty string.\n */\n @Input() placeholder: string = '';\n\n /**\n * Sets input disabled state. By default set to false.\n */\n @Input() readonly: boolean = false;\n\n /**\n * Adds invalid styling to the input. By default set to false.\n */\n @Input() invalid: boolean = false;\n\n /** @internal */\n value: string = '';\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function, @typescript-eslint/no-unused-vars\n _onChange = (value: string) => {};\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n _onTouched = () => {};\n\n onChange(event: Event): void {\n const target = event.target as HTMLInputElement;\n this.value = target.value;\n this._onChange(this.value);\n this.cdRef.markForCheck();\n }\n\n onTouch(): void {\n this._onTouched();\n this.cdRef.markForCheck();\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n writeValue(obj: any): void {\n this.value = obj;\n this._onChange(this.value);\n this.cdRef.markForCheck();\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n registerOnChange(fn: any): void {\n this._onChange = fn;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n registerOnTouched(fn: any): void {\n this._onTouched = fn;\n }\n}\n","<input\n class=\"suis-input\"\n [class.suis-input--invalid]=\"invalid\"\n [type]=\"type\"\n [value]=\"value\"\n [placeholder]=\"placeholder\"\n [disabled]=\"readonly\"\n (input)=\"onChange($event)\"\n (focus)=\"onTouch()\"\n/>\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'suis-label',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './suis-label.component.html',\n styleUrls: ['./suis-label.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SuisLabelComponent {\n /**\n * Adds a red colored asterisk after the label. By default set to false.\n */\n @Input() required: boolean = false;\n\n /**\n * Adds a bottom margin below the label. By default set to false.\n */\n @Input() spacing: boolean = false;\n}\n","<label class=\"suis-label\" [class.suis-label--spacing]=\"spacing\">\n <ng-content></ng-content>\n <span *ngIf=\"required\" class=\"suis-label__asterisk\">*</span>\n <ng-content select=\"[suisLabelAside]\"></ng-content>\n</label>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"suis.mjs","sources":["../../../../libs/suis/src/lib/components/suis-box/suis-box.component.ts","../../../../libs/suis/src/lib/components/suis-box/suis-box.component.html","../../../../libs/suis/src/lib/classes/suis-button.base.ts","../../../../libs/suis/src/lib/classes/suis-input.base.ts","../../../../libs/suis/src/lib/components/suis-button/suis-button.component.ts","../../../../libs/suis/src/lib/components/suis-button/suis-button.component.html","../../../../libs/suis/src/lib/components/suis-icon/suis-icon.enums.ts","../../../../libs/suis/src/lib/components/suis-icon/suis-icon-type.pipe.ts","../../../../libs/suis/src/lib/pipes/suis-ng-class.pipe.ts","../../../../libs/suis/src/lib/components/suis-icon/suis-icon.component.ts","../../../../libs/suis/src/lib/components/suis-icon/suis-icon.component.html","../../../../libs/suis/src/lib/components/suis-chip/suis-chip.component.ts","../../../../libs/suis/src/lib/components/suis-chip/suis-chip.component.html","../../../../libs/suis/src/lib/components/suis-form-field/suis-form-field.component.ts","../../../../libs/suis/src/lib/components/suis-form-field/suis-form-field.component.html","../../../../libs/suis/src/lib/components/suis-input-text/suis-input-text.component.ts","../../../../libs/suis/src/lib/components/suis-input-text/suis-input-text.component.html","../../../../libs/suis/src/lib/components/suis-input-chips/suis-input-chips.component.ts","../../../../libs/suis/src/lib/components/suis-input-chips/suis-input-chips.component.html","../../../../libs/suis/src/lib/components/suis-label/suis-label.component.ts","../../../../libs/suis/src/lib/components/suis-label/suis-label.component.html","../../../../libs/suis/src/suis.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\n\n@Component({\n selector: 'suis-box',\n standalone: true,\n imports: [],\n templateUrl: './suis-box.component.html',\n styleUrls: ['./suis-box.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SuisBoxComponent {\n /**\n * Adds a padding around the content. By default set to false.\n */\n @Input() spacing: boolean = false;\n}\n","<div class=\"suis-box\" [class.suis-box--spacing]=\"spacing\">\n <ng-content></ng-content>\n</div>\n","import { Directive, ElementRef, Input, Renderer2, inject } from '@angular/core';\nimport { SuisColor } from '../types/suis-color.type';\n\n@Directive()\nexport abstract class SuisButtonBase {\n /** @internal */\n protected readonly elementRef = inject(ElementRef);\n\n /** @internal */\n protected readonly renderer2 = inject(Renderer2);\n\n /**\n * Sets button's color theme. Type of SuisColor. By default set to 'primary'.\n */\n @Input() color: SuisColor = 'primary';\n\n /**\n * Sets button's disabled attribute. By default set to false.\n */\n @Input() disabled: boolean = false;\n\n /**\n * Shows loading spinner instead of content projection. By default set to false.\n */\n @Input() loading: boolean = false;\n}\n","import {\n ChangeDetectorRef,\n Directive,\n EventEmitter,\n Input,\n Output,\n inject,\n} from '@angular/core';\nimport { ControlValueAccessor } from '@angular/forms';\n\n@Directive()\nexport abstract class SuisInputBase implements ControlValueAccessor {\n /** @internal */\n protected readonly cdRef = inject(ChangeDetectorRef);\n\n /**\n * Sets input disabled state. By default set to false.\n */\n @Input() readonly: boolean = false;\n\n /**\n * Adds invalid styling to the input. By default set to false.\n */\n @Input() invalid: boolean = false;\n\n /**\n * Emits on value changed.\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @Output() changed = new EventEmitter<any>();\n\n /**\n * Emits on input touched.\n */\n @Output() touched = new EventEmitter<void>();\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function, @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any\n _onChange = (value: any) => {};\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n _onTouched = () => {};\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n registerOnChange(fn: any): void {\n this._onChange = fn;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n registerOnTouched(fn: any): void {\n this._onTouched = fn;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n abstract writeValue(obj: any): void;\n\n /** @internal */\n onTouch(): void {\n this._onTouched();\n this.touched.emit();\n this.cdRef.markForCheck();\n }\n}\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n HostListener,\n ViewEncapsulation,\n} from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { SuisButtonBase } from '../../classes';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'button[suisButton]',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './suis-button.component.html',\n styleUrls: ['./suis-button.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n // eslint-disable-next-line @angular-eslint/no-host-metadata-property\n host: {\n '[attr.disabled]': 'disabled || null',\n '[attr.tabindex]': 'disabled ? -1 : 0',\n },\n})\nexport class SuisButtonComponent\n extends SuisButtonBase\n implements AfterViewInit\n{\n ngAfterViewInit(): void {\n this.renderer2.addClass(this.elementRef.nativeElement, 'suis-button');\n this.renderer2.addClass(\n this.elementRef.nativeElement,\n `suis-button--${this.color}`\n );\n }\n}\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'button[suisButtonOutlined]',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './suis-button.component.html',\n styleUrls: ['./suis-button-outlined.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n // eslint-disable-next-line @angular-eslint/no-host-metadata-property\n host: {\n '[attr.disabled]': 'disabled || null',\n '[attr.tabindex]': 'disabled ? -1 : 0',\n },\n})\nexport class SuisButtonOutlinedComponent\n extends SuisButtonBase\n implements AfterViewInit\n{\n ngAfterViewInit(): void {\n this.renderer2.addClass(\n this.elementRef.nativeElement,\n 'suis-button-outlined'\n );\n this.renderer2.addClass(\n this.elementRef.nativeElement,\n `suis-button-outlined--${this.color}`\n );\n }\n}\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'a[suisButton]',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './suis-button.component.html',\n styleUrls: ['./suis-button.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n // eslint-disable-next-line @angular-eslint/no-host-metadata-property\n host: {\n '[attr.tabindex]': 'disabled ? -1 : 0',\n },\n})\nexport class SuisAnchorButtonComponent\n extends SuisButtonBase\n implements AfterViewInit\n{\n ngAfterViewInit(): void {\n this.renderer2.addClass(this.elementRef.nativeElement, 'suis-button');\n this.renderer2.addClass(\n this.elementRef.nativeElement,\n `suis-button--${this.color}`\n );\n }\n\n @HostListener('click')\n onClick(event: Event): void {\n if (this.disabled) {\n event.preventDefault();\n event.stopImmediatePropagation();\n }\n }\n}\n","<ng-container *ngIf=\"!loading; else spinner\">\n <ng-content></ng-content>\n</ng-container>\n<ng-template #spinner>\n <!-- TODO: <suis-spinner></suis-spinner> -->\n</ng-template>\n","export enum SuisIconType {\n INFO = 'info',\n WARNING = 'warning',\n CHECK = 'check',\n CROSS = 'cross',\n PLUS = 'plus',\n MINUS = 'minus',\n ARROW_UP = 'arrow-up',\n ARROW_LEFT = 'arrow-left',\n ARROW_RIGHT = 'arrow-right',\n ARROW_DOWN = 'arrow-down',\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { SuisIconType } from './suis-icon.enums';\n\n@Pipe({\n standalone: true,\n name: 'suisIconType',\n})\nexport class SuisIconTypePipe implements PipeTransform {\n transform(type: SuisIconType): string {\n switch (type) {\n case SuisIconType.INFO:\n return '?';\n case SuisIconType.WARNING:\n return '!';\n case SuisIconType.CHECK:\n return '✓';\n case SuisIconType.CROSS:\n return '×';\n case SuisIconType.PLUS:\n return '+';\n case SuisIconType.MINUS:\n return '−';\n case SuisIconType.ARROW_LEFT:\n return '←';\n case SuisIconType.ARROW_UP:\n return '↑';\n case SuisIconType.ARROW_RIGHT:\n return '→';\n case SuisIconType.ARROW_DOWN:\n return '↓';\n }\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n standalone: true,\n name: 'suisNgClass',\n})\nexport class SuisNgClassPipe implements PipeTransform {\n transform(prefix: string, ...args: string[]): string[] {\n const classes: string[] = [];\n args.forEach((arg) => classes.push(`${prefix}--${arg}`));\n return classes;\n }\n}\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { SuisIconColor, SuisIconSize } from './suis-icon.types';\nimport { SuisIconType } from './suis-icon.enums';\nimport { SuisIconTypePipe } from './suis-icon-type.pipe';\nimport { SuisNgClassPipe } from '../../pipes/suis-ng-class.pipe';\n\n@Component({\n selector: 'suis-icon',\n standalone: true,\n imports: [CommonModule, SuisIconTypePipe, SuisNgClassPipe],\n templateUrl: './suis-icon.component.html',\n styleUrls: ['./suis-icon.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SuisIconComponent {\n /** @internal */\n readonly SuisIconType = SuisIconType;\n\n /**\n * Sets the font size of the HTML Entity itself. Type of SuisIconSize. By default set to 'md'.\n */\n @Input() size: SuisIconSize = 'md';\n\n /**\n * Sets the color pallette of the icon and surroundings. Type of SuisIconColor. By default set to 'dark'.\n */\n @Input() color: SuisIconColor = 'dark';\n\n /**\n * Sets the HTML Entity displayed in content. Type of SuisIconType. By default set to SuisIconType.INFO.\n */\n @Input() type: SuisIconType = SuisIconType.INFO;\n\n /**\n * Shows the circled border around the icon. By default set to false. Can not be combined with filled (will be overriden then).\n */\n @Input() outlined: boolean = false;\n\n /**\n * Shows the circled background behind the icon. By default set to false. Overrides outlined behavior if used at the sime time.\n */\n @Input() filled: boolean = false;\n\n /**\n * Shows the pointer cursor when hovered. By defauly set to false.\n */\n @Input() pointer: boolean = false;\n}\n","<div\n class=\"suis-icon\"\n [class.suis-icon--outlined]=\"outlined\"\n [class.suis-icon--filled]=\"filled\"\n [class.suis-icon--pointer]=\"pointer\"\n [ngClass]=\"'suis-icon' | suisNgClass : color : size\"\n>\n <span [innerHTML]=\"type | suisIconType\"></span>\n</div>\n","import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n Output,\n} from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { SuisIconColor, SuisIconComponent, SuisIconType } from '../suis-icon';\nimport { SuisChipColor } from './suis-chip.types';\nimport { SuisNgClassPipe } from '../../pipes/suis-ng-class.pipe';\n\n@Component({\n selector: 'suis-chip',\n standalone: true,\n imports: [CommonModule, SuisIconComponent, SuisNgClassPipe],\n templateUrl: './suis-chip.component.html',\n styleUrls: ['./suis-chip.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SuisChipComponent {\n /** @internal */\n readonly SuisIconType = SuisIconType;\n\n /**\n * Sets the color pallette of the chip. Type of SuisChipColor. By default set to 'primary'.\n */\n @Input() color: SuisChipColor = 'primary';\n\n /**\n * Sets the color of the cross icon. Visible only if removable set to true. Type of SuisIconColor. By default set to 'white'.\n */\n @Input() iconColor: SuisIconColor = 'white';\n\n /**\n * Shows cross icon with remove action. By default set to false.\n */\n @Input() removable: boolean = false;\n\n /**\n * Emits on cross icon click.\n */\n @Output() remove = new EventEmitter<void>();\n\n /** @internal */\n onRemove(): void {\n this.remove.emit();\n }\n}\n","<div class=\"suis-chip\" [ngClass]=\"'suis-chip' | suisNgClass : color\">\n <ng-content></ng-content>\n <button\n *ngIf=\"removable\"\n class=\"suis-chip__remove\"\n type=\"button\"\n (click)=\"onRemove()\"\n >\n <suis-icon\n [color]=\"iconColor\"\n [type]=\"SuisIconType.CROSS\"\n [pointer]=\"true\"\n [size]=\"'lg'\"\n ></suis-icon>\n </button>\n</div>\n","import {\n ChangeDetectionStrategy,\n Component,\n Input,\n TemplateRef,\n} from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'suis-form-field',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './suis-form-field.component.html',\n styleUrls: ['./suis-form-field.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SuisFormFieldComponent {\n /**\n * Template to be added below the field with error message.\n */\n @Input() errorTemplate?: TemplateRef<HTMLElement>;\n\n /**\n * Adds a bottom margin below the field. By default set to false.\n */\n @Input() spacing: boolean = false;\n}\n","<div class=\"suis-form-field\" [class.suis-form-field--spacing]=\"spacing\">\n <ng-content></ng-content>\n <div *ngIf=\"errorTemplate\" class=\"suis-form-field__error\">\n <ng-container [ngTemplateOutlet]=\"errorTemplate\"></ng-container>\n </div>\n</div>\n","import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n Output,\n forwardRef,\n} from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { SuisInputTextType } from './suis-input-text.types';\nimport { SuisInputBase } from '../../classes/suis-input.base';\n\n@Component({\n selector: 'suis-input-text',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './suis-input-text.component.html',\n styleUrls: ['./suis-input-text.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n multi: true,\n useExisting: forwardRef(() => SuisInputTextComponent),\n },\n ],\n})\nexport class SuisInputTextComponent extends SuisInputBase {\n /**\n * Sets input's type to one of the accepted values - 'text' or 'password'. By default set to 'text'.\n */\n @Input() type: SuisInputTextType = 'text';\n\n /**\n * Placeholder text displayed in input. By default set to empty string.\n */\n @Input() placeholder: string = '';\n\n /**\n * Emits on keydown enter input event.\n */\n @Output() enterPressed = new EventEmitter<void>();\n\n /** @internal */\n value: string = '';\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n writeValue(obj: string): void {\n this.value = obj;\n this._onChange(this.value);\n this.cdRef.markForCheck();\n }\n\n onChange(event: Event): void {\n const target = event.target as HTMLInputElement;\n this.value = target.value;\n this._onChange(this.value);\n this.changed.emit(this.value);\n this.cdRef.markForCheck();\n }\n\n onEnter(): void {\n this.enterPressed.emit();\n }\n}\n","<input\n class=\"suis-input\"\n [class.suis-input--invalid]=\"invalid\"\n [type]=\"type\"\n [value]=\"value\"\n [placeholder]=\"placeholder\"\n [disabled]=\"readonly\"\n (input)=\"onChange($event)\"\n (focus)=\"onTouch()\"\n (keydown.enter)=\"onEnter()\"\n/>\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n HostListener,\n Input,\n ViewChild,\n forwardRef,\n} from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport {\n FormControl,\n NG_VALUE_ACCESSOR,\n ReactiveFormsModule,\n} from '@angular/forms';\nimport { SuisChipColor, SuisChipComponent } from '../suis-chip';\nimport { SuisInputTextComponent } from '../suis-input-text';\nimport { SuisInputBase } from '../../classes/suis-input.base';\nimport { SuisIconColor } from '../suis-icon';\n\n@Component({\n selector: 'suis-input-chips',\n standalone: true,\n imports: [\n CommonModule,\n ReactiveFormsModule,\n SuisChipComponent,\n SuisInputTextComponent,\n ],\n templateUrl: './suis-input-chips.component.html',\n styleUrls: ['./suis-input-chips.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n multi: true,\n useExisting: forwardRef(() => SuisInputChipsComponent),\n },\n ],\n})\nexport class SuisInputChipsComponent extends SuisInputBase {\n /** @internal */\n @ViewChild('input') inputEl?: ElementRef;\n\n /**\n * Placeholder text displayed in input. By default set to empty string.\n */\n @Input() placeholder: string = '';\n\n /**\n * Sets the color pallette of the chips. Type of SuisChipColor. By default set to 'primary'.\n */\n @Input() chipColor: SuisChipColor = 'primary';\n\n /**\n * Sets the color of the chips' cross icon. Type of SuisIconColor. By default set to 'white'.\n */\n @Input() chipIconColor: SuisIconColor = 'white';\n\n /** @internal */\n value: string[] = [];\n\n /** @internal */\n inputControl = new FormControl<string>('', { nonNullable: true });\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n writeValue(obj: string[]): void {\n this.value = obj || [];\n this._onChange(this.value);\n this.cdRef.markForCheck();\n }\n\n addItem(value: string): void {\n const values = value.split(',').filter((v) => !!v);\n this.value = this.value.concat(values);\n this._onChange(this.value);\n this.changed.emit(this.value);\n this.cdRef.markForCheck();\n }\n\n removeItem(value: string): void {\n this.value = this.value.filter((v) => v !== value);\n }\n\n submitValue() {\n const inputValue = this.inputControl.value;\n this.inputControl.reset();\n this.addItem(inputValue);\n }\n\n @HostListener('document:click', ['$event'])\n onDocumentClick(event: Event) {\n if (!this.inputEl?.nativeElement.contains(event.target)) this.submitValue();\n }\n}\n","<div class=\"suis-input-chips\">\n <div #input class=\"suis-input-chips__input\">\n <suis-input-text\n [formControl]=\"inputControl\"\n [readonly]=\"readonly\"\n [invalid]=\"invalid\"\n [placeholder]=\"placeholder\"\n (touched)=\"onTouch()\"\n (enterPressed)=\"submitValue()\"\n ></suis-input-text>\n </div>\n <div *ngIf=\"value.length\" class=\"suis-input-chips__chips\">\n <suis-chip\n [removable]=\"readonly ? false : true\"\n [color]=\"chipColor\"\n [iconColor]=\"chipIconColor\"\n (remove)=\"removeItem(item)\"\n *ngFor=\"let item of value\"\n >\n {{ item }}\n </suis-chip>\n </div>\n</div>\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'suis-label',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './suis-label.component.html',\n styleUrls: ['./suis-label.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SuisLabelComponent {\n /**\n * Adds a red colored asterisk after the label. By default set to false.\n */\n @Input() required: boolean = false;\n\n /**\n * Adds a bottom margin below the label. By default set to false.\n */\n @Input() spacing: boolean = false;\n}\n","<label class=\"suis-label\" [class.suis-label--spacing]=\"spacing\">\n <ng-content></ng-content>\n <span *ngIf=\"required\" class=\"suis-label__asterisk\">*</span>\n <ng-content select=\"[suisLabelAside]\"></ng-content>\n</label>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
package/lib/classes/index.d.ts
CHANGED
@@ -0,0 +1,32 @@
|
|
1
|
+
import { ChangeDetectorRef, EventEmitter } from '@angular/core';
|
2
|
+
import { ControlValueAccessor } from '@angular/forms';
|
3
|
+
import * as i0 from "@angular/core";
|
4
|
+
export declare abstract class SuisInputBase implements ControlValueAccessor {
|
5
|
+
/** @internal */
|
6
|
+
protected readonly cdRef: ChangeDetectorRef;
|
7
|
+
/**
|
8
|
+
* Sets input disabled state. By default set to false.
|
9
|
+
*/
|
10
|
+
readonly: boolean;
|
11
|
+
/**
|
12
|
+
* Adds invalid styling to the input. By default set to false.
|
13
|
+
*/
|
14
|
+
invalid: boolean;
|
15
|
+
/**
|
16
|
+
* Emits on value changed.
|
17
|
+
*/
|
18
|
+
changed: EventEmitter<any>;
|
19
|
+
/**
|
20
|
+
* Emits on input touched.
|
21
|
+
*/
|
22
|
+
touched: EventEmitter<void>;
|
23
|
+
_onChange: (value: any) => void;
|
24
|
+
_onTouched: () => void;
|
25
|
+
registerOnChange(fn: any): void;
|
26
|
+
registerOnTouched(fn: any): void;
|
27
|
+
abstract writeValue(obj: any): void;
|
28
|
+
/** @internal */
|
29
|
+
onTouch(): void;
|
30
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<SuisInputBase, never>;
|
31
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<SuisInputBase, never, never, { "readonly": { "alias": "readonly"; "required": false; }; "invalid": { "alias": "invalid"; "required": false; }; }, { "changed": "changed"; "touched": "touched"; }, never, never, false, never>;
|
32
|
+
}
|
@@ -1,6 +1,8 @@
|
|
1
1
|
export * from './suis-box';
|
2
2
|
export * from './suis-button';
|
3
|
+
export * from './suis-chip';
|
3
4
|
export * from './suis-form-field';
|
4
5
|
export * from './suis-icon';
|
6
|
+
export * from './suis-input-chips';
|
5
7
|
export * from './suis-input-text';
|
6
8
|
export * from './suis-label';
|
@@ -0,0 +1,28 @@
|
|
1
|
+
import { EventEmitter } from '@angular/core';
|
2
|
+
import { SuisIconColor, SuisIconType } from '../suis-icon';
|
3
|
+
import { SuisChipColor } from './suis-chip.types';
|
4
|
+
import * as i0 from "@angular/core";
|
5
|
+
export declare class SuisChipComponent {
|
6
|
+
/** @internal */
|
7
|
+
readonly SuisIconType: typeof SuisIconType;
|
8
|
+
/**
|
9
|
+
* Sets the color pallette of the chip. Type of SuisChipColor. By default set to 'primary'.
|
10
|
+
*/
|
11
|
+
color: SuisChipColor;
|
12
|
+
/**
|
13
|
+
* Sets the color of the cross icon. Visible only if removable set to true. Type of SuisIconColor. By default set to 'white'.
|
14
|
+
*/
|
15
|
+
iconColor: SuisIconColor;
|
16
|
+
/**
|
17
|
+
* Shows cross icon with remove action. By default set to false.
|
18
|
+
*/
|
19
|
+
removable: boolean;
|
20
|
+
/**
|
21
|
+
* Emits on cross icon click.
|
22
|
+
*/
|
23
|
+
remove: EventEmitter<void>;
|
24
|
+
/** @internal */
|
25
|
+
onRemove(): void;
|
26
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<SuisChipComponent, never>;
|
27
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<SuisChipComponent, "suis-chip", never, { "color": { "alias": "color"; "required": false; }; "iconColor": { "alias": "iconColor"; "required": false; }; "removable": { "alias": "removable"; "required": false; }; }, { "remove": "remove"; }, never, ["*"], true, never>;
|
28
|
+
}
|
@@ -0,0 +1 @@
|
|
1
|
+
export * from './suis-input-chips.component';
|
@@ -0,0 +1,33 @@
|
|
1
|
+
import { ElementRef } from '@angular/core';
|
2
|
+
import { FormControl } from '@angular/forms';
|
3
|
+
import { SuisChipColor } from '../suis-chip';
|
4
|
+
import { SuisInputBase } from '../../classes/suis-input.base';
|
5
|
+
import { SuisIconColor } from '../suis-icon';
|
6
|
+
import * as i0 from "@angular/core";
|
7
|
+
export declare class SuisInputChipsComponent extends SuisInputBase {
|
8
|
+
/** @internal */
|
9
|
+
inputEl?: ElementRef;
|
10
|
+
/**
|
11
|
+
* Placeholder text displayed in input. By default set to empty string.
|
12
|
+
*/
|
13
|
+
placeholder: string;
|
14
|
+
/**
|
15
|
+
* Sets the color pallette of the chips. Type of SuisChipColor. By default set to 'primary'.
|
16
|
+
*/
|
17
|
+
chipColor: SuisChipColor;
|
18
|
+
/**
|
19
|
+
* Sets the color of the chips' cross icon. Type of SuisIconColor. By default set to 'white'.
|
20
|
+
*/
|
21
|
+
chipIconColor: SuisIconColor;
|
22
|
+
/** @internal */
|
23
|
+
value: string[];
|
24
|
+
/** @internal */
|
25
|
+
inputControl: FormControl<string>;
|
26
|
+
writeValue(obj: string[]): void;
|
27
|
+
addItem(value: string): void;
|
28
|
+
removeItem(value: string): void;
|
29
|
+
submitValue(): void;
|
30
|
+
onDocumentClick(event: Event): void;
|
31
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<SuisInputChipsComponent, never>;
|
32
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<SuisInputChipsComponent, "suis-input-chips", never, { "placeholder": { "alias": "placeholder"; "required": false; }; "chipColor": { "alias": "chipColor"; "required": false; }; "chipIconColor": { "alias": "chipIconColor"; "required": false; }; }, {}, never, never, true, never>;
|
33
|
+
}
|
@@ -1,8 +1,8 @@
|
|
1
|
-
import {
|
1
|
+
import { EventEmitter } from '@angular/core';
|
2
2
|
import { SuisInputTextType } from './suis-input-text.types';
|
3
|
+
import { SuisInputBase } from '../../classes/suis-input.base';
|
3
4
|
import * as i0 from "@angular/core";
|
4
|
-
export declare class SuisInputTextComponent
|
5
|
-
private readonly cdRef;
|
5
|
+
export declare class SuisInputTextComponent extends SuisInputBase {
|
6
6
|
/**
|
7
7
|
* Sets input's type to one of the accepted values - 'text' or 'password'. By default set to 'text'.
|
8
8
|
*/
|
@@ -12,22 +12,14 @@ export declare class SuisInputTextComponent implements ControlValueAccessor {
|
|
12
12
|
*/
|
13
13
|
placeholder: string;
|
14
14
|
/**
|
15
|
-
*
|
15
|
+
* Emits on keydown enter input event.
|
16
16
|
*/
|
17
|
-
|
18
|
-
/**
|
19
|
-
* Adds invalid styling to the input. By default set to false.
|
20
|
-
*/
|
21
|
-
invalid: boolean;
|
17
|
+
enterPressed: EventEmitter<void>;
|
22
18
|
/** @internal */
|
23
19
|
value: string;
|
24
|
-
|
25
|
-
_onTouched: () => void;
|
20
|
+
writeValue(obj: string): void;
|
26
21
|
onChange(event: Event): void;
|
27
|
-
|
28
|
-
writeValue(obj: any): void;
|
29
|
-
registerOnChange(fn: any): void;
|
30
|
-
registerOnTouched(fn: any): void;
|
22
|
+
onEnter(): void;
|
31
23
|
static ɵfac: i0.ɵɵFactoryDeclaration<SuisInputTextComponent, never>;
|
32
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<SuisInputTextComponent, "suis-input-text", never, { "type": { "alias": "type"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; };
|
24
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<SuisInputTextComponent, "suis-input-text", never, { "type": { "alias": "type"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; }, { "enterPressed": "enterPressed"; }, never, never, true, never>;
|
33
25
|
}
|