@yibozhang/pro-table 16.1.15 → 16.1.16

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.
@@ -1,6 +1,7 @@
1
1
  import { Component, forwardRef, Inject, Optional } from "@angular/core";
2
2
  import { NG_VALUE_ACCESSOR } from "@angular/forms";
3
- import { PLATE_PREFIX_LOAD_SERVICE } from "../tokens";
3
+ import { PLATE_PREFIX_LOAD_SERVICE, PLATE_PREFIX_DEFAULT_LOAD_SERVICE } from "../tokens";
4
+ import { splitPlateNumber } from "./utils";
4
5
  import * as i0 from "@angular/core";
5
6
  import * as i1 from "@angular/common";
6
7
  import * as i2 from "ng-zorro-antd/grid";
@@ -9,15 +10,17 @@ import * as i4 from "ng-zorro-antd/popover";
9
10
  import * as i5 from "ng-zorro-antd/icon";
10
11
  import * as i6 from "../directives/trim-input.directive";
11
12
  export class PlateInputComponent {
12
- constructor(cdr, elementRef, platePrefixLoadService) {
13
+ constructor(cdr, elementRef, platePrefixLoadService, platePrefixDefaultLoadService) {
13
14
  this.cdr = cdr;
14
15
  this.elementRef = elementRef;
15
16
  this.platePrefixLoadService = platePrefixLoadService;
17
+ this.platePrefixDefaultLoadService = platePrefixDefaultLoadService;
16
18
  this.nzPopoverVisible = false;
17
19
  this.platePrefix = "";
18
20
  this.plateSuffix = "";
19
21
  this.platePrefixOptions = [];
20
22
  this.disabled = false;
23
+ this.defaultPrefix = "";
21
24
  this.onChange = (value) => { };
22
25
  this.onTouched = () => { };
23
26
  }
@@ -37,6 +40,15 @@ export class PlateInputComponent {
37
40
  // 如果没有注入服务,则保持空数组
38
41
  this.platePrefixOptions = [];
39
42
  }
43
+ if (this.platePrefixDefaultLoadService) {
44
+ this.platePrefixDefaultLoadService
45
+ .loadDefaultPrefix()
46
+ .then((prefix) => {
47
+ this.defaultPrefix = prefix;
48
+ this.applyDefaultPrefixIfEmpty();
49
+ })
50
+ .catch(() => { });
51
+ }
40
52
  }
41
53
  handlePlatePrefix(value) {
42
54
  this.platePrefix = value;
@@ -46,15 +58,14 @@ export class PlateInputComponent {
46
58
  }
47
59
  writeValue(value) {
48
60
  if (value) {
49
- this.platePrefix = value.split("")[0];
50
- this.plateSuffix = value
51
- .split("")
52
- .filter((item, index) => index > 0)
53
- .join("");
61
+ const [firstChar, suffix] = splitPlateNumber(value);
62
+ this.platePrefix = firstChar;
63
+ this.plateSuffix = suffix;
54
64
  }
55
65
  else {
56
66
  this.platePrefix = "";
57
67
  this.plateSuffix = "";
68
+ this.applyDefaultPrefixIfEmpty();
58
69
  }
59
70
  }
60
71
  registerOnChange(fn) {
@@ -125,6 +136,13 @@ export class PlateInputComponent {
125
136
  ngOnDestroy() {
126
137
  this.removeClickOutsideListener();
127
138
  }
139
+ applyDefaultPrefixIfEmpty() {
140
+ if (this.platePrefix || this.plateSuffix || !this.defaultPrefix) {
141
+ return;
142
+ }
143
+ this.platePrefix = this.defaultPrefix;
144
+ this.emitValue();
145
+ }
128
146
  emitValue() {
129
147
  const fullPlate = this.platePrefix + this.plateSuffix;
130
148
  this.onChange(fullPlate);
@@ -139,7 +157,7 @@ export class PlateInputComponent {
139
157
  this.plateSuffix = value;
140
158
  this.emitValue();
141
159
  }
142
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PlateInputComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: PLATE_PREFIX_LOAD_SERVICE, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
160
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PlateInputComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: PLATE_PREFIX_LOAD_SERVICE, optional: true }, { token: PLATE_PREFIX_DEFAULT_LOAD_SERVICE, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
143
161
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PlateInputComponent, selector: "app-plate-input", providers: [
144
162
  {
145
163
  provide: NG_VALUE_ACCESSOR,
@@ -162,5 +180,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
162
180
  }, {
163
181
  type: Inject,
164
182
  args: [PLATE_PREFIX_LOAD_SERVICE]
183
+ }] }, { type: undefined, decorators: [{
184
+ type: Optional
185
+ }, {
186
+ type: Inject,
187
+ args: [PLATE_PREFIX_DEFAULT_LOAD_SERVICE]
165
188
  }] }]; } });
166
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhdGUtaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvLXRhYmxlL3NyYy9saWIvcGxhdGUtaW5wdXQvcGxhdGUtaW5wdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvLXRhYmxlL3NyYy9saWIvcGxhdGUtaW5wdXQvcGxhdGUtaW5wdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBcUIsVUFBVSxFQUFpQyxNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFILE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6RSxPQUFPLEVBQUUseUJBQXlCLEVBQTZDLE1BQU0sV0FBVyxDQUFDOzs7Ozs7OztBQWNqRyxNQUFNLE9BQU8sbUJBQW1CO0lBVzlCLFlBQ1UsR0FBc0IsRUFDdEIsVUFBc0IsRUFDeUIsc0JBQStDO1FBRjlGLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQ3RCLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDeUIsMkJBQXNCLEdBQXRCLHNCQUFzQixDQUF5QjtRQWJ4RyxxQkFBZ0IsR0FBWSxLQUFLLENBQUM7UUFDbEMsZ0JBQVcsR0FBVyxFQUFFLENBQUM7UUFDekIsZ0JBQVcsR0FBVyxFQUFFLENBQUM7UUFDekIsdUJBQWtCLEdBQTZCLEVBQUUsQ0FBQztRQUNsRCxhQUFRLEdBQVksS0FBSyxDQUFDO1FBQ2xCLGFBQVEsR0FBRyxDQUFDLEtBQWEsRUFBRSxFQUFFLEdBQUUsQ0FBQyxDQUFDO1FBQ2pDLGNBQVMsR0FBRyxHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUM7SUFRMUIsQ0FBQztJQUVKLFFBQVE7UUFDTixJQUFJLElBQUksQ0FBQyxzQkFBc0IsRUFBRTtZQUMvQixvQkFBb0I7WUFDcEIsSUFBSSxDQUFDLHNCQUFzQjtpQkFDeEIsaUJBQWlCLEVBQUU7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RCxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzNCLENBQUM7SUFFRCxNQUFNO1FBQ0osSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ25CLENBQUM7SUFFRCx5QkFBeUIsQ0FBQyxLQUFVO1FBQ2xDLElBQUksSUFBSSxDQUFDLFFBQVE7WUFBRSxPQUFPO1FBQzFCLE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQy9DLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNuQixDQUFDOytHQXRKVSxtQkFBbUIsNkVBY1IseUJBQXlCO21HQWRwQyxtQkFBbUIsMENBUm5CO1lBQ1Q7Z0JBQ0UsT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQztnQkFDbEQsS0FBSyxFQUFFLElBQUk7YUFDWjtTQUNGLDBCQ2RILDR0REF3REE7OzRGRHhDYSxtQkFBbUI7a0JBWi9CLFNBQVM7K0JBQ0UsaUJBQWlCLGFBR2hCO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLG9CQUFvQixDQUFDOzRCQUNsRCxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRjs7MEJBZ0JFLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMseUJBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIE9uRGVzdHJveSwgZm9yd2FyZFJlZiwgQ2hhbmdlRGV0ZWN0b3JSZWYsIEVsZW1lbnRSZWYsIEluamVjdCwgT3B0aW9uYWwgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuaW1wb3J0IHsgUExBVEVfUFJFRklYX0xPQURfU0VSVklDRSwgUGxhdGVQcmVmaXhMb2FkU2VydmljZSwgUGxhdGVQcmVmaXhPcHRpb24gfSBmcm9tIFwiLi4vdG9rZW5zXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJhcHAtcGxhdGUtaW5wdXRcIixcclxuICB0ZW1wbGF0ZVVybDogXCIuL3BsYXRlLWlucHV0LmNvbXBvbmVudC5odG1sXCIsXHJcbiAgc3R5bGVVcmxzOiBbXCIuL3BsYXRlLWlucHV0LmNvbXBvbmVudC5sZXNzXCJdLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gUGxhdGVJbnB1dENvbXBvbmVudCksXHJcbiAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgfSxcclxuICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgUGxhdGVJbnB1dENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBDb250cm9sVmFsdWVBY2Nlc3NvciB7XHJcbiAgbnpQb3BvdmVyVmlzaWJsZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHBsYXRlUHJlZml4OiBzdHJpbmcgPSBcIlwiO1xyXG4gIHBsYXRlU3VmZml4OiBzdHJpbmcgPSBcIlwiO1xyXG4gIHBsYXRlUHJlZml4T3B0aW9uczogQXJyYXk8UGxhdGVQcmVmaXhPcHRpb24+ID0gW107XHJcbiAgZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwcml2YXRlIG9uQ2hhbmdlID0gKHZhbHVlOiBzdHJpbmcpID0+IHt9O1xyXG4gIHByaXZhdGUgb25Ub3VjaGVkID0gKCkgPT4ge307XHJcblxyXG4gIHByaXZhdGUgY2xpY2tPdXRzaWRlSGFuZGxlcj86IChldmVudDogTW91c2VFdmVudCkgPT4gdm9pZDtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXHJcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KFBMQVRFX1BSRUZJWF9MT0FEX1NFUlZJQ0UpIHByaXZhdGUgcGxhdGVQcmVmaXhMb2FkU2VydmljZT86IFBsYXRlUHJlZml4TG9hZFNlcnZpY2VcclxuICApIHt9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMucGxhdGVQcmVmaXhMb2FkU2VydmljZSkge1xyXG4gICAgICAvLyDkvb/nlKjms6jlhaXnmoTlhajlsYDmnI3liqHliqDovb3ovabniYzliY3nvIDpgInpoblcclxuICAgICAgdGhpcy5wbGF0ZVByZWZpeExvYWRTZXJ2aWNlXHJcbiAgICAgICAgLmxvYWRQcmVmaXhPcHRpb25zKClcclxuICAgICAgICAudGhlbigoZGF0YTogQXJyYXk8UGxhdGVQcmVmaXhPcHRpb24+KSA9PiB7XHJcbiAgICAgICAgICB0aGlzLnBsYXRlUHJlZml4T3B0aW9ucyA9IGRhdGE7XHJcbiAgICAgICAgfSlcclxuICAgICAgICAuY2F0Y2goKCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5wbGF0ZVByZWZpeE9wdGlvbnMgPSBbXTtcclxuICAgICAgICB9KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIC8vIOWmguaenOayoeacieazqOWFpeacjeWKoe+8jOWImeS/neaMgeepuuaVsOe7hFxyXG4gICAgICB0aGlzLnBsYXRlUHJlZml4T3B0aW9ucyA9IFtdO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgaGFuZGxlUGxhdGVQcmVmaXgodmFsdWU6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgdGhpcy5wbGF0ZVByZWZpeCA9IHZhbHVlO1xyXG4gICAgdGhpcy5lbWl0VmFsdWUoKTtcclxuICAgIHRoaXMubnpQb3BvdmVyVmlzaWJsZSA9IGZhbHNlO1xyXG4gICAgdGhpcy5yZW1vdmVDbGlja091dHNpZGVMaXN0ZW5lcigpO1xyXG4gIH1cclxuXHJcbiAgd3JpdGVWYWx1ZSh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XHJcbiAgICBpZiAodmFsdWUpIHtcclxuICAgICAgdGhpcy5wbGF0ZVByZWZpeCA9IHZhbHVlLnNwbGl0KFwiXCIpWzBdO1xyXG4gICAgICB0aGlzLnBsYXRlU3VmZml4ID0gdmFsdWVcclxuICAgICAgICAuc3BsaXQoXCJcIilcclxuICAgICAgICAuZmlsdGVyKChpdGVtLCBpbmRleCkgPT4gaW5kZXggPiAwKVxyXG4gICAgICAgIC5qb2luKFwiXCIpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5wbGF0ZVByZWZpeCA9IFwiXCI7XHJcbiAgICAgIHRoaXMucGxhdGVTdWZmaXggPSBcIlwiO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogKHZhbHVlOiBzdHJpbmcpID0+IHZvaWQpOiB2b2lkIHtcclxuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcclxuICB9XHJcblxyXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiAoKSA9PiB2b2lkKTogdm9pZCB7XHJcbiAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xyXG4gIH1cclxuXHJcbiAgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICBjb25zdCBwcmV2aW91c0Rpc2FibGVkID0gdGhpcy5kaXNhYmxlZDtcclxuICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xyXG4gICAgXHJcbiAgICAvLyDlpoLmnpznpoHnlKjnirbmgIHmlLnlj5jvvIzlhbPpl60gcG9wb3ZlciDlubbnp7vpmaTnm5HlkKzlmahcclxuICAgIGlmIChwcmV2aW91c0Rpc2FibGVkICE9PSBpc0Rpc2FibGVkKSB7XHJcbiAgICAgIHRoaXMubnpQb3BvdmVyVmlzaWJsZSA9IGZhbHNlO1xyXG4gICAgICB0aGlzLnJlbW92ZUNsaWNrT3V0c2lkZUxpc3RlbmVyKCk7XHJcbiAgICAgIC8vIOW8uuWItuWPmOabtOajgOa1i1xyXG4gICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBoYW5kbGVQcmVmaXhDbGljayhldmVudDogRXZlbnQpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XHJcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgICB0aGlzLm56UG9wb3ZlclZpc2libGUgPSBmYWxzZTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgLy8g5omL5Yqo5YiH5o2iIHBvcG92ZXIg55qE5pi+56S6L+makOiXj+eKtuaAgVxyXG4gICAgdGhpcy5uelBvcG92ZXJWaXNpYmxlID0gIXRoaXMubnpQb3BvdmVyVmlzaWJsZTtcclxuICAgIFxyXG4gICAgLy8g5aaC5p6c5omT5byA5LqGIHBvcG92ZXLvvIzmt7vliqDmlofmoaPngrnlh7vnm5HlkKzlmahcclxuICAgIGlmICh0aGlzLm56UG9wb3ZlclZpc2libGUpIHtcclxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5hdHRhY2hDbGlja091dHNpZGVMaXN0ZW5lcigpO1xyXG4gICAgICB9LCAwKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMucmVtb3ZlQ2xpY2tPdXRzaWRlTGlzdGVuZXIoKTtcclxuICAgIH1cclxuICAgIFxyXG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7IC8vIOmYu+atouS6i+S7tuWGkuazoVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhdHRhY2hDbGlja091dHNpZGVMaXN0ZW5lcigpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmNsaWNrT3V0c2lkZUhhbmRsZXIpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICB0aGlzLmNsaWNrT3V0c2lkZUhhbmRsZXIgPSAoZXZlbnQ6IE1vdXNlRXZlbnQpID0+IHtcclxuICAgICAgY29uc3QgbmF0aXZlRWxlbWVudCA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xyXG4gICAgICBjb25zdCB0YXJnZXQgPSBldmVudC50YXJnZXQgYXMgSFRNTEVsZW1lbnQ7XHJcbiAgICAgIFxyXG4gICAgICAvLyDmo4Dmn6XmmK/lkKbngrnlh7vlnKggcG9wb3ZlciDlhoXlrrnljLrln5/lhoVcclxuICAgICAgY29uc3QgcG9wb3ZlckNvbnRlbnQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcucGxhdGUtaW5wdXQtcG9wb3ZlcicpO1xyXG4gICAgICBjb25zdCBjbGlja2VkSW5Qb3BvdmVyID0gcG9wb3ZlckNvbnRlbnQgJiYgcG9wb3ZlckNvbnRlbnQuY29udGFpbnModGFyZ2V0KTtcclxuICAgICAgXHJcbiAgICAgIC8vIOajgOafpeaYr+WQpueCueWHu+WcqOe7hOS7tuWGhemDqO+8iOWJjee8gOaMiemSru+8iVxyXG4gICAgICBjb25zdCBjbGlja2VkSW5Db21wb25lbnQgPSBuYXRpdmVFbGVtZW50LmNvbnRhaW5zKHRhcmdldCk7XHJcbiAgICAgIFxyXG4gICAgICAvLyDlpoLmnpzngrnlh7vml6LkuI3lnKjnu4Tku7blhoXpg6jvvIzkuZ/kuI3lnKggcG9wb3ZlciDlhoXlrrnljLrln5/vvIzliJnlhbPpl60gcG9wb3ZlclxyXG4gICAgICBpZiAoIWNsaWNrZWRJbkNvbXBvbmVudCAmJiAhY2xpY2tlZEluUG9wb3Zlcikge1xyXG4gICAgICAgIHRoaXMubnpQb3BvdmVyVmlzaWJsZSA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMucmVtb3ZlQ2xpY2tPdXRzaWRlTGlzdGVuZXIoKTtcclxuICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgIH1cclxuICAgIH07XHJcbiAgICBcclxuICAgIC8vIOS9v+eUqOaNleiOt+mYtuaute+8jOehruS/neWcqOWFtuS7luS6i+S7tuWkhOeQhuS5i+WJjeaJp+ihjFxyXG4gICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCB0aGlzLmNsaWNrT3V0c2lkZUhhbmRsZXIsIHRydWUpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSByZW1vdmVDbGlja091dHNpZGVMaXN0ZW5lcigpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmNsaWNrT3V0c2lkZUhhbmRsZXIpIHtcclxuICAgICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignY2xpY2snLCB0aGlzLmNsaWNrT3V0c2lkZUhhbmRsZXIsIHRydWUpO1xyXG4gICAgICB0aGlzLmNsaWNrT3V0c2lkZUhhbmRsZXIgPSB1bmRlZmluZWQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMucmVtb3ZlQ2xpY2tPdXRzaWRlTGlzdGVuZXIoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZW1pdFZhbHVlKCk6IHZvaWQge1xyXG4gICAgY29uc3QgZnVsbFBsYXRlID0gdGhpcy5wbGF0ZVByZWZpeCArIHRoaXMucGxhdGVTdWZmaXg7XHJcbiAgICB0aGlzLm9uQ2hhbmdlKGZ1bGxQbGF0ZSk7XHJcbiAgfVxyXG5cclxuICBvbkJsdXIoKTogdm9pZCB7XHJcbiAgICB0aGlzLm9uVG91Y2hlZCgpO1xyXG4gIH1cclxuXHJcbiAgaGFuZGxlQW50ZFBsYXRlU3VmZml4Qmx1cihldmVudDogYW55KTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5kaXNhYmxlZCkgcmV0dXJuO1xyXG4gICAgY29uc3QgdmFsdWUgPSBldmVudC50YXJnZXQudmFsdWUudG9VcHBlckNhc2UoKTtcclxuICAgIHRoaXMucGxhdGVTdWZmaXggPSB2YWx1ZTtcclxuICAgIHRoaXMuZW1pdFZhbHVlKCk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXZcclxuICBjbGFzcz1cInBsYXRlLWFudGQtaW5wdXQtY29udGFpbmVyXCJcclxuICBbY2xhc3MucGxhdGUtYW50ZC1pbnB1dC1kaXNhYmxlZF09XCJkaXNhYmxlZFwiXHJcbj5cclxuICA8ZGl2XHJcbiAgICBjbGFzcz1cInBsYXRlLWlucHV0LXByZWZpeFwiXHJcbiAgICBbY2xhc3MucGxhdGUtaW5wdXQtcHJlZml4LWRpc2FibGVkXT1cImRpc2FibGVkXCJcclxuICAgIG56LXBvcG92ZXJcclxuICAgIG56UG9wb3ZlclBsYWNlbWVudD1cImJvdHRvbVwiXHJcbiAgICBuelBvcG92ZXJPdmVybGF5Q2xhc3NOYW1lPVwicGxhdGUtaW5wdXQtcG9wb3ZlclwiXHJcbiAgICBbKG56UG9wb3ZlclZpc2libGUpXT1cIm56UG9wb3ZlclZpc2libGVcIlxyXG4gICAgW256UG9wb3ZlclRyaWdnZXJdPVwiJ21hbnVhbCdcIlxyXG4gICAgW256UG9wb3ZlckNvbnRlbnRdPVwiY29udGVudFRlbXBsYXRlXCJcclxuICAgIChjbGljayk9XCJoYW5kbGVQcmVmaXhDbGljaygkZXZlbnQpXCJcclxuICA+XHJcbiAgICB7eyBwbGF0ZVByZWZpeCB8IHVwcGVyY2FzZSB9fVxyXG4gICAgPGlcclxuICAgICAgY2xhc3M9XCJwbGF0ZS1pbnB1dC1pY29uLWRvd25cIlxyXG4gICAgICBbbnpSb3RhdGVdPVwibnpQb3BvdmVyVmlzaWJsZSA/IDE4MCA6IDBcIlxyXG4gICAgICBuei1pY29uXHJcbiAgICAgIG56VHlwZT1cImRvd25cIlxyXG4gICAgICBuelRoZW1lPVwib3V0bGluZVwiXHJcbiAgICA+PC9pPlxyXG4gIDwvZGl2PlxyXG4gIDxuZy10ZW1wbGF0ZSAjY29udGVudFRlbXBsYXRlPlxyXG4gICAgPGRpdiBuei1yb3cgc3R5bGU9XCJoZWlnaHQ6IDEwMCVcIj5cclxuICAgICAgPGRpdlxyXG4gICAgICAgIG56LWNvbFxyXG4gICAgICAgIG56U3Bhbj1cIjRcIlxyXG4gICAgICAgICpuZ0Zvcj1cImxldCBpdGVtIG9mIHBsYXRlUHJlZml4T3B0aW9uc1wiXHJcbiAgICAgICAgY2xhc3M9XCJwbGF0ZS1pbnB1dC1wb3BvdmVyLWl0ZW1cIlxyXG4gICAgICAgIChjbGljayk9XCIhZGlzYWJsZWQgJiYgaGFuZGxlUGxhdGVQcmVmaXgoaXRlbS52YWx1ZSlcIlxyXG4gICAgICAgIFtuZ0NsYXNzXT1cIntcclxuICAgICAgICAgICdwbGF0ZS1pbnB1dC1wb3BvdmVyLWl0ZW0tYWN0aXZlJzogaXRlbS52YWx1ZSA9PT0gcGxhdGVQcmVmaXgsXHJcbiAgICAgICAgICAncGxhdGUtaW5wdXQtcG9wb3Zlci1pdGVtLWRlZmF1bHQnOiBpdGVtLnZhbHVlICE9PSBwbGF0ZVByZWZpeFxyXG4gICAgICAgIH1cIlxyXG4gICAgICA+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInBsYXRlLWlucHV0LXBvcG92ZXItaXRlbS1sYWJlbFwiPlxyXG4gICAgICAgICAge3sgaXRlbS5sYWJlbCB9fVxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvbmctdGVtcGxhdGU+XHJcbiAgPGlucHV0XHJcbiAgICBjbGFzcz1cInBsYXRlLWlucHV0LXN1ZmZpeFwiXHJcbiAgICB0eXBlPVwidGV4dFwiXHJcbiAgICBuei1pbnB1dFxyXG4gICAgYWxsb3ctdHJpbVxyXG4gICAgc3R5bGU9XCJ3aWR0aDogNzUlXCJcclxuICAgIFt2YWx1ZV09XCJwbGF0ZVN1ZmZpeCB8IHVwcGVyY2FzZVwiXHJcbiAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxyXG4gICAgKGJsdXIpPVwiIWRpc2FibGVkICYmIGhhbmRsZUFudGRQbGF0ZVN1ZmZpeEJsdXIoJGV2ZW50KVwiXHJcbiAgICBwbGFjZWhvbGRlcj1cIuivt+i+k+WFpVwiXHJcbiAgICBtYXhsZW5ndGg9XCI4XCJcclxuICAvPlxyXG48L2Rpdj5cclxuIl19
189
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhdGUtaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvLXRhYmxlL3NyYy9saWIvcGxhdGUtaW5wdXQvcGxhdGUtaW5wdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvLXRhYmxlL3NyYy9saWIvcGxhdGUtaW5wdXQvcGxhdGUtaW5wdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBcUIsVUFBVSxFQUFpQyxNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFILE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6RSxPQUFPLEVBQUUseUJBQXlCLEVBQTZDLGlDQUFpQyxFQUFpQyxNQUFNLFdBQVcsQ0FBQztBQUNuSyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxTQUFTLENBQUM7Ozs7Ozs7O0FBYzNDLE1BQU0sT0FBTyxtQkFBbUI7SUFZOUIsWUFDVSxHQUFzQixFQUN0QixVQUFzQixFQUN5QixzQkFBK0MsRUFDdkMsNkJBQTZEO1FBSHBILFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQ3RCLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDeUIsMkJBQXNCLEdBQXRCLHNCQUFzQixDQUF5QjtRQUN2QyxrQ0FBNkIsR0FBN0IsNkJBQTZCLENBQWdDO1FBZjlILHFCQUFnQixHQUFZLEtBQUssQ0FBQztRQUNsQyxnQkFBVyxHQUFXLEVBQUUsQ0FBQztRQUN6QixnQkFBVyxHQUFXLEVBQUUsQ0FBQztRQUN6Qix1QkFBa0IsR0FBNkIsRUFBRSxDQUFDO1FBQ2xELGFBQVEsR0FBWSxLQUFLLENBQUM7UUFDbEIsa0JBQWEsR0FBRyxFQUFFLENBQUM7UUFDbkIsYUFBUSxHQUFHLENBQUMsS0FBYSxFQUFFLEVBQUUsR0FBRSxDQUFDLENBQUM7UUFDakMsY0FBUyxHQUFHLEdBQUcs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QUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLG1CQUFtQixDQUFDO2dCQUNsRCxLQUFLLEVBQUUsSUFBSTthQUNaO1NBQ0YsMEJDZkgsNHREQXdEQTs7NEZEdkNhLG1CQUFtQjtrQkFaL0IsU0FBUzsrQkFDRSxpQkFBaUIsYUFHaEI7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsb0JBQW9CLENBQUM7NEJBQ2xELEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGOzswQkFpQkUsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyx5QkFBeUI7OzBCQUM1QyxRQUFROzswQkFBSSxNQUFNOzJCQUFDLGlDQUFpQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBPbkRlc3Ryb3ksIGZvcndhcmRSZWYsIENoYW5nZURldGVjdG9yUmVmLCBFbGVtZW50UmVmLCBJbmplY3QsIE9wdGlvbmFsIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcbmltcG9ydCB7IFBMQVRFX1BSRUZJWF9MT0FEX1NFUlZJQ0UsIFBsYXRlUHJlZml4TG9hZFNlcnZpY2UsIFBsYXRlUHJlZml4T3B0aW9uLCBQTEFURV9QUkVGSVhfREVGQVVMVF9MT0FEX1NFUlZJQ0UsIFBsYXRlUHJlZml4RGVmYXVsdExvYWRTZXJ2aWNlIH0gZnJvbSBcIi4uL3Rva2Vuc1wiO1xyXG5pbXBvcnQgeyBzcGxpdFBsYXRlTnVtYmVyIH0gZnJvbSBcIi4vdXRpbHNcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcImFwcC1wbGF0ZS1pbnB1dFwiLFxyXG4gIHRlbXBsYXRlVXJsOiBcIi4vcGxhdGUtaW5wdXQuY29tcG9uZW50Lmh0bWxcIixcclxuICBzdHlsZVVybHM6IFtcIi4vcGxhdGUtaW5wdXQuY29tcG9uZW50Lmxlc3NcIl0sXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBQbGF0ZUlucHV0Q29tcG9uZW50KSxcclxuICAgICAgbXVsdGk6IHRydWUsXHJcbiAgICB9LFxyXG4gIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQbGF0ZUlucHV0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcclxuICBuelBvcG92ZXJWaXNpYmxlOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcGxhdGVQcmVmaXg6IHN0cmluZyA9IFwiXCI7XHJcbiAgcGxhdGVTdWZmaXg6IHN0cmluZyA9IFwiXCI7XHJcbiAgcGxhdGVQcmVmaXhPcHRpb25zOiBBcnJheTxQbGF0ZVByZWZpeE9wdGlvbj4gPSBbXTtcclxuICBkaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHByaXZhdGUgZGVmYXVsdFByZWZpeCA9IFwiXCI7XHJcbiAgcHJpdmF0ZSBvbkNoYW5nZSA9ICh2YWx1ZTogc3RyaW5nKSA9PiB7fTtcclxuICBwcml2YXRlIG9uVG91Y2hlZCA9ICgpID0+IHt9O1xyXG5cclxuICBwcml2YXRlIGNsaWNrT3V0c2lkZUhhbmRsZXI/OiAoZXZlbnQ6IE1vdXNlRXZlbnQpID0+IHZvaWQ7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxyXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChQTEFURV9QUkVGSVhfTE9BRF9TRVJWSUNFKSBwcml2YXRlIHBsYXRlUHJlZml4TG9hZFNlcnZpY2U/OiBQbGF0ZVByZWZpeExvYWRTZXJ2aWNlLFxyXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChQTEFURV9QUkVGSVhfREVGQVVMVF9MT0FEX1NFUlZJQ0UpIHByaXZhdGUgcGxhdGVQcmVmaXhEZWZhdWx0TG9hZFNlcnZpY2U/OiBQbGF0ZVByZWZpeERlZmF1bHRMb2FkU2VydmljZVxyXG4gICkge31cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5wbGF0ZVByZWZpeExvYWRTZXJ2aWNlKSB7XHJcbiAgICAgIC8vIOS9v+eUqOazqOWFpeeahOWFqOWxgOacjeWKoeWKoOi9vei9pueJjOWJjee8gOmAiemhuVxyXG4gICAgICB0aGlzLnBsYXRlUHJlZml4TG9hZFNlcnZpY2VcclxuICAgICAgICAubG9hZFByZWZpeE9wdGlvbnMoKVxyXG4gICAgICAgIC50aGVuKChkYXRhOiBBcnJheTxQbGF0ZVByZWZpeE9wdGlvbj4pID0+IHtcclxuICAgICAgICAgIHRoaXMucGxhdGVQcmVmaXhPcHRpb25zID0gZGF0YTtcclxuICAgICAgICB9KVxyXG4gICAgICAgIC5jYXRjaCgoKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLnBsYXRlUHJlZml4T3B0aW9ucyA9IFtdO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgLy8g5aaC5p6c5rKh5pyJ5rOo5YWl5pyN5Yqh77yM5YiZ5L+d5oyB56m65pWw57uEXHJcbiAgICAgIHRoaXMucGxhdGVQcmVmaXhPcHRpb25zID0gW107XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMucGxhdGVQcmVmaXhEZWZhdWx0TG9hZFNlcnZpY2UpIHtcclxuICAgICAgdGhpcy5wbGF0ZVByZWZpeERlZmF1bHRMb2FkU2VydmljZVxyXG4gICAgICAgIC5sb2FkRGVmYXVsdFByZWZpeCgpXHJcbiAgICAgICAgLnRoZW4oKHByZWZpeDogc3RyaW5nKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmRlZmF1bHRQcmVmaXggPSBwcmVmaXg7XHJcbiAgICAgICAgICB0aGlzLmFwcGx5RGVmYXVsdFByZWZpeElmRW1wdHkoKTtcclxuICAgICAgICB9KVxyXG4gICAgICAgIC5jYXRjaCgoKSA9PiB7fSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBoYW5kbGVQbGF0ZVByZWZpeCh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XHJcbiAgICB0aGlzLnBsYXRlUHJlZml4ID0gdmFsdWU7XHJcbiAgICB0aGlzLmVtaXRWYWx1ZSgpO1xyXG4gICAgdGhpcy5uelBvcG92ZXJWaXNpYmxlID0gZmFsc2U7XHJcbiAgICB0aGlzLnJlbW92ZUNsaWNrT3V0c2lkZUxpc3RlbmVyKCk7XHJcbiAgfVxyXG5cclxuICB3cml0ZVZhbHVlKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIGlmICh2YWx1ZSkge1xyXG4gICAgICBjb25zdCBbZmlyc3RDaGFyLCBzdWZmaXhdID0gc3BsaXRQbGF0ZU51bWJlcih2YWx1ZSk7XHJcbiAgICAgIHRoaXMucGxhdGVQcmVmaXggPSBmaXJzdENoYXI7XHJcbiAgICAgIHRoaXMucGxhdGVTdWZmaXggPSBzdWZmaXg7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnBsYXRlUHJlZml4ID0gXCJcIjtcclxuICAgICAgdGhpcy5wbGF0ZVN1ZmZpeCA9IFwiXCI7XHJcbiAgICAgIHRoaXMuYXBwbHlEZWZhdWx0UHJlZml4SWZFbXB0eSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogKHZhbHVlOiBzdHJpbmcpID0+IHZvaWQpOiB2b2lkIHtcclxuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcclxuICB9XHJcblxyXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiAoKSA9PiB2b2lkKTogdm9pZCB7XHJcbiAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xyXG4gIH1cclxuXHJcbiAgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICBjb25zdCBwcmV2aW91c0Rpc2FibGVkID0gdGhpcy5kaXNhYmxlZDtcclxuICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xyXG4gICAgXHJcbiAgICAvLyDlpoLmnpznpoHnlKjnirbmgIHmlLnlj5jvvIzlhbPpl60gcG9wb3ZlciDlubbnp7vpmaTnm5HlkKzlmahcclxuICAgIGlmIChwcmV2aW91c0Rpc2FibGVkICE9PSBpc0Rpc2FibGVkKSB7XHJcbiAgICAgIHRoaXMubnpQb3BvdmVyVmlzaWJsZSA9IGZhbHNlO1xyXG4gICAgICB0aGlzLnJlbW92ZUNsaWNrT3V0c2lkZUxpc3RlbmVyKCk7XHJcbiAgICAgIC8vIOW8uuWItuWPmOabtOajgOa1i1xyXG4gICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBoYW5kbGVQcmVmaXhDbGljayhldmVudDogRXZlbnQpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XHJcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgICB0aGlzLm56UG9wb3ZlclZpc2libGUgPSBmYWxzZTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgLy8g5omL5Yqo5YiH5o2iIHBvcG92ZXIg55qE5pi+56S6L+makOiXj+eKtuaAgVxyXG4gICAgdGhpcy5uelBvcG92ZXJWaXNpYmxlID0gIXRoaXMubnpQb3BvdmVyVmlzaWJsZTtcclxuICAgIFxyXG4gICAgLy8g5aaC5p6c5omT5byA5LqGIHBvcG92ZXLvvIzmt7vliqDmlofmoaPngrnlh7vnm5HlkKzlmahcclxuICAgIGlmICh0aGlzLm56UG9wb3ZlclZpc2libGUpIHtcclxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5hdHRhY2hDbGlja091dHNpZGVMaXN0ZW5lcigpO1xyXG4gICAgICB9LCAwKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMucmVtb3ZlQ2xpY2tPdXRzaWRlTGlzdGVuZXIoKTtcclxuICAgIH1cclxuICAgIFxyXG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7IC8vIOmYu+atouS6i+S7tuWGkuazoVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhdHRhY2hDbGlja091dHNpZGVMaXN0ZW5lcigpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmNsaWNrT3V0c2lkZUhhbmRsZXIpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICB0aGlzLmNsaWNrT3V0c2lkZUhhbmRsZXIgPSAoZXZlbnQ6IE1vdXNlRXZlbnQpID0+IHtcclxuICAgICAgY29uc3QgbmF0aXZlRWxlbWVudCA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xyXG4gICAgICBjb25zdCB0YXJnZXQgPSBldmVudC50YXJnZXQgYXMgSFRNTEVsZW1lbnQ7XHJcbiAgICAgIFxyXG4gICAgICAvLyDmo4Dmn6XmmK/lkKbngrnlh7vlnKggcG9wb3ZlciDlhoXlrrnljLrln5/lhoVcclxuICAgICAgY29uc3QgcG9wb3ZlckNvbnRlbnQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcucGxhdGUtaW5wdXQtcG9wb3ZlcicpO1xyXG4gICAgICBjb25zdCBjbGlja2VkSW5Qb3BvdmVyID0gcG9wb3ZlckNvbnRlbnQgJiYgcG9wb3ZlckNvbnRlbnQuY29udGFpbnModGFyZ2V0KTtcclxuICAgICAgXHJcbiAgICAgIC8vIOajgOafpeaYr+WQpueCueWHu+WcqOe7hOS7tuWGhemDqO+8iOWJjee8gOaMiemSru+8iVxyXG4gICAgICBjb25zdCBjbGlja2VkSW5Db21wb25lbnQgPSBuYXRpdmVFbGVtZW50LmNvbnRhaW5zKHRhcmdldCk7XHJcbiAgICAgIFxyXG4gICAgICAvLyDlpoLmnpzngrnlh7vml6LkuI3lnKjnu4Tku7blhoXpg6jvvIzkuZ/kuI3lnKggcG9wb3ZlciDlhoXlrrnljLrln5/vvIzliJnlhbPpl60gcG9wb3ZlclxyXG4gICAgICBpZiAoIWNsaWNrZWRJbkNvbXBvbmVudCAmJiAhY2xpY2tlZEluUG9wb3Zlcikge1xyXG4gICAgICAgIHRoaXMubnpQb3BvdmVyVmlzaWJsZSA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMucmVtb3ZlQ2xpY2tPdXRzaWRlTGlzdGVuZXIoKTtcclxuICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgIH1cclxuICAgIH07XHJcbiAgICBcclxuICAgIC8vIOS9v+eUqOaNleiOt+mYtuaute+8jOehruS/neWcqOWFtuS7luS6i+S7tuWkhOeQhuS5i+WJjeaJp+ihjFxyXG4gICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCB0aGlzLmNsaWNrT3V0c2lkZUhhbmRsZXIsIHRydWUpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSByZW1vdmVDbGlja091dHNpZGVMaXN0ZW5lcigpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmNsaWNrT3V0c2lkZUhhbmRsZXIpIHtcclxuICAgICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignY2xpY2snLCB0aGlzLmNsaWNrT3V0c2lkZUhhbmRsZXIsIHRydWUpO1xyXG4gICAgICB0aGlzLmNsaWNrT3V0c2lkZUhhbmRsZXIgPSB1bmRlZmluZWQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMucmVtb3ZlQ2xpY2tPdXRzaWRlTGlzdGVuZXIoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYXBwbHlEZWZhdWx0UHJlZml4SWZFbXB0eSgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnBsYXRlUHJlZml4IHx8IHRoaXMucGxhdGVTdWZmaXggfHwgIXRoaXMuZGVmYXVsdFByZWZpeCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLnBsYXRlUHJlZml4ID0gdGhpcy5kZWZhdWx0UHJlZml4O1xyXG4gICAgdGhpcy5lbWl0VmFsdWUoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZW1pdFZhbHVlKCk6IHZvaWQge1xyXG4gICAgY29uc3QgZnVsbFBsYXRlID0gdGhpcy5wbGF0ZVByZWZpeCArIHRoaXMucGxhdGVTdWZmaXg7XHJcbiAgICB0aGlzLm9uQ2hhbmdlKGZ1bGxQbGF0ZSk7XHJcbiAgfVxyXG5cclxuICBvbkJsdXIoKTogdm9pZCB7XHJcbiAgICB0aGlzLm9uVG91Y2hlZCgpO1xyXG4gIH1cclxuXHJcbiAgaGFuZGxlQW50ZFBsYXRlU3VmZml4Qmx1cihldmVudDogYW55KTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5kaXNhYmxlZCkgcmV0dXJuO1xyXG4gICAgY29uc3QgdmFsdWUgPSBldmVudC50YXJnZXQudmFsdWUudG9VcHBlckNhc2UoKTtcclxuICAgIHRoaXMucGxhdGVTdWZmaXggPSB2YWx1ZTtcclxuICAgIHRoaXMuZW1pdFZhbHVlKCk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXZcclxuICBjbGFzcz1cInBsYXRlLWFudGQtaW5wdXQtY29udGFpbmVyXCJcclxuICBbY2xhc3MucGxhdGUtYW50ZC1pbnB1dC1kaXNhYmxlZF09XCJkaXNhYmxlZFwiXHJcbj5cclxuICA8ZGl2XHJcbiAgICBjbGFzcz1cInBsYXRlLWlucHV0LXByZWZpeFwiXHJcbiAgICBbY2xhc3MucGxhdGUtaW5wdXQtcHJlZml4LWRpc2FibGVkXT1cImRpc2FibGVkXCJcclxuICAgIG56LXBvcG92ZXJcclxuICAgIG56UG9wb3ZlclBsYWNlbWVudD1cImJvdHRvbVwiXHJcbiAgICBuelBvcG92ZXJPdmVybGF5Q2xhc3NOYW1lPVwicGxhdGUtaW5wdXQtcG9wb3ZlclwiXHJcbiAgICBbKG56UG9wb3ZlclZpc2libGUpXT1cIm56UG9wb3ZlclZpc2libGVcIlxyXG4gICAgW256UG9wb3ZlclRyaWdnZXJdPVwiJ21hbnVhbCdcIlxyXG4gICAgW256UG9wb3ZlckNvbnRlbnRdPVwiY29udGVudFRlbXBsYXRlXCJcclxuICAgIChjbGljayk9XCJoYW5kbGVQcmVmaXhDbGljaygkZXZlbnQpXCJcclxuICA+XHJcbiAgICB7eyBwbGF0ZVByZWZpeCB8IHVwcGVyY2FzZSB9fVxyXG4gICAgPGlcclxuICAgICAgY2xhc3M9XCJwbGF0ZS1pbnB1dC1pY29uLWRvd25cIlxyXG4gICAgICBbbnpSb3RhdGVdPVwibnpQb3BvdmVyVmlzaWJsZSA/IDE4MCA6IDBcIlxyXG4gICAgICBuei1pY29uXHJcbiAgICAgIG56VHlwZT1cImRvd25cIlxyXG4gICAgICBuelRoZW1lPVwib3V0bGluZVwiXHJcbiAgICA+PC9pPlxyXG4gIDwvZGl2PlxyXG4gIDxuZy10ZW1wbGF0ZSAjY29udGVudFRlbXBsYXRlPlxyXG4gICAgPGRpdiBuei1yb3cgc3R5bGU9XCJoZWlnaHQ6IDEwMCVcIj5cclxuICAgICAgPGRpdlxyXG4gICAgICAgIG56LWNvbFxyXG4gICAgICAgIG56U3Bhbj1cIjRcIlxyXG4gICAgICAgICpuZ0Zvcj1cImxldCBpdGVtIG9mIHBsYXRlUHJlZml4T3B0aW9uc1wiXHJcbiAgICAgICAgY2xhc3M9XCJwbGF0ZS1pbnB1dC1wb3BvdmVyLWl0ZW1cIlxyXG4gICAgICAgIChjbGljayk9XCIhZGlzYWJsZWQgJiYgaGFuZGxlUGxhdGVQcmVmaXgoaXRlbS52YWx1ZSlcIlxyXG4gICAgICAgIFtuZ0NsYXNzXT1cIntcclxuICAgICAgICAgICdwbGF0ZS1pbnB1dC1wb3BvdmVyLWl0ZW0tYWN0aXZlJzogaXRlbS52YWx1ZSA9PT0gcGxhdGVQcmVmaXgsXHJcbiAgICAgICAgICAncGxhdGUtaW5wdXQtcG9wb3Zlci1pdGVtLWRlZmF1bHQnOiBpdGVtLnZhbHVlICE9PSBwbGF0ZVByZWZpeFxyXG4gICAgICAgIH1cIlxyXG4gICAgICA+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInBsYXRlLWlucHV0LXBvcG92ZXItaXRlbS1sYWJlbFwiPlxyXG4gICAgICAgICAge3sgaXRlbS5sYWJlbCB9fVxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvbmctdGVtcGxhdGU+XHJcbiAgPGlucHV0XHJcbiAgICBjbGFzcz1cInBsYXRlLWlucHV0LXN1ZmZpeFwiXHJcbiAgICB0eXBlPVwidGV4dFwiXHJcbiAgICBuei1pbnB1dFxyXG4gICAgYWxsb3ctdHJpbVxyXG4gICAgc3R5bGU9XCJ3aWR0aDogNzUlXCJcclxuICAgIFt2YWx1ZV09XCJwbGF0ZVN1ZmZpeCB8IHVwcGVyY2FzZVwiXHJcbiAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxyXG4gICAgKGJsdXIpPVwiIWRpc2FibGVkICYmIGhhbmRsZUFudGRQbGF0ZVN1ZmZpeEJsdXIoJGV2ZW50KVwiXHJcbiAgICBwbGFjZWhvbGRlcj1cIuivt+i+k+WFpVwiXHJcbiAgICBtYXhsZW5ndGg9XCI4XCJcclxuICAvPlxyXG48L2Rpdj5cclxuIl19
@@ -0,0 +1,22 @@
1
+ import { lastValueFrom } from 'rxjs';
2
+ import { Injectable } from "@angular/core";
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/common/http";
5
+ export class DefaultPlatePrefixDefaultLoadService {
6
+ constructor(http) {
7
+ this.http = http;
8
+ this.defaultApiUrl = "/PlateFirstWord/GetDefaultPlateFirstWord";
9
+ }
10
+ loadDefaultPrefix() {
11
+ return lastValueFrom(this.http
12
+ .post(this.defaultApiUrl, { dictCode: "PlateFirstWord" }))
13
+ .then((prefix) => prefix || "")
14
+ .catch(() => "");
15
+ }
16
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DefaultPlatePrefixDefaultLoadService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
17
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DefaultPlatePrefixDefaultLoadService }); }
18
+ }
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DefaultPlatePrefixDefaultLoadService, decorators: [{
20
+ type: Injectable
21
+ }], ctorParameters: function () { return [{ type: i1.HttpClient }]; } });
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhdGUtcHJlZml4LWRlZmF1bHQtbG9hZC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvLXRhYmxlL3NyYy9saWIvcGxhdGUtaW5wdXQvcGxhdGUtcHJlZml4LWRlZmF1bHQtbG9hZC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDckMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBSzNDLE1BQU0sT0FBTyxvQ0FBb0M7SUFHL0MsWUFBb0IsSUFBZ0I7UUFBaEIsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUZuQixrQkFBYSxHQUFHLDBDQUEwQyxDQUFDO0lBRXJDLENBQUM7SUFFeEMsaUJBQWlCO1FBQ2YsT0FBTyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUk7YUFDM0IsSUFBSSxDQUFTLElBQUksQ0FBQyxhQUFhLEVBQUUsRUFBRSxRQUFRLEVBQUUsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDO2FBQ2pFLElBQUksQ0FBQyxDQUFDLE1BQWMsRUFBRSxFQUFFLENBQUMsTUFBTSxJQUFJLEVBQUUsQ0FBQzthQUN0QyxLQUFLLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDckIsQ0FBQzsrR0FWVSxvQ0FBb0M7bUhBQXBDLG9DQUFvQzs7NEZBQXBDLG9DQUFvQztrQkFEaEQsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGxhc3RWYWx1ZUZyb20gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gXCJAYW5ndWxhci9jb21tb24vaHR0cFwiO1xuaW1wb3J0IHsgUGxhdGVQcmVmaXhEZWZhdWx0TG9hZFNlcnZpY2UgfSBmcm9tIFwiLi4vdG9rZW5zXCI7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBEZWZhdWx0UGxhdGVQcmVmaXhEZWZhdWx0TG9hZFNlcnZpY2UgaW1wbGVtZW50cyBQbGF0ZVByZWZpeERlZmF1bHRMb2FkU2VydmljZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgZGVmYXVsdEFwaVVybCA9IFwiL1BsYXRlRmlyc3RXb3JkL0dldERlZmF1bHRQbGF0ZUZpcnN0V29yZFwiO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cDogSHR0cENsaWVudCkge31cblxuICBsb2FkRGVmYXVsdFByZWZpeCgpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIHJldHVybiBsYXN0VmFsdWVGcm9tKHRoaXMuaHR0cFxuICAgICAgLnBvc3Q8c3RyaW5nPih0aGlzLmRlZmF1bHRBcGlVcmwsIHsgZGljdENvZGU6IFwiUGxhdGVGaXJzdFdvcmRcIiB9KSlcbiAgICAgIC50aGVuKChwcmVmaXg6IHN0cmluZykgPT4gcHJlZml4IHx8IFwiXCIpXG4gICAgICAuY2F0Y2goKCkgPT4gXCJcIik7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,21 @@
1
+ /**
2
+ * 检测并分割车牌号
3
+ * @param plateNumber 车牌号字符串
4
+ * @returns 返回数组,第一个元素是中文字符(如果存在),第二个元素是剩余部分
5
+ * @example
6
+ * splitPlateNumber('京12345') // ['京', '12345']
7
+ * splitPlateNumber('12345') // ['', '12345']
8
+ */
9
+ export function splitPlateNumber(plateNumber) {
10
+ if (!plateNumber || typeof plateNumber !== 'string') {
11
+ return ['', ''];
12
+ }
13
+ // 检测首个字符是否为中文(Unicode范围:\u4e00-\u9fa5)
14
+ const firstChar = plateNumber.charAt(0);
15
+ const isChinese = /^[\u4e00-\u9fa5]$/.test(firstChar);
16
+ if (isChinese) {
17
+ return [firstChar, plateNumber.slice(1)];
18
+ }
19
+ return ['', plateNumber];
20
+ }
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm8tdGFibGUvc3JjL2xpYi9wbGF0ZS1pbnB1dC91dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7OztHQU9HO0FBQ0gsTUFBTSxVQUFVLGdCQUFnQixDQUFDLFdBQW1CO0lBQ2xELElBQUksQ0FBQyxXQUFXLElBQUksT0FBTyxXQUFXLEtBQUssUUFBUSxFQUFFO1FBQ25ELE9BQU8sQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7S0FDakI7SUFFRCx1Q0FBdUM7SUFDdkMsTUFBTSxTQUFTLEdBQUcsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN4QyxNQUFNLFNBQVMsR0FBRyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFFdEQsSUFBSSxTQUFTLEVBQUU7UUFDYixPQUFPLENBQUMsU0FBUyxFQUFFLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztLQUMxQztJQUVELE9BQU8sQ0FBQyxFQUFFLEVBQUUsV0FBVyxDQUFDLENBQUM7QUFDM0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxyXG4gKiDmo4DmtYvlubbliIblibLovabniYzlj7dcclxuICogQHBhcmFtIHBsYXRlTnVtYmVyIOi9pueJjOWPt+Wtl+espuS4slxyXG4gKiBAcmV0dXJucyDov5Tlm57mlbDnu4TvvIznrKzkuIDkuKrlhYPntKDmmK/kuK3mloflrZfnrKbvvIjlpoLmnpzlrZjlnKjvvInvvIznrKzkuozkuKrlhYPntKDmmK/liankvZnpg6jliIZcclxuICogQGV4YW1wbGVcclxuICogc3BsaXRQbGF0ZU51bWJlcign5LqsMTIzNDUnKSAvLyBbJ+S6rCcsICcxMjM0NSddXHJcbiAqIHNwbGl0UGxhdGVOdW1iZXIoJzEyMzQ1JykgLy8gWycnLCAnMTIzNDUnXVxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIHNwbGl0UGxhdGVOdW1iZXIocGxhdGVOdW1iZXI6IHN0cmluZyk6IFtzdHJpbmcsIHN0cmluZ10ge1xyXG4gIGlmICghcGxhdGVOdW1iZXIgfHwgdHlwZW9mIHBsYXRlTnVtYmVyICE9PSAnc3RyaW5nJykge1xyXG4gICAgcmV0dXJuIFsnJywgJyddO1xyXG4gIH1cclxuXHJcbiAgLy8g5qOA5rWL6aaW5Liq5a2X56ym5piv5ZCm5Li65Lit5paH77yIVW5pY29kZeiMg+WbtO+8mlxcdTRlMDAtXFx1OWZhNe+8iVxyXG4gIGNvbnN0IGZpcnN0Q2hhciA9IHBsYXRlTnVtYmVyLmNoYXJBdCgwKTtcclxuICBjb25zdCBpc0NoaW5lc2UgPSAvXltcXHU0ZTAwLVxcdTlmYTVdJC8udGVzdChmaXJzdENoYXIpO1xyXG5cclxuICBpZiAoaXNDaGluZXNlKSB7XHJcbiAgICByZXR1cm4gW2ZpcnN0Q2hhciwgcGxhdGVOdW1iZXIuc2xpY2UoMSldO1xyXG4gIH1cclxuXHJcbiAgcmV0dXJuIFsnJywgcGxhdGVOdW1iZXJdO1xyXG59XHJcblxyXG4iXX0=
@@ -1,4 +1,5 @@
1
1
  import { InjectionToken } from "@angular/core";
2
2
  export const PRO_TABLE_COLUMN_REMOTE = new InjectionToken("PRO_TABLE_COLUMN_REMOTE");
3
3
  export const PLATE_PREFIX_LOAD_SERVICE = new InjectionToken("PLATE_PREFIX_LOAD_SERVICE");
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW5zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvLXRhYmxlL3NyYy9saWIvdG9rZW5zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUF1Qi9DLE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUFHLElBQUksY0FBYyxDQUN2RCx5QkFBeUIsQ0FDMUIsQ0FBQztBQW9CRixNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FBRyxJQUFJLGNBQWMsQ0FDekQsMkJBQTJCLENBQzVCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tIFwicnhqc1wiO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBQcm9UYWJsZVJlbW90ZUNvbHVtblNlcnZpY2Uge1xyXG4gIC8qKlxyXG4gICAqIOafpeivouW9k+WJjeihqOeahOWIl+mFjee9rlxyXG4gICAqL1xyXG4gIGdldENvbDogKHRhYmxlTmFtZTogc3RyaW5nLCBtdWx0aVJvdz86IGJvb2xlYW4pID0+IFByb21pc2U8YW55PjtcclxuICAvKipcclxuICAgKiDlhpnlhaXliJfphY3nva5cclxuICAgKi9cclxuICBzZXRDb2w/OiAoXHJcbiAgICB0YWJsZU5hbWU6IHN0cmluZyxcclxuICAgIGNvbHVtbnM6IEFycmF5PHtcclxuICAgICAgZmllbGQ6IHN0cmluZztcclxuICAgICAgaXNTaG93OiBib29sZWFuO1xyXG4gICAgICBoZWFkZXI6IHN0cmluZztcclxuICAgICAgc29ydE5hbWU/OiBzdHJpbmcgfCBudWxsO1xyXG4gICAgfT4sXHJcbiAgICBtdWx0aVJvdz86IGJvb2xlYW5cclxuICApID0+IFByb21pc2U8YW55PiB8IE9ic2VydmFibGU8YW55PjtcclxufVxyXG5cclxuZXhwb3J0IGNvbnN0IFBST19UQUJMRV9DT0xVTU5fUkVNT1RFID0gbmV3IEluamVjdGlvblRva2VuPFByb1RhYmxlUmVtb3RlQ29sdW1uU2VydmljZSB8IG51bGw+KFxyXG4gIFwiUFJPX1RBQkxFX0NPTFVNTl9SRU1PVEVcIlxyXG4pO1xyXG5cclxuLyoqXHJcbiAqIOi9pueJjOWJjee8gOmAiemhueaOpeWPo1xyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBQbGF0ZVByZWZpeE9wdGlvbiB7XHJcbiAgbGFiZWw6IHN0cmluZztcclxuICB2YWx1ZTogc3RyaW5nO1xyXG59XHJcblxyXG4vKipcclxuICog6L2m54mM5YmN57yA5Yqg6L295pyN5Yqh5o6l5Y+jXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIFBsYXRlUHJlZml4TG9hZFNlcnZpY2Uge1xyXG4gIC8qKlxyXG4gICAqIOWKoOi9vei9pueJjOWJjee8gOmAiemhueWIl+ihqFxyXG4gICAqL1xyXG4gIGxvYWRQcmVmaXhPcHRpb25zKCk6IFByb21pc2U8UGxhdGVQcmVmaXhPcHRpb25bXT47XHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCBQTEFURV9QUkVGSVhfTE9BRF9TRVJWSUNFID0gbmV3IEluamVjdGlvblRva2VuPFBsYXRlUHJlZml4TG9hZFNlcnZpY2U+KFxyXG4gIFwiUExBVEVfUFJFRklYX0xPQURfU0VSVklDRVwiXHJcbik7XHJcblxyXG4iXX0=
4
+ export const PLATE_PREFIX_DEFAULT_LOAD_SERVICE = new InjectionToken("PLATE_PREFIX_DEFAULT_LOAD_SERVICE");
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW5zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvLXRhYmxlL3NyYy9saWIvdG9rZW5zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUF1Qi9DLE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUFHLElBQUksY0FBYyxDQUN2RCx5QkFBeUIsQ0FDMUIsQ0FBQztBQW9CRixNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FBRyxJQUFJLGNBQWMsQ0FDekQsMkJBQTJCLENBQzVCLENBQUM7QUFNRixNQUFNLENBQUMsTUFBTSxpQ0FBaUMsR0FBRyxJQUFJLGNBQWMsQ0FDakUsbUNBQW1DLENBQ3BDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tIFwicnhqc1wiO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBQcm9UYWJsZVJlbW90ZUNvbHVtblNlcnZpY2Uge1xyXG4gIC8qKlxyXG4gICAqIOafpeivouW9k+WJjeihqOeahOWIl+mFjee9rlxyXG4gICAqL1xyXG4gIGdldENvbDogKHRhYmxlTmFtZTogc3RyaW5nLCBtdWx0aVJvdz86IGJvb2xlYW4pID0+IFByb21pc2U8YW55PjtcclxuICAvKipcclxuICAgKiDlhpnlhaXliJfphY3nva5cclxuICAgKi9cclxuICBzZXRDb2w/OiAoXHJcbiAgICB0YWJsZU5hbWU6IHN0cmluZyxcclxuICAgIGNvbHVtbnM6IEFycmF5PHtcclxuICAgICAgZmllbGQ6IHN0cmluZztcclxuICAgICAgaXNTaG93OiBib29sZWFuO1xyXG4gICAgICBoZWFkZXI6IHN0cmluZztcclxuICAgICAgc29ydE5hbWU/OiBzdHJpbmcgfCBudWxsO1xyXG4gICAgfT4sXHJcbiAgICBtdWx0aVJvdz86IGJvb2xlYW5cclxuICApID0+IFByb21pc2U8YW55PiB8IE9ic2VydmFibGU8YW55PjtcclxufVxyXG5cclxuZXhwb3J0IGNvbnN0IFBST19UQUJMRV9DT0xVTU5fUkVNT1RFID0gbmV3IEluamVjdGlvblRva2VuPFByb1RhYmxlUmVtb3RlQ29sdW1uU2VydmljZSB8IG51bGw+KFxyXG4gIFwiUFJPX1RBQkxFX0NPTFVNTl9SRU1PVEVcIlxyXG4pO1xyXG5cclxuLyoqXHJcbiAqIOi9pueJjOWJjee8gOmAiemhueaOpeWPo1xyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBQbGF0ZVByZWZpeE9wdGlvbiB7XHJcbiAgbGFiZWw6IHN0cmluZztcclxuICB2YWx1ZTogc3RyaW5nO1xyXG59XHJcblxyXG4vKipcclxuICog6L2m54mM5YmN57yA5Yqg6L295pyN5Yqh5o6l5Y+jXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIFBsYXRlUHJlZml4TG9hZFNlcnZpY2Uge1xyXG4gIC8qKlxyXG4gICAqIOWKoOi9vei9pueJjOWJjee8gOmAiemhueWIl+ihqFxyXG4gICAqL1xyXG4gIGxvYWRQcmVmaXhPcHRpb25zKCk6IFByb21pc2U8UGxhdGVQcmVmaXhPcHRpb25bXT47XHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCBQTEFURV9QUkVGSVhfTE9BRF9TRVJWSUNFID0gbmV3IEluamVjdGlvblRva2VuPFBsYXRlUHJlZml4TG9hZFNlcnZpY2U+KFxyXG4gIFwiUExBVEVfUFJFRklYX0xPQURfU0VSVklDRVwiXHJcbik7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFBsYXRlUHJlZml4RGVmYXVsdExvYWRTZXJ2aWNlIHtcclxuICBsb2FkRGVmYXVsdFByZWZpeCgpOiBQcm9taXNlPHN0cmluZz47XHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCBQTEFURV9QUkVGSVhfREVGQVVMVF9MT0FEX1NFUlZJQ0UgPSBuZXcgSW5qZWN0aW9uVG9rZW48UGxhdGVQcmVmaXhEZWZhdWx0TG9hZFNlcnZpY2U+KFxyXG4gIFwiUExBVEVfUFJFRklYX0RFRkFVTFRfTE9BRF9TRVJWSUNFXCJcclxuKTtcclxuXHJcbiJdfQ==
@@ -7,6 +7,7 @@ export * from "./lib/constants";
7
7
  export * from "./lib/type";
8
8
  export * from "./lib/tokens";
9
9
  export * from "./lib/plate-input/plate-prefix-load.service";
10
+ export * from "./lib/plate-input/plate-prefix-default-load.service";
10
11
  export * from "./lib/plate-input/plate-input.component";
11
12
  export * from "./lib/plate-input/plate-input.module";
12
13
  export * from "./lib/page-container/page-container.component";
@@ -22,4 +23,4 @@ export { ArrayFormService } from "./lib/page-public/array-form";
22
23
  // Export modal width detector
23
24
  export { initModalWidthDetector } from "./lib/utils/modal-width-detector";
24
25
  export { initSelectWidthDetector } from "./lib/utils/select-width-detector";
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byby10YWJsZS9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsWUFBWSxDQUFDO0FBQzNCLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsNkNBQTZDLENBQUM7QUFDNUQsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMsK0NBQStDLENBQUM7QUFDOUQsY0FBYyw0Q0FBNEMsQ0FBQztBQUMzRCxjQUFjLG1EQUFtRCxDQUFDO0FBQ2xFLGNBQWMsZ0RBQWdELENBQUM7QUFDL0QsY0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCxjQUFjLG9DQUFvQyxDQUFDO0FBRW5ELHFDQUFxQztBQUNyQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFnQjlELHNDQUFzQztBQUN0QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQVdoRSw4QkFBOEI7QUFDOUIsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDMUUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sbUNBQW1DLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2YgcHJvLXRhYmxlXHJcbiAqL1xyXG5cclxuZXhwb3J0ICogZnJvbSBcIi4vbGliL3Byby10YWJsZS5jb21wb25lbnRcIjtcclxuZXhwb3J0ICogZnJvbSBcIi4vbGliL3Byby10YWJsZS5tb2R1bGVcIjtcclxuZXhwb3J0ICogZnJvbSBcIi4vbGliL2NvbnN0YW50c1wiO1xyXG5leHBvcnQgKiBmcm9tIFwiLi9saWIvdHlwZVwiO1xyXG5leHBvcnQgKiBmcm9tIFwiLi9saWIvdG9rZW5zXCI7XHJcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9wbGF0ZS1pbnB1dC9wbGF0ZS1wcmVmaXgtbG9hZC5zZXJ2aWNlXCI7XHJcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9wbGF0ZS1pbnB1dC9wbGF0ZS1pbnB1dC5jb21wb25lbnRcIjtcclxuZXhwb3J0ICogZnJvbSBcIi4vbGliL3BsYXRlLWlucHV0L3BsYXRlLWlucHV0Lm1vZHVsZVwiO1xyXG5leHBvcnQgKiBmcm9tIFwiLi9saWIvcGFnZS1jb250YWluZXIvcGFnZS1jb250YWluZXIuY29tcG9uZW50XCI7XHJcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9wYWdlLWNvbnRhaW5lci9wYWdlLWNvbnRhaW5lci5tb2R1bGVcIjtcclxuZXhwb3J0ICogZnJvbSBcIi4vbGliL3RhYmxlLXNlYXJjaC1iYXIvdGFibGUtc2VhcmNoLWJhci5jb21wb25lbnRcIjtcclxuZXhwb3J0ICogZnJvbSBcIi4vbGliL3RhYmxlLXNlYXJjaC1iYXIvdGFibGUtc2VhcmNoLWJhci1tb2R1bGVcIjtcclxuZXhwb3J0ICogZnJvbSBcIi4vbGliL2RpcmVjdGl2ZXMvdHJpbS1pbnB1dC5kaXJlY3RpdmVcIjtcclxuZXhwb3J0ICogZnJvbSBcIi4vbGliL2RpcmVjdGl2ZXMvdHJpbS1pbnB1dC5tb2R1bGVcIjtcclxuXHJcbi8vIEV4cG9ydCBhbnRkLWZvcm0gc2VydmljZSBhbmQgdHlwZXNcclxuZXhwb3J0IHsgQW50ZEZvcm1TZXJ2aWNlIH0gZnJvbSBcIi4vbGliL3BhZ2UtcHVibGljL2FudGQtZm9ybVwiO1xyXG5leHBvcnQgdHlwZSB7XHJcbiAgRmllbGRFcnJvck1lc3NhZ2UsXHJcbiAgRmllbGRFcnJvck1lc3NhZ2VzLFxyXG4gIEZpZWxkQ29uZmlnLFxyXG4gIEZvcm1Hcm91cENvbmZpZyxcclxuICBGb3JtQXJyYXlDb25maWcsXHJcbiAgRm9ybU1vZGlmeVR5cGUsXHJcbiAgRm9ybUNvbmZpZyxcclxuICBXYXRjaE9wdGlvbnMsXHJcbiAgQWRkRmllbGRzQ29uZmlnT3B0aW9ucyxcclxuICBBZGRGaWVsZHNDb25maWdSZXN1bHQsXHJcbiAgUmVtb3ZlRmllbGRzQ29uZmlnT3B0aW9ucyxcclxuICBSZW1vdmVGaWVsZHNDb25maWdSZXN1bHQsXHJcbn0gZnJvbSBcIi4vbGliL3BhZ2UtcHVibGljL2FudGQtZm9ybVwiO1xyXG5cclxuLy8gRXhwb3J0IGFycmF5LWZvcm0gc2VydmljZSBhbmQgdHlwZXNcclxuZXhwb3J0IHsgQXJyYXlGb3JtU2VydmljZSB9IGZyb20gXCIuL2xpYi9wYWdlLXB1YmxpYy9hcnJheS1mb3JtXCI7XHJcbmV4cG9ydCB0eXBlIHtcclxuICBWYWxpZGF0aW9uUmVzdWx0LFxyXG4gIEZpZWxkVmFsaWRhdG9yLFxyXG4gIEZpZWxkQ29uZmlnIGFzIEFycmF5RmllbGRDb25maWcsXHJcbiAgQXJyYXlGb3JtUm93LFxyXG4gIEFycmF5Rm9ybUNvbmZpZyxcclxuICBBcnJheUZvcm1TdG9yZUl0ZW0sXHJcbiAgQXJyYXlGb3JtU3RvcmUsXHJcbn0gZnJvbSBcIi4vbGliL3BhZ2UtcHVibGljL2FycmF5LWZvcm1cIjtcclxuXHJcbi8vIEV4cG9ydCBtb2RhbCB3aWR0aCBkZXRlY3RvclxyXG5leHBvcnQgeyBpbml0TW9kYWxXaWR0aERldGVjdG9yIH0gZnJvbSBcIi4vbGliL3V0aWxzL21vZGFsLXdpZHRoLWRldGVjdG9yXCI7XHJcbmV4cG9ydCB7IGluaXRTZWxlY3RXaWR0aERldGVjdG9yIH0gZnJvbSBcIi4vbGliL3V0aWxzL3NlbGVjdC13aWR0aC1kZXRlY3RvclwiO1xyXG4iXX0=
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byby10YWJsZS9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsWUFBWSxDQUFDO0FBQzNCLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsNkNBQTZDLENBQUM7QUFDNUQsY0FBYyxxREFBcUQsQ0FBQztBQUNwRSxjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYywrQ0FBK0MsQ0FBQztBQUM5RCxjQUFjLDRDQUE0QyxDQUFDO0FBQzNELGNBQWMsbURBQW1ELENBQUM7QUFDbEUsY0FBYyxnREFBZ0QsQ0FBQztBQUMvRCxjQUFjLHVDQUF1QyxDQUFDO0FBQ3RELGNBQWMsb0NBQW9DLENBQUM7QUFFbkQscUNBQXFDO0FBQ3JDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQWdCOUQsc0NBQXNDO0FBQ3RDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBV2hFLDhCQUE4QjtBQUM5QixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUMxRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBwcm8tdGFibGVcclxuICovXHJcblxyXG5leHBvcnQgKiBmcm9tIFwiLi9saWIvcHJvLXRhYmxlLmNvbXBvbmVudFwiO1xyXG5leHBvcnQgKiBmcm9tIFwiLi9saWIvcHJvLXRhYmxlLm1vZHVsZVwiO1xyXG5leHBvcnQgKiBmcm9tIFwiLi9saWIvY29uc3RhbnRzXCI7XHJcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi90eXBlXCI7XHJcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi90b2tlbnNcIjtcclxuZXhwb3J0ICogZnJvbSBcIi4vbGliL3BsYXRlLWlucHV0L3BsYXRlLXByZWZpeC1sb2FkLnNlcnZpY2VcIjtcclxuZXhwb3J0ICogZnJvbSBcIi4vbGliL3BsYXRlLWlucHV0L3BsYXRlLXByZWZpeC1kZWZhdWx0LWxvYWQuc2VydmljZVwiO1xyXG5leHBvcnQgKiBmcm9tIFwiLi9saWIvcGxhdGUtaW5wdXQvcGxhdGUtaW5wdXQuY29tcG9uZW50XCI7XHJcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9wbGF0ZS1pbnB1dC9wbGF0ZS1pbnB1dC5tb2R1bGVcIjtcclxuZXhwb3J0ICogZnJvbSBcIi4vbGliL3BhZ2UtY29udGFpbmVyL3BhZ2UtY29udGFpbmVyLmNvbXBvbmVudFwiO1xyXG5leHBvcnQgKiBmcm9tIFwiLi9saWIvcGFnZS1jb250YWluZXIvcGFnZS1jb250YWluZXIubW9kdWxlXCI7XHJcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi90YWJsZS1zZWFyY2gtYmFyL3RhYmxlLXNlYXJjaC1iYXIuY29tcG9uZW50XCI7XHJcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi90YWJsZS1zZWFyY2gtYmFyL3RhYmxlLXNlYXJjaC1iYXItbW9kdWxlXCI7XHJcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9kaXJlY3RpdmVzL3RyaW0taW5wdXQuZGlyZWN0aXZlXCI7XHJcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9kaXJlY3RpdmVzL3RyaW0taW5wdXQubW9kdWxlXCI7XHJcblxyXG4vLyBFeHBvcnQgYW50ZC1mb3JtIHNlcnZpY2UgYW5kIHR5cGVzXHJcbmV4cG9ydCB7IEFudGRGb3JtU2VydmljZSB9IGZyb20gXCIuL2xpYi9wYWdlLXB1YmxpYy9hbnRkLWZvcm1cIjtcclxuZXhwb3J0IHR5cGUge1xyXG4gIEZpZWxkRXJyb3JNZXNzYWdlLFxyXG4gIEZpZWxkRXJyb3JNZXNzYWdlcyxcclxuICBGaWVsZENvbmZpZyxcclxuICBGb3JtR3JvdXBDb25maWcsXHJcbiAgRm9ybUFycmF5Q29uZmlnLFxyXG4gIEZvcm1Nb2RpZnlUeXBlLFxyXG4gIEZvcm1Db25maWcsXHJcbiAgV2F0Y2hPcHRpb25zLFxyXG4gIEFkZEZpZWxkc0NvbmZpZ09wdGlvbnMsXHJcbiAgQWRkRmllbGRzQ29uZmlnUmVzdWx0LFxyXG4gIFJlbW92ZUZpZWxkc0NvbmZpZ09wdGlvbnMsXHJcbiAgUmVtb3ZlRmllbGRzQ29uZmlnUmVzdWx0LFxyXG59IGZyb20gXCIuL2xpYi9wYWdlLXB1YmxpYy9hbnRkLWZvcm1cIjtcclxuXHJcbi8vIEV4cG9ydCBhcnJheS1mb3JtIHNlcnZpY2UgYW5kIHR5cGVzXHJcbmV4cG9ydCB7IEFycmF5Rm9ybVNlcnZpY2UgfSBmcm9tIFwiLi9saWIvcGFnZS1wdWJsaWMvYXJyYXktZm9ybVwiO1xyXG5leHBvcnQgdHlwZSB7XHJcbiAgVmFsaWRhdGlvblJlc3VsdCxcclxuICBGaWVsZFZhbGlkYXRvcixcclxuICBGaWVsZENvbmZpZyBhcyBBcnJheUZpZWxkQ29uZmlnLFxyXG4gIEFycmF5Rm9ybVJvdyxcclxuICBBcnJheUZvcm1Db25maWcsXHJcbiAgQXJyYXlGb3JtU3RvcmVJdGVtLFxyXG4gIEFycmF5Rm9ybVN0b3JlLFxyXG59IGZyb20gXCIuL2xpYi9wYWdlLXB1YmxpYy9hcnJheS1mb3JtXCI7XHJcblxyXG4vLyBFeHBvcnQgbW9kYWwgd2lkdGggZGV0ZWN0b3JcclxuZXhwb3J0IHsgaW5pdE1vZGFsV2lkdGhEZXRlY3RvciB9IGZyb20gXCIuL2xpYi91dGlscy9tb2RhbC13aWR0aC1kZXRlY3RvclwiO1xyXG5leHBvcnQgeyBpbml0U2VsZWN0V2lkdGhEZXRlY3RvciB9IGZyb20gXCIuL2xpYi91dGlscy9zZWxlY3Qtd2lkdGgtZGV0ZWN0b3JcIjtcclxuIl19
@@ -141,6 +141,7 @@ const PRO_TABLE_DEFAULT_COLUMN = {
141
141
 
142
142
  const PRO_TABLE_COLUMN_REMOTE = new InjectionToken("PRO_TABLE_COLUMN_REMOTE");
143
143
  const PLATE_PREFIX_LOAD_SERVICE = new InjectionToken("PLATE_PREFIX_LOAD_SERVICE");
144
+ const PLATE_PREFIX_DEFAULT_LOAD_SERVICE = new InjectionToken("PLATE_PREFIX_DEFAULT_LOAD_SERVICE");
144
145
 
145
146
  class PageContainerComponent {
146
147
  constructor() {
@@ -203,6 +204,27 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
203
204
  args: ["actionImgBtn"]
204
205
  }] } });
205
206
 
207
+ /**
208
+ * 检测并分割车牌号
209
+ * @param plateNumber 车牌号字符串
210
+ * @returns 返回数组,第一个元素是中文字符(如果存在),第二个元素是剩余部分
211
+ * @example
212
+ * splitPlateNumber('京12345') // ['京', '12345']
213
+ * splitPlateNumber('12345') // ['', '12345']
214
+ */
215
+ function splitPlateNumber(plateNumber) {
216
+ if (!plateNumber || typeof plateNumber !== 'string') {
217
+ return ['', ''];
218
+ }
219
+ // 检测首个字符是否为中文(Unicode范围:\u4e00-\u9fa5)
220
+ const firstChar = plateNumber.charAt(0);
221
+ const isChinese = /^[\u4e00-\u9fa5]$/.test(firstChar);
222
+ if (isChinese) {
223
+ return [firstChar, plateNumber.slice(1)];
224
+ }
225
+ return ['', plateNumber];
226
+ }
227
+
206
228
  class TrimInputDirective {
207
229
  constructor(el, ngControl) {
208
230
  this.el = el;
@@ -271,15 +293,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
271
293
  }] } });
272
294
 
273
295
  class PlateInputComponent {
274
- constructor(cdr, elementRef, platePrefixLoadService) {
296
+ constructor(cdr, elementRef, platePrefixLoadService, platePrefixDefaultLoadService) {
275
297
  this.cdr = cdr;
276
298
  this.elementRef = elementRef;
277
299
  this.platePrefixLoadService = platePrefixLoadService;
300
+ this.platePrefixDefaultLoadService = platePrefixDefaultLoadService;
278
301
  this.nzPopoverVisible = false;
279
302
  this.platePrefix = "";
280
303
  this.plateSuffix = "";
281
304
  this.platePrefixOptions = [];
282
305
  this.disabled = false;
306
+ this.defaultPrefix = "";
283
307
  this.onChange = (value) => { };
284
308
  this.onTouched = () => { };
285
309
  }
@@ -299,6 +323,15 @@ class PlateInputComponent {
299
323
  // 如果没有注入服务,则保持空数组
300
324
  this.platePrefixOptions = [];
301
325
  }
326
+ if (this.platePrefixDefaultLoadService) {
327
+ this.platePrefixDefaultLoadService
328
+ .loadDefaultPrefix()
329
+ .then((prefix) => {
330
+ this.defaultPrefix = prefix;
331
+ this.applyDefaultPrefixIfEmpty();
332
+ })
333
+ .catch(() => { });
334
+ }
302
335
  }
303
336
  handlePlatePrefix(value) {
304
337
  this.platePrefix = value;
@@ -308,15 +341,14 @@ class PlateInputComponent {
308
341
  }
309
342
  writeValue(value) {
310
343
  if (value) {
311
- this.platePrefix = value.split("")[0];
312
- this.plateSuffix = value
313
- .split("")
314
- .filter((item, index) => index > 0)
315
- .join("");
344
+ const [firstChar, suffix] = splitPlateNumber(value);
345
+ this.platePrefix = firstChar;
346
+ this.plateSuffix = suffix;
316
347
  }
317
348
  else {
318
349
  this.platePrefix = "";
319
350
  this.plateSuffix = "";
351
+ this.applyDefaultPrefixIfEmpty();
320
352
  }
321
353
  }
322
354
  registerOnChange(fn) {
@@ -387,6 +419,13 @@ class PlateInputComponent {
387
419
  ngOnDestroy() {
388
420
  this.removeClickOutsideListener();
389
421
  }
422
+ applyDefaultPrefixIfEmpty() {
423
+ if (this.platePrefix || this.plateSuffix || !this.defaultPrefix) {
424
+ return;
425
+ }
426
+ this.platePrefix = this.defaultPrefix;
427
+ this.emitValue();
428
+ }
390
429
  emitValue() {
391
430
  const fullPlate = this.platePrefix + this.plateSuffix;
392
431
  this.onChange(fullPlate);
@@ -401,7 +440,7 @@ class PlateInputComponent {
401
440
  this.plateSuffix = value;
402
441
  this.emitValue();
403
442
  }
404
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PlateInputComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: PLATE_PREFIX_LOAD_SERVICE, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
443
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PlateInputComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: PLATE_PREFIX_LOAD_SERVICE, optional: true }, { token: PLATE_PREFIX_DEFAULT_LOAD_SERVICE, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
405
444
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PlateInputComponent, selector: "app-plate-input", providers: [
406
445
  {
407
446
  provide: NG_VALUE_ACCESSOR,
@@ -424,6 +463,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
424
463
  }, {
425
464
  type: Inject,
426
465
  args: [PLATE_PREFIX_LOAD_SERVICE]
466
+ }] }, { type: undefined, decorators: [{
467
+ type: Optional
468
+ }, {
469
+ type: Inject,
470
+ args: [PLATE_PREFIX_DEFAULT_LOAD_SERVICE]
427
471
  }] }]; } });
428
472
 
429
473
  class ColmunsSettingComponent {
@@ -1999,6 +2043,24 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
1999
2043
  type: Injectable
2000
2044
  }], ctorParameters: function () { return [{ type: i1$1.HttpClient }]; } });
2001
2045
 
2046
+ class DefaultPlatePrefixDefaultLoadService {
2047
+ constructor(http) {
2048
+ this.http = http;
2049
+ this.defaultApiUrl = "/PlateFirstWord/GetDefaultPlateFirstWord";
2050
+ }
2051
+ loadDefaultPrefix() {
2052
+ return lastValueFrom(this.http
2053
+ .post(this.defaultApiUrl, { dictCode: "PlateFirstWord" }))
2054
+ .then((prefix) => prefix || "")
2055
+ .catch(() => "");
2056
+ }
2057
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DefaultPlatePrefixDefaultLoadService, deps: [{ token: i1$1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
2058
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DefaultPlatePrefixDefaultLoadService }); }
2059
+ }
2060
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DefaultPlatePrefixDefaultLoadService, decorators: [{
2061
+ type: Injectable
2062
+ }], ctorParameters: function () { return [{ type: i1$1.HttpClient }]; } });
2063
+
2002
2064
  // ==================== 服务类 ====================
2003
2065
  class AntdFormService {
2004
2066
  // ==================== 构造函数 ====================
@@ -3479,5 +3541,5 @@ function initSelectWidthDetector() {
3479
3541
  * Generated bundle index. Do not edit.
3480
3542
  */
3481
3543
 
3482
- export { AntdFormService, ArrayFormService, DefaultPlatePrefixLoadService, PLATE_PREFIX_LOAD_SERVICE, PRO_TABLE_COLUMN_REMOTE, PRO_TABLE_DEFAULT_COLUMN, PRO_TABLE_DEFAULT_PROPS, PageContainerComponent, PageContainerModule, PlateInputComponent, PlateInputModule, ProTableComponent, ProTableModule, TableSearchBarComponent, TableSearchBarModule, TrimInputDirective, TrimInputModule, initModalWidthDetector, initSelectWidthDetector };
3544
+ export { AntdFormService, ArrayFormService, DefaultPlatePrefixDefaultLoadService, DefaultPlatePrefixLoadService, PLATE_PREFIX_DEFAULT_LOAD_SERVICE, PLATE_PREFIX_LOAD_SERVICE, PRO_TABLE_COLUMN_REMOTE, PRO_TABLE_DEFAULT_COLUMN, PRO_TABLE_DEFAULT_PROPS, PageContainerComponent, PageContainerModule, PlateInputComponent, PlateInputModule, ProTableComponent, ProTableModule, TableSearchBarComponent, TableSearchBarModule, TrimInputDirective, TrimInputModule, initModalWidthDetector, initSelectWidthDetector };
3483
3545
  //# sourceMappingURL=yibozhang-pro-table.mjs.map