@ng-nest/ui 18.0.5 → 18.0.6

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.
@@ -13,7 +13,7 @@ export declare class XCheckboxComponent extends XCheckboxProperty implements OnC
13
13
  labelMapSignal: import("@angular/core").Signal<{
14
14
  [x: string]: boolean;
15
15
  }>;
16
- checkboxType: import("@angular/core").Signal<"button" | "icon" | "tag" | "initial">;
16
+ checkboxType: import("@angular/core").Signal<"initial" | "button" | "icon" | "tag">;
17
17
  constructor();
18
18
  ngOnChanges(changes: SimpleChanges): void;
19
19
  ngOnDestroy(): void;
@@ -81,7 +81,7 @@ export class XSelectProperty extends XFormControlFunction(X_SELECT_CONFIG_NAME)
81
81
  * @zh_CN 输入搜索
82
82
  * @en_US Input search
83
83
  */
84
- this.search = input(false, { transform: XToBoolean });
84
+ this.search = input(this.config?.search ?? false, { transform: XToBoolean });
85
85
  /**
86
86
  * @zh_CN 匹配区分大小写
87
87
  * @en_US Case-sensitive
@@ -228,4 +228,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImpor
228
228
  * @decorator component
229
229
  */
230
230
  export const XSelectPortalPrefix = 'x-select-portal';
231
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LnByb3BlcnR5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvc2VsZWN0L3NlbGVjdC5wcm9wZXJ0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLGdCQUFnQixFQUFFLGNBQWMsRUFBRSxTQUFTLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUMzRixPQUFPLEVBQUUsU0FBUyxFQUFlLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckUsT0FBTyxFQUFFLG9CQUFvQixFQUFlLE1BQU0sdUJBQXVCLENBQUM7O0FBYzFFOzs7O0dBSUc7QUFDSCxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsVUFBVSxDQUFDO0FBQ3hDLE1BQU0sb0JBQW9CLEdBQUcsUUFBUSxDQUFDO0FBRXRDOztHQUVHO0FBRUgsTUFBTSxPQUFPLGVBQWdCLFNBQVEsb0JBQW9CLENBQUMsb0JBQW9CLENBQUM7SUFEL0U7O1FBRUU7OztXQUdHO1FBQ00sU0FBSSxHQUFHLEtBQUssQ0FBeUMsRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFFLGNBQWMsRUFBRSxDQUFDLENBQUM7UUFDakc7OztXQUdHO1FBQ00sVUFBSyxHQUFHLEtBQUssQ0FBa0IsRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFLENBQUMsQ0FBQztRQUM3RTs7O1dBR0c7UUFDTSxjQUFTLEdBQUcsS0FBSyxDQUFvQixJQUFJLENBQUMsTUFBTSxFQUFFLFNBQVMsSUFBSSxJQUFJLEVBQUUsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLENBQUMsQ0FBQztRQUN6Rzs7O1dBR0c7UUFDTSxVQUFLLEdBQUcsS0FBSyxDQUFvQixLQUFLLEVBQUUsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLENBQUMsQ0FBQztRQUM1RTs7O1dBR0c7UUFDTSxjQUFTLEdBQUcsS0FBSyxDQUFhLElBQUksQ0FB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QUFFOztBQWtabEU7Ozs7R0FJRztBQUNILE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLGlCQUFpQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgWFRvQm9vbGVhbiwgWFRvQ3NzUGl4ZWxWYWx1ZSwgWFRvRGF0YUNvbnZlcnQsIFhUb051bWJlciB9IGZyb20gJ0BuZy1uZXN0L3VpL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIFRlbXBsYXRlUmVmLCBpbnB1dCwgbW9kZWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgWEZvcm1Db250cm9sRnVuY3Rpb24sIFhGb3JtT3B0aW9uIH0gZnJvbSAnQG5nLW5lc3QvdWkvYmFzZS1mb3JtJztcclxuaW1wb3J0IHR5cGUge1xyXG4gIFhQYXJlbnRJZGVudGl0eVByb3BlcnR5LFxyXG4gIFhEYXRhLFxyXG4gIFhCb29sZWFuLFxyXG4gIFhTaXplLFxyXG4gIFhOdW1iZXIsXHJcbiAgWFRlbXBsYXRlLFxyXG4gIFhQbGFjZW1lbnQsXHJcbiAgWERpcmVjdGlvbixcclxuICBYQWxpZ24sXHJcbiAgWEp1c3RpZnlcclxufSBmcm9tICdAbmctbmVzdC91aS9jb3JlJztcclxuXHJcbi8qKlxyXG4gKiBTZWxlY3RcclxuICogQHNlbGVjdG9yIHgtc2VsZWN0XHJcbiAqIEBkZWNvcmF0b3IgY29tcG9uZW50XHJcbiAqL1xyXG5leHBvcnQgY29uc3QgWFNlbGVjdFByZWZpeCA9ICd4LXNlbGVjdCc7XHJcbmNvbnN0IFhfU0VMRUNUX0NPTkZJR19OQU1FID0gJ3NlbGVjdCc7XHJcblxyXG4vKipcclxuICogU2VsZWN0IFByb3BlcnR5XHJcbiAqL1xyXG5AQ29tcG9uZW50KHsgc2VsZWN0b3I6IGAke1hTZWxlY3RQcmVmaXh9LXByb3BlcnR5YCwgdGVtcGxhdGU6ICcnIH0pXHJcbmV4cG9ydCBjbGFzcyBYU2VsZWN0UHJvcGVydHkgZXh0ZW5kcyBYRm9ybUNvbnRyb2xGdW5jdGlvbihYX1NFTEVDVF9DT05GSUdfTkFNRSkge1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDoioLngrnmlbDmja5cclxuICAgKiBAZW5fVVMgTm9kZSBkYXRhXHJcbiAgICovXHJcbiAgcmVhZG9ubHkgZGF0YSA9IGlucHV0PFhEYXRhPFhTZWxlY3ROb2RlPiwgWERhdGE8WFNlbGVjdE5vZGU+PihbXSwgeyB0cmFuc2Zvcm06IFhUb0RhdGFDb252ZXJ0IH0pO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlrr3luqZcclxuICAgKiBAZW5fVVMgd2lkdGhcclxuICAgKi9cclxuICByZWFkb25seSB3aWR0aCA9IGlucHV0PHN0cmluZywgWE51bWJlcj4oJycsIHsgdHJhbnNmb3JtOiBYVG9Dc3NQaXhlbFZhbHVlIH0pO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmuIXpmaTmjInpkq5cclxuICAgKiBAZW5fVVMgQ2xlYXIgYnV0dG9uXHJcbiAgICovXHJcbiAgcmVhZG9ubHkgY2xlYXJhYmxlID0gaW5wdXQ8Ym9vbGVhbiwgWEJvb2xlYW4+KHRoaXMuY29uZmlnPy5jbGVhcmFibGUgPz8gdHJ1ZSwgeyB0cmFuc2Zvcm06IFhUb0Jvb2xlYW4gfSk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOW8guatpeWKoOi9vVxyXG4gICAqIEBlbl9VUyBBc3luY2hyb25vdXMgbG9hZGluZ1xyXG4gICAqL1xyXG4gIHJlYWRvbmx5IGFzeW5jID0gaW5wdXQ8Ym9vbGVhbiwgWEJvb2xlYW4+KGZhbHNlLCB7IHRyYW5zZm9ybTogWFRvQm9vbGVhbiB9KTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5bGV56S65pa55L2NXHJcbiAgICogQGVuX1VTIERpc3BsYXkgcG9zaXRpb25cclxuICAgKi9cclxuICByZWFkb25seSBwbGFjZW1lbnQgPSBpbnB1dDxYUGxhY2VtZW50Pih0aGlzLmNvbmZpZz8ucGxhY2VtZW50ID8/ICdib3R0b20nKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5aSa6YCJ5Yqf6IO9XHJcbiAgICogQGVuX1VTIE11bHRpcGxlIGNob2ljZVxyXG4gICAqL1xyXG4gIHJlYWRvbmx5IG11bHRpcGxlID0gaW5wdXQ8Ym9vbGVhbiwgWEJvb2xlYW4+KGZhbHNlLCB7IHRyYW5zZm9ybTogWFRvQm9vbGVhbiB9KTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5aSa6YCJ5re75Yqg5YWo6YCJ5Yqf6IO9XHJcbiAgICogQGVuX1VTIE11bHRpIGNob2ljZSB0byBhZGQgZnVsbCBzZWxlY3Rpb24gZnVuY3Rpb25cclxuICAgKi9cclxuICByZWFkb25seSBzZWxlY3RBbGwgPSBpbnB1dDxib29sZWFuLCBYQm9vbGVhbj4oZmFsc2UsIHsgdHJhbnNmb3JtOiBYVG9Cb29sZWFuIH0pO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlhajpgInnmoTmloflrZdcclxuICAgKiBAZW5fVVMgU2VsZWN0ZWQgYWxsIHRleHRcclxuICAgKi9cclxuICByZWFkb25seSBzZWxlY3RBbGxUZXh0ID0gaW5wdXQ8c3RyaW5nPih0aGlzLmNvbmZpZz8uc2VsZWN0QWxsVGV4dCA/PyAnJyk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOiKgueCueaooeadv1xyXG4gICAqIEBlbl9VUyBOb2RlIHRlbXBsYXRlXHJcbiAgICovXHJcbiAgcmVhZG9ubHkgbm9kZVRwbCA9IGlucHV0PFRlbXBsYXRlUmVmPGFueT4+KCk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOaYvuekuui+ueahhlxyXG4gICAqIEBlbl9VUyBEaXNwbGF5IEJvcmRlclxyXG4gICAqL1xyXG4gIHJlYWRvbmx5IGJvcmRlcmVkID0gaW5wdXQ8Ym9vbGVhbiwgWEJvb2xlYW4+KHRoaXMuY29uZmlnPy5ib3JkZXJlZCA/PyB0cnVlLCB7IHRyYW5zZm9ybTogWFRvQm9vbGVhbiB9KTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5LiL5ouJ5qGG55qE5pyA5aSn6auY5bqmXHJcbiAgICogQGVuX1VTIFRoZSBiaWdnZXN0IGhlaWdodCBvZiB0aGUgZHJvcC1kb3duIGJveFxyXG4gICAqL1xyXG4gIHJlYWRvbmx5IHBvcnRhbE1heEhlaWdodCA9IGlucHV0PHN0cmluZywgWE51bWJlcj4odGhpcy5jb25maWc/LnBvcnRhbE1heEhlaWdodCA/PyAnMTJyZW0nLCB7XHJcbiAgICB0cmFuc2Zvcm06IFhUb0Nzc1BpeGVsVmFsdWVcclxuICB9KTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5LiL5ouJ5qGG55qE5a695bqmXHJcbiAgICogQGVuX1VTIFRoZSB3aWR0aCBvZiB0aGUgZHJvcC1kb3duIGJveFxyXG4gICAqL1xyXG4gIHJlYWRvbmx5IHBvcnRhbFdpZHRoID0gaW5wdXQ8c3RyaW5nLCBYTnVtYmVyPignJywgeyB0cmFuc2Zvcm06IFhUb0Nzc1BpeGVsVmFsdWUgfSk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOi+k+WFpeaQnOe0olxyXG4gICAqIEBlbl9VUyBJbnB1dCBzZWFyY2hcclxuICAgKi9cclxuICByZWFkb25seSBzZWFyY2ggPSBpbnB1dDxib29sZWFuLCBYQm9vbGVhbj4oZmFsc2UsIHsgdHJhbnNmb3JtOiBYVG9Cb29sZWFuIH0pO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDljLnphY3ljLrliIblpKflsI/lhplcclxuICAgKiBAZW5fVVMgQ2FzZS1zZW5zaXRpdmVcclxuICAgKi9cclxuICByZWFkb25seSBjYXNlU2Vuc2l0aXZlID0gaW5wdXQ8Ym9vbGVhbiwgWEJvb2xlYW4+KHRoaXMuY29uZmlnPy5jYXNlU2Vuc2l0aXZlID8/IHRydWUsIHsgdHJhbnNmb3JtOiBYVG9Cb29sZWFuIH0pO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDovpPlhaXlu7bov5/miafooYzml7bpl7TvvIxtc1xyXG4gICAqIEBlbl9VUyBFbnRlciBhIGRlbGF5IGV4ZWN1dGlvbiB0aW1lLCBtc1xyXG4gICAqL1xyXG4gIHJlYWRvbmx5IGRlYm91bmNlVGltZSA9IGlucHV0PG51bWJlciwgWE51bWJlcj4odGhpcy5jb25maWc/LmRlYm91bmNlVGltZSA/PyAyMDAsIHsgdHJhbnNmb3JtOiBYVG9OdW1iZXIgfSk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWkmumAieaXtuaYvuekuueahOmAieS4reaVsOaNruS4quaVsO+8jOWFtuWug+eahOWcqOabtOWkmuS4reaYvuekuu+8jOm7mOiupOWFqOmDqOaYvuekulxyXG4gICAqIEBlbl9VUyBEaXNwbGF5IHRoZSBudW1iZXIgb2YgZGF0YSBpbiB0aGUgbWF4aW11bSBlbGVjdGlvbiwgYW5kIHRoZSBvdGhlcnMgYXJlIGRpc3BsYXllZCBpbiBtb3JlIG9mIHRoZW1cclxuICAgKiBAZGVmYXVsdCDmmL7npLrmiYDmnIlcclxuICAgKi9cclxuICByZWFkb25seSBtYXhUYWdDb3VudCA9IGlucHV0PG51bWJlciwgWE51bWJlcj4odGhpcy5jb25maWc/Lm1heFRhZ0NvdW50ID8/IC0xLCB7IHRyYW5zZm9ybTogWFRvTnVtYmVyIH0pO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlpJrpgInml7bmmL7npLrnmoTkuKrmlbDotoXov4fmjIflrprkuKrmlbDvvIzmmL7npLrnmoTmloflrZfmqKHniYhcclxuICAgKiBAZW5fVVMgVGhlIG51bWJlciBkaXNwbGF5ZWQgd2hlbiBtdWx0aXBsZSBjaG9pY2VzIGV4Y2VlZHMgdGhlIHNwZWNpZmllZCBudW1iZXIsIHRoZSBkaXNwbGF5ZWQgdGV4dCB0ZW1wbGF0ZSBkaXNwbGF5ZWRcclxuICAgKiBAZGVmYXVsdCAn5pu05aSae3tzdXJwbHVzfX3kuKrpgInkuK0nXHJcbiAgICovXHJcbiAgcmVhZG9ubHkgbWF4VGFnQ29udGVudCA9IGlucHV0PFhUZW1wbGF0ZT4odGhpcy5jb25maWc/Lm1heFRhZ0NvbnRlbnQgPz8gJycpO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlvIDlkK/omZrmi5/mu5rliqhcclxuICAgKiBAZW5fVVMgVHVybiBvbiB2aXJ0dWFsIHNjcm9sbGluZ1xyXG4gICAqL1xyXG4gIHJlYWRvbmx5IHZpcnR1YWxTY3JvbGwgPSBpbnB1dDxib29sZWFuLCBYQm9vbGVhbj4odGhpcy5jb25maWc/LnZpcnR1YWxTY3JvbGwgPz8gZmFsc2UsIHsgdHJhbnNmb3JtOiBYVG9Cb29sZWFuIH0pO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmkJzntKLml7blhYHorrjpgInmi6novpPlhaXnmoTlgLxcclxuICAgKiBAZW5fVVMgQWxsb3cgdGhlIHZhbHVlIG9mIHRoZSBpbnB1dCB3aGVuIHNlYXJjaGluZyBmb3JcclxuICAgKi9cclxuICByZWFkb25seSBhbGxvd0lucHV0ID0gaW5wdXQ8Ym9vbGVhbiwgWEJvb2xlYW4+KGZhbHNlLCB7IHRyYW5zZm9ybTogWFRvQm9vbGVhbiB9KTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5bC65a+4XHJcbiAgICogQGVuX1VTIFNpemVcclxuICAgKi9cclxuICBvdmVycmlkZSByZWFkb25seSBzaXplID0gaW5wdXQ8WFNpemU+KHRoaXMuY29uZmlnPy5zaXplID8/ICdtZWRpdW0nKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g6L6T5YWl5qGG54K55Ye75qC35byPXHJcbiAgICogQGVuX1VTIElucHV0IHBvaW50ZXJcclxuICAgKi9cclxuICBvdmVycmlkZSByZWFkb25seSBwb2ludGVyID0gaW5wdXQ8Ym9vbGVhbiwgWEJvb2xlYW4+KGZhbHNlLCB7IHRyYW5zZm9ybTogWFRvQm9vbGVhbiB9KTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5qCH562+XHJcbiAgICogQGVuX1VTIExhYmVsXHJcbiAgICovXHJcbiAgb3ZlcnJpZGUgcmVhZG9ubHkgbGFiZWwgPSBpbnB1dDxzdHJpbmc+KCcnKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5qCH562+5a695bqmXHJcbiAgICogQGVuX1VTIExhYmVsIHdpZHRoXHJcbiAgICovXHJcbiAgb3ZlcnJpZGUgcmVhZG9ubHkgbGFiZWxXaWR0aCA9IGlucHV0PHN0cmluZywgWE51bWJlcj4oJycsIHsgdHJhbnNmb3JtOiBYVG9Dc3NQaXhlbFZhbHVlIH0pO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmoIfnrb7mloflrZflr7npvZDmlrnlvI9cclxuICAgKiBAZW5fVVMgTGFiZWwgdGV4dCBhbGlnbm1lbnQgbWV0aG9kXHJcbiAgICovXHJcbiAgb3ZlcnJpZGUgcmVhZG9ubHkgbGFiZWxBbGlnbiA9IGlucHV0PFhBbGlnbj4oJ3N0YXJ0Jyk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIGZsZXgg5biD5bGA5LiL55qE5a2Q5YWD57Sg5rC05bmz5o6S5YiX5pa55byPXHJcbiAgICogQGVuX1VTIFRoZSBsZXZlbCBvZiBzdWItZWxlbWVudCBsZXZlbCBhcnJhbmdlbWVudCB1bmRlciBmbGV4IGxheW91dFxyXG4gICAqL1xyXG4gIG92ZXJyaWRlIHJlYWRvbmx5IGp1c3RpZnkgPSBpbnB1dDxYSnVzdGlmeT4oJ3N0YXJ0Jyk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIGZsZXgg5biD5bGA5LiL55qE5a2Q5YWD57Sg5Z6C55u05o6S5YiX5pa55byPXHJcbiAgICogQGVuX1VTIHN1Yi1lbGVtZW50IHZlcnRpY2FsIGFycmFuZ2VtZW50IG1ldGhvZCB1bmRlciBmbGV4IGxheW91dFxyXG4gICAqL1xyXG4gIG92ZXJyaWRlIHJlYWRvbmx5IGFsaWduID0gaW5wdXQ8WEFsaWduPignc3RhcnQnKTtcclxuICAvKipcclxuICAgKiBAemhfQ04gZmxleCDluIPlsYDkuIvnmoTlrZDlhYPntKDmjpLliJfmlrnlkJFcclxuICAgKiBAZW5fVVMgVGhlIGRpcmVjdGlvbiBvZiB0aGUgc3ViLWVsZW1lbnQgYXJyYW5nZW1lbnQgdW5kZXIgZmxleCBsYXlvdXRcclxuICAgKi9cclxuICBvdmVycmlkZSByZWFkb25seSBkaXJlY3Rpb24gPSBpbnB1dDxYRGlyZWN0aW9uPignY29sdW1uJyk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOi+k+WFpeaPkOekuuS/oeaBr1xyXG4gICAqIEBlbl9VUyBFbnRlciBwcm9tcHQgaW5mb3JtYXRpb25cclxuICAgKi9cclxuICBvdmVycmlkZSByZWFkb25seSBwbGFjZWhvbGRlciA9IGlucHV0PHN0cmluZyB8IHN0cmluZ1tdPignJyk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOemgeeUqFxyXG4gICAqIEBlbl9VUyBEaXNhYmxlZFxyXG4gICAqL1xyXG4gIG92ZXJyaWRlIHJlYWRvbmx5IGRpc2FibGVkID0gaW5wdXQ8Ym9vbGVhbiwgWEJvb2xlYW4+KGZhbHNlLCB7IHRyYW5zZm9ybTogWFRvQm9vbGVhbiB9KTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5b+F5aGrXHJcbiAgICogQGVuX1VTIFJlcXVpcmVkXHJcbiAgICovXHJcbiAgb3ZlcnJpZGUgcmVhZG9ubHkgcmVxdWlyZWQgPSBpbnB1dDxib29sZWFuLCBYQm9vbGVhbj4oZmFsc2UsIHsgdHJhbnNmb3JtOiBYVG9Cb29sZWFuIH0pO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlj6ror7tcclxuICAgKiBAZW5fVVMgUmVhZG9ubHlcclxuICAgKi9cclxuICBvdmVycmlkZSByZWFkb25seSByZWFkb25seSA9IGlucHV0PGJvb2xlYW4sIFhCb29sZWFuPihmYWxzZSwgeyB0cmFuc2Zvcm06IFhUb0Jvb2xlYW4gfSk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWAvOaooeadv1xyXG4gICAqIEBlbl9VUyBOb2RlIHRlbXBsYXRlXHJcbiAgICovXHJcbiAgb3ZlcnJpZGUgcmVhZG9ubHkgdmFsdWVUcGwgPSBpbnB1dDxUZW1wbGF0ZVJlZjxhbnk+PigpO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlgLzmqKHmnb/lj4LmlbBcclxuICAgKiBAZW5fVVMgTm9kZSB0ZW1wbGF0ZVxyXG4gICAqL1xyXG4gIG92ZXJyaWRlIHJlYWRvbmx5IHZhbHVlVHBsQ29udGV4dCA9IGlucHV0KCk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWJjee9ruagh+etvlxyXG4gICAqIEBlbl9VUyBCZWZvcmUgbGFiZWxcclxuICAgKi9cclxuICBvdmVycmlkZSByZWFkb25seSBiZWZvcmUgPSBpbnB1dDxYVGVtcGxhdGU+KCk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWQjue9ruagh+etvlxyXG4gICAqIEBlbl9VUyBBZnRlciBsYWJlbFxyXG4gICAqL1xyXG4gIG92ZXJyaWRlIHJlYWRvbmx5IGFmdGVyID0gaW5wdXQ8WFRlbXBsYXRlPigpO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmraPliJnpqozor4Hop4TliJlcclxuICAgKiBAZW5fVVMgUmVndWxhciB2ZXJpZmljYXRpb24gcnVsZXNcclxuICAgKi9cclxuICBvdmVycmlkZSByZWFkb25seSBwYXR0ZXJuID0gaW5wdXQ8UmVnRXhwIHwgUmVnRXhwW10gfCBhbnk+KG51bGwpO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDpqozor4HkuI3pgJrov4fmj5DnpLrmloflrZdcclxuICAgKiBAZW5fVVMgVmVyaWZ5IG5vdCBwYXNzIHRoZSBwcm9tcHQgdGV4dFxyXG4gICAqL1xyXG4gIG92ZXJyaWRlIHJlYWRvbmx5IG1lc3NhZ2UgPSBpbnB1dDxzdHJpbmcgfCBzdHJpbmdbXT4oW10pO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmv4DmtLvnirbmgIFcclxuICAgKiBAZW5fVVMgQWN0aXZhdGlvbiBzdGF0ZVxyXG4gICAqL1xyXG4gIG92ZXJyaWRlIHJlYWRvbmx5IGFjdGl2ZSA9IG1vZGVsPGJvb2xlYW4+KGZhbHNlKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g6L6T5YWl6aqM6K+B5Ye95pWwXHJcbiAgICogQGVuX1VTIEVudGVyIHRoZSB2ZXJpZmljYXRpb24gZnVuY3Rpb25cclxuICAgKi9cclxuICBvdmVycmlkZSByZWFkb25seSBpbnB1dFZhbGlkYXRvciA9IGlucHV0PCh2YWx1ZTogYW55KSA9PiBib29sZWFuPigpO1xyXG59XHJcblxyXG4vKipcclxuICogU2VsZWN0IE9wdGlvblxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBYU2VsZWN0T3B0aW9uIGV4dGVuZHMgWEZvcm1PcHRpb24ge1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDoioLngrnmlbDmja5cclxuICAgKiBAZW5fVVMgTm9kZSBkYXRhXHJcbiAgICovXHJcbiAgZGF0YT86IFhEYXRhPFhTZWxlY3ROb2RlPjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5riF6Zmk5oyJ6ZKuXHJcbiAgICogQGVuX1VTIENsZWFyIGJ1dHRvblxyXG4gICAqL1xyXG4gIGNsZWFyYWJsZT86IGJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOW8guatpeWKoOi9vVxyXG4gICAqIEBlbl9VUyBBc3luY2hyb25vdXMgbG9hZGluZ1xyXG4gICAqL1xyXG4gIGFzeW5jPzogYm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5bGV56S65pa55L2NXHJcbiAgICogQGVuX1VTIERpc3BsYXkgcG9zaXRpb25cclxuICAgKi9cclxuICBwbGFjZW1lbnQ/OiBYUGxhY2VtZW50O1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlpJrpgInlip/og71cclxuICAgKiBAZW5fVVMgTXVsdGlwbGUgY2hvaWNlXHJcbiAgICovXHJcbiAgbXVsdGlwbGU/OiBib29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlpJrpgInmt7vliqDlhajpgInlip/og71cclxuICAgKiBAZW5fVVMgTXVsdGkgY2hvaWNlIHRvIGFkZCBmdWxsIHNlbGVjdGlvbiBmdW5jdGlvblxyXG4gICAqL1xyXG4gIHNlbGVjdEFsbD86IGJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWFqOmAieeahOaWh+Wtl1xyXG4gICAqIEBlbl9VUyBTZWxlY3RlZCBhbGwgdGV4dFxyXG4gICAqL1xyXG4gIHNlbGVjdEFsbFRleHQ/OiBzdHJpbmc7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOiKgueCueaooeadv1xyXG4gICAqIEBlbl9VUyBOb2RlIHRlbXBsYXRlXHJcbiAgICovXHJcbiAgbm9kZVRwbD86IFRlbXBsYXRlUmVmPGFueT47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOaYvuekuui+ueahhlxyXG4gICAqIEBlbl9VUyBEaXNwbGF5IEJvcmRlclxyXG4gICAqL1xyXG4gIGJvcmRlcmVkPzogYm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5LiL5ouJ5qGG55qE5pyA5aSn6auY5bqmXHJcbiAgICogQGVuX1VTIFRoZSBiaWdnZXN0IGhlaWdodCBvZiB0aGUgZHJvcC1kb3duIGJveFxyXG4gICAqL1xyXG4gIHBvcnRhbE1heEhlaWdodD86IHN0cmluZztcclxuICAvKipcclxuICAgKiBAemhfQ04g5LiL5ouJ5qGG55qE5a695bqmXHJcbiAgICogQGVuX1VTIFRoZSB3aWR0aCBvZiB0aGUgZHJvcC1kb3duIGJveFxyXG4gICAqL1xyXG4gIHBvcnRhbFdpZHRoPzogc3RyaW5nO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDovpPlhaXmkJzntKJcclxuICAgKiBAZW5fVVMgSW5wdXQgc2VhcmNoXHJcbiAgICovXHJcbiAgc2VhcmNoPzogYm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5Yy56YWN5Yy65YiG5aSn5bCP5YaZXHJcbiAgICogQGVuX1VTIENhc2Utc2Vuc2l0aXZlXHJcbiAgICovXHJcbiAgY2FzZVNlbnNpdGl2ZT86IGJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOi+k+WFpeW7tui/n+aJp+ihjOaXtumXtO+8jG1zXHJcbiAgICogQGVuX1VTIEVudGVyIGEgZGVsYXkgZXhlY3V0aW9uIHRpbWUsIG1zXHJcbiAgICovXHJcbiAgZGVib3VuY2VUaW1lPzogbnVtYmVyO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlpJrpgInml7bmmL7npLrnmoTpgInkuK3mlbDmja7kuKrmlbDvvIzlhbblroPnmoTlnKjmm7TlpJrkuK3mmL7npLrvvIzpu5jorqTlhajpg6jmmL7npLpcclxuICAgKiBAZW5fVVMgRGlzcGxheSB0aGUgbnVtYmVyIG9mIGRhdGEgaW4gdGhlIG1heGltdW0gZWxlY3Rpb24sIGFuZCB0aGUgb3RoZXJzIGFyZSBkaXNwbGF5ZWQgaW4gbW9yZSBvZiB0aGVtXHJcbiAgICogQGRlZmF1bHQg5pi+56S65omA5pyJXHJcbiAgICovXHJcbiAgbWF4VGFnQ291bnQ/OiBudW1iZXI7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWkmumAieaXtuaYvuekuueahOS4quaVsOi2hei/h+aMh+WumuS4quaVsO+8jOaYvuekuueahOaWh+Wtl+aooeeJiFxyXG4gICAqIEBlbl9VUyBUaGUgbnVtYmVyIGRpc3BsYXllZCB3aGVuIG11bHRpcGxlIGNob2ljZXMgZXhjZWVkcyB0aGUgc3BlY2lmaWVkIG51bWJlciwgdGhlIGRpc3BsYXllZCB0ZXh0IHRlbXBsYXRlIGRpc3BsYXllZFxyXG4gICAqIEBkZWZhdWx0ICfmm7TlpJp7e3N1cnBsdXN9feS4qumAieS4rSdcclxuICAgKi9cclxuICBtYXhUYWdDb250ZW50PzogWFRlbXBsYXRlO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlvIDlkK/omZrmi5/mu5rliqhcclxuICAgKiBAZW5fVVMgVHVybiBvbiB2aXJ0dWFsIHNjcm9sbGluZ1xyXG4gICAqL1xyXG4gIHZpcnR1YWxTY3JvbGw/OiBib29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlsLrlr7hcclxuICAgKiBAZW5fVVMgU2l6ZVxyXG4gICAqL1xyXG4gIHNpemU/OiBYU2l6ZTtcclxuICAvKipcclxuICAgKiBAemhfQ04g6L6T5YWl5qGG54K55Ye75qC35byPXHJcbiAgICogQGVuX1VTIElucHV0IHBvaW50ZXJcclxuICAgKi9cclxuICBwb2ludGVyPzogYm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5qCH562+XHJcbiAgICogQGVuX1VTIExhYmVsXHJcbiAgICovXHJcbiAgbGFiZWw/OiBzdHJpbmc7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOagh+etvuWuveW6plxyXG4gICAqIEBlbl9VUyBMYWJlbCB3aWR0aFxyXG4gICAqL1xyXG4gIGxhYmVsV2lkdGg/OiBzdHJpbmc7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOagh+etvuaWh+Wtl+Wvuem9kOaWueW8j1xyXG4gICAqIEBlbl9VUyBMYWJlbCB0ZXh0IGFsaWdubWVudCBtZXRob2RcclxuICAgKi9cclxuICBsYWJlbEFsaWduPzogWEFsaWduO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiBmbGV4IOW4g+WxgOS4i+eahOWtkOWFg+e0oOawtOW5s+aOkuWIl+aWueW8j1xyXG4gICAqIEBlbl9VUyBUaGUgbGV2ZWwgb2Ygc3ViLWVsZW1lbnQgbGV2ZWwgYXJyYW5nZW1lbnQgdW5kZXIgZmxleCBsYXlvdXRcclxuICAgKi9cclxuICBqdXN0aWZ5PzogWEp1c3RpZnk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIGZsZXgg5biD5bGA5LiL55qE5a2Q5YWD57Sg5Z6C55u05o6S5YiX5pa55byPXHJcbiAgICogQGVuX1VTIHN1Yi1lbGVtZW50IHZlcnRpY2FsIGFycmFuZ2VtZW50IG1ldGhvZCB1bmRlciBmbGV4IGxheW91dFxyXG4gICAqL1xyXG4gIGFsaWduPzogWEFsaWduO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiBmbGV4IOW4g+WxgOS4i+eahOWtkOWFg+e0oOaOkuWIl+aWueWQkVxyXG4gICAqIEBlbl9VUyBUaGUgZGlyZWN0aW9uIG9mIHRoZSBzdWItZWxlbWVudCBhcnJhbmdlbWVudCB1bmRlciBmbGV4IGxheW91dFxyXG4gICAqL1xyXG4gIGRpcmVjdGlvbj86IFhEaXJlY3Rpb247XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOi+k+WFpeaPkOekuuS/oeaBr1xyXG4gICAqIEBlbl9VUyBFbnRlciBwcm9tcHQgaW5mb3JtYXRpb25cclxuICAgKi9cclxuICBwbGFjZWhvbGRlcj86IHN0cmluZztcclxuICAvKipcclxuICAgKiBAemhfQ04g56aB55SoXHJcbiAgICogQGVuX1VTIERpc2FibGVkXHJcbiAgICovXHJcbiAgZGlzYWJsZWQ/OiBib29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlv4XloatcclxuICAgKiBAZW5fVVMgUmVxdWlyZWRcclxuICAgKi9cclxuICByZXF1aXJlZD86IGJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWPquivu1xyXG4gICAqIEBlbl9VUyBSZWFkb25seVxyXG4gICAqL1xyXG4gIHJlYWRvbmx5PzogYm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5YC85qih5p2/XHJcbiAgICogQGVuX1VTIE5vZGUgdGVtcGxhdGVcclxuICAgKi9cclxuICB2YWx1ZVRwbD86IFRlbXBsYXRlUmVmPGFueT47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWAvOaooeadv+WPguaVsFxyXG4gICAqIEBlbl9VUyBOb2RlIHRlbXBsYXRlXHJcbiAgICovXHJcbiAgdmFsdWVUcGxDb250ZXh0PzogYW55O1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDliY3nva7moIfnrb5cclxuICAgKiBAZW5fVVMgQmVmb3JlIGxhYmVsXHJcbiAgICovXHJcbiAgYmVmb3JlPzogWFRlbXBsYXRlO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlkI7nva7moIfnrb5cclxuICAgKiBAZW5fVVMgQWZ0ZXIgbGFiZWxcclxuICAgKi9cclxuICBhZnRlcj86IFhUZW1wbGF0ZTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5q2j5YiZ6aqM6K+B6KeE5YiZXHJcbiAgICogQGVuX1VTIFJlZ3VsYXIgdmVyaWZpY2F0aW9uIHJ1bGVzXHJcbiAgICovXHJcbiAgcGF0dGVybj86IFJlZ0V4cCB8IFJlZ0V4cFtdO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDpqozor4HkuI3pgJrov4fmj5DnpLrmloflrZdcclxuICAgKiBAZW5fVVMgVmVyaWZ5IG5vdCBwYXNzIHRoZSBwcm9tcHQgdGV4dFxyXG4gICAqL1xyXG4gIG1lc3NhZ2U/OiBzdHJpbmcgfCBzdHJpbmdbXTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5r+A5rS754q25oCBXHJcbiAgICogQGVuX1VTIEFjdGl2YXRpb24gc3RhdGVcclxuICAgKi9cclxuICBhY3RpdmU/OiBib29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDovpPlhaXpqozor4Hlh73mlbBcclxuICAgKiBAZW5fVVMgRW50ZXIgdGhlIHZlcmlmaWNhdGlvbiBmdW5jdGlvblxyXG4gICAqL1xyXG4gIGlucHV0VmFsaWRhdG9yPzogKHZhbHVlOiBhbnkpID0+IGJvb2xlYW47XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBAemhfQ04gU2VsZWN0IOaVsOaNruWvueixoVxyXG4gKiBAZW5fVVMgU2VsZWN0IGRhdGEgb2JqZWN0XHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIFhTZWxlY3ROb2RlIGV4dGVuZHMgWFBhcmVudElkZW50aXR5UHJvcGVydHk8WFNlbGVjdE5vZGU+IHt9XHJcblxyXG4vKipcclxuICogU2VsZWN0IFBvcnRhbFxyXG4gKiBAc2VsZWN0b3IgeC1zZWxlY3QtcG9ydGFsXHJcbiAqIEBkZWNvcmF0b3IgY29tcG9uZW50XHJcbiAqL1xyXG5leHBvcnQgY29uc3QgWFNlbGVjdFBvcnRhbFByZWZpeCA9ICd4LXNlbGVjdC1wb3J0YWwnO1xyXG4iXX0=
231
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LnByb3BlcnR5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvc2VsZWN0L3NlbGVjdC5wcm9wZXJ0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLGdCQUFnQixFQUFFLGNBQWMsRUFBRSxTQUFTLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUMzRixPQUFPLEVBQUUsU0FBUyxFQUFlLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckUsT0FBTyxFQUFFLG9CQUFvQixFQUFlLE1BQU0sdUJBQXVCLENBQUM7O0FBYzFFOzs7O0dBSUc7QUFDSCxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsVUFBVSxDQUFDO0FBQ3hDLE1BQU0sb0JBQW9CLEdBQUcsUUFBUSxDQUFDO0FBRXRDOztHQUVHO0FBRUgsTUFBTSxPQUFPLGVBQWdCLFNBQVEsb0JBQW9CLENBQUMsb0JBQW9CLENBQUM7SUFEL0U7O1FBRUU7OztXQUdHO1FBQ00sU0FBSSxHQUFHLEtBQUssQ0FBeUMsRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFFLGNBQWMsRUFBRSxDQUFDLENBQUM7UUFDakc7OztXQUdHO1FBQ00sVUFBSyxHQUFHLEtBQUssQ0FBa0IsRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFLENBQUMsQ0FBQztRQUM3RTs7O1dBR0c7UUFDTSxjQUFTLEdBQUcsS0FBSyxDQUFvQixJQUFJLENBQUMsTUFBTSxFQUFFLFNBQVMsSUFBSSxJQUFJLEVBQUUsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLENBQUMsQ0FBQztRQUN6Rzs7O1dBR0c7UUFDTSxVQUFLLEdBQUcsS0FBSyxDQUFvQixLQUFLLEVBQUUsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLENBQUMsQ0FBQztRQUM1RTs7O1dBR0c7UUFDTSxjQUFTLEdBQUcsS0FBSyxDQUFhLElBQUksQ0FBQyxNQUFNLEVBQUUsU0FBUyxJQUFJLFFBQVEsQ0FBQyxDQUFDO1FBQzNFOzs7V0FHRztRQUNNLGFBQVEsR0FBRyxLQUFLLENBQW9CLEtBQUssRUFBRSxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFDO1FBQy9FOzs7V0FHRztRQUNNLGNBQVMsR0FBRyxLQUFLLENBQW9CLEtBQUssRUFBRSxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFDO1FBQ2hGOzs7V0FHRztRQUNNLGtCQUFhLEdBQUcsS0FBSyxDQUFTLElBQUksQ0FBQyxNQUFNLEVBQUUsYUFBYSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ3pFOzs7V0FHRztRQUNNLFlBQU8sR0FBRyxLQUFLLEVBQW9CLENBQUM7UUFDN0M7OztXQUdHO1FBQ00sYUFBUSxHQUFHLEtBQUssQ0FBb0IsSUFBSSxDQUFDLE1BQU0sRUFBRSxRQUFRLElBQUksSUFBSSxFQUFFLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUM7UUFDdkc7OztXQUdHO1FBQ00sb0JBQWUsR0FBRyxLQUFLLENBQWtCLElBQUksQ0FBQyxNQUFNLEVBQUUsZUFBZSxJQUFJLE9BQU8sRUFBRTtZQUN6RixTQUFTLEVBQUUsZ0JBQWdCO1NBQzVCLENBQUMsQ0FBQztRQUNIOzs7V0FHRztRQUNNLGdCQUFXLEdBQUcsS0FBSyxDQUFrQixFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDO1FBQ25GOzs7V0FHRztRQUNNLFdBQU0sR0FBRyxLQUFLLENBQW9CLElBQUksQ0FBQyxNQUFNLEVBQUUsTUFBTSxJQUFJLEtBQUssRUFBRSxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFDO1FBQ3BHOzs7V0FHRztRQUNNLGtCQUFhLEdBQUcsS0FBSyxDQUFvQixJQUFJLENBQUMsTUFBTSxFQUFFLGFBQWEsSUFBSSxJQUFJLEVBQUUsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLENBQUMsQ0FBQztRQUNqSDs7O1dBR0c7UUFDTSxpQkFBWSxHQUFHLEtBQUssQ0FBa0IsSUFBSSxDQUFDLE1BQU0sRUFBRSxZQUFZLElBQUksR0FBRyxFQUFFLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUM7UUFDM0c7Ozs7V0FJRztRQUNNLGdCQUFXLEdBQUcsS0FBSyxDQUFrQixJQUFJLENBQUMsTUFBTSxFQUFFLFdBQVcsSUFBSSxDQUFDLENBQUMsRUFBRSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDO1FBQ3hHOzs7O1dBSUc7UUFDTSxrQkFBYSxHQUFHLEtBQUssQ0FBWSxJQUFJLENBQUMsTUFBTSxFQUFFLGFBQWEsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUM1RTs7O1dBR0c7UUFDTSxrQkFBYSxHQUFHLEtBQUssQ0FBb0IsSUFBSSxDQUFDLE1BQU0sRUFBRSxhQUFhLElBQUksS0FBSyxFQUFFLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUM7UUFDbEg7OztXQUdHO1FBQ00sZUFBVSxHQUFHLEtBQUssQ0FBb0IsS0FBSyxFQUFFLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUM7UUFDakY7OztXQUdHO1FBQ2UsU0FBSSxHQUFHLEtBQUssQ0FBUSxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksSUFBSSxRQUFRLENBQUMsQ0FBQztRQUNyRTs7O1dBR0c7UUFDZSxZQUFPLEdBQUcsS0FBSyxDQUFvQixLQUFLLEVBQUUsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLENBQUMsQ0FBQztRQUN2Rjs7O1dBR0c7UUFDZSxVQUFLLEdBQUcsS0FBSyxDQUFTLEVBQUUsQ0FBQyxDQUFDO1FBQzVDOzs7V0FHRztRQUNlLGVBQVUsR0FBRyxLQUFLLENBQWtCLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSxDQUFDLENBQUM7UUFDM0Y7OztXQUdHO1FBQ2UsZUFBVSxHQUFHLEtBQUssQ0FBUyxPQUFPLENBQUMsQ0FBQztRQUN0RDs7O1dBR0c7UUFDZSxZQUFPLEdBQUcsS0FBSyxDQUFXLE9BQU8sQ0FBQyxDQUFDO1FBQ3JEOzs7V0FHRztRQUNlLFVBQUssR0FBRyxLQUFLLENBQVMsT0FBTyxDQUFDLENBQUM7UUFDakQ7OztXQUdHO1FBQ2UsY0FBUyxHQUFHLEtBQUssQ0FBYSxRQUFRLENBQUMsQ0FBQztRQUMxRDs7O1dBR0c7UUFDZSxnQkFBVyxHQUFHLEtBQUssQ0FBb0IsRUFBRSxDQUFDLENBQUM7UUFDN0Q7OztXQUdHO1FBQ2UsYUFBUSxHQUFHLEtBQUssQ0FBb0IsS0FBSyxFQUFFLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUM7UUFDeEY7OztXQUdHO1FBQ2UsYUFBUSxHQUFHLEtBQUssQ0FBb0IsS0FBSyxFQUFFLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUM7UUFDeEY7OztXQUdHO1FBQ2UsYUFBUSxHQUFHLEtBQUssQ0FBb0IsS0FBSyxFQUFFLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUM7UUFDeEY7OztXQUdHO1FBQ2UsYUFBUSxHQUFHLEtBQUssRUFBb0IsQ0FBQztRQUN2RDs7O1dBR0c7UUFDZSxvQkFBZSxHQUFHLEtBQUssRUFBRSxDQUFDO1FBQzVDOzs7V0FHRztRQUNlLFdBQU0sR0FBRyxLQUFLLEVBQWEsQ0FBQztRQUM5Qzs7O1dBR0c7UUFDZSxVQUFLLEdBQUcsS0FBSyxFQUFhLENBQUM7UUFDN0M7OztXQUdHO1FBQ2UsWUFBTyxHQUFHLEtBQUssQ0FBMEIsSUFBSSxDQUFDLENBQUM7UUFDakU7OztXQUdHO1FBQ2UsWUFBTyxHQUFHLEtBQUssQ0FBb0IsRUFBRSxDQUFDLENBQUM7UUFDekQ7OztXQUdHO1FBQ2UsV0FBTSxHQUFHLEtBQUssQ0FBVSxLQUFLLENBQUMsQ0FBQztRQUNqRDs7O1dBR0c7UUFDZSxtQkFBYyxHQUFHLEtBQUssRUFBMkIsQ0FBQztLQUNyRTtpSUF4TVksZUFBZTtxSEFBZixlQUFlLCtuS0FEa0MsRUFBRTs7MkZBQ25ELGVBQWU7a0JBRDNCLFNBQVM7bUJBQUMsRUFBRSxRQUFRLEVBQUUsR0FBRyxhQUFhLFdBQVcsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFOztBQWtabEU7Ozs7R0FJRztBQUNILE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLGlCQUFpQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgWFRvQm9vbGVhbiwgWFRvQ3NzUGl4ZWxWYWx1ZSwgWFRvRGF0YUNvbnZlcnQsIFhUb051bWJlciB9IGZyb20gJ0BuZy1uZXN0L3VpL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIFRlbXBsYXRlUmVmLCBpbnB1dCwgbW9kZWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgWEZvcm1Db250cm9sRnVuY3Rpb24sIFhGb3JtT3B0aW9uIH0gZnJvbSAnQG5nLW5lc3QvdWkvYmFzZS1mb3JtJztcclxuaW1wb3J0IHR5cGUge1xyXG4gIFhQYXJlbnRJZGVudGl0eVByb3BlcnR5LFxyXG4gIFhEYXRhLFxyXG4gIFhCb29sZWFuLFxyXG4gIFhTaXplLFxyXG4gIFhOdW1iZXIsXHJcbiAgWFRlbXBsYXRlLFxyXG4gIFhQbGFjZW1lbnQsXHJcbiAgWERpcmVjdGlvbixcclxuICBYQWxpZ24sXHJcbiAgWEp1c3RpZnlcclxufSBmcm9tICdAbmctbmVzdC91aS9jb3JlJztcclxuXHJcbi8qKlxyXG4gKiBTZWxlY3RcclxuICogQHNlbGVjdG9yIHgtc2VsZWN0XHJcbiAqIEBkZWNvcmF0b3IgY29tcG9uZW50XHJcbiAqL1xyXG5leHBvcnQgY29uc3QgWFNlbGVjdFByZWZpeCA9ICd4LXNlbGVjdCc7XHJcbmNvbnN0IFhfU0VMRUNUX0NPTkZJR19OQU1FID0gJ3NlbGVjdCc7XHJcblxyXG4vKipcclxuICogU2VsZWN0IFByb3BlcnR5XHJcbiAqL1xyXG5AQ29tcG9uZW50KHsgc2VsZWN0b3I6IGAke1hTZWxlY3RQcmVmaXh9LXByb3BlcnR5YCwgdGVtcGxhdGU6ICcnIH0pXHJcbmV4cG9ydCBjbGFzcyBYU2VsZWN0UHJvcGVydHkgZXh0ZW5kcyBYRm9ybUNvbnRyb2xGdW5jdGlvbihYX1NFTEVDVF9DT05GSUdfTkFNRSkge1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDoioLngrnmlbDmja5cclxuICAgKiBAZW5fVVMgTm9kZSBkYXRhXHJcbiAgICovXHJcbiAgcmVhZG9ubHkgZGF0YSA9IGlucHV0PFhEYXRhPFhTZWxlY3ROb2RlPiwgWERhdGE8WFNlbGVjdE5vZGU+PihbXSwgeyB0cmFuc2Zvcm06IFhUb0RhdGFDb252ZXJ0IH0pO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlrr3luqZcclxuICAgKiBAZW5fVVMgd2lkdGhcclxuICAgKi9cclxuICByZWFkb25seSB3aWR0aCA9IGlucHV0PHN0cmluZywgWE51bWJlcj4oJycsIHsgdHJhbnNmb3JtOiBYVG9Dc3NQaXhlbFZhbHVlIH0pO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmuIXpmaTmjInpkq5cclxuICAgKiBAZW5fVVMgQ2xlYXIgYnV0dG9uXHJcbiAgICovXHJcbiAgcmVhZG9ubHkgY2xlYXJhYmxlID0gaW5wdXQ8Ym9vbGVhbiwgWEJvb2xlYW4+KHRoaXMuY29uZmlnPy5jbGVhcmFibGUgPz8gdHJ1ZSwgeyB0cmFuc2Zvcm06IFhUb0Jvb2xlYW4gfSk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOW8guatpeWKoOi9vVxyXG4gICAqIEBlbl9VUyBBc3luY2hyb25vdXMgbG9hZGluZ1xyXG4gICAqL1xyXG4gIHJlYWRvbmx5IGFzeW5jID0gaW5wdXQ8Ym9vbGVhbiwgWEJvb2xlYW4+KGZhbHNlLCB7IHRyYW5zZm9ybTogWFRvQm9vbGVhbiB9KTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5bGV56S65pa55L2NXHJcbiAgICogQGVuX1VTIERpc3BsYXkgcG9zaXRpb25cclxuICAgKi9cclxuICByZWFkb25seSBwbGFjZW1lbnQgPSBpbnB1dDxYUGxhY2VtZW50Pih0aGlzLmNvbmZpZz8ucGxhY2VtZW50ID8/ICdib3R0b20nKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5aSa6YCJ5Yqf6IO9XHJcbiAgICogQGVuX1VTIE11bHRpcGxlIGNob2ljZVxyXG4gICAqL1xyXG4gIHJlYWRvbmx5IG11bHRpcGxlID0gaW5wdXQ8Ym9vbGVhbiwgWEJvb2xlYW4+KGZhbHNlLCB7IHRyYW5zZm9ybTogWFRvQm9vbGVhbiB9KTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5aSa6YCJ5re75Yqg5YWo6YCJ5Yqf6IO9XHJcbiAgICogQGVuX1VTIE11bHRpIGNob2ljZSB0byBhZGQgZnVsbCBzZWxlY3Rpb24gZnVuY3Rpb25cclxuICAgKi9cclxuICByZWFkb25seSBzZWxlY3RBbGwgPSBpbnB1dDxib29sZWFuLCBYQm9vbGVhbj4oZmFsc2UsIHsgdHJhbnNmb3JtOiBYVG9Cb29sZWFuIH0pO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlhajpgInnmoTmloflrZdcclxuICAgKiBAZW5fVVMgU2VsZWN0ZWQgYWxsIHRleHRcclxuICAgKi9cclxuICByZWFkb25seSBzZWxlY3RBbGxUZXh0ID0gaW5wdXQ8c3RyaW5nPih0aGlzLmNvbmZpZz8uc2VsZWN0QWxsVGV4dCA/PyAnJyk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOiKgueCueaooeadv1xyXG4gICAqIEBlbl9VUyBOb2RlIHRlbXBsYXRlXHJcbiAgICovXHJcbiAgcmVhZG9ubHkgbm9kZVRwbCA9IGlucHV0PFRlbXBsYXRlUmVmPGFueT4+KCk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOaYvuekuui+ueahhlxyXG4gICAqIEBlbl9VUyBEaXNwbGF5IEJvcmRlclxyXG4gICAqL1xyXG4gIHJlYWRvbmx5IGJvcmRlcmVkID0gaW5wdXQ8Ym9vbGVhbiwgWEJvb2xlYW4+KHRoaXMuY29uZmlnPy5ib3JkZXJlZCA/PyB0cnVlLCB7IHRyYW5zZm9ybTogWFRvQm9vbGVhbiB9KTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5LiL5ouJ5qGG55qE5pyA5aSn6auY5bqmXHJcbiAgICogQGVuX1VTIFRoZSBiaWdnZXN0IGhlaWdodCBvZiB0aGUgZHJvcC1kb3duIGJveFxyXG4gICAqL1xyXG4gIHJlYWRvbmx5IHBvcnRhbE1heEhlaWdodCA9IGlucHV0PHN0cmluZywgWE51bWJlcj4odGhpcy5jb25maWc/LnBvcnRhbE1heEhlaWdodCA/PyAnMTJyZW0nLCB7XHJcbiAgICB0cmFuc2Zvcm06IFhUb0Nzc1BpeGVsVmFsdWVcclxuICB9KTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5LiL5ouJ5qGG55qE5a695bqmXHJcbiAgICogQGVuX1VTIFRoZSB3aWR0aCBvZiB0aGUgZHJvcC1kb3duIGJveFxyXG4gICAqL1xyXG4gIHJlYWRvbmx5IHBvcnRhbFdpZHRoID0gaW5wdXQ8c3RyaW5nLCBYTnVtYmVyPignJywgeyB0cmFuc2Zvcm06IFhUb0Nzc1BpeGVsVmFsdWUgfSk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOi+k+WFpeaQnOe0olxyXG4gICAqIEBlbl9VUyBJbnB1dCBzZWFyY2hcclxuICAgKi9cclxuICByZWFkb25seSBzZWFyY2ggPSBpbnB1dDxib29sZWFuLCBYQm9vbGVhbj4odGhpcy5jb25maWc/LnNlYXJjaCA/PyBmYWxzZSwgeyB0cmFuc2Zvcm06IFhUb0Jvb2xlYW4gfSk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWMuemFjeWMuuWIhuWkp+Wwj+WGmVxyXG4gICAqIEBlbl9VUyBDYXNlLXNlbnNpdGl2ZVxyXG4gICAqL1xyXG4gIHJlYWRvbmx5IGNhc2VTZW5zaXRpdmUgPSBpbnB1dDxib29sZWFuLCBYQm9vbGVhbj4odGhpcy5jb25maWc/LmNhc2VTZW5zaXRpdmUgPz8gdHJ1ZSwgeyB0cmFuc2Zvcm06IFhUb0Jvb2xlYW4gfSk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOi+k+WFpeW7tui/n+aJp+ihjOaXtumXtO+8jG1zXHJcbiAgICogQGVuX1VTIEVudGVyIGEgZGVsYXkgZXhlY3V0aW9uIHRpbWUsIG1zXHJcbiAgICovXHJcbiAgcmVhZG9ubHkgZGVib3VuY2VUaW1lID0gaW5wdXQ8bnVtYmVyLCBYTnVtYmVyPih0aGlzLmNvbmZpZz8uZGVib3VuY2VUaW1lID8/IDIwMCwgeyB0cmFuc2Zvcm06IFhUb051bWJlciB9KTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5aSa6YCJ5pe25pi+56S655qE6YCJ5Lit5pWw5o2u5Liq5pWw77yM5YW25a6D55qE5Zyo5pu05aSa5Lit5pi+56S677yM6buY6K6k5YWo6YOo5pi+56S6XHJcbiAgICogQGVuX1VTIERpc3BsYXkgdGhlIG51bWJlciBvZiBkYXRhIGluIHRoZSBtYXhpbXVtIGVsZWN0aW9uLCBhbmQgdGhlIG90aGVycyBhcmUgZGlzcGxheWVkIGluIG1vcmUgb2YgdGhlbVxyXG4gICAqIEBkZWZhdWx0IOaYvuekuuaJgOaciVxyXG4gICAqL1xyXG4gIHJlYWRvbmx5IG1heFRhZ0NvdW50ID0gaW5wdXQ8bnVtYmVyLCBYTnVtYmVyPih0aGlzLmNvbmZpZz8ubWF4VGFnQ291bnQgPz8gLTEsIHsgdHJhbnNmb3JtOiBYVG9OdW1iZXIgfSk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWkmumAieaXtuaYvuekuueahOS4quaVsOi2hei/h+aMh+WumuS4quaVsO+8jOaYvuekuueahOaWh+Wtl+aooeeJiFxyXG4gICAqIEBlbl9VUyBUaGUgbnVtYmVyIGRpc3BsYXllZCB3aGVuIG11bHRpcGxlIGNob2ljZXMgZXhjZWVkcyB0aGUgc3BlY2lmaWVkIG51bWJlciwgdGhlIGRpc3BsYXllZCB0ZXh0IHRlbXBsYXRlIGRpc3BsYXllZFxyXG4gICAqIEBkZWZhdWx0ICfmm7TlpJp7e3N1cnBsdXN9feS4qumAieS4rSdcclxuICAgKi9cclxuICByZWFkb25seSBtYXhUYWdDb250ZW50ID0gaW5wdXQ8WFRlbXBsYXRlPih0aGlzLmNvbmZpZz8ubWF4VGFnQ29udGVudCA/PyAnJyk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOW8gOWQr+iZmuaLn+a7muWKqFxyXG4gICAqIEBlbl9VUyBUdXJuIG9uIHZpcnR1YWwgc2Nyb2xsaW5nXHJcbiAgICovXHJcbiAgcmVhZG9ubHkgdmlydHVhbFNjcm9sbCA9IGlucHV0PGJvb2xlYW4sIFhCb29sZWFuPih0aGlzLmNvbmZpZz8udmlydHVhbFNjcm9sbCA/PyBmYWxzZSwgeyB0cmFuc2Zvcm06IFhUb0Jvb2xlYW4gfSk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOaQnOe0ouaXtuWFgeiuuOmAieaLqei+k+WFpeeahOWAvFxyXG4gICAqIEBlbl9VUyBBbGxvdyB0aGUgdmFsdWUgb2YgdGhlIGlucHV0IHdoZW4gc2VhcmNoaW5nIGZvclxyXG4gICAqL1xyXG4gIHJlYWRvbmx5IGFsbG93SW5wdXQgPSBpbnB1dDxib29sZWFuLCBYQm9vbGVhbj4oZmFsc2UsIHsgdHJhbnNmb3JtOiBYVG9Cb29sZWFuIH0pO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlsLrlr7hcclxuICAgKiBAZW5fVVMgU2l6ZVxyXG4gICAqL1xyXG4gIG92ZXJyaWRlIHJlYWRvbmx5IHNpemUgPSBpbnB1dDxYU2l6ZT4odGhpcy5jb25maWc/LnNpemUgPz8gJ21lZGl1bScpO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDovpPlhaXmoYbngrnlh7vmoLflvI9cclxuICAgKiBAZW5fVVMgSW5wdXQgcG9pbnRlclxyXG4gICAqL1xyXG4gIG92ZXJyaWRlIHJlYWRvbmx5IHBvaW50ZXIgPSBpbnB1dDxib29sZWFuLCBYQm9vbGVhbj4oZmFsc2UsIHsgdHJhbnNmb3JtOiBYVG9Cb29sZWFuIH0pO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmoIfnrb5cclxuICAgKiBAZW5fVVMgTGFiZWxcclxuICAgKi9cclxuICBvdmVycmlkZSByZWFkb25seSBsYWJlbCA9IGlucHV0PHN0cmluZz4oJycpO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmoIfnrb7lrr3luqZcclxuICAgKiBAZW5fVVMgTGFiZWwgd2lkdGhcclxuICAgKi9cclxuICBvdmVycmlkZSByZWFkb25seSBsYWJlbFdpZHRoID0gaW5wdXQ8c3RyaW5nLCBYTnVtYmVyPignJywgeyB0cmFuc2Zvcm06IFhUb0Nzc1BpeGVsVmFsdWUgfSk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOagh+etvuaWh+Wtl+Wvuem9kOaWueW8j1xyXG4gICAqIEBlbl9VUyBMYWJlbCB0ZXh0IGFsaWdubWVudCBtZXRob2RcclxuICAgKi9cclxuICBvdmVycmlkZSByZWFkb25seSBsYWJlbEFsaWduID0gaW5wdXQ8WEFsaWduPignc3RhcnQnKTtcclxuICAvKipcclxuICAgKiBAemhfQ04gZmxleCDluIPlsYDkuIvnmoTlrZDlhYPntKDmsLTlubPmjpLliJfmlrnlvI9cclxuICAgKiBAZW5fVVMgVGhlIGxldmVsIG9mIHN1Yi1lbGVtZW50IGxldmVsIGFycmFuZ2VtZW50IHVuZGVyIGZsZXggbGF5b3V0XHJcbiAgICovXHJcbiAgb3ZlcnJpZGUgcmVhZG9ubHkganVzdGlmeSA9IGlucHV0PFhKdXN0aWZ5Pignc3RhcnQnKTtcclxuICAvKipcclxuICAgKiBAemhfQ04gZmxleCDluIPlsYDkuIvnmoTlrZDlhYPntKDlnoLnm7TmjpLliJfmlrnlvI9cclxuICAgKiBAZW5fVVMgc3ViLWVsZW1lbnQgdmVydGljYWwgYXJyYW5nZW1lbnQgbWV0aG9kIHVuZGVyIGZsZXggbGF5b3V0XHJcbiAgICovXHJcbiAgb3ZlcnJpZGUgcmVhZG9ubHkgYWxpZ24gPSBpbnB1dDxYQWxpZ24+KCdzdGFydCcpO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiBmbGV4IOW4g+WxgOS4i+eahOWtkOWFg+e0oOaOkuWIl+aWueWQkVxyXG4gICAqIEBlbl9VUyBUaGUgZGlyZWN0aW9uIG9mIHRoZSBzdWItZWxlbWVudCBhcnJhbmdlbWVudCB1bmRlciBmbGV4IGxheW91dFxyXG4gICAqL1xyXG4gIG92ZXJyaWRlIHJlYWRvbmx5IGRpcmVjdGlvbiA9IGlucHV0PFhEaXJlY3Rpb24+KCdjb2x1bW4nKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g6L6T5YWl5o+Q56S65L+h5oGvXHJcbiAgICogQGVuX1VTIEVudGVyIHByb21wdCBpbmZvcm1hdGlvblxyXG4gICAqL1xyXG4gIG92ZXJyaWRlIHJlYWRvbmx5IHBsYWNlaG9sZGVyID0gaW5wdXQ8c3RyaW5nIHwgc3RyaW5nW10+KCcnKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g56aB55SoXHJcbiAgICogQGVuX1VTIERpc2FibGVkXHJcbiAgICovXHJcbiAgb3ZlcnJpZGUgcmVhZG9ubHkgZGlzYWJsZWQgPSBpbnB1dDxib29sZWFuLCBYQm9vbGVhbj4oZmFsc2UsIHsgdHJhbnNmb3JtOiBYVG9Cb29sZWFuIH0pO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlv4XloatcclxuICAgKiBAZW5fVVMgUmVxdWlyZWRcclxuICAgKi9cclxuICBvdmVycmlkZSByZWFkb25seSByZXF1aXJlZCA9IGlucHV0PGJvb2xlYW4sIFhCb29sZWFuPihmYWxzZSwgeyB0cmFuc2Zvcm06IFhUb0Jvb2xlYW4gfSk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWPquivu1xyXG4gICAqIEBlbl9VUyBSZWFkb25seVxyXG4gICAqL1xyXG4gIG92ZXJyaWRlIHJlYWRvbmx5IHJlYWRvbmx5ID0gaW5wdXQ8Ym9vbGVhbiwgWEJvb2xlYW4+KGZhbHNlLCB7IHRyYW5zZm9ybTogWFRvQm9vbGVhbiB9KTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5YC85qih5p2/XHJcbiAgICogQGVuX1VTIE5vZGUgdGVtcGxhdGVcclxuICAgKi9cclxuICBvdmVycmlkZSByZWFkb25seSB2YWx1ZVRwbCA9IGlucHV0PFRlbXBsYXRlUmVmPGFueT4+KCk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWAvOaooeadv+WPguaVsFxyXG4gICAqIEBlbl9VUyBOb2RlIHRlbXBsYXRlXHJcbiAgICovXHJcbiAgb3ZlcnJpZGUgcmVhZG9ubHkgdmFsdWVUcGxDb250ZXh0ID0gaW5wdXQoKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5YmN572u5qCH562+XHJcbiAgICogQGVuX1VTIEJlZm9yZSBsYWJlbFxyXG4gICAqL1xyXG4gIG92ZXJyaWRlIHJlYWRvbmx5IGJlZm9yZSA9IGlucHV0PFhUZW1wbGF0ZT4oKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5ZCO572u5qCH562+XHJcbiAgICogQGVuX1VTIEFmdGVyIGxhYmVsXHJcbiAgICovXHJcbiAgb3ZlcnJpZGUgcmVhZG9ubHkgYWZ0ZXIgPSBpbnB1dDxYVGVtcGxhdGU+KCk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOato+WImemqjOivgeinhOWImVxyXG4gICAqIEBlbl9VUyBSZWd1bGFyIHZlcmlmaWNhdGlvbiBydWxlc1xyXG4gICAqL1xyXG4gIG92ZXJyaWRlIHJlYWRvbmx5IHBhdHRlcm4gPSBpbnB1dDxSZWdFeHAgfCBSZWdFeHBbXSB8IGFueT4obnVsbCk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOmqjOivgeS4jemAmui/h+aPkOekuuaWh+Wtl1xyXG4gICAqIEBlbl9VUyBWZXJpZnkgbm90IHBhc3MgdGhlIHByb21wdCB0ZXh0XHJcbiAgICovXHJcbiAgb3ZlcnJpZGUgcmVhZG9ubHkgbWVzc2FnZSA9IGlucHV0PHN0cmluZyB8IHN0cmluZ1tdPihbXSk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOa/gOa0u+eKtuaAgVxyXG4gICAqIEBlbl9VUyBBY3RpdmF0aW9uIHN0YXRlXHJcbiAgICovXHJcbiAgb3ZlcnJpZGUgcmVhZG9ubHkgYWN0aXZlID0gbW9kZWw8Ym9vbGVhbj4oZmFsc2UpO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDovpPlhaXpqozor4Hlh73mlbBcclxuICAgKiBAZW5fVVMgRW50ZXIgdGhlIHZlcmlmaWNhdGlvbiBmdW5jdGlvblxyXG4gICAqL1xyXG4gIG92ZXJyaWRlIHJlYWRvbmx5IGlucHV0VmFsaWRhdG9yID0gaW5wdXQ8KHZhbHVlOiBhbnkpID0+IGJvb2xlYW4+KCk7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBTZWxlY3QgT3B0aW9uXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIFhTZWxlY3RPcHRpb24gZXh0ZW5kcyBYRm9ybU9wdGlvbiB7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOiKgueCueaVsOaNrlxyXG4gICAqIEBlbl9VUyBOb2RlIGRhdGFcclxuICAgKi9cclxuICBkYXRhPzogWERhdGE8WFNlbGVjdE5vZGU+O1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmuIXpmaTmjInpkq5cclxuICAgKiBAZW5fVVMgQ2xlYXIgYnV0dG9uXHJcbiAgICovXHJcbiAgY2xlYXJhYmxlPzogYm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5byC5q2l5Yqg6L29XHJcbiAgICogQGVuX1VTIEFzeW5jaHJvbm91cyBsb2FkaW5nXHJcbiAgICovXHJcbiAgYXN5bmM/OiBib29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlsZXnpLrmlrnkvY1cclxuICAgKiBAZW5fVVMgRGlzcGxheSBwb3NpdGlvblxyXG4gICAqL1xyXG4gIHBsYWNlbWVudD86IFhQbGFjZW1lbnQ7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWkmumAieWKn+iDvVxyXG4gICAqIEBlbl9VUyBNdWx0aXBsZSBjaG9pY2VcclxuICAgKi9cclxuICBtdWx0aXBsZT86IGJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWkmumAiea3u+WKoOWFqOmAieWKn+iDvVxyXG4gICAqIEBlbl9VUyBNdWx0aSBjaG9pY2UgdG8gYWRkIGZ1bGwgc2VsZWN0aW9uIGZ1bmN0aW9uXHJcbiAgICovXHJcbiAgc2VsZWN0QWxsPzogYm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5YWo6YCJ55qE5paH5a2XXHJcbiAgICogQGVuX1VTIFNlbGVjdGVkIGFsbCB0ZXh0XHJcbiAgICovXHJcbiAgc2VsZWN0QWxsVGV4dD86IHN0cmluZztcclxuICAvKipcclxuICAgKiBAemhfQ04g6IqC54K55qih5p2/XHJcbiAgICogQGVuX1VTIE5vZGUgdGVtcGxhdGVcclxuICAgKi9cclxuICBub2RlVHBsPzogVGVtcGxhdGVSZWY8YW55PjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5pi+56S66L655qGGXHJcbiAgICogQGVuX1VTIERpc3BsYXkgQm9yZGVyXHJcbiAgICovXHJcbiAgYm9yZGVyZWQ/OiBib29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDkuIvmi4nmoYbnmoTmnIDlpKfpq5jluqZcclxuICAgKiBAZW5fVVMgVGhlIGJpZ2dlc3QgaGVpZ2h0IG9mIHRoZSBkcm9wLWRvd24gYm94XHJcbiAgICovXHJcbiAgcG9ydGFsTWF4SGVpZ2h0Pzogc3RyaW5nO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDkuIvmi4nmoYbnmoTlrr3luqZcclxuICAgKiBAZW5fVVMgVGhlIHdpZHRoIG9mIHRoZSBkcm9wLWRvd24gYm94XHJcbiAgICovXHJcbiAgcG9ydGFsV2lkdGg/OiBzdHJpbmc7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOi+k+WFpeaQnOe0olxyXG4gICAqIEBlbl9VUyBJbnB1dCBzZWFyY2hcclxuICAgKi9cclxuICBzZWFyY2g/OiBib29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDljLnphY3ljLrliIblpKflsI/lhplcclxuICAgKiBAZW5fVVMgQ2FzZS1zZW5zaXRpdmVcclxuICAgKi9cclxuICBjYXNlU2Vuc2l0aXZlPzogYm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g6L6T5YWl5bu26L+f5omn6KGM5pe26Ze077yMbXNcclxuICAgKiBAZW5fVVMgRW50ZXIgYSBkZWxheSBleGVjdXRpb24gdGltZSwgbXNcclxuICAgKi9cclxuICBkZWJvdW5jZVRpbWU/OiBudW1iZXI7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWkmumAieaXtuaYvuekuueahOmAieS4reaVsOaNruS4quaVsO+8jOWFtuWug+eahOWcqOabtOWkmuS4reaYvuekuu+8jOm7mOiupOWFqOmDqOaYvuekulxyXG4gICAqIEBlbl9VUyBEaXNwbGF5IHRoZSBudW1iZXIgb2YgZGF0YSBpbiB0aGUgbWF4aW11bSBlbGVjdGlvbiwgYW5kIHRoZSBvdGhlcnMgYXJlIGRpc3BsYXllZCBpbiBtb3JlIG9mIHRoZW1cclxuICAgKiBAZGVmYXVsdCDmmL7npLrmiYDmnIlcclxuICAgKi9cclxuICBtYXhUYWdDb3VudD86IG51bWJlcjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5aSa6YCJ5pe25pi+56S655qE5Liq5pWw6LaF6L+H5oyH5a6a5Liq5pWw77yM5pi+56S655qE5paH5a2X5qih54mIXHJcbiAgICogQGVuX1VTIFRoZSBudW1iZXIgZGlzcGxheWVkIHdoZW4gbXVsdGlwbGUgY2hvaWNlcyBleGNlZWRzIHRoZSBzcGVjaWZpZWQgbnVtYmVyLCB0aGUgZGlzcGxheWVkIHRleHQgdGVtcGxhdGUgZGlzcGxheWVkXHJcbiAgICogQGRlZmF1bHQgJ+abtOWkmnt7c3VycGx1c3195Liq6YCJ5LitJ1xyXG4gICAqL1xyXG4gIG1heFRhZ0NvbnRlbnQ/OiBYVGVtcGxhdGU7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOW8gOWQr+iZmuaLn+a7muWKqFxyXG4gICAqIEBlbl9VUyBUdXJuIG9uIHZpcnR1YWwgc2Nyb2xsaW5nXHJcbiAgICovXHJcbiAgdmlydHVhbFNjcm9sbD86IGJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWwuuWvuFxyXG4gICAqIEBlbl9VUyBTaXplXHJcbiAgICovXHJcbiAgc2l6ZT86IFhTaXplO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDovpPlhaXmoYbngrnlh7vmoLflvI9cclxuICAgKiBAZW5fVVMgSW5wdXQgcG9pbnRlclxyXG4gICAqL1xyXG4gIHBvaW50ZXI/OiBib29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmoIfnrb5cclxuICAgKiBAZW5fVVMgTGFiZWxcclxuICAgKi9cclxuICBsYWJlbD86IHN0cmluZztcclxuICAvKipcclxuICAgKiBAemhfQ04g5qCH562+5a695bqmXHJcbiAgICogQGVuX1VTIExhYmVsIHdpZHRoXHJcbiAgICovXHJcbiAgbGFiZWxXaWR0aD86IHN0cmluZztcclxuICAvKipcclxuICAgKiBAemhfQ04g5qCH562+5paH5a2X5a+56b2Q5pa55byPXHJcbiAgICogQGVuX1VTIExhYmVsIHRleHQgYWxpZ25tZW50IG1ldGhvZFxyXG4gICAqL1xyXG4gIGxhYmVsQWxpZ24/OiBYQWxpZ247XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIGZsZXgg5biD5bGA5LiL55qE5a2Q5YWD57Sg5rC05bmz5o6S5YiX5pa55byPXHJcbiAgICogQGVuX1VTIFRoZSBsZXZlbCBvZiBzdWItZWxlbWVudCBsZXZlbCBhcnJhbmdlbWVudCB1bmRlciBmbGV4IGxheW91dFxyXG4gICAqL1xyXG4gIGp1c3RpZnk/OiBYSnVzdGlmeTtcclxuICAvKipcclxuICAgKiBAemhfQ04gZmxleCDluIPlsYDkuIvnmoTlrZDlhYPntKDlnoLnm7TmjpLliJfmlrnlvI9cclxuICAgKiBAZW5fVVMgc3ViLWVsZW1lbnQgdmVydGljYWwgYXJyYW5nZW1lbnQgbWV0aG9kIHVuZGVyIGZsZXggbGF5b3V0XHJcbiAgICovXHJcbiAgYWxpZ24/OiBYQWxpZ247XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIGZsZXgg5biD5bGA5LiL55qE5a2Q5YWD57Sg5o6S5YiX5pa55ZCRXHJcbiAgICogQGVuX1VTIFRoZSBkaXJlY3Rpb24gb2YgdGhlIHN1Yi1lbGVtZW50IGFycmFuZ2VtZW50IHVuZGVyIGZsZXggbGF5b3V0XHJcbiAgICovXHJcbiAgZGlyZWN0aW9uPzogWERpcmVjdGlvbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g6L6T5YWl5o+Q56S65L+h5oGvXHJcbiAgICogQGVuX1VTIEVudGVyIHByb21wdCBpbmZvcm1hdGlvblxyXG4gICAqL1xyXG4gIHBsYWNlaG9sZGVyPzogc3RyaW5nO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDnpoHnlKhcclxuICAgKiBAZW5fVVMgRGlzYWJsZWRcclxuICAgKi9cclxuICBkaXNhYmxlZD86IGJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOW/heWhq1xyXG4gICAqIEBlbl9VUyBSZXF1aXJlZFxyXG4gICAqL1xyXG4gIHJlcXVpcmVkPzogYm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5Y+q6K+7XHJcbiAgICogQGVuX1VTIFJlYWRvbmx5XHJcbiAgICovXHJcbiAgcmVhZG9ubHk/OiBib29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlgLzmqKHmnb9cclxuICAgKiBAZW5fVVMgTm9kZSB0ZW1wbGF0ZVxyXG4gICAqL1xyXG4gIHZhbHVlVHBsPzogVGVtcGxhdGVSZWY8YW55PjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5YC85qih5p2/5Y+C5pWwXHJcbiAgICogQGVuX1VTIE5vZGUgdGVtcGxhdGVcclxuICAgKi9cclxuICB2YWx1ZVRwbENvbnRleHQ/OiBhbnk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWJjee9ruagh+etvlxyXG4gICAqIEBlbl9VUyBCZWZvcmUgbGFiZWxcclxuICAgKi9cclxuICBiZWZvcmU/OiBYVGVtcGxhdGU7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWQjue9ruagh+etvlxyXG4gICAqIEBlbl9VUyBBZnRlciBsYWJlbFxyXG4gICAqL1xyXG4gIGFmdGVyPzogWFRlbXBsYXRlO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmraPliJnpqozor4Hop4TliJlcclxuICAgKiBAZW5fVVMgUmVndWxhciB2ZXJpZmljYXRpb24gcnVsZXNcclxuICAgKi9cclxuICBwYXR0ZXJuPzogUmVnRXhwIHwgUmVnRXhwW107XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOmqjOivgeS4jemAmui/h+aPkOekuuaWh+Wtl1xyXG4gICAqIEBlbl9VUyBWZXJpZnkgbm90IHBhc3MgdGhlIHByb21wdCB0ZXh0XHJcbiAgICovXHJcbiAgbWVzc2FnZT86IHN0cmluZyB8IHN0cmluZ1tdO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmv4DmtLvnirbmgIFcclxuICAgKiBAZW5fVVMgQWN0aXZhdGlvbiBzdGF0ZVxyXG4gICAqL1xyXG4gIGFjdGl2ZT86IGJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOi+k+WFpemqjOivgeWHveaVsFxyXG4gICAqIEBlbl9VUyBFbnRlciB0aGUgdmVyaWZpY2F0aW9uIGZ1bmN0aW9uXHJcbiAgICovXHJcbiAgaW5wdXRWYWxpZGF0b3I/OiAodmFsdWU6IGFueSkgPT4gYm9vbGVhbjtcclxufVxyXG5cclxuLyoqXHJcbiAqIEB6aF9DTiBTZWxlY3Qg5pWw5o2u5a+56LGhXHJcbiAqIEBlbl9VUyBTZWxlY3QgZGF0YSBvYmplY3RcclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgWFNlbGVjdE5vZGUgZXh0ZW5kcyBYUGFyZW50SWRlbnRpdHlQcm9wZXJ0eTxYU2VsZWN0Tm9kZT4ge31cclxuXHJcbi8qKlxyXG4gKiBTZWxlY3QgUG9ydGFsXHJcbiAqIEBzZWxlY3RvciB4LXNlbGVjdC1wb3J0YWxcclxuICogQGRlY29yYXRvciBjb21wb25lbnRcclxuICovXHJcbmV4cG9ydCBjb25zdCBYU2VsZWN0UG9ydGFsUHJlZml4ID0gJ3gtc2VsZWN0LXBvcnRhbCc7XHJcbiJdfQ==
@@ -96,7 +96,7 @@ class XSelectProperty extends XFormControlFunction(X_SELECT_CONFIG_NAME) {
96
96
  * @zh_CN 输入搜索
97
97
  * @en_US Input search
98
98
  */
99
- this.search = input(false, { transform: XToBoolean });
99
+ this.search = input(this.config?.search ?? false, { transform: XToBoolean });
100
100
  /**
101
101
  * @zh_CN 匹配区分大小写
102
102
  * @en_US Case-sensitive
@@ -1 +1 @@
1
- {"version":3,"file":"ng-nest-ui-select.mjs","sources":["../../../../lib/ng-nest/ui/select/select.property.ts","../../../../lib/ng-nest/ui/select/select-portal.component.ts","../../../../lib/ng-nest/ui/select/select-portal.component.html","../../../../lib/ng-nest/ui/select/select.component.ts","../../../../lib/ng-nest/ui/select/select.component.html","../../../../lib/ng-nest/ui/select/select.module.ts","../../../../lib/ng-nest/ui/select/ng-nest-ui-select.ts"],"sourcesContent":["import { XToBoolean, XToCssPixelValue, XToDataConvert, XToNumber } from '@ng-nest/ui/core';\r\nimport { Component, TemplateRef, input, model } from '@angular/core';\r\nimport { XFormControlFunction, XFormOption } from '@ng-nest/ui/base-form';\r\nimport type {\r\n XParentIdentityProperty,\r\n XData,\r\n XBoolean,\r\n XSize,\r\n XNumber,\r\n XTemplate,\r\n XPlacement,\r\n XDirection,\r\n XAlign,\r\n XJustify\r\n} from '@ng-nest/ui/core';\r\n\r\n/**\r\n * Select\r\n * @selector x-select\r\n * @decorator component\r\n */\r\nexport const XSelectPrefix = 'x-select';\r\nconst X_SELECT_CONFIG_NAME = 'select';\r\n\r\n/**\r\n * Select Property\r\n */\r\n@Component({ selector: `${XSelectPrefix}-property`, template: '' })\r\nexport class XSelectProperty extends XFormControlFunction(X_SELECT_CONFIG_NAME) {\r\n /**\r\n * @zh_CN 节点数据\r\n * @en_US Node data\r\n */\r\n readonly data = input<XData<XSelectNode>, XData<XSelectNode>>([], { transform: XToDataConvert });\r\n /**\r\n * @zh_CN 宽度\r\n * @en_US width\r\n */\r\n readonly width = input<string, XNumber>('', { transform: XToCssPixelValue });\r\n /**\r\n * @zh_CN 清除按钮\r\n * @en_US Clear button\r\n */\r\n readonly clearable = input<boolean, XBoolean>(this.config?.clearable ?? true, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 异步加载\r\n * @en_US Asynchronous loading\r\n */\r\n readonly async = input<boolean, XBoolean>(false, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 展示方位\r\n * @en_US Display position\r\n */\r\n readonly placement = input<XPlacement>(this.config?.placement ?? 'bottom');\r\n /**\r\n * @zh_CN 多选功能\r\n * @en_US Multiple choice\r\n */\r\n readonly multiple = input<boolean, XBoolean>(false, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 多选添加全选功能\r\n * @en_US Multi choice to add full selection function\r\n */\r\n readonly selectAll = input<boolean, XBoolean>(false, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 全选的文字\r\n * @en_US Selected all text\r\n */\r\n readonly selectAllText = input<string>(this.config?.selectAllText ?? '');\r\n /**\r\n * @zh_CN 节点模板\r\n * @en_US Node template\r\n */\r\n readonly nodeTpl = input<TemplateRef<any>>();\r\n /**\r\n * @zh_CN 显示边框\r\n * @en_US Display Border\r\n */\r\n readonly bordered = input<boolean, XBoolean>(this.config?.bordered ?? true, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 下拉框的最大高度\r\n * @en_US The biggest height of the drop-down box\r\n */\r\n readonly portalMaxHeight = input<string, XNumber>(this.config?.portalMaxHeight ?? '12rem', {\r\n transform: XToCssPixelValue\r\n });\r\n /**\r\n * @zh_CN 下拉框的宽度\r\n * @en_US The width of the drop-down box\r\n */\r\n readonly portalWidth = input<string, XNumber>('', { transform: XToCssPixelValue });\r\n /**\r\n * @zh_CN 输入搜索\r\n * @en_US Input search\r\n */\r\n readonly search = input<boolean, XBoolean>(false, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 匹配区分大小写\r\n * @en_US Case-sensitive\r\n */\r\n readonly caseSensitive = input<boolean, XBoolean>(this.config?.caseSensitive ?? true, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 输入延迟执行时间,ms\r\n * @en_US Enter a delay execution time, ms\r\n */\r\n readonly debounceTime = input<number, XNumber>(this.config?.debounceTime ?? 200, { transform: XToNumber });\r\n /**\r\n * @zh_CN 多选时显示的选中数据个数,其它的在更多中显示,默认全部显示\r\n * @en_US Display the number of data in the maximum election, and the others are displayed in more of them\r\n * @default 显示所有\r\n */\r\n readonly maxTagCount = input<number, XNumber>(this.config?.maxTagCount ?? -1, { transform: XToNumber });\r\n /**\r\n * @zh_CN 多选时显示的个数超过指定个数,显示的文字模版\r\n * @en_US The number displayed when multiple choices exceeds the specified number, the displayed text template displayed\r\n * @default '更多{{surplus}}个选中'\r\n */\r\n readonly maxTagContent = input<XTemplate>(this.config?.maxTagContent ?? '');\r\n /**\r\n * @zh_CN 开启虚拟滚动\r\n * @en_US Turn on virtual scrolling\r\n */\r\n readonly virtualScroll = input<boolean, XBoolean>(this.config?.virtualScroll ?? false, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 搜索时允许选择输入的值\r\n * @en_US Allow the value of the input when searching for\r\n */\r\n readonly allowInput = input<boolean, XBoolean>(false, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 尺寸\r\n * @en_US Size\r\n */\r\n override readonly size = input<XSize>(this.config?.size ?? 'medium');\r\n /**\r\n * @zh_CN 输入框点击样式\r\n * @en_US Input pointer\r\n */\r\n override readonly pointer = input<boolean, XBoolean>(false, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 标签\r\n * @en_US Label\r\n */\r\n override readonly label = input<string>('');\r\n /**\r\n * @zh_CN 标签宽度\r\n * @en_US Label width\r\n */\r\n override readonly labelWidth = input<string, XNumber>('', { transform: XToCssPixelValue });\r\n /**\r\n * @zh_CN 标签文字对齐方式\r\n * @en_US Label text alignment method\r\n */\r\n override readonly labelAlign = input<XAlign>('start');\r\n /**\r\n * @zh_CN flex 布局下的子元素水平排列方式\r\n * @en_US The level of sub-element level arrangement under flex layout\r\n */\r\n override readonly justify = input<XJustify>('start');\r\n /**\r\n * @zh_CN flex 布局下的子元素垂直排列方式\r\n * @en_US sub-element vertical arrangement method under flex layout\r\n */\r\n override readonly align = input<XAlign>('start');\r\n /**\r\n * @zh_CN flex 布局下的子元素排列方向\r\n * @en_US The direction of the sub-element arrangement under flex layout\r\n */\r\n override readonly direction = input<XDirection>('column');\r\n /**\r\n * @zh_CN 输入提示信息\r\n * @en_US Enter prompt information\r\n */\r\n override readonly placeholder = input<string | string[]>('');\r\n /**\r\n * @zh_CN 禁用\r\n * @en_US Disabled\r\n */\r\n override readonly disabled = input<boolean, XBoolean>(false, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 必填\r\n * @en_US Required\r\n */\r\n override readonly required = input<boolean, XBoolean>(false, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 只读\r\n * @en_US Readonly\r\n */\r\n override readonly readonly = input<boolean, XBoolean>(false, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 值模板\r\n * @en_US Node template\r\n */\r\n override readonly valueTpl = input<TemplateRef<any>>();\r\n /**\r\n * @zh_CN 值模板参数\r\n * @en_US Node template\r\n */\r\n override readonly valueTplContext = input();\r\n /**\r\n * @zh_CN 前置标签\r\n * @en_US Before label\r\n */\r\n override readonly before = input<XTemplate>();\r\n /**\r\n * @zh_CN 后置标签\r\n * @en_US After label\r\n */\r\n override readonly after = input<XTemplate>();\r\n /**\r\n * @zh_CN 正则验证规则\r\n * @en_US Regular verification rules\r\n */\r\n override readonly pattern = input<RegExp | RegExp[] | any>(null);\r\n /**\r\n * @zh_CN 验证不通过提示文字\r\n * @en_US Verify not pass the prompt text\r\n */\r\n override readonly message = input<string | string[]>([]);\r\n /**\r\n * @zh_CN 激活状态\r\n * @en_US Activation state\r\n */\r\n override readonly active = model<boolean>(false);\r\n /**\r\n * @zh_CN 输入验证函数\r\n * @en_US Enter the verification function\r\n */\r\n override readonly inputValidator = input<(value: any) => boolean>();\r\n}\r\n\r\n/**\r\n * Select Option\r\n */\r\nexport interface XSelectOption extends XFormOption {\r\n /**\r\n * @zh_CN 节点数据\r\n * @en_US Node data\r\n */\r\n data?: XData<XSelectNode>;\r\n /**\r\n * @zh_CN 清除按钮\r\n * @en_US Clear button\r\n */\r\n clearable?: boolean;\r\n /**\r\n * @zh_CN 异步加载\r\n * @en_US Asynchronous loading\r\n */\r\n async?: boolean;\r\n /**\r\n * @zh_CN 展示方位\r\n * @en_US Display position\r\n */\r\n placement?: XPlacement;\r\n /**\r\n * @zh_CN 多选功能\r\n * @en_US Multiple choice\r\n */\r\n multiple?: boolean;\r\n /**\r\n * @zh_CN 多选添加全选功能\r\n * @en_US Multi choice to add full selection function\r\n */\r\n selectAll?: boolean;\r\n /**\r\n * @zh_CN 全选的文字\r\n * @en_US Selected all text\r\n */\r\n selectAllText?: string;\r\n /**\r\n * @zh_CN 节点模板\r\n * @en_US Node template\r\n */\r\n nodeTpl?: TemplateRef<any>;\r\n /**\r\n * @zh_CN 显示边框\r\n * @en_US Display Border\r\n */\r\n bordered?: boolean;\r\n /**\r\n * @zh_CN 下拉框的最大高度\r\n * @en_US The biggest height of the drop-down box\r\n */\r\n portalMaxHeight?: string;\r\n /**\r\n * @zh_CN 下拉框的宽度\r\n * @en_US The width of the drop-down box\r\n */\r\n portalWidth?: string;\r\n /**\r\n * @zh_CN 输入搜索\r\n * @en_US Input search\r\n */\r\n search?: boolean;\r\n /**\r\n * @zh_CN 匹配区分大小写\r\n * @en_US Case-sensitive\r\n */\r\n caseSensitive?: boolean;\r\n /**\r\n * @zh_CN 输入延迟执行时间,ms\r\n * @en_US Enter a delay execution time, ms\r\n */\r\n debounceTime?: number;\r\n /**\r\n * @zh_CN 多选时显示的选中数据个数,其它的在更多中显示,默认全部显示\r\n * @en_US Display the number of data in the maximum election, and the others are displayed in more of them\r\n * @default 显示所有\r\n */\r\n maxTagCount?: number;\r\n /**\r\n * @zh_CN 多选时显示的个数超过指定个数,显示的文字模版\r\n * @en_US The number displayed when multiple choices exceeds the specified number, the displayed text template displayed\r\n * @default '更多{{surplus}}个选中'\r\n */\r\n maxTagContent?: XTemplate;\r\n /**\r\n * @zh_CN 开启虚拟滚动\r\n * @en_US Turn on virtual scrolling\r\n */\r\n virtualScroll?: boolean;\r\n /**\r\n * @zh_CN 尺寸\r\n * @en_US Size\r\n */\r\n size?: XSize;\r\n /**\r\n * @zh_CN 输入框点击样式\r\n * @en_US Input pointer\r\n */\r\n pointer?: boolean;\r\n /**\r\n * @zh_CN 标签\r\n * @en_US Label\r\n */\r\n label?: string;\r\n /**\r\n * @zh_CN 标签宽度\r\n * @en_US Label width\r\n */\r\n labelWidth?: string;\r\n /**\r\n * @zh_CN 标签文字对齐方式\r\n * @en_US Label text alignment method\r\n */\r\n labelAlign?: XAlign;\r\n /**\r\n * @zh_CN flex 布局下的子元素水平排列方式\r\n * @en_US The level of sub-element level arrangement under flex layout\r\n */\r\n justify?: XJustify;\r\n /**\r\n * @zh_CN flex 布局下的子元素垂直排列方式\r\n * @en_US sub-element vertical arrangement method under flex layout\r\n */\r\n align?: XAlign;\r\n /**\r\n * @zh_CN flex 布局下的子元素排列方向\r\n * @en_US The direction of the sub-element arrangement under flex layout\r\n */\r\n direction?: XDirection;\r\n /**\r\n * @zh_CN 输入提示信息\r\n * @en_US Enter prompt information\r\n */\r\n placeholder?: string;\r\n /**\r\n * @zh_CN 禁用\r\n * @en_US Disabled\r\n */\r\n disabled?: boolean;\r\n /**\r\n * @zh_CN 必填\r\n * @en_US Required\r\n */\r\n required?: boolean;\r\n /**\r\n * @zh_CN 只读\r\n * @en_US Readonly\r\n */\r\n readonly?: boolean;\r\n /**\r\n * @zh_CN 值模板\r\n * @en_US Node template\r\n */\r\n valueTpl?: TemplateRef<any>;\r\n /**\r\n * @zh_CN 值模板参数\r\n * @en_US Node template\r\n */\r\n valueTplContext?: any;\r\n /**\r\n * @zh_CN 前置标签\r\n * @en_US Before label\r\n */\r\n before?: XTemplate;\r\n /**\r\n * @zh_CN 后置标签\r\n * @en_US After label\r\n */\r\n after?: XTemplate;\r\n /**\r\n * @zh_CN 正则验证规则\r\n * @en_US Regular verification rules\r\n */\r\n pattern?: RegExp | RegExp[];\r\n /**\r\n * @zh_CN 验证不通过提示文字\r\n * @en_US Verify not pass the prompt text\r\n */\r\n message?: string | string[];\r\n /**\r\n * @zh_CN 激活状态\r\n * @en_US Activation state\r\n */\r\n active?: boolean;\r\n /**\r\n * @zh_CN 输入验证函数\r\n * @en_US Enter the verification function\r\n */\r\n inputValidator?: (value: any) => boolean;\r\n}\r\n\r\n/**\r\n * @zh_CN Select 数据对象\r\n * @en_US Select data object\r\n */\r\nexport interface XSelectNode extends XParentIdentityProperty<XSelectNode> {}\r\n\r\n/**\r\n * Select Portal\r\n * @selector x-select-portal\r\n * @decorator component\r\n */\r\nexport const XSelectPortalPrefix = 'x-select-portal';\r\n","import {\r\n Component,\r\n ViewEncapsulation,\r\n ChangeDetectionStrategy,\r\n OnInit,\r\n OnDestroy,\r\n HostBinding,\r\n HostListener,\r\n TemplateRef,\r\n input,\r\n viewChild,\r\n model,\r\n output,\r\n signal,\r\n computed,\r\n inject\r\n} from '@angular/core';\r\nimport { XSelectNode, XSelectPortalPrefix } from './select.property';\r\nimport { Subject } from 'rxjs';\r\nimport { XConnectBaseAnimation, XPlacement, XSize } from '@ng-nest/ui/core';\r\nimport { map, takeUntil } from 'rxjs/operators';\r\nimport { XListComponent } from '@ng-nest/ui/list';\r\nimport { XInputComponent } from '@ng-nest/ui/input';\r\nimport { XI18nSelect, XI18nService, zh_CN } from '@ng-nest/ui/i18n';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { toSignal } from '@angular/core/rxjs-interop';\r\n\r\n@Component({\r\n selector: `${XSelectPortalPrefix}`,\r\n standalone: true,\r\n imports: [FormsModule, XListComponent],\r\n templateUrl: './select-portal.component.html',\r\n styleUrls: ['./select-portal.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n animations: [XConnectBaseAnimation]\r\n})\r\nexport class XSelectPortalComponent implements OnInit, OnDestroy {\r\n @HostBinding('@x-connect-base-animation') public get getPlacement() {\r\n return this.placement();\r\n }\r\n @HostListener('@x-connect-base-animation.done', ['$event']) done(event: { toState: any }) {\r\n event.toState !== 'void' && this.animating.emit(false);\r\n }\r\n @HostListener('@x-connect-base-animation.start', ['$event']) start(event: { toState: any }) {\r\n event.toState !== 'void' && this.animating.emit(true);\r\n }\r\n\r\n private unSubject = new Subject<void>();\r\n private i18n = inject(XI18nService);\r\n\r\n list = viewChild.required<XListComponent>('list');\r\n\r\n value = model<any>();\r\n data = input<XSelectNode[]>();\r\n placement = input<XPlacement>('bottom');\r\n multiple = input(1);\r\n nodeTpl = input<TemplateRef<any>>();\r\n inputCom = input<XInputComponent>();\r\n portalMaxHeight = input<string>('');\r\n objectArray = input<boolean>(false);\r\n selectAll = input(false);\r\n selectAllText = input<string>('');\r\n caseSensitive = input<boolean>(true);\r\n search = input<boolean>(false);\r\n virtualScroll = input<boolean>(false);\r\n keywordText = input<any>('');\r\n size = input<XSize>();\r\n\r\n animating = output<boolean>();\r\n nodeClick = output<{ node: XSelectNode | null; value?: XSelectNode[] | (string | number)[] }>();\r\n\r\n closeSubject!: Subject<void>;\r\n keydownSubject!: Subject<KeyboardEvent>;\r\n active = signal(-1);\r\n locale = toSignal(this.i18n.localeChange.pipe(map((x) => x.select as XI18nSelect)), { initialValue: zh_CN.select });\r\n getSelectAllText = computed(() => this.selectAllText() || this.locale().selectAllText);\r\n\r\n ngOnInit(): void {\r\n this.closeSubject.pipe(takeUntil(this.unSubject)).subscribe(() => {\r\n this.list().setUnActive(this.active());\r\n });\r\n this.keydownSubject.pipe(takeUntil(this.unSubject)).subscribe((x) => {\r\n this.list().keydown(x);\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.unSubject.next();\r\n this.unSubject.complete();\r\n }\r\n\r\n stopPropagation(event: Event): void {\r\n event.stopPropagation();\r\n }\r\n\r\n onNodeClick(node: XSelectNode) {\r\n if (this.multiple() === 0) {\r\n this.nodeClick.emit({ node, value: this.value() });\r\n } else {\r\n this.nodeClick.emit({ node });\r\n }\r\n }\r\n\r\n onSelectAll(_isSelectAll: boolean) {\r\n this.nodeClick.emit({ node: null, value: this.value() });\r\n }\r\n\r\n onActive(num: number) {\r\n this.active.set(num);\r\n }\r\n\r\n onTabOut() {\r\n this.closeSubject.next();\r\n }\r\n}\r\n","<div\r\n #selectPortal\r\n class=\"x-select-portal\"\r\n (click)=\"inputCom()?.inputFocus(); stopPropagation($event)\"\r\n [style.maxHeight]=\"portalMaxHeight()\"\r\n>\r\n <x-list\r\n #list\r\n [data]=\"data()!\"\r\n [(ngModel)]=\"value\"\r\n (nodeClick)=\"onNodeClick($event)\"\r\n (keyManagerChange)=\"onActive($event)\"\r\n (keyManagerTabOut)=\"onTabOut()\"\r\n (onSelectAll)=\"onSelectAll($event)\"\r\n checked\r\n [objectArray]=\"objectArray()\"\r\n [multiple]=\"multiple()\"\r\n [selectAll]=\"selectAll()\"\r\n [selectAllText]=\"getSelectAllText()!\"\r\n [nodeTpl]=\"nodeTpl()\"\r\n [scrollElement]=\"selectPortal\"\r\n [virtualScroll]=\"virtualScroll()\"\r\n [size]=\"size()!\"\r\n [heightAdaption]=\"selectPortal\"\r\n [keywordText]=\"keywordText()\"\r\n [caseSensitive]=\"caseSensitive()\"\r\n [inPortal]=\"true\"\r\n ></x-list>\r\n</div>\r\n","import { Subject, fromEvent, of } from 'rxjs';\r\nimport {\r\n Component,\r\n OnInit,\r\n ViewEncapsulation,\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Renderer2,\r\n ElementRef,\r\n SimpleChanges,\r\n OnChanges,\r\n ViewContainerRef,\r\n TemplateRef,\r\n inject,\r\n AfterViewInit,\r\n OnDestroy,\r\n viewChild,\r\n computed,\r\n signal,\r\n ComponentRef,\r\n effect\r\n} from '@angular/core';\r\nimport { XSelectNode, XSelectProperty, XSelectPrefix } from './select.property';\r\nimport {\r\n XIsEmpty,\r\n XIsObservable,\r\n XIsChange,\r\n XSetData,\r\n XPositionTopBottom,\r\n XIsObjectArray,\r\n XIsFunction,\r\n XIsArray,\r\n XIsString,\r\n XRemove,\r\n XResize,\r\n XPlacement,\r\n XComputed,\r\n XResizeObserver,\r\n XParents,\r\n XIsUndefined,\r\n XIsNull\r\n} from '@ng-nest/ui/core';\r\nimport { XPortalService, XPortalOverlayRef, XPortalConnectedPosition } from '@ng-nest/ui/portal';\r\nimport { XInputComponent } from '@ng-nest/ui/input';\r\nimport { XSelectPortalComponent } from './select-portal.component';\r\nimport {\r\n Overlay,\r\n FlexibleConnectedPositionStrategy,\r\n ConnectedOverlayPositionChange,\r\n OverlayConfig,\r\n OverlayRef\r\n} from '@angular/cdk/overlay';\r\nimport { takeUntil, throttleTime, debounceTime, distinctUntilChanged, map, filter, delay } from 'rxjs/operators';\r\nimport {\r\n DOWN_ARROW,\r\n UP_ARROW,\r\n ENTER,\r\n MAC_ENTER,\r\n ESCAPE,\r\n LEFT_ARROW,\r\n RIGHT_ARROW,\r\n TAB,\r\n BACKSPACE\r\n} from '@angular/cdk/keycodes';\r\nimport { XValueAccessor } from '@ng-nest/ui/base-form';\r\nimport { XI18nSelect, XI18nService, zh_CN } from '@ng-nest/ui/i18n';\r\nimport { DOCUMENT } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { XTagComponent } from '@ng-nest/ui/tag';\r\nimport { XOutletDirective } from '@ng-nest/ui/outlet';\r\nimport { toSignal } from '@angular/core/rxjs-interop';\r\n\r\n@Component({\r\n selector: `${XSelectPrefix}`,\r\n standalone: true,\r\n imports: [FormsModule, ReactiveFormsModule, XTagComponent, XInputComponent, XOutletDirective],\r\n templateUrl: './select.component.html',\r\n styleUrls: ['./select.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [XValueAccessor(XSelectComponent)]\r\n})\r\nexport class XSelectComponent extends XSelectProperty implements OnInit, OnChanges, AfterViewInit, OnDestroy {\r\n private i18n = inject(XI18nService);\r\n document = inject(DOCUMENT);\r\n private renderer = inject(Renderer2);\r\n override cdr = inject(ChangeDetectorRef);\r\n private portalService = inject(XPortalService);\r\n private viewContainerRef = inject(ViewContainerRef);\r\n private elementRef = inject(ElementRef);\r\n private overlay = inject(Overlay);\r\n\r\n inputCom = viewChild.required<XInputComponent>('inputCom');\r\n select = viewChild.required<ElementRef<HTMLElement>>('select');\r\n multipleValueTpl = viewChild.required<TemplateRef<void>>('multipleValueTpl');\r\n multipleInput = viewChild<XInputComponent>('multipleInput');\r\n\r\n getReadonly = computed(() => this.readonly() || !this.search());\r\n getMaxTagContent = computed(() => this.maxTagContent() || this.locale().maxTagContent);\r\n\r\n noPortalWidthPlacements: XPlacement[] = ['bottom', 'top'];\r\n hasPortalWidthPlacements: XPlacement[] = ['bottom-start', 'bottom-end', 'top-start', 'top-end'];\r\n\r\n override writeValue(value: any) {\r\n if (this.multiple()) {\r\n if (XIsNull(value) || XIsUndefined(value)) {\r\n value = [];\r\n }\r\n if (!XIsArray(value)) {\r\n value = [value];\r\n }\r\n }\r\n this.value.set(value);\r\n this.setDisplayValue();\r\n }\r\n\r\n enter = signal(false);\r\n showClearable = signal(false);\r\n displayValue = signal('');\r\n multipleSearchValue = signal('');\r\n nodes = signal<XSelectNode[]>([]);\r\n selectedNodes = signal<XSelectNode[]>([]);\r\n displayNodes = signal<XSelectNode[]>([]);\r\n displayMore = signal('');\r\n showDisplayMore = signal(false);\r\n searchNodes = signal<XSelectNode[]>([]);\r\n portal!: XPortalOverlayRef<XSelectPortalComponent>;\r\n icon = signal('fto-chevron-down');\r\n iconSpin = signal(false);\r\n animating = signal(false);\r\n objectArray = signal(false);\r\n selectedSurplus = signal(0);\r\n selectedTotal = signal(0);\r\n composition = signal(false);\r\n locale = toSignal(this.i18n.localeChange.pipe(map((x) => x.select as XI18nSelect)), { initialValue: zh_CN.select });\r\n closeSubject: Subject<void> = new Subject();\r\n keydownSubject: Subject<KeyboardEvent> = new Subject();\r\n inputChange: Subject<any> = new Subject();\r\n multipleInputSizeChange = new Subject<number>();\r\n private unSubject = new Subject<void>();\r\n private resizeObserver!: XResizeObserver;\r\n\r\n valueTplSignal = computed(() => {\r\n if (this.multiple()) {\r\n return this.multipleValueTpl();\r\n }\r\n return this.valueTpl();\r\n });\r\n\r\n valueTplContextSignal = signal<{ $node: any; $isValue: boolean }>({ $node: null, $isValue: true });\r\n placements = computed(() => {\r\n let placement = this.placement();\r\n if (this.portalWidth()) {\r\n if (placement === 'bottom') {\r\n placement = 'bottom-start';\r\n }\r\n return [placement, ...this.hasPortalWidthPlacements];\r\n } else {\r\n return [placement, ...this.noPortalWidthPlacements];\r\n }\r\n });\r\n\r\n private realPlacement = signal<XPlacement | null>(null);\r\n portalComponent = signal<ComponentRef<XSelectPortalComponent> | null>(null);\r\n portalOverlayRef = signal<OverlayRef | null>(null);\r\n inputChanged = toSignal(this.inputChange);\r\n portalData = computed(() => {\r\n const nodes = this.nodes();\r\n if (XIsFunction(this.data()) || XIsEmpty(this.inputChanged())) return nodes;\r\n return this.searchNodes();\r\n });\r\n allowAgian = signal(true);\r\n\r\n constructor() {\r\n super();\r\n effect(() => this.portalComponent()?.setInput('data', this.portalData()));\r\n effect(() => this.portalComponent()?.setInput('value', this.value()));\r\n effect(() => this.portalComponent()?.setInput('placement', this.realPlacement()));\r\n effect(() => this.portalComponent()?.setInput('multiple', this.multiple() === true ? 0 : 1));\r\n effect(() => this.portalComponent()?.setInput('nodeTpl', this.nodeTpl()));\r\n effect(() => this.portalComponent()?.setInput('inputCom', this.inputCom()));\r\n effect(() => this.portalComponent()?.setInput('portalMaxHeight', this.portalMaxHeight()));\r\n effect(() => this.portalComponent()?.setInput('objectArray', this.objectArray()));\r\n effect(() => this.portalComponent()?.setInput('selectAll', this.selectAll()));\r\n effect(() => this.portalComponent()?.setInput('selectAllText', this.selectAllText()));\r\n effect(() => this.portalComponent()?.setInput('caseSensitive', this.caseSensitive()));\r\n effect(() => this.portalComponent()?.setInput('search', this.search()));\r\n effect(() => this.portalComponent()?.setInput('virtualScroll', this.virtualScroll()));\r\n effect(() => this.portalComponent()?.setInput('size', this.size()));\r\n effect(() => this.portalComponent()?.setInput('keywordText', this.inputChanged()));\r\n }\r\n\r\n ngOnInit() {\r\n this.setSubject();\r\n this.setParantScroll();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n const { data } = changes;\r\n XIsChange(data) && this.setData();\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.setPortal();\r\n if (this.multiple() && this.inputCom().inputValueRef()) {\r\n XResize(this.inputCom().inputValueRef()?.nativeElement)\r\n .pipe(debounceTime(30), takeUntil(this.unSubject))\r\n .subscribe((x) => {\r\n this.resizeObserver = x.resizeObserver;\r\n this.setMutipleInputSize();\r\n });\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.unSubject.next();\r\n this.unSubject.complete();\r\n this.resizeObserver?.disconnect();\r\n }\r\n\r\n setData() {\r\n if (this.async()) return;\r\n XSetData<XSelectNode>(this.data(), this.unSubject).subscribe((x) => {\r\n this.nodes.set(x);\r\n this.setDisplayValue();\r\n this.setPortal();\r\n });\r\n }\r\n\r\n setSubject() {\r\n this.closeSubject.pipe(takeUntil(this.unSubject)).subscribe(() => {\r\n this.closePortal();\r\n });\r\n this.inputChange\r\n .pipe(debounceTime(this.debounceTime() as number), distinctUntilChanged(), takeUntil(this.unSubject))\r\n .subscribe((x) => {\r\n this.modelChange(x);\r\n });\r\n this.keydownSubject.pipe(throttleTime(10), takeUntil(this.unSubject)).subscribe((x) => {\r\n const keyCode = x.keyCode;\r\n if (\r\n !this.portalAttached() &&\r\n [DOWN_ARROW, UP_ARROW, LEFT_ARROW, RIGHT_ARROW, ENTER, MAC_ENTER, BACKSPACE].includes(keyCode)\r\n ) {\r\n this.modelChange(this.displayValue());\r\n }\r\n if (this.portalAttached() && [ESCAPE].includes(keyCode)) {\r\n this.closeSubject.next();\r\n }\r\n });\r\n this.multipleInputSizeChange.pipe(distinctUntilChanged(), takeUntil(this.unSubject)).subscribe((x) => {\r\n if (this.multipleInput()) {\r\n const input = this.multipleInput()?.elementRef.nativeElement;\r\n this.renderer.setStyle(input, 'width', `${x}px`);\r\n }\r\n });\r\n }\r\n\r\n setMutipleInputSize() {\r\n const ivf = this.inputCom().inputValueRef()?.nativeElement as HTMLDivElement;\r\n let { clientWidth, scrollHeight } = ivf;\r\n const len = ivf.children.length;\r\n let lastRowTagTop = -1;\r\n let lines = 1;\r\n let rowTagTop = -1;\r\n let lastRowTagsWidth = 0;\r\n let marginLeft = 0;\r\n let marginTop = 0;\r\n for (let i = len - 1; i >= 0; i--) {\r\n const ele = ivf.children[i] as HTMLElement;\r\n if (ele.tagName === 'X-TAG') {\r\n const { offsetTop, offsetWidth } = ele;\r\n const style = XComputed(ele);\r\n marginLeft = Number(style.marginLeft.replace('px', ''));\r\n marginTop = Number(style.marginTop.replace('px', ''));\r\n if (rowTagTop === -1) {\r\n rowTagTop = offsetTop;\r\n } else if (rowTagTop !== offsetTop) {\r\n lines++;\r\n rowTagTop = offsetTop;\r\n }\r\n if (lastRowTagTop === -1) {\r\n lastRowTagTop = offsetTop;\r\n }\r\n if (lastRowTagTop === offsetTop) {\r\n lastRowTagsWidth += offsetWidth + marginLeft;\r\n }\r\n }\r\n }\r\n const height = scrollHeight + (lines > 1 ? marginTop : 0);\r\n this.renderer.setStyle(this.inputCom().inputRef().nativeElement, 'height', `${height}px`);\r\n if (this.multipleInput()) {\r\n this.multipleInputSizeChange.next(clientWidth - lastRowTagsWidth - marginLeft);\r\n }\r\n this.portal?.overlayRef?.updatePosition();\r\n }\r\n\r\n menter() {\r\n if (this.disabledComputed() || !this.clearable() || this.iconSpin()) return;\r\n this.enter.set(true);\r\n if ((!this.multiple() && !XIsEmpty(this.displayValue())) || (this.multiple() && !XIsEmpty(this.displayNodes()))) {\r\n this.icon.set('');\r\n this.showClearable.set(true);\r\n }\r\n }\r\n\r\n mleave() {\r\n if (this.disabledComputed() || !this.clearable() || this.iconSpin()) return;\r\n this.enter.set(false);\r\n if (this.clearable()) {\r\n this.icon.set('fto-chevron-down');\r\n this.showClearable.set(false);\r\n }\r\n }\r\n\r\n modelChange(value: string | number) {\r\n if (XIsFunction(this.data())) {\r\n if (!this.portalAttached()) {\r\n this.showPortal();\r\n }\r\n this.icon.set('fto-loader');\r\n this.iconSpin.set(true);\r\n XSetData<XSelectNode>(this.data(), this.unSubject, true, value as any).subscribe((x) => {\r\n this.icon.set('');\r\n this.iconSpin.set(false);\r\n if (!this.enter() && this.clearable()) {\r\n this.showClearable.set(false);\r\n }\r\n this.nodes.set(x);\r\n });\r\n return;\r\n }\r\n if (this.nodes()) {\r\n if (!this.portalAttached()) {\r\n this.showPortal();\r\n }\r\n if (XIsEmpty(value)) {\r\n this.searchNodes.set(this.nodes());\r\n } else {\r\n this.setSearchNodes(value);\r\n }\r\n }\r\n }\r\n\r\n setSearchNodes(value: string | number) {\r\n if (this.caseSensitive()) {\r\n this.searchNodes.set(this.nodes().filter((x) => String(x.label).indexOf(String(value)) >= 0));\r\n } else {\r\n this.searchNodes.set(\r\n this.nodes().filter((x) => String(x.label).toLowerCase().indexOf(String(value).toLowerCase()) >= 0)\r\n );\r\n }\r\n }\r\n\r\n setParantScroll() {\r\n if (!this.document) return;\r\n const parents = XParents(this.elementRef.nativeElement);\r\n let firstScroll: HTMLElement | null = null;\r\n for (let item of parents) {\r\n if (item.clientHeight < item.scrollHeight) {\r\n firstScroll = item;\r\n break;\r\n }\r\n }\r\n if (firstScroll && firstScroll.tagName !== 'BODY') {\r\n fromEvent(firstScroll, 'scroll')\r\n .pipe(\r\n filter(() => this.portalAttached()!),\r\n takeUntil(this.unSubject)\r\n )\r\n .subscribe(() => {\r\n this.portal?.overlayRef?.updatePosition();\r\n const eract = this.elementRef.nativeElement.getBoundingClientRect();\r\n const frect = firstScroll!.getBoundingClientRect();\r\n if (eract.top + eract.height - frect.top < 0 || eract.bottom > frect.bottom) {\r\n this.closeSubject.next();\r\n }\r\n });\r\n }\r\n }\r\n\r\n clearEmit() {\r\n this.value.update((x) => {\r\n if (this.multiple()) {\r\n x.splice(0, x.length);\r\n return x;\r\n } else {\r\n return '';\r\n }\r\n });\r\n this.displayValue.set('');\r\n this.multipleSearchValue.set('');\r\n this.selectedNodes.set([]);\r\n this.setDisplayNodes();\r\n this.valueTplContextSignal.update((x) => {\r\n x.$node = null;\r\n return { ...x };\r\n });\r\n this.mleave();\r\n this.inputChange.next('');\r\n if (this.onChange) this.onChange(this.value());\r\n }\r\n\r\n setDisplayValue(clickNode?: XSelectNode) {\r\n if (this.nodes().length > 0) {\r\n if (this.multiple()) {\r\n if (XIsEmpty(this.value())) {\r\n if (XIsUndefined(this.value()) || XIsNull(this.value())) {\r\n this.value.set([]);\r\n } else {\r\n this.value.update((x) => {\r\n x.splice(0, x.length);\r\n return x;\r\n });\r\n }\r\n this.displayValue.set('');\r\n this.selectedNodes.set([]);\r\n this.displayNodes.set([]);\r\n this.displayMore.set('');\r\n this.valueTplContextSignal.update((x) => {\r\n x.$node = null;\r\n return { ...x };\r\n });\r\n this.setDisplayNodes();\r\n } else {\r\n let ids = [];\r\n let selected = [];\r\n if (XIsObjectArray<XSelectNode[]>(this.value())) {\r\n this.objectArray.set(true);\r\n ids = this.value().map((x: XSelectNode) => x.id);\r\n } else {\r\n this.objectArray.set(false);\r\n ids = this.value();\r\n }\r\n if (clickNode) {\r\n if (clickNode.selected) {\r\n this.selectedNodes.update((x) => {\r\n x.push(clickNode);\r\n return [...x];\r\n });\r\n } else {\r\n this.selectedNodes.update((x) => {\r\n XRemove(x, (y) => y.id === clickNode.id);\r\n return [...x];\r\n });\r\n }\r\n } else {\r\n for (let id of ids) {\r\n let node = this.nodes().find((x) => x.id === id);\r\n if (node) selected.push(node);\r\n }\r\n this.selectedNodes.set(selected);\r\n }\r\n this.setDisplayNodes();\r\n this.displayValue.set(\r\n this.selectedNodes()\r\n .map((x) => x.label)\r\n .join(',')\r\n );\r\n this.valueTplContextSignal.update((x) => {\r\n x.$node = [...this.selectedNodes()];\r\n return { ...x };\r\n });\r\n }\r\n } else {\r\n let node = this.nodes().find((x) => x.id === this.value());\r\n if (node) {\r\n this.displayValue.set(node.label);\r\n this.valueTplContextSignal.update((x) => {\r\n x.$node = node;\r\n return { ...x };\r\n });\r\n } else {\r\n this.displayValue.set('');\r\n this.valueTplContextSignal.update((x) => {\r\n x.$node = null;\r\n return { ...x };\r\n });\r\n }\r\n }\r\n }\r\n }\r\n\r\n closeNode(event: Event, node: XSelectNode, index: number) {\r\n let inx = -1;\r\n if (XIsObjectArray<XSelectNode[]>(this.value())) {\r\n inx = this.value().findIndex((y: XSelectNode) => y.id === node.id);\r\n } else {\r\n inx = this.value().findIndex((y: number | string) => y === node.id);\r\n }\r\n if (inx >= 0) {\r\n this.value.update((x) => {\r\n x.splice(inx, 1);\r\n return x;\r\n });\r\n if (this.onChange) this.onChange(this.value());\r\n this.selectedNodes.update((x) => {\r\n x.splice(index, 1);\r\n return x;\r\n });\r\n this.setDisplayNodes();\r\n }\r\n event.stopPropagation();\r\n }\r\n\r\n setDisplayNodes() {\r\n if (!this.multiple()) return;\r\n const maxlen = this.selectedNodes().length;\r\n let len = 0;\r\n if (this.maxTagCount() >= 0) {\r\n len = maxlen > this.maxTagCount() ? this.maxTagCount() : maxlen;\r\n } else {\r\n len = maxlen;\r\n }\r\n let more = maxlen - len;\r\n more = more < 0 ? 0 : more;\r\n this.displayNodes.set(this.selectedNodes().slice(0, len));\r\n this.showDisplayMore.set(more > 0);\r\n if (XIsString(this.getMaxTagContent())) {\r\n this.displayMore.set(more > 0 ? (this.getMaxTagContent() as string).replace(/\\{\\{surplus\\}\\}/g, `${more}`) : '');\r\n } else {\r\n this.selectedSurplus.set(more);\r\n this.selectedTotal.set(maxlen);\r\n }\r\n setTimeout(() => this.setMutipleInputSize());\r\n }\r\n\r\n portalAttached() {\r\n return this.portal?.overlayRef?.hasAttached();\r\n }\r\n\r\n closePortal() {\r\n if (this.portalAttached()) {\r\n this.portal?.overlayRef?.detach();\r\n this.active.set(false);\r\n this.multipleSearchValue.set('');\r\n this.allowAgian.set(false);\r\n of(true)\r\n .pipe(delay(200))\r\n .subscribe(() => this.allowAgian.set(true));\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n destroyPortal() {\r\n this.portal?.overlayRef?.dispose();\r\n }\r\n\r\n showPortal(click = false) {\r\n if (this.disabledComputed() || !this.allowAgian() || this.iconSpin() || this.animating()) return;\r\n this.active.set(true);\r\n if ((this.async() && XIsObservable(this.data()) && this.nodes().length === 0) || XIsFunction(this.data())) {\r\n this.icon.set('fto-loader');\r\n this.iconSpin.set(true);\r\n XSetData<XSelectNode>(this.data(), this.unSubject, true, click ? '' : this.displayValue()).subscribe((x) => {\r\n this.icon.set('fto-chevron-down');\r\n this.iconSpin.set(false);\r\n if (!this.enter() && this.clearable()) {\r\n this.showClearable.set(false);\r\n }\r\n this.nodes.set(x);\r\n if (!this.search()) this.setDisplayValue();\r\n this.createPortal();\r\n });\r\n } else {\r\n this.createPortal();\r\n }\r\n if (this.search() && this.multiple()) {\r\n this.multipleInput()?.inputFocus();\r\n } else {\r\n this.inputCom().inputFocus('focus');\r\n }\r\n }\r\n\r\n createPortal() {\r\n this.nodes.update((nodes) => {\r\n nodes.filter((x) => x.selected).map((x) => (x.selected = false));\r\n return [...nodes];\r\n });\r\n const box = this.inputCom().inputRef().nativeElement.getBoundingClientRect();\r\n const config: OverlayConfig = {\r\n backdropClass: '',\r\n width: this.portalWidth() || box.width,\r\n positionStrategy: this.setPlacement(),\r\n scrollStrategy: this.overlay.scrollStrategies.reposition()\r\n };\r\n this.setPosition(config);\r\n this.portal = this.portalService.attach({\r\n content: XSelectPortalComponent,\r\n viewContainerRef: this.viewContainerRef,\r\n overlayConfig: config\r\n });\r\n this.portal.overlayRef\r\n ?.outsidePointerEvents()\r\n .pipe(takeUntil(this.unSubject))\r\n .subscribe(() => {\r\n this.setDisplayValue();\r\n this.closeSubject.next();\r\n });\r\n this.setInstance();\r\n }\r\n\r\n setPosition(config: OverlayConfig) {\r\n let position = config.positionStrategy as FlexibleConnectedPositionStrategy;\r\n position.positionChanges.pipe(takeUntil(this.unSubject)).subscribe((pos: ConnectedOverlayPositionChange) => {\r\n const place = XPortalConnectedPosition.get(pos.connectionPair) as XPositionTopBottom;\r\n if (place !== this.realPlacement()) {\r\n this.realPlacement.set(place);\r\n this.portalOverlayRef()?.updatePosition();\r\n }\r\n });\r\n }\r\n\r\n setInstance() {\r\n let { componentRef, overlayRef } = this.portal;\r\n if (!componentRef || !overlayRef) return;\r\n this.portalComponent.set(componentRef);\r\n this.portalOverlayRef.set(overlayRef);\r\n this.realPlacement.set(this.placement());\r\n Object.assign(componentRef.instance, {\r\n closeSubject: this.closeSubject,\r\n keydownSubject: this.keydownSubject\r\n });\r\n const { nodeClick, animating } = componentRef.instance;\r\n nodeClick.subscribe((x) => this.nodeClick(x.node!, x.value));\r\n animating.subscribe((ing) => this.animating.set(ing));\r\n }\r\n\r\n nodeClick(node: XSelectNode, value?: XSelectNode[] | (string | number)[]) {\r\n if (this.multiple()) {\r\n if (node) {\r\n if (XIsObjectArray(value)) {\r\n if (node.selected) {\r\n this.value.update((x) => {\r\n x.push(node);\r\n return x;\r\n });\r\n } else {\r\n let inx = this.value().findIndex((x: XSelectNode) => x.id === node.id);\r\n this.value.update((x) => {\r\n x.splice(inx, 1);\r\n return x;\r\n });\r\n }\r\n } else if (XIsArray(value)) {\r\n if (node.selected) {\r\n this.value.update((x) => {\r\n x.push(node.id);\r\n return x;\r\n });\r\n } else {\r\n this.value.update((x) => {\r\n x.splice(x.indexOf(node.id), 1);\r\n return x;\r\n });\r\n }\r\n }\r\n } else {\r\n this.value.update((x) => {\r\n x.splice(0, x.length);\r\n x.push(...(value as any[]));\r\n return x;\r\n });\r\n }\r\n if (this.multipleInput()) {\r\n const input = this.multipleInput()!.elementRef.nativeElement;\r\n this.renderer.setStyle(input, 'width', '2rem');\r\n }\r\n if (this.search() && this.multipleSearchValue() !== '') {\r\n this.multipleSearchValue.set('');\r\n this.inputChange.next('');\r\n }\r\n this.setDisplayValue(node);\r\n } else {\r\n node = node as XSelectNode;\r\n this.displayValue.set(node.label);\r\n this.valueTplContextSignal.update((x) => {\r\n x.$node = node;\r\n return { ...x };\r\n });\r\n this.value.set(node.id);\r\n if (this.search()) {\r\n this.inputChange.next('');\r\n }\r\n this.closeSubject.next();\r\n }\r\n if (this.search() && this.multiple() && this.multipleInput()) {\r\n this.multipleInput()!.inputFocus();\r\n } else {\r\n this.inputCom().inputFocus('focus');\r\n }\r\n if (this.onChange) this.onChange(this.value());\r\n this.formControlValidator();\r\n }\r\n\r\n selectAllNodes(value: XSelectNode[] | (string | number)[]) {\r\n this.value.set(value);\r\n }\r\n\r\n setPlacement() {\r\n return this.portalService.setPlacement({\r\n elementRef: this.inputCom().inputRef(),\r\n placement: this.placements(),\r\n transformOriginOn: 'x-select-portal'\r\n });\r\n }\r\n\r\n setPortal() {\r\n this.portalAttached() && this.portal?.overlayRef?.updatePositionStrategy(this.setPlacement());\r\n }\r\n\r\n onKeydown($event: KeyboardEvent) {\r\n this.keydownSubject.next($event);\r\n if ($event.keyCode !== TAB && !this.search) {\r\n $event.preventDefault();\r\n }\r\n }\r\n\r\n onFocus(_event: Event) {\r\n if (this.search() && this.multiple() && this.multipleInput()) {\r\n this.multipleInput()!.inputFocus();\r\n } else {\r\n this.inputCom().inputFocus('focus');\r\n }\r\n }\r\n\r\n onInput(_event: InputEvent) {\r\n this.formControlValidator();\r\n setTimeout(() => this.inputChange.next(this.multiple() ? this.multipleSearchValue() : this.displayValue()));\r\n }\r\n}\r\n","<div #select class=\"x-select\" [class.x-select-multiple]=\"multiple()\">\r\n <div class=\"x-select-row\">\r\n <x-input\r\n #inputCom\r\n type=\"text\"\r\n [label]=\"label()\"\r\n [labelWidth]=\"labelWidth()\"\r\n [labelAlign]=\"labelAlign()\"\r\n [width]=\"width()\"\r\n [justify]=\"justify()\"\r\n [align]=\"align()\"\r\n [direction]=\"direction()\"\r\n [disabled]=\"disabledComputed()\"\r\n [required]=\"requiredComputed()\"\r\n [validator]=\"validatorComputed()!\"\r\n [icon]=\"icon()\"\r\n [iconSpin]=\"iconSpin()\"\r\n [placeholder]=\"placeholder()\"\r\n [readonly]=\"getReadonly()\"\r\n [clearable]=\"showClearable()\"\r\n [(ngModel)]=\"displayValue\"\r\n [valueTpl]=\"valueTplSignal() ? valueTplSignal() : nodeTpl()\"\r\n [valueTplContext]=\"valueTplContextSignal()\"\r\n [size]=\"size()\"\r\n [bordered]=\"bordered()\"\r\n [before]=\"before()\"\r\n [after]=\"after()\"\r\n [pattern]=\"patternComputed()\"\r\n [message]=\"messageComputed()\"\r\n [pointer]=\"true\"\r\n [(active)]=\"active\"\r\n (clearEmit)=\"clearEmit()\"\r\n (xKeydown)=\"onKeydown($event)\"\r\n (xInput)=\"onInput($event)\"\r\n (xFocus)=\"onFocus($event)\"\r\n (xClick)=\"showPortal(true)\"\r\n (xMouseenter)=\"menter()\"\r\n (xMouseleave)=\"mleave()\"\r\n (xComposition)=\"composition.set($event)\"\r\n ></x-input>\r\n </div>\r\n</div>\r\n\r\n<ng-template #multipleValueTpl>\r\n @for (node of displayNodes(); track node.id; let i = $index) {\r\n <x-tag\r\n [@.disabled]=\"true\"\r\n [bordered]=\"false\"\r\n [closable]=\"!disabledComputed()\"\r\n [type]=\"'info'\"\r\n (close)=\"closeNode($event, node, i)\"\r\n [size]=\"size()\"\r\n >{{ node.label }}</x-tag\r\n >\r\n }\r\n @if (showDisplayMore()) {\r\n <x-tag [@.disabled]=\"true\" [bordered]=\"false\" [type]=\"'info'\" [size]=\"size()\">\r\n <ng-container *xOutlet=\"getMaxTagContent(); context: { $surplus: selectedSurplus(), $total: selectedTotal() }\">{{\r\n displayMore()\r\n }}</ng-container>\r\n </x-tag>\r\n }\r\n\r\n @if (search()) {\r\n <x-input\r\n #multipleInput\r\n [bordered]=\"false\"\r\n [size]=\"size()\"\r\n [ngModel]=\"multipleSearchValue()\"\r\n (ngModelChange)=\"multipleSearchValue.set($event)\"\r\n (xInput)=\"onInput($event)\"\r\n (xKeydown)=\"onKeydown($event)\"\r\n ></x-input>\r\n }\r\n</ng-template>\r\n","import { NgModule } from '@angular/core';\r\nimport { XSelectComponent } from './select.component';\r\n\r\n@NgModule({\r\n exports: [XSelectComponent],\r\n imports: [XSelectComponent]\r\n})\r\nexport class XSelectModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ng-nest-ui-select.mjs","sources":["../../../../lib/ng-nest/ui/select/select.property.ts","../../../../lib/ng-nest/ui/select/select-portal.component.ts","../../../../lib/ng-nest/ui/select/select-portal.component.html","../../../../lib/ng-nest/ui/select/select.component.ts","../../../../lib/ng-nest/ui/select/select.component.html","../../../../lib/ng-nest/ui/select/select.module.ts","../../../../lib/ng-nest/ui/select/ng-nest-ui-select.ts"],"sourcesContent":["import { XToBoolean, XToCssPixelValue, XToDataConvert, XToNumber } from '@ng-nest/ui/core';\r\nimport { Component, TemplateRef, input, model } from '@angular/core';\r\nimport { XFormControlFunction, XFormOption } from '@ng-nest/ui/base-form';\r\nimport type {\r\n XParentIdentityProperty,\r\n XData,\r\n XBoolean,\r\n XSize,\r\n XNumber,\r\n XTemplate,\r\n XPlacement,\r\n XDirection,\r\n XAlign,\r\n XJustify\r\n} from '@ng-nest/ui/core';\r\n\r\n/**\r\n * Select\r\n * @selector x-select\r\n * @decorator component\r\n */\r\nexport const XSelectPrefix = 'x-select';\r\nconst X_SELECT_CONFIG_NAME = 'select';\r\n\r\n/**\r\n * Select Property\r\n */\r\n@Component({ selector: `${XSelectPrefix}-property`, template: '' })\r\nexport class XSelectProperty extends XFormControlFunction(X_SELECT_CONFIG_NAME) {\r\n /**\r\n * @zh_CN 节点数据\r\n * @en_US Node data\r\n */\r\n readonly data = input<XData<XSelectNode>, XData<XSelectNode>>([], { transform: XToDataConvert });\r\n /**\r\n * @zh_CN 宽度\r\n * @en_US width\r\n */\r\n readonly width = input<string, XNumber>('', { transform: XToCssPixelValue });\r\n /**\r\n * @zh_CN 清除按钮\r\n * @en_US Clear button\r\n */\r\n readonly clearable = input<boolean, XBoolean>(this.config?.clearable ?? true, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 异步加载\r\n * @en_US Asynchronous loading\r\n */\r\n readonly async = input<boolean, XBoolean>(false, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 展示方位\r\n * @en_US Display position\r\n */\r\n readonly placement = input<XPlacement>(this.config?.placement ?? 'bottom');\r\n /**\r\n * @zh_CN 多选功能\r\n * @en_US Multiple choice\r\n */\r\n readonly multiple = input<boolean, XBoolean>(false, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 多选添加全选功能\r\n * @en_US Multi choice to add full selection function\r\n */\r\n readonly selectAll = input<boolean, XBoolean>(false, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 全选的文字\r\n * @en_US Selected all text\r\n */\r\n readonly selectAllText = input<string>(this.config?.selectAllText ?? '');\r\n /**\r\n * @zh_CN 节点模板\r\n * @en_US Node template\r\n */\r\n readonly nodeTpl = input<TemplateRef<any>>();\r\n /**\r\n * @zh_CN 显示边框\r\n * @en_US Display Border\r\n */\r\n readonly bordered = input<boolean, XBoolean>(this.config?.bordered ?? true, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 下拉框的最大高度\r\n * @en_US The biggest height of the drop-down box\r\n */\r\n readonly portalMaxHeight = input<string, XNumber>(this.config?.portalMaxHeight ?? '12rem', {\r\n transform: XToCssPixelValue\r\n });\r\n /**\r\n * @zh_CN 下拉框的宽度\r\n * @en_US The width of the drop-down box\r\n */\r\n readonly portalWidth = input<string, XNumber>('', { transform: XToCssPixelValue });\r\n /**\r\n * @zh_CN 输入搜索\r\n * @en_US Input search\r\n */\r\n readonly search = input<boolean, XBoolean>(this.config?.search ?? false, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 匹配区分大小写\r\n * @en_US Case-sensitive\r\n */\r\n readonly caseSensitive = input<boolean, XBoolean>(this.config?.caseSensitive ?? true, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 输入延迟执行时间,ms\r\n * @en_US Enter a delay execution time, ms\r\n */\r\n readonly debounceTime = input<number, XNumber>(this.config?.debounceTime ?? 200, { transform: XToNumber });\r\n /**\r\n * @zh_CN 多选时显示的选中数据个数,其它的在更多中显示,默认全部显示\r\n * @en_US Display the number of data in the maximum election, and the others are displayed in more of them\r\n * @default 显示所有\r\n */\r\n readonly maxTagCount = input<number, XNumber>(this.config?.maxTagCount ?? -1, { transform: XToNumber });\r\n /**\r\n * @zh_CN 多选时显示的个数超过指定个数,显示的文字模版\r\n * @en_US The number displayed when multiple choices exceeds the specified number, the displayed text template displayed\r\n * @default '更多{{surplus}}个选中'\r\n */\r\n readonly maxTagContent = input<XTemplate>(this.config?.maxTagContent ?? '');\r\n /**\r\n * @zh_CN 开启虚拟滚动\r\n * @en_US Turn on virtual scrolling\r\n */\r\n readonly virtualScroll = input<boolean, XBoolean>(this.config?.virtualScroll ?? false, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 搜索时允许选择输入的值\r\n * @en_US Allow the value of the input when searching for\r\n */\r\n readonly allowInput = input<boolean, XBoolean>(false, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 尺寸\r\n * @en_US Size\r\n */\r\n override readonly size = input<XSize>(this.config?.size ?? 'medium');\r\n /**\r\n * @zh_CN 输入框点击样式\r\n * @en_US Input pointer\r\n */\r\n override readonly pointer = input<boolean, XBoolean>(false, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 标签\r\n * @en_US Label\r\n */\r\n override readonly label = input<string>('');\r\n /**\r\n * @zh_CN 标签宽度\r\n * @en_US Label width\r\n */\r\n override readonly labelWidth = input<string, XNumber>('', { transform: XToCssPixelValue });\r\n /**\r\n * @zh_CN 标签文字对齐方式\r\n * @en_US Label text alignment method\r\n */\r\n override readonly labelAlign = input<XAlign>('start');\r\n /**\r\n * @zh_CN flex 布局下的子元素水平排列方式\r\n * @en_US The level of sub-element level arrangement under flex layout\r\n */\r\n override readonly justify = input<XJustify>('start');\r\n /**\r\n * @zh_CN flex 布局下的子元素垂直排列方式\r\n * @en_US sub-element vertical arrangement method under flex layout\r\n */\r\n override readonly align = input<XAlign>('start');\r\n /**\r\n * @zh_CN flex 布局下的子元素排列方向\r\n * @en_US The direction of the sub-element arrangement under flex layout\r\n */\r\n override readonly direction = input<XDirection>('column');\r\n /**\r\n * @zh_CN 输入提示信息\r\n * @en_US Enter prompt information\r\n */\r\n override readonly placeholder = input<string | string[]>('');\r\n /**\r\n * @zh_CN 禁用\r\n * @en_US Disabled\r\n */\r\n override readonly disabled = input<boolean, XBoolean>(false, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 必填\r\n * @en_US Required\r\n */\r\n override readonly required = input<boolean, XBoolean>(false, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 只读\r\n * @en_US Readonly\r\n */\r\n override readonly readonly = input<boolean, XBoolean>(false, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 值模板\r\n * @en_US Node template\r\n */\r\n override readonly valueTpl = input<TemplateRef<any>>();\r\n /**\r\n * @zh_CN 值模板参数\r\n * @en_US Node template\r\n */\r\n override readonly valueTplContext = input();\r\n /**\r\n * @zh_CN 前置标签\r\n * @en_US Before label\r\n */\r\n override readonly before = input<XTemplate>();\r\n /**\r\n * @zh_CN 后置标签\r\n * @en_US After label\r\n */\r\n override readonly after = input<XTemplate>();\r\n /**\r\n * @zh_CN 正则验证规则\r\n * @en_US Regular verification rules\r\n */\r\n override readonly pattern = input<RegExp | RegExp[] | any>(null);\r\n /**\r\n * @zh_CN 验证不通过提示文字\r\n * @en_US Verify not pass the prompt text\r\n */\r\n override readonly message = input<string | string[]>([]);\r\n /**\r\n * @zh_CN 激活状态\r\n * @en_US Activation state\r\n */\r\n override readonly active = model<boolean>(false);\r\n /**\r\n * @zh_CN 输入验证函数\r\n * @en_US Enter the verification function\r\n */\r\n override readonly inputValidator = input<(value: any) => boolean>();\r\n}\r\n\r\n/**\r\n * Select Option\r\n */\r\nexport interface XSelectOption extends XFormOption {\r\n /**\r\n * @zh_CN 节点数据\r\n * @en_US Node data\r\n */\r\n data?: XData<XSelectNode>;\r\n /**\r\n * @zh_CN 清除按钮\r\n * @en_US Clear button\r\n */\r\n clearable?: boolean;\r\n /**\r\n * @zh_CN 异步加载\r\n * @en_US Asynchronous loading\r\n */\r\n async?: boolean;\r\n /**\r\n * @zh_CN 展示方位\r\n * @en_US Display position\r\n */\r\n placement?: XPlacement;\r\n /**\r\n * @zh_CN 多选功能\r\n * @en_US Multiple choice\r\n */\r\n multiple?: boolean;\r\n /**\r\n * @zh_CN 多选添加全选功能\r\n * @en_US Multi choice to add full selection function\r\n */\r\n selectAll?: boolean;\r\n /**\r\n * @zh_CN 全选的文字\r\n * @en_US Selected all text\r\n */\r\n selectAllText?: string;\r\n /**\r\n * @zh_CN 节点模板\r\n * @en_US Node template\r\n */\r\n nodeTpl?: TemplateRef<any>;\r\n /**\r\n * @zh_CN 显示边框\r\n * @en_US Display Border\r\n */\r\n bordered?: boolean;\r\n /**\r\n * @zh_CN 下拉框的最大高度\r\n * @en_US The biggest height of the drop-down box\r\n */\r\n portalMaxHeight?: string;\r\n /**\r\n * @zh_CN 下拉框的宽度\r\n * @en_US The width of the drop-down box\r\n */\r\n portalWidth?: string;\r\n /**\r\n * @zh_CN 输入搜索\r\n * @en_US Input search\r\n */\r\n search?: boolean;\r\n /**\r\n * @zh_CN 匹配区分大小写\r\n * @en_US Case-sensitive\r\n */\r\n caseSensitive?: boolean;\r\n /**\r\n * @zh_CN 输入延迟执行时间,ms\r\n * @en_US Enter a delay execution time, ms\r\n */\r\n debounceTime?: number;\r\n /**\r\n * @zh_CN 多选时显示的选中数据个数,其它的在更多中显示,默认全部显示\r\n * @en_US Display the number of data in the maximum election, and the others are displayed in more of them\r\n * @default 显示所有\r\n */\r\n maxTagCount?: number;\r\n /**\r\n * @zh_CN 多选时显示的个数超过指定个数,显示的文字模版\r\n * @en_US The number displayed when multiple choices exceeds the specified number, the displayed text template displayed\r\n * @default '更多{{surplus}}个选中'\r\n */\r\n maxTagContent?: XTemplate;\r\n /**\r\n * @zh_CN 开启虚拟滚动\r\n * @en_US Turn on virtual scrolling\r\n */\r\n virtualScroll?: boolean;\r\n /**\r\n * @zh_CN 尺寸\r\n * @en_US Size\r\n */\r\n size?: XSize;\r\n /**\r\n * @zh_CN 输入框点击样式\r\n * @en_US Input pointer\r\n */\r\n pointer?: boolean;\r\n /**\r\n * @zh_CN 标签\r\n * @en_US Label\r\n */\r\n label?: string;\r\n /**\r\n * @zh_CN 标签宽度\r\n * @en_US Label width\r\n */\r\n labelWidth?: string;\r\n /**\r\n * @zh_CN 标签文字对齐方式\r\n * @en_US Label text alignment method\r\n */\r\n labelAlign?: XAlign;\r\n /**\r\n * @zh_CN flex 布局下的子元素水平排列方式\r\n * @en_US The level of sub-element level arrangement under flex layout\r\n */\r\n justify?: XJustify;\r\n /**\r\n * @zh_CN flex 布局下的子元素垂直排列方式\r\n * @en_US sub-element vertical arrangement method under flex layout\r\n */\r\n align?: XAlign;\r\n /**\r\n * @zh_CN flex 布局下的子元素排列方向\r\n * @en_US The direction of the sub-element arrangement under flex layout\r\n */\r\n direction?: XDirection;\r\n /**\r\n * @zh_CN 输入提示信息\r\n * @en_US Enter prompt information\r\n */\r\n placeholder?: string;\r\n /**\r\n * @zh_CN 禁用\r\n * @en_US Disabled\r\n */\r\n disabled?: boolean;\r\n /**\r\n * @zh_CN 必填\r\n * @en_US Required\r\n */\r\n required?: boolean;\r\n /**\r\n * @zh_CN 只读\r\n * @en_US Readonly\r\n */\r\n readonly?: boolean;\r\n /**\r\n * @zh_CN 值模板\r\n * @en_US Node template\r\n */\r\n valueTpl?: TemplateRef<any>;\r\n /**\r\n * @zh_CN 值模板参数\r\n * @en_US Node template\r\n */\r\n valueTplContext?: any;\r\n /**\r\n * @zh_CN 前置标签\r\n * @en_US Before label\r\n */\r\n before?: XTemplate;\r\n /**\r\n * @zh_CN 后置标签\r\n * @en_US After label\r\n */\r\n after?: XTemplate;\r\n /**\r\n * @zh_CN 正则验证规则\r\n * @en_US Regular verification rules\r\n */\r\n pattern?: RegExp | RegExp[];\r\n /**\r\n * @zh_CN 验证不通过提示文字\r\n * @en_US Verify not pass the prompt text\r\n */\r\n message?: string | string[];\r\n /**\r\n * @zh_CN 激活状态\r\n * @en_US Activation state\r\n */\r\n active?: boolean;\r\n /**\r\n * @zh_CN 输入验证函数\r\n * @en_US Enter the verification function\r\n */\r\n inputValidator?: (value: any) => boolean;\r\n}\r\n\r\n/**\r\n * @zh_CN Select 数据对象\r\n * @en_US Select data object\r\n */\r\nexport interface XSelectNode extends XParentIdentityProperty<XSelectNode> {}\r\n\r\n/**\r\n * Select Portal\r\n * @selector x-select-portal\r\n * @decorator component\r\n */\r\nexport const XSelectPortalPrefix = 'x-select-portal';\r\n","import {\r\n Component,\r\n ViewEncapsulation,\r\n ChangeDetectionStrategy,\r\n OnInit,\r\n OnDestroy,\r\n HostBinding,\r\n HostListener,\r\n TemplateRef,\r\n input,\r\n viewChild,\r\n model,\r\n output,\r\n signal,\r\n computed,\r\n inject\r\n} from '@angular/core';\r\nimport { XSelectNode, XSelectPortalPrefix } from './select.property';\r\nimport { Subject } from 'rxjs';\r\nimport { XConnectBaseAnimation, XPlacement, XSize } from '@ng-nest/ui/core';\r\nimport { map, takeUntil } from 'rxjs/operators';\r\nimport { XListComponent } from '@ng-nest/ui/list';\r\nimport { XInputComponent } from '@ng-nest/ui/input';\r\nimport { XI18nSelect, XI18nService, zh_CN } from '@ng-nest/ui/i18n';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { toSignal } from '@angular/core/rxjs-interop';\r\n\r\n@Component({\r\n selector: `${XSelectPortalPrefix}`,\r\n standalone: true,\r\n imports: [FormsModule, XListComponent],\r\n templateUrl: './select-portal.component.html',\r\n styleUrls: ['./select-portal.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n animations: [XConnectBaseAnimation]\r\n})\r\nexport class XSelectPortalComponent implements OnInit, OnDestroy {\r\n @HostBinding('@x-connect-base-animation') public get getPlacement() {\r\n return this.placement();\r\n }\r\n @HostListener('@x-connect-base-animation.done', ['$event']) done(event: { toState: any }) {\r\n event.toState !== 'void' && this.animating.emit(false);\r\n }\r\n @HostListener('@x-connect-base-animation.start', ['$event']) start(event: { toState: any }) {\r\n event.toState !== 'void' && this.animating.emit(true);\r\n }\r\n\r\n private unSubject = new Subject<void>();\r\n private i18n = inject(XI18nService);\r\n\r\n list = viewChild.required<XListComponent>('list');\r\n\r\n value = model<any>();\r\n data = input<XSelectNode[]>();\r\n placement = input<XPlacement>('bottom');\r\n multiple = input(1);\r\n nodeTpl = input<TemplateRef<any>>();\r\n inputCom = input<XInputComponent>();\r\n portalMaxHeight = input<string>('');\r\n objectArray = input<boolean>(false);\r\n selectAll = input(false);\r\n selectAllText = input<string>('');\r\n caseSensitive = input<boolean>(true);\r\n search = input<boolean>(false);\r\n virtualScroll = input<boolean>(false);\r\n keywordText = input<any>('');\r\n size = input<XSize>();\r\n\r\n animating = output<boolean>();\r\n nodeClick = output<{ node: XSelectNode | null; value?: XSelectNode[] | (string | number)[] }>();\r\n\r\n closeSubject!: Subject<void>;\r\n keydownSubject!: Subject<KeyboardEvent>;\r\n active = signal(-1);\r\n locale = toSignal(this.i18n.localeChange.pipe(map((x) => x.select as XI18nSelect)), { initialValue: zh_CN.select });\r\n getSelectAllText = computed(() => this.selectAllText() || this.locale().selectAllText);\r\n\r\n ngOnInit(): void {\r\n this.closeSubject.pipe(takeUntil(this.unSubject)).subscribe(() => {\r\n this.list().setUnActive(this.active());\r\n });\r\n this.keydownSubject.pipe(takeUntil(this.unSubject)).subscribe((x) => {\r\n this.list().keydown(x);\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.unSubject.next();\r\n this.unSubject.complete();\r\n }\r\n\r\n stopPropagation(event: Event): void {\r\n event.stopPropagation();\r\n }\r\n\r\n onNodeClick(node: XSelectNode) {\r\n if (this.multiple() === 0) {\r\n this.nodeClick.emit({ node, value: this.value() });\r\n } else {\r\n this.nodeClick.emit({ node });\r\n }\r\n }\r\n\r\n onSelectAll(_isSelectAll: boolean) {\r\n this.nodeClick.emit({ node: null, value: this.value() });\r\n }\r\n\r\n onActive(num: number) {\r\n this.active.set(num);\r\n }\r\n\r\n onTabOut() {\r\n this.closeSubject.next();\r\n }\r\n}\r\n","<div\r\n #selectPortal\r\n class=\"x-select-portal\"\r\n (click)=\"inputCom()?.inputFocus(); stopPropagation($event)\"\r\n [style.maxHeight]=\"portalMaxHeight()\"\r\n>\r\n <x-list\r\n #list\r\n [data]=\"data()!\"\r\n [(ngModel)]=\"value\"\r\n (nodeClick)=\"onNodeClick($event)\"\r\n (keyManagerChange)=\"onActive($event)\"\r\n (keyManagerTabOut)=\"onTabOut()\"\r\n (onSelectAll)=\"onSelectAll($event)\"\r\n checked\r\n [objectArray]=\"objectArray()\"\r\n [multiple]=\"multiple()\"\r\n [selectAll]=\"selectAll()\"\r\n [selectAllText]=\"getSelectAllText()!\"\r\n [nodeTpl]=\"nodeTpl()\"\r\n [scrollElement]=\"selectPortal\"\r\n [virtualScroll]=\"virtualScroll()\"\r\n [size]=\"size()!\"\r\n [heightAdaption]=\"selectPortal\"\r\n [keywordText]=\"keywordText()\"\r\n [caseSensitive]=\"caseSensitive()\"\r\n [inPortal]=\"true\"\r\n ></x-list>\r\n</div>\r\n","import { Subject, fromEvent, of } from 'rxjs';\r\nimport {\r\n Component,\r\n OnInit,\r\n ViewEncapsulation,\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Renderer2,\r\n ElementRef,\r\n SimpleChanges,\r\n OnChanges,\r\n ViewContainerRef,\r\n TemplateRef,\r\n inject,\r\n AfterViewInit,\r\n OnDestroy,\r\n viewChild,\r\n computed,\r\n signal,\r\n ComponentRef,\r\n effect\r\n} from '@angular/core';\r\nimport { XSelectNode, XSelectProperty, XSelectPrefix } from './select.property';\r\nimport {\r\n XIsEmpty,\r\n XIsObservable,\r\n XIsChange,\r\n XSetData,\r\n XPositionTopBottom,\r\n XIsObjectArray,\r\n XIsFunction,\r\n XIsArray,\r\n XIsString,\r\n XRemove,\r\n XResize,\r\n XPlacement,\r\n XComputed,\r\n XResizeObserver,\r\n XParents,\r\n XIsUndefined,\r\n XIsNull\r\n} from '@ng-nest/ui/core';\r\nimport { XPortalService, XPortalOverlayRef, XPortalConnectedPosition } from '@ng-nest/ui/portal';\r\nimport { XInputComponent } from '@ng-nest/ui/input';\r\nimport { XSelectPortalComponent } from './select-portal.component';\r\nimport {\r\n Overlay,\r\n FlexibleConnectedPositionStrategy,\r\n ConnectedOverlayPositionChange,\r\n OverlayConfig,\r\n OverlayRef\r\n} from '@angular/cdk/overlay';\r\nimport { takeUntil, throttleTime, debounceTime, distinctUntilChanged, map, filter, delay } from 'rxjs/operators';\r\nimport {\r\n DOWN_ARROW,\r\n UP_ARROW,\r\n ENTER,\r\n MAC_ENTER,\r\n ESCAPE,\r\n LEFT_ARROW,\r\n RIGHT_ARROW,\r\n TAB,\r\n BACKSPACE\r\n} from '@angular/cdk/keycodes';\r\nimport { XValueAccessor } from '@ng-nest/ui/base-form';\r\nimport { XI18nSelect, XI18nService, zh_CN } from '@ng-nest/ui/i18n';\r\nimport { DOCUMENT } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { XTagComponent } from '@ng-nest/ui/tag';\r\nimport { XOutletDirective } from '@ng-nest/ui/outlet';\r\nimport { toSignal } from '@angular/core/rxjs-interop';\r\n\r\n@Component({\r\n selector: `${XSelectPrefix}`,\r\n standalone: true,\r\n imports: [FormsModule, ReactiveFormsModule, XTagComponent, XInputComponent, XOutletDirective],\r\n templateUrl: './select.component.html',\r\n styleUrls: ['./select.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [XValueAccessor(XSelectComponent)]\r\n})\r\nexport class XSelectComponent extends XSelectProperty implements OnInit, OnChanges, AfterViewInit, OnDestroy {\r\n private i18n = inject(XI18nService);\r\n document = inject(DOCUMENT);\r\n private renderer = inject(Renderer2);\r\n override cdr = inject(ChangeDetectorRef);\r\n private portalService = inject(XPortalService);\r\n private viewContainerRef = inject(ViewContainerRef);\r\n private elementRef = inject(ElementRef);\r\n private overlay = inject(Overlay);\r\n\r\n inputCom = viewChild.required<XInputComponent>('inputCom');\r\n select = viewChild.required<ElementRef<HTMLElement>>('select');\r\n multipleValueTpl = viewChild.required<TemplateRef<void>>('multipleValueTpl');\r\n multipleInput = viewChild<XInputComponent>('multipleInput');\r\n\r\n getReadonly = computed(() => this.readonly() || !this.search());\r\n getMaxTagContent = computed(() => this.maxTagContent() || this.locale().maxTagContent);\r\n\r\n noPortalWidthPlacements: XPlacement[] = ['bottom', 'top'];\r\n hasPortalWidthPlacements: XPlacement[] = ['bottom-start', 'bottom-end', 'top-start', 'top-end'];\r\n\r\n override writeValue(value: any) {\r\n if (this.multiple()) {\r\n if (XIsNull(value) || XIsUndefined(value)) {\r\n value = [];\r\n }\r\n if (!XIsArray(value)) {\r\n value = [value];\r\n }\r\n }\r\n this.value.set(value);\r\n this.setDisplayValue();\r\n }\r\n\r\n enter = signal(false);\r\n showClearable = signal(false);\r\n displayValue = signal('');\r\n multipleSearchValue = signal('');\r\n nodes = signal<XSelectNode[]>([]);\r\n selectedNodes = signal<XSelectNode[]>([]);\r\n displayNodes = signal<XSelectNode[]>([]);\r\n displayMore = signal('');\r\n showDisplayMore = signal(false);\r\n searchNodes = signal<XSelectNode[]>([]);\r\n portal!: XPortalOverlayRef<XSelectPortalComponent>;\r\n icon = signal('fto-chevron-down');\r\n iconSpin = signal(false);\r\n animating = signal(false);\r\n objectArray = signal(false);\r\n selectedSurplus = signal(0);\r\n selectedTotal = signal(0);\r\n composition = signal(false);\r\n locale = toSignal(this.i18n.localeChange.pipe(map((x) => x.select as XI18nSelect)), { initialValue: zh_CN.select });\r\n closeSubject: Subject<void> = new Subject();\r\n keydownSubject: Subject<KeyboardEvent> = new Subject();\r\n inputChange: Subject<any> = new Subject();\r\n multipleInputSizeChange = new Subject<number>();\r\n private unSubject = new Subject<void>();\r\n private resizeObserver!: XResizeObserver;\r\n\r\n valueTplSignal = computed(() => {\r\n if (this.multiple()) {\r\n return this.multipleValueTpl();\r\n }\r\n return this.valueTpl();\r\n });\r\n\r\n valueTplContextSignal = signal<{ $node: any; $isValue: boolean }>({ $node: null, $isValue: true });\r\n placements = computed(() => {\r\n let placement = this.placement();\r\n if (this.portalWidth()) {\r\n if (placement === 'bottom') {\r\n placement = 'bottom-start';\r\n }\r\n return [placement, ...this.hasPortalWidthPlacements];\r\n } else {\r\n return [placement, ...this.noPortalWidthPlacements];\r\n }\r\n });\r\n\r\n private realPlacement = signal<XPlacement | null>(null);\r\n portalComponent = signal<ComponentRef<XSelectPortalComponent> | null>(null);\r\n portalOverlayRef = signal<OverlayRef | null>(null);\r\n inputChanged = toSignal(this.inputChange);\r\n portalData = computed(() => {\r\n const nodes = this.nodes();\r\n if (XIsFunction(this.data()) || XIsEmpty(this.inputChanged())) return nodes;\r\n return this.searchNodes();\r\n });\r\n allowAgian = signal(true);\r\n\r\n constructor() {\r\n super();\r\n effect(() => this.portalComponent()?.setInput('data', this.portalData()));\r\n effect(() => this.portalComponent()?.setInput('value', this.value()));\r\n effect(() => this.portalComponent()?.setInput('placement', this.realPlacement()));\r\n effect(() => this.portalComponent()?.setInput('multiple', this.multiple() === true ? 0 : 1));\r\n effect(() => this.portalComponent()?.setInput('nodeTpl', this.nodeTpl()));\r\n effect(() => this.portalComponent()?.setInput('inputCom', this.inputCom()));\r\n effect(() => this.portalComponent()?.setInput('portalMaxHeight', this.portalMaxHeight()));\r\n effect(() => this.portalComponent()?.setInput('objectArray', this.objectArray()));\r\n effect(() => this.portalComponent()?.setInput('selectAll', this.selectAll()));\r\n effect(() => this.portalComponent()?.setInput('selectAllText', this.selectAllText()));\r\n effect(() => this.portalComponent()?.setInput('caseSensitive', this.caseSensitive()));\r\n effect(() => this.portalComponent()?.setInput('search', this.search()));\r\n effect(() => this.portalComponent()?.setInput('virtualScroll', this.virtualScroll()));\r\n effect(() => this.portalComponent()?.setInput('size', this.size()));\r\n effect(() => this.portalComponent()?.setInput('keywordText', this.inputChanged()));\r\n }\r\n\r\n ngOnInit() {\r\n this.setSubject();\r\n this.setParantScroll();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n const { data } = changes;\r\n XIsChange(data) && this.setData();\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.setPortal();\r\n if (this.multiple() && this.inputCom().inputValueRef()) {\r\n XResize(this.inputCom().inputValueRef()?.nativeElement)\r\n .pipe(debounceTime(30), takeUntil(this.unSubject))\r\n .subscribe((x) => {\r\n this.resizeObserver = x.resizeObserver;\r\n this.setMutipleInputSize();\r\n });\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.unSubject.next();\r\n this.unSubject.complete();\r\n this.resizeObserver?.disconnect();\r\n }\r\n\r\n setData() {\r\n if (this.async()) return;\r\n XSetData<XSelectNode>(this.data(), this.unSubject).subscribe((x) => {\r\n this.nodes.set(x);\r\n this.setDisplayValue();\r\n this.setPortal();\r\n });\r\n }\r\n\r\n setSubject() {\r\n this.closeSubject.pipe(takeUntil(this.unSubject)).subscribe(() => {\r\n this.closePortal();\r\n });\r\n this.inputChange\r\n .pipe(debounceTime(this.debounceTime() as number), distinctUntilChanged(), takeUntil(this.unSubject))\r\n .subscribe((x) => {\r\n this.modelChange(x);\r\n });\r\n this.keydownSubject.pipe(throttleTime(10), takeUntil(this.unSubject)).subscribe((x) => {\r\n const keyCode = x.keyCode;\r\n if (\r\n !this.portalAttached() &&\r\n [DOWN_ARROW, UP_ARROW, LEFT_ARROW, RIGHT_ARROW, ENTER, MAC_ENTER, BACKSPACE].includes(keyCode)\r\n ) {\r\n this.modelChange(this.displayValue());\r\n }\r\n if (this.portalAttached() && [ESCAPE].includes(keyCode)) {\r\n this.closeSubject.next();\r\n }\r\n });\r\n this.multipleInputSizeChange.pipe(distinctUntilChanged(), takeUntil(this.unSubject)).subscribe((x) => {\r\n if (this.multipleInput()) {\r\n const input = this.multipleInput()?.elementRef.nativeElement;\r\n this.renderer.setStyle(input, 'width', `${x}px`);\r\n }\r\n });\r\n }\r\n\r\n setMutipleInputSize() {\r\n const ivf = this.inputCom().inputValueRef()?.nativeElement as HTMLDivElement;\r\n let { clientWidth, scrollHeight } = ivf;\r\n const len = ivf.children.length;\r\n let lastRowTagTop = -1;\r\n let lines = 1;\r\n let rowTagTop = -1;\r\n let lastRowTagsWidth = 0;\r\n let marginLeft = 0;\r\n let marginTop = 0;\r\n for (let i = len - 1; i >= 0; i--) {\r\n const ele = ivf.children[i] as HTMLElement;\r\n if (ele.tagName === 'X-TAG') {\r\n const { offsetTop, offsetWidth } = ele;\r\n const style = XComputed(ele);\r\n marginLeft = Number(style.marginLeft.replace('px', ''));\r\n marginTop = Number(style.marginTop.replace('px', ''));\r\n if (rowTagTop === -1) {\r\n rowTagTop = offsetTop;\r\n } else if (rowTagTop !== offsetTop) {\r\n lines++;\r\n rowTagTop = offsetTop;\r\n }\r\n if (lastRowTagTop === -1) {\r\n lastRowTagTop = offsetTop;\r\n }\r\n if (lastRowTagTop === offsetTop) {\r\n lastRowTagsWidth += offsetWidth + marginLeft;\r\n }\r\n }\r\n }\r\n const height = scrollHeight + (lines > 1 ? marginTop : 0);\r\n this.renderer.setStyle(this.inputCom().inputRef().nativeElement, 'height', `${height}px`);\r\n if (this.multipleInput()) {\r\n this.multipleInputSizeChange.next(clientWidth - lastRowTagsWidth - marginLeft);\r\n }\r\n this.portal?.overlayRef?.updatePosition();\r\n }\r\n\r\n menter() {\r\n if (this.disabledComputed() || !this.clearable() || this.iconSpin()) return;\r\n this.enter.set(true);\r\n if ((!this.multiple() && !XIsEmpty(this.displayValue())) || (this.multiple() && !XIsEmpty(this.displayNodes()))) {\r\n this.icon.set('');\r\n this.showClearable.set(true);\r\n }\r\n }\r\n\r\n mleave() {\r\n if (this.disabledComputed() || !this.clearable() || this.iconSpin()) return;\r\n this.enter.set(false);\r\n if (this.clearable()) {\r\n this.icon.set('fto-chevron-down');\r\n this.showClearable.set(false);\r\n }\r\n }\r\n\r\n modelChange(value: string | number) {\r\n if (XIsFunction(this.data())) {\r\n if (!this.portalAttached()) {\r\n this.showPortal();\r\n }\r\n this.icon.set('fto-loader');\r\n this.iconSpin.set(true);\r\n XSetData<XSelectNode>(this.data(), this.unSubject, true, value as any).subscribe((x) => {\r\n this.icon.set('');\r\n this.iconSpin.set(false);\r\n if (!this.enter() && this.clearable()) {\r\n this.showClearable.set(false);\r\n }\r\n this.nodes.set(x);\r\n });\r\n return;\r\n }\r\n if (this.nodes()) {\r\n if (!this.portalAttached()) {\r\n this.showPortal();\r\n }\r\n if (XIsEmpty(value)) {\r\n this.searchNodes.set(this.nodes());\r\n } else {\r\n this.setSearchNodes(value);\r\n }\r\n }\r\n }\r\n\r\n setSearchNodes(value: string | number) {\r\n if (this.caseSensitive()) {\r\n this.searchNodes.set(this.nodes().filter((x) => String(x.label).indexOf(String(value)) >= 0));\r\n } else {\r\n this.searchNodes.set(\r\n this.nodes().filter((x) => String(x.label).toLowerCase().indexOf(String(value).toLowerCase()) >= 0)\r\n );\r\n }\r\n }\r\n\r\n setParantScroll() {\r\n if (!this.document) return;\r\n const parents = XParents(this.elementRef.nativeElement);\r\n let firstScroll: HTMLElement | null = null;\r\n for (let item of parents) {\r\n if (item.clientHeight < item.scrollHeight) {\r\n firstScroll = item;\r\n break;\r\n }\r\n }\r\n if (firstScroll && firstScroll.tagName !== 'BODY') {\r\n fromEvent(firstScroll, 'scroll')\r\n .pipe(\r\n filter(() => this.portalAttached()!),\r\n takeUntil(this.unSubject)\r\n )\r\n .subscribe(() => {\r\n this.portal?.overlayRef?.updatePosition();\r\n const eract = this.elementRef.nativeElement.getBoundingClientRect();\r\n const frect = firstScroll!.getBoundingClientRect();\r\n if (eract.top + eract.height - frect.top < 0 || eract.bottom > frect.bottom) {\r\n this.closeSubject.next();\r\n }\r\n });\r\n }\r\n }\r\n\r\n clearEmit() {\r\n this.value.update((x) => {\r\n if (this.multiple()) {\r\n x.splice(0, x.length);\r\n return x;\r\n } else {\r\n return '';\r\n }\r\n });\r\n this.displayValue.set('');\r\n this.multipleSearchValue.set('');\r\n this.selectedNodes.set([]);\r\n this.setDisplayNodes();\r\n this.valueTplContextSignal.update((x) => {\r\n x.$node = null;\r\n return { ...x };\r\n });\r\n this.mleave();\r\n this.inputChange.next('');\r\n if (this.onChange) this.onChange(this.value());\r\n }\r\n\r\n setDisplayValue(clickNode?: XSelectNode) {\r\n if (this.nodes().length > 0) {\r\n if (this.multiple()) {\r\n if (XIsEmpty(this.value())) {\r\n if (XIsUndefined(this.value()) || XIsNull(this.value())) {\r\n this.value.set([]);\r\n } else {\r\n this.value.update((x) => {\r\n x.splice(0, x.length);\r\n return x;\r\n });\r\n }\r\n this.displayValue.set('');\r\n this.selectedNodes.set([]);\r\n this.displayNodes.set([]);\r\n this.displayMore.set('');\r\n this.valueTplContextSignal.update((x) => {\r\n x.$node = null;\r\n return { ...x };\r\n });\r\n this.setDisplayNodes();\r\n } else {\r\n let ids = [];\r\n let selected = [];\r\n if (XIsObjectArray<XSelectNode[]>(this.value())) {\r\n this.objectArray.set(true);\r\n ids = this.value().map((x: XSelectNode) => x.id);\r\n } else {\r\n this.objectArray.set(false);\r\n ids = this.value();\r\n }\r\n if (clickNode) {\r\n if (clickNode.selected) {\r\n this.selectedNodes.update((x) => {\r\n x.push(clickNode);\r\n return [...x];\r\n });\r\n } else {\r\n this.selectedNodes.update((x) => {\r\n XRemove(x, (y) => y.id === clickNode.id);\r\n return [...x];\r\n });\r\n }\r\n } else {\r\n for (let id of ids) {\r\n let node = this.nodes().find((x) => x.id === id);\r\n if (node) selected.push(node);\r\n }\r\n this.selectedNodes.set(selected);\r\n }\r\n this.setDisplayNodes();\r\n this.displayValue.set(\r\n this.selectedNodes()\r\n .map((x) => x.label)\r\n .join(',')\r\n );\r\n this.valueTplContextSignal.update((x) => {\r\n x.$node = [...this.selectedNodes()];\r\n return { ...x };\r\n });\r\n }\r\n } else {\r\n let node = this.nodes().find((x) => x.id === this.value());\r\n if (node) {\r\n this.displayValue.set(node.label);\r\n this.valueTplContextSignal.update((x) => {\r\n x.$node = node;\r\n return { ...x };\r\n });\r\n } else {\r\n this.displayValue.set('');\r\n this.valueTplContextSignal.update((x) => {\r\n x.$node = null;\r\n return { ...x };\r\n });\r\n }\r\n }\r\n }\r\n }\r\n\r\n closeNode(event: Event, node: XSelectNode, index: number) {\r\n let inx = -1;\r\n if (XIsObjectArray<XSelectNode[]>(this.value())) {\r\n inx = this.value().findIndex((y: XSelectNode) => y.id === node.id);\r\n } else {\r\n inx = this.value().findIndex((y: number | string) => y === node.id);\r\n }\r\n if (inx >= 0) {\r\n this.value.update((x) => {\r\n x.splice(inx, 1);\r\n return x;\r\n });\r\n if (this.onChange) this.onChange(this.value());\r\n this.selectedNodes.update((x) => {\r\n x.splice(index, 1);\r\n return x;\r\n });\r\n this.setDisplayNodes();\r\n }\r\n event.stopPropagation();\r\n }\r\n\r\n setDisplayNodes() {\r\n if (!this.multiple()) return;\r\n const maxlen = this.selectedNodes().length;\r\n let len = 0;\r\n if (this.maxTagCount() >= 0) {\r\n len = maxlen > this.maxTagCount() ? this.maxTagCount() : maxlen;\r\n } else {\r\n len = maxlen;\r\n }\r\n let more = maxlen - len;\r\n more = more < 0 ? 0 : more;\r\n this.displayNodes.set(this.selectedNodes().slice(0, len));\r\n this.showDisplayMore.set(more > 0);\r\n if (XIsString(this.getMaxTagContent())) {\r\n this.displayMore.set(more > 0 ? (this.getMaxTagContent() as string).replace(/\\{\\{surplus\\}\\}/g, `${more}`) : '');\r\n } else {\r\n this.selectedSurplus.set(more);\r\n this.selectedTotal.set(maxlen);\r\n }\r\n setTimeout(() => this.setMutipleInputSize());\r\n }\r\n\r\n portalAttached() {\r\n return this.portal?.overlayRef?.hasAttached();\r\n }\r\n\r\n closePortal() {\r\n if (this.portalAttached()) {\r\n this.portal?.overlayRef?.detach();\r\n this.active.set(false);\r\n this.multipleSearchValue.set('');\r\n this.allowAgian.set(false);\r\n of(true)\r\n .pipe(delay(200))\r\n .subscribe(() => this.allowAgian.set(true));\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n destroyPortal() {\r\n this.portal?.overlayRef?.dispose();\r\n }\r\n\r\n showPortal(click = false) {\r\n if (this.disabledComputed() || !this.allowAgian() || this.iconSpin() || this.animating()) return;\r\n this.active.set(true);\r\n if ((this.async() && XIsObservable(this.data()) && this.nodes().length === 0) || XIsFunction(this.data())) {\r\n this.icon.set('fto-loader');\r\n this.iconSpin.set(true);\r\n XSetData<XSelectNode>(this.data(), this.unSubject, true, click ? '' : this.displayValue()).subscribe((x) => {\r\n this.icon.set('fto-chevron-down');\r\n this.iconSpin.set(false);\r\n if (!this.enter() && this.clearable()) {\r\n this.showClearable.set(false);\r\n }\r\n this.nodes.set(x);\r\n if (!this.search()) this.setDisplayValue();\r\n this.createPortal();\r\n });\r\n } else {\r\n this.createPortal();\r\n }\r\n if (this.search() && this.multiple()) {\r\n this.multipleInput()?.inputFocus();\r\n } else {\r\n this.inputCom().inputFocus('focus');\r\n }\r\n }\r\n\r\n createPortal() {\r\n this.nodes.update((nodes) => {\r\n nodes.filter((x) => x.selected).map((x) => (x.selected = false));\r\n return [...nodes];\r\n });\r\n const box = this.inputCom().inputRef().nativeElement.getBoundingClientRect();\r\n const config: OverlayConfig = {\r\n backdropClass: '',\r\n width: this.portalWidth() || box.width,\r\n positionStrategy: this.setPlacement(),\r\n scrollStrategy: this.overlay.scrollStrategies.reposition()\r\n };\r\n this.setPosition(config);\r\n this.portal = this.portalService.attach({\r\n content: XSelectPortalComponent,\r\n viewContainerRef: this.viewContainerRef,\r\n overlayConfig: config\r\n });\r\n this.portal.overlayRef\r\n ?.outsidePointerEvents()\r\n .pipe(takeUntil(this.unSubject))\r\n .subscribe(() => {\r\n this.setDisplayValue();\r\n this.closeSubject.next();\r\n });\r\n this.setInstance();\r\n }\r\n\r\n setPosition(config: OverlayConfig) {\r\n let position = config.positionStrategy as FlexibleConnectedPositionStrategy;\r\n position.positionChanges.pipe(takeUntil(this.unSubject)).subscribe((pos: ConnectedOverlayPositionChange) => {\r\n const place = XPortalConnectedPosition.get(pos.connectionPair) as XPositionTopBottom;\r\n if (place !== this.realPlacement()) {\r\n this.realPlacement.set(place);\r\n this.portalOverlayRef()?.updatePosition();\r\n }\r\n });\r\n }\r\n\r\n setInstance() {\r\n let { componentRef, overlayRef } = this.portal;\r\n if (!componentRef || !overlayRef) return;\r\n this.portalComponent.set(componentRef);\r\n this.portalOverlayRef.set(overlayRef);\r\n this.realPlacement.set(this.placement());\r\n Object.assign(componentRef.instance, {\r\n closeSubject: this.closeSubject,\r\n keydownSubject: this.keydownSubject\r\n });\r\n const { nodeClick, animating } = componentRef.instance;\r\n nodeClick.subscribe((x) => this.nodeClick(x.node!, x.value));\r\n animating.subscribe((ing) => this.animating.set(ing));\r\n }\r\n\r\n nodeClick(node: XSelectNode, value?: XSelectNode[] | (string | number)[]) {\r\n if (this.multiple()) {\r\n if (node) {\r\n if (XIsObjectArray(value)) {\r\n if (node.selected) {\r\n this.value.update((x) => {\r\n x.push(node);\r\n return x;\r\n });\r\n } else {\r\n let inx = this.value().findIndex((x: XSelectNode) => x.id === node.id);\r\n this.value.update((x) => {\r\n x.splice(inx, 1);\r\n return x;\r\n });\r\n }\r\n } else if (XIsArray(value)) {\r\n if (node.selected) {\r\n this.value.update((x) => {\r\n x.push(node.id);\r\n return x;\r\n });\r\n } else {\r\n this.value.update((x) => {\r\n x.splice(x.indexOf(node.id), 1);\r\n return x;\r\n });\r\n }\r\n }\r\n } else {\r\n this.value.update((x) => {\r\n x.splice(0, x.length);\r\n x.push(...(value as any[]));\r\n return x;\r\n });\r\n }\r\n if (this.multipleInput()) {\r\n const input = this.multipleInput()!.elementRef.nativeElement;\r\n this.renderer.setStyle(input, 'width', '2rem');\r\n }\r\n if (this.search() && this.multipleSearchValue() !== '') {\r\n this.multipleSearchValue.set('');\r\n this.inputChange.next('');\r\n }\r\n this.setDisplayValue(node);\r\n } else {\r\n node = node as XSelectNode;\r\n this.displayValue.set(node.label);\r\n this.valueTplContextSignal.update((x) => {\r\n x.$node = node;\r\n return { ...x };\r\n });\r\n this.value.set(node.id);\r\n if (this.search()) {\r\n this.inputChange.next('');\r\n }\r\n this.closeSubject.next();\r\n }\r\n if (this.search() && this.multiple() && this.multipleInput()) {\r\n this.multipleInput()!.inputFocus();\r\n } else {\r\n this.inputCom().inputFocus('focus');\r\n }\r\n if (this.onChange) this.onChange(this.value());\r\n this.formControlValidator();\r\n }\r\n\r\n selectAllNodes(value: XSelectNode[] | (string | number)[]) {\r\n this.value.set(value);\r\n }\r\n\r\n setPlacement() {\r\n return this.portalService.setPlacement({\r\n elementRef: this.inputCom().inputRef(),\r\n placement: this.placements(),\r\n transformOriginOn: 'x-select-portal'\r\n });\r\n }\r\n\r\n setPortal() {\r\n this.portalAttached() && this.portal?.overlayRef?.updatePositionStrategy(this.setPlacement());\r\n }\r\n\r\n onKeydown($event: KeyboardEvent) {\r\n this.keydownSubject.next($event);\r\n if ($event.keyCode !== TAB && !this.search) {\r\n $event.preventDefault();\r\n }\r\n }\r\n\r\n onFocus(_event: Event) {\r\n if (this.search() && this.multiple() && this.multipleInput()) {\r\n this.multipleInput()!.inputFocus();\r\n } else {\r\n this.inputCom().inputFocus('focus');\r\n }\r\n }\r\n\r\n onInput(_event: InputEvent) {\r\n this.formControlValidator();\r\n setTimeout(() => this.inputChange.next(this.multiple() ? this.multipleSearchValue() : this.displayValue()));\r\n }\r\n}\r\n","<div #select class=\"x-select\" [class.x-select-multiple]=\"multiple()\">\r\n <div class=\"x-select-row\">\r\n <x-input\r\n #inputCom\r\n type=\"text\"\r\n [label]=\"label()\"\r\n [labelWidth]=\"labelWidth()\"\r\n [labelAlign]=\"labelAlign()\"\r\n [width]=\"width()\"\r\n [justify]=\"justify()\"\r\n [align]=\"align()\"\r\n [direction]=\"direction()\"\r\n [disabled]=\"disabledComputed()\"\r\n [required]=\"requiredComputed()\"\r\n [validator]=\"validatorComputed()!\"\r\n [icon]=\"icon()\"\r\n [iconSpin]=\"iconSpin()\"\r\n [placeholder]=\"placeholder()\"\r\n [readonly]=\"getReadonly()\"\r\n [clearable]=\"showClearable()\"\r\n [(ngModel)]=\"displayValue\"\r\n [valueTpl]=\"valueTplSignal() ? valueTplSignal() : nodeTpl()\"\r\n [valueTplContext]=\"valueTplContextSignal()\"\r\n [size]=\"size()\"\r\n [bordered]=\"bordered()\"\r\n [before]=\"before()\"\r\n [after]=\"after()\"\r\n [pattern]=\"patternComputed()\"\r\n [message]=\"messageComputed()\"\r\n [pointer]=\"true\"\r\n [(active)]=\"active\"\r\n (clearEmit)=\"clearEmit()\"\r\n (xKeydown)=\"onKeydown($event)\"\r\n (xInput)=\"onInput($event)\"\r\n (xFocus)=\"onFocus($event)\"\r\n (xClick)=\"showPortal(true)\"\r\n (xMouseenter)=\"menter()\"\r\n (xMouseleave)=\"mleave()\"\r\n (xComposition)=\"composition.set($event)\"\r\n ></x-input>\r\n </div>\r\n</div>\r\n\r\n<ng-template #multipleValueTpl>\r\n @for (node of displayNodes(); track node.id; let i = $index) {\r\n <x-tag\r\n [@.disabled]=\"true\"\r\n [bordered]=\"false\"\r\n [closable]=\"!disabledComputed()\"\r\n [type]=\"'info'\"\r\n (close)=\"closeNode($event, node, i)\"\r\n [size]=\"size()\"\r\n >{{ node.label }}</x-tag\r\n >\r\n }\r\n @if (showDisplayMore()) {\r\n <x-tag [@.disabled]=\"true\" [bordered]=\"false\" [type]=\"'info'\" [size]=\"size()\">\r\n <ng-container *xOutlet=\"getMaxTagContent(); context: { $surplus: selectedSurplus(), $total: selectedTotal() }\">{{\r\n displayMore()\r\n }}</ng-container>\r\n </x-tag>\r\n }\r\n\r\n @if (search()) {\r\n <x-input\r\n #multipleInput\r\n [bordered]=\"false\"\r\n [size]=\"size()\"\r\n [ngModel]=\"multipleSearchValue()\"\r\n (ngModelChange)=\"multipleSearchValue.set($event)\"\r\n (xInput)=\"onInput($event)\"\r\n (xKeydown)=\"onKeydown($event)\"\r\n ></x-input>\r\n }\r\n</ng-template>\r\n","import { NgModule } from '@angular/core';\r\nimport { XSelectComponent } from './select.component';\r\n\r\n@NgModule({\r\n exports: [XSelectComponent],\r\n imports: [XSelectComponent]\r\n})\r\nexport class XSelectModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ng-nest/ui",
3
- "version": "18.0.5",
3
+ "version": "18.0.6",
4
4
  "license": "MIT",
5
5
  "homepage": "https://www.ngnest.com",
6
6
  "author": "ng-nest",
@@ -59,6 +59,12 @@
59
59
  "esm": "./esm2022/anchor/ng-nest-ui-anchor.mjs",
60
60
  "default": "./fesm2022/ng-nest-ui-anchor.mjs"
61
61
  },
62
+ "./back-top": {
63
+ "types": "./back-top/index.d.ts",
64
+ "esm2022": "./esm2022/back-top/ng-nest-ui-back-top.mjs",
65
+ "esm": "./esm2022/back-top/ng-nest-ui-back-top.mjs",
66
+ "default": "./fesm2022/ng-nest-ui-back-top.mjs"
67
+ },
62
68
  "./auto-complete": {
63
69
  "types": "./auto-complete/index.d.ts",
64
70
  "esm2022": "./esm2022/auto-complete/ng-nest-ui-auto-complete.mjs",
@@ -71,12 +77,6 @@
71
77
  "esm": "./esm2022/avatar/ng-nest-ui-avatar.mjs",
72
78
  "default": "./fesm2022/ng-nest-ui-avatar.mjs"
73
79
  },
74
- "./back-top": {
75
- "types": "./back-top/index.d.ts",
76
- "esm2022": "./esm2022/back-top/ng-nest-ui-back-top.mjs",
77
- "esm": "./esm2022/back-top/ng-nest-ui-back-top.mjs",
78
- "default": "./fesm2022/ng-nest-ui-back-top.mjs"
79
- },
80
80
  "./badge": {
81
81
  "types": "./badge/index.d.ts",
82
82
  "esm2022": "./esm2022/badge/ng-nest-ui-badge.mjs",
@@ -89,18 +89,6 @@
89
89
  "esm": "./esm2022/base-form/ng-nest-ui-base-form.mjs",
90
90
  "default": "./fesm2022/ng-nest-ui-base-form.mjs"
91
91
  },
92
- "./calendar": {
93
- "types": "./calendar/index.d.ts",
94
- "esm2022": "./esm2022/calendar/ng-nest-ui-calendar.mjs",
95
- "esm": "./esm2022/calendar/ng-nest-ui-calendar.mjs",
96
- "default": "./fesm2022/ng-nest-ui-calendar.mjs"
97
- },
98
- "./button": {
99
- "types": "./button/index.d.ts",
100
- "esm2022": "./esm2022/button/ng-nest-ui-button.mjs",
101
- "esm": "./esm2022/button/ng-nest-ui-button.mjs",
102
- "default": "./fesm2022/ng-nest-ui-button.mjs"
103
- },
104
92
  "./card": {
105
93
  "types": "./card/index.d.ts",
106
94
  "esm2022": "./esm2022/card/ng-nest-ui-card.mjs",
@@ -119,30 +107,42 @@
119
107
  "esm": "./esm2022/cascade/ng-nest-ui-cascade.mjs",
120
108
  "default": "./fesm2022/ng-nest-ui-cascade.mjs"
121
109
  },
110
+ "./button": {
111
+ "types": "./button/index.d.ts",
112
+ "esm2022": "./esm2022/button/ng-nest-ui-button.mjs",
113
+ "esm": "./esm2022/button/ng-nest-ui-button.mjs",
114
+ "default": "./fesm2022/ng-nest-ui-button.mjs"
115
+ },
122
116
  "./checkbox": {
123
117
  "types": "./checkbox/index.d.ts",
124
118
  "esm2022": "./esm2022/checkbox/ng-nest-ui-checkbox.mjs",
125
119
  "esm": "./esm2022/checkbox/ng-nest-ui-checkbox.mjs",
126
120
  "default": "./fesm2022/ng-nest-ui-checkbox.mjs"
127
121
  },
122
+ "./calendar": {
123
+ "types": "./calendar/index.d.ts",
124
+ "esm2022": "./esm2022/calendar/ng-nest-ui-calendar.mjs",
125
+ "esm": "./esm2022/calendar/ng-nest-ui-calendar.mjs",
126
+ "default": "./fesm2022/ng-nest-ui-calendar.mjs"
127
+ },
128
128
  "./collapse": {
129
129
  "types": "./collapse/index.d.ts",
130
130
  "esm2022": "./esm2022/collapse/ng-nest-ui-collapse.mjs",
131
131
  "esm": "./esm2022/collapse/ng-nest-ui-collapse.mjs",
132
132
  "default": "./fesm2022/ng-nest-ui-collapse.mjs"
133
133
  },
134
- "./color": {
135
- "types": "./color/index.d.ts",
136
- "esm2022": "./esm2022/color/ng-nest-ui-color.mjs",
137
- "esm": "./esm2022/color/ng-nest-ui-color.mjs",
138
- "default": "./fesm2022/ng-nest-ui-color.mjs"
139
- },
140
134
  "./color-picker": {
141
135
  "types": "./color-picker/index.d.ts",
142
136
  "esm2022": "./esm2022/color-picker/ng-nest-ui-color-picker.mjs",
143
137
  "esm": "./esm2022/color-picker/ng-nest-ui-color-picker.mjs",
144
138
  "default": "./fesm2022/ng-nest-ui-color-picker.mjs"
145
139
  },
140
+ "./color": {
141
+ "types": "./color/index.d.ts",
142
+ "esm2022": "./esm2022/color/ng-nest-ui-color.mjs",
143
+ "esm": "./esm2022/color/ng-nest-ui-color.mjs",
144
+ "default": "./fesm2022/ng-nest-ui-color.mjs"
145
+ },
146
146
  "./comment": {
147
147
  "types": "./comment/index.d.ts",
148
148
  "esm2022": "./esm2022/comment/ng-nest-ui-comment.mjs",
@@ -161,6 +161,12 @@
161
161
  "esm": "./esm2022/core/ng-nest-ui-core.mjs",
162
162
  "default": "./fesm2022/ng-nest-ui-core.mjs"
163
163
  },
164
+ "./date-picker": {
165
+ "types": "./date-picker/index.d.ts",
166
+ "esm2022": "./esm2022/date-picker/ng-nest-ui-date-picker.mjs",
167
+ "esm": "./esm2022/date-picker/ng-nest-ui-date-picker.mjs",
168
+ "default": "./fesm2022/ng-nest-ui-date-picker.mjs"
169
+ },
164
170
  "./crumb": {
165
171
  "types": "./crumb/index.d.ts",
166
172
  "esm2022": "./esm2022/crumb/ng-nest-ui-crumb.mjs",
@@ -173,53 +179,41 @@
173
179
  "esm": "./esm2022/description/ng-nest-ui-description.mjs",
174
180
  "default": "./fesm2022/ng-nest-ui-description.mjs"
175
181
  },
176
- "./date-picker": {
177
- "types": "./date-picker/index.d.ts",
178
- "esm2022": "./esm2022/date-picker/ng-nest-ui-date-picker.mjs",
179
- "esm": "./esm2022/date-picker/ng-nest-ui-date-picker.mjs",
180
- "default": "./fesm2022/ng-nest-ui-date-picker.mjs"
181
- },
182
182
  "./dialog": {
183
183
  "types": "./dialog/index.d.ts",
184
184
  "esm2022": "./esm2022/dialog/ng-nest-ui-dialog.mjs",
185
185
  "esm": "./esm2022/dialog/ng-nest-ui-dialog.mjs",
186
186
  "default": "./fesm2022/ng-nest-ui-dialog.mjs"
187
187
  },
188
- "./doc": {
189
- "types": "./doc/index.d.ts",
190
- "esm2022": "./esm2022/doc/ng-nest-ui-doc.mjs",
191
- "esm": "./esm2022/doc/ng-nest-ui-doc.mjs",
192
- "default": "./fesm2022/ng-nest-ui-doc.mjs"
193
- },
194
188
  "./drag": {
195
189
  "types": "./drag/index.d.ts",
196
190
  "esm2022": "./esm2022/drag/ng-nest-ui-drag.mjs",
197
191
  "esm": "./esm2022/drag/ng-nest-ui-drag.mjs",
198
192
  "default": "./fesm2022/ng-nest-ui-drag.mjs"
199
193
  },
194
+ "./doc": {
195
+ "types": "./doc/index.d.ts",
196
+ "esm2022": "./esm2022/doc/ng-nest-ui-doc.mjs",
197
+ "esm": "./esm2022/doc/ng-nest-ui-doc.mjs",
198
+ "default": "./fesm2022/ng-nest-ui-doc.mjs"
199
+ },
200
200
  "./drawer": {
201
201
  "types": "./drawer/index.d.ts",
202
202
  "esm2022": "./esm2022/drawer/ng-nest-ui-drawer.mjs",
203
203
  "esm": "./esm2022/drawer/ng-nest-ui-drawer.mjs",
204
204
  "default": "./fesm2022/ng-nest-ui-drawer.mjs"
205
205
  },
206
- "./dropdown": {
207
- "types": "./dropdown/index.d.ts",
208
- "esm2022": "./esm2022/dropdown/ng-nest-ui-dropdown.mjs",
209
- "esm": "./esm2022/dropdown/ng-nest-ui-dropdown.mjs",
210
- "default": "./fesm2022/ng-nest-ui-dropdown.mjs"
211
- },
212
206
  "./empty": {
213
207
  "types": "./empty/index.d.ts",
214
208
  "esm2022": "./esm2022/empty/ng-nest-ui-empty.mjs",
215
209
  "esm": "./esm2022/empty/ng-nest-ui-empty.mjs",
216
210
  "default": "./fesm2022/ng-nest-ui-empty.mjs"
217
211
  },
218
- "./examples": {
219
- "types": "./examples/index.d.ts",
220
- "esm2022": "./esm2022/examples/ng-nest-ui-examples.mjs",
221
- "esm": "./esm2022/examples/ng-nest-ui-examples.mjs",
222
- "default": "./fesm2022/ng-nest-ui-examples.mjs"
212
+ "./dropdown": {
213
+ "types": "./dropdown/index.d.ts",
214
+ "esm2022": "./esm2022/dropdown/ng-nest-ui-dropdown.mjs",
215
+ "esm": "./esm2022/dropdown/ng-nest-ui-dropdown.mjs",
216
+ "default": "./fesm2022/ng-nest-ui-dropdown.mjs"
223
217
  },
224
218
  "./find": {
225
219
  "types": "./find/index.d.ts",
@@ -227,6 +221,12 @@
227
221
  "esm": "./esm2022/find/ng-nest-ui-find.mjs",
228
222
  "default": "./fesm2022/ng-nest-ui-find.mjs"
229
223
  },
224
+ "./examples": {
225
+ "types": "./examples/index.d.ts",
226
+ "esm2022": "./esm2022/examples/ng-nest-ui-examples.mjs",
227
+ "esm": "./esm2022/examples/ng-nest-ui-examples.mjs",
228
+ "default": "./fesm2022/ng-nest-ui-examples.mjs"
229
+ },
230
230
  "./form": {
231
231
  "types": "./form/index.d.ts",
232
232
  "esm2022": "./esm2022/form/ng-nest-ui-form.mjs",
@@ -335,18 +335,18 @@
335
335
  "esm": "./esm2022/outlet/ng-nest-ui-outlet.mjs",
336
336
  "default": "./fesm2022/ng-nest-ui-outlet.mjs"
337
337
  },
338
- "./page-header": {
339
- "types": "./page-header/index.d.ts",
340
- "esm2022": "./esm2022/page-header/ng-nest-ui-page-header.mjs",
341
- "esm": "./esm2022/page-header/ng-nest-ui-page-header.mjs",
342
- "default": "./fesm2022/ng-nest-ui-page-header.mjs"
343
- },
344
338
  "./pagination": {
345
339
  "types": "./pagination/index.d.ts",
346
340
  "esm2022": "./esm2022/pagination/ng-nest-ui-pagination.mjs",
347
341
  "esm": "./esm2022/pagination/ng-nest-ui-pagination.mjs",
348
342
  "default": "./fesm2022/ng-nest-ui-pagination.mjs"
349
343
  },
344
+ "./page-header": {
345
+ "types": "./page-header/index.d.ts",
346
+ "esm2022": "./esm2022/page-header/ng-nest-ui-page-header.mjs",
347
+ "esm": "./esm2022/page-header/ng-nest-ui-page-header.mjs",
348
+ "default": "./fesm2022/ng-nest-ui-page-header.mjs"
349
+ },
350
350
  "./pattern": {
351
351
  "types": "./pattern/index.d.ts",
352
352
  "esm2022": "./esm2022/pattern/ng-nest-ui-pattern.mjs",
@@ -539,17 +539,17 @@
539
539
  "esm": "./esm2022/tree-select/ng-nest-ui-tree-select.mjs",
540
540
  "default": "./fesm2022/ng-nest-ui-tree-select.mjs"
541
541
  },
542
- "./typography": {
543
- "types": "./typography/index.d.ts",
544
- "esm2022": "./esm2022/typography/ng-nest-ui-typography.mjs",
545
- "esm": "./esm2022/typography/ng-nest-ui-typography.mjs",
546
- "default": "./fesm2022/ng-nest-ui-typography.mjs"
547
- },
548
542
  "./upload": {
549
543
  "types": "./upload/index.d.ts",
550
544
  "esm2022": "./esm2022/upload/ng-nest-ui-upload.mjs",
551
545
  "esm": "./esm2022/upload/ng-nest-ui-upload.mjs",
552
546
  "default": "./fesm2022/ng-nest-ui-upload.mjs"
547
+ },
548
+ "./typography": {
549
+ "types": "./typography/index.d.ts",
550
+ "esm2022": "./esm2022/typography/ng-nest-ui-typography.mjs",
551
+ "esm": "./esm2022/typography/ng-nest-ui-typography.mjs",
552
+ "default": "./fesm2022/ng-nest-ui-typography.mjs"
553
553
  }
554
554
  },
555
555
  "sideEffects": false
@@ -13,7 +13,7 @@ export declare class XRadioComponent extends XRadioProperty implements OnChanges
13
13
  labelMapSignal: import("@angular/core").Signal<{
14
14
  [x: string]: boolean;
15
15
  }>;
16
- radioType: import("@angular/core").Signal<"button" | "icon" | "tag" | "initial">;
16
+ radioType: import("@angular/core").Signal<"initial" | "button" | "icon" | "tag">;
17
17
  ngOnChanges(changes: SimpleChanges): void;
18
18
  ngOnDestroy(): void;
19
19
  radioClick(event: Event, node: XRadioNode): void;
@@ -40,10 +40,7 @@ declare const XSelectProperty_base: new () => {
40
40
  readonly labelWidth: import("@angular/core").InputSignalWithTransform<string, XNumber>;
41
41
  readonly labelAlign: import("@angular/core").InputSignal<XAlign>;
42
42
  readonly justify: import("@angular/core").InputSignal<XJustify>;
43
- readonly align: import("@angular/core").InputSignal<XAlign>; /**
44
- * @zh_CN 匹配区分大小写
45
- * @en_US Case-sensitive
46
- */
43
+ readonly align: import("@angular/core").InputSignal<XAlign>;
47
44
  readonly direction: import("@angular/core").InputSignal<XDirection>;
48
45
  readonly size: import("@angular/core").InputSignal<XSize>;
49
46
  readonly placeholder: import("@angular/core").InputSignal<string | string[]>;