@cqa-lib/cqa-ui 1.1.520 → 1.1.521
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/esm2020/lib/new-global-variable-dialog/new-global-variable-dialog.component.mjs +204 -0
- package/esm2020/lib/new-global-variable-dialog/new-global-variable-dialog.models.mjs +2 -0
- package/esm2020/lib/permission-toggle/permission-toggle.component.mjs +86 -0
- package/esm2020/lib/ui-kit.module.mjs +11 -1
- package/esm2020/public-api.mjs +4 -1
- package/fesm2015/cqa-lib-cqa-ui.mjs +292 -1
- package/fesm2015/cqa-lib-cqa-ui.mjs.map +1 -1
- package/fesm2020/cqa-lib-cqa-ui.mjs +289 -1
- package/fesm2020/cqa-lib-cqa-ui.mjs.map +1 -1
- package/lib/new-global-variable-dialog/new-global-variable-dialog.component.d.ts +64 -0
- package/lib/new-global-variable-dialog/new-global-variable-dialog.models.d.ts +14 -0
- package/lib/permission-toggle/permission-toggle.component.d.ts +13 -0
- package/lib/ui-kit.module.d.ts +89 -87
- package/package.json +1 -1
- package/public-api.d.ts +3 -0
- package/styles.css +1 -1
|
@@ -46760,6 +46760,289 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImpor
|
|
|
46760
46760
|
type: Output
|
|
46761
46761
|
}] } });
|
|
46762
46762
|
|
|
46763
|
+
class PermissionToggleComponent {
|
|
46764
|
+
constructor() {
|
|
46765
|
+
this.value = 'RW';
|
|
46766
|
+
this.disabled = false;
|
|
46767
|
+
this.roTooltip = 'Read only — click to allow writes';
|
|
46768
|
+
this.rwTooltip = 'Read / write — click to lock';
|
|
46769
|
+
this.valueChange = new EventEmitter();
|
|
46770
|
+
}
|
|
46771
|
+
onClick(next, event) {
|
|
46772
|
+
event.stopPropagation();
|
|
46773
|
+
if (this.disabled || next === this.value) {
|
|
46774
|
+
return;
|
|
46775
|
+
}
|
|
46776
|
+
this.value = next;
|
|
46777
|
+
this.valueChange.emit(next);
|
|
46778
|
+
}
|
|
46779
|
+
}
|
|
46780
|
+
PermissionToggleComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: PermissionToggleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
46781
|
+
PermissionToggleComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: PermissionToggleComponent, selector: "cqa-permission-toggle", inputs: { value: "value", disabled: "disabled", roTooltip: "roTooltip", rwTooltip: "rwTooltip" }, outputs: { valueChange: "valueChange" }, ngImport: i0, template: `
|
|
46782
|
+
<div class="cqa-ui-root" style="display:inline-flex;">
|
|
46783
|
+
<div class="cqa-permission-toggle" [class.cqa-permission-toggle--disabled]="disabled">
|
|
46784
|
+
<button
|
|
46785
|
+
type="button"
|
|
46786
|
+
class="cqa-perm-pill cqa-perm-pill--ro"
|
|
46787
|
+
[class.active]="value === 'RO'"
|
|
46788
|
+
[disabled]="disabled"
|
|
46789
|
+
[title]="roTooltip"
|
|
46790
|
+
(click)="onClick('RO', $event)">
|
|
46791
|
+
<mat-icon class="cqa-perm-icon">lock</mat-icon>RO
|
|
46792
|
+
</button>
|
|
46793
|
+
<button
|
|
46794
|
+
type="button"
|
|
46795
|
+
class="cqa-perm-pill cqa-perm-pill--rw"
|
|
46796
|
+
[class.active]="value === 'RW'"
|
|
46797
|
+
[disabled]="disabled"
|
|
46798
|
+
[title]="rwTooltip"
|
|
46799
|
+
(click)="onClick('RW', $event)">
|
|
46800
|
+
<mat-icon class="cqa-perm-icon">edit</mat-icon>RW
|
|
46801
|
+
</button>
|
|
46802
|
+
</div>
|
|
46803
|
+
</div>
|
|
46804
|
+
`, isInline: true, components: [{ type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] });
|
|
46805
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: PermissionToggleComponent, decorators: [{
|
|
46806
|
+
type: Component,
|
|
46807
|
+
args: [{
|
|
46808
|
+
selector: 'cqa-permission-toggle',
|
|
46809
|
+
template: `
|
|
46810
|
+
<div class="cqa-ui-root" style="display:inline-flex;">
|
|
46811
|
+
<div class="cqa-permission-toggle" [class.cqa-permission-toggle--disabled]="disabled">
|
|
46812
|
+
<button
|
|
46813
|
+
type="button"
|
|
46814
|
+
class="cqa-perm-pill cqa-perm-pill--ro"
|
|
46815
|
+
[class.active]="value === 'RO'"
|
|
46816
|
+
[disabled]="disabled"
|
|
46817
|
+
[title]="roTooltip"
|
|
46818
|
+
(click)="onClick('RO', $event)">
|
|
46819
|
+
<mat-icon class="cqa-perm-icon">lock</mat-icon>RO
|
|
46820
|
+
</button>
|
|
46821
|
+
<button
|
|
46822
|
+
type="button"
|
|
46823
|
+
class="cqa-perm-pill cqa-perm-pill--rw"
|
|
46824
|
+
[class.active]="value === 'RW'"
|
|
46825
|
+
[disabled]="disabled"
|
|
46826
|
+
[title]="rwTooltip"
|
|
46827
|
+
(click)="onClick('RW', $event)">
|
|
46828
|
+
<mat-icon class="cqa-perm-icon">edit</mat-icon>RW
|
|
46829
|
+
</button>
|
|
46830
|
+
</div>
|
|
46831
|
+
</div>
|
|
46832
|
+
`,
|
|
46833
|
+
}]
|
|
46834
|
+
}], propDecorators: { value: [{
|
|
46835
|
+
type: Input
|
|
46836
|
+
}], disabled: [{
|
|
46837
|
+
type: Input
|
|
46838
|
+
}], roTooltip: [{
|
|
46839
|
+
type: Input
|
|
46840
|
+
}], rwTooltip: [{
|
|
46841
|
+
type: Input
|
|
46842
|
+
}], valueChange: [{
|
|
46843
|
+
type: Output
|
|
46844
|
+
}] } });
|
|
46845
|
+
|
|
46846
|
+
class NewGlobalVariableDialogComponent {
|
|
46847
|
+
constructor(cdr) {
|
|
46848
|
+
this.cdr = cdr;
|
|
46849
|
+
this.mode = 'create';
|
|
46850
|
+
this.existingNames = [];
|
|
46851
|
+
this.typeOptions = ['String', 'Number', 'Boolean', 'Password'];
|
|
46852
|
+
this.typeDropdownOptions = [
|
|
46853
|
+
{ label: 'String', value: 'String' },
|
|
46854
|
+
{ label: 'Number', value: 'Number' },
|
|
46855
|
+
{ label: 'Boolean', value: 'Boolean' },
|
|
46856
|
+
{ label: 'Password', value: 'Password' },
|
|
46857
|
+
];
|
|
46858
|
+
this.permissionSegments = [
|
|
46859
|
+
{ label: 'RO', value: 'RO', icon: 'lock' },
|
|
46860
|
+
{ label: 'RW', value: 'RW', icon: 'edit' },
|
|
46861
|
+
];
|
|
46862
|
+
this.name = '';
|
|
46863
|
+
this.type = 'String';
|
|
46864
|
+
this.value = '';
|
|
46865
|
+
this.readWriteMode = 'RW';
|
|
46866
|
+
this.description = '';
|
|
46867
|
+
this.passwordTouched = false;
|
|
46868
|
+
this.nameError = null;
|
|
46869
|
+
this.valueError = null;
|
|
46870
|
+
}
|
|
46871
|
+
ngOnInit() {
|
|
46872
|
+
var _a, _b, _c, _d, _e;
|
|
46873
|
+
if (this.initialValue) {
|
|
46874
|
+
this.name = (_a = this.initialValue.name) !== null && _a !== void 0 ? _a : '';
|
|
46875
|
+
this.type = (_b = this.initialValue.type) !== null && _b !== void 0 ? _b : 'String';
|
|
46876
|
+
this.value = (_c = this.initialValue.value) !== null && _c !== void 0 ? _c : '';
|
|
46877
|
+
this.readWriteMode = (_d = this.initialValue.readWriteMode) !== null && _d !== void 0 ? _d : 'RW';
|
|
46878
|
+
this.description = (_e = this.initialValue.description) !== null && _e !== void 0 ? _e : '';
|
|
46879
|
+
}
|
|
46880
|
+
if (this.type === 'Boolean' && this.value !== 'true' && this.value !== 'false') {
|
|
46881
|
+
this.value = 'false';
|
|
46882
|
+
}
|
|
46883
|
+
if (this.mode === 'edit' && this.type === 'Password') {
|
|
46884
|
+
this.value = '';
|
|
46885
|
+
}
|
|
46886
|
+
}
|
|
46887
|
+
get title() {
|
|
46888
|
+
return this.mode === 'edit' ? 'Edit global variable' : 'New global variable';
|
|
46889
|
+
}
|
|
46890
|
+
get subtitle() {
|
|
46891
|
+
return 'Workspace-wide — accessible from any test case, any environment.';
|
|
46892
|
+
}
|
|
46893
|
+
get primaryButtonLabel() {
|
|
46894
|
+
return this.mode === 'edit' ? 'Save changes' : 'Create variable';
|
|
46895
|
+
}
|
|
46896
|
+
get isBoolean() {
|
|
46897
|
+
return this.type === 'Boolean';
|
|
46898
|
+
}
|
|
46899
|
+
get isPassword() {
|
|
46900
|
+
return this.type === 'Password';
|
|
46901
|
+
}
|
|
46902
|
+
get isNumber() {
|
|
46903
|
+
return this.type === 'Number';
|
|
46904
|
+
}
|
|
46905
|
+
get valuePlaceholder() {
|
|
46906
|
+
if (this.isPassword && this.mode === 'edit') {
|
|
46907
|
+
return '•••••• (leave blank to keep existing)';
|
|
46908
|
+
}
|
|
46909
|
+
return '';
|
|
46910
|
+
}
|
|
46911
|
+
get nameHelperText() {
|
|
46912
|
+
if (this.nameError) {
|
|
46913
|
+
return this.nameError;
|
|
46914
|
+
}
|
|
46915
|
+
return 'Names must be unique across the entire workspace (primary key — no duplicates).';
|
|
46916
|
+
}
|
|
46917
|
+
get nameErrorsArray() {
|
|
46918
|
+
return this.nameError ? [this.nameError] : [];
|
|
46919
|
+
}
|
|
46920
|
+
get valueErrorsArray() {
|
|
46921
|
+
return this.valueError ? [this.valueError] : [];
|
|
46922
|
+
}
|
|
46923
|
+
get booleanOptions() {
|
|
46924
|
+
return [
|
|
46925
|
+
{ label: 'true', value: 'true' },
|
|
46926
|
+
{ label: 'false', value: 'false' },
|
|
46927
|
+
];
|
|
46928
|
+
}
|
|
46929
|
+
get booleanDropdownOptions() {
|
|
46930
|
+
return this.booleanOptions;
|
|
46931
|
+
}
|
|
46932
|
+
onNameChange(next) {
|
|
46933
|
+
this.name = next;
|
|
46934
|
+
this.nameError = null;
|
|
46935
|
+
this.cdr.markForCheck();
|
|
46936
|
+
}
|
|
46937
|
+
onTypeChange(next) {
|
|
46938
|
+
if (!next) {
|
|
46939
|
+
return;
|
|
46940
|
+
}
|
|
46941
|
+
this.type = next;
|
|
46942
|
+
if (this.type === 'Boolean' && this.value !== 'true' && this.value !== 'false') {
|
|
46943
|
+
this.value = 'false';
|
|
46944
|
+
}
|
|
46945
|
+
if (this.type === 'Password') {
|
|
46946
|
+
this.passwordTouched = false;
|
|
46947
|
+
if (this.mode === 'edit') {
|
|
46948
|
+
this.value = '';
|
|
46949
|
+
}
|
|
46950
|
+
}
|
|
46951
|
+
this.valueError = null;
|
|
46952
|
+
this.cdr.markForCheck();
|
|
46953
|
+
}
|
|
46954
|
+
onPermissionChange(next) {
|
|
46955
|
+
this.readWriteMode = next === 'RO' ? 'RO' : 'RW';
|
|
46956
|
+
this.cdr.markForCheck();
|
|
46957
|
+
}
|
|
46958
|
+
onValueChange(next) {
|
|
46959
|
+
this.value = next;
|
|
46960
|
+
if (this.isPassword) {
|
|
46961
|
+
this.passwordTouched = true;
|
|
46962
|
+
}
|
|
46963
|
+
this.valueError = null;
|
|
46964
|
+
this.cdr.markForCheck();
|
|
46965
|
+
}
|
|
46966
|
+
onBooleanValueChange(next) {
|
|
46967
|
+
this.value = next;
|
|
46968
|
+
this.cdr.markForCheck();
|
|
46969
|
+
}
|
|
46970
|
+
onDescriptionChange(next) {
|
|
46971
|
+
this.description = next;
|
|
46972
|
+
this.cdr.markForCheck();
|
|
46973
|
+
}
|
|
46974
|
+
/**
|
|
46975
|
+
* Called by the host (via DialogRef.getComponentInstance()) when the primary
|
|
46976
|
+
* button is clicked. Returns the captured value when valid, or null when the
|
|
46977
|
+
* form has errors — in which case the host should leave the dialog open.
|
|
46978
|
+
*/
|
|
46979
|
+
getValue() {
|
|
46980
|
+
const trimmedName = this.name.trim();
|
|
46981
|
+
if (!trimmedName) {
|
|
46982
|
+
this.nameError = 'Name is required.';
|
|
46983
|
+
}
|
|
46984
|
+
else if (this.isDuplicateName(trimmedName)) {
|
|
46985
|
+
this.nameError = 'A global variable with this name already exists — names must be unique.';
|
|
46986
|
+
}
|
|
46987
|
+
else {
|
|
46988
|
+
this.nameError = null;
|
|
46989
|
+
}
|
|
46990
|
+
if (this.isNumber && this.value && !this.isValidNumber(this.value)) {
|
|
46991
|
+
this.valueError = 'Value must be a number.';
|
|
46992
|
+
}
|
|
46993
|
+
else {
|
|
46994
|
+
this.valueError = null;
|
|
46995
|
+
}
|
|
46996
|
+
if (this.nameError || this.valueError) {
|
|
46997
|
+
this.cdr.markForCheck();
|
|
46998
|
+
return null;
|
|
46999
|
+
}
|
|
47000
|
+
const omitPasswordValue = this.isPassword && this.mode === 'edit' && !this.passwordTouched;
|
|
47001
|
+
return {
|
|
47002
|
+
name: trimmedName,
|
|
47003
|
+
type: this.type,
|
|
47004
|
+
value: omitPasswordValue ? null : this.serializeValue(),
|
|
47005
|
+
readWriteMode: this.readWriteMode,
|
|
47006
|
+
description: this.description ? this.description : null,
|
|
47007
|
+
};
|
|
47008
|
+
}
|
|
47009
|
+
serializeValue() {
|
|
47010
|
+
var _a;
|
|
47011
|
+
if (this.isBoolean) {
|
|
47012
|
+
return this.value === 'true' ? 'true' : 'false';
|
|
47013
|
+
}
|
|
47014
|
+
return (_a = this.value) !== null && _a !== void 0 ? _a : '';
|
|
47015
|
+
}
|
|
47016
|
+
isDuplicateName(candidate) {
|
|
47017
|
+
var _a, _b, _c;
|
|
47018
|
+
const existing = ((_a = this.existingNames) !== null && _a !== void 0 ? _a : []).map(n => (n !== null && n !== void 0 ? n : '').trim());
|
|
47019
|
+
if (this.mode === 'edit') {
|
|
47020
|
+
const original = ((_c = (_b = this.initialValue) === null || _b === void 0 ? void 0 : _b.name) !== null && _c !== void 0 ? _c : '').trim();
|
|
47021
|
+
return candidate !== original && existing.includes(candidate);
|
|
47022
|
+
}
|
|
47023
|
+
return existing.includes(candidate);
|
|
47024
|
+
}
|
|
47025
|
+
isValidNumber(raw) {
|
|
47026
|
+
const trimmed = raw.trim();
|
|
47027
|
+
if (!trimmed) {
|
|
47028
|
+
return true;
|
|
47029
|
+
}
|
|
47030
|
+
return !Number.isNaN(Number(trimmed));
|
|
47031
|
+
}
|
|
47032
|
+
}
|
|
47033
|
+
NewGlobalVariableDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: NewGlobalVariableDialogComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
47034
|
+
NewGlobalVariableDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: NewGlobalVariableDialogComponent, selector: "cqa-new-global-variable-dialog", inputs: { mode: "mode", initialValue: "initialValue", existingNames: "existingNames" }, host: { styleAttribute: "display:block;width:100%;", classAttribute: "cqa-ui-root" }, ngImport: i0, template: "<div class=\"cqa-flex cqa-flex-col cqa-gap-4 cqa-w-full\">\n\n <!-- Name -->\n <div class=\"cqa-flex cqa-flex-col\">\n <cqa-custom-input\n label=\"Name\"\n placeholder=\"e.g. ihg_api_key\"\n type=\"text\"\n [value]=\"name\"\n [required]=\"true\"\n [fullWidth]=\"true\"\n [errors]=\"nameErrorsArray\"\n inputInlineStyle=\"font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', monospace;\"\n (valueChange)=\"onNameChange($event)\">\n </cqa-custom-input>\n <span *ngIf=\"!nameError\"\n class=\"cqa-text-xs cqa-text-gray-500 cqa-mt-1\">\n Names must be unique across the entire workspace (primary key \u2014 no duplicates).\n </span>\n </div>\n\n <!-- Type + Permission row -->\n <div class=\"cqa-grid cqa-grid-cols-2 cqa-gap-4\">\n <div class=\"cqa-flex cqa-flex-col\">\n <label class=\"cqa-text-sm cqa-mb-1.5 cqa-font-medium cqa-text-gray-700\">Type</label>\n <cqa-dropdown-button\n [options]=\"typeDropdownOptions\"\n [selectedValue]=\"type\"\n (selectionChange)=\"onTypeChange($event)\">\n </cqa-dropdown-button>\n </div>\n <div class=\"cqa-flex cqa-flex-col\">\n <label class=\"cqa-text-sm cqa-mb-1.5 cqa-font-medium cqa-text-gray-700\">Permission</label>\n <div class=\"cqa-pt-0.5\">\n <cqa-permission-toggle\n [value]=\"readWriteMode\"\n (valueChange)=\"onPermissionChange($event)\">\n </cqa-permission-toggle>\n </div>\n </div>\n </div>\n\n <!-- Value -->\n <div class=\"cqa-flex cqa-flex-col\">\n <ng-container *ngIf=\"isBoolean; else nonBooleanValue\">\n <label class=\"cqa-text-sm cqa-mb-1.5 cqa-font-medium cqa-text-gray-700\">Value</label>\n <cqa-dropdown-button\n [options]=\"booleanDropdownOptions\"\n [selectedValue]=\"value\"\n (selectionChange)=\"onBooleanValueChange($event)\">\n </cqa-dropdown-button>\n </ng-container>\n <ng-template #nonBooleanValue>\n <cqa-custom-input\n label=\"Value\"\n [type]=\"isPassword ? 'password' : 'text'\"\n [value]=\"value\"\n [placeholder]=\"valuePlaceholder\"\n [fullWidth]=\"true\"\n [errors]=\"valueErrorsArray\"\n inputInlineStyle=\"font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', monospace;\"\n (valueChange)=\"onValueChange($event)\">\n </cqa-custom-input>\n </ng-template>\n </div>\n\n <!-- Description -->\n <div class=\"cqa-flex cqa-flex-col\">\n <cqa-custom-textarea\n label=\"Description\"\n placeholder=\"What is this variable used for?\"\n [value]=\"description\"\n [rows]=\"2\"\n [fullWidth]=\"true\"\n (valueChange)=\"onDescriptionChange($event)\">\n </cqa-custom-textarea>\n </div>\n\n</div>\n", components: [{ type: CustomInputComponent, selector: "cqa-custom-input", inputs: ["inputId", "label", "type", "placeholder", "value", "disabled", "errors", "required", "ariaLabel", "size", "fullWidth", "maxLength", "showCharCount", "inputInlineStyle", "labelInlineStyle"], outputs: ["valueChange", "blurred", "focused", "enterPressed"] }, { type: DropdownButtonComponent, selector: "cqa-dropdown-button", inputs: ["label", "options", "selectedValue", "disabled", "placeholder"], outputs: ["selectionChange", "opened", "closed"] }, { type: PermissionToggleComponent, selector: "cqa-permission-toggle", inputs: ["value", "disabled", "roTooltip", "rwTooltip"], outputs: ["valueChange"] }, { type: CustomTextareaComponent, selector: "cqa-custom-textarea", inputs: ["label", "placeholder", "value", "enableMarkdown", "disabled", "errors", "required", "ariaLabel", "size", "fullWidth", "maxLength", "showCharCount", "rows", "cols", "resize", "textareaInlineStyle", "labelInlineStyle"], outputs: ["valueChange", "blurred", "focused"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
47035
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: NewGlobalVariableDialogComponent, decorators: [{
|
|
47036
|
+
type: Component,
|
|
47037
|
+
args: [{ selector: 'cqa-new-global-variable-dialog', changeDetection: ChangeDetectionStrategy.OnPush, host: { class: 'cqa-ui-root', style: 'display:block;width:100%;' }, template: "<div class=\"cqa-flex cqa-flex-col cqa-gap-4 cqa-w-full\">\n\n <!-- Name -->\n <div class=\"cqa-flex cqa-flex-col\">\n <cqa-custom-input\n label=\"Name\"\n placeholder=\"e.g. ihg_api_key\"\n type=\"text\"\n [value]=\"name\"\n [required]=\"true\"\n [fullWidth]=\"true\"\n [errors]=\"nameErrorsArray\"\n inputInlineStyle=\"font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', monospace;\"\n (valueChange)=\"onNameChange($event)\">\n </cqa-custom-input>\n <span *ngIf=\"!nameError\"\n class=\"cqa-text-xs cqa-text-gray-500 cqa-mt-1\">\n Names must be unique across the entire workspace (primary key \u2014 no duplicates).\n </span>\n </div>\n\n <!-- Type + Permission row -->\n <div class=\"cqa-grid cqa-grid-cols-2 cqa-gap-4\">\n <div class=\"cqa-flex cqa-flex-col\">\n <label class=\"cqa-text-sm cqa-mb-1.5 cqa-font-medium cqa-text-gray-700\">Type</label>\n <cqa-dropdown-button\n [options]=\"typeDropdownOptions\"\n [selectedValue]=\"type\"\n (selectionChange)=\"onTypeChange($event)\">\n </cqa-dropdown-button>\n </div>\n <div class=\"cqa-flex cqa-flex-col\">\n <label class=\"cqa-text-sm cqa-mb-1.5 cqa-font-medium cqa-text-gray-700\">Permission</label>\n <div class=\"cqa-pt-0.5\">\n <cqa-permission-toggle\n [value]=\"readWriteMode\"\n (valueChange)=\"onPermissionChange($event)\">\n </cqa-permission-toggle>\n </div>\n </div>\n </div>\n\n <!-- Value -->\n <div class=\"cqa-flex cqa-flex-col\">\n <ng-container *ngIf=\"isBoolean; else nonBooleanValue\">\n <label class=\"cqa-text-sm cqa-mb-1.5 cqa-font-medium cqa-text-gray-700\">Value</label>\n <cqa-dropdown-button\n [options]=\"booleanDropdownOptions\"\n [selectedValue]=\"value\"\n (selectionChange)=\"onBooleanValueChange($event)\">\n </cqa-dropdown-button>\n </ng-container>\n <ng-template #nonBooleanValue>\n <cqa-custom-input\n label=\"Value\"\n [type]=\"isPassword ? 'password' : 'text'\"\n [value]=\"value\"\n [placeholder]=\"valuePlaceholder\"\n [fullWidth]=\"true\"\n [errors]=\"valueErrorsArray\"\n inputInlineStyle=\"font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', monospace;\"\n (valueChange)=\"onValueChange($event)\">\n </cqa-custom-input>\n </ng-template>\n </div>\n\n <!-- Description -->\n <div class=\"cqa-flex cqa-flex-col\">\n <cqa-custom-textarea\n label=\"Description\"\n placeholder=\"What is this variable used for?\"\n [value]=\"description\"\n [rows]=\"2\"\n [fullWidth]=\"true\"\n (valueChange)=\"onDescriptionChange($event)\">\n </cqa-custom-textarea>\n </div>\n\n</div>\n" }]
|
|
47038
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { mode: [{
|
|
47039
|
+
type: Input
|
|
47040
|
+
}], initialValue: [{
|
|
47041
|
+
type: Input
|
|
47042
|
+
}], existingNames: [{
|
|
47043
|
+
type: Input
|
|
47044
|
+
}] } });
|
|
47045
|
+
|
|
46763
47046
|
class UiKitModule {
|
|
46764
47047
|
constructor(iconRegistry) {
|
|
46765
47048
|
iconRegistry.registerFontClassAlias('material-symbols-outlined', 'material-symbols-outlined');
|
|
@@ -46855,6 +47138,8 @@ UiKitModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "1
|
|
|
46855
47138
|
SessionRestorationDialogComponent,
|
|
46856
47139
|
CaptureVideoDialogComponent,
|
|
46857
47140
|
SubStepsConfirmationDialogComponent,
|
|
47141
|
+
NewGlobalVariableDialogComponent,
|
|
47142
|
+
PermissionToggleComponent,
|
|
46858
47143
|
ExportCodeModalComponent,
|
|
46859
47144
|
ProgressIndicatorComponent,
|
|
46860
47145
|
StepProgressCardComponent,
|
|
@@ -47031,6 +47316,8 @@ UiKitModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "1
|
|
|
47031
47316
|
SessionRestorationDialogComponent,
|
|
47032
47317
|
CaptureVideoDialogComponent,
|
|
47033
47318
|
SubStepsConfirmationDialogComponent,
|
|
47319
|
+
NewGlobalVariableDialogComponent,
|
|
47320
|
+
PermissionToggleComponent,
|
|
47034
47321
|
ExportCodeModalComponent,
|
|
47035
47322
|
ProgressIndicatorComponent,
|
|
47036
47323
|
StepProgressCardComponent,
|
|
@@ -47252,6 +47539,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImpor
|
|
|
47252
47539
|
SessionRestorationDialogComponent,
|
|
47253
47540
|
CaptureVideoDialogComponent,
|
|
47254
47541
|
SubStepsConfirmationDialogComponent,
|
|
47542
|
+
NewGlobalVariableDialogComponent,
|
|
47543
|
+
PermissionToggleComponent,
|
|
47255
47544
|
ExportCodeModalComponent,
|
|
47256
47545
|
ProgressIndicatorComponent,
|
|
47257
47546
|
StepProgressCardComponent,
|
|
@@ -47434,6 +47723,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImpor
|
|
|
47434
47723
|
SessionRestorationDialogComponent,
|
|
47435
47724
|
CaptureVideoDialogComponent,
|
|
47436
47725
|
SubStepsConfirmationDialogComponent,
|
|
47726
|
+
NewGlobalVariableDialogComponent,
|
|
47727
|
+
PermissionToggleComponent,
|
|
47437
47728
|
ExportCodeModalComponent,
|
|
47438
47729
|
ProgressIndicatorComponent,
|
|
47439
47730
|
StepProgressCardComponent,
|
|
@@ -48269,5 +48560,5 @@ function buildTestCaseDetailsFromApi(data, options) {
|
|
|
48269
48560
|
* Generated bundle index. Do not edit.
|
|
48270
48561
|
*/
|
|
48271
48562
|
|
|
48272
|
-
export { ADVANCED_SUBFIELDS_BY_TYPE, ADVANCED_TOGGLE_KEYS, AIActionStepComponent, AIAgentStepComponent, API_EDIT_STEP_LABELS, ActionMenuButtonComponent, AddPrerequisiteCasesSectionComponent, AdvancedVariablesFormComponent, AiDebugAlertComponent, AiLogsWithReasoningComponent, AiPromptCardComponent, AiReasoningComponent, ApiEditStepComponent, ApiMockingCardComponent, ApiStepComponent, AutocompleteComponent, BadgeComponent, BasicStepComponent, BreakpointsModalComponent, ButtonComponent, CUSTOM_EDIT_STEP_DATA, CUSTOM_EDIT_STEP_EDIT_IN_DEPTH, CUSTOM_EDIT_STEP_REF, CUSTOM_ELEMENT_POPUP_REF, CaptureVideoDialogComponent, ChangeHistoryComponent, ChartCardComponent, CodeEditorComponent, ColumnVisibilityComponent, CompareRunsComponent, ConditionBranchEditorComponent, ConditionDebugStepComponent, ConditionStepComponent, ConfigurationCardComponent, ConsoleAlertComponent, CoverageModuleCardComponent, CreateStepGroupComponent, CustomEditStepComponent, CustomEditStepRef, CustomEditStepService, CustomInputComponent, CustomTextareaComponent, CustomToggleComponent, DEFAULT_METADATA_COLOR, DEFAULT_PRIORITY_COLOR_CONFIG, DEFAULT_STATUS_COLOR_CONFIG, DIALOG_DATA, DIALOG_REF, DashboardHeaderComponent, DaterangepickerComponent, DaterangepickerDirective, DbQueryExecutionItemComponent, DbVerificationStepComponent, DeleteStepsComponent, DetailDrawerComponent, DetailDrawerTabComponent, DetailDrawerTabContentDirective, DetailSidePanelComponent, DialogComponent, DialogRef, DialogService, DocumentVerificationStepComponent, DropdownButtonComponent, DynamicCellContainerDirective, DynamicCellTemplateDirective, DynamicFilterComponent, DynamicHeaderTemplateDirective, DynamicSelectFieldComponent, DynamicTableComponent, ELEMENT_POPUP_DATA, ELEMENT_POPUP_EDIT_IN_DEPTH, EMPTY_STATE_IMAGES, EMPTY_STATE_PRESETS, ElementFormComponent, ElementListComponent, ElementPopupComponent, ElementPopupRef, ElementPopupService, EmptyStateComponent, ErrorModalComponent, ExecutionResultModalComponent, ExportCodeModalComponent, FailedStepCardComponent, FailedStepComponent, FailedTestCasesCardComponent, FileDownloadStepComponent, FileUploadComponent, FullTableLoaderComponent, HeatErrorMapCellComponent, InsightCardComponent, ItemListComponent, IterationsLoopComponent, JumpToStepModalComponent, LiveConversationComponent, LiveExecutionStepComponent, LoopStepComponent, MONACO_LANGUAGE_MAP, MainStepCollapseComponent, MetricsCardComponent, MixedVariableInputComponent, NetworkRequestComponent, NewVersionHistoryDetailComponent, OtherButtonComponent, PRIORITY_COLORS, PaginationComponent, ProgressIndicatorComponent, ProgressTextCardComponent, QuestionnaireListComponent, RESULT_COLORS, RadioCardGroupComponent, RecordingBannerComponent, ReviewRecordedStepsModalComponent, RunExecutionAlertComponent, RunHistoryCardComponent, STATUS_COLORS, STEP_DETAILS_DRAWER_DATA, STEP_DETAILS_DRAWER_REF, STEP_DETAILS_FIELDS_BY_TYPE, STEP_DETAILS_FIELD_META, STEP_DETAILS_MODAL_DATA, STEP_DETAILS_MODAL_REF, SearchBarComponent, SegmentControlComponent, SelectedFiltersComponent, SelfHealAnalysisComponent, SessionChangesModalComponent, SessionRestorationDialogComponent, SimulatorComponent, StepBuilderActionComponent, StepBuilderAiAgentComponent, StepBuilderConditionComponent, StepBuilderCustomCodeComponent, StepBuilderDatabaseComponent, StepBuilderDocumentComponent, StepBuilderDocumentGenerationTemplateStepComponent, StepBuilderGroupComponent, StepBuilderLoopComponent, StepBuilderRecordStepComponent, StepDetailsDrawerComponent, StepDetailsDrawerRef, StepDetailsDrawerService, StepDetailsModalComponent, StepDetailsModalRef, StepDetailsModalService, StepGroupComponent, StepProgressCardComponent, StepRendererComponent, StepStatusCardComponent, StepTypes, StepperComponent, SubStepsConfirmationDialogComponent, TEST_CASE_DETAILS_FIELD_MAP, TEST_CASE_DETAILS_SELECT_KEYS, TEST_DATA_MODAL_DATA, TEST_DATA_MODAL_EDIT_IN_DEPTH, TEST_DATA_MODAL_REF, TableActionToolbarComponent, TableDataLoaderComponent, TableTemplateComponent, TailwindOverlayContainer, TemplateVariablesFormComponent, TestCaseAiAgentStepComponent, TestCaseAiVerifyStepComponent, TestCaseApiStepComponent, TestCaseConditionStepComponent, TestCaseCustomCodeStepComponent, TestCaseDatabaseStepComponent, TestCaseDetailsComponent, TestCaseDetailsEditComponent, TestCaseDetailsRendererComponent, TestCaseLinkCellComponent, TestCaseLoopStepComponent, TestCaseNormalStepComponent, TestCaseRestoreSessionStepComponent, TestCaseScreenshotStepComponent, TestCaseScrollStepComponent, TestCaseStepGroupComponent, TestCaseUploadStepComponent, TestCaseVerifyUrlStepComponent, TestDataModalComponent, TestDataModalRef, TestDataModalService, TestDistributionCardComponent, UiKitModule, UpdatedFailedStepComponent, VersionHistoryCompareComponent, VersionHistoryDetailComponent, VersionHistoryListComponent, VersionHistoryRestoreConfirmComponent, ViewCompareButtonComponent, ViewMoreFailedStepButtonComponent, VisualComparisonComponent, VisualDifferenceModalComponent, WorkspaceSelectorComponent, buildTestCaseDetailsFromApi, getDynamicFieldsFromLegacyConfig, getEmptyStatePreset, getMetadataColor, getMetadataValueStyle, getStepDetailsStepType, humanizeVariableKey, isAiAgentStepConfig, isAiVerifyStepConfig, isApiStepConfig, isConditionStepConfig, isCustomCodeStepConfig, isDatabaseStepConfig, isLoopStepConfig, isNormalStepConfig, isRestoreSessionStepConfig, isScreenshotStepConfig, isScrollStepConfig, isStepGroupConfig, isUploadStepConfig, isVerifyUrlStepConfig, mapApiVariablesToDynamicFields };
|
|
48563
|
+
export { ADVANCED_SUBFIELDS_BY_TYPE, ADVANCED_TOGGLE_KEYS, AIActionStepComponent, AIAgentStepComponent, API_EDIT_STEP_LABELS, ActionMenuButtonComponent, AddPrerequisiteCasesSectionComponent, AdvancedVariablesFormComponent, AiDebugAlertComponent, AiLogsWithReasoningComponent, AiPromptCardComponent, AiReasoningComponent, ApiEditStepComponent, ApiMockingCardComponent, ApiStepComponent, AutocompleteComponent, BadgeComponent, BasicStepComponent, BreakpointsModalComponent, ButtonComponent, CUSTOM_EDIT_STEP_DATA, CUSTOM_EDIT_STEP_EDIT_IN_DEPTH, CUSTOM_EDIT_STEP_REF, CUSTOM_ELEMENT_POPUP_REF, CaptureVideoDialogComponent, ChangeHistoryComponent, ChartCardComponent, CodeEditorComponent, ColumnVisibilityComponent, CompareRunsComponent, ConditionBranchEditorComponent, ConditionDebugStepComponent, ConditionStepComponent, ConfigurationCardComponent, ConsoleAlertComponent, CoverageModuleCardComponent, CreateStepGroupComponent, CustomEditStepComponent, CustomEditStepRef, CustomEditStepService, CustomInputComponent, CustomTextareaComponent, CustomToggleComponent, DEFAULT_METADATA_COLOR, DEFAULT_PRIORITY_COLOR_CONFIG, DEFAULT_STATUS_COLOR_CONFIG, DIALOG_DATA, DIALOG_REF, DashboardHeaderComponent, DaterangepickerComponent, DaterangepickerDirective, DbQueryExecutionItemComponent, DbVerificationStepComponent, DeleteStepsComponent, DetailDrawerComponent, DetailDrawerTabComponent, DetailDrawerTabContentDirective, DetailSidePanelComponent, DialogComponent, DialogRef, DialogService, DocumentVerificationStepComponent, DropdownButtonComponent, DynamicCellContainerDirective, DynamicCellTemplateDirective, DynamicFilterComponent, DynamicHeaderTemplateDirective, DynamicSelectFieldComponent, DynamicTableComponent, ELEMENT_POPUP_DATA, ELEMENT_POPUP_EDIT_IN_DEPTH, EMPTY_STATE_IMAGES, EMPTY_STATE_PRESETS, ElementFormComponent, ElementListComponent, ElementPopupComponent, ElementPopupRef, ElementPopupService, EmptyStateComponent, ErrorModalComponent, ExecutionResultModalComponent, ExportCodeModalComponent, FailedStepCardComponent, FailedStepComponent, FailedTestCasesCardComponent, FileDownloadStepComponent, FileUploadComponent, FullTableLoaderComponent, HeatErrorMapCellComponent, InsightCardComponent, ItemListComponent, IterationsLoopComponent, JumpToStepModalComponent, LiveConversationComponent, LiveExecutionStepComponent, LoopStepComponent, MONACO_LANGUAGE_MAP, MainStepCollapseComponent, MetricsCardComponent, MixedVariableInputComponent, NetworkRequestComponent, NewGlobalVariableDialogComponent, NewVersionHistoryDetailComponent, OtherButtonComponent, PRIORITY_COLORS, PaginationComponent, PermissionToggleComponent, ProgressIndicatorComponent, ProgressTextCardComponent, QuestionnaireListComponent, RESULT_COLORS, RadioCardGroupComponent, RecordingBannerComponent, ReviewRecordedStepsModalComponent, RunExecutionAlertComponent, RunHistoryCardComponent, STATUS_COLORS, STEP_DETAILS_DRAWER_DATA, STEP_DETAILS_DRAWER_REF, STEP_DETAILS_FIELDS_BY_TYPE, STEP_DETAILS_FIELD_META, STEP_DETAILS_MODAL_DATA, STEP_DETAILS_MODAL_REF, SearchBarComponent, SegmentControlComponent, SelectedFiltersComponent, SelfHealAnalysisComponent, SessionChangesModalComponent, SessionRestorationDialogComponent, SimulatorComponent, StepBuilderActionComponent, StepBuilderAiAgentComponent, StepBuilderConditionComponent, StepBuilderCustomCodeComponent, StepBuilderDatabaseComponent, StepBuilderDocumentComponent, StepBuilderDocumentGenerationTemplateStepComponent, StepBuilderGroupComponent, StepBuilderLoopComponent, StepBuilderRecordStepComponent, StepDetailsDrawerComponent, StepDetailsDrawerRef, StepDetailsDrawerService, StepDetailsModalComponent, StepDetailsModalRef, StepDetailsModalService, StepGroupComponent, StepProgressCardComponent, StepRendererComponent, StepStatusCardComponent, StepTypes, StepperComponent, SubStepsConfirmationDialogComponent, TEST_CASE_DETAILS_FIELD_MAP, TEST_CASE_DETAILS_SELECT_KEYS, TEST_DATA_MODAL_DATA, TEST_DATA_MODAL_EDIT_IN_DEPTH, TEST_DATA_MODAL_REF, TableActionToolbarComponent, TableDataLoaderComponent, TableTemplateComponent, TailwindOverlayContainer, TemplateVariablesFormComponent, TestCaseAiAgentStepComponent, TestCaseAiVerifyStepComponent, TestCaseApiStepComponent, TestCaseConditionStepComponent, TestCaseCustomCodeStepComponent, TestCaseDatabaseStepComponent, TestCaseDetailsComponent, TestCaseDetailsEditComponent, TestCaseDetailsRendererComponent, TestCaseLinkCellComponent, TestCaseLoopStepComponent, TestCaseNormalStepComponent, TestCaseRestoreSessionStepComponent, TestCaseScreenshotStepComponent, TestCaseScrollStepComponent, TestCaseStepGroupComponent, TestCaseUploadStepComponent, TestCaseVerifyUrlStepComponent, TestDataModalComponent, TestDataModalRef, TestDataModalService, TestDistributionCardComponent, UiKitModule, UpdatedFailedStepComponent, VersionHistoryCompareComponent, VersionHistoryDetailComponent, VersionHistoryListComponent, VersionHistoryRestoreConfirmComponent, ViewCompareButtonComponent, ViewMoreFailedStepButtonComponent, VisualComparisonComponent, VisualDifferenceModalComponent, WorkspaceSelectorComponent, buildTestCaseDetailsFromApi, getDynamicFieldsFromLegacyConfig, getEmptyStatePreset, getMetadataColor, getMetadataValueStyle, getStepDetailsStepType, humanizeVariableKey, isAiAgentStepConfig, isAiVerifyStepConfig, isApiStepConfig, isConditionStepConfig, isCustomCodeStepConfig, isDatabaseStepConfig, isLoopStepConfig, isNormalStepConfig, isRestoreSessionStepConfig, isScreenshotStepConfig, isScrollStepConfig, isStepGroupConfig, isUploadStepConfig, isVerifyUrlStepConfig, mapApiVariablesToDynamicFields };
|
|
48273
48564
|
//# sourceMappingURL=cqa-lib-cqa-ui.mjs.map
|