ngx-tethys 12.1.21 → 12.1.24

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.
Files changed (81) hide show
  1. package/autocomplete/autocomplete.trigger.directive.d.ts +2 -1
  2. package/bundles/ngx-tethys-autocomplete.umd.js +11 -5
  3. package/bundles/ngx-tethys-autocomplete.umd.js.map +1 -1
  4. package/bundles/ngx-tethys-cascader.umd.js +1 -1
  5. package/bundles/ngx-tethys-cascader.umd.js.map +1 -1
  6. package/bundles/ngx-tethys-dialog.umd.js +1 -1
  7. package/bundles/ngx-tethys-dialog.umd.js.map +1 -1
  8. package/bundles/ngx-tethys-input.umd.js +2 -0
  9. package/bundles/ngx-tethys-input.umd.js.map +1 -1
  10. package/bundles/ngx-tethys-label.umd.js +8 -3
  11. package/bundles/ngx-tethys-label.umd.js.map +1 -1
  12. package/bundles/ngx-tethys-list.umd.js +5 -3
  13. package/bundles/ngx-tethys-list.umd.js.map +1 -1
  14. package/bundles/ngx-tethys-popover.umd.js +66 -21
  15. package/bundles/ngx-tethys-popover.umd.js.map +1 -1
  16. package/bundles/ngx-tethys-shared.umd.js +28 -20
  17. package/bundles/ngx-tethys-shared.umd.js.map +1 -1
  18. package/bundles/ngx-tethys-table.umd.js +100 -8
  19. package/bundles/ngx-tethys-table.umd.js.map +1 -1
  20. package/bundles/ngx-tethys.umd.js +1 -1
  21. package/bundles/ngx-tethys.umd.js.map +1 -1
  22. package/dialog/confirm.config.d.ts +1 -1
  23. package/esm2015/autocomplete/autocomplete.trigger.directive.js +12 -6
  24. package/esm2015/cascader/cascader.component.js +3 -3
  25. package/esm2015/dialog/confirm.config.js +2 -2
  26. package/esm2015/input/input-search.component.js +3 -1
  27. package/esm2015/label/label.component.js +9 -4
  28. package/esm2015/list/selection/selection-list.js +7 -5
  29. package/esm2015/popover/popover-container.component.js +26 -8
  30. package/esm2015/popover/popover-ref.js +4 -1
  31. package/esm2015/popover/popover.config.js +2 -1
  32. package/esm2015/popover/popover.directive.js +32 -11
  33. package/esm2015/shared/option/option.component.js +1 -1
  34. package/esm2015/shared/select/module.js +5 -4
  35. package/esm2015/shared/select/select-control/select-control.component.js +18 -10
  36. package/esm2015/table/table-column.component.js +5 -2
  37. package/esm2015/table/table.component.js +91 -11
  38. package/esm2015/table/table.interface.js +1 -1
  39. package/esm2015/version.js +2 -2
  40. package/fesm2015/ngx-tethys-autocomplete.js +11 -5
  41. package/fesm2015/ngx-tethys-autocomplete.js.map +1 -1
  42. package/fesm2015/ngx-tethys-cascader.js +2 -2
  43. package/fesm2015/ngx-tethys-cascader.js.map +1 -1
  44. package/fesm2015/ngx-tethys-dialog.js +1 -1
  45. package/fesm2015/ngx-tethys-dialog.js.map +1 -1
  46. package/fesm2015/ngx-tethys-input.js +2 -0
  47. package/fesm2015/ngx-tethys-input.js.map +1 -1
  48. package/fesm2015/ngx-tethys-label.js +8 -3
  49. package/fesm2015/ngx-tethys-label.js.map +1 -1
  50. package/fesm2015/ngx-tethys-list.js +5 -3
  51. package/fesm2015/ngx-tethys-list.js.map +1 -1
  52. package/fesm2015/ngx-tethys-popover.js +58 -16
  53. package/fesm2015/ngx-tethys-popover.js.map +1 -1
  54. package/fesm2015/ngx-tethys-shared.js +23 -14
  55. package/fesm2015/ngx-tethys-shared.js.map +1 -1
  56. package/fesm2015/ngx-tethys-table.js +94 -11
  57. package/fesm2015/ngx-tethys-table.js.map +1 -1
  58. package/fesm2015/ngx-tethys.js +1 -1
  59. package/fesm2015/ngx-tethys.js.map +1 -1
  60. package/label/label.component.d.ts +3 -1
  61. package/label/styles/label.scss +3 -3
  62. package/label/styles/mixin.scss +6 -1
  63. package/list/selection/selection-list.d.ts +3 -2
  64. package/package.json +1 -1
  65. package/popover/popover-container.component.d.ts +4 -1
  66. package/popover/popover.config.d.ts +4 -0
  67. package/popover/popover.directive.d.ts +7 -3
  68. package/schematics/version.d.ts +1 -1
  69. package/schematics/version.js +1 -1
  70. package/shared/option/styles/option.mixin.scss +1 -1
  71. package/shared/select/module.d.ts +2 -1
  72. package/shared/select/select-control/select-control.component.d.ts +3 -4
  73. package/shared/select/select-control/select-control.scss +7 -23
  74. package/shared/select/select.mixin.scss +0 -14
  75. package/styles/variables.scss +2 -1
  76. package/table/styles/table.scss +81 -1
  77. package/table/table-column.component.d.ts +6 -1
  78. package/table/table.component.d.ts +15 -2
  79. package/table/table.interface.d.ts +3 -0
  80. package/tree/styles/tree.scss +2 -5
  81. package/tree-select/styles/tree-select.scss +2 -7
@@ -26,6 +26,7 @@ export declare class ThyAutocompleteTriggerDirective implements OnInit, OnDestro
26
26
  thyOffset: number;
27
27
  thyAutocompleteWidth: number;
28
28
  thyPlacement: ThyPlacement;
29
+ thyIsFocusOpen: boolean;
29
30
  get activeOption(): ThyOptionComponent | null;
30
31
  get panelClosingActions(): Observable<ThyOptionSelectionChangeEvent | null>;
31
32
  constructor(elementRef: ElementRef, ngZone: NgZone, overlay: Overlay, autocompleteService: ThyAutocompleteService, viewContainerRef: ViewContainerRef, document: any, cdr: ChangeDetectorRef);
@@ -50,5 +51,5 @@ export declare class ThyAutocompleteTriggerDirective implements OnInit, OnDestro
50
51
  private destroyPanel;
51
52
  ngOnDestroy(): void;
52
53
  static ɵfac: i0.ɵɵFactoryDeclaration<ThyAutocompleteTriggerDirective, [null, null, null, null, null, { optional: true; }, null]>;
53
- static ɵdir: i0.ɵɵDirectiveDeclaration<ThyAutocompleteTriggerDirective, "input[thyAutocompleteTrigger], textarea[thyAutocompleteTrigger]", ["thyAutocompleteTrigger"], { "autocompleteComponent": "thyAutocompleteComponent"; "autocomplete": "thyAutocomplete"; "thyOffset": "thyOffset"; "thyAutocompleteWidth": "thyAutocompleteWidth"; "thyPlacement": "thyPlacement"; }, {}, never>;
54
+ static ɵdir: i0.ɵɵDirectiveDeclaration<ThyAutocompleteTriggerDirective, "input[thyAutocompleteTrigger], textarea[thyAutocompleteTrigger], thy-input[thyAutocompleteTrigger], thy-input-search[thyAutocompleteTrigger]", ["thyAutocompleteTrigger"], { "autocompleteComponent": "thyAutocompleteComponent"; "autocomplete": "thyAutocomplete"; "thyOffset": "thyOffset"; "thyAutocompleteWidth": "thyAutocompleteWidth"; "thyPlacement": "thyPlacement"; "thyIsFocusOpen": "thyIsFocusOpen"; }, {}, never>;
54
55
  }
@@ -608,6 +608,7 @@
608
608
  this.panelOpened = false;
609
609
  this.thyOffset = 4;
610
610
  this.thyPlacement = 'bottomLeft';
611
+ this.thyIsFocusOpen = true;
611
612
  }
612
613
  Object.defineProperty(ThyAutocompleteTriggerDirective.prototype, "autocompleteComponent", {
613
614
  get: function () {
@@ -649,7 +650,7 @@
649
650
  });
650
651
  ThyAutocompleteTriggerDirective.prototype.ngOnInit = function () { };
651
652
  ThyAutocompleteTriggerDirective.prototype.onFocus = function () {
652
- if (this.canOpen()) {
653
+ if (this.canOpen() && this.thyIsFocusOpen) {
653
654
  this.openPanel();
654
655
  }
655
656
  };
@@ -784,14 +785,17 @@
784
785
  var formField = null;
785
786
  return (_this.panelOpened &&
786
787
  clickTarget !== _this.elementRef.nativeElement &&
788
+ !_this.elementRef.nativeElement.contains(clickTarget) &&
787
789
  (!formField || !formField.contains(clickTarget)) &&
788
790
  !!_this.overlayRef &&
789
791
  !_this.overlayRef.overlayElement.contains(clickTarget));
790
792
  }));
791
793
  };
792
794
  ThyAutocompleteTriggerDirective.prototype.setValue = function (value) {
793
- this.elementRef.nativeElement.value = value;
794
- this.elementRef.nativeElement.focus();
795
+ var input = this.elementRef.nativeElement.querySelector('input');
796
+ var element = input ? input : this.elementRef.nativeElement;
797
+ element.value = value;
798
+ element.focus();
795
799
  };
796
800
  ThyAutocompleteTriggerDirective.prototype.canOpen = function () {
797
801
  var element = this.elementRef.nativeElement;
@@ -814,11 +818,11 @@
814
818
  return ThyAutocompleteTriggerDirective;
815
819
  }());
816
820
  ThyAutocompleteTriggerDirective.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: ThyAutocompleteTriggerDirective, deps: [{ token: i0__namespace.ElementRef }, { token: i0__namespace.NgZone }, { token: i1__namespace.Overlay }, { token: ThyAutocompleteService }, { token: i0__namespace.ViewContainerRef }, { token: i3.DOCUMENT, optional: true }, { token: i0__namespace.ChangeDetectorRef }], target: i0__namespace.ɵɵFactoryTarget.Directive });
817
- ThyAutocompleteTriggerDirective.ɵdir = i0__namespace.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.13", type: ThyAutocompleteTriggerDirective, selector: "input[thyAutocompleteTrigger], textarea[thyAutocompleteTrigger]", inputs: { autocompleteComponent: ["thyAutocompleteComponent", "autocompleteComponent"], autocomplete: ["thyAutocomplete", "autocomplete"], thyOffset: "thyOffset", thyAutocompleteWidth: "thyAutocompleteWidth", thyPlacement: "thyPlacement" }, host: { listeners: { "input": "handleInput($event)", "focusin": "onFocus()", "keydown": "onKeydown($event)" }, properties: { "class.thy-autocomplete-opened": "this.panelOpened" } }, exportAs: ["thyAutocompleteTrigger"], ngImport: i0__namespace });
821
+ ThyAutocompleteTriggerDirective.ɵdir = i0__namespace.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.13", type: ThyAutocompleteTriggerDirective, selector: "input[thyAutocompleteTrigger], textarea[thyAutocompleteTrigger], thy-input[thyAutocompleteTrigger], thy-input-search[thyAutocompleteTrigger]", inputs: { autocompleteComponent: ["thyAutocompleteComponent", "autocompleteComponent"], autocomplete: ["thyAutocomplete", "autocomplete"], thyOffset: "thyOffset", thyAutocompleteWidth: "thyAutocompleteWidth", thyPlacement: "thyPlacement", thyIsFocusOpen: "thyIsFocusOpen" }, host: { listeners: { "input": "handleInput($event)", "focusin": "onFocus()", "keydown": "onKeydown($event)" }, properties: { "class.thy-autocomplete-opened": "this.panelOpened" } }, exportAs: ["thyAutocompleteTrigger"], ngImport: i0__namespace });
818
822
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: ThyAutocompleteTriggerDirective, decorators: [{
819
823
  type: i0.Directive,
820
824
  args: [{
821
- selector: 'input[thyAutocompleteTrigger], textarea[thyAutocompleteTrigger]',
825
+ selector: 'input[thyAutocompleteTrigger], textarea[thyAutocompleteTrigger], thy-input[thyAutocompleteTrigger], thy-input-search[thyAutocompleteTrigger]',
822
826
  exportAs: 'thyAutocompleteTrigger',
823
827
  host: {
824
828
  '(input)': 'handleInput($event)',
@@ -848,6 +852,8 @@
848
852
  type: i0.Input
849
853
  }], thyPlacement: [{
850
854
  type: i0.Input
855
+ }], thyIsFocusOpen: [{
856
+ type: i0.Input
851
857
  }] } });
852
858
 
853
859
  var _MixinBase = i2.mixinUnsubscribe(i2.MixinBase);
@@ -1 +1 @@
1
- {"version":3,"file":"ngx-tethys-autocomplete.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","../../../src/autocomplete/overlay/autocomplete-animations.ts","../../../src/autocomplete/overlay/autocomplete.options.ts","../../../src/autocomplete/overlay/autocomplete.config.ts","../../../src/autocomplete/overlay/autocomplete-container.component.ts","../../../src/autocomplete/overlay/autocomplete-container.component.html","../../../src/autocomplete/overlay/autocomplete-ref.ts","../../../src/autocomplete/overlay/autocomplete.service.ts","../../../src/autocomplete/autocomplete.trigger.directive.ts","../../../src/autocomplete/autocomplete.component.ts","../../../src/autocomplete/autocomplete.component.html","../../../src/autocomplete/module.ts","../../../src/autocomplete/ngx-tethys-autocomplete.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || from);\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","import { animate, state, style, transition, trigger, AnimationTriggerMetadata } from '@angular/animations';\n\nconst animationBody = [state('void, exit', style({ opacity: 0, transform: 'scale(0.1)' })), state('enter', style({ transform: 'none' }))];\n\n/**\n * Animations used by ThyAutocomplete.\n * @docs-private\n */\nexport const thyAutocompleteAnimations: {\n readonly autocompleteContainer: AnimationTriggerMetadata;\n} = {\n autocompleteContainer: trigger('autocompleteContainer', animationBody)\n};\n","import { ThyAbstractOverlayOptions } from 'ngx-tethys/core';\n\nexport const autocompleteAbstractOverlayOptions: ThyAbstractOverlayOptions = {\n name: 'autocomplete',\n animationEnabled: true,\n disposeWhenClose: true\n};\n","import { ElementRef, ViewContainerRef, InjectionToken } from '@angular/core';\nimport { Directionality } from '@angular/cdk/bidi';\nimport { ThyPlacement, ThyAbstractOverlayConfig } from 'ngx-tethys/core';\nimport { ScrollStrategy, PositionStrategy, ScrollStrategyOptions } from '@angular/cdk/overlay';\n\nexport class ThyAutocompleteConfig<TData = any> extends ThyAbstractOverlayConfig<TData> {\n /** Origin Element, for overlay flexible connected to */\n origin: ElementRef<any> | HTMLElement;\n\n /** Placement be relative to origin, topCenter, topLeft, topRight, bottomCenter, bottomLeft, bottomRight ...*/\n placement?: ThyPlacement;\n\n /** Click inside can been close */\n insideClosable?: boolean;\n\n /** Offset be relative to origin, default is 4*/\n offset?: number;\n\n /** Manually close it, default rules is which auto close last autocomplete when open a new unless set manualClosure as true */\n manualClosure?: boolean;\n\n /** Origin active class when autocomplete is opened */\n originActiveClass?: string | string[];\n\n /**\n * 滚动策略\n */\n scrollStrategy?: ScrollStrategy;\n\n /** Click outside can been close */\n outsideClosable?: boolean;\n}\n\nexport const THY_AUTOCOMPLETE_DEFAULT_CONFIG = new InjectionToken<ThyAutocompleteConfig>('thy-autocomplete-default-config');\n\nexport const THY_AUTOCOMPLETE_DEFAULT_CONFIG_PROVIDER = {\n provide: THY_AUTOCOMPLETE_DEFAULT_CONFIG,\n useValue: {\n hasBackdrop: false,\n panelClass: '',\n closeOnNavigation: true,\n insideClosable: true,\n manualClosure: false,\n outsideClosable: true,\n originActiveClass: 'thy-autocomplete-origin-active'\n }\n};\n","import { ThyAbstractOverlayContainer, ThyClickDispatcher } from 'ngx-tethys/core';\nimport { Observable } from 'rxjs';\nimport { filter } from 'rxjs/operators';\n\nimport { AnimationEvent } from '@angular/animations';\nimport { CdkPortalOutlet } from '@angular/cdk/portal';\nimport { DOCUMENT } from '@angular/common';\nimport { AfterViewInit, ChangeDetectorRef, Component, ElementRef, EventEmitter, Inject, NgZone, ViewChild } from '@angular/core';\n\nimport { thyAutocompleteAnimations } from './autocomplete-animations';\nimport { ThyAutocompleteConfig } from './autocomplete.config';\nimport { autocompleteAbstractOverlayOptions } from './autocomplete.options';\n\n@Component({\n selector: 'thy-autocomplete-container',\n templateUrl: './autocomplete-container.component.html',\n animations: [thyAutocompleteAnimations.autocompleteContainer],\n host: {\n class: 'thy-autocomplete-container',\n tabindex: '-1',\n '[attr.role]': `'autocomplete'`,\n '[@autocompleteContainer]': 'animationState',\n '(@autocompleteContainer.start)': 'onAnimationStart($event)',\n '(@autocompleteContainer.done)': 'onAnimationDone($event)'\n }\n})\nexport class ThyAutocompleteContainerComponent extends ThyAbstractOverlayContainer implements AfterViewInit {\n @ViewChild(CdkPortalOutlet, { static: true })\n portalOutlet: CdkPortalOutlet;\n\n /** State of the autocomplete animation. */\n animationState: 'void' | 'enter' | 'exit' = 'enter';\n\n /** Emits when an animation state changes. */\n animationStateChanged = new EventEmitter<AnimationEvent>();\n\n animationOpeningDone: Observable<AnimationEvent>;\n animationClosingDone: Observable<AnimationEvent>;\n\n beforeAttachPortal(): void {}\n\n constructor(\n private elementRef: ElementRef,\n @Inject(DOCUMENT) private document: any,\n public config: ThyAutocompleteConfig,\n changeDetectorRef: ChangeDetectorRef,\n private thyClickDispatcher: ThyClickDispatcher,\n private ngZone: NgZone\n ) {\n super(autocompleteAbstractOverlayOptions, changeDetectorRef);\n\n this.animationOpeningDone = this.animationStateChanged.pipe(\n filter((event: AnimationEvent) => {\n return event.phaseName === 'done' && event.toState === 'enter';\n })\n );\n this.animationClosingDone = this.animationStateChanged.pipe(\n filter((event: AnimationEvent) => {\n return event.phaseName === 'done' && event.toState === 'exit';\n })\n );\n }\n\n ngAfterViewInit() {}\n\n /** Callback, invoked whenever an animation on the host completes. */\n onAnimationDone(event: AnimationEvent) {\n this.animationStateChanged.emit(event);\n }\n\n /** Callback, invoked when an animation on the host starts. */\n onAnimationStart(event: AnimationEvent) {\n this.animationStateChanged.emit(event);\n }\n\n startExitAnimation(): void {\n this.animationState = 'exit';\n this.changeDetectorRef.markForCheck();\n }\n}\n","<ng-template cdkPortalOutlet></ng-template>\n","import { ThyAbstractInternalOverlayRef, ThyAbstractOverlayRef } from 'ngx-tethys/core';\n\nimport { OverlayRef } from '@angular/cdk/overlay';\n\nimport { ThyAutocompleteContainerComponent } from './autocomplete-container.component';\nimport { ThyAutocompleteConfig } from './autocomplete.config';\nimport { autocompleteAbstractOverlayOptions } from './autocomplete.options';\n\nexport abstract class ThyAutocompleteRef<T, TResult = any> extends ThyAbstractOverlayRef<T, ThyAutocompleteContainerComponent, TResult> {}\n\nexport class ThyInternalAutocompleteRef<T, TResult = any>\n extends ThyAbstractInternalOverlayRef<T, ThyAutocompleteContainerComponent, TResult>\n implements ThyAutocompleteRef<T, TResult> {\n constructor(overlayRef: OverlayRef, containerInstance: ThyAutocompleteContainerComponent, config: ThyAutocompleteConfig) {\n super(autocompleteAbstractOverlayOptions, overlayRef, containerInstance, config);\n }\n\n /**\n * Updates the autocomplete's position.\n * @param position New autocomplete position.\n */\n updatePosition(): this {\n this.overlayRef.updatePosition();\n return this;\n }\n}\n","import { getFlexiblePositions, ThyAbstractOverlayService } from 'ngx-tethys/core';\nimport { of, Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { Directionality } from '@angular/cdk/bidi';\nimport { coerceArray, coerceElement } from '@angular/cdk/coercion';\nimport {\n ComponentType,\n FlexibleConnectedPositionStrategy,\n Overlay,\n OverlayConfig,\n OverlayContainer,\n OverlayRef,\n PositionStrategy,\n ScrollDispatcher\n} from '@angular/cdk/overlay';\nimport { Platform } from '@angular/cdk/platform';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport { ViewportRuler } from '@angular/cdk/scrolling';\nimport { DOCUMENT } from '@angular/common';\nimport { ElementRef, Inject, Injectable, Injector, NgZone, OnDestroy, StaticProvider, TemplateRef } from '@angular/core';\n\nimport { ThyAutocompleteContainerComponent } from './autocomplete-container.component';\nimport { ThyAutocompleteRef, ThyInternalAutocompleteRef } from './autocomplete-ref';\nimport { THY_AUTOCOMPLETE_DEFAULT_CONFIG, ThyAutocompleteConfig } from './autocomplete.config';\nimport { autocompleteAbstractOverlayOptions } from './autocomplete.options';\n\n@Injectable()\nexport class ThyAutocompleteService extends ThyAbstractOverlayService<ThyAutocompleteConfig, ThyAutocompleteContainerComponent>\n implements OnDestroy {\n private readonly ngUnsubscribe$ = new Subject();\n\n private originInstancesMap = new Map<\n ElementRef | HTMLElement,\n {\n config: ThyAutocompleteConfig;\n autocompleteRef: ThyAutocompleteRef<any, any>;\n }\n >();\n\n private buildPositionStrategy<TData>(config: ThyAutocompleteConfig<TData>): PositionStrategy {\n const positionStrategy = new FlexibleConnectedPositionStrategy(\n config.origin,\n this._viewportRuler,\n this._document,\n this._platform,\n this._overlayContainer\n );\n const positions = getFlexiblePositions(config.placement, config.offset, 'thy-autocomplete');\n positionStrategy.withPositions(positions);\n positionStrategy.withGrowAfterOpen(true);\n positionStrategy.positionChanges.pipe(takeUntil(this.ngUnsubscribe$)).subscribe(change => {\n if (change.scrollableViewProperties.isOverlayClipped) {\n // After position changes occur and the overlay is clipped by\n // a parent scrollable then close the tooltip.\n this.ngZone.run(() => this.close());\n }\n });\n return positionStrategy;\n }\n\n protected buildOverlayConfig<TData>(config: ThyAutocompleteConfig<TData>): OverlayConfig {\n const strategy = this.buildPositionStrategy(config);\n const overlayConfig = this.buildBaseOverlayConfig(config);\n overlayConfig.positionStrategy = strategy;\n overlayConfig.scrollStrategy = config.scrollStrategy || this.overlay.scrollStrategies.block();\n overlayConfig.width = config.width;\n return overlayConfig;\n }\n\n protected attachOverlayContainer(overlay: OverlayRef, config: ThyAutocompleteConfig<any>): ThyAutocompleteContainerComponent {\n const userInjector = config && config.viewContainerRef && config.viewContainerRef.injector;\n const injector = Injector.create({\n parent: userInjector || this.injector,\n providers: [{ provide: ThyAutocompleteConfig, useValue: config }]\n });\n const containerPortal = new ComponentPortal(ThyAutocompleteContainerComponent, config.viewContainerRef, injector);\n const containerRef = overlay.attach<ThyAutocompleteContainerComponent>(containerPortal);\n return containerRef.instance;\n }\n\n protected createAbstractOverlayRef<T>(\n overlayRef: OverlayRef,\n containerInstance: ThyAutocompleteContainerComponent,\n config: ThyAutocompleteConfig<any>\n ): ThyInternalAutocompleteRef<T> {\n return new ThyInternalAutocompleteRef<T>(overlayRef, containerInstance, config);\n }\n\n protected createInjector<T>(\n config: ThyAutocompleteConfig,\n autocompleteRef: ThyAutocompleteRef<T>,\n autocompleteContainer: ThyAutocompleteContainerComponent\n ): Injector {\n const userInjector = config && config.viewContainerRef && config.viewContainerRef.injector;\n const injectionTokens: StaticProvider[] = [\n {\n provide: ThyAutocompleteContainerComponent,\n useValue: autocompleteContainer\n },\n {\n provide: ThyAutocompleteRef,\n useValue: autocompleteRef\n }\n ];\n\n if (config.direction && (!userInjector || !userInjector.get<Directionality | null>(Directionality, null))) {\n injectionTokens.push({\n provide: Directionality,\n useValue: {\n value: config.direction,\n change: of()\n }\n });\n }\n\n return Injector.create({ parent: userInjector || this.injector, providers: injectionTokens });\n }\n\n private originElementAddActiveClass(config: ThyAutocompleteConfig) {\n if (config.originActiveClass) {\n coerceElement<HTMLElement>(config.origin).classList.add(...coerceArray(config.originActiveClass));\n }\n }\n\n private originElementRemoveActiveClass(config: ThyAutocompleteConfig) {\n if (config.originActiveClass) {\n coerceElement<HTMLElement>(config.origin).classList.remove(...coerceArray(config.originActiveClass));\n }\n }\n\n constructor(\n overlay: Overlay,\n injector: Injector,\n @Inject(THY_AUTOCOMPLETE_DEFAULT_CONFIG) defaultConfig: ThyAutocompleteConfig,\n private scrollDispatcher: ScrollDispatcher,\n private ngZone: NgZone,\n private _viewportRuler: ViewportRuler,\n @Inject(DOCUMENT) private _document: any,\n private _platform: Platform,\n private _overlayContainer: OverlayContainer\n ) {\n super(autocompleteAbstractOverlayOptions, overlay, injector, defaultConfig);\n }\n\n open<T, TData = any, TResult = any>(\n componentOrTemplateRef: ComponentType<T> | TemplateRef<T>,\n config?: ThyAutocompleteConfig<TData>\n ): ThyAutocompleteRef<T, TResult> {\n const originElement = coerceElement(config.origin);\n const autocompleteRef = this.openOverlay(componentOrTemplateRef, config) as ThyAutocompleteRef<T>;\n config = autocompleteRef.containerInstance.config;\n autocompleteRef.afterClosed().subscribe(() => {\n this.originElementRemoveActiveClass(config);\n this.originInstancesMap.delete(originElement);\n });\n\n this.originElementAddActiveClass(config);\n this.originInstancesMap.set(originElement, {\n config,\n autocompleteRef\n });\n\n return autocompleteRef;\n }\n\n ngOnDestroy() {\n this.dispose();\n }\n}\n","import {\n Directive,\n ElementRef,\n Injectable,\n NgZone,\n OnDestroy,\n Input,\n OnInit,\n ViewContainerRef,\n HostBinding,\n Optional,\n Inject,\n ChangeDetectorRef\n} from '@angular/core';\nimport { Platform } from '@angular/cdk/platform';\nimport { OverlayRef, Overlay } from '@angular/cdk/overlay';\nimport { FocusMonitor } from '@angular/cdk/a11y';\nimport { ThyOverlayDirectiveBase, ThyPlacement } from 'ngx-tethys/core';\nimport { ThyAutocompleteService } from './overlay/autocomplete.service';\nimport { ThyAutocompleteRef } from './overlay/autocomplete-ref';\nimport { ThyAutocompleteComponent } from './autocomplete.component';\nimport { ThyOptionComponent, ThyOptionSelectionChangeEvent } from 'ngx-tethys/shared';\nimport { DOCUMENT } from '@angular/common';\nimport { Subject, Observable, merge, fromEvent, of, Subscription } from 'rxjs';\nimport { ESCAPE, UP_ARROW, ENTER, DOWN_ARROW, TAB } from 'ngx-tethys/util';\nimport { filter, map, take, tap, delay, switchMap } from 'rxjs/operators';\nimport { ScrollToService } from 'ngx-tethys/core';\nimport { warnDeprecation } from 'ngx-tethys/util';\n\n@Directive({\n selector: 'input[thyAutocompleteTrigger], textarea[thyAutocompleteTrigger]',\n exportAs: 'thyAutocompleteTrigger',\n host: {\n '(input)': 'handleInput($event)',\n '(focusin)': 'onFocus()',\n '(keydown)': 'onKeydown($event)'\n }\n})\nexport class ThyAutocompleteTriggerDirective implements OnInit, OnDestroy {\n protected overlayRef: OverlayRef;\n\n private autocompleteRef: ThyAutocompleteRef<ThyAutocompleteComponent>;\n\n private readonly closeKeyEventStream = new Subject<void>();\n\n private closingActionsSubscription: Subscription;\n\n private _autocompleteComponent: ThyAutocompleteComponent;\n\n @HostBinding(`class.thy-autocomplete-opened`) panelOpened = false;\n\n @Input('thyAutocompleteComponent')\n set autocompleteComponent(data: ThyAutocompleteComponent) {\n this._autocompleteComponent = data;\n }\n\n @Input('thyAutocomplete')\n set autocomplete(data: ThyAutocompleteComponent) {\n warnDeprecation(`The property thyAutocomplete will be deprecated, please use thyAutocompleteComponent instead.`);\n this._autocompleteComponent = data;\n }\n\n get autocompleteComponent() {\n return this._autocompleteComponent;\n }\n\n @Input() thyOffset = 4;\n\n @Input() thyAutocompleteWidth: number;\n\n @Input() thyPlacement: ThyPlacement = 'bottomLeft';\n\n get activeOption(): ThyOptionComponent | null {\n if (this.autocompleteComponent && this.autocompleteComponent.keyManager) {\n return this.autocompleteComponent.keyManager.activeItem;\n }\n\n return null;\n }\n\n get panelClosingActions(): Observable<ThyOptionSelectionChangeEvent | null> {\n return merge(\n this.autocompleteComponent.thyOptionSelected,\n this.autocompleteComponent.keyManager.tabOut.pipe(filter(() => this.panelOpened)),\n this.closeKeyEventStream,\n this.getOutsideClickStream(),\n this.overlayRef ? this.overlayRef.detachments().pipe(filter(() => this.panelOpened)) : of()\n ).pipe(\n // Normalize the output so we return a consistent type.\n map(event => (event instanceof ThyOptionSelectionChangeEvent ? event : null))\n );\n }\n\n constructor(\n private elementRef: ElementRef,\n private ngZone: NgZone,\n private overlay: Overlay,\n private autocompleteService: ThyAutocompleteService,\n private viewContainerRef: ViewContainerRef,\n @Optional() @Inject(DOCUMENT) private document: any,\n private cdr: ChangeDetectorRef\n ) {}\n\n ngOnInit(): void {}\n\n onFocus() {\n if (this.canOpen()) {\n this.openPanel();\n }\n }\n\n onKeydown(event: KeyboardEvent) {\n const keyCode = event.keyCode;\n\n // Prevent the default action on all escape key presses. This is here primarily to bring IE\n // in line with other browsers. By default, pressing escape on IE will cause it to revert\n // the input value to the one that it had on focus, however it won't dispatch any events\n // which means that the model value will be out of sync with the view.\n if (keyCode === ESCAPE) {\n event.preventDefault();\n }\n if (this.activeOption && keyCode === ENTER && this.panelOpened) {\n this.activeOption.selectViaInteraction();\n this.resetActiveItem();\n event.preventDefault();\n } else if (this.autocompleteComponent) {\n const prevActiveItem = this.autocompleteComponent.keyManager.activeItem;\n const isArrowKey = keyCode === UP_ARROW || keyCode === DOWN_ARROW;\n if (this.panelOpened || keyCode === TAB) {\n this.autocompleteComponent.keyManager.onKeydown(event);\n } else if (isArrowKey && this.canOpen()) {\n this.openPanel();\n }\n if (\n (isArrowKey || this.autocompleteComponent.keyManager.activeItem !== prevActiveItem) &&\n this.autocompleteComponent.keyManager.activeItem\n ) {\n ScrollToService.scrollToElement(\n this.autocompleteComponent.keyManager.activeItem.element.nativeElement,\n this.autocompleteComponent.optionsContainer.nativeElement\n );\n }\n }\n }\n\n handleInput(event: KeyboardEvent) {\n if (this.canOpen() && document.activeElement === event.target) {\n this.openPanel();\n }\n }\n\n openPanel() {\n if (this.overlayRef && this.overlayRef.hasAttached()) {\n return;\n }\n const overlayRef = this.createOverlay();\n this.overlayRef = overlayRef;\n overlayRef.keydownEvents().subscribe(event => {\n // Close when pressing ESCAPE or ALT + UP_ARROW, based on the a11y guidelines.\n // See: https://www.w3.org/TR/wai-aria-practices-1.1/#textbox-keyboard-interaction\n if (event.keyCode === ESCAPE || (event.keyCode === UP_ARROW && event.altKey)) {\n this.resetActiveItem();\n this.closeKeyEventStream.next();\n // We need to stop propagation, otherwise the event will eventually\n // reach the input itself and cause the overlay to be reopened.\n event.stopPropagation();\n event.preventDefault();\n }\n });\n this.panelOpened = true;\n this.autocompleteComponent.open();\n }\n\n closePanel() {\n if (this.autocompleteRef) {\n this.autocompleteRef.close();\n this.cdr.detectChanges();\n this.closingActionsSubscription.unsubscribe();\n }\n }\n\n createOverlay(): OverlayRef {\n const config = Object.assign({\n origin: this.elementRef.nativeElement,\n viewContainerRef: this.viewContainerRef,\n placement: this.thyPlacement,\n offset: this.thyOffset,\n scrollStrategy: this.overlay.scrollStrategies.reposition(),\n width: this.thyAutocompleteWidth || this.elementRef.nativeElement.clientWidth\n });\n this.autocompleteRef = this.autocompleteService.open(this.autocompleteComponent.contentTemplateRef, config);\n this.autocompleteRef.afterClosed().subscribe(() => {\n this.panelOpened = false;\n this.autocompleteComponent.close();\n });\n // delay 200ms to prevent emit document click rightnow\n this.autocompleteRef\n .afterOpened()\n .pipe(delay(200))\n .subscribe(() => {\n this.closingActionsSubscription = this.subscribeToClosingActions();\n });\n return this.autocompleteRef.getOverlayRef();\n }\n\n /**\n * This method listens to a stream of panel closing actions and resets the\n * stream every time the option list changes.\n */\n private subscribeToClosingActions(): Subscription {\n const firstStable = this.ngZone.onStable.asObservable().pipe(take(1));\n const optionChanges = this.autocompleteComponent.options.changes.pipe(\n // Defer emitting to the stream until the next tick, because changing\n // bindings in here will cause \"changed after checked\" errors.\n delay(0)\n );\n // When the zone is stable initially, and when the option list changes...\n return (\n merge(firstStable, optionChanges)\n .pipe(\n // create a new stream of panelClosingActions, replacing any previous streams\n // that were created, and flatten it so our stream only emits closing events...\n switchMap(() => {\n this.resetActiveItem();\n\n if (this.panelOpened) {\n this.overlayRef.updatePosition();\n }\n return this.panelClosingActions;\n }),\n // when the first closing event occurs...\n take(1)\n )\n // set the value, close the panel, and complete.\n .subscribe(event => this.setValueAndClose(event))\n );\n }\n\n private setValueAndClose(event: ThyOptionSelectionChangeEvent | null): void {\n if (event && event.option) {\n this.setValue(event.option.thyLabelText);\n }\n this.closePanel();\n }\n\n /** Stream of clicks outside of the autocomplete panel. */\n private getOutsideClickStream(): Observable<any> {\n return merge(\n fromEvent(this.document, 'click') as Observable<MouseEvent>,\n fromEvent(this.document, 'touchend') as Observable<TouchEvent>\n ).pipe(\n filter(event => {\n // If we're in the Shadow DOM, the event target will be the shadow root, so we have to\n // fall back to check the first element in the path of the click event.\n const clickTarget = event.target as HTMLElement;\n const formField: any = null;\n\n return (\n this.panelOpened &&\n clickTarget !== this.elementRef.nativeElement &&\n (!formField || !formField.contains(clickTarget)) &&\n !!this.overlayRef &&\n !this.overlayRef.overlayElement.contains(clickTarget)\n );\n })\n );\n }\n\n private setValue(value: string) {\n this.elementRef.nativeElement.value = value;\n this.elementRef.nativeElement.focus();\n }\n\n private canOpen(): boolean {\n const element: HTMLInputElement = this.elementRef.nativeElement;\n return !element.readOnly && !element.disabled;\n }\n\n private resetActiveItem(): void {\n this.autocompleteComponent.keyManager.setActiveItem(this.autocompleteComponent.thyAutoActiveFirstOption ? 0 : -1);\n }\n\n private destroyPanel(): void {\n if (this.overlayRef) {\n this.closePanel();\n this.overlayRef.dispose();\n this.overlayRef = null;\n }\n }\n\n ngOnDestroy() {\n this.closeKeyEventStream.complete();\n this.destroyPanel();\n }\n}\n","import {\n Component,\n TemplateRef,\n ViewChild,\n ChangeDetectionStrategy,\n ContentChildren,\n QueryList,\n OnInit,\n Output,\n EventEmitter,\n NgZone,\n OnDestroy,\n AfterContentInit,\n ChangeDetectorRef,\n Input,\n ElementRef\n} from '@angular/core';\nimport { Constructor, ThyUnsubscribe } from 'ngx-tethys/core';\nimport { defer, merge, Observable, timer } from 'rxjs';\nimport { take, switchMap, takeUntil, startWith } from 'rxjs/operators';\nimport { MixinBase, mixinUnsubscribe } from 'ngx-tethys/core';\nimport { SelectionModel } from '@angular/cdk/collections';\nimport {\n THY_OPTION_PARENT_COMPONENT,\n IThyOptionParentComponent,\n ThyOptionComponent,\n ThyOptionSelectionChangeEvent\n} from 'ngx-tethys/shared';\nimport { ActiveDescendantKeyManager } from '@angular/cdk/a11y';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\n\n/** Event object that is emitted when an autocomplete option is activated. */\nexport interface ThyAutocompleteActivatedEvent {\n /** Reference to the autocomplete panel that emitted the event. */\n source: ThyAutocompleteComponent;\n\n /** Option that was selected. */\n option: ThyOptionComponent | null;\n}\n\nconst _MixinBase: Constructor<ThyUnsubscribe> & typeof MixinBase = mixinUnsubscribe(MixinBase);\n@Component({\n selector: 'thy-autocomplete',\n templateUrl: 'autocomplete.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: THY_OPTION_PARENT_COMPONENT,\n useExisting: ThyAutocompleteComponent\n }\n ]\n})\nexport class ThyAutocompleteComponent extends _MixinBase implements IThyOptionParentComponent, OnInit, AfterContentInit, OnDestroy {\n dropDownClass: { [key: string]: boolean };\n\n isMultiple = false;\n\n mode = '';\n\n isEmptyOptions = false;\n\n selectionModel: SelectionModel<ThyOptionComponent>;\n\n isOpened = false;\n\n /** Manages active item in option list based on key events. */\n keyManager: ActiveDescendantKeyManager<ThyOptionComponent>;\n\n @ViewChild('contentTemplate', { static: true })\n contentTemplateRef: TemplateRef<any>;\n\n // scroll element container\n @ViewChild('panel')\n optionsContainer: ElementRef<any>;\n\n @ContentChildren(ThyOptionComponent, { descendants: true }) options: QueryList<ThyOptionComponent>;\n\n readonly optionSelectionChanges: Observable<ThyOptionSelectionChangeEvent> = defer(() => {\n if (this.options) {\n return merge(...this.options.map(option => option.selectionChange));\n }\n return this.ngZone.onStable.asObservable().pipe(\n take(1),\n switchMap(() => this.optionSelectionChanges)\n );\n }) as Observable<ThyOptionSelectionChangeEvent>;\n\n @Input()\n thyEmptyText = '没有任何数据';\n\n @Input()\n get thyAutoActiveFirstOption(): boolean {\n return this._autoActiveFirstOption;\n }\n set thyAutoActiveFirstOption(value: boolean) {\n this._autoActiveFirstOption = coerceBooleanProperty(value);\n }\n private _autoActiveFirstOption: boolean;\n\n @Output() thyOptionSelected: EventEmitter<ThyOptionSelectionChangeEvent> = new EventEmitter<ThyOptionSelectionChangeEvent>();\n\n @Output() readonly thyOpened: EventEmitter<void> = new EventEmitter<void>();\n\n @Output() readonly thyClosed: EventEmitter<void> = new EventEmitter<void>();\n\n /** Emits whenever an option is activated using the keyboard. */\n @Output() readonly thyOptionActivated: EventEmitter<ThyAutocompleteActivatedEvent> = new EventEmitter<ThyAutocompleteActivatedEvent>();\n\n constructor(private ngZone: NgZone, private changeDetectorRef: ChangeDetectorRef) {\n super();\n }\n\n ngOnInit() {\n this.setDropDownClass();\n this.instanceSelectionModel();\n }\n\n ngAfterContentInit() {\n this.options.changes.pipe(startWith(null), takeUntil(this.ngUnsubscribe$)).subscribe(() => {\n this.resetOptions();\n timer().subscribe(() => {\n this.isEmptyOptions = this.options.length <= 0;\n this.changeDetectorRef.detectChanges();\n });\n this.initKeyManager();\n });\n }\n\n initKeyManager() {\n const changedOrDestroyed$ = merge(this.options.changes, this.ngUnsubscribe$);\n this.keyManager = new ActiveDescendantKeyManager<ThyOptionComponent>(this.options).withWrap();\n this.keyManager.change.pipe(takeUntil(changedOrDestroyed$)).subscribe(index => {\n this.thyOptionActivated.emit({ source: this, option: this.options.toArray()[index] || null });\n });\n }\n\n open() {\n this.isOpened = true;\n this.changeDetectorRef.markForCheck();\n this.thyOpened.emit();\n }\n\n close() {\n this.isOpened = false;\n this.thyClosed.emit();\n }\n\n private resetOptions() {\n const changedOrDestroyed$ = merge(this.options.changes, this.ngUnsubscribe$);\n\n this.optionSelectionChanges.pipe(takeUntil(changedOrDestroyed$)).subscribe((event: ThyOptionSelectionChangeEvent) => {\n this.onSelect(event.option, event.isUserInput);\n });\n }\n\n private instanceSelectionModel() {\n if (this.selectionModel) {\n this.selectionModel.clear();\n }\n this.selectionModel = new SelectionModel<ThyOptionComponent>(this.isMultiple);\n this.selectionModel.changed.pipe(takeUntil(this.ngUnsubscribe$)).subscribe(event => {\n event.added.forEach(option => option.select());\n event.removed.forEach(option => option.deselect());\n });\n }\n\n private onSelect(option: ThyOptionComponent, isUserInput: boolean) {\n const wasSelected = this.selectionModel.isSelected(option);\n\n if (option.thyValue == null && !this.isMultiple) {\n option.deselect();\n this.selectionModel.clear();\n } else {\n if (wasSelected !== option.selected) {\n option.selected ? this.selectionModel.select(option) : this.selectionModel.deselect(option);\n }\n\n if (isUserInput) {\n this.keyManager.setActiveItem(option);\n }\n\n // if (this.isMultiple) {\n // this.sortValues();\n // if (isUserInput) {\n // this.focus();\n // }\n // }\n }\n\n if (wasSelected !== this.selectionModel.isSelected(option)) {\n this.thyOptionSelected.emit(new ThyOptionSelectionChangeEvent(option, false));\n }\n this.changeDetectorRef.markForCheck();\n }\n\n private setDropDownClass() {\n let modeClass = '';\n if (this.isMultiple) {\n modeClass = `thy-select-dropdown-${this.mode}`;\n } else {\n modeClass = `thy-select-dropdown-single`;\n }\n this.dropDownClass = {\n [`thy-select-dropdown`]: true,\n [modeClass]: true\n };\n }\n\n ngOnDestroy() {\n super.ngOnDestroy();\n }\n}\n","<ng-template #contentTemplate>\n <div thyStopPropagation [ngClass]=\"dropDownClass\">\n <div #panel class=\"thy-select-dropdown-options\">\n <ng-content></ng-content>\n <thy-empty *ngIf=\"isEmptyOptions\" [thyMessage]=\"thyEmptyText\"></thy-empty>\n </div>\n </div>\n</ng-template>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport { ThyAutocompleteTriggerDirective } from './autocomplete.trigger.directive';\nimport { ThyInputModule } from 'ngx-tethys/input';\nimport { ThyAutocompleteComponent } from './autocomplete.component';\nimport { ThyLabelModule } from 'ngx-tethys/label';\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { ThyLoadingModule } from 'ngx-tethys/loading';\nimport { ThySharedModule } from 'ngx-tethys/shared';\nimport { ThyIconModule } from 'ngx-tethys/icon';\nimport { ThyEmptyModule } from 'ngx-tethys/empty';\nimport { ThyAutocompleteContainerComponent } from './overlay/autocomplete-container.component';\nimport { THY_AUTOCOMPLETE_DEFAULT_CONFIG_PROVIDER } from './overlay/autocomplete.config';\nimport { ThyOptionModule } from 'ngx-tethys/shared';\nimport { PortalModule } from '@angular/cdk/portal';\nimport { ThyAutocompleteService } from './overlay/autocomplete.service';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n ThyInputModule,\n ThyLabelModule,\n OverlayModule,\n PortalModule,\n ThyLoadingModule,\n ThySharedModule,\n ThyIconModule,\n ThyEmptyModule,\n ThyOptionModule\n ],\n declarations: [ThyAutocompleteTriggerDirective, ThyAutocompleteComponent, ThyAutocompleteContainerComponent],\n entryComponents: [ThyAutocompleteContainerComponent],\n exports: [ThyAutocompleteTriggerDirective, ThyAutocompleteComponent, ThyAutocompleteContainerComponent, ThyOptionModule],\n providers: [THY_AUTOCOMPLETE_DEFAULT_CONFIG_PROVIDER, ThyAutocompleteService]\n})\nexport class ThyAutocompleteModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["state","style","trigger","ThyAbstractOverlayConfig","InjectionToken","EventEmitter","filter","ThyAbstractOverlayContainer","DOCUMENT","CdkPortalOutlet","Component","Inject","ViewChild","ThyAbstractOverlayRef","ThyAbstractInternalOverlayRef","Subject","FlexibleConnectedPositionStrategy","getFlexiblePositions","takeUntil","Injector","ComponentPortal","Directionality","of","coerceElement","coerceArray","ThyAbstractOverlayService","Injectable","warnDeprecation","merge","map","ThyOptionSelectionChangeEvent","ESCAPE","ENTER","UP_ARROW","DOWN_ARROW","TAB","ScrollToService","delay","take","switchMap","fromEvent","Directive","Optional","HostBinding","Input","mixinUnsubscribe","MixinBase","defer","coerceBooleanProperty","startWith","timer","ActiveDescendantKeyManager","SelectionModel","THY_OPTION_PARENT_COMPONENT","ThyOptionComponent","ChangeDetectionStrategy","ContentChildren","Output","CommonModule","FormsModule","ThyInputModule","ThyLabelModule","OverlayModule","PortalModule","ThyLoadingModule","ThySharedModule","ThyIconModule","ThyEmptyModule","ThyOptionModule","NgModule"],"mappings":"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"}
1
+ {"version":3,"file":"ngx-tethys-autocomplete.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","../../../src/autocomplete/overlay/autocomplete-animations.ts","../../../src/autocomplete/overlay/autocomplete.options.ts","../../../src/autocomplete/overlay/autocomplete.config.ts","../../../src/autocomplete/overlay/autocomplete-container.component.ts","../../../src/autocomplete/overlay/autocomplete-container.component.html","../../../src/autocomplete/overlay/autocomplete-ref.ts","../../../src/autocomplete/overlay/autocomplete.service.ts","../../../src/autocomplete/autocomplete.trigger.directive.ts","../../../src/autocomplete/autocomplete.component.ts","../../../src/autocomplete/autocomplete.component.html","../../../src/autocomplete/module.ts","../../../src/autocomplete/ngx-tethys-autocomplete.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || from);\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","import { animate, state, style, transition, trigger, AnimationTriggerMetadata } from '@angular/animations';\n\nconst animationBody = [state('void, exit', style({ opacity: 0, transform: 'scale(0.1)' })), state('enter', style({ transform: 'none' }))];\n\n/**\n * Animations used by ThyAutocomplete.\n * @docs-private\n */\nexport const thyAutocompleteAnimations: {\n readonly autocompleteContainer: AnimationTriggerMetadata;\n} = {\n autocompleteContainer: trigger('autocompleteContainer', animationBody)\n};\n","import { ThyAbstractOverlayOptions } from 'ngx-tethys/core';\n\nexport const autocompleteAbstractOverlayOptions: ThyAbstractOverlayOptions = {\n name: 'autocomplete',\n animationEnabled: true,\n disposeWhenClose: true\n};\n","import { ElementRef, ViewContainerRef, InjectionToken } from '@angular/core';\nimport { Directionality } from '@angular/cdk/bidi';\nimport { ThyPlacement, ThyAbstractOverlayConfig } from 'ngx-tethys/core';\nimport { ScrollStrategy, PositionStrategy, ScrollStrategyOptions } from '@angular/cdk/overlay';\n\nexport class ThyAutocompleteConfig<TData = any> extends ThyAbstractOverlayConfig<TData> {\n /** Origin Element, for overlay flexible connected to */\n origin: ElementRef<any> | HTMLElement;\n\n /** Placement be relative to origin, topCenter, topLeft, topRight, bottomCenter, bottomLeft, bottomRight ...*/\n placement?: ThyPlacement;\n\n /** Click inside can been close */\n insideClosable?: boolean;\n\n /** Offset be relative to origin, default is 4*/\n offset?: number;\n\n /** Manually close it, default rules is which auto close last autocomplete when open a new unless set manualClosure as true */\n manualClosure?: boolean;\n\n /** Origin active class when autocomplete is opened */\n originActiveClass?: string | string[];\n\n /**\n * 滚动策略\n */\n scrollStrategy?: ScrollStrategy;\n\n /** Click outside can been close */\n outsideClosable?: boolean;\n}\n\nexport const THY_AUTOCOMPLETE_DEFAULT_CONFIG = new InjectionToken<ThyAutocompleteConfig>('thy-autocomplete-default-config');\n\nexport const THY_AUTOCOMPLETE_DEFAULT_CONFIG_PROVIDER = {\n provide: THY_AUTOCOMPLETE_DEFAULT_CONFIG,\n useValue: {\n hasBackdrop: false,\n panelClass: '',\n closeOnNavigation: true,\n insideClosable: true,\n manualClosure: false,\n outsideClosable: true,\n originActiveClass: 'thy-autocomplete-origin-active'\n }\n};\n","import { ThyAbstractOverlayContainer, ThyClickDispatcher } from 'ngx-tethys/core';\nimport { Observable } from 'rxjs';\nimport { filter } from 'rxjs/operators';\n\nimport { AnimationEvent } from '@angular/animations';\nimport { CdkPortalOutlet } from '@angular/cdk/portal';\nimport { DOCUMENT } from '@angular/common';\nimport { AfterViewInit, ChangeDetectorRef, Component, ElementRef, EventEmitter, Inject, NgZone, ViewChild } from '@angular/core';\n\nimport { thyAutocompleteAnimations } from './autocomplete-animations';\nimport { ThyAutocompleteConfig } from './autocomplete.config';\nimport { autocompleteAbstractOverlayOptions } from './autocomplete.options';\n\n@Component({\n selector: 'thy-autocomplete-container',\n templateUrl: './autocomplete-container.component.html',\n animations: [thyAutocompleteAnimations.autocompleteContainer],\n host: {\n class: 'thy-autocomplete-container',\n tabindex: '-1',\n '[attr.role]': `'autocomplete'`,\n '[@autocompleteContainer]': 'animationState',\n '(@autocompleteContainer.start)': 'onAnimationStart($event)',\n '(@autocompleteContainer.done)': 'onAnimationDone($event)'\n }\n})\nexport class ThyAutocompleteContainerComponent extends ThyAbstractOverlayContainer implements AfterViewInit {\n @ViewChild(CdkPortalOutlet, { static: true })\n portalOutlet: CdkPortalOutlet;\n\n /** State of the autocomplete animation. */\n animationState: 'void' | 'enter' | 'exit' = 'enter';\n\n /** Emits when an animation state changes. */\n animationStateChanged = new EventEmitter<AnimationEvent>();\n\n animationOpeningDone: Observable<AnimationEvent>;\n animationClosingDone: Observable<AnimationEvent>;\n\n beforeAttachPortal(): void {}\n\n constructor(\n private elementRef: ElementRef,\n @Inject(DOCUMENT) private document: any,\n public config: ThyAutocompleteConfig,\n changeDetectorRef: ChangeDetectorRef,\n private thyClickDispatcher: ThyClickDispatcher,\n private ngZone: NgZone\n ) {\n super(autocompleteAbstractOverlayOptions, changeDetectorRef);\n\n this.animationOpeningDone = this.animationStateChanged.pipe(\n filter((event: AnimationEvent) => {\n return event.phaseName === 'done' && event.toState === 'enter';\n })\n );\n this.animationClosingDone = this.animationStateChanged.pipe(\n filter((event: AnimationEvent) => {\n return event.phaseName === 'done' && event.toState === 'exit';\n })\n );\n }\n\n ngAfterViewInit() {}\n\n /** Callback, invoked whenever an animation on the host completes. */\n onAnimationDone(event: AnimationEvent) {\n this.animationStateChanged.emit(event);\n }\n\n /** Callback, invoked when an animation on the host starts. */\n onAnimationStart(event: AnimationEvent) {\n this.animationStateChanged.emit(event);\n }\n\n startExitAnimation(): void {\n this.animationState = 'exit';\n this.changeDetectorRef.markForCheck();\n }\n}\n","<ng-template cdkPortalOutlet></ng-template>\n","import { ThyAbstractInternalOverlayRef, ThyAbstractOverlayRef } from 'ngx-tethys/core';\n\nimport { OverlayRef } from '@angular/cdk/overlay';\n\nimport { ThyAutocompleteContainerComponent } from './autocomplete-container.component';\nimport { ThyAutocompleteConfig } from './autocomplete.config';\nimport { autocompleteAbstractOverlayOptions } from './autocomplete.options';\n\nexport abstract class ThyAutocompleteRef<T, TResult = any> extends ThyAbstractOverlayRef<T, ThyAutocompleteContainerComponent, TResult> {}\n\nexport class ThyInternalAutocompleteRef<T, TResult = any>\n extends ThyAbstractInternalOverlayRef<T, ThyAutocompleteContainerComponent, TResult>\n implements ThyAutocompleteRef<T, TResult> {\n constructor(overlayRef: OverlayRef, containerInstance: ThyAutocompleteContainerComponent, config: ThyAutocompleteConfig) {\n super(autocompleteAbstractOverlayOptions, overlayRef, containerInstance, config);\n }\n\n /**\n * Updates the autocomplete's position.\n * @param position New autocomplete position.\n */\n updatePosition(): this {\n this.overlayRef.updatePosition();\n return this;\n }\n}\n","import { getFlexiblePositions, ThyAbstractOverlayService } from 'ngx-tethys/core';\nimport { of, Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { Directionality } from '@angular/cdk/bidi';\nimport { coerceArray, coerceElement } from '@angular/cdk/coercion';\nimport {\n ComponentType,\n FlexibleConnectedPositionStrategy,\n Overlay,\n OverlayConfig,\n OverlayContainer,\n OverlayRef,\n PositionStrategy,\n ScrollDispatcher\n} from '@angular/cdk/overlay';\nimport { Platform } from '@angular/cdk/platform';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport { ViewportRuler } from '@angular/cdk/scrolling';\nimport { DOCUMENT } from '@angular/common';\nimport { ElementRef, Inject, Injectable, Injector, NgZone, OnDestroy, StaticProvider, TemplateRef } from '@angular/core';\n\nimport { ThyAutocompleteContainerComponent } from './autocomplete-container.component';\nimport { ThyAutocompleteRef, ThyInternalAutocompleteRef } from './autocomplete-ref';\nimport { THY_AUTOCOMPLETE_DEFAULT_CONFIG, ThyAutocompleteConfig } from './autocomplete.config';\nimport { autocompleteAbstractOverlayOptions } from './autocomplete.options';\n\n@Injectable()\nexport class ThyAutocompleteService extends ThyAbstractOverlayService<ThyAutocompleteConfig, ThyAutocompleteContainerComponent>\n implements OnDestroy {\n private readonly ngUnsubscribe$ = new Subject();\n\n private originInstancesMap = new Map<\n ElementRef | HTMLElement,\n {\n config: ThyAutocompleteConfig;\n autocompleteRef: ThyAutocompleteRef<any, any>;\n }\n >();\n\n private buildPositionStrategy<TData>(config: ThyAutocompleteConfig<TData>): PositionStrategy {\n const positionStrategy = new FlexibleConnectedPositionStrategy(\n config.origin,\n this._viewportRuler,\n this._document,\n this._platform,\n this._overlayContainer\n );\n const positions = getFlexiblePositions(config.placement, config.offset, 'thy-autocomplete');\n positionStrategy.withPositions(positions);\n positionStrategy.withGrowAfterOpen(true);\n positionStrategy.positionChanges.pipe(takeUntil(this.ngUnsubscribe$)).subscribe(change => {\n if (change.scrollableViewProperties.isOverlayClipped) {\n // After position changes occur and the overlay is clipped by\n // a parent scrollable then close the tooltip.\n this.ngZone.run(() => this.close());\n }\n });\n return positionStrategy;\n }\n\n protected buildOverlayConfig<TData>(config: ThyAutocompleteConfig<TData>): OverlayConfig {\n const strategy = this.buildPositionStrategy(config);\n const overlayConfig = this.buildBaseOverlayConfig(config);\n overlayConfig.positionStrategy = strategy;\n overlayConfig.scrollStrategy = config.scrollStrategy || this.overlay.scrollStrategies.block();\n overlayConfig.width = config.width;\n return overlayConfig;\n }\n\n protected attachOverlayContainer(overlay: OverlayRef, config: ThyAutocompleteConfig<any>): ThyAutocompleteContainerComponent {\n const userInjector = config && config.viewContainerRef && config.viewContainerRef.injector;\n const injector = Injector.create({\n parent: userInjector || this.injector,\n providers: [{ provide: ThyAutocompleteConfig, useValue: config }]\n });\n const containerPortal = new ComponentPortal(ThyAutocompleteContainerComponent, config.viewContainerRef, injector);\n const containerRef = overlay.attach<ThyAutocompleteContainerComponent>(containerPortal);\n return containerRef.instance;\n }\n\n protected createAbstractOverlayRef<T>(\n overlayRef: OverlayRef,\n containerInstance: ThyAutocompleteContainerComponent,\n config: ThyAutocompleteConfig<any>\n ): ThyInternalAutocompleteRef<T> {\n return new ThyInternalAutocompleteRef<T>(overlayRef, containerInstance, config);\n }\n\n protected createInjector<T>(\n config: ThyAutocompleteConfig,\n autocompleteRef: ThyAutocompleteRef<T>,\n autocompleteContainer: ThyAutocompleteContainerComponent\n ): Injector {\n const userInjector = config && config.viewContainerRef && config.viewContainerRef.injector;\n const injectionTokens: StaticProvider[] = [\n {\n provide: ThyAutocompleteContainerComponent,\n useValue: autocompleteContainer\n },\n {\n provide: ThyAutocompleteRef,\n useValue: autocompleteRef\n }\n ];\n\n if (config.direction && (!userInjector || !userInjector.get<Directionality | null>(Directionality, null))) {\n injectionTokens.push({\n provide: Directionality,\n useValue: {\n value: config.direction,\n change: of()\n }\n });\n }\n\n return Injector.create({ parent: userInjector || this.injector, providers: injectionTokens });\n }\n\n private originElementAddActiveClass(config: ThyAutocompleteConfig) {\n if (config.originActiveClass) {\n coerceElement<HTMLElement>(config.origin).classList.add(...coerceArray(config.originActiveClass));\n }\n }\n\n private originElementRemoveActiveClass(config: ThyAutocompleteConfig) {\n if (config.originActiveClass) {\n coerceElement<HTMLElement>(config.origin).classList.remove(...coerceArray(config.originActiveClass));\n }\n }\n\n constructor(\n overlay: Overlay,\n injector: Injector,\n @Inject(THY_AUTOCOMPLETE_DEFAULT_CONFIG) defaultConfig: ThyAutocompleteConfig,\n private scrollDispatcher: ScrollDispatcher,\n private ngZone: NgZone,\n private _viewportRuler: ViewportRuler,\n @Inject(DOCUMENT) private _document: any,\n private _platform: Platform,\n private _overlayContainer: OverlayContainer\n ) {\n super(autocompleteAbstractOverlayOptions, overlay, injector, defaultConfig);\n }\n\n open<T, TData = any, TResult = any>(\n componentOrTemplateRef: ComponentType<T> | TemplateRef<T>,\n config?: ThyAutocompleteConfig<TData>\n ): ThyAutocompleteRef<T, TResult> {\n const originElement = coerceElement(config.origin);\n const autocompleteRef = this.openOverlay(componentOrTemplateRef, config) as ThyAutocompleteRef<T>;\n config = autocompleteRef.containerInstance.config;\n autocompleteRef.afterClosed().subscribe(() => {\n this.originElementRemoveActiveClass(config);\n this.originInstancesMap.delete(originElement);\n });\n\n this.originElementAddActiveClass(config);\n this.originInstancesMap.set(originElement, {\n config,\n autocompleteRef\n });\n\n return autocompleteRef;\n }\n\n ngOnDestroy() {\n this.dispose();\n }\n}\n","import {\n Directive,\n ElementRef,\n Injectable,\n NgZone,\n OnDestroy,\n Input,\n OnInit,\n ViewContainerRef,\n HostBinding,\n Optional,\n Inject,\n ChangeDetectorRef\n} from '@angular/core';\nimport { Platform } from '@angular/cdk/platform';\nimport { OverlayRef, Overlay } from '@angular/cdk/overlay';\nimport { FocusMonitor } from '@angular/cdk/a11y';\nimport { ThyOverlayDirectiveBase, ThyPlacement } from 'ngx-tethys/core';\nimport { ThyAutocompleteService } from './overlay/autocomplete.service';\nimport { ThyAutocompleteRef } from './overlay/autocomplete-ref';\nimport { ThyAutocompleteComponent } from './autocomplete.component';\nimport { ThyOptionComponent, ThyOptionSelectionChangeEvent } from 'ngx-tethys/shared';\nimport { DOCUMENT } from '@angular/common';\nimport { Subject, Observable, merge, fromEvent, of, Subscription } from 'rxjs';\nimport { ESCAPE, UP_ARROW, ENTER, DOWN_ARROW, TAB } from 'ngx-tethys/util';\nimport { filter, map, take, tap, delay, switchMap } from 'rxjs/operators';\nimport { ScrollToService } from 'ngx-tethys/core';\nimport { warnDeprecation } from 'ngx-tethys/util';\n\n@Directive({\n selector:\n 'input[thyAutocompleteTrigger], textarea[thyAutocompleteTrigger], thy-input[thyAutocompleteTrigger], thy-input-search[thyAutocompleteTrigger]',\n exportAs: 'thyAutocompleteTrigger',\n host: {\n '(input)': 'handleInput($event)',\n '(focusin)': 'onFocus()',\n '(keydown)': 'onKeydown($event)'\n }\n})\nexport class ThyAutocompleteTriggerDirective implements OnInit, OnDestroy {\n protected overlayRef: OverlayRef;\n\n private autocompleteRef: ThyAutocompleteRef<ThyAutocompleteComponent>;\n\n private readonly closeKeyEventStream = new Subject<void>();\n\n private closingActionsSubscription: Subscription;\n\n private _autocompleteComponent: ThyAutocompleteComponent;\n\n @HostBinding(`class.thy-autocomplete-opened`) panelOpened = false;\n\n @Input('thyAutocompleteComponent')\n set autocompleteComponent(data: ThyAutocompleteComponent) {\n this._autocompleteComponent = data;\n }\n\n @Input('thyAutocomplete')\n set autocomplete(data: ThyAutocompleteComponent) {\n warnDeprecation(`The property thyAutocomplete will be deprecated, please use thyAutocompleteComponent instead.`);\n this._autocompleteComponent = data;\n }\n\n get autocompleteComponent() {\n return this._autocompleteComponent;\n }\n\n @Input() thyOffset = 4;\n\n @Input() thyAutocompleteWidth: number;\n\n @Input() thyPlacement: ThyPlacement = 'bottomLeft';\n\n @Input() thyIsFocusOpen = true;\n\n get activeOption(): ThyOptionComponent | null {\n if (this.autocompleteComponent && this.autocompleteComponent.keyManager) {\n return this.autocompleteComponent.keyManager.activeItem;\n }\n\n return null;\n }\n\n get panelClosingActions(): Observable<ThyOptionSelectionChangeEvent | null> {\n return merge(\n this.autocompleteComponent.thyOptionSelected,\n this.autocompleteComponent.keyManager.tabOut.pipe(filter(() => this.panelOpened)),\n this.closeKeyEventStream,\n this.getOutsideClickStream(),\n this.overlayRef ? this.overlayRef.detachments().pipe(filter(() => this.panelOpened)) : of()\n ).pipe(\n // Normalize the output so we return a consistent type.\n map(event => (event instanceof ThyOptionSelectionChangeEvent ? event : null))\n );\n }\n\n constructor(\n private elementRef: ElementRef,\n private ngZone: NgZone,\n private overlay: Overlay,\n private autocompleteService: ThyAutocompleteService,\n private viewContainerRef: ViewContainerRef,\n @Optional() @Inject(DOCUMENT) private document: any,\n private cdr: ChangeDetectorRef\n ) {}\n\n ngOnInit(): void {}\n\n onFocus() {\n if (this.canOpen() && this.thyIsFocusOpen) {\n this.openPanel();\n }\n }\n\n onKeydown(event: KeyboardEvent) {\n const keyCode = event.keyCode;\n\n // Prevent the default action on all escape key presses. This is here primarily to bring IE\n // in line with other browsers. By default, pressing escape on IE will cause it to revert\n // the input value to the one that it had on focus, however it won't dispatch any events\n // which means that the model value will be out of sync with the view.\n if (keyCode === ESCAPE) {\n event.preventDefault();\n }\n if (this.activeOption && keyCode === ENTER && this.panelOpened) {\n this.activeOption.selectViaInteraction();\n this.resetActiveItem();\n event.preventDefault();\n } else if (this.autocompleteComponent) {\n const prevActiveItem = this.autocompleteComponent.keyManager.activeItem;\n const isArrowKey = keyCode === UP_ARROW || keyCode === DOWN_ARROW;\n if (this.panelOpened || keyCode === TAB) {\n this.autocompleteComponent.keyManager.onKeydown(event);\n } else if (isArrowKey && this.canOpen()) {\n this.openPanel();\n }\n if (\n (isArrowKey || this.autocompleteComponent.keyManager.activeItem !== prevActiveItem) &&\n this.autocompleteComponent.keyManager.activeItem\n ) {\n ScrollToService.scrollToElement(\n this.autocompleteComponent.keyManager.activeItem.element.nativeElement,\n this.autocompleteComponent.optionsContainer.nativeElement\n );\n }\n }\n }\n\n handleInput(event: KeyboardEvent) {\n if (this.canOpen() && document.activeElement === event.target) {\n this.openPanel();\n }\n }\n\n openPanel() {\n if (this.overlayRef && this.overlayRef.hasAttached()) {\n return;\n }\n const overlayRef = this.createOverlay();\n this.overlayRef = overlayRef;\n overlayRef.keydownEvents().subscribe(event => {\n // Close when pressing ESCAPE or ALT + UP_ARROW, based on the a11y guidelines.\n // See: https://www.w3.org/TR/wai-aria-practices-1.1/#textbox-keyboard-interaction\n if (event.keyCode === ESCAPE || (event.keyCode === UP_ARROW && event.altKey)) {\n this.resetActiveItem();\n this.closeKeyEventStream.next();\n // We need to stop propagation, otherwise the event will eventually\n // reach the input itself and cause the overlay to be reopened.\n event.stopPropagation();\n event.preventDefault();\n }\n });\n this.panelOpened = true;\n this.autocompleteComponent.open();\n }\n\n closePanel() {\n if (this.autocompleteRef) {\n this.autocompleteRef.close();\n this.cdr.detectChanges();\n this.closingActionsSubscription.unsubscribe();\n }\n }\n\n createOverlay(): OverlayRef {\n const config = Object.assign({\n origin: this.elementRef.nativeElement,\n viewContainerRef: this.viewContainerRef,\n placement: this.thyPlacement,\n offset: this.thyOffset,\n scrollStrategy: this.overlay.scrollStrategies.reposition(),\n width: this.thyAutocompleteWidth || this.elementRef.nativeElement.clientWidth\n });\n this.autocompleteRef = this.autocompleteService.open(this.autocompleteComponent.contentTemplateRef, config);\n this.autocompleteRef.afterClosed().subscribe(() => {\n this.panelOpened = false;\n this.autocompleteComponent.close();\n });\n // delay 200ms to prevent emit document click rightnow\n this.autocompleteRef\n .afterOpened()\n .pipe(delay(200))\n .subscribe(() => {\n this.closingActionsSubscription = this.subscribeToClosingActions();\n });\n return this.autocompleteRef.getOverlayRef();\n }\n\n /**\n * This method listens to a stream of panel closing actions and resets the\n * stream every time the option list changes.\n */\n private subscribeToClosingActions(): Subscription {\n const firstStable = this.ngZone.onStable.asObservable().pipe(take(1));\n const optionChanges = this.autocompleteComponent.options.changes.pipe(\n // Defer emitting to the stream until the next tick, because changing\n // bindings in here will cause \"changed after checked\" errors.\n delay(0)\n );\n // When the zone is stable initially, and when the option list changes...\n return (\n merge(firstStable, optionChanges)\n .pipe(\n // create a new stream of panelClosingActions, replacing any previous streams\n // that were created, and flatten it so our stream only emits closing events...\n switchMap(() => {\n this.resetActiveItem();\n\n if (this.panelOpened) {\n this.overlayRef.updatePosition();\n }\n return this.panelClosingActions;\n }),\n // when the first closing event occurs...\n take(1)\n )\n // set the value, close the panel, and complete.\n .subscribe(event => this.setValueAndClose(event))\n );\n }\n\n private setValueAndClose(event: ThyOptionSelectionChangeEvent | null): void {\n if (event && event.option) {\n this.setValue(event.option.thyLabelText);\n }\n this.closePanel();\n }\n\n /** Stream of clicks outside of the autocomplete panel. */\n private getOutsideClickStream(): Observable<any> {\n return merge(\n fromEvent(this.document, 'click') as Observable<MouseEvent>,\n fromEvent(this.document, 'touchend') as Observable<TouchEvent>\n ).pipe(\n filter(event => {\n // If we're in the Shadow DOM, the event target will be the shadow root, so we have to\n // fall back to check the first element in the path of the click event.\n const clickTarget = event.target as HTMLElement;\n const formField: any = null;\n\n return (\n this.panelOpened &&\n clickTarget !== this.elementRef.nativeElement &&\n !this.elementRef.nativeElement.contains(clickTarget) &&\n (!formField || !formField.contains(clickTarget)) &&\n !!this.overlayRef &&\n !this.overlayRef.overlayElement.contains(clickTarget)\n );\n })\n );\n }\n\n private setValue(value: string) {\n const input = this.elementRef.nativeElement.querySelector('input');\n const element = input ? input : this.elementRef.nativeElement;\n element.value = value;\n element.focus();\n }\n\n private canOpen(): boolean {\n const element: HTMLInputElement = this.elementRef.nativeElement;\n return !element.readOnly && !element.disabled;\n }\n\n private resetActiveItem(): void {\n this.autocompleteComponent.keyManager.setActiveItem(this.autocompleteComponent.thyAutoActiveFirstOption ? 0 : -1);\n }\n\n private destroyPanel(): void {\n if (this.overlayRef) {\n this.closePanel();\n this.overlayRef.dispose();\n this.overlayRef = null;\n }\n }\n\n ngOnDestroy() {\n this.closeKeyEventStream.complete();\n this.destroyPanel();\n }\n}\n","import {\n Component,\n TemplateRef,\n ViewChild,\n ChangeDetectionStrategy,\n ContentChildren,\n QueryList,\n OnInit,\n Output,\n EventEmitter,\n NgZone,\n OnDestroy,\n AfterContentInit,\n ChangeDetectorRef,\n Input,\n ElementRef\n} from '@angular/core';\nimport { Constructor, ThyUnsubscribe } from 'ngx-tethys/core';\nimport { defer, merge, Observable, timer } from 'rxjs';\nimport { take, switchMap, takeUntil, startWith } from 'rxjs/operators';\nimport { MixinBase, mixinUnsubscribe } from 'ngx-tethys/core';\nimport { SelectionModel } from '@angular/cdk/collections';\nimport {\n THY_OPTION_PARENT_COMPONENT,\n IThyOptionParentComponent,\n ThyOptionComponent,\n ThyOptionSelectionChangeEvent\n} from 'ngx-tethys/shared';\nimport { ActiveDescendantKeyManager } from '@angular/cdk/a11y';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\n\n/** Event object that is emitted when an autocomplete option is activated. */\nexport interface ThyAutocompleteActivatedEvent {\n /** Reference to the autocomplete panel that emitted the event. */\n source: ThyAutocompleteComponent;\n\n /** Option that was selected. */\n option: ThyOptionComponent | null;\n}\n\nconst _MixinBase: Constructor<ThyUnsubscribe> & typeof MixinBase = mixinUnsubscribe(MixinBase);\n@Component({\n selector: 'thy-autocomplete',\n templateUrl: 'autocomplete.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: THY_OPTION_PARENT_COMPONENT,\n useExisting: ThyAutocompleteComponent\n }\n ]\n})\nexport class ThyAutocompleteComponent extends _MixinBase implements IThyOptionParentComponent, OnInit, AfterContentInit, OnDestroy {\n dropDownClass: { [key: string]: boolean };\n\n isMultiple = false;\n\n mode = '';\n\n isEmptyOptions = false;\n\n selectionModel: SelectionModel<ThyOptionComponent>;\n\n isOpened = false;\n\n /** Manages active item in option list based on key events. */\n keyManager: ActiveDescendantKeyManager<ThyOptionComponent>;\n\n @ViewChild('contentTemplate', { static: true })\n contentTemplateRef: TemplateRef<any>;\n\n // scroll element container\n @ViewChild('panel')\n optionsContainer: ElementRef<any>;\n\n @ContentChildren(ThyOptionComponent, { descendants: true }) options: QueryList<ThyOptionComponent>;\n\n readonly optionSelectionChanges: Observable<ThyOptionSelectionChangeEvent> = defer(() => {\n if (this.options) {\n return merge(...this.options.map(option => option.selectionChange));\n }\n return this.ngZone.onStable.asObservable().pipe(\n take(1),\n switchMap(() => this.optionSelectionChanges)\n );\n }) as Observable<ThyOptionSelectionChangeEvent>;\n\n @Input()\n thyEmptyText = '没有任何数据';\n\n @Input()\n get thyAutoActiveFirstOption(): boolean {\n return this._autoActiveFirstOption;\n }\n set thyAutoActiveFirstOption(value: boolean) {\n this._autoActiveFirstOption = coerceBooleanProperty(value);\n }\n private _autoActiveFirstOption: boolean;\n\n @Output() thyOptionSelected: EventEmitter<ThyOptionSelectionChangeEvent> = new EventEmitter<ThyOptionSelectionChangeEvent>();\n\n @Output() readonly thyOpened: EventEmitter<void> = new EventEmitter<void>();\n\n @Output() readonly thyClosed: EventEmitter<void> = new EventEmitter<void>();\n\n /** Emits whenever an option is activated using the keyboard. */\n @Output() readonly thyOptionActivated: EventEmitter<ThyAutocompleteActivatedEvent> = new EventEmitter<ThyAutocompleteActivatedEvent>();\n\n constructor(private ngZone: NgZone, private changeDetectorRef: ChangeDetectorRef) {\n super();\n }\n\n ngOnInit() {\n this.setDropDownClass();\n this.instanceSelectionModel();\n }\n\n ngAfterContentInit() {\n this.options.changes.pipe(startWith(null), takeUntil(this.ngUnsubscribe$)).subscribe(() => {\n this.resetOptions();\n timer().subscribe(() => {\n this.isEmptyOptions = this.options.length <= 0;\n this.changeDetectorRef.detectChanges();\n });\n this.initKeyManager();\n });\n }\n\n initKeyManager() {\n const changedOrDestroyed$ = merge(this.options.changes, this.ngUnsubscribe$);\n this.keyManager = new ActiveDescendantKeyManager<ThyOptionComponent>(this.options).withWrap();\n this.keyManager.change.pipe(takeUntil(changedOrDestroyed$)).subscribe(index => {\n this.thyOptionActivated.emit({ source: this, option: this.options.toArray()[index] || null });\n });\n }\n\n open() {\n this.isOpened = true;\n this.changeDetectorRef.markForCheck();\n this.thyOpened.emit();\n }\n\n close() {\n this.isOpened = false;\n this.thyClosed.emit();\n }\n\n private resetOptions() {\n const changedOrDestroyed$ = merge(this.options.changes, this.ngUnsubscribe$);\n\n this.optionSelectionChanges.pipe(takeUntil(changedOrDestroyed$)).subscribe((event: ThyOptionSelectionChangeEvent) => {\n this.onSelect(event.option, event.isUserInput);\n });\n }\n\n private instanceSelectionModel() {\n if (this.selectionModel) {\n this.selectionModel.clear();\n }\n this.selectionModel = new SelectionModel<ThyOptionComponent>(this.isMultiple);\n this.selectionModel.changed.pipe(takeUntil(this.ngUnsubscribe$)).subscribe(event => {\n event.added.forEach(option => option.select());\n event.removed.forEach(option => option.deselect());\n });\n }\n\n private onSelect(option: ThyOptionComponent, isUserInput: boolean) {\n const wasSelected = this.selectionModel.isSelected(option);\n\n if (option.thyValue == null && !this.isMultiple) {\n option.deselect();\n this.selectionModel.clear();\n } else {\n if (wasSelected !== option.selected) {\n option.selected ? this.selectionModel.select(option) : this.selectionModel.deselect(option);\n }\n\n if (isUserInput) {\n this.keyManager.setActiveItem(option);\n }\n\n // if (this.isMultiple) {\n // this.sortValues();\n // if (isUserInput) {\n // this.focus();\n // }\n // }\n }\n\n if (wasSelected !== this.selectionModel.isSelected(option)) {\n this.thyOptionSelected.emit(new ThyOptionSelectionChangeEvent(option, false));\n }\n this.changeDetectorRef.markForCheck();\n }\n\n private setDropDownClass() {\n let modeClass = '';\n if (this.isMultiple) {\n modeClass = `thy-select-dropdown-${this.mode}`;\n } else {\n modeClass = `thy-select-dropdown-single`;\n }\n this.dropDownClass = {\n [`thy-select-dropdown`]: true,\n [modeClass]: true\n };\n }\n\n ngOnDestroy() {\n super.ngOnDestroy();\n }\n}\n","<ng-template #contentTemplate>\n <div thyStopPropagation [ngClass]=\"dropDownClass\">\n <div #panel class=\"thy-select-dropdown-options\">\n <ng-content></ng-content>\n <thy-empty *ngIf=\"isEmptyOptions\" [thyMessage]=\"thyEmptyText\"></thy-empty>\n </div>\n </div>\n</ng-template>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport { ThyAutocompleteTriggerDirective } from './autocomplete.trigger.directive';\nimport { ThyInputModule } from 'ngx-tethys/input';\nimport { ThyAutocompleteComponent } from './autocomplete.component';\nimport { ThyLabelModule } from 'ngx-tethys/label';\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { ThyLoadingModule } from 'ngx-tethys/loading';\nimport { ThySharedModule } from 'ngx-tethys/shared';\nimport { ThyIconModule } from 'ngx-tethys/icon';\nimport { ThyEmptyModule } from 'ngx-tethys/empty';\nimport { ThyAutocompleteContainerComponent } from './overlay/autocomplete-container.component';\nimport { THY_AUTOCOMPLETE_DEFAULT_CONFIG_PROVIDER } from './overlay/autocomplete.config';\nimport { ThyOptionModule } from 'ngx-tethys/shared';\nimport { PortalModule } from '@angular/cdk/portal';\nimport { ThyAutocompleteService } from './overlay/autocomplete.service';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n ThyInputModule,\n ThyLabelModule,\n OverlayModule,\n PortalModule,\n ThyLoadingModule,\n ThySharedModule,\n ThyIconModule,\n ThyEmptyModule,\n ThyOptionModule\n ],\n declarations: [ThyAutocompleteTriggerDirective, ThyAutocompleteComponent, ThyAutocompleteContainerComponent],\n entryComponents: [ThyAutocompleteContainerComponent],\n exports: [ThyAutocompleteTriggerDirective, ThyAutocompleteComponent, ThyAutocompleteContainerComponent, ThyOptionModule],\n providers: [THY_AUTOCOMPLETE_DEFAULT_CONFIG_PROVIDER, ThyAutocompleteService]\n})\nexport class ThyAutocompleteModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["state","style","trigger","ThyAbstractOverlayConfig","InjectionToken","EventEmitter","filter","ThyAbstractOverlayContainer","DOCUMENT","CdkPortalOutlet","Component","Inject","ViewChild","ThyAbstractOverlayRef","ThyAbstractInternalOverlayRef","Subject","FlexibleConnectedPositionStrategy","getFlexiblePositions","takeUntil","Injector","ComponentPortal","Directionality","of","coerceElement","coerceArray","ThyAbstractOverlayService","Injectable","warnDeprecation","merge","map","ThyOptionSelectionChangeEvent","ESCAPE","ENTER","UP_ARROW","DOWN_ARROW","TAB","ScrollToService","delay","take","switchMap","fromEvent","Directive","Optional","HostBinding","Input","mixinUnsubscribe","MixinBase","defer","coerceBooleanProperty","startWith","timer","ActiveDescendantKeyManager","SelectionModel","THY_OPTION_PARENT_COMPONENT","ThyOptionComponent","ChangeDetectionStrategy","ContentChildren","Output","CommonModule","FormsModule","ThyInputModule","ThyLabelModule","OverlayModule","PortalModule","ThyLoadingModule","ThySharedModule","ThyIconModule","ThyEmptyModule","ThyOptionModule","NgModule"],"mappings":"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"}
@@ -920,7 +920,7 @@
920
920
  if (index < this.activatedOptions.length - 1) {
921
921
  this.activatedOptions = this.activatedOptions.slice(0, index + 1);
922
922
  }
923
- if (option.children && option.children.length) {
923
+ if (util.isArray(option.children) && !option.isLeaf) {
924
924
  option.isLeaf = false;
925
925
  option.children.forEach(function (child) { return (child.parent = option); });
926
926
  this.setColumnData(option.children, index + 1);