@ascentgl/ads-ui 20.0.32 → 20.0.33
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/ascentgl-ads-ui.mjs +10 -2
- package/fesm2022/ascentgl-ads-ui.mjs.map +1 -1
- package/index.d.ts +4 -2
- package/package.json +13 -13
|
@@ -579,6 +579,8 @@ class AdsCreateTagComponent {
|
|
|
579
579
|
* and total number of existing tags calculation */
|
|
580
580
|
this.tags = [];
|
|
581
581
|
this.tagsChange = new EventEmitter();
|
|
582
|
+
this.tagCreate = new EventEmitter();
|
|
583
|
+
this.tagRemove = new EventEmitter();
|
|
582
584
|
/** The color palette for the tag background */
|
|
583
585
|
this.palette = input([
|
|
584
586
|
Colors.Primary,
|
|
@@ -792,6 +794,7 @@ class AdsCreateTagComponent {
|
|
|
792
794
|
tag.id = (this.tags.length + 1).toString(); // Generate a unique id for the tag - uuid is a 3rd party library
|
|
793
795
|
this.tags.push(tag); // Add the tag to the list of tags
|
|
794
796
|
this.tagsChange.emit([...this.tags]); // emit the updated array
|
|
797
|
+
this.tagCreate.emit(tag);
|
|
795
798
|
}
|
|
796
799
|
/** @ignore */
|
|
797
800
|
onTagSelect(tag) {
|
|
@@ -800,10 +803,11 @@ class AdsCreateTagComponent {
|
|
|
800
803
|
/** @ignore */
|
|
801
804
|
onTagRemove(id) {
|
|
802
805
|
this.tags = this.tags.filter((existingTag) => existingTag.id !== id); // Remove tag from the list of tags
|
|
803
|
-
this.tagsChange.emit([...this.tags]);
|
|
806
|
+
this.tagsChange.emit([...this.tags]);
|
|
807
|
+
this.tagRemove.emit(id); // emit the updated array
|
|
804
808
|
}
|
|
805
809
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: AdsCreateTagComponent, deps: [{ token: i4.FormBuilder }, { token: i1.AdsIconRegistry }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
806
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.7", type: AdsCreateTagComponent, isStandalone: false, selector: "ads-create-tag", inputs: { limit: { classPropertyName: "limit", publicName: "limit", isSignal: true, isRequired: false, transformFunction: null }, tags: { classPropertyName: "tags", publicName: "tags", isSignal: false, isRequired: false, transformFunction: null }, palette: { classPropertyName: "palette", publicName: "palette", isSignal: true, isRequired: false, transformFunction: null }, lowercase: { classPropertyName: "lowercase", publicName: "lowercase", isSignal: true, isRequired: false, transformFunction: null }, maxlength: { classPropertyName: "maxlength", publicName: "maxlength", isSignal: true, isRequired: false, transformFunction: null }, alphanumeric: { classPropertyName: "alphanumeric", publicName: "alphanumeric", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { tagsChange: "tagsChange" }, viewQueries: [{ propertyName: "addInput", first: true, predicate: ["addInput"], descendants: true }, { propertyName: "editInput", first: true, predicate: ["editInput"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<ads-tag-container>\n @for (tag of tags; track tag.id) {\n @if (selectedTag()?.id === tag.id) {\n <form [formGroup]=\"form\">\n <div class=\"tag-overlay-trigger\" cdkOverlayOrigin #updateTrigger=\"cdkOverlayOrigin\"></div>\n <ng-template\n cdkConnectedOverlay\n [cdkConnectedOverlayOrigin]=\"updateTrigger\"\n [cdkConnectedOverlayPositions]=\"positions\"\n [cdkConnectedOverlayPush]=\"true\"\n [cdkConnectedOverlayOpen]=\"true\"\n [cdkConnectedOverlayHasBackdrop]=\"true\"\n (backdropClick)=\"hide()\"\n (detach)=\"hide()\"\n >\n <div class=\"tag-overlay\">\n <input #editInput formControlName=\"tag\" [attr.maxlength]=\"maxlength()\" />\n <div class=\"tag-configuration\">\n <div class=\"color-picker\">\n @for (color of palette(); track color) {\n <div\n class=\"color\"\n [class.selected]=\"selectedColor === color\"\n [ngStyle]=\"{\n 'background-color': getBackgroundColor(color),\n opacity: selectedColor && selectedColor !== color ? 0.2 : 1,\n }\"\n (click)=\"onColorChange(color)\"\n ></div>\n }\n </div>\n <div class=\"actions\">\n <ads-button [variant]=\"'secondary'\" size=\"xs\" (click)=\"reset()\">{{ 'Cancel' }}</ads-button>\n <ads-button size=\"xs\" [disabled]=\"isValueInvalid()\" (click)=\"updateTag()\">\n {{ 'Save' }}\n </ads-button>\n </div>\n </div>\n </div>\n </ng-template>\n </form>\n } @else {\n <ads-tag\n [tag]=\"tag.tag\"\n [color]=\"tag.color\"\n [id]=\"tag.id\"\n (selected)=\"onTagSelect($event)\"\n (remove)=\"onTagRemove($event)\"\n />\n }\n }\n\n <div class=\"container\">\n @if (showInput) {\n <form [formGroup]=\"form\">\n <div class=\"tag-overlay-trigger\" cdkOverlayOrigin #addTrigger=\"cdkOverlayOrigin\"></div>\n <ng-template\n cdkConnectedOverlay\n [cdkConnectedOverlayOrigin]=\"addTrigger\"\n [cdkConnectedOverlayPositions]=\"positions\"\n [cdkConnectedOverlayPush]=\"true\"\n [cdkConnectedOverlayOpen]=\"true\"\n [cdkConnectedOverlayHasBackdrop]=\"true\"\n (backdropClick)=\"hide()\"\n (detach)=\"hide()\"\n >\n <div class=\"tag-overlay\">\n <input #addInput formControlName=\"tag\" [attr.maxlength]=\"maxlength()\" />\n <div class=\"tag-configuration\">\n <div class=\"color-picker\">\n @for (color of palette(); track color) {\n <div\n class=\"color\"\n [class.selected]=\"selectedColor === color\"\n [ngStyle]=\"{\n 'background-color': getBackgroundColor(color),\n opacity: selectedColor && selectedColor !== color ? 0.2 : 1,\n }\"\n (click)=\"onColorChange(color)\"\n ></div>\n }\n </div>\n <div class=\"actions\">\n <ads-button [variant]=\"'secondary'\" size=\"xs\" (click)=\"reset()\">{{ 'Cancel' }}</ads-button>\n <ads-button size=\"xs\" [disabled]=\"isValueInvalid()\" (click)=\"addTag()\">{{ 'Add' }} </ads-button>\n </div>\n </div>\n </div>\n </ng-template>\n </form>\n }\n\n @if (this.tags.length < this.limit()) {\n <ads-button (click)=\"displayInput()\" size=\"xs\">\n {{ 'Add Tag' }}\n </ads-button>\n }\n </div>\n</ads-tag-container>\n", styles: [".tag-overlay-trigger{height:0;width:150px;display:flex}.tag-overlay{display:flex;flex-direction:column}input{padding:0 8px;box-sizing:border-box;background-color:var(--color-white);border:2px solid var(--color-medium);color:var(--color-dark);height:24px;border-radius:5px;width:150px}input:focus{outline:none}.tag-configuration{box-shadow:0 0 0 1px #98a1b31a,0 15px 35px -5px #11182626,0 5px 15px #00000014;border-radius:5px;margin-top:5px;background-color:var(--color-white);overflow:hidden}.color-picker{padding:12px 16px;display:grid;grid-template-columns:repeat(4,1fr);place-items:center;grid-gap:12px}.color-picker .color{width:20px;height:20px;border-radius:50%;cursor:pointer}.actions{border-top:1px solid var(--color-light);padding:8px 16px;display:flex;justify-content:center;gap:12px}.actions ::ng-deep ads-button button{width:52px;min-width:unset}::ng-deep .cdk-overlay-dark-backdrop{opacity:0!important}.container{display:inline-flex;gap:4px;height:24px;position:relative}\n"], dependencies: [{ kind: "directive", type: i1$1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i4$1.CdkConnectedOverlay, selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]", inputs: ["cdkConnectedOverlayOrigin", "cdkConnectedOverlayPositions", "cdkConnectedOverlayPositionStrategy", "cdkConnectedOverlayOffsetX", "cdkConnectedOverlayOffsetY", "cdkConnectedOverlayWidth", "cdkConnectedOverlayHeight", "cdkConnectedOverlayMinWidth", "cdkConnectedOverlayMinHeight", "cdkConnectedOverlayBackdropClass", "cdkConnectedOverlayPanelClass", "cdkConnectedOverlayViewportMargin", "cdkConnectedOverlayScrollStrategy", "cdkConnectedOverlayOpen", "cdkConnectedOverlayDisableClose", "cdkConnectedOverlayTransformOriginOn", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayLockPosition", "cdkConnectedOverlayFlexibleDimensions", "cdkConnectedOverlayGrowAfterOpen", "cdkConnectedOverlayPush", "cdkConnectedOverlayDisposeOnNavigation"], outputs: ["backdropClick", "positionChange", "attach", "detach", "overlayKeydown", "overlayOutsideClick"], exportAs: ["cdkConnectedOverlay"] }, { kind: "directive", type: i4$1.CdkOverlayOrigin, selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]", exportAs: ["cdkOverlayOrigin"] }, { kind: "directive", type: i4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: AdsButtonComponent, selector: "ads-button", inputs: ["id", "variant", "disabled", "size", "type"] }, { kind: "component", type: AdsTagContainerComponent, selector: "ads-tag-container" }, { kind: "component", type: AdsTagComponent, selector: "ads-tag", inputs: ["color", "id", "removable", "tag"], outputs: ["remove", "selected"] }] }); }
|
|
810
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.7", type: AdsCreateTagComponent, isStandalone: false, selector: "ads-create-tag", inputs: { limit: { classPropertyName: "limit", publicName: "limit", isSignal: true, isRequired: false, transformFunction: null }, tags: { classPropertyName: "tags", publicName: "tags", isSignal: false, isRequired: false, transformFunction: null }, palette: { classPropertyName: "palette", publicName: "palette", isSignal: true, isRequired: false, transformFunction: null }, lowercase: { classPropertyName: "lowercase", publicName: "lowercase", isSignal: true, isRequired: false, transformFunction: null }, maxlength: { classPropertyName: "maxlength", publicName: "maxlength", isSignal: true, isRequired: false, transformFunction: null }, alphanumeric: { classPropertyName: "alphanumeric", publicName: "alphanumeric", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { tagsChange: "tagsChange", tagCreate: "tagCreate", tagRemove: "tagRemove" }, viewQueries: [{ propertyName: "addInput", first: true, predicate: ["addInput"], descendants: true }, { propertyName: "editInput", first: true, predicate: ["editInput"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<ads-tag-container>\n @for (tag of tags; track tag.id) {\n @if (selectedTag()?.id === tag.id) {\n <form [formGroup]=\"form\">\n <div class=\"tag-overlay-trigger\" cdkOverlayOrigin #updateTrigger=\"cdkOverlayOrigin\"></div>\n <ng-template\n cdkConnectedOverlay\n [cdkConnectedOverlayOrigin]=\"updateTrigger\"\n [cdkConnectedOverlayPositions]=\"positions\"\n [cdkConnectedOverlayPush]=\"true\"\n [cdkConnectedOverlayOpen]=\"true\"\n [cdkConnectedOverlayHasBackdrop]=\"true\"\n (backdropClick)=\"hide()\"\n (detach)=\"hide()\"\n >\n <div class=\"tag-overlay\">\n <input #editInput formControlName=\"tag\" [attr.maxlength]=\"maxlength()\" />\n <div class=\"tag-configuration\">\n <div class=\"color-picker\">\n @for (color of palette(); track color) {\n <div\n class=\"color\"\n [class.selected]=\"selectedColor === color\"\n [ngStyle]=\"{\n 'background-color': getBackgroundColor(color),\n opacity: selectedColor && selectedColor !== color ? 0.2 : 1,\n }\"\n (click)=\"onColorChange(color)\"\n ></div>\n }\n </div>\n <div class=\"actions\">\n <ads-button [variant]=\"'secondary'\" size=\"xs\" (click)=\"reset()\">{{ 'Cancel' }}</ads-button>\n <ads-button size=\"xs\" [disabled]=\"isValueInvalid()\" (click)=\"updateTag()\">\n {{ 'Save' }}\n </ads-button>\n </div>\n </div>\n </div>\n </ng-template>\n </form>\n } @else {\n <ads-tag\n [tag]=\"tag.tag\"\n [color]=\"tag.color\"\n [id]=\"tag.id\"\n (selected)=\"onTagSelect($event)\"\n (remove)=\"onTagRemove($event)\"\n />\n }\n }\n\n <div class=\"container\">\n @if (showInput) {\n <form [formGroup]=\"form\">\n <div class=\"tag-overlay-trigger\" cdkOverlayOrigin #addTrigger=\"cdkOverlayOrigin\"></div>\n <ng-template\n cdkConnectedOverlay\n [cdkConnectedOverlayOrigin]=\"addTrigger\"\n [cdkConnectedOverlayPositions]=\"positions\"\n [cdkConnectedOverlayPush]=\"true\"\n [cdkConnectedOverlayOpen]=\"true\"\n [cdkConnectedOverlayHasBackdrop]=\"true\"\n (backdropClick)=\"hide()\"\n (detach)=\"hide()\"\n >\n <div class=\"tag-overlay\">\n <input #addInput formControlName=\"tag\" [attr.maxlength]=\"maxlength()\" />\n <div class=\"tag-configuration\">\n <div class=\"color-picker\">\n @for (color of palette(); track color) {\n <div\n class=\"color\"\n [class.selected]=\"selectedColor === color\"\n [ngStyle]=\"{\n 'background-color': getBackgroundColor(color),\n opacity: selectedColor && selectedColor !== color ? 0.2 : 1,\n }\"\n (click)=\"onColorChange(color)\"\n ></div>\n }\n </div>\n <div class=\"actions\">\n <ads-button [variant]=\"'secondary'\" size=\"xs\" (click)=\"reset()\">{{ 'Cancel' }}</ads-button>\n <ads-button size=\"xs\" [disabled]=\"isValueInvalid()\" (click)=\"addTag()\">{{ 'Add' }} </ads-button>\n </div>\n </div>\n </div>\n </ng-template>\n </form>\n }\n\n @if (this.tags.length < this.limit()) {\n <ads-button (click)=\"displayInput()\" size=\"xs\">\n {{ 'Add Tag' }}\n </ads-button>\n }\n </div>\n</ads-tag-container>\n", styles: [".tag-overlay-trigger{height:0;width:150px;display:flex}.tag-overlay{display:flex;flex-direction:column}input{padding:0 8px;box-sizing:border-box;background-color:var(--color-white);border:2px solid var(--color-medium);color:var(--color-dark);height:24px;border-radius:5px;width:150px}input:focus{outline:none}.tag-configuration{box-shadow:0 0 0 1px #98a1b31a,0 15px 35px -5px #11182626,0 5px 15px #00000014;border-radius:5px;margin-top:5px;background-color:var(--color-white);overflow:hidden}.color-picker{padding:12px 16px;display:grid;grid-template-columns:repeat(4,1fr);place-items:center;grid-gap:12px}.color-picker .color{width:20px;height:20px;border-radius:50%;cursor:pointer}.actions{border-top:1px solid var(--color-light);padding:8px 16px;display:flex;justify-content:center;gap:12px}.actions ::ng-deep ads-button button{width:52px;min-width:unset}::ng-deep .cdk-overlay-dark-backdrop{opacity:0!important}.container{display:inline-flex;gap:4px;height:24px;position:relative}\n"], dependencies: [{ kind: "directive", type: i1$1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i4$1.CdkConnectedOverlay, selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]", inputs: ["cdkConnectedOverlayOrigin", "cdkConnectedOverlayPositions", "cdkConnectedOverlayPositionStrategy", "cdkConnectedOverlayOffsetX", "cdkConnectedOverlayOffsetY", "cdkConnectedOverlayWidth", "cdkConnectedOverlayHeight", "cdkConnectedOverlayMinWidth", "cdkConnectedOverlayMinHeight", "cdkConnectedOverlayBackdropClass", "cdkConnectedOverlayPanelClass", "cdkConnectedOverlayViewportMargin", "cdkConnectedOverlayScrollStrategy", "cdkConnectedOverlayOpen", "cdkConnectedOverlayDisableClose", "cdkConnectedOverlayTransformOriginOn", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayLockPosition", "cdkConnectedOverlayFlexibleDimensions", "cdkConnectedOverlayGrowAfterOpen", "cdkConnectedOverlayPush", "cdkConnectedOverlayDisposeOnNavigation"], outputs: ["backdropClick", "positionChange", "attach", "detach", "overlayKeydown", "overlayOutsideClick"], exportAs: ["cdkConnectedOverlay"] }, { kind: "directive", type: i4$1.CdkOverlayOrigin, selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]", exportAs: ["cdkOverlayOrigin"] }, { kind: "directive", type: i4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: AdsButtonComponent, selector: "ads-button", inputs: ["id", "variant", "disabled", "size", "type"] }, { kind: "component", type: AdsTagContainerComponent, selector: "ads-tag-container" }, { kind: "component", type: AdsTagComponent, selector: "ads-tag", inputs: ["color", "id", "removable", "tag"], outputs: ["remove", "selected"] }] }); }
|
|
807
811
|
}
|
|
808
812
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: AdsCreateTagComponent, decorators: [{
|
|
809
813
|
type: Component,
|
|
@@ -812,6 +816,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.7", ngImpor
|
|
|
812
816
|
type: Input
|
|
813
817
|
}], tagsChange: [{
|
|
814
818
|
type: Output
|
|
819
|
+
}], tagCreate: [{
|
|
820
|
+
type: Output
|
|
821
|
+
}], tagRemove: [{
|
|
822
|
+
type: Output
|
|
815
823
|
}], addInput: [{
|
|
816
824
|
type: ViewChild,
|
|
817
825
|
args: ['addInput']
|