@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
|
@@ -46598,6 +46598,286 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImpor
|
|
|
46598
46598
|
type: Output
|
|
46599
46599
|
}] } });
|
|
46600
46600
|
|
|
46601
|
+
class PermissionToggleComponent {
|
|
46602
|
+
constructor() {
|
|
46603
|
+
this.value = 'RW';
|
|
46604
|
+
this.disabled = false;
|
|
46605
|
+
this.roTooltip = 'Read only — click to allow writes';
|
|
46606
|
+
this.rwTooltip = 'Read / write — click to lock';
|
|
46607
|
+
this.valueChange = new EventEmitter();
|
|
46608
|
+
}
|
|
46609
|
+
onClick(next, event) {
|
|
46610
|
+
event.stopPropagation();
|
|
46611
|
+
if (this.disabled || next === this.value) {
|
|
46612
|
+
return;
|
|
46613
|
+
}
|
|
46614
|
+
this.value = next;
|
|
46615
|
+
this.valueChange.emit(next);
|
|
46616
|
+
}
|
|
46617
|
+
}
|
|
46618
|
+
PermissionToggleComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: PermissionToggleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
46619
|
+
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: `
|
|
46620
|
+
<div class="cqa-ui-root" style="display:inline-flex;">
|
|
46621
|
+
<div class="cqa-permission-toggle" [class.cqa-permission-toggle--disabled]="disabled">
|
|
46622
|
+
<button
|
|
46623
|
+
type="button"
|
|
46624
|
+
class="cqa-perm-pill cqa-perm-pill--ro"
|
|
46625
|
+
[class.active]="value === 'RO'"
|
|
46626
|
+
[disabled]="disabled"
|
|
46627
|
+
[title]="roTooltip"
|
|
46628
|
+
(click)="onClick('RO', $event)">
|
|
46629
|
+
<mat-icon class="cqa-perm-icon">lock</mat-icon>RO
|
|
46630
|
+
</button>
|
|
46631
|
+
<button
|
|
46632
|
+
type="button"
|
|
46633
|
+
class="cqa-perm-pill cqa-perm-pill--rw"
|
|
46634
|
+
[class.active]="value === 'RW'"
|
|
46635
|
+
[disabled]="disabled"
|
|
46636
|
+
[title]="rwTooltip"
|
|
46637
|
+
(click)="onClick('RW', $event)">
|
|
46638
|
+
<mat-icon class="cqa-perm-icon">edit</mat-icon>RW
|
|
46639
|
+
</button>
|
|
46640
|
+
</div>
|
|
46641
|
+
</div>
|
|
46642
|
+
`, isInline: true, components: [{ type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] });
|
|
46643
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: PermissionToggleComponent, decorators: [{
|
|
46644
|
+
type: Component,
|
|
46645
|
+
args: [{
|
|
46646
|
+
selector: 'cqa-permission-toggle',
|
|
46647
|
+
template: `
|
|
46648
|
+
<div class="cqa-ui-root" style="display:inline-flex;">
|
|
46649
|
+
<div class="cqa-permission-toggle" [class.cqa-permission-toggle--disabled]="disabled">
|
|
46650
|
+
<button
|
|
46651
|
+
type="button"
|
|
46652
|
+
class="cqa-perm-pill cqa-perm-pill--ro"
|
|
46653
|
+
[class.active]="value === 'RO'"
|
|
46654
|
+
[disabled]="disabled"
|
|
46655
|
+
[title]="roTooltip"
|
|
46656
|
+
(click)="onClick('RO', $event)">
|
|
46657
|
+
<mat-icon class="cqa-perm-icon">lock</mat-icon>RO
|
|
46658
|
+
</button>
|
|
46659
|
+
<button
|
|
46660
|
+
type="button"
|
|
46661
|
+
class="cqa-perm-pill cqa-perm-pill--rw"
|
|
46662
|
+
[class.active]="value === 'RW'"
|
|
46663
|
+
[disabled]="disabled"
|
|
46664
|
+
[title]="rwTooltip"
|
|
46665
|
+
(click)="onClick('RW', $event)">
|
|
46666
|
+
<mat-icon class="cqa-perm-icon">edit</mat-icon>RW
|
|
46667
|
+
</button>
|
|
46668
|
+
</div>
|
|
46669
|
+
</div>
|
|
46670
|
+
`,
|
|
46671
|
+
}]
|
|
46672
|
+
}], propDecorators: { value: [{
|
|
46673
|
+
type: Input
|
|
46674
|
+
}], disabled: [{
|
|
46675
|
+
type: Input
|
|
46676
|
+
}], roTooltip: [{
|
|
46677
|
+
type: Input
|
|
46678
|
+
}], rwTooltip: [{
|
|
46679
|
+
type: Input
|
|
46680
|
+
}], valueChange: [{
|
|
46681
|
+
type: Output
|
|
46682
|
+
}] } });
|
|
46683
|
+
|
|
46684
|
+
class NewGlobalVariableDialogComponent {
|
|
46685
|
+
constructor(cdr) {
|
|
46686
|
+
this.cdr = cdr;
|
|
46687
|
+
this.mode = 'create';
|
|
46688
|
+
this.existingNames = [];
|
|
46689
|
+
this.typeOptions = ['String', 'Number', 'Boolean', 'Password'];
|
|
46690
|
+
this.typeDropdownOptions = [
|
|
46691
|
+
{ label: 'String', value: 'String' },
|
|
46692
|
+
{ label: 'Number', value: 'Number' },
|
|
46693
|
+
{ label: 'Boolean', value: 'Boolean' },
|
|
46694
|
+
{ label: 'Password', value: 'Password' },
|
|
46695
|
+
];
|
|
46696
|
+
this.permissionSegments = [
|
|
46697
|
+
{ label: 'RO', value: 'RO', icon: 'lock' },
|
|
46698
|
+
{ label: 'RW', value: 'RW', icon: 'edit' },
|
|
46699
|
+
];
|
|
46700
|
+
this.name = '';
|
|
46701
|
+
this.type = 'String';
|
|
46702
|
+
this.value = '';
|
|
46703
|
+
this.readWriteMode = 'RW';
|
|
46704
|
+
this.description = '';
|
|
46705
|
+
this.passwordTouched = false;
|
|
46706
|
+
this.nameError = null;
|
|
46707
|
+
this.valueError = null;
|
|
46708
|
+
}
|
|
46709
|
+
ngOnInit() {
|
|
46710
|
+
if (this.initialValue) {
|
|
46711
|
+
this.name = this.initialValue.name ?? '';
|
|
46712
|
+
this.type = this.initialValue.type ?? 'String';
|
|
46713
|
+
this.value = this.initialValue.value ?? '';
|
|
46714
|
+
this.readWriteMode = this.initialValue.readWriteMode ?? 'RW';
|
|
46715
|
+
this.description = this.initialValue.description ?? '';
|
|
46716
|
+
}
|
|
46717
|
+
if (this.type === 'Boolean' && this.value !== 'true' && this.value !== 'false') {
|
|
46718
|
+
this.value = 'false';
|
|
46719
|
+
}
|
|
46720
|
+
if (this.mode === 'edit' && this.type === 'Password') {
|
|
46721
|
+
this.value = '';
|
|
46722
|
+
}
|
|
46723
|
+
}
|
|
46724
|
+
get title() {
|
|
46725
|
+
return this.mode === 'edit' ? 'Edit global variable' : 'New global variable';
|
|
46726
|
+
}
|
|
46727
|
+
get subtitle() {
|
|
46728
|
+
return 'Workspace-wide — accessible from any test case, any environment.';
|
|
46729
|
+
}
|
|
46730
|
+
get primaryButtonLabel() {
|
|
46731
|
+
return this.mode === 'edit' ? 'Save changes' : 'Create variable';
|
|
46732
|
+
}
|
|
46733
|
+
get isBoolean() {
|
|
46734
|
+
return this.type === 'Boolean';
|
|
46735
|
+
}
|
|
46736
|
+
get isPassword() {
|
|
46737
|
+
return this.type === 'Password';
|
|
46738
|
+
}
|
|
46739
|
+
get isNumber() {
|
|
46740
|
+
return this.type === 'Number';
|
|
46741
|
+
}
|
|
46742
|
+
get valuePlaceholder() {
|
|
46743
|
+
if (this.isPassword && this.mode === 'edit') {
|
|
46744
|
+
return '•••••• (leave blank to keep existing)';
|
|
46745
|
+
}
|
|
46746
|
+
return '';
|
|
46747
|
+
}
|
|
46748
|
+
get nameHelperText() {
|
|
46749
|
+
if (this.nameError) {
|
|
46750
|
+
return this.nameError;
|
|
46751
|
+
}
|
|
46752
|
+
return 'Names must be unique across the entire workspace (primary key — no duplicates).';
|
|
46753
|
+
}
|
|
46754
|
+
get nameErrorsArray() {
|
|
46755
|
+
return this.nameError ? [this.nameError] : [];
|
|
46756
|
+
}
|
|
46757
|
+
get valueErrorsArray() {
|
|
46758
|
+
return this.valueError ? [this.valueError] : [];
|
|
46759
|
+
}
|
|
46760
|
+
get booleanOptions() {
|
|
46761
|
+
return [
|
|
46762
|
+
{ label: 'true', value: 'true' },
|
|
46763
|
+
{ label: 'false', value: 'false' },
|
|
46764
|
+
];
|
|
46765
|
+
}
|
|
46766
|
+
get booleanDropdownOptions() {
|
|
46767
|
+
return this.booleanOptions;
|
|
46768
|
+
}
|
|
46769
|
+
onNameChange(next) {
|
|
46770
|
+
this.name = next;
|
|
46771
|
+
this.nameError = null;
|
|
46772
|
+
this.cdr.markForCheck();
|
|
46773
|
+
}
|
|
46774
|
+
onTypeChange(next) {
|
|
46775
|
+
if (!next) {
|
|
46776
|
+
return;
|
|
46777
|
+
}
|
|
46778
|
+
this.type = next;
|
|
46779
|
+
if (this.type === 'Boolean' && this.value !== 'true' && this.value !== 'false') {
|
|
46780
|
+
this.value = 'false';
|
|
46781
|
+
}
|
|
46782
|
+
if (this.type === 'Password') {
|
|
46783
|
+
this.passwordTouched = false;
|
|
46784
|
+
if (this.mode === 'edit') {
|
|
46785
|
+
this.value = '';
|
|
46786
|
+
}
|
|
46787
|
+
}
|
|
46788
|
+
this.valueError = null;
|
|
46789
|
+
this.cdr.markForCheck();
|
|
46790
|
+
}
|
|
46791
|
+
onPermissionChange(next) {
|
|
46792
|
+
this.readWriteMode = next === 'RO' ? 'RO' : 'RW';
|
|
46793
|
+
this.cdr.markForCheck();
|
|
46794
|
+
}
|
|
46795
|
+
onValueChange(next) {
|
|
46796
|
+
this.value = next;
|
|
46797
|
+
if (this.isPassword) {
|
|
46798
|
+
this.passwordTouched = true;
|
|
46799
|
+
}
|
|
46800
|
+
this.valueError = null;
|
|
46801
|
+
this.cdr.markForCheck();
|
|
46802
|
+
}
|
|
46803
|
+
onBooleanValueChange(next) {
|
|
46804
|
+
this.value = next;
|
|
46805
|
+
this.cdr.markForCheck();
|
|
46806
|
+
}
|
|
46807
|
+
onDescriptionChange(next) {
|
|
46808
|
+
this.description = next;
|
|
46809
|
+
this.cdr.markForCheck();
|
|
46810
|
+
}
|
|
46811
|
+
/**
|
|
46812
|
+
* Called by the host (via DialogRef.getComponentInstance()) when the primary
|
|
46813
|
+
* button is clicked. Returns the captured value when valid, or null when the
|
|
46814
|
+
* form has errors — in which case the host should leave the dialog open.
|
|
46815
|
+
*/
|
|
46816
|
+
getValue() {
|
|
46817
|
+
const trimmedName = this.name.trim();
|
|
46818
|
+
if (!trimmedName) {
|
|
46819
|
+
this.nameError = 'Name is required.';
|
|
46820
|
+
}
|
|
46821
|
+
else if (this.isDuplicateName(trimmedName)) {
|
|
46822
|
+
this.nameError = 'A global variable with this name already exists — names must be unique.';
|
|
46823
|
+
}
|
|
46824
|
+
else {
|
|
46825
|
+
this.nameError = null;
|
|
46826
|
+
}
|
|
46827
|
+
if (this.isNumber && this.value && !this.isValidNumber(this.value)) {
|
|
46828
|
+
this.valueError = 'Value must be a number.';
|
|
46829
|
+
}
|
|
46830
|
+
else {
|
|
46831
|
+
this.valueError = null;
|
|
46832
|
+
}
|
|
46833
|
+
if (this.nameError || this.valueError) {
|
|
46834
|
+
this.cdr.markForCheck();
|
|
46835
|
+
return null;
|
|
46836
|
+
}
|
|
46837
|
+
const omitPasswordValue = this.isPassword && this.mode === 'edit' && !this.passwordTouched;
|
|
46838
|
+
return {
|
|
46839
|
+
name: trimmedName,
|
|
46840
|
+
type: this.type,
|
|
46841
|
+
value: omitPasswordValue ? null : this.serializeValue(),
|
|
46842
|
+
readWriteMode: this.readWriteMode,
|
|
46843
|
+
description: this.description ? this.description : null,
|
|
46844
|
+
};
|
|
46845
|
+
}
|
|
46846
|
+
serializeValue() {
|
|
46847
|
+
if (this.isBoolean) {
|
|
46848
|
+
return this.value === 'true' ? 'true' : 'false';
|
|
46849
|
+
}
|
|
46850
|
+
return this.value ?? '';
|
|
46851
|
+
}
|
|
46852
|
+
isDuplicateName(candidate) {
|
|
46853
|
+
const existing = (this.existingNames ?? []).map(n => (n ?? '').trim());
|
|
46854
|
+
if (this.mode === 'edit') {
|
|
46855
|
+
const original = (this.initialValue?.name ?? '').trim();
|
|
46856
|
+
return candidate !== original && existing.includes(candidate);
|
|
46857
|
+
}
|
|
46858
|
+
return existing.includes(candidate);
|
|
46859
|
+
}
|
|
46860
|
+
isValidNumber(raw) {
|
|
46861
|
+
const trimmed = raw.trim();
|
|
46862
|
+
if (!trimmed) {
|
|
46863
|
+
return true;
|
|
46864
|
+
}
|
|
46865
|
+
return !Number.isNaN(Number(trimmed));
|
|
46866
|
+
}
|
|
46867
|
+
}
|
|
46868
|
+
NewGlobalVariableDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: NewGlobalVariableDialogComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
46869
|
+
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 });
|
|
46870
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: NewGlobalVariableDialogComponent, decorators: [{
|
|
46871
|
+
type: Component,
|
|
46872
|
+
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" }]
|
|
46873
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { mode: [{
|
|
46874
|
+
type: Input
|
|
46875
|
+
}], initialValue: [{
|
|
46876
|
+
type: Input
|
|
46877
|
+
}], existingNames: [{
|
|
46878
|
+
type: Input
|
|
46879
|
+
}] } });
|
|
46880
|
+
|
|
46601
46881
|
class UiKitModule {
|
|
46602
46882
|
constructor(iconRegistry) {
|
|
46603
46883
|
iconRegistry.registerFontClassAlias('material-symbols-outlined', 'material-symbols-outlined');
|
|
@@ -46693,6 +46973,8 @@ UiKitModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "1
|
|
|
46693
46973
|
SessionRestorationDialogComponent,
|
|
46694
46974
|
CaptureVideoDialogComponent,
|
|
46695
46975
|
SubStepsConfirmationDialogComponent,
|
|
46976
|
+
NewGlobalVariableDialogComponent,
|
|
46977
|
+
PermissionToggleComponent,
|
|
46696
46978
|
ExportCodeModalComponent,
|
|
46697
46979
|
ProgressIndicatorComponent,
|
|
46698
46980
|
StepProgressCardComponent,
|
|
@@ -46869,6 +47151,8 @@ UiKitModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "1
|
|
|
46869
47151
|
SessionRestorationDialogComponent,
|
|
46870
47152
|
CaptureVideoDialogComponent,
|
|
46871
47153
|
SubStepsConfirmationDialogComponent,
|
|
47154
|
+
NewGlobalVariableDialogComponent,
|
|
47155
|
+
PermissionToggleComponent,
|
|
46872
47156
|
ExportCodeModalComponent,
|
|
46873
47157
|
ProgressIndicatorComponent,
|
|
46874
47158
|
StepProgressCardComponent,
|
|
@@ -47090,6 +47374,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImpor
|
|
|
47090
47374
|
SessionRestorationDialogComponent,
|
|
47091
47375
|
CaptureVideoDialogComponent,
|
|
47092
47376
|
SubStepsConfirmationDialogComponent,
|
|
47377
|
+
NewGlobalVariableDialogComponent,
|
|
47378
|
+
PermissionToggleComponent,
|
|
47093
47379
|
ExportCodeModalComponent,
|
|
47094
47380
|
ProgressIndicatorComponent,
|
|
47095
47381
|
StepProgressCardComponent,
|
|
@@ -47272,6 +47558,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImpor
|
|
|
47272
47558
|
SessionRestorationDialogComponent,
|
|
47273
47559
|
CaptureVideoDialogComponent,
|
|
47274
47560
|
SubStepsConfirmationDialogComponent,
|
|
47561
|
+
NewGlobalVariableDialogComponent,
|
|
47562
|
+
PermissionToggleComponent,
|
|
47275
47563
|
ExportCodeModalComponent,
|
|
47276
47564
|
ProgressIndicatorComponent,
|
|
47277
47565
|
StepProgressCardComponent,
|
|
@@ -48102,5 +48390,5 @@ function buildTestCaseDetailsFromApi(data, options) {
|
|
|
48102
48390
|
* Generated bundle index. Do not edit.
|
|
48103
48391
|
*/
|
|
48104
48392
|
|
|
48105
|
-
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 };
|
|
48393
|
+
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 };
|
|
48106
48394
|
//# sourceMappingURL=cqa-lib-cqa-ui.mjs.map
|