rd-outer-component 0.0.45 → 0.0.47

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.
@@ -613,7 +613,7 @@ CustomTextareaComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0"
613
613
  useExisting: forwardRef(() => CustomTextareaComponent),
614
614
  multi: true,
615
615
  },
616
- ], ngImport: i0, template: "<div>\n <div\n class=\"rd-form-item rd-form-textarea\"\n [ngClass]=\"{ disabled: disabled, error: showError }\"\n >\n <textarea\n nz-input\n nzBorderless\n [name]=\"name\"\n [(ngModel)]=\"value\"\n [disabled]=\"disabled\"\n (ngModelChange)=\"handleValueChange($event)\"\n (blur)=\"onBlur()\"\n [nzAutosize]=\"nzAutosize\"\n placeholder=\" \"\n class=\"rd-form-item-input\"\n ></textarea>\n <div class=\"rd-form-item-label\">{{ label }}</div>\n </div>\n <div *ngIf=\"showError\" class=\"rd-form-item-error\">\n <img *ngIf=\"currentErrorMessage\" src=\"/assets/img/icon/icon-error.svg\" />\n {{ currentErrorMessage }}\n </div>\n</div>\n", styles: [":host .rd-form-textarea{height:auto;min-height:64px}:host .rd-form-textarea .rd-form-item-input{position:static;line-height:1;min-height:58px}:host .rd-form-textarea .rd-form-item-input:focus,:host .rd-form-textarea .rd-form-item-input:not(:placeholder-shown){padding-top:28px}\n", ".rd-form-item{position:relative;border-radius:4px;padding:2px 0;border:1px solid #e5e7eb;background-color:#fff;width:100%;height:64px}.rd-form-item .rd-form-item-select-icon{position:absolute;right:12px;top:50%;transform:translateY(-50%);width:16px;height:16px;pointer-events:none}.rd-form-item-label{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:#6b7280;transition:all .3s ease;pointer-events:none;z-index:1;font-size:14px;font-weight:600;line-height:1}.rd-form-item-input{color:#030712;font-size:14px;width:100%;font-weight:500;padding:22px 16px 12px;height:52px}.rd-form-item-input:focus,.rd-form-item-input:not(:placeholder-shown){top:10px}.rd-form-item .rd-form-item-input:focus~.rd-form-item-label,.rd-form-item .rd-form-item-input:not(:placeholder-shown)~.rd-form-item-label{top:18px;font-size:12px}.rd-form-item-select{width:100%}.rd-form-item-select ::ng-deep .ant-select-selection-item{color:#030712;font-size:14px;font-weight:500}.rd-form-item.rd-selected .rd-form-item-label{top:16px;font-size:12px}.rd-form-item.rd-selected .rd-form-item-select{top:10px}.rd-form-item.rd-disabled{background-color:#f3f4f6;border-color:#d1d5db}.rd-form-item.rd-disabled .rd-form-item-label,.rd-form-item.rd-disabled .rd-form-item-input{color:#9ca3af}.rd-form-item.rd-disabled ::ng-deep .ant-select-selection-item{color:#9ca3af}.rd-form-item.rd-error{border-color:#e51c36}.rd-form-item-error{color:#d2152e;font-size:12px;font-weight:500;display:flex;align-items:center;gap:4px;margin-top:4px}.rd-form-item-error img{width:16px}.rd-form-number-item{position:relative;border-radius:4px;padding:12px 16px;background-color:#fff;border:1px solid #e5e7eb;width:100%}.rd-form-number-item .rd-item-label{color:#6b7280;font-size:12px;font-weight:600}.rd-form-number-item .rd-item-content{display:flex;align-items:center;font-size:32px;font-weight:600;line-height:48px;color:#9ca3af}.rd-form-number-item .rd-item-content-value{flex:1;font-size:32px;font-weight:600;line-height:48px;color:#030712;border:none;padding:4px 0}.rd-form-number-item .rd-item-content-value:focus,.rd-form-number-item .rd-item-content-value:active,.rd-form-number-item .rd-item-content-value:hover{outline:none;box-shadow:none}.rd-form-number-item .rd-item-content-value ::ng-deep .ant-input-number-handler-wrap{display:none}.rd-form-number-item .rd-item-content-value ::ng-deep .ant-input-number-input{font-size:32px;font-weight:600;line-height:48px}.rd-form-number-item .rd-item-content-value ::ng-deep .ant-input-number-input::placeholder{color:#9ca3af}.rd-form-number-item .rd-item-content-symbol{flex-shrink:0}.rd-form-number-item ::ng-deep .rd-item-warning{font-weight:500;font-size:12px;color:#6b7280;margin-top:4px;padding:0 12px}.rd-form-number-item.rd-disabled{background-color:#f3f4f6;border-color:#d1d5db}.rd-form-number-item.rd-disabled .rd-item-label,.rd-form-number-item.rd-disabled .rd-item-content-value{color:#9ca3af}.rd-form-number-item.rd-error{border-color:#e51c36}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i3$2.NzInputDirective, selector: "input[nz-input],textarea[nz-input]", inputs: ["nzBorderless", "nzSize", "nzStatus", "disabled"], exportAs: ["nzInput"] }, { kind: "directive", type: i3$2.NzAutosizeDirective, selector: "textarea[nzAutosize]", inputs: ["nzAutosize"], exportAs: ["nzAutosize"] }] });
616
+ ], ngImport: i0, template: "<div>\n <div\n class=\"rd-form-item rd-form-textarea\"\n [ngClass]=\"{ disabled: disabled, error: showError }\"\n >\n <textarea\n nz-input\n nzBorderless\n [name]=\"name\"\n [(ngModel)]=\"value\"\n [disabled]=\"disabled\"\n (ngModelChange)=\"handleValueChange($event)\"\n (blur)=\"onBlur()\"\n [nzAutosize]=\"nzAutosize\"\n placeholder=\" \"\n class=\"rd-form-item-input\"\n ></textarea>\n <div class=\"rd-form-item-label\">{{ label }}</div>\n </div>\n <div *ngIf=\"showError\" class=\"rd-form-item-error\">\n <img *ngIf=\"currentErrorMessage\" src=\"/assets/img/icon/icon-error.svg\" />\n {{ currentErrorMessage }}\n </div>\n</div>\n", styles: [":host .rd-form-textarea{height:auto;min-height:64px}:host .rd-form-textarea .rd-form-item-input{position:static;line-height:1.5;min-height:58px}:host .rd-form-textarea .rd-form-item-input:focus,:host .rd-form-textarea .rd-form-item-input:not(:placeholder-shown){padding-top:28px}\n", ".rd-form-item{position:relative;border-radius:4px;padding:2px 0;border:1px solid #e5e7eb;background-color:#fff;width:100%;height:64px}.rd-form-item .rd-form-item-select-icon{position:absolute;right:12px;top:50%;transform:translateY(-50%);width:16px;height:16px;pointer-events:none}.rd-form-item-label{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:#6b7280;transition:all .3s ease;pointer-events:none;z-index:1;font-size:14px;font-weight:600;line-height:1}.rd-form-item-input{color:#030712;font-size:14px;width:100%;font-weight:500;padding:22px 16px 12px;height:52px}.rd-form-item-input:focus,.rd-form-item-input:not(:placeholder-shown){top:10px}.rd-form-item .rd-form-item-input:focus~.rd-form-item-label,.rd-form-item .rd-form-item-input:not(:placeholder-shown)~.rd-form-item-label{top:18px;font-size:12px}.rd-form-item-select{width:100%}.rd-form-item-select ::ng-deep .ant-select-selection-item{color:#030712;font-size:14px;font-weight:500}.rd-form-item.rd-selected .rd-form-item-label{top:16px;font-size:12px}.rd-form-item.rd-selected .rd-form-item-select{top:10px}.rd-form-item.rd-disabled{background-color:#f3f4f6;border-color:#d1d5db}.rd-form-item.rd-disabled .rd-form-item-label,.rd-form-item.rd-disabled .rd-form-item-input{color:#9ca3af}.rd-form-item.rd-disabled ::ng-deep .ant-select-selection-item{color:#9ca3af}.rd-form-item.rd-error{border-color:#e51c36}.rd-form-item-error{color:#d2152e;font-size:12px;font-weight:500;display:flex;align-items:center;gap:4px;margin-top:4px}.rd-form-item-error img{width:16px}.rd-form-number-item{position:relative;border-radius:4px;padding:12px 16px;background-color:#fff;border:1px solid #e5e7eb;width:100%}.rd-form-number-item .rd-item-label{color:#6b7280;font-size:12px;font-weight:600}.rd-form-number-item .rd-item-content{display:flex;align-items:center;font-size:32px;font-weight:600;line-height:48px;color:#9ca3af}.rd-form-number-item .rd-item-content-value{flex:1;font-size:32px;font-weight:600;line-height:48px;color:#030712;border:none;padding:4px 0}.rd-form-number-item .rd-item-content-value:focus,.rd-form-number-item .rd-item-content-value:active,.rd-form-number-item .rd-item-content-value:hover{outline:none;box-shadow:none}.rd-form-number-item .rd-item-content-value ::ng-deep .ant-input-number-handler-wrap{display:none}.rd-form-number-item .rd-item-content-value ::ng-deep .ant-input-number-input{font-size:32px;font-weight:600;line-height:48px}.rd-form-number-item .rd-item-content-value ::ng-deep .ant-input-number-input::placeholder{color:#9ca3af}.rd-form-number-item .rd-item-content-symbol{flex-shrink:0}.rd-form-number-item ::ng-deep .rd-item-warning{font-weight:500;font-size:12px;color:#6b7280;margin-top:4px;padding:0 12px}.rd-form-number-item.rd-disabled{background-color:#f3f4f6;border-color:#d1d5db}.rd-form-number-item.rd-disabled .rd-item-label,.rd-form-number-item.rd-disabled .rd-item-content-value{color:#9ca3af}.rd-form-number-item.rd-error{border-color:#e51c36}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i3$2.NzInputDirective, selector: "input[nz-input],textarea[nz-input]", inputs: ["nzBorderless", "nzSize", "nzStatus", "disabled"], exportAs: ["nzInput"] }, { kind: "directive", type: i3$2.NzAutosizeDirective, selector: "textarea[nzAutosize]", inputs: ["nzAutosize"], exportAs: ["nzAutosize"] }] });
617
617
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CustomTextareaComponent, decorators: [{
618
618
  type: Component,
619
619
  args: [{ selector: 'app-rd-textarea', providers: [
@@ -627,7 +627,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
627
627
  useExisting: forwardRef(() => CustomTextareaComponent),
628
628
  multi: true,
629
629
  },
630
- ], template: "<div>\n <div\n class=\"rd-form-item rd-form-textarea\"\n [ngClass]=\"{ disabled: disabled, error: showError }\"\n >\n <textarea\n nz-input\n nzBorderless\n [name]=\"name\"\n [(ngModel)]=\"value\"\n [disabled]=\"disabled\"\n (ngModelChange)=\"handleValueChange($event)\"\n (blur)=\"onBlur()\"\n [nzAutosize]=\"nzAutosize\"\n placeholder=\" \"\n class=\"rd-form-item-input\"\n ></textarea>\n <div class=\"rd-form-item-label\">{{ label }}</div>\n </div>\n <div *ngIf=\"showError\" class=\"rd-form-item-error\">\n <img *ngIf=\"currentErrorMessage\" src=\"/assets/img/icon/icon-error.svg\" />\n {{ currentErrorMessage }}\n </div>\n</div>\n", styles: [":host .rd-form-textarea{height:auto;min-height:64px}:host .rd-form-textarea .rd-form-item-input{position:static;line-height:1;min-height:58px}:host .rd-form-textarea .rd-form-item-input:focus,:host .rd-form-textarea .rd-form-item-input:not(:placeholder-shown){padding-top:28px}\n", ".rd-form-item{position:relative;border-radius:4px;padding:2px 0;border:1px solid #e5e7eb;background-color:#fff;width:100%;height:64px}.rd-form-item .rd-form-item-select-icon{position:absolute;right:12px;top:50%;transform:translateY(-50%);width:16px;height:16px;pointer-events:none}.rd-form-item-label{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:#6b7280;transition:all .3s ease;pointer-events:none;z-index:1;font-size:14px;font-weight:600;line-height:1}.rd-form-item-input{color:#030712;font-size:14px;width:100%;font-weight:500;padding:22px 16px 12px;height:52px}.rd-form-item-input:focus,.rd-form-item-input:not(:placeholder-shown){top:10px}.rd-form-item .rd-form-item-input:focus~.rd-form-item-label,.rd-form-item .rd-form-item-input:not(:placeholder-shown)~.rd-form-item-label{top:18px;font-size:12px}.rd-form-item-select{width:100%}.rd-form-item-select ::ng-deep .ant-select-selection-item{color:#030712;font-size:14px;font-weight:500}.rd-form-item.rd-selected .rd-form-item-label{top:16px;font-size:12px}.rd-form-item.rd-selected .rd-form-item-select{top:10px}.rd-form-item.rd-disabled{background-color:#f3f4f6;border-color:#d1d5db}.rd-form-item.rd-disabled .rd-form-item-label,.rd-form-item.rd-disabled .rd-form-item-input{color:#9ca3af}.rd-form-item.rd-disabled ::ng-deep .ant-select-selection-item{color:#9ca3af}.rd-form-item.rd-error{border-color:#e51c36}.rd-form-item-error{color:#d2152e;font-size:12px;font-weight:500;display:flex;align-items:center;gap:4px;margin-top:4px}.rd-form-item-error img{width:16px}.rd-form-number-item{position:relative;border-radius:4px;padding:12px 16px;background-color:#fff;border:1px solid #e5e7eb;width:100%}.rd-form-number-item .rd-item-label{color:#6b7280;font-size:12px;font-weight:600}.rd-form-number-item .rd-item-content{display:flex;align-items:center;font-size:32px;font-weight:600;line-height:48px;color:#9ca3af}.rd-form-number-item .rd-item-content-value{flex:1;font-size:32px;font-weight:600;line-height:48px;color:#030712;border:none;padding:4px 0}.rd-form-number-item .rd-item-content-value:focus,.rd-form-number-item .rd-item-content-value:active,.rd-form-number-item .rd-item-content-value:hover{outline:none;box-shadow:none}.rd-form-number-item .rd-item-content-value ::ng-deep .ant-input-number-handler-wrap{display:none}.rd-form-number-item .rd-item-content-value ::ng-deep .ant-input-number-input{font-size:32px;font-weight:600;line-height:48px}.rd-form-number-item .rd-item-content-value ::ng-deep .ant-input-number-input::placeholder{color:#9ca3af}.rd-form-number-item .rd-item-content-symbol{flex-shrink:0}.rd-form-number-item ::ng-deep .rd-item-warning{font-weight:500;font-size:12px;color:#6b7280;margin-top:4px;padding:0 12px}.rd-form-number-item.rd-disabled{background-color:#f3f4f6;border-color:#d1d5db}.rd-form-number-item.rd-disabled .rd-item-label,.rd-form-number-item.rd-disabled .rd-item-content-value{color:#9ca3af}.rd-form-number-item.rd-error{border-color:#e51c36}\n"] }]
630
+ ], template: "<div>\n <div\n class=\"rd-form-item rd-form-textarea\"\n [ngClass]=\"{ disabled: disabled, error: showError }\"\n >\n <textarea\n nz-input\n nzBorderless\n [name]=\"name\"\n [(ngModel)]=\"value\"\n [disabled]=\"disabled\"\n (ngModelChange)=\"handleValueChange($event)\"\n (blur)=\"onBlur()\"\n [nzAutosize]=\"nzAutosize\"\n placeholder=\" \"\n class=\"rd-form-item-input\"\n ></textarea>\n <div class=\"rd-form-item-label\">{{ label }}</div>\n </div>\n <div *ngIf=\"showError\" class=\"rd-form-item-error\">\n <img *ngIf=\"currentErrorMessage\" src=\"/assets/img/icon/icon-error.svg\" />\n {{ currentErrorMessage }}\n </div>\n</div>\n", styles: [":host .rd-form-textarea{height:auto;min-height:64px}:host .rd-form-textarea .rd-form-item-input{position:static;line-height:1.5;min-height:58px}:host .rd-form-textarea .rd-form-item-input:focus,:host .rd-form-textarea .rd-form-item-input:not(:placeholder-shown){padding-top:28px}\n", ".rd-form-item{position:relative;border-radius:4px;padding:2px 0;border:1px solid #e5e7eb;background-color:#fff;width:100%;height:64px}.rd-form-item .rd-form-item-select-icon{position:absolute;right:12px;top:50%;transform:translateY(-50%);width:16px;height:16px;pointer-events:none}.rd-form-item-label{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:#6b7280;transition:all .3s ease;pointer-events:none;z-index:1;font-size:14px;font-weight:600;line-height:1}.rd-form-item-input{color:#030712;font-size:14px;width:100%;font-weight:500;padding:22px 16px 12px;height:52px}.rd-form-item-input:focus,.rd-form-item-input:not(:placeholder-shown){top:10px}.rd-form-item .rd-form-item-input:focus~.rd-form-item-label,.rd-form-item .rd-form-item-input:not(:placeholder-shown)~.rd-form-item-label{top:18px;font-size:12px}.rd-form-item-select{width:100%}.rd-form-item-select ::ng-deep .ant-select-selection-item{color:#030712;font-size:14px;font-weight:500}.rd-form-item.rd-selected .rd-form-item-label{top:16px;font-size:12px}.rd-form-item.rd-selected .rd-form-item-select{top:10px}.rd-form-item.rd-disabled{background-color:#f3f4f6;border-color:#d1d5db}.rd-form-item.rd-disabled .rd-form-item-label,.rd-form-item.rd-disabled .rd-form-item-input{color:#9ca3af}.rd-form-item.rd-disabled ::ng-deep .ant-select-selection-item{color:#9ca3af}.rd-form-item.rd-error{border-color:#e51c36}.rd-form-item-error{color:#d2152e;font-size:12px;font-weight:500;display:flex;align-items:center;gap:4px;margin-top:4px}.rd-form-item-error img{width:16px}.rd-form-number-item{position:relative;border-radius:4px;padding:12px 16px;background-color:#fff;border:1px solid #e5e7eb;width:100%}.rd-form-number-item .rd-item-label{color:#6b7280;font-size:12px;font-weight:600}.rd-form-number-item .rd-item-content{display:flex;align-items:center;font-size:32px;font-weight:600;line-height:48px;color:#9ca3af}.rd-form-number-item .rd-item-content-value{flex:1;font-size:32px;font-weight:600;line-height:48px;color:#030712;border:none;padding:4px 0}.rd-form-number-item .rd-item-content-value:focus,.rd-form-number-item .rd-item-content-value:active,.rd-form-number-item .rd-item-content-value:hover{outline:none;box-shadow:none}.rd-form-number-item .rd-item-content-value ::ng-deep .ant-input-number-handler-wrap{display:none}.rd-form-number-item .rd-item-content-value ::ng-deep .ant-input-number-input{font-size:32px;font-weight:600;line-height:48px}.rd-form-number-item .rd-item-content-value ::ng-deep .ant-input-number-input::placeholder{color:#9ca3af}.rd-form-number-item .rd-item-content-symbol{flex-shrink:0}.rd-form-number-item ::ng-deep .rd-item-warning{font-weight:500;font-size:12px;color:#6b7280;margin-top:4px;padding:0 12px}.rd-form-number-item.rd-disabled{background-color:#f3f4f6;border-color:#d1d5db}.rd-form-number-item.rd-disabled .rd-item-label,.rd-form-number-item.rd-disabled .rd-item-content-value{color:#9ca3af}.rd-form-number-item.rd-error{border-color:#e51c36}\n"] }]
631
631
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { label: [{
632
632
  type: Input
633
633
  }], name: [{
@@ -963,6 +963,35 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
963
963
  }]
964
964
  }] });
965
965
 
966
+ class FormItemComponent {
967
+ constructor() {
968
+ this.size = 'normal';
969
+ }
970
+ get isShowSelectIcon() {
971
+ return this.type === 'select';
972
+ }
973
+ }
974
+ FormItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FormItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
975
+ FormItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: FormItemComponent, selector: "app-rd-form-item", inputs: { errorMessage: "errorMessage", disabled: "disabled", label: "label", type: "type", focus: "focus", value: "value", size: "size" }, ngImport: i0, template: "<div\n class=\"rd-form-item\"\n [ngClass]=\"{\n 'rd-disabled': disabled,\n 'rd-error': !!errorMessage,\n 'rd-focus': focus,\n 'rd-has-value': !!value,\n 'rd-form-item-s': size === 'small',\n 'rd-form-item-normal': size === 'normal',\n }\"\n>\n <ng-content></ng-content>\n <div *ngIf=\"label\" class=\"rd-form-item-label\">{{ label }}</div>\n <svg\n *ngIf=\"isShowSelectIcon\"\n class=\"rd-form-item-select-icon\"\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"17\"\n viewBox=\"0 0 16 17\"\n fill=\"none\"\n >\n <path\n d=\"M3 5.83337L8 11.1667L13 5.83337\"\n [attr.stroke]=\"disabled ? '#9CA3AF' : '#030712'\"\n stroke-width=\"1.16667\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n</div>\n<div *ngIf=\"errorMessage\" class=\"rd-form-item-error\">\n <img src=\"/assets/img/icon/icon-error.svg\" />\n {{ errorMessage }}\n</div>\n", styles: [":host .rd-form-item{position:relative;border-radius:4px;border:1px solid #e5e7eb;background-color:#fff;width:100%;font-size:14px;line-height:1;padding:0;transition:all .3s cubic-bezier(.645,.045,.355,1)}:host .rd-form-item.rd-form-item-normal{min-height:64px}:host .rd-form-item.rd-form-item-s{height:40px}:host .rd-form-item.rd-disabled{background-color:#f3f4f6;border-color:#d1d5db}:host .rd-form-item.rd-disabled .rd-form-item-label,:host .rd-form-item.rd-disabled .rd-form-item-input{color:#9ca3af}:host .rd-form-item.rd-disabled ::ng-deep .ant-select-selection-item{color:#9ca3af}:host .rd-form-item.rd-error{border-color:#e51c36}:host .rd-form-item.rd-focus{border:1px solid #367af6;box-shadow:0 0 0 2px #367af61a}:host .rd-form-item.rd-focus .rd-form-item-select-icon{transform:translateY(-50%) rotate(-180deg)}:host .rd-form-item.rd-form-item-normal.rd-focus .rd-form-item-label,:host .rd-form-item.rd-form-item-normal.rd-has-value .rd-form-item-label{top:16px;font-size:12px}:host .rd-form-item.rd-form-item-normal.rd-focus ::ng-deep .rd-form-item-select,:host .rd-form-item.rd-form-item-normal.rd-has-value ::ng-deep .rd-form-item-select{top:10px}:host .rd-form-item-label{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:#6b7280;transition:all .3s ease;pointer-events:none;z-index:1;font-size:14px;font-weight:600;line-height:1}:host .rd-form-item-select-icon{position:absolute;right:12px;top:50%;transform:translateY(-50%);width:16px;height:16px;pointer-events:none;transition:transform .2s ease}:host .rd-form-item-error{color:#d2152e;font-size:12px;font-weight:500;display:flex;align-items:center;gap:4px;margin-top:4px}:host .rd-form-item-error img{width:16px}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
976
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FormItemComponent, decorators: [{
977
+ type: Component,
978
+ args: [{ selector: 'app-rd-form-item', template: "<div\n class=\"rd-form-item\"\n [ngClass]=\"{\n 'rd-disabled': disabled,\n 'rd-error': !!errorMessage,\n 'rd-focus': focus,\n 'rd-has-value': !!value,\n 'rd-form-item-s': size === 'small',\n 'rd-form-item-normal': size === 'normal',\n }\"\n>\n <ng-content></ng-content>\n <div *ngIf=\"label\" class=\"rd-form-item-label\">{{ label }}</div>\n <svg\n *ngIf=\"isShowSelectIcon\"\n class=\"rd-form-item-select-icon\"\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"17\"\n viewBox=\"0 0 16 17\"\n fill=\"none\"\n >\n <path\n d=\"M3 5.83337L8 11.1667L13 5.83337\"\n [attr.stroke]=\"disabled ? '#9CA3AF' : '#030712'\"\n stroke-width=\"1.16667\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n</div>\n<div *ngIf=\"errorMessage\" class=\"rd-form-item-error\">\n <img src=\"/assets/img/icon/icon-error.svg\" />\n {{ errorMessage }}\n</div>\n", styles: [":host .rd-form-item{position:relative;border-radius:4px;border:1px solid #e5e7eb;background-color:#fff;width:100%;font-size:14px;line-height:1;padding:0;transition:all .3s cubic-bezier(.645,.045,.355,1)}:host .rd-form-item.rd-form-item-normal{min-height:64px}:host .rd-form-item.rd-form-item-s{height:40px}:host .rd-form-item.rd-disabled{background-color:#f3f4f6;border-color:#d1d5db}:host .rd-form-item.rd-disabled .rd-form-item-label,:host .rd-form-item.rd-disabled .rd-form-item-input{color:#9ca3af}:host .rd-form-item.rd-disabled ::ng-deep .ant-select-selection-item{color:#9ca3af}:host .rd-form-item.rd-error{border-color:#e51c36}:host .rd-form-item.rd-focus{border:1px solid #367af6;box-shadow:0 0 0 2px #367af61a}:host .rd-form-item.rd-focus .rd-form-item-select-icon{transform:translateY(-50%) rotate(-180deg)}:host .rd-form-item.rd-form-item-normal.rd-focus .rd-form-item-label,:host .rd-form-item.rd-form-item-normal.rd-has-value .rd-form-item-label{top:16px;font-size:12px}:host .rd-form-item.rd-form-item-normal.rd-focus ::ng-deep .rd-form-item-select,:host .rd-form-item.rd-form-item-normal.rd-has-value ::ng-deep .rd-form-item-select{top:10px}:host .rd-form-item-label{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:#6b7280;transition:all .3s ease;pointer-events:none;z-index:1;font-size:14px;font-weight:600;line-height:1}:host .rd-form-item-select-icon{position:absolute;right:12px;top:50%;transform:translateY(-50%);width:16px;height:16px;pointer-events:none;transition:transform .2s ease}:host .rd-form-item-error{color:#d2152e;font-size:12px;font-weight:500;display:flex;align-items:center;gap:4px;margin-top:4px}:host .rd-form-item-error img{width:16px}\n"] }]
979
+ }], propDecorators: { errorMessage: [{
980
+ type: Input
981
+ }], disabled: [{
982
+ type: Input
983
+ }], label: [{
984
+ type: Input
985
+ }], type: [{
986
+ type: Input
987
+ }], focus: [{
988
+ type: Input
989
+ }], value: [{
990
+ type: Input
991
+ }], size: [{
992
+ type: Input
993
+ }] } });
994
+
966
995
  class CustomSelectComponent {
967
996
  set options(val) {
968
997
  this._rawOptions = val;
@@ -971,6 +1000,23 @@ class CustomSelectComponent {
971
1000
  get options() {
972
1001
  return this._rawOptions;
973
1002
  }
1003
+ get currentErrorMessage() {
1004
+ if (!this.control?.errors)
1005
+ return '';
1006
+ const firstError = Object.keys(this.control?.errors || {})[0];
1007
+ const msg = this.errorMessages[firstError];
1008
+ switch (firstError) {
1009
+ case 'required':
1010
+ return msg || `Please enter ${this.label.toLowerCase()}`;
1011
+ case 'custom':
1012
+ return this.control?.errors['custom'] || 'Validation failed';
1013
+ default:
1014
+ return this.errorMessages[firstError] || 'Validation failed';
1015
+ }
1016
+ }
1017
+ get showError() {
1018
+ return (!!this.control?.invalid && (this.control?.touched || this.control?.dirty));
1019
+ }
974
1020
  constructor(cdr) {
975
1021
  this.cdr = cdr;
976
1022
  this.label = '';
@@ -980,6 +1026,10 @@ class CustomSelectComponent {
980
1026
  this.isLoading = false;
981
1027
  this.isShowSearch = false;
982
1028
  this.isRemoteSearch = false;
1029
+ this.errorMessages = {
1030
+ pattern: 'Invalid format',
1031
+ custom: 'Validation failed',
1032
+ };
983
1033
  this.searchChange = new EventEmitter();
984
1034
  this.valueChange = new EventEmitter();
985
1035
  this.scrollToBottomEmit = new EventEmitter();
@@ -991,6 +1041,14 @@ class CustomSelectComponent {
991
1041
  this.onChange = () => { };
992
1042
  this.onTouched = () => { };
993
1043
  this.isFocus = false;
1044
+ this.isOpen = false;
1045
+ this.control = null;
1046
+ }
1047
+ validate(control) {
1048
+ if (control) {
1049
+ this.control = control;
1050
+ }
1051
+ return null;
994
1052
  }
995
1053
  setDisabledState(isDisabled) {
996
1054
  this.disabled = isDisabled;
@@ -1036,15 +1094,23 @@ class CustomSelectComponent {
1036
1094
  const lower = searchValue.toLowerCase();
1037
1095
  this.filteredOptions = this._rawOptions.filter((item) => item.name?.toLowerCase().includes(lower));
1038
1096
  }
1097
+ handleOpenChange(value) {
1098
+ this.isOpen = value;
1099
+ }
1039
1100
  }
1040
1101
  CustomSelectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CustomSelectComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
1041
- CustomSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: CustomSelectComponent, selector: "app-rd-select", inputs: { label: "label", customTpl: "customTpl", optionTpl: "optionTpl", name: "name", disabled: "disabled", nzMode: "nzMode", isCurrency: "isCurrency", currencyUrlMap: "currencyUrlMap", isLoading: "isLoading", isShowSearch: "isShowSearch", isRemoteSearch: "isRemoteSearch", options: "options" }, outputs: { searchChange: "searchChange", valueChange: "valueChange", scrollToBottomEmit: "scrollToBottomEmit" }, providers: [
1102
+ CustomSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: CustomSelectComponent, selector: "app-rd-select", inputs: { label: "label", customTpl: "customTpl", optionTpl: "optionTpl", name: "name", disabled: "disabled", nzMode: "nzMode", isCurrency: "isCurrency", currencyUrlMap: "currencyUrlMap", optionHeightPx: "optionHeightPx", isLoading: "isLoading", isShowSearch: "isShowSearch", isRemoteSearch: "isRemoteSearch", options: "options", errorMessages: "errorMessages" }, outputs: { searchChange: "searchChange", valueChange: "valueChange", scrollToBottomEmit: "scrollToBottomEmit" }, providers: [
1042
1103
  {
1043
1104
  provide: NG_VALUE_ACCESSOR,
1044
1105
  useExisting: forwardRef(() => CustomSelectComponent),
1045
1106
  multi: true,
1046
1107
  },
1047
- ], ngImport: i0, template: "<div\n class=\"rd-form-item\"\n [ngClass]=\"{\n 'rd-selected': !!nativeValue || !!searchInput || isFocus,\n 'rd-disabled': disabled\n }\"\n>\n <nz-select\n class=\"rd-form-item-select\"\n nzBorderless\n [nzMode]=\"nzMode\"\n [nzShowArrow]=\"false\"\n [(ngModel)]=\"nativeValue\"\n [nzCustomTemplate]=\"\n customTpl\n ? customTpl\n : isCurrency\n ? currencySelectedTpl\n : defaultSelectedTpl\n \"\n (nzScrollToBottom)=\"onScrollToBottom()\"\n (ngModelChange)=\"handleValueChange($event)\"\n [disabled]=\"disabled\"\n (nzFocus)=\"isFocus = true\"\n (nzBlur)=\"isFocus = false\"\n [nzDropdownClassName]=\"\n nzMode === 'multiple'\n ? 'rd-form-item-multiple-select-dropdown'\n : 'rd-form-item-select-dropdown'\n \"\n [nzOptionOverflowSize]=\"5\"\n [nzOptionHeightPx]=\"40\"\n [nzSuffixIcon]=\"customIcon\"\n [nzRemoveIcon]=\"removeIcon\"\n [nzMaxTagCount]=\"3\"\n [nzShowSearch]=\"isShowSearch\"\n (nzOnSearch)=\"onSearch($event)\"\n >\n <nz-option\n *ngFor=\"let option of filteredOptions\"\n [nzValue]=\"option.value\"\n [nzLabel]=\"option.name || ''\"\n [nzDisabled]=\"option.disabled || false\"\n [nzCustomContent]=\"true\"\n >\n <ng-container *ngIf=\"optionTpl || isCurrency\">\n <ng-container\n *ngTemplateOutlet=\"\n isCurrency ? currencyOptionTpl : optionTpl;\n context: { $implicit: option }\n \"\n ></ng-container>\n </ng-container>\n <ng-container *ngIf=\"!(optionTpl || isCurrency)\">\n {{ option.name }}\n </ng-container>\n </nz-option>\n <nz-option *ngIf=\"isLoading\" nzDisabled nzCustomContent>\n <nz-spin style=\"padding: 16px 0\"></nz-spin>\n </nz-option>\n </nz-select>\n\n <div class=\"rd-form-item-label\">{{ label }}</div>\n <svg\n class=\"rd-form-item-select-icon\"\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"17\"\n viewBox=\"0 0 16 17\"\n fill=\"none\"\n >\n <path\n d=\"M3 5.83337L8 11.1667L13 5.83337\"\n [attr.stroke]=\"disabled ? '#9CA3AF' : '#030712'\"\n stroke-width=\"1.16667\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n</div>\n\n<ng-template #defaultSelectedTpl let-selected>\n {{ selected?.nzLabel }}\n</ng-template>\n\n<ng-template #currencyOptionTpl let-option>\n <div class=\"rd-form-item-option-content\">\n <img [src]=\"option.iconUrl\" class=\"rd-token-icon\" alt=\"icon\" />\n <span>{{ option.name }}</span>\n </div>\n</ng-template>\n\n<ng-template #currencySelectedTpl let-selected let-extra>\n <div class=\"rd-form-item-option-content\">\n <img\n [src]=\"currencyUrlMap?.[selected.nzValue]\"\n class=\"rd-token-icon\"\n alt=\"icon\"\n />\n <span>{{ selected.nzLabel }}</span>\n </div>\n</ng-template>\n\n<ng-template #removeIcon>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"12\"\n height=\"12\"\n viewBox=\"0 0 12 12\"\n fill=\"none\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M2.39645 2.39645C2.59171 2.20118 2.90829 2.20118 3.10355 2.39645L6 5.29289L8.89645 2.39645C9.09171 2.20118 9.40829 2.20118 9.60355 2.39645C9.79882 2.59171 9.79882 2.90829 9.60355 3.10355L6.70711 6L9.60355 8.89645C9.79882 9.09171 9.79882 9.40829 9.60355 9.60355C9.40829 9.79882 9.09171 9.79882 8.89645 9.60355L6 6.70711L3.10355 9.60355C2.90829 9.79882 2.59171 9.79882 2.39645 9.60355C2.20118 9.40829 2.20118 9.09171 2.39645 8.89645L5.29289 6L2.39645 3.10355C2.20118 2.90829 2.20118 2.59171 2.39645 2.39645Z\"\n fill=\"#030712\"\n />\n </svg>\n</ng-template>\n\n<ng-template #customIcon>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M2.60136 4.90777C2.83639 4.68743 3.20555 4.69934 3.42589 4.93437L8.00033 9.81377L12.5748 4.93437C12.7951 4.69934 13.1643 4.68743 13.3993 4.90777C13.6343 5.12812 13.6462 5.49727 13.4259 5.7323L8.42589 11.0656C8.31561 11.1833 8.16157 11.25 8.00033 11.25C7.83909 11.25 7.68504 11.1833 7.57476 11.0656L2.57476 5.7323C2.35442 5.49727 2.36633 5.12811 2.60136 4.90777Z\"\n fill=\"#030712\"\n />\n </svg>\n</ng-template>\n", styles: ["", "::ng-deep .rd-form-item-select{min-width:113px;min-height:52px;max-height:100%;position:relative}::ng-deep .rd-form-item-select.ant-select-multiple .ant-select-selection-search{margin-inline-start:0}::ng-deep .rd-form-item-select .ant-select-selection-search-input{padding:12px 4px 0}::ng-deep .rd-form-item-select .ant-select-selection-search-input::placeholder{color:#9ca3af}::ng-deep .rd-form-item-select .ant-select-selection-search .ant-select-selection-search-input{padding:12px 4px 0;transform:translate(-2px,12px)!important}::ng-deep .rd-form-item-select .ant-select-show-search{transform:translateY(10px)}::ng-deep .rd-form-item-select.ant-select-single:not(.ant-select-customize-input) .ant-select-selector{padding:14px 16px 10px;height:52px}::ng-deep .rd-form-item-select.ant-select .ant-select-selection-item{color:#030712;font-weight:500;font-size:14px}::ng-deep .rd-form-item-select .ant-select-selector{padding:12px 16px}::ng-deep .rd-form-item-select.ant-select-multiple .ant-select-selection-item{border-radius:4px;background:#f3f4f6;font-size:14px;font-weight:500;color:#030712;display:flex;align-items:center;gap:4px}::ng-deep .rd-form-item-select.ant-select-multiple .ant-select-selection-item .ant-select-selection-item-remove{line-height:1}::ng-deep .rd-form-item-select:not(.ant-select-customize-input) .ant-select-selector{border-radius:4px}::ng-deep .rd-form-item-select.ant-select-focused:not(.ant-select-disabled).ant-select:not(.ant-select-customize-input) .ant-select-selector{border-radius:4px;border:1px solid #367af6;background:#fff;box-shadow:0 0 0 2px #367af61a}::ng-deep .rd-form-item-select .ant-select-selection-placeholder{color:#030712;font-weight:500;font-size:14px}::ng-deep .rd-form-item-select .ant-select-selection-item-content{color:#030712;font-weight:500}::ng-deep .rd-form-item-select .ant-select-arrow{transition:ease-in-out .2s all;cursor:pointer;pointer-events:initial}::ng-deep .rd-form-item-select:hover:has(.ant-select-clear) .ant-select-arrow{opacity:0}::ng-deep .rd-form-item-select.ant-select-focused .ant-select-arrow,::ng-deep .rd-form-item-select .ant-select-selector:focus-within .ant-select-arrow{transform:rotate(-180deg);transition:transform .2s ease}::ng-deep .rd-form-item-select-s{height:100%;min-height:32px}::ng-deep .rd-form-item-select-s.ant-select-single:not(.ant-select-customize-input) .ant-select-selector{padding:0 12px;height:100%}::ng-deep .rd-form-item-select-dropdown .ant-select-dropdown,::ng-deep .rd-form-item-select-dropdown-s .ant-select-dropdown,::ng-deep .rd-form-item-multiple-select-dropdown .ant-select-dropdown{border-radius:4px;background:#fff;min-width:113px}::ng-deep .rd-form-item-select-dropdown .ant-select-item-option,::ng-deep .rd-form-item-select-dropdown-s .ant-select-item-option,::ng-deep .rd-form-item-multiple-select-dropdown .ant-select-item-option{background-color:transparent;padding:0 6px}::ng-deep .rd-form-item-select-dropdown .ant-select-item-option-content,::ng-deep .rd-form-item-select-dropdown-s .ant-select-item-option-content,::ng-deep .rd-form-item-multiple-select-dropdown .ant-select-item-option-content{border-radius:4px;padding:0 6px;display:flex;align-items:center;color:#030712;font-size:14px;min-height:40px;font-weight:600}::ng-deep .rd-form-item-select-dropdown .ant-select-item-option-active .ant-select-item-option-content,::ng-deep .rd-form-item-select-dropdown-s .ant-select-item-option-active .ant-select-item-option-content,::ng-deep .rd-form-item-multiple-select-dropdown .ant-select-item-option-active .ant-select-item-option-content{background:rgba(54,122,246,.1)}::ng-deep .rd-form-item-select-dropdown .ant-select-item-option-disabled .ant-select-item-option-content,::ng-deep .rd-form-item-select-dropdown-s .ant-select-item-option-disabled .ant-select-item-option-content,::ng-deep .rd-form-item-multiple-select-dropdown .ant-select-item-option-disabled .ant-select-item-option-content{color:#6b7280;background:#e5e7eb}::ng-deep .rd-form-item-select-dropdown .rd-form-item-empty,::ng-deep .rd-form-item-select-dropdown-s .rd-form-item-empty,::ng-deep .rd-form-item-multiple-select-dropdown .rd-form-item-empty{display:flex;flex-direction:column;align-items:center;gap:6px;width:100%}::ng-deep .rd-form-item-select-dropdown .rd-form-item-empty img,::ng-deep .rd-form-item-select-dropdown-s .rd-form-item-empty img,::ng-deep .rd-form-item-multiple-select-dropdown .rd-form-item-empty img{width:61px;height:68px}::ng-deep .rd-form-item-select-dropdown .rd-form-item-empty p,::ng-deep .rd-form-item-select-dropdown-s .rd-form-item-empty p,::ng-deep .rd-form-item-multiple-select-dropdown .rd-form-item-empty p{font-size:13px;color:#9ca3af;font-weight:500;margin:0}::ng-deep .rd-form-item-select-dropdown-s .ant-select-item-option-content{padding:0 4px;min-height:32px}::ng-deep .rd-form-item-multiple-select-dropdown .ant-select-item-option-content{border-radius:4px;color:#030712;font-size:14px;padding:0 6px 0 32px;position:relative}::ng-deep .rd-form-item-multiple-select-dropdown .ant-select-item-option-content:before{content:\"\";position:absolute;top:50%;left:6px;width:16px;height:16px;transform:translateY(-50%);border-radius:4px;border:1px solid #9ca3af}::ng-deep .rd-form-item-multiple-select-dropdown .ant-select-item-option-selected .ant-select-item-option-content:before{background-image:url(/assets/img/icon/checkbox.svg);background-size:contain;background-position:center;background-repeat:no-repeat;border:none}::ng-deep .rd-form-item-multiple-select-dropdown .ant-select-item-option-state{display:none}::ng-deep .rd-form-item-option-content{display:flex;align-items:center;gap:8px;height:100%}::ng-deep .rd-form-item-option-content span{font-size:14px;font-weight:500}::ng-deep .rd-form-item-option-content .rd-token-icon{width:20px;height:20px;transition:opacity .3s ease-in-out}\n", ".rd-form-item{position:relative;border-radius:4px;padding:2px 0;border:1px solid #e5e7eb;background-color:#fff;width:100%;height:64px}.rd-form-item .rd-form-item-select-icon{position:absolute;right:12px;top:50%;transform:translateY(-50%);width:16px;height:16px;pointer-events:none}.rd-form-item-label{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:#6b7280;transition:all .3s ease;pointer-events:none;z-index:1;font-size:14px;font-weight:600;line-height:1}.rd-form-item-input{color:#030712;font-size:14px;width:100%;font-weight:500;padding:22px 16px 12px;height:52px}.rd-form-item-input:focus,.rd-form-item-input:not(:placeholder-shown){top:10px}.rd-form-item .rd-form-item-input:focus~.rd-form-item-label,.rd-form-item .rd-form-item-input:not(:placeholder-shown)~.rd-form-item-label{top:18px;font-size:12px}.rd-form-item-select{width:100%}.rd-form-item-select ::ng-deep .ant-select-selection-item{color:#030712;font-size:14px;font-weight:500}.rd-form-item.rd-selected .rd-form-item-label{top:16px;font-size:12px}.rd-form-item.rd-selected .rd-form-item-select{top:10px}.rd-form-item.rd-disabled{background-color:#f3f4f6;border-color:#d1d5db}.rd-form-item.rd-disabled .rd-form-item-label,.rd-form-item.rd-disabled .rd-form-item-input{color:#9ca3af}.rd-form-item.rd-disabled ::ng-deep .ant-select-selection-item{color:#9ca3af}.rd-form-item.rd-error{border-color:#e51c36}.rd-form-item-error{color:#d2152e;font-size:12px;font-weight:500;display:flex;align-items:center;gap:4px;margin-top:4px}.rd-form-item-error img{width:16px}.rd-form-number-item{position:relative;border-radius:4px;padding:12px 16px;background-color:#fff;border:1px solid #e5e7eb;width:100%}.rd-form-number-item .rd-item-label{color:#6b7280;font-size:12px;font-weight:600}.rd-form-number-item .rd-item-content{display:flex;align-items:center;font-size:32px;font-weight:600;line-height:48px;color:#9ca3af}.rd-form-number-item .rd-item-content-value{flex:1;font-size:32px;font-weight:600;line-height:48px;color:#030712;border:none;padding:4px 0}.rd-form-number-item .rd-item-content-value:focus,.rd-form-number-item .rd-item-content-value:active,.rd-form-number-item .rd-item-content-value:hover{outline:none;box-shadow:none}.rd-form-number-item .rd-item-content-value ::ng-deep .ant-input-number-handler-wrap{display:none}.rd-form-number-item .rd-item-content-value ::ng-deep .ant-input-number-input{font-size:32px;font-weight:600;line-height:48px}.rd-form-number-item .rd-item-content-value ::ng-deep .ant-input-number-input::placeholder{color:#9ca3af}.rd-form-number-item .rd-item-content-symbol{flex-shrink:0}.rd-form-number-item ::ng-deep .rd-item-warning{font-weight:500;font-size:12px;color:#6b7280;margin-top:4px;padding:0 12px}.rd-form-number-item.rd-disabled{background-color:#f3f4f6;border-color:#d1d5db}.rd-form-number-item.rd-disabled .rd-item-label,.rd-form-number-item.rd-disabled .rd-item-content-value{color:#9ca3af}.rd-form-number-item.rd-error{border-color:#e51c36}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3$4.NzSpinComponent, selector: "nz-spin", inputs: ["nzIndicator", "nzSize", "nzTip", "nzDelay", "nzSimple", "nzSpinning"], exportAs: ["nzSpin"] }, { kind: "component", type: i4$1.NzOptionComponent, selector: "nz-option", inputs: ["nzLabel", "nzValue", "nzDisabled", "nzHide", "nzCustomContent"], exportAs: ["nzOption"] }, { kind: "component", type: i4$1.NzSelectComponent, selector: "nz-select", inputs: ["nzId", "nzSize", "nzStatus", "nzOptionHeightPx", "nzOptionOverflowSize", "nzDropdownClassName", "nzDropdownMatchSelectWidth", "nzDropdownStyle", "nzNotFoundContent", "nzPlaceHolder", "nzPlacement", "nzMaxTagCount", "nzDropdownRender", "nzCustomTemplate", "nzSuffixIcon", "nzClearIcon", "nzRemoveIcon", "nzMenuItemSelectedIcon", "nzTokenSeparators", "nzMaxTagPlaceholder", "nzMaxMultipleCount", "nzMode", "nzFilterOption", "compareWith", "nzAllowClear", "nzBorderless", "nzShowSearch", "nzLoading", "nzAutoFocus", "nzAutoClearSearchValue", "nzServerSearch", "nzDisabled", "nzOpen", "nzSelectOnTab", "nzBackdrop", "nzOptions", "nzShowArrow"], outputs: ["nzOnSearch", "nzScrollToBottom", "nzOpenChange", "nzBlur", "nzFocus"], exportAs: ["nzSelect"] }] });
1108
+ {
1109
+ provide: NG_VALIDATORS,
1110
+ useExisting: forwardRef(() => CustomSelectComponent),
1111
+ multi: true,
1112
+ },
1113
+ ], ngImport: i0, template: "<app-rd-form-item\n [disabled]=\"disabled\"\n [focus]=\"!!searchInput || isFocus || isOpen\"\n [type]=\"'select'\"\n [label]=\"label\"\n [value]=\"nativeValue\"\n [errorMessage]=\"showError ? currentErrorMessage : ''\"\n>\n <nz-select\n class=\"rd-form-item-select\"\n nzBorderless\n [nzMode]=\"nzMode\"\n [nzShowArrow]=\"false\"\n [(ngModel)]=\"nativeValue\"\n [nzCustomTemplate]=\"\n customTpl\n ? customTpl\n : isCurrency\n ? currencySelectedTpl\n : defaultSelectedTpl\n \"\n (nzScrollToBottom)=\"onScrollToBottom()\"\n (ngModelChange)=\"handleValueChange($event)\"\n [disabled]=\"disabled\"\n (nzFocus)=\"isFocus = true\"\n (nzBlur)=\"isFocus = false\"\n [nzDropdownClassName]=\"\n nzMode === 'multiple'\n ? 'rd-form-item-multiple-select-dropdown'\n : 'rd-form-item-select-dropdown'\n \"\n [nzOptionOverflowSize]=\"5\"\n [nzOptionHeightPx]=\"optionHeightPx || 40\"\n [nzSuffixIcon]=\"customIcon\"\n [nzRemoveIcon]=\"removeIcon\"\n [nzShowSearch]=\"isShowSearch\"\n (nzOnSearch)=\"onSearch($event)\"\n (nzOpenChange)=\"handleOpenChange($event)\"\n >\n <nz-option\n *ngFor=\"let option of filteredOptions\"\n [nzValue]=\"option.value\"\n [nzLabel]=\"option.name || ''\"\n [nzDisabled]=\"option.disabled || false\"\n [nzCustomContent]=\"true\"\n >\n <ng-container *ngIf=\"optionTpl || isCurrency\">\n <ng-container\n *ngTemplateOutlet=\"\n isCurrency ? currencyOptionTpl : optionTpl;\n context: { $implicit: option }\n \"\n ></ng-container>\n </ng-container>\n <ng-container *ngIf=\"!(optionTpl || isCurrency)\">\n {{ option.name }}\n </ng-container>\n </nz-option>\n <nz-option *ngIf=\"isLoading\" nzDisabled nzCustomContent>\n <nz-spin style=\"padding: 16px 0\"></nz-spin>\n </nz-option>\n </nz-select>\n</app-rd-form-item>\n\n<ng-template #defaultSelectedTpl let-selected>\n {{ selected?.nzLabel }}\n</ng-template>\n\n<ng-template #currencyOptionTpl let-option>\n <div class=\"rd-form-item-option-content\">\n <img [src]=\"option.iconUrl\" class=\"rd-token-icon\" alt=\"icon\" />\n <span>{{ option.name }}</span>\n </div>\n</ng-template>\n\n<ng-template #currencySelectedTpl let-selected let-extra>\n <div class=\"rd-form-item-option-content\">\n <img\n [src]=\"currencyUrlMap?.[selected.nzValue]\"\n class=\"rd-token-icon\"\n alt=\"icon\"\n />\n <span>{{ selected.nzLabel }}</span>\n </div>\n</ng-template>\n\n<ng-template #removeIcon>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"12\"\n height=\"12\"\n viewBox=\"0 0 12 12\"\n fill=\"none\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M2.39645 2.39645C2.59171 2.20118 2.90829 2.20118 3.10355 2.39645L6 5.29289L8.89645 2.39645C9.09171 2.20118 9.40829 2.20118 9.60355 2.39645C9.79882 2.59171 9.79882 2.90829 9.60355 3.10355L6.70711 6L9.60355 8.89645C9.79882 9.09171 9.79882 9.40829 9.60355 9.60355C9.40829 9.79882 9.09171 9.79882 8.89645 9.60355L6 6.70711L3.10355 9.60355C2.90829 9.79882 2.59171 9.79882 2.39645 9.60355C2.20118 9.40829 2.20118 9.09171 2.39645 8.89645L5.29289 6L2.39645 3.10355C2.20118 2.90829 2.20118 2.59171 2.39645 2.39645Z\"\n fill=\"#030712\"\n />\n </svg>\n</ng-template>\n\n<ng-template #customIcon>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M2.60136 4.90777C2.83639 4.68743 3.20555 4.69934 3.42589 4.93437L8.00033 9.81377L12.5748 4.93437C12.7951 4.69934 13.1643 4.68743 13.3993 4.90777C13.6343 5.12812 13.6462 5.49727 13.4259 5.7323L8.42589 11.0656C8.31561 11.1833 8.16157 11.25 8.00033 11.25C7.83909 11.25 7.68504 11.1833 7.57476 11.0656L2.57476 5.7323C2.35442 5.49727 2.36633 5.12811 2.60136 4.90777Z\"\n fill=\"#030712\"\n />\n </svg>\n</ng-template>\n", styles: [":host .rd-form-item-select{width:100%}\n", "::ng-deep .rd-form-item-select{min-width:113px;min-height:52px;max-height:100%;position:relative}::ng-deep .rd-form-item-select.ant-select-multiple .ant-select-selection-search{margin-inline-start:0}::ng-deep .rd-form-item-select .ant-select-selection-search-input{padding:12px 4px 0}::ng-deep .rd-form-item-select .ant-select-selection-search-input::placeholder{color:#9ca3af}::ng-deep .rd-form-item-select .ant-select-selection-search .ant-select-selection-search-input{padding:12px 4px 0;transform:translate(-2px,12px)!important}::ng-deep .rd-form-item-select .ant-select-show-search{transform:translateY(10px)}::ng-deep .rd-form-item-select.ant-select-single:not(.ant-select-customize-input) .ant-select-selector{padding:14px 16px 10px;min-height:52px;height:-moz-fit-content;height:fit-content}::ng-deep .rd-form-item-select.ant-select-single .ant-select-selector .ant-select-selection-item:after{display:none}::ng-deep .rd-form-item-select.ant-select .ant-select-selection-item{color:#030712;font-weight:500;font-size:14px}::ng-deep .rd-form-item-select .ant-select-selector{padding:12px 16px}::ng-deep .rd-form-item-select.ant-select-multiple .ant-select-selection-item{border-radius:4px;background:#f3f4f6;font-size:14px;font-weight:500;color:#030712;display:flex;align-items:center;gap:4px}::ng-deep .rd-form-item-select.ant-select-multiple .ant-select-selection-item .ant-select-selection-item-remove{line-height:1}::ng-deep .rd-form-item-select:not(.ant-select-customize-input) .ant-select-selector{border-radius:4px}::ng-deep .rd-form-item-select.ant-select-focused:not(.ant-select-disabled).ant-select:not(.ant-select-customize-input) .ant-select-selector{border-radius:4px;border:1px solid #367af6;background:#fff;box-shadow:0 0 0 2px #367af61a}::ng-deep .rd-form-item-select .ant-select-selection-placeholder{color:#030712;font-weight:500;font-size:14px}::ng-deep .rd-form-item-select .ant-select-selection-item-content{color:#030712;font-weight:500}::ng-deep .rd-form-item-select .ant-select-arrow{transition:ease-in-out .2s all;cursor:pointer;pointer-events:initial}::ng-deep .rd-form-item-select:hover:has(.ant-select-clear) .ant-select-arrow{opacity:0}::ng-deep .rd-form-item-select.ant-select-focused .ant-select-arrow,::ng-deep .rd-form-item-select .ant-select-selector:focus-within .ant-select-arrow{transform:rotate(-180deg);transition:transform .2s ease}::ng-deep .rd-form-item-select-s{min-height:38px}::ng-deep .rd-form-item-select-s.ant-select-single:not(.ant-select-customize-input) .ant-select-selector{height:100%;min-height:38px;padding:0 12px}::ng-deep .rd-form-item-select-dropdown .ant-select-dropdown,::ng-deep .rd-form-item-select-dropdown-s .ant-select-dropdown,::ng-deep .rd-form-item-multiple-select-dropdown .ant-select-dropdown{border-radius:4px;background:#fff;min-width:113px}::ng-deep .rd-form-item-select-dropdown .ant-select-item-option,::ng-deep .rd-form-item-select-dropdown-s .ant-select-item-option,::ng-deep .rd-form-item-multiple-select-dropdown .ant-select-item-option{background-color:transparent;padding:0 6px}::ng-deep .rd-form-item-select-dropdown .ant-select-item-option-content,::ng-deep .rd-form-item-select-dropdown-s .ant-select-item-option-content,::ng-deep .rd-form-item-multiple-select-dropdown .ant-select-item-option-content{border-radius:4px;padding:0 6px;display:flex;align-items:center;color:#030712;font-size:14px;min-height:40px;font-weight:600}::ng-deep .rd-form-item-select-dropdown .ant-select-item-option-active .ant-select-item-option-content,::ng-deep .rd-form-item-select-dropdown-s .ant-select-item-option-active .ant-select-item-option-content,::ng-deep .rd-form-item-multiple-select-dropdown .ant-select-item-option-active .ant-select-item-option-content{background:rgba(54,122,246,.1)}::ng-deep .rd-form-item-select-dropdown .ant-select-item-option-disabled .ant-select-item-option-content,::ng-deep .rd-form-item-select-dropdown-s .ant-select-item-option-disabled .ant-select-item-option-content,::ng-deep .rd-form-item-multiple-select-dropdown .ant-select-item-option-disabled .ant-select-item-option-content{color:#6b7280;background:#e5e7eb}::ng-deep .rd-form-item-select-dropdown .rd-form-item-empty,::ng-deep .rd-form-item-select-dropdown-s .rd-form-item-empty,::ng-deep .rd-form-item-multiple-select-dropdown .rd-form-item-empty{display:flex;flex-direction:column;align-items:center;gap:6px;width:100%}::ng-deep .rd-form-item-select-dropdown .rd-form-item-empty img,::ng-deep .rd-form-item-select-dropdown-s .rd-form-item-empty img,::ng-deep .rd-form-item-multiple-select-dropdown .rd-form-item-empty img{width:61px;height:68px}::ng-deep .rd-form-item-select-dropdown .rd-form-item-empty p,::ng-deep .rd-form-item-select-dropdown-s .rd-form-item-empty p,::ng-deep .rd-form-item-multiple-select-dropdown .rd-form-item-empty p{font-size:13px;color:#9ca3af;font-weight:500;margin:0}::ng-deep .rd-form-item-select-dropdown-s .ant-select-item-option-content{padding:0 4px;min-height:32px}::ng-deep .rd-form-item-multiple-select-dropdown .ant-select-item-option-content{border-radius:4px;color:#030712;font-size:14px;padding:0 6px 0 32px;position:relative}::ng-deep .rd-form-item-multiple-select-dropdown .ant-select-item-option-content:before{content:\"\";position:absolute;top:50%;left:6px;width:16px;height:16px;transform:translateY(-50%);border-radius:4px;border:1px solid #9ca3af}::ng-deep .rd-form-item-multiple-select-dropdown .ant-select-item-option-selected .ant-select-item-option-content:before{background-image:url(/assets/img/icon/checkbox.svg);background-size:contain;background-position:center;background-repeat:no-repeat;border:none}::ng-deep .rd-form-item-multiple-select-dropdown .ant-select-item-option-state{display:none}::ng-deep .rd-form-item-option-content{display:flex;align-items:center;gap:8px;height:100%}::ng-deep .rd-form-item-option-content span{font-size:14px;font-weight:500}::ng-deep .rd-form-item-option-content .rd-token-icon{width:20px;height:20px;transition:opacity .3s ease-in-out}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3$4.NzSpinComponent, selector: "nz-spin", inputs: ["nzIndicator", "nzSize", "nzTip", "nzDelay", "nzSimple", "nzSpinning"], exportAs: ["nzSpin"] }, { kind: "component", type: i4$1.NzOptionComponent, selector: "nz-option", inputs: ["nzLabel", "nzValue", "nzDisabled", "nzHide", "nzCustomContent"], exportAs: ["nzOption"] }, { kind: "component", type: i4$1.NzSelectComponent, selector: "nz-select", inputs: ["nzId", "nzSize", "nzStatus", "nzOptionHeightPx", "nzOptionOverflowSize", "nzDropdownClassName", "nzDropdownMatchSelectWidth", "nzDropdownStyle", "nzNotFoundContent", "nzPlaceHolder", "nzPlacement", "nzMaxTagCount", "nzDropdownRender", "nzCustomTemplate", "nzSuffixIcon", "nzClearIcon", "nzRemoveIcon", "nzMenuItemSelectedIcon", "nzTokenSeparators", "nzMaxTagPlaceholder", "nzMaxMultipleCount", "nzMode", "nzFilterOption", "compareWith", "nzAllowClear", "nzBorderless", "nzShowSearch", "nzLoading", "nzAutoFocus", "nzAutoClearSearchValue", "nzServerSearch", "nzDisabled", "nzOpen", "nzSelectOnTab", "nzBackdrop", "nzOptions", "nzShowArrow"], outputs: ["nzOnSearch", "nzScrollToBottom", "nzOpenChange", "nzBlur", "nzFocus"], exportAs: ["nzSelect"] }, { kind: "component", type: FormItemComponent, selector: "app-rd-form-item", inputs: ["errorMessage", "disabled", "label", "type", "focus", "value", "size"] }] });
1048
1114
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CustomSelectComponent, decorators: [{
1049
1115
  type: Component,
1050
1116
  args: [{ selector: 'app-rd-select', providers: [
@@ -1053,7 +1119,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
1053
1119
  useExisting: forwardRef(() => CustomSelectComponent),
1054
1120
  multi: true,
1055
1121
  },
1056
- ], template: "<div\n class=\"rd-form-item\"\n [ngClass]=\"{\n 'rd-selected': !!nativeValue || !!searchInput || isFocus,\n 'rd-disabled': disabled\n }\"\n>\n <nz-select\n class=\"rd-form-item-select\"\n nzBorderless\n [nzMode]=\"nzMode\"\n [nzShowArrow]=\"false\"\n [(ngModel)]=\"nativeValue\"\n [nzCustomTemplate]=\"\n customTpl\n ? customTpl\n : isCurrency\n ? currencySelectedTpl\n : defaultSelectedTpl\n \"\n (nzScrollToBottom)=\"onScrollToBottom()\"\n (ngModelChange)=\"handleValueChange($event)\"\n [disabled]=\"disabled\"\n (nzFocus)=\"isFocus = true\"\n (nzBlur)=\"isFocus = false\"\n [nzDropdownClassName]=\"\n nzMode === 'multiple'\n ? 'rd-form-item-multiple-select-dropdown'\n : 'rd-form-item-select-dropdown'\n \"\n [nzOptionOverflowSize]=\"5\"\n [nzOptionHeightPx]=\"40\"\n [nzSuffixIcon]=\"customIcon\"\n [nzRemoveIcon]=\"removeIcon\"\n [nzMaxTagCount]=\"3\"\n [nzShowSearch]=\"isShowSearch\"\n (nzOnSearch)=\"onSearch($event)\"\n >\n <nz-option\n *ngFor=\"let option of filteredOptions\"\n [nzValue]=\"option.value\"\n [nzLabel]=\"option.name || ''\"\n [nzDisabled]=\"option.disabled || false\"\n [nzCustomContent]=\"true\"\n >\n <ng-container *ngIf=\"optionTpl || isCurrency\">\n <ng-container\n *ngTemplateOutlet=\"\n isCurrency ? currencyOptionTpl : optionTpl;\n context: { $implicit: option }\n \"\n ></ng-container>\n </ng-container>\n <ng-container *ngIf=\"!(optionTpl || isCurrency)\">\n {{ option.name }}\n </ng-container>\n </nz-option>\n <nz-option *ngIf=\"isLoading\" nzDisabled nzCustomContent>\n <nz-spin style=\"padding: 16px 0\"></nz-spin>\n </nz-option>\n </nz-select>\n\n <div class=\"rd-form-item-label\">{{ label }}</div>\n <svg\n class=\"rd-form-item-select-icon\"\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"17\"\n viewBox=\"0 0 16 17\"\n fill=\"none\"\n >\n <path\n d=\"M3 5.83337L8 11.1667L13 5.83337\"\n [attr.stroke]=\"disabled ? '#9CA3AF' : '#030712'\"\n stroke-width=\"1.16667\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n</div>\n\n<ng-template #defaultSelectedTpl let-selected>\n {{ selected?.nzLabel }}\n</ng-template>\n\n<ng-template #currencyOptionTpl let-option>\n <div class=\"rd-form-item-option-content\">\n <img [src]=\"option.iconUrl\" class=\"rd-token-icon\" alt=\"icon\" />\n <span>{{ option.name }}</span>\n </div>\n</ng-template>\n\n<ng-template #currencySelectedTpl let-selected let-extra>\n <div class=\"rd-form-item-option-content\">\n <img\n [src]=\"currencyUrlMap?.[selected.nzValue]\"\n class=\"rd-token-icon\"\n alt=\"icon\"\n />\n <span>{{ selected.nzLabel }}</span>\n </div>\n</ng-template>\n\n<ng-template #removeIcon>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"12\"\n height=\"12\"\n viewBox=\"0 0 12 12\"\n fill=\"none\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M2.39645 2.39645C2.59171 2.20118 2.90829 2.20118 3.10355 2.39645L6 5.29289L8.89645 2.39645C9.09171 2.20118 9.40829 2.20118 9.60355 2.39645C9.79882 2.59171 9.79882 2.90829 9.60355 3.10355L6.70711 6L9.60355 8.89645C9.79882 9.09171 9.79882 9.40829 9.60355 9.60355C9.40829 9.79882 9.09171 9.79882 8.89645 9.60355L6 6.70711L3.10355 9.60355C2.90829 9.79882 2.59171 9.79882 2.39645 9.60355C2.20118 9.40829 2.20118 9.09171 2.39645 8.89645L5.29289 6L2.39645 3.10355C2.20118 2.90829 2.20118 2.59171 2.39645 2.39645Z\"\n fill=\"#030712\"\n />\n </svg>\n</ng-template>\n\n<ng-template #customIcon>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M2.60136 4.90777C2.83639 4.68743 3.20555 4.69934 3.42589 4.93437L8.00033 9.81377L12.5748 4.93437C12.7951 4.69934 13.1643 4.68743 13.3993 4.90777C13.6343 5.12812 13.6462 5.49727 13.4259 5.7323L8.42589 11.0656C8.31561 11.1833 8.16157 11.25 8.00033 11.25C7.83909 11.25 7.68504 11.1833 7.57476 11.0656L2.57476 5.7323C2.35442 5.49727 2.36633 5.12811 2.60136 4.90777Z\"\n fill=\"#030712\"\n />\n </svg>\n</ng-template>\n", styles: ["::ng-deep .rd-form-item-select{min-width:113px;min-height:52px;max-height:100%;position:relative}::ng-deep .rd-form-item-select.ant-select-multiple .ant-select-selection-search{margin-inline-start:0}::ng-deep .rd-form-item-select .ant-select-selection-search-input{padding:12px 4px 0}::ng-deep .rd-form-item-select .ant-select-selection-search-input::placeholder{color:#9ca3af}::ng-deep .rd-form-item-select .ant-select-selection-search .ant-select-selection-search-input{padding:12px 4px 0;transform:translate(-2px,12px)!important}::ng-deep .rd-form-item-select .ant-select-show-search{transform:translateY(10px)}::ng-deep .rd-form-item-select.ant-select-single:not(.ant-select-customize-input) .ant-select-selector{padding:14px 16px 10px;height:52px}::ng-deep .rd-form-item-select.ant-select .ant-select-selection-item{color:#030712;font-weight:500;font-size:14px}::ng-deep .rd-form-item-select .ant-select-selector{padding:12px 16px}::ng-deep .rd-form-item-select.ant-select-multiple .ant-select-selection-item{border-radius:4px;background:#f3f4f6;font-size:14px;font-weight:500;color:#030712;display:flex;align-items:center;gap:4px}::ng-deep .rd-form-item-select.ant-select-multiple .ant-select-selection-item .ant-select-selection-item-remove{line-height:1}::ng-deep .rd-form-item-select:not(.ant-select-customize-input) .ant-select-selector{border-radius:4px}::ng-deep .rd-form-item-select.ant-select-focused:not(.ant-select-disabled).ant-select:not(.ant-select-customize-input) .ant-select-selector{border-radius:4px;border:1px solid #367af6;background:#fff;box-shadow:0 0 0 2px #367af61a}::ng-deep .rd-form-item-select .ant-select-selection-placeholder{color:#030712;font-weight:500;font-size:14px}::ng-deep .rd-form-item-select .ant-select-selection-item-content{color:#030712;font-weight:500}::ng-deep .rd-form-item-select .ant-select-arrow{transition:ease-in-out .2s all;cursor:pointer;pointer-events:initial}::ng-deep .rd-form-item-select:hover:has(.ant-select-clear) .ant-select-arrow{opacity:0}::ng-deep .rd-form-item-select.ant-select-focused .ant-select-arrow,::ng-deep .rd-form-item-select .ant-select-selector:focus-within .ant-select-arrow{transform:rotate(-180deg);transition:transform .2s ease}::ng-deep .rd-form-item-select-s{height:100%;min-height:32px}::ng-deep .rd-form-item-select-s.ant-select-single:not(.ant-select-customize-input) .ant-select-selector{padding:0 12px;height:100%}::ng-deep .rd-form-item-select-dropdown .ant-select-dropdown,::ng-deep .rd-form-item-select-dropdown-s .ant-select-dropdown,::ng-deep .rd-form-item-multiple-select-dropdown .ant-select-dropdown{border-radius:4px;background:#fff;min-width:113px}::ng-deep .rd-form-item-select-dropdown .ant-select-item-option,::ng-deep .rd-form-item-select-dropdown-s .ant-select-item-option,::ng-deep .rd-form-item-multiple-select-dropdown .ant-select-item-option{background-color:transparent;padding:0 6px}::ng-deep .rd-form-item-select-dropdown .ant-select-item-option-content,::ng-deep .rd-form-item-select-dropdown-s .ant-select-item-option-content,::ng-deep .rd-form-item-multiple-select-dropdown .ant-select-item-option-content{border-radius:4px;padding:0 6px;display:flex;align-items:center;color:#030712;font-size:14px;min-height:40px;font-weight:600}::ng-deep .rd-form-item-select-dropdown .ant-select-item-option-active .ant-select-item-option-content,::ng-deep .rd-form-item-select-dropdown-s .ant-select-item-option-active .ant-select-item-option-content,::ng-deep .rd-form-item-multiple-select-dropdown .ant-select-item-option-active .ant-select-item-option-content{background:rgba(54,122,246,.1)}::ng-deep .rd-form-item-select-dropdown .ant-select-item-option-disabled .ant-select-item-option-content,::ng-deep .rd-form-item-select-dropdown-s .ant-select-item-option-disabled .ant-select-item-option-content,::ng-deep .rd-form-item-multiple-select-dropdown .ant-select-item-option-disabled .ant-select-item-option-content{color:#6b7280;background:#e5e7eb}::ng-deep .rd-form-item-select-dropdown .rd-form-item-empty,::ng-deep .rd-form-item-select-dropdown-s .rd-form-item-empty,::ng-deep .rd-form-item-multiple-select-dropdown .rd-form-item-empty{display:flex;flex-direction:column;align-items:center;gap:6px;width:100%}::ng-deep .rd-form-item-select-dropdown .rd-form-item-empty img,::ng-deep .rd-form-item-select-dropdown-s .rd-form-item-empty img,::ng-deep .rd-form-item-multiple-select-dropdown .rd-form-item-empty img{width:61px;height:68px}::ng-deep .rd-form-item-select-dropdown .rd-form-item-empty p,::ng-deep .rd-form-item-select-dropdown-s .rd-form-item-empty p,::ng-deep .rd-form-item-multiple-select-dropdown .rd-form-item-empty p{font-size:13px;color:#9ca3af;font-weight:500;margin:0}::ng-deep .rd-form-item-select-dropdown-s .ant-select-item-option-content{padding:0 4px;min-height:32px}::ng-deep .rd-form-item-multiple-select-dropdown .ant-select-item-option-content{border-radius:4px;color:#030712;font-size:14px;padding:0 6px 0 32px;position:relative}::ng-deep .rd-form-item-multiple-select-dropdown .ant-select-item-option-content:before{content:\"\";position:absolute;top:50%;left:6px;width:16px;height:16px;transform:translateY(-50%);border-radius:4px;border:1px solid #9ca3af}::ng-deep .rd-form-item-multiple-select-dropdown .ant-select-item-option-selected .ant-select-item-option-content:before{background-image:url(/assets/img/icon/checkbox.svg);background-size:contain;background-position:center;background-repeat:no-repeat;border:none}::ng-deep .rd-form-item-multiple-select-dropdown .ant-select-item-option-state{display:none}::ng-deep .rd-form-item-option-content{display:flex;align-items:center;gap:8px;height:100%}::ng-deep .rd-form-item-option-content span{font-size:14px;font-weight:500}::ng-deep .rd-form-item-option-content .rd-token-icon{width:20px;height:20px;transition:opacity .3s ease-in-out}\n", ".rd-form-item{position:relative;border-radius:4px;padding:2px 0;border:1px solid #e5e7eb;background-color:#fff;width:100%;height:64px}.rd-form-item .rd-form-item-select-icon{position:absolute;right:12px;top:50%;transform:translateY(-50%);width:16px;height:16px;pointer-events:none}.rd-form-item-label{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:#6b7280;transition:all .3s ease;pointer-events:none;z-index:1;font-size:14px;font-weight:600;line-height:1}.rd-form-item-input{color:#030712;font-size:14px;width:100%;font-weight:500;padding:22px 16px 12px;height:52px}.rd-form-item-input:focus,.rd-form-item-input:not(:placeholder-shown){top:10px}.rd-form-item .rd-form-item-input:focus~.rd-form-item-label,.rd-form-item .rd-form-item-input:not(:placeholder-shown)~.rd-form-item-label{top:18px;font-size:12px}.rd-form-item-select{width:100%}.rd-form-item-select ::ng-deep .ant-select-selection-item{color:#030712;font-size:14px;font-weight:500}.rd-form-item.rd-selected .rd-form-item-label{top:16px;font-size:12px}.rd-form-item.rd-selected .rd-form-item-select{top:10px}.rd-form-item.rd-disabled{background-color:#f3f4f6;border-color:#d1d5db}.rd-form-item.rd-disabled .rd-form-item-label,.rd-form-item.rd-disabled .rd-form-item-input{color:#9ca3af}.rd-form-item.rd-disabled ::ng-deep .ant-select-selection-item{color:#9ca3af}.rd-form-item.rd-error{border-color:#e51c36}.rd-form-item-error{color:#d2152e;font-size:12px;font-weight:500;display:flex;align-items:center;gap:4px;margin-top:4px}.rd-form-item-error img{width:16px}.rd-form-number-item{position:relative;border-radius:4px;padding:12px 16px;background-color:#fff;border:1px solid #e5e7eb;width:100%}.rd-form-number-item .rd-item-label{color:#6b7280;font-size:12px;font-weight:600}.rd-form-number-item .rd-item-content{display:flex;align-items:center;font-size:32px;font-weight:600;line-height:48px;color:#9ca3af}.rd-form-number-item .rd-item-content-value{flex:1;font-size:32px;font-weight:600;line-height:48px;color:#030712;border:none;padding:4px 0}.rd-form-number-item .rd-item-content-value:focus,.rd-form-number-item .rd-item-content-value:active,.rd-form-number-item .rd-item-content-value:hover{outline:none;box-shadow:none}.rd-form-number-item .rd-item-content-value ::ng-deep .ant-input-number-handler-wrap{display:none}.rd-form-number-item .rd-item-content-value ::ng-deep .ant-input-number-input{font-size:32px;font-weight:600;line-height:48px}.rd-form-number-item .rd-item-content-value ::ng-deep .ant-input-number-input::placeholder{color:#9ca3af}.rd-form-number-item .rd-item-content-symbol{flex-shrink:0}.rd-form-number-item ::ng-deep .rd-item-warning{font-weight:500;font-size:12px;color:#6b7280;margin-top:4px;padding:0 12px}.rd-form-number-item.rd-disabled{background-color:#f3f4f6;border-color:#d1d5db}.rd-form-number-item.rd-disabled .rd-item-label,.rd-form-number-item.rd-disabled .rd-item-content-value{color:#9ca3af}.rd-form-number-item.rd-error{border-color:#e51c36}\n"] }]
1122
+ {
1123
+ provide: NG_VALIDATORS,
1124
+ useExisting: forwardRef(() => CustomSelectComponent),
1125
+ multi: true,
1126
+ },
1127
+ ], template: "<app-rd-form-item\n [disabled]=\"disabled\"\n [focus]=\"!!searchInput || isFocus || isOpen\"\n [type]=\"'select'\"\n [label]=\"label\"\n [value]=\"nativeValue\"\n [errorMessage]=\"showError ? currentErrorMessage : ''\"\n>\n <nz-select\n class=\"rd-form-item-select\"\n nzBorderless\n [nzMode]=\"nzMode\"\n [nzShowArrow]=\"false\"\n [(ngModel)]=\"nativeValue\"\n [nzCustomTemplate]=\"\n customTpl\n ? customTpl\n : isCurrency\n ? currencySelectedTpl\n : defaultSelectedTpl\n \"\n (nzScrollToBottom)=\"onScrollToBottom()\"\n (ngModelChange)=\"handleValueChange($event)\"\n [disabled]=\"disabled\"\n (nzFocus)=\"isFocus = true\"\n (nzBlur)=\"isFocus = false\"\n [nzDropdownClassName]=\"\n nzMode === 'multiple'\n ? 'rd-form-item-multiple-select-dropdown'\n : 'rd-form-item-select-dropdown'\n \"\n [nzOptionOverflowSize]=\"5\"\n [nzOptionHeightPx]=\"optionHeightPx || 40\"\n [nzSuffixIcon]=\"customIcon\"\n [nzRemoveIcon]=\"removeIcon\"\n [nzShowSearch]=\"isShowSearch\"\n (nzOnSearch)=\"onSearch($event)\"\n (nzOpenChange)=\"handleOpenChange($event)\"\n >\n <nz-option\n *ngFor=\"let option of filteredOptions\"\n [nzValue]=\"option.value\"\n [nzLabel]=\"option.name || ''\"\n [nzDisabled]=\"option.disabled || false\"\n [nzCustomContent]=\"true\"\n >\n <ng-container *ngIf=\"optionTpl || isCurrency\">\n <ng-container\n *ngTemplateOutlet=\"\n isCurrency ? currencyOptionTpl : optionTpl;\n context: { $implicit: option }\n \"\n ></ng-container>\n </ng-container>\n <ng-container *ngIf=\"!(optionTpl || isCurrency)\">\n {{ option.name }}\n </ng-container>\n </nz-option>\n <nz-option *ngIf=\"isLoading\" nzDisabled nzCustomContent>\n <nz-spin style=\"padding: 16px 0\"></nz-spin>\n </nz-option>\n </nz-select>\n</app-rd-form-item>\n\n<ng-template #defaultSelectedTpl let-selected>\n {{ selected?.nzLabel }}\n</ng-template>\n\n<ng-template #currencyOptionTpl let-option>\n <div class=\"rd-form-item-option-content\">\n <img [src]=\"option.iconUrl\" class=\"rd-token-icon\" alt=\"icon\" />\n <span>{{ option.name }}</span>\n </div>\n</ng-template>\n\n<ng-template #currencySelectedTpl let-selected let-extra>\n <div class=\"rd-form-item-option-content\">\n <img\n [src]=\"currencyUrlMap?.[selected.nzValue]\"\n class=\"rd-token-icon\"\n alt=\"icon\"\n />\n <span>{{ selected.nzLabel }}</span>\n </div>\n</ng-template>\n\n<ng-template #removeIcon>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"12\"\n height=\"12\"\n viewBox=\"0 0 12 12\"\n fill=\"none\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M2.39645 2.39645C2.59171 2.20118 2.90829 2.20118 3.10355 2.39645L6 5.29289L8.89645 2.39645C9.09171 2.20118 9.40829 2.20118 9.60355 2.39645C9.79882 2.59171 9.79882 2.90829 9.60355 3.10355L6.70711 6L9.60355 8.89645C9.79882 9.09171 9.79882 9.40829 9.60355 9.60355C9.40829 9.79882 9.09171 9.79882 8.89645 9.60355L6 6.70711L3.10355 9.60355C2.90829 9.79882 2.59171 9.79882 2.39645 9.60355C2.20118 9.40829 2.20118 9.09171 2.39645 8.89645L5.29289 6L2.39645 3.10355C2.20118 2.90829 2.20118 2.59171 2.39645 2.39645Z\"\n fill=\"#030712\"\n />\n </svg>\n</ng-template>\n\n<ng-template #customIcon>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M2.60136 4.90777C2.83639 4.68743 3.20555 4.69934 3.42589 4.93437L8.00033 9.81377L12.5748 4.93437C12.7951 4.69934 13.1643 4.68743 13.3993 4.90777C13.6343 5.12812 13.6462 5.49727 13.4259 5.7323L8.42589 11.0656C8.31561 11.1833 8.16157 11.25 8.00033 11.25C7.83909 11.25 7.68504 11.1833 7.57476 11.0656L2.57476 5.7323C2.35442 5.49727 2.36633 5.12811 2.60136 4.90777Z\"\n fill=\"#030712\"\n />\n </svg>\n</ng-template>\n", styles: [":host .rd-form-item-select{width:100%}\n", "::ng-deep .rd-form-item-select{min-width:113px;min-height:52px;max-height:100%;position:relative}::ng-deep .rd-form-item-select.ant-select-multiple .ant-select-selection-search{margin-inline-start:0}::ng-deep .rd-form-item-select .ant-select-selection-search-input{padding:12px 4px 0}::ng-deep .rd-form-item-select .ant-select-selection-search-input::placeholder{color:#9ca3af}::ng-deep .rd-form-item-select .ant-select-selection-search .ant-select-selection-search-input{padding:12px 4px 0;transform:translate(-2px,12px)!important}::ng-deep .rd-form-item-select .ant-select-show-search{transform:translateY(10px)}::ng-deep .rd-form-item-select.ant-select-single:not(.ant-select-customize-input) .ant-select-selector{padding:14px 16px 10px;min-height:52px;height:-moz-fit-content;height:fit-content}::ng-deep .rd-form-item-select.ant-select-single .ant-select-selector .ant-select-selection-item:after{display:none}::ng-deep .rd-form-item-select.ant-select .ant-select-selection-item{color:#030712;font-weight:500;font-size:14px}::ng-deep .rd-form-item-select .ant-select-selector{padding:12px 16px}::ng-deep .rd-form-item-select.ant-select-multiple .ant-select-selection-item{border-radius:4px;background:#f3f4f6;font-size:14px;font-weight:500;color:#030712;display:flex;align-items:center;gap:4px}::ng-deep .rd-form-item-select.ant-select-multiple .ant-select-selection-item .ant-select-selection-item-remove{line-height:1}::ng-deep .rd-form-item-select:not(.ant-select-customize-input) .ant-select-selector{border-radius:4px}::ng-deep .rd-form-item-select.ant-select-focused:not(.ant-select-disabled).ant-select:not(.ant-select-customize-input) .ant-select-selector{border-radius:4px;border:1px solid #367af6;background:#fff;box-shadow:0 0 0 2px #367af61a}::ng-deep .rd-form-item-select .ant-select-selection-placeholder{color:#030712;font-weight:500;font-size:14px}::ng-deep .rd-form-item-select .ant-select-selection-item-content{color:#030712;font-weight:500}::ng-deep .rd-form-item-select .ant-select-arrow{transition:ease-in-out .2s all;cursor:pointer;pointer-events:initial}::ng-deep .rd-form-item-select:hover:has(.ant-select-clear) .ant-select-arrow{opacity:0}::ng-deep .rd-form-item-select.ant-select-focused .ant-select-arrow,::ng-deep .rd-form-item-select .ant-select-selector:focus-within .ant-select-arrow{transform:rotate(-180deg);transition:transform .2s ease}::ng-deep .rd-form-item-select-s{min-height:38px}::ng-deep .rd-form-item-select-s.ant-select-single:not(.ant-select-customize-input) .ant-select-selector{height:100%;min-height:38px;padding:0 12px}::ng-deep .rd-form-item-select-dropdown .ant-select-dropdown,::ng-deep .rd-form-item-select-dropdown-s .ant-select-dropdown,::ng-deep .rd-form-item-multiple-select-dropdown .ant-select-dropdown{border-radius:4px;background:#fff;min-width:113px}::ng-deep .rd-form-item-select-dropdown .ant-select-item-option,::ng-deep .rd-form-item-select-dropdown-s .ant-select-item-option,::ng-deep .rd-form-item-multiple-select-dropdown .ant-select-item-option{background-color:transparent;padding:0 6px}::ng-deep .rd-form-item-select-dropdown .ant-select-item-option-content,::ng-deep .rd-form-item-select-dropdown-s .ant-select-item-option-content,::ng-deep .rd-form-item-multiple-select-dropdown .ant-select-item-option-content{border-radius:4px;padding:0 6px;display:flex;align-items:center;color:#030712;font-size:14px;min-height:40px;font-weight:600}::ng-deep .rd-form-item-select-dropdown .ant-select-item-option-active .ant-select-item-option-content,::ng-deep .rd-form-item-select-dropdown-s .ant-select-item-option-active .ant-select-item-option-content,::ng-deep .rd-form-item-multiple-select-dropdown .ant-select-item-option-active .ant-select-item-option-content{background:rgba(54,122,246,.1)}::ng-deep .rd-form-item-select-dropdown .ant-select-item-option-disabled .ant-select-item-option-content,::ng-deep .rd-form-item-select-dropdown-s .ant-select-item-option-disabled .ant-select-item-option-content,::ng-deep .rd-form-item-multiple-select-dropdown .ant-select-item-option-disabled .ant-select-item-option-content{color:#6b7280;background:#e5e7eb}::ng-deep .rd-form-item-select-dropdown .rd-form-item-empty,::ng-deep .rd-form-item-select-dropdown-s .rd-form-item-empty,::ng-deep .rd-form-item-multiple-select-dropdown .rd-form-item-empty{display:flex;flex-direction:column;align-items:center;gap:6px;width:100%}::ng-deep .rd-form-item-select-dropdown .rd-form-item-empty img,::ng-deep .rd-form-item-select-dropdown-s .rd-form-item-empty img,::ng-deep .rd-form-item-multiple-select-dropdown .rd-form-item-empty img{width:61px;height:68px}::ng-deep .rd-form-item-select-dropdown .rd-form-item-empty p,::ng-deep .rd-form-item-select-dropdown-s .rd-form-item-empty p,::ng-deep .rd-form-item-multiple-select-dropdown .rd-form-item-empty p{font-size:13px;color:#9ca3af;font-weight:500;margin:0}::ng-deep .rd-form-item-select-dropdown-s .ant-select-item-option-content{padding:0 4px;min-height:32px}::ng-deep .rd-form-item-multiple-select-dropdown .ant-select-item-option-content{border-radius:4px;color:#030712;font-size:14px;padding:0 6px 0 32px;position:relative}::ng-deep .rd-form-item-multiple-select-dropdown .ant-select-item-option-content:before{content:\"\";position:absolute;top:50%;left:6px;width:16px;height:16px;transform:translateY(-50%);border-radius:4px;border:1px solid #9ca3af}::ng-deep .rd-form-item-multiple-select-dropdown .ant-select-item-option-selected .ant-select-item-option-content:before{background-image:url(/assets/img/icon/checkbox.svg);background-size:contain;background-position:center;background-repeat:no-repeat;border:none}::ng-deep .rd-form-item-multiple-select-dropdown .ant-select-item-option-state{display:none}::ng-deep .rd-form-item-option-content{display:flex;align-items:center;gap:8px;height:100%}::ng-deep .rd-form-item-option-content span{font-size:14px;font-weight:500}::ng-deep .rd-form-item-option-content .rd-token-icon{width:20px;height:20px;transition:opacity .3s ease-in-out}\n"] }]
1057
1128
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { label: [{
1058
1129
  type: Input
1059
1130
  }], customTpl: [{
@@ -1070,6 +1141,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
1070
1141
  type: Input
1071
1142
  }], currencyUrlMap: [{
1072
1143
  type: Input
1144
+ }], optionHeightPx: [{
1145
+ type: Input
1073
1146
  }], isLoading: [{
1074
1147
  type: Input
1075
1148
  }], isShowSearch: [{
@@ -1078,6 +1151,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
1078
1151
  type: Input
1079
1152
  }], options: [{
1080
1153
  type: Input
1154
+ }], errorMessages: [{
1155
+ type: Input
1081
1156
  }], searchChange: [{
1082
1157
  type: Output
1083
1158
  }], valueChange: [{
@@ -1086,6 +1161,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
1086
1161
  type: Output
1087
1162
  }] } });
1088
1163
 
1164
+ class FormItemModule {
1165
+ }
1166
+ FormItemModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FormItemModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1167
+ FormItemModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: FormItemModule, declarations: [FormItemComponent], imports: [CommonModule], exports: [FormItemComponent] });
1168
+ FormItemModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FormItemModule, imports: [CommonModule] });
1169
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FormItemModule, decorators: [{
1170
+ type: NgModule,
1171
+ args: [{
1172
+ declarations: [FormItemComponent],
1173
+ exports: [FormItemComponent],
1174
+ imports: [CommonModule],
1175
+ }]
1176
+ }] });
1177
+
1089
1178
  class RdSelectModule {
1090
1179
  }
1091
1180
  RdSelectModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: RdSelectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
@@ -1093,12 +1182,14 @@ RdSelectModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version:
1093
1182
  FormsModule,
1094
1183
  ReactiveFormsModule,
1095
1184
  NzSpinModule,
1096
- NzSelectModule], exports: [CustomSelectComponent] });
1185
+ NzSelectModule,
1186
+ FormItemModule], exports: [CustomSelectComponent] });
1097
1187
  RdSelectModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: RdSelectModule, imports: [CommonModule,
1098
1188
  FormsModule,
1099
1189
  ReactiveFormsModule,
1100
1190
  NzSpinModule,
1101
- NzSelectModule] });
1191
+ NzSelectModule,
1192
+ FormItemModule] });
1102
1193
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: RdSelectModule, decorators: [{
1103
1194
  type: NgModule,
1104
1195
  args: [{
@@ -1109,38 +1200,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
1109
1200
  ReactiveFormsModule,
1110
1201
  NzSpinModule,
1111
1202
  NzSelectModule,
1203
+ FormItemModule,
1112
1204
  ],
1113
1205
  exports: [CustomSelectComponent],
1114
1206
  }]
1115
1207
  }] });
1116
1208
 
1117
- class FormItemComponent {
1118
- constructor() {
1119
- this.size = 'normal';
1120
- }
1121
- get isShowSelectIcon() {
1122
- return this.type === 'select';
1123
- }
1124
- }
1125
- FormItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FormItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1126
- FormItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: FormItemComponent, selector: "app-rd-form-item", inputs: { errorMessage: "errorMessage", disabled: "disabled", label: "label", type: "type", focus: "focus", size: "size" }, ngImport: i0, template: "<div\n class=\"rd-form-item\"\n [ngClass]=\"{\n 'rd-disabled': disabled,\n 'rd-error': !!errorMessage,\n 'rd-focus': focus,\n 'rd-form-item-s': size === 'small',\n 'rd-form-item-normal': size === 'normal'\n }\"\n>\n <ng-content></ng-content>\n <div *ngIf=\"label\" class=\"rd-form-item-label\">{{ label }}</div>\n <svg\n *ngIf=\"isShowSelectIcon\"\n class=\"rd-form-item-select-icon\"\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"17\"\n viewBox=\"0 0 16 17\"\n fill=\"none\"\n >\n <path\n d=\"M3 5.83337L8 11.1667L13 5.83337\"\n [attr.stroke]=\"disabled ? '#9CA3AF' : '#030712'\"\n stroke-width=\"1.16667\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n</div>\n<div *ngIf=\"errorMessage\" class=\"rd-form-item-error\">\n <img src=\"/assets/img/icon/icon-error.svg\" />\n {{ errorMessage }}\n</div>\n", styles: [":host .rd-form-item{position:relative;border-radius:4px;border:1px solid #e5e7eb;background-color:#fff;width:100%;font-size:14px;line-height:1;padding:0;transition:all .3s cubic-bezier(.645,.045,.355,1)}:host .rd-form-item.rd-form-item-normal{height:64px}:host .rd-form-item.rd-form-item-s{height:40px}:host .rd-form-item.rd-disabled{background-color:#f3f4f6;border-color:#d1d5db}:host .rd-form-item.rd-disabled .rd-form-item-label,:host .rd-form-item.rd-disabled .rd-form-item-input{color:#9ca3af}:host .rd-form-item.rd-disabled ::ng-deep .ant-select-selection-item{color:#9ca3af}:host .rd-form-item.rd-error{border-color:#e51c36}:host .rd-form-item.rd-focus{border:1px solid #367af6;box-shadow:0 0 0 2px #367af61a}:host .rd-form-item.rd-focus .rd-form-item-select-icon{transform:translateY(-50%) rotate(-180deg)}:host .rd-form-item-label{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:#6b7280;transition:all .3s ease;pointer-events:none;z-index:1;font-size:14px;font-weight:600;line-height:1}:host .rd-form-item-select-icon{position:absolute;right:12px;top:50%;transform:translateY(-50%);width:16px;height:16px;pointer-events:none;transition:transform .2s ease}:host .rd-form-item-error{color:#d2152e;font-size:12px;font-weight:500;display:flex;align-items:center;gap:4px;margin-top:4px}:host .rd-form-item-error img{width:16px}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
1127
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FormItemComponent, decorators: [{
1128
- type: Component,
1129
- args: [{ selector: 'app-rd-form-item', template: "<div\n class=\"rd-form-item\"\n [ngClass]=\"{\n 'rd-disabled': disabled,\n 'rd-error': !!errorMessage,\n 'rd-focus': focus,\n 'rd-form-item-s': size === 'small',\n 'rd-form-item-normal': size === 'normal'\n }\"\n>\n <ng-content></ng-content>\n <div *ngIf=\"label\" class=\"rd-form-item-label\">{{ label }}</div>\n <svg\n *ngIf=\"isShowSelectIcon\"\n class=\"rd-form-item-select-icon\"\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"17\"\n viewBox=\"0 0 16 17\"\n fill=\"none\"\n >\n <path\n d=\"M3 5.83337L8 11.1667L13 5.83337\"\n [attr.stroke]=\"disabled ? '#9CA3AF' : '#030712'\"\n stroke-width=\"1.16667\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n</div>\n<div *ngIf=\"errorMessage\" class=\"rd-form-item-error\">\n <img src=\"/assets/img/icon/icon-error.svg\" />\n {{ errorMessage }}\n</div>\n", styles: [":host .rd-form-item{position:relative;border-radius:4px;border:1px solid #e5e7eb;background-color:#fff;width:100%;font-size:14px;line-height:1;padding:0;transition:all .3s cubic-bezier(.645,.045,.355,1)}:host .rd-form-item.rd-form-item-normal{height:64px}:host .rd-form-item.rd-form-item-s{height:40px}:host .rd-form-item.rd-disabled{background-color:#f3f4f6;border-color:#d1d5db}:host .rd-form-item.rd-disabled .rd-form-item-label,:host .rd-form-item.rd-disabled .rd-form-item-input{color:#9ca3af}:host .rd-form-item.rd-disabled ::ng-deep .ant-select-selection-item{color:#9ca3af}:host .rd-form-item.rd-error{border-color:#e51c36}:host .rd-form-item.rd-focus{border:1px solid #367af6;box-shadow:0 0 0 2px #367af61a}:host .rd-form-item.rd-focus .rd-form-item-select-icon{transform:translateY(-50%) rotate(-180deg)}:host .rd-form-item-label{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:#6b7280;transition:all .3s ease;pointer-events:none;z-index:1;font-size:14px;font-weight:600;line-height:1}:host .rd-form-item-select-icon{position:absolute;right:12px;top:50%;transform:translateY(-50%);width:16px;height:16px;pointer-events:none;transition:transform .2s ease}:host .rd-form-item-error{color:#d2152e;font-size:12px;font-weight:500;display:flex;align-items:center;gap:4px;margin-top:4px}:host .rd-form-item-error img{width:16px}\n"] }]
1130
- }], propDecorators: { errorMessage: [{
1131
- type: Input
1132
- }], disabled: [{
1133
- type: Input
1134
- }], label: [{
1135
- type: Input
1136
- }], type: [{
1137
- type: Input
1138
- }], focus: [{
1139
- type: Input
1140
- }], size: [{
1141
- type: Input
1142
- }] } });
1143
-
1144
1209
  class PureSelectTokenComponent {
1145
1210
  constructor() {
1146
1211
  this.disabled = false;
@@ -1185,7 +1250,7 @@ PureSelectTokenComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0
1185
1250
  useExisting: forwardRef(() => PureSelectTokenComponent),
1186
1251
  multi: true,
1187
1252
  },
1188
- ], ngImport: i0, template: "<app-rd-form-item\n type=\"select\"\n size=\"small\"\n [disabled]=\"disabled\"\n [focus]=\"isFocus || isOpen\"\n>\n <nz-select\n class=\"rd-form-item-select rd-form-item-select-s\"\n nzBorderless\n [nzShowArrow]=\"false\"\n [(ngModel)]=\"value\"\n [nzCustomTemplate]=\"currencySelectedTpl\"\n (ngModelChange)=\"handleValueChange($event)\"\n (nzOpenChange)=\"handleOpenChange($event)\"\n (nzFocus)=\"isFocus = true\"\n (nzBlur)=\"isFocus = false\"\n [disabled]=\"disabled\"\n [nzDropdownClassName]=\"'rd-form-item-select-dropdown-s'\"\n [nzOptionOverflowSize]=\"5\"\n [nzOptionHeightPx]=\"32\"\n [nzSuffixIcon]=\"customIcon\"\n [nzRemoveIcon]=\"removeIcon\"\n [nzDropdownMatchSelectWidth]=\"true\"\n [nzNotFoundContent]=\"nzNotFoundContent\"\n [nzPlaceHolder]=\"label\"\n >\n <nz-option\n *ngFor=\"let option of tokens\"\n [nzValue]=\"option.value\"\n [nzLabel]=\"option.name || ''\"\n [nzDisabled]=\"option.disabled || false\"\n [nzCustomContent]=\"true\"\n >\n <ng-container\n *ngTemplateOutlet=\"currencyOptionTpl; context: { $implicit: option }\"\n ></ng-container>\n </nz-option>\n <nz-option *ngIf=\"isLoading\" nzDisabled nzCustomContent>\n <nz-spin style=\"padding: 16px 0\"></nz-spin>\n </nz-option>\n </nz-select>\n</app-rd-form-item>\n\n<ng-template #currencyOptionTpl let-option>\n <div class=\"rd-form-item-option-content\">\n <nz-avatar\n [nzSize]=\"20\"\n [nzIcon]=\"'user'\"\n [nzSrc]=\"option.iconUrl\"\n ></nz-avatar>\n <span>{{ option.name }}</span>\n </div>\n</ng-template>\n\n<ng-template #currencySelectedTpl let-selected let-extra>\n <div class=\"rd-form-item-option-content\">\n <img [src]=\"getIconUrl(selected?.nzValue)\" class=\"rd-token-icon\" alt=\"\" />\n <span>{{ selected?.nzLabel }}</span>\n </div>\n</ng-template>\n\n<ng-template #removeIcon>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"12\"\n height=\"12\"\n viewBox=\"0 0 12 12\"\n fill=\"none\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M2.39645 2.39645C2.59171 2.20118 2.90829 2.20118 3.10355 2.39645L6 5.29289L8.89645 2.39645C9.09171 2.20118 9.40829 2.20118 9.60355 2.39645C9.79882 2.59171 9.79882 2.90829 9.60355 3.10355L6.70711 6L9.60355 8.89645C9.79882 9.09171 9.79882 9.40829 9.60355 9.60355C9.40829 9.79882 9.09171 9.79882 8.89645 9.60355L6 6.70711L3.10355 9.60355C2.90829 9.79882 2.59171 9.79882 2.39645 9.60355C2.20118 9.40829 2.20118 9.09171 2.39645 8.89645L5.29289 6L2.39645 3.10355C2.20118 2.90829 2.20118 2.59171 2.39645 2.39645Z\"\n fill=\"#030712\"\n />\n </svg>\n</ng-template>\n\n<ng-template #customIcon>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M2.60136 4.90777C2.83639 4.68743 3.20555 4.69934 3.42589 4.93437L8.00033 9.81377L12.5748 4.93437C12.7951 4.69934 13.1643 4.68743 13.3993 4.90777C13.6343 5.12812 13.6462 5.49727 13.4259 5.7323L8.42589 11.0656C8.31561 11.1833 8.16157 11.25 8.00033 11.25C7.83909 11.25 7.68504 11.1833 7.57476 11.0656L2.57476 5.7323C2.35442 5.49727 2.36633 5.12811 2.60136 4.90777Z\"\n fill=\"#030712\"\n />\n </svg>\n</ng-template>\n\n<ng-template #nzNotFoundContent>\n <div class=\"rd-form-item-empty\">\n <img src=\"/assets/img/no-data.svg\" />\n <p>No data</p>\n </div>\n</ng-template>\n", styles: [":host ::ng-deep .rd-form-item-select{width:100%}:host ::ng-deep .rd-form-item-select .ant-select-selection-placeholder{color:#9ca3af}:host ::ng-deep .rd-form-item-select .ant-select-selector .ant-select-selection-placeholder{line-height:34px}\n", "::ng-deep .rd-form-item-select{min-width:113px;min-height:52px;max-height:100%;position:relative}::ng-deep .rd-form-item-select.ant-select-multiple .ant-select-selection-search{margin-inline-start:0}::ng-deep .rd-form-item-select .ant-select-selection-search-input{padding:12px 4px 0}::ng-deep .rd-form-item-select .ant-select-selection-search-input::placeholder{color:#9ca3af}::ng-deep .rd-form-item-select .ant-select-selection-search .ant-select-selection-search-input{padding:12px 4px 0;transform:translate(-2px,12px)!important}::ng-deep .rd-form-item-select .ant-select-show-search{transform:translateY(10px)}::ng-deep .rd-form-item-select.ant-select-single:not(.ant-select-customize-input) .ant-select-selector{padding:14px 16px 10px;height:52px}::ng-deep .rd-form-item-select.ant-select .ant-select-selection-item{color:#030712;font-weight:500;font-size:14px}::ng-deep .rd-form-item-select .ant-select-selector{padding:12px 16px}::ng-deep .rd-form-item-select.ant-select-multiple .ant-select-selection-item{border-radius:4px;background:#f3f4f6;font-size:14px;font-weight:500;color:#030712;display:flex;align-items:center;gap:4px}::ng-deep .rd-form-item-select.ant-select-multiple .ant-select-selection-item .ant-select-selection-item-remove{line-height:1}::ng-deep .rd-form-item-select:not(.ant-select-customize-input) .ant-select-selector{border-radius:4px}::ng-deep .rd-form-item-select.ant-select-focused:not(.ant-select-disabled).ant-select:not(.ant-select-customize-input) .ant-select-selector{border-radius:4px;border:1px solid #367af6;background:#fff;box-shadow:0 0 0 2px #367af61a}::ng-deep .rd-form-item-select .ant-select-selection-placeholder{color:#030712;font-weight:500;font-size:14px}::ng-deep .rd-form-item-select .ant-select-selection-item-content{color:#030712;font-weight:500}::ng-deep .rd-form-item-select .ant-select-arrow{transition:ease-in-out .2s all;cursor:pointer;pointer-events:initial}::ng-deep .rd-form-item-select:hover:has(.ant-select-clear) .ant-select-arrow{opacity:0}::ng-deep .rd-form-item-select.ant-select-focused .ant-select-arrow,::ng-deep .rd-form-item-select .ant-select-selector:focus-within .ant-select-arrow{transform:rotate(-180deg);transition:transform .2s ease}::ng-deep .rd-form-item-select-s{height:100%;min-height:32px}::ng-deep .rd-form-item-select-s.ant-select-single:not(.ant-select-customize-input) .ant-select-selector{padding:0 12px;height:100%}::ng-deep .rd-form-item-select-dropdown .ant-select-dropdown,::ng-deep .rd-form-item-select-dropdown-s .ant-select-dropdown,::ng-deep .rd-form-item-multiple-select-dropdown .ant-select-dropdown{border-radius:4px;background:#fff;min-width:113px}::ng-deep .rd-form-item-select-dropdown .ant-select-item-option,::ng-deep .rd-form-item-select-dropdown-s .ant-select-item-option,::ng-deep .rd-form-item-multiple-select-dropdown .ant-select-item-option{background-color:transparent;padding:0 6px}::ng-deep .rd-form-item-select-dropdown .ant-select-item-option-content,::ng-deep .rd-form-item-select-dropdown-s .ant-select-item-option-content,::ng-deep .rd-form-item-multiple-select-dropdown .ant-select-item-option-content{border-radius:4px;padding:0 6px;display:flex;align-items:center;color:#030712;font-size:14px;min-height:40px;font-weight:600}::ng-deep .rd-form-item-select-dropdown .ant-select-item-option-active .ant-select-item-option-content,::ng-deep .rd-form-item-select-dropdown-s .ant-select-item-option-active .ant-select-item-option-content,::ng-deep .rd-form-item-multiple-select-dropdown .ant-select-item-option-active .ant-select-item-option-content{background:rgba(54,122,246,.1)}::ng-deep .rd-form-item-select-dropdown .ant-select-item-option-disabled .ant-select-item-option-content,::ng-deep .rd-form-item-select-dropdown-s .ant-select-item-option-disabled .ant-select-item-option-content,::ng-deep .rd-form-item-multiple-select-dropdown .ant-select-item-option-disabled .ant-select-item-option-content{color:#6b7280;background:#e5e7eb}::ng-deep .rd-form-item-select-dropdown .rd-form-item-empty,::ng-deep .rd-form-item-select-dropdown-s .rd-form-item-empty,::ng-deep .rd-form-item-multiple-select-dropdown .rd-form-item-empty{display:flex;flex-direction:column;align-items:center;gap:6px;width:100%}::ng-deep .rd-form-item-select-dropdown .rd-form-item-empty img,::ng-deep .rd-form-item-select-dropdown-s .rd-form-item-empty img,::ng-deep .rd-form-item-multiple-select-dropdown .rd-form-item-empty img{width:61px;height:68px}::ng-deep .rd-form-item-select-dropdown .rd-form-item-empty p,::ng-deep .rd-form-item-select-dropdown-s .rd-form-item-empty p,::ng-deep .rd-form-item-multiple-select-dropdown .rd-form-item-empty p{font-size:13px;color:#9ca3af;font-weight:500;margin:0}::ng-deep .rd-form-item-select-dropdown-s .ant-select-item-option-content{padding:0 4px;min-height:32px}::ng-deep .rd-form-item-multiple-select-dropdown .ant-select-item-option-content{border-radius:4px;color:#030712;font-size:14px;padding:0 6px 0 32px;position:relative}::ng-deep .rd-form-item-multiple-select-dropdown .ant-select-item-option-content:before{content:\"\";position:absolute;top:50%;left:6px;width:16px;height:16px;transform:translateY(-50%);border-radius:4px;border:1px solid #9ca3af}::ng-deep .rd-form-item-multiple-select-dropdown .ant-select-item-option-selected .ant-select-item-option-content:before{background-image:url(/assets/img/icon/checkbox.svg);background-size:contain;background-position:center;background-repeat:no-repeat;border:none}::ng-deep .rd-form-item-multiple-select-dropdown .ant-select-item-option-state{display:none}::ng-deep .rd-form-item-option-content{display:flex;align-items:center;gap:8px;height:100%}::ng-deep .rd-form-item-option-content span{font-size:14px;font-weight:500}::ng-deep .rd-form-item-option-content .rd-token-icon{width:20px;height:20px;transition:opacity .3s ease-in-out}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3$4.NzSpinComponent, selector: "nz-spin", inputs: ["nzIndicator", "nzSize", "nzTip", "nzDelay", "nzSimple", "nzSpinning"], exportAs: ["nzSpin"] }, { kind: "component", type: i4$1.NzOptionComponent, selector: "nz-option", inputs: ["nzLabel", "nzValue", "nzDisabled", "nzHide", "nzCustomContent"], exportAs: ["nzOption"] }, { kind: "component", type: i4$1.NzSelectComponent, selector: "nz-select", inputs: ["nzId", "nzSize", "nzStatus", "nzOptionHeightPx", "nzOptionOverflowSize", "nzDropdownClassName", "nzDropdownMatchSelectWidth", "nzDropdownStyle", "nzNotFoundContent", "nzPlaceHolder", "nzPlacement", "nzMaxTagCount", "nzDropdownRender", "nzCustomTemplate", "nzSuffixIcon", "nzClearIcon", "nzRemoveIcon", "nzMenuItemSelectedIcon", "nzTokenSeparators", "nzMaxTagPlaceholder", "nzMaxMultipleCount", "nzMode", "nzFilterOption", "compareWith", "nzAllowClear", "nzBorderless", "nzShowSearch", "nzLoading", "nzAutoFocus", "nzAutoClearSearchValue", "nzServerSearch", "nzDisabled", "nzOpen", "nzSelectOnTab", "nzBackdrop", "nzOptions", "nzShowArrow"], outputs: ["nzOnSearch", "nzScrollToBottom", "nzOpenChange", "nzBlur", "nzFocus"], exportAs: ["nzSelect"] }, { kind: "component", type: FormItemComponent, selector: "app-rd-form-item", inputs: ["errorMessage", "disabled", "label", "type", "focus", "size"] }, { kind: "component", type: i6.NzAvatarComponent, selector: "nz-avatar", inputs: ["nzShape", "nzSize", "nzGap", "nzText", "nzSrc", "nzSrcSet", "nzAlt", "nzIcon"], outputs: ["nzError"], exportAs: ["nzAvatar"] }] });
1253
+ ], ngImport: i0, template: "<app-rd-form-item\n type=\"select\"\n size=\"small\"\n [disabled]=\"disabled\"\n [focus]=\"isFocus || isOpen\"\n>\n <nz-select\n class=\"rd-form-item-select rd-form-item-select-s\"\n nzBorderless\n [nzShowArrow]=\"false\"\n [(ngModel)]=\"value\"\n [nzCustomTemplate]=\"currencySelectedTpl\"\n (ngModelChange)=\"handleValueChange($event)\"\n (nzOpenChange)=\"handleOpenChange($event)\"\n (nzFocus)=\"isFocus = true\"\n (nzBlur)=\"isFocus = false\"\n [disabled]=\"disabled\"\n [nzDropdownClassName]=\"'rd-form-item-select-dropdown-s'\"\n [nzOptionOverflowSize]=\"5\"\n [nzOptionHeightPx]=\"32\"\n [nzSuffixIcon]=\"customIcon\"\n [nzRemoveIcon]=\"removeIcon\"\n [nzDropdownMatchSelectWidth]=\"true\"\n [nzNotFoundContent]=\"nzNotFoundContent\"\n [nzPlaceHolder]=\"label\"\n >\n <nz-option\n *ngFor=\"let option of tokens\"\n [nzValue]=\"option.value\"\n [nzLabel]=\"option.name || ''\"\n [nzDisabled]=\"option.disabled || false\"\n [nzCustomContent]=\"true\"\n >\n <ng-container\n *ngTemplateOutlet=\"currencyOptionTpl; context: { $implicit: option }\"\n ></ng-container>\n </nz-option>\n <nz-option *ngIf=\"isLoading\" nzDisabled nzCustomContent>\n <nz-spin style=\"padding: 16px 0\"></nz-spin>\n </nz-option>\n </nz-select>\n</app-rd-form-item>\n\n<ng-template #currencyOptionTpl let-option>\n <div class=\"rd-form-item-option-content\">\n <nz-avatar\n [nzSize]=\"20\"\n [nzIcon]=\"'user'\"\n [nzSrc]=\"option.iconUrl\"\n ></nz-avatar>\n <span>{{ option.name }}</span>\n </div>\n</ng-template>\n\n<ng-template #currencySelectedTpl let-selected let-extra>\n <div class=\"rd-form-item-option-content\">\n <img [src]=\"getIconUrl(selected?.nzValue)\" class=\"rd-token-icon\" alt=\"\" />\n <span>{{ selected?.nzLabel }}</span>\n </div>\n</ng-template>\n\n<ng-template #removeIcon>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"12\"\n height=\"12\"\n viewBox=\"0 0 12 12\"\n fill=\"none\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M2.39645 2.39645C2.59171 2.20118 2.90829 2.20118 3.10355 2.39645L6 5.29289L8.89645 2.39645C9.09171 2.20118 9.40829 2.20118 9.60355 2.39645C9.79882 2.59171 9.79882 2.90829 9.60355 3.10355L6.70711 6L9.60355 8.89645C9.79882 9.09171 9.79882 9.40829 9.60355 9.60355C9.40829 9.79882 9.09171 9.79882 8.89645 9.60355L6 6.70711L3.10355 9.60355C2.90829 9.79882 2.59171 9.79882 2.39645 9.60355C2.20118 9.40829 2.20118 9.09171 2.39645 8.89645L5.29289 6L2.39645 3.10355C2.20118 2.90829 2.20118 2.59171 2.39645 2.39645Z\"\n fill=\"#030712\"\n />\n </svg>\n</ng-template>\n\n<ng-template #customIcon>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M2.60136 4.90777C2.83639 4.68743 3.20555 4.69934 3.42589 4.93437L8.00033 9.81377L12.5748 4.93437C12.7951 4.69934 13.1643 4.68743 13.3993 4.90777C13.6343 5.12812 13.6462 5.49727 13.4259 5.7323L8.42589 11.0656C8.31561 11.1833 8.16157 11.25 8.00033 11.25C7.83909 11.25 7.68504 11.1833 7.57476 11.0656L2.57476 5.7323C2.35442 5.49727 2.36633 5.12811 2.60136 4.90777Z\"\n fill=\"#030712\"\n />\n </svg>\n</ng-template>\n\n<ng-template #nzNotFoundContent>\n <div class=\"rd-form-item-empty\">\n <img src=\"/assets/img/no-data.svg\" />\n <p>No data</p>\n </div>\n</ng-template>\n", styles: [":host ::ng-deep .rd-form-item-select{width:100%}:host ::ng-deep .rd-form-item-select .ant-select-selection-placeholder{color:#9ca3af}:host ::ng-deep .rd-form-item-select .ant-select-selector .ant-select-selection-placeholder{line-height:34px}\n", "::ng-deep .rd-form-item-select{min-width:113px;min-height:52px;max-height:100%;position:relative}::ng-deep .rd-form-item-select.ant-select-multiple .ant-select-selection-search{margin-inline-start:0}::ng-deep .rd-form-item-select .ant-select-selection-search-input{padding:12px 4px 0}::ng-deep .rd-form-item-select .ant-select-selection-search-input::placeholder{color:#9ca3af}::ng-deep .rd-form-item-select .ant-select-selection-search .ant-select-selection-search-input{padding:12px 4px 0;transform:translate(-2px,12px)!important}::ng-deep .rd-form-item-select .ant-select-show-search{transform:translateY(10px)}::ng-deep .rd-form-item-select.ant-select-single:not(.ant-select-customize-input) .ant-select-selector{padding:14px 16px 10px;min-height:52px;height:-moz-fit-content;height:fit-content}::ng-deep .rd-form-item-select.ant-select-single .ant-select-selector .ant-select-selection-item:after{display:none}::ng-deep .rd-form-item-select.ant-select .ant-select-selection-item{color:#030712;font-weight:500;font-size:14px}::ng-deep .rd-form-item-select .ant-select-selector{padding:12px 16px}::ng-deep .rd-form-item-select.ant-select-multiple .ant-select-selection-item{border-radius:4px;background:#f3f4f6;font-size:14px;font-weight:500;color:#030712;display:flex;align-items:center;gap:4px}::ng-deep .rd-form-item-select.ant-select-multiple .ant-select-selection-item .ant-select-selection-item-remove{line-height:1}::ng-deep .rd-form-item-select:not(.ant-select-customize-input) .ant-select-selector{border-radius:4px}::ng-deep .rd-form-item-select.ant-select-focused:not(.ant-select-disabled).ant-select:not(.ant-select-customize-input) .ant-select-selector{border-radius:4px;border:1px solid #367af6;background:#fff;box-shadow:0 0 0 2px #367af61a}::ng-deep .rd-form-item-select .ant-select-selection-placeholder{color:#030712;font-weight:500;font-size:14px}::ng-deep .rd-form-item-select .ant-select-selection-item-content{color:#030712;font-weight:500}::ng-deep .rd-form-item-select .ant-select-arrow{transition:ease-in-out .2s all;cursor:pointer;pointer-events:initial}::ng-deep .rd-form-item-select:hover:has(.ant-select-clear) .ant-select-arrow{opacity:0}::ng-deep .rd-form-item-select.ant-select-focused .ant-select-arrow,::ng-deep .rd-form-item-select .ant-select-selector:focus-within .ant-select-arrow{transform:rotate(-180deg);transition:transform .2s ease}::ng-deep .rd-form-item-select-s{min-height:38px}::ng-deep .rd-form-item-select-s.ant-select-single:not(.ant-select-customize-input) .ant-select-selector{height:100%;min-height:38px;padding:0 12px}::ng-deep .rd-form-item-select-dropdown .ant-select-dropdown,::ng-deep .rd-form-item-select-dropdown-s .ant-select-dropdown,::ng-deep .rd-form-item-multiple-select-dropdown .ant-select-dropdown{border-radius:4px;background:#fff;min-width:113px}::ng-deep .rd-form-item-select-dropdown .ant-select-item-option,::ng-deep .rd-form-item-select-dropdown-s .ant-select-item-option,::ng-deep .rd-form-item-multiple-select-dropdown .ant-select-item-option{background-color:transparent;padding:0 6px}::ng-deep .rd-form-item-select-dropdown .ant-select-item-option-content,::ng-deep .rd-form-item-select-dropdown-s .ant-select-item-option-content,::ng-deep .rd-form-item-multiple-select-dropdown .ant-select-item-option-content{border-radius:4px;padding:0 6px;display:flex;align-items:center;color:#030712;font-size:14px;min-height:40px;font-weight:600}::ng-deep .rd-form-item-select-dropdown .ant-select-item-option-active .ant-select-item-option-content,::ng-deep .rd-form-item-select-dropdown-s .ant-select-item-option-active .ant-select-item-option-content,::ng-deep .rd-form-item-multiple-select-dropdown .ant-select-item-option-active .ant-select-item-option-content{background:rgba(54,122,246,.1)}::ng-deep .rd-form-item-select-dropdown .ant-select-item-option-disabled .ant-select-item-option-content,::ng-deep .rd-form-item-select-dropdown-s .ant-select-item-option-disabled .ant-select-item-option-content,::ng-deep .rd-form-item-multiple-select-dropdown .ant-select-item-option-disabled .ant-select-item-option-content{color:#6b7280;background:#e5e7eb}::ng-deep .rd-form-item-select-dropdown .rd-form-item-empty,::ng-deep .rd-form-item-select-dropdown-s .rd-form-item-empty,::ng-deep .rd-form-item-multiple-select-dropdown .rd-form-item-empty{display:flex;flex-direction:column;align-items:center;gap:6px;width:100%}::ng-deep .rd-form-item-select-dropdown .rd-form-item-empty img,::ng-deep .rd-form-item-select-dropdown-s .rd-form-item-empty img,::ng-deep .rd-form-item-multiple-select-dropdown .rd-form-item-empty img{width:61px;height:68px}::ng-deep .rd-form-item-select-dropdown .rd-form-item-empty p,::ng-deep .rd-form-item-select-dropdown-s .rd-form-item-empty p,::ng-deep .rd-form-item-multiple-select-dropdown .rd-form-item-empty p{font-size:13px;color:#9ca3af;font-weight:500;margin:0}::ng-deep .rd-form-item-select-dropdown-s .ant-select-item-option-content{padding:0 4px;min-height:32px}::ng-deep .rd-form-item-multiple-select-dropdown .ant-select-item-option-content{border-radius:4px;color:#030712;font-size:14px;padding:0 6px 0 32px;position:relative}::ng-deep .rd-form-item-multiple-select-dropdown .ant-select-item-option-content:before{content:\"\";position:absolute;top:50%;left:6px;width:16px;height:16px;transform:translateY(-50%);border-radius:4px;border:1px solid #9ca3af}::ng-deep .rd-form-item-multiple-select-dropdown .ant-select-item-option-selected .ant-select-item-option-content:before{background-image:url(/assets/img/icon/checkbox.svg);background-size:contain;background-position:center;background-repeat:no-repeat;border:none}::ng-deep .rd-form-item-multiple-select-dropdown .ant-select-item-option-state{display:none}::ng-deep .rd-form-item-option-content{display:flex;align-items:center;gap:8px;height:100%}::ng-deep .rd-form-item-option-content span{font-size:14px;font-weight:500}::ng-deep .rd-form-item-option-content .rd-token-icon{width:20px;height:20px;transition:opacity .3s ease-in-out}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3$4.NzSpinComponent, selector: "nz-spin", inputs: ["nzIndicator", "nzSize", "nzTip", "nzDelay", "nzSimple", "nzSpinning"], exportAs: ["nzSpin"] }, { kind: "component", type: i4$1.NzOptionComponent, selector: "nz-option", inputs: ["nzLabel", "nzValue", "nzDisabled", "nzHide", "nzCustomContent"], exportAs: ["nzOption"] }, { kind: "component", type: i4$1.NzSelectComponent, selector: "nz-select", inputs: ["nzId", "nzSize", "nzStatus", "nzOptionHeightPx", "nzOptionOverflowSize", "nzDropdownClassName", "nzDropdownMatchSelectWidth", "nzDropdownStyle", "nzNotFoundContent", "nzPlaceHolder", "nzPlacement", "nzMaxTagCount", "nzDropdownRender", "nzCustomTemplate", "nzSuffixIcon", "nzClearIcon", "nzRemoveIcon", "nzMenuItemSelectedIcon", "nzTokenSeparators", "nzMaxTagPlaceholder", "nzMaxMultipleCount", "nzMode", "nzFilterOption", "compareWith", "nzAllowClear", "nzBorderless", "nzShowSearch", "nzLoading", "nzAutoFocus", "nzAutoClearSearchValue", "nzServerSearch", "nzDisabled", "nzOpen", "nzSelectOnTab", "nzBackdrop", "nzOptions", "nzShowArrow"], outputs: ["nzOnSearch", "nzScrollToBottom", "nzOpenChange", "nzBlur", "nzFocus"], exportAs: ["nzSelect"] }, { kind: "component", type: FormItemComponent, selector: "app-rd-form-item", inputs: ["errorMessage", "disabled", "label", "type", "focus", "value", "size"] }, { kind: "component", type: i6.NzAvatarComponent, selector: "nz-avatar", inputs: ["nzShape", "nzSize", "nzGap", "nzText", "nzSrc", "nzSrcSet", "nzAlt", "nzIcon"], outputs: ["nzError"], exportAs: ["nzAvatar"] }] });
1189
1254
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PureSelectTokenComponent, decorators: [{
1190
1255
  type: Component,
1191
1256
  args: [{ selector: 'app-rd-pure-select-token', providers: [
@@ -1194,7 +1259,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
1194
1259
  useExisting: forwardRef(() => PureSelectTokenComponent),
1195
1260
  multi: true,
1196
1261
  },
1197
- ], template: "<app-rd-form-item\n type=\"select\"\n size=\"small\"\n [disabled]=\"disabled\"\n [focus]=\"isFocus || isOpen\"\n>\n <nz-select\n class=\"rd-form-item-select rd-form-item-select-s\"\n nzBorderless\n [nzShowArrow]=\"false\"\n [(ngModel)]=\"value\"\n [nzCustomTemplate]=\"currencySelectedTpl\"\n (ngModelChange)=\"handleValueChange($event)\"\n (nzOpenChange)=\"handleOpenChange($event)\"\n (nzFocus)=\"isFocus = true\"\n (nzBlur)=\"isFocus = false\"\n [disabled]=\"disabled\"\n [nzDropdownClassName]=\"'rd-form-item-select-dropdown-s'\"\n [nzOptionOverflowSize]=\"5\"\n [nzOptionHeightPx]=\"32\"\n [nzSuffixIcon]=\"customIcon\"\n [nzRemoveIcon]=\"removeIcon\"\n [nzDropdownMatchSelectWidth]=\"true\"\n [nzNotFoundContent]=\"nzNotFoundContent\"\n [nzPlaceHolder]=\"label\"\n >\n <nz-option\n *ngFor=\"let option of tokens\"\n [nzValue]=\"option.value\"\n [nzLabel]=\"option.name || ''\"\n [nzDisabled]=\"option.disabled || false\"\n [nzCustomContent]=\"true\"\n >\n <ng-container\n *ngTemplateOutlet=\"currencyOptionTpl; context: { $implicit: option }\"\n ></ng-container>\n </nz-option>\n <nz-option *ngIf=\"isLoading\" nzDisabled nzCustomContent>\n <nz-spin style=\"padding: 16px 0\"></nz-spin>\n </nz-option>\n </nz-select>\n</app-rd-form-item>\n\n<ng-template #currencyOptionTpl let-option>\n <div class=\"rd-form-item-option-content\">\n <nz-avatar\n [nzSize]=\"20\"\n [nzIcon]=\"'user'\"\n [nzSrc]=\"option.iconUrl\"\n ></nz-avatar>\n <span>{{ option.name }}</span>\n </div>\n</ng-template>\n\n<ng-template #currencySelectedTpl let-selected let-extra>\n <div class=\"rd-form-item-option-content\">\n <img [src]=\"getIconUrl(selected?.nzValue)\" class=\"rd-token-icon\" alt=\"\" />\n <span>{{ selected?.nzLabel }}</span>\n </div>\n</ng-template>\n\n<ng-template #removeIcon>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"12\"\n height=\"12\"\n viewBox=\"0 0 12 12\"\n fill=\"none\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M2.39645 2.39645C2.59171 2.20118 2.90829 2.20118 3.10355 2.39645L6 5.29289L8.89645 2.39645C9.09171 2.20118 9.40829 2.20118 9.60355 2.39645C9.79882 2.59171 9.79882 2.90829 9.60355 3.10355L6.70711 6L9.60355 8.89645C9.79882 9.09171 9.79882 9.40829 9.60355 9.60355C9.40829 9.79882 9.09171 9.79882 8.89645 9.60355L6 6.70711L3.10355 9.60355C2.90829 9.79882 2.59171 9.79882 2.39645 9.60355C2.20118 9.40829 2.20118 9.09171 2.39645 8.89645L5.29289 6L2.39645 3.10355C2.20118 2.90829 2.20118 2.59171 2.39645 2.39645Z\"\n fill=\"#030712\"\n />\n </svg>\n</ng-template>\n\n<ng-template #customIcon>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M2.60136 4.90777C2.83639 4.68743 3.20555 4.69934 3.42589 4.93437L8.00033 9.81377L12.5748 4.93437C12.7951 4.69934 13.1643 4.68743 13.3993 4.90777C13.6343 5.12812 13.6462 5.49727 13.4259 5.7323L8.42589 11.0656C8.31561 11.1833 8.16157 11.25 8.00033 11.25C7.83909 11.25 7.68504 11.1833 7.57476 11.0656L2.57476 5.7323C2.35442 5.49727 2.36633 5.12811 2.60136 4.90777Z\"\n fill=\"#030712\"\n />\n </svg>\n</ng-template>\n\n<ng-template #nzNotFoundContent>\n <div class=\"rd-form-item-empty\">\n <img src=\"/assets/img/no-data.svg\" />\n <p>No data</p>\n </div>\n</ng-template>\n", styles: [":host ::ng-deep .rd-form-item-select{width:100%}:host ::ng-deep .rd-form-item-select .ant-select-selection-placeholder{color:#9ca3af}:host ::ng-deep .rd-form-item-select .ant-select-selector .ant-select-selection-placeholder{line-height:34px}\n", "::ng-deep .rd-form-item-select{min-width:113px;min-height:52px;max-height:100%;position:relative}::ng-deep .rd-form-item-select.ant-select-multiple .ant-select-selection-search{margin-inline-start:0}::ng-deep .rd-form-item-select .ant-select-selection-search-input{padding:12px 4px 0}::ng-deep .rd-form-item-select .ant-select-selection-search-input::placeholder{color:#9ca3af}::ng-deep .rd-form-item-select .ant-select-selection-search .ant-select-selection-search-input{padding:12px 4px 0;transform:translate(-2px,12px)!important}::ng-deep .rd-form-item-select .ant-select-show-search{transform:translateY(10px)}::ng-deep .rd-form-item-select.ant-select-single:not(.ant-select-customize-input) .ant-select-selector{padding:14px 16px 10px;height:52px}::ng-deep .rd-form-item-select.ant-select .ant-select-selection-item{color:#030712;font-weight:500;font-size:14px}::ng-deep .rd-form-item-select .ant-select-selector{padding:12px 16px}::ng-deep .rd-form-item-select.ant-select-multiple .ant-select-selection-item{border-radius:4px;background:#f3f4f6;font-size:14px;font-weight:500;color:#030712;display:flex;align-items:center;gap:4px}::ng-deep .rd-form-item-select.ant-select-multiple .ant-select-selection-item .ant-select-selection-item-remove{line-height:1}::ng-deep .rd-form-item-select:not(.ant-select-customize-input) .ant-select-selector{border-radius:4px}::ng-deep .rd-form-item-select.ant-select-focused:not(.ant-select-disabled).ant-select:not(.ant-select-customize-input) .ant-select-selector{border-radius:4px;border:1px solid #367af6;background:#fff;box-shadow:0 0 0 2px #367af61a}::ng-deep .rd-form-item-select .ant-select-selection-placeholder{color:#030712;font-weight:500;font-size:14px}::ng-deep .rd-form-item-select .ant-select-selection-item-content{color:#030712;font-weight:500}::ng-deep .rd-form-item-select .ant-select-arrow{transition:ease-in-out .2s all;cursor:pointer;pointer-events:initial}::ng-deep .rd-form-item-select:hover:has(.ant-select-clear) .ant-select-arrow{opacity:0}::ng-deep .rd-form-item-select.ant-select-focused .ant-select-arrow,::ng-deep .rd-form-item-select .ant-select-selector:focus-within .ant-select-arrow{transform:rotate(-180deg);transition:transform .2s ease}::ng-deep .rd-form-item-select-s{height:100%;min-height:32px}::ng-deep .rd-form-item-select-s.ant-select-single:not(.ant-select-customize-input) .ant-select-selector{padding:0 12px;height:100%}::ng-deep .rd-form-item-select-dropdown .ant-select-dropdown,::ng-deep .rd-form-item-select-dropdown-s .ant-select-dropdown,::ng-deep .rd-form-item-multiple-select-dropdown .ant-select-dropdown{border-radius:4px;background:#fff;min-width:113px}::ng-deep .rd-form-item-select-dropdown .ant-select-item-option,::ng-deep .rd-form-item-select-dropdown-s .ant-select-item-option,::ng-deep .rd-form-item-multiple-select-dropdown .ant-select-item-option{background-color:transparent;padding:0 6px}::ng-deep .rd-form-item-select-dropdown .ant-select-item-option-content,::ng-deep .rd-form-item-select-dropdown-s .ant-select-item-option-content,::ng-deep .rd-form-item-multiple-select-dropdown .ant-select-item-option-content{border-radius:4px;padding:0 6px;display:flex;align-items:center;color:#030712;font-size:14px;min-height:40px;font-weight:600}::ng-deep .rd-form-item-select-dropdown .ant-select-item-option-active .ant-select-item-option-content,::ng-deep .rd-form-item-select-dropdown-s .ant-select-item-option-active .ant-select-item-option-content,::ng-deep .rd-form-item-multiple-select-dropdown .ant-select-item-option-active .ant-select-item-option-content{background:rgba(54,122,246,.1)}::ng-deep .rd-form-item-select-dropdown .ant-select-item-option-disabled .ant-select-item-option-content,::ng-deep .rd-form-item-select-dropdown-s .ant-select-item-option-disabled .ant-select-item-option-content,::ng-deep .rd-form-item-multiple-select-dropdown .ant-select-item-option-disabled .ant-select-item-option-content{color:#6b7280;background:#e5e7eb}::ng-deep .rd-form-item-select-dropdown .rd-form-item-empty,::ng-deep .rd-form-item-select-dropdown-s .rd-form-item-empty,::ng-deep .rd-form-item-multiple-select-dropdown .rd-form-item-empty{display:flex;flex-direction:column;align-items:center;gap:6px;width:100%}::ng-deep .rd-form-item-select-dropdown .rd-form-item-empty img,::ng-deep .rd-form-item-select-dropdown-s .rd-form-item-empty img,::ng-deep .rd-form-item-multiple-select-dropdown .rd-form-item-empty img{width:61px;height:68px}::ng-deep .rd-form-item-select-dropdown .rd-form-item-empty p,::ng-deep .rd-form-item-select-dropdown-s .rd-form-item-empty p,::ng-deep .rd-form-item-multiple-select-dropdown .rd-form-item-empty p{font-size:13px;color:#9ca3af;font-weight:500;margin:0}::ng-deep .rd-form-item-select-dropdown-s .ant-select-item-option-content{padding:0 4px;min-height:32px}::ng-deep .rd-form-item-multiple-select-dropdown .ant-select-item-option-content{border-radius:4px;color:#030712;font-size:14px;padding:0 6px 0 32px;position:relative}::ng-deep .rd-form-item-multiple-select-dropdown .ant-select-item-option-content:before{content:\"\";position:absolute;top:50%;left:6px;width:16px;height:16px;transform:translateY(-50%);border-radius:4px;border:1px solid #9ca3af}::ng-deep .rd-form-item-multiple-select-dropdown .ant-select-item-option-selected .ant-select-item-option-content:before{background-image:url(/assets/img/icon/checkbox.svg);background-size:contain;background-position:center;background-repeat:no-repeat;border:none}::ng-deep .rd-form-item-multiple-select-dropdown .ant-select-item-option-state{display:none}::ng-deep .rd-form-item-option-content{display:flex;align-items:center;gap:8px;height:100%}::ng-deep .rd-form-item-option-content span{font-size:14px;font-weight:500}::ng-deep .rd-form-item-option-content .rd-token-icon{width:20px;height:20px;transition:opacity .3s ease-in-out}\n"] }]
1262
+ ], template: "<app-rd-form-item\n type=\"select\"\n size=\"small\"\n [disabled]=\"disabled\"\n [focus]=\"isFocus || isOpen\"\n>\n <nz-select\n class=\"rd-form-item-select rd-form-item-select-s\"\n nzBorderless\n [nzShowArrow]=\"false\"\n [(ngModel)]=\"value\"\n [nzCustomTemplate]=\"currencySelectedTpl\"\n (ngModelChange)=\"handleValueChange($event)\"\n (nzOpenChange)=\"handleOpenChange($event)\"\n (nzFocus)=\"isFocus = true\"\n (nzBlur)=\"isFocus = false\"\n [disabled]=\"disabled\"\n [nzDropdownClassName]=\"'rd-form-item-select-dropdown-s'\"\n [nzOptionOverflowSize]=\"5\"\n [nzOptionHeightPx]=\"32\"\n [nzSuffixIcon]=\"customIcon\"\n [nzRemoveIcon]=\"removeIcon\"\n [nzDropdownMatchSelectWidth]=\"true\"\n [nzNotFoundContent]=\"nzNotFoundContent\"\n [nzPlaceHolder]=\"label\"\n >\n <nz-option\n *ngFor=\"let option of tokens\"\n [nzValue]=\"option.value\"\n [nzLabel]=\"option.name || ''\"\n [nzDisabled]=\"option.disabled || false\"\n [nzCustomContent]=\"true\"\n >\n <ng-container\n *ngTemplateOutlet=\"currencyOptionTpl; context: { $implicit: option }\"\n ></ng-container>\n </nz-option>\n <nz-option *ngIf=\"isLoading\" nzDisabled nzCustomContent>\n <nz-spin style=\"padding: 16px 0\"></nz-spin>\n </nz-option>\n </nz-select>\n</app-rd-form-item>\n\n<ng-template #currencyOptionTpl let-option>\n <div class=\"rd-form-item-option-content\">\n <nz-avatar\n [nzSize]=\"20\"\n [nzIcon]=\"'user'\"\n [nzSrc]=\"option.iconUrl\"\n ></nz-avatar>\n <span>{{ option.name }}</span>\n </div>\n</ng-template>\n\n<ng-template #currencySelectedTpl let-selected let-extra>\n <div class=\"rd-form-item-option-content\">\n <img [src]=\"getIconUrl(selected?.nzValue)\" class=\"rd-token-icon\" alt=\"\" />\n <span>{{ selected?.nzLabel }}</span>\n </div>\n</ng-template>\n\n<ng-template #removeIcon>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"12\"\n height=\"12\"\n viewBox=\"0 0 12 12\"\n fill=\"none\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M2.39645 2.39645C2.59171 2.20118 2.90829 2.20118 3.10355 2.39645L6 5.29289L8.89645 2.39645C9.09171 2.20118 9.40829 2.20118 9.60355 2.39645C9.79882 2.59171 9.79882 2.90829 9.60355 3.10355L6.70711 6L9.60355 8.89645C9.79882 9.09171 9.79882 9.40829 9.60355 9.60355C9.40829 9.79882 9.09171 9.79882 8.89645 9.60355L6 6.70711L3.10355 9.60355C2.90829 9.79882 2.59171 9.79882 2.39645 9.60355C2.20118 9.40829 2.20118 9.09171 2.39645 8.89645L5.29289 6L2.39645 3.10355C2.20118 2.90829 2.20118 2.59171 2.39645 2.39645Z\"\n fill=\"#030712\"\n />\n </svg>\n</ng-template>\n\n<ng-template #customIcon>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M2.60136 4.90777C2.83639 4.68743 3.20555 4.69934 3.42589 4.93437L8.00033 9.81377L12.5748 4.93437C12.7951 4.69934 13.1643 4.68743 13.3993 4.90777C13.6343 5.12812 13.6462 5.49727 13.4259 5.7323L8.42589 11.0656C8.31561 11.1833 8.16157 11.25 8.00033 11.25C7.83909 11.25 7.68504 11.1833 7.57476 11.0656L2.57476 5.7323C2.35442 5.49727 2.36633 5.12811 2.60136 4.90777Z\"\n fill=\"#030712\"\n />\n </svg>\n</ng-template>\n\n<ng-template #nzNotFoundContent>\n <div class=\"rd-form-item-empty\">\n <img src=\"/assets/img/no-data.svg\" />\n <p>No data</p>\n </div>\n</ng-template>\n", styles: [":host ::ng-deep .rd-form-item-select{width:100%}:host ::ng-deep .rd-form-item-select .ant-select-selection-placeholder{color:#9ca3af}:host ::ng-deep .rd-form-item-select .ant-select-selector .ant-select-selection-placeholder{line-height:34px}\n", "::ng-deep .rd-form-item-select{min-width:113px;min-height:52px;max-height:100%;position:relative}::ng-deep .rd-form-item-select.ant-select-multiple .ant-select-selection-search{margin-inline-start:0}::ng-deep .rd-form-item-select .ant-select-selection-search-input{padding:12px 4px 0}::ng-deep .rd-form-item-select .ant-select-selection-search-input::placeholder{color:#9ca3af}::ng-deep .rd-form-item-select .ant-select-selection-search .ant-select-selection-search-input{padding:12px 4px 0;transform:translate(-2px,12px)!important}::ng-deep .rd-form-item-select .ant-select-show-search{transform:translateY(10px)}::ng-deep .rd-form-item-select.ant-select-single:not(.ant-select-customize-input) .ant-select-selector{padding:14px 16px 10px;min-height:52px;height:-moz-fit-content;height:fit-content}::ng-deep .rd-form-item-select.ant-select-single .ant-select-selector .ant-select-selection-item:after{display:none}::ng-deep .rd-form-item-select.ant-select .ant-select-selection-item{color:#030712;font-weight:500;font-size:14px}::ng-deep .rd-form-item-select .ant-select-selector{padding:12px 16px}::ng-deep .rd-form-item-select.ant-select-multiple .ant-select-selection-item{border-radius:4px;background:#f3f4f6;font-size:14px;font-weight:500;color:#030712;display:flex;align-items:center;gap:4px}::ng-deep .rd-form-item-select.ant-select-multiple .ant-select-selection-item .ant-select-selection-item-remove{line-height:1}::ng-deep .rd-form-item-select:not(.ant-select-customize-input) .ant-select-selector{border-radius:4px}::ng-deep .rd-form-item-select.ant-select-focused:not(.ant-select-disabled).ant-select:not(.ant-select-customize-input) .ant-select-selector{border-radius:4px;border:1px solid #367af6;background:#fff;box-shadow:0 0 0 2px #367af61a}::ng-deep .rd-form-item-select .ant-select-selection-placeholder{color:#030712;font-weight:500;font-size:14px}::ng-deep .rd-form-item-select .ant-select-selection-item-content{color:#030712;font-weight:500}::ng-deep .rd-form-item-select .ant-select-arrow{transition:ease-in-out .2s all;cursor:pointer;pointer-events:initial}::ng-deep .rd-form-item-select:hover:has(.ant-select-clear) .ant-select-arrow{opacity:0}::ng-deep .rd-form-item-select.ant-select-focused .ant-select-arrow,::ng-deep .rd-form-item-select .ant-select-selector:focus-within .ant-select-arrow{transform:rotate(-180deg);transition:transform .2s ease}::ng-deep .rd-form-item-select-s{min-height:38px}::ng-deep .rd-form-item-select-s.ant-select-single:not(.ant-select-customize-input) .ant-select-selector{height:100%;min-height:38px;padding:0 12px}::ng-deep .rd-form-item-select-dropdown .ant-select-dropdown,::ng-deep .rd-form-item-select-dropdown-s .ant-select-dropdown,::ng-deep .rd-form-item-multiple-select-dropdown .ant-select-dropdown{border-radius:4px;background:#fff;min-width:113px}::ng-deep .rd-form-item-select-dropdown .ant-select-item-option,::ng-deep .rd-form-item-select-dropdown-s .ant-select-item-option,::ng-deep .rd-form-item-multiple-select-dropdown .ant-select-item-option{background-color:transparent;padding:0 6px}::ng-deep .rd-form-item-select-dropdown .ant-select-item-option-content,::ng-deep .rd-form-item-select-dropdown-s .ant-select-item-option-content,::ng-deep .rd-form-item-multiple-select-dropdown .ant-select-item-option-content{border-radius:4px;padding:0 6px;display:flex;align-items:center;color:#030712;font-size:14px;min-height:40px;font-weight:600}::ng-deep .rd-form-item-select-dropdown .ant-select-item-option-active .ant-select-item-option-content,::ng-deep .rd-form-item-select-dropdown-s .ant-select-item-option-active .ant-select-item-option-content,::ng-deep .rd-form-item-multiple-select-dropdown .ant-select-item-option-active .ant-select-item-option-content{background:rgba(54,122,246,.1)}::ng-deep .rd-form-item-select-dropdown .ant-select-item-option-disabled .ant-select-item-option-content,::ng-deep .rd-form-item-select-dropdown-s .ant-select-item-option-disabled .ant-select-item-option-content,::ng-deep .rd-form-item-multiple-select-dropdown .ant-select-item-option-disabled .ant-select-item-option-content{color:#6b7280;background:#e5e7eb}::ng-deep .rd-form-item-select-dropdown .rd-form-item-empty,::ng-deep .rd-form-item-select-dropdown-s .rd-form-item-empty,::ng-deep .rd-form-item-multiple-select-dropdown .rd-form-item-empty{display:flex;flex-direction:column;align-items:center;gap:6px;width:100%}::ng-deep .rd-form-item-select-dropdown .rd-form-item-empty img,::ng-deep .rd-form-item-select-dropdown-s .rd-form-item-empty img,::ng-deep .rd-form-item-multiple-select-dropdown .rd-form-item-empty img{width:61px;height:68px}::ng-deep .rd-form-item-select-dropdown .rd-form-item-empty p,::ng-deep .rd-form-item-select-dropdown-s .rd-form-item-empty p,::ng-deep .rd-form-item-multiple-select-dropdown .rd-form-item-empty p{font-size:13px;color:#9ca3af;font-weight:500;margin:0}::ng-deep .rd-form-item-select-dropdown-s .ant-select-item-option-content{padding:0 4px;min-height:32px}::ng-deep .rd-form-item-multiple-select-dropdown .ant-select-item-option-content{border-radius:4px;color:#030712;font-size:14px;padding:0 6px 0 32px;position:relative}::ng-deep .rd-form-item-multiple-select-dropdown .ant-select-item-option-content:before{content:\"\";position:absolute;top:50%;left:6px;width:16px;height:16px;transform:translateY(-50%);border-radius:4px;border:1px solid #9ca3af}::ng-deep .rd-form-item-multiple-select-dropdown .ant-select-item-option-selected .ant-select-item-option-content:before{background-image:url(/assets/img/icon/checkbox.svg);background-size:contain;background-position:center;background-repeat:no-repeat;border:none}::ng-deep .rd-form-item-multiple-select-dropdown .ant-select-item-option-state{display:none}::ng-deep .rd-form-item-option-content{display:flex;align-items:center;gap:8px;height:100%}::ng-deep .rd-form-item-option-content span{font-size:14px;font-weight:500}::ng-deep .rd-form-item-option-content .rd-token-icon{width:20px;height:20px;transition:opacity .3s ease-in-out}\n"] }]
1198
1263
  }], propDecorators: { disabled: [{
1199
1264
  type: Input
1200
1265
  }], tokens: [{
@@ -1203,20 +1268,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
1203
1268
  type: Input
1204
1269
  }] } });
1205
1270
 
1206
- class FormItemModule {
1207
- }
1208
- FormItemModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FormItemModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1209
- FormItemModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: FormItemModule, declarations: [FormItemComponent], imports: [CommonModule], exports: [FormItemComponent] });
1210
- FormItemModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FormItemModule, imports: [CommonModule] });
1211
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FormItemModule, decorators: [{
1212
- type: NgModule,
1213
- args: [{
1214
- declarations: [FormItemComponent],
1215
- exports: [FormItemComponent],
1216
- imports: [CommonModule],
1217
- }]
1218
- }] });
1219
-
1220
1271
  class RdPureSelectTokenModule {
1221
1272
  }
1222
1273
  RdPureSelectTokenModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: RdPureSelectTokenModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
@@ -1487,6 +1538,7 @@ class RdFilterComponent {
1487
1538
  constructor(cdf) {
1488
1539
  this.cdf = cdf;
1489
1540
  this.filterArr = [];
1541
+ // @Output() filterArrChange = new EventEmitter<ICustomFilter[]>();
1490
1542
  this.defSearchChange = new EventEmitter();
1491
1543
  this.clearFilter = new EventEmitter();
1492
1544
  this.statusDisplayConfigs = [];
@@ -1497,6 +1549,7 @@ class RdFilterComponent {
1497
1549
  this.defSearchChange.emit();
1498
1550
  }
1499
1551
  clear() {
1552
+ this.filterArr.forEach((item) => (item.value = ''));
1500
1553
  this.clearFilter.emit();
1501
1554
  }
1502
1555
  }