@ng-select/ng-select 2.20.2 → 3.0.0

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 (104) hide show
  1. package/README.md +3 -3
  2. package/bundles/ng-select-ng-select.umd.js +4525 -0
  3. package/bundles/ng-select-ng-select.umd.js.map +1 -0
  4. package/bundles/ng-select-ng-select.umd.min.js +2 -0
  5. package/bundles/ng-select-ng-select.umd.min.js.map +1 -0
  6. package/esm2015/lib/config.service.js +40 -0
  7. package/esm2015/lib/console.service.js +20 -0
  8. package/esm2015/lib/id.js +21 -0
  9. package/esm2015/lib/items-list.js +661 -0
  10. package/esm2015/lib/ng-dropdown-panel.component.js +661 -0
  11. package/esm2015/lib/ng-dropdown-panel.service.js +127 -0
  12. package/esm2015/lib/ng-option.component.js +74 -0
  13. package/esm2015/lib/ng-select.component.js +1384 -0
  14. package/esm2015/lib/ng-select.module.js +57 -0
  15. package/esm2015/lib/ng-select.types.js +48 -0
  16. package/esm2015/{ng-select → lib}/ng-templates.directive.js +2 -3
  17. package/esm2015/lib/search-helper.js +862 -0
  18. package/esm2015/lib/selection-model.js +166 -0
  19. package/esm2015/lib/value-utils.js +33 -0
  20. package/esm2015/ng-select-ng-select.js +15 -0
  21. package/esm2015/public-api.js +11 -0
  22. package/esm5/lib/config.service.js +42 -0
  23. package/esm5/lib/console.service.js +28 -0
  24. package/esm5/lib/id.js +21 -0
  25. package/esm5/lib/items-list.js +888 -0
  26. package/esm5/lib/ng-dropdown-panel.component.js +770 -0
  27. package/esm5/lib/ng-dropdown-panel.service.js +150 -0
  28. package/esm5/lib/ng-option.component.js +86 -0
  29. package/esm5/lib/ng-select.component.js +1637 -0
  30. package/esm5/lib/ng-select.module.js +61 -0
  31. package/esm5/lib/ng-select.types.js +48 -0
  32. package/esm5/{ng-select → lib}/ng-templates.directive.js +2 -3
  33. package/esm5/lib/search-helper.js +862 -0
  34. package/esm5/{ng-select → lib}/selection-model.js +69 -22
  35. package/esm5/lib/value-utils.js +33 -0
  36. package/esm5/ng-select-ng-select.js +15 -0
  37. package/esm5/public-api.js +11 -0
  38. package/fesm2015/ng-select-ng-select.js +3804 -0
  39. package/fesm2015/ng-select-ng-select.js.map +1 -0
  40. package/fesm5/ng-select-ng-select.js +4442 -0
  41. package/fesm5/ng-select-ng-select.js.map +1 -0
  42. package/{ng-select → lib}/config.service.d.ts +0 -0
  43. package/{ng-select → lib}/console.service.d.ts +0 -0
  44. package/{ng-select → lib}/id.d.ts +0 -0
  45. package/{ng-select → lib}/items-list.d.ts +1 -1
  46. package/{ng-select → lib}/ng-dropdown-panel.component.d.ts +0 -0
  47. package/{ng-select → lib}/ng-dropdown-panel.service.d.ts +0 -0
  48. package/{ng-select → lib}/ng-option.component.d.ts +0 -0
  49. package/{ng-select → lib}/ng-select.component.d.ts +9 -9
  50. package/{ng-select → lib}/ng-select.module.d.ts +0 -0
  51. package/{ng-select → lib}/ng-select.types.d.ts +0 -0
  52. package/{ng-select → lib}/ng-templates.directive.d.ts +0 -0
  53. package/{ng-select → lib}/search-helper.d.ts +0 -0
  54. package/{ng-select → lib}/selection-model.d.ts +0 -0
  55. package/{ng-select → lib}/value-utils.d.ts +0 -0
  56. package/ng-select-ng-select.d.ts +10 -0
  57. package/ng-select-ng-select.metadata.json +1 -0
  58. package/package.json +13 -14
  59. package/public-api.d.ts +5 -0
  60. package/scss/material.theme.scss +1 -1
  61. package/themes/material.theme.css +1 -1
  62. package/bundles/ng-select.umd.js +0 -4283
  63. package/bundles/ng-select.umd.js.map +0 -1
  64. package/bundles/ng-select.umd.min.js +0 -2
  65. package/bundles/ng-select.umd.min.js.map +0 -1
  66. package/esm2015/index.js +0 -9
  67. package/esm2015/ng-select/config.service.js +0 -41
  68. package/esm2015/ng-select/console.service.js +0 -21
  69. package/esm2015/ng-select/id.js +0 -17
  70. package/esm2015/ng-select/items-list.js +0 -542
  71. package/esm2015/ng-select/ng-dropdown-panel.component.js +0 -562
  72. package/esm2015/ng-select/ng-dropdown-panel.service.js +0 -121
  73. package/esm2015/ng-select/ng-option-highlight.directive.js +0 -98
  74. package/esm2015/ng-select/ng-option.component.js +0 -71
  75. package/esm2015/ng-select/ng-select.component.js +0 -1214
  76. package/esm2015/ng-select/ng-select.module.js +0 -61
  77. package/esm2015/ng-select/ng-select.types.js +0 -49
  78. package/esm2015/ng-select/search-helper.js +0 -859
  79. package/esm2015/ng-select/selection-model.js +0 -122
  80. package/esm2015/ng-select/value-utils.js +0 -34
  81. package/esm2015/ng-select.js +0 -17
  82. package/esm5/index.js +0 -9
  83. package/esm5/ng-select/config.service.js +0 -43
  84. package/esm5/ng-select/console.service.js +0 -29
  85. package/esm5/ng-select/id.js +0 -17
  86. package/esm5/ng-select/items-list.js +0 -761
  87. package/esm5/ng-select/ng-dropdown-panel.component.js +0 -654
  88. package/esm5/ng-select/ng-dropdown-panel.service.js +0 -144
  89. package/esm5/ng-select/ng-option-highlight.directive.js +0 -113
  90. package/esm5/ng-select/ng-option.component.js +0 -82
  91. package/esm5/ng-select/ng-select.component.js +0 -1430
  92. package/esm5/ng-select/ng-select.module.js +0 -65
  93. package/esm5/ng-select/ng-select.types.js +0 -49
  94. package/esm5/ng-select/search-helper.js +0 -859
  95. package/esm5/ng-select/value-utils.js +0 -34
  96. package/esm5/ng-select.js +0 -17
  97. package/fesm2015/ng-select.js +0 -3559
  98. package/fesm2015/ng-select.js.map +0 -1
  99. package/fesm5/ng-select.js +0 -4145
  100. package/fesm5/ng-select.js.map +0 -1
  101. package/index.d.ts +0 -5
  102. package/ng-select/ng-option-highlight.directive.d.ts +0 -14
  103. package/ng-select.d.ts +0 -11
  104. package/ng-select.metadata.json +0 -1
@@ -1,121 +0,0 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
4
- */
5
- /**
6
- * @record
7
- */
8
- export function ItemsRangeResult() { }
9
- /** @type {?} */
10
- ItemsRangeResult.prototype.scrollHeight;
11
- /** @type {?} */
12
- ItemsRangeResult.prototype.topPadding;
13
- /** @type {?} */
14
- ItemsRangeResult.prototype.start;
15
- /** @type {?} */
16
- ItemsRangeResult.prototype.end;
17
- /**
18
- * @record
19
- */
20
- export function PanelDimensions() { }
21
- /** @type {?} */
22
- PanelDimensions.prototype.itemHeight;
23
- /** @type {?} */
24
- PanelDimensions.prototype.panelHeight;
25
- /** @type {?} */
26
- PanelDimensions.prototype.itemsPerViewport;
27
- export class NgDropdownPanelService {
28
- constructor() {
29
- this._dimensions = {
30
- itemHeight: 0,
31
- panelHeight: 0,
32
- itemsPerViewport: 0
33
- };
34
- }
35
- /**
36
- * @return {?}
37
- */
38
- get dimensions() {
39
- return this._dimensions;
40
- }
41
- /**
42
- * @param {?} scrollPos
43
- * @param {?} itemsLength
44
- * @param {?} buffer
45
- * @return {?}
46
- */
47
- calculateItems(scrollPos, itemsLength, buffer) {
48
- /** @type {?} */
49
- const d = this._dimensions;
50
- /** @type {?} */
51
- const scrollHeight = d.itemHeight * itemsLength;
52
- /** @type {?} */
53
- const scrollTop = Math.max(0, scrollPos);
54
- /** @type {?} */
55
- const indexByScrollTop = scrollTop / scrollHeight * itemsLength;
56
- /** @type {?} */
57
- let end = Math.min(itemsLength, Math.ceil(indexByScrollTop) + (d.itemsPerViewport + 1));
58
- /** @type {?} */
59
- const maxStartEnd = end;
60
- /** @type {?} */
61
- const maxStart = Math.max(0, maxStartEnd - d.itemsPerViewport);
62
- /** @type {?} */
63
- let start = Math.min(maxStart, Math.floor(indexByScrollTop));
64
- /** @type {?} */
65
- let topPadding = d.itemHeight * Math.ceil(start) - (d.itemHeight * Math.min(start, buffer));
66
- topPadding = !isNaN(topPadding) ? topPadding : 0;
67
- start = !isNaN(start) ? start : -1;
68
- end = !isNaN(end) ? end : -1;
69
- start -= buffer;
70
- start = Math.max(0, start);
71
- end += buffer;
72
- end = Math.min(itemsLength, end);
73
- return {
74
- topPadding,
75
- scrollHeight,
76
- start,
77
- end
78
- };
79
- }
80
- /**
81
- * @param {?} itemHeight
82
- * @param {?} panelHeight
83
- * @return {?}
84
- */
85
- setDimensions(itemHeight, panelHeight) {
86
- /** @type {?} */
87
- const itemsPerViewport = Math.max(1, Math.floor(panelHeight / itemHeight));
88
- this._dimensions = {
89
- itemHeight,
90
- panelHeight,
91
- itemsPerViewport
92
- };
93
- }
94
- /**
95
- * @param {?} itemTop
96
- * @param {?} itemHeight
97
- * @param {?} lastScroll
98
- * @return {?}
99
- */
100
- getScrollTo(itemTop, itemHeight, lastScroll) {
101
- /** @type {?} */
102
- const itemBottom = itemTop + itemHeight;
103
- /** @type {?} */
104
- const top = lastScroll;
105
- /** @type {?} */
106
- const bottom = top + this.dimensions.panelHeight;
107
- if (itemBottom > bottom) {
108
- return top + itemBottom - bottom;
109
- }
110
- else if (itemTop <= top) {
111
- return itemTop;
112
- }
113
- return null;
114
- }
115
- }
116
- if (false) {
117
- /** @type {?} */
118
- NgDropdownPanelService.prototype._dimensions;
119
- }
120
-
121
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctZHJvcGRvd24tcGFuZWwuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BuZy1zZWxlY3Qvbmctc2VsZWN0LyIsInNvdXJjZXMiOlsibmctc2VsZWN0L25nLWRyb3Bkb3duLXBhbmVsLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFhQSxNQUFNOzsyQkFFcUM7WUFDbkMsVUFBVSxFQUFFLENBQUM7WUFDYixXQUFXLEVBQUUsQ0FBQztZQUNkLGdCQUFnQixFQUFFLENBQUM7U0FDdEI7Ozs7O0lBRUQsSUFBSSxVQUFVO1FBQ1YsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0tBQzNCOzs7Ozs7O0lBRUQsY0FBYyxDQUFDLFNBQWlCLEVBQUUsV0FBbUIsRUFBRSxNQUFjOztRQUNqRSxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDOztRQUMzQixNQUFNLFlBQVksR0FBRyxDQUFDLENBQUMsVUFBVSxHQUFHLFdBQVcsQ0FBQzs7UUFFaEQsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsU0FBUyxDQUFDLENBQUM7O1FBQ3pDLE1BQU0sZ0JBQWdCLEdBQUcsU0FBUyxHQUFHLFlBQVksR0FBRyxXQUFXLENBQUM7O1FBQ2hFLElBQUksR0FBRyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDOztRQUV4RixNQUFNLFdBQVcsR0FBRyxHQUFHLENBQUM7O1FBQ3hCLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLFdBQVcsR0FBRyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQzs7UUFDL0QsSUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUM7O1FBRTdELElBQUksVUFBVSxHQUFHLENBQUMsQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQztRQUM1RixVQUFVLEdBQUcsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2pELEtBQUssR0FBRyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNuQyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDN0IsS0FBSyxJQUFJLE1BQU0sQ0FBQztRQUNoQixLQUFLLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDM0IsR0FBRyxJQUFJLE1BQU0sQ0FBQztRQUNkLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLFdBQVcsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUVqQyxPQUFPO1lBQ0gsVUFBVTtZQUNWLFlBQVk7WUFDWixLQUFLO1lBQ0wsR0FBRztTQUNOLENBQUE7S0FDSjs7Ozs7O0lBRUQsYUFBYSxDQUFDLFVBQWtCLEVBQUUsV0FBbUI7O1FBQ2pELE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLEdBQUcsVUFBVSxDQUFDLENBQUMsQ0FBQztRQUMzRSxJQUFJLENBQUMsV0FBVyxHQUFHO1lBQ2YsVUFBVTtZQUNWLFdBQVc7WUFDWCxnQkFBZ0I7U0FDbkIsQ0FBQztLQUNMOzs7Ozs7O0lBRUQsV0FBVyxDQUFDLE9BQWUsRUFBRSxVQUFrQixFQUFFLFVBQWtCOztRQUMvRCxNQUFNLFVBQVUsR0FBRyxPQUFPLEdBQUcsVUFBVSxDQUFDOztRQUN4QyxNQUFNLEdBQUcsR0FBRyxVQUFVLENBQUM7O1FBQ3ZCLE1BQU0sTUFBTSxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQztRQUVqRCxJQUFJLFVBQVUsR0FBRyxNQUFNLEVBQUU7WUFDckIsT0FBTyxHQUFHLEdBQUcsVUFBVSxHQUFHLE1BQU0sQ0FBQztTQUNwQzthQUFNLElBQUksT0FBTyxJQUFJLEdBQUcsRUFBRTtZQUN2QixPQUFPLE9BQU8sQ0FBQztTQUNsQjtRQUVELE9BQU8sSUFBSSxDQUFDO0tBQ2Y7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgSXRlbXNSYW5nZVJlc3VsdCB7XG4gICAgc2Nyb2xsSGVpZ2h0OiBudW1iZXI7XG4gICAgdG9wUGFkZGluZzogbnVtYmVyO1xuICAgIHN0YXJ0OiBudW1iZXI7XG4gICAgZW5kOiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGFuZWxEaW1lbnNpb25zIHtcbiAgICBpdGVtSGVpZ2h0OiBudW1iZXI7XG4gICAgcGFuZWxIZWlnaHQ6IG51bWJlcjtcbiAgICBpdGVtc1BlclZpZXdwb3J0OiBudW1iZXI7XG59XG5cbmV4cG9ydCBjbGFzcyBOZ0Ryb3Bkb3duUGFuZWxTZXJ2aWNlIHtcblxuICAgIHByaXZhdGUgX2RpbWVuc2lvbnM6IFBhbmVsRGltZW5zaW9ucyA9IHtcbiAgICAgICAgaXRlbUhlaWdodDogMCxcbiAgICAgICAgcGFuZWxIZWlnaHQ6IDAsXG4gICAgICAgIGl0ZW1zUGVyVmlld3BvcnQ6IDBcbiAgICB9O1xuXG4gICAgZ2V0IGRpbWVuc2lvbnMoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9kaW1lbnNpb25zO1xuICAgIH1cblxuICAgIGNhbGN1bGF0ZUl0ZW1zKHNjcm9sbFBvczogbnVtYmVyLCBpdGVtc0xlbmd0aDogbnVtYmVyLCBidWZmZXI6IG51bWJlcik6IEl0ZW1zUmFuZ2VSZXN1bHQge1xuICAgICAgICBjb25zdCBkID0gdGhpcy5fZGltZW5zaW9ucztcbiAgICAgICAgY29uc3Qgc2Nyb2xsSGVpZ2h0ID0gZC5pdGVtSGVpZ2h0ICogaXRlbXNMZW5ndGg7XG5cbiAgICAgICAgY29uc3Qgc2Nyb2xsVG9wID0gTWF0aC5tYXgoMCwgc2Nyb2xsUG9zKTtcbiAgICAgICAgY29uc3QgaW5kZXhCeVNjcm9sbFRvcCA9IHNjcm9sbFRvcCAvIHNjcm9sbEhlaWdodCAqIGl0ZW1zTGVuZ3RoO1xuICAgICAgICBsZXQgZW5kID0gTWF0aC5taW4oaXRlbXNMZW5ndGgsIE1hdGguY2VpbChpbmRleEJ5U2Nyb2xsVG9wKSArIChkLml0ZW1zUGVyVmlld3BvcnQgKyAxKSk7XG5cbiAgICAgICAgY29uc3QgbWF4U3RhcnRFbmQgPSBlbmQ7XG4gICAgICAgIGNvbnN0IG1heFN0YXJ0ID0gTWF0aC5tYXgoMCwgbWF4U3RhcnRFbmQgLSBkLml0ZW1zUGVyVmlld3BvcnQpO1xuICAgICAgICBsZXQgc3RhcnQgPSBNYXRoLm1pbihtYXhTdGFydCwgTWF0aC5mbG9vcihpbmRleEJ5U2Nyb2xsVG9wKSk7XG5cbiAgICAgICAgbGV0IHRvcFBhZGRpbmcgPSBkLml0ZW1IZWlnaHQgKiBNYXRoLmNlaWwoc3RhcnQpIC0gKGQuaXRlbUhlaWdodCAqIE1hdGgubWluKHN0YXJ0LCBidWZmZXIpKTtcbiAgICAgICAgdG9wUGFkZGluZyA9ICFpc05hTih0b3BQYWRkaW5nKSA/IHRvcFBhZGRpbmcgOiAwO1xuICAgICAgICBzdGFydCA9ICFpc05hTihzdGFydCkgPyBzdGFydCA6IC0xO1xuICAgICAgICBlbmQgPSAhaXNOYU4oZW5kKSA/IGVuZCA6IC0xO1xuICAgICAgICBzdGFydCAtPSBidWZmZXI7XG4gICAgICAgIHN0YXJ0ID0gTWF0aC5tYXgoMCwgc3RhcnQpO1xuICAgICAgICBlbmQgKz0gYnVmZmVyO1xuICAgICAgICBlbmQgPSBNYXRoLm1pbihpdGVtc0xlbmd0aCwgZW5kKTtcblxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgdG9wUGFkZGluZyxcbiAgICAgICAgICAgIHNjcm9sbEhlaWdodCxcbiAgICAgICAgICAgIHN0YXJ0LFxuICAgICAgICAgICAgZW5kXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzZXREaW1lbnNpb25zKGl0ZW1IZWlnaHQ6IG51bWJlciwgcGFuZWxIZWlnaHQ6IG51bWJlcikge1xuICAgICAgICBjb25zdCBpdGVtc1BlclZpZXdwb3J0ID0gTWF0aC5tYXgoMSwgTWF0aC5mbG9vcihwYW5lbEhlaWdodCAvIGl0ZW1IZWlnaHQpKTtcbiAgICAgICAgdGhpcy5fZGltZW5zaW9ucyA9IHtcbiAgICAgICAgICAgIGl0ZW1IZWlnaHQsXG4gICAgICAgICAgICBwYW5lbEhlaWdodCxcbiAgICAgICAgICAgIGl0ZW1zUGVyVmlld3BvcnRcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBnZXRTY3JvbGxUbyhpdGVtVG9wOiBudW1iZXIsIGl0ZW1IZWlnaHQ6IG51bWJlciwgbGFzdFNjcm9sbDogbnVtYmVyKSB7XG4gICAgICAgIGNvbnN0IGl0ZW1Cb3R0b20gPSBpdGVtVG9wICsgaXRlbUhlaWdodDtcbiAgICAgICAgY29uc3QgdG9wID0gbGFzdFNjcm9sbDtcbiAgICAgICAgY29uc3QgYm90dG9tID0gdG9wICsgdGhpcy5kaW1lbnNpb25zLnBhbmVsSGVpZ2h0O1xuXG4gICAgICAgIGlmIChpdGVtQm90dG9tID4gYm90dG9tKSB7XG4gICAgICAgICAgICByZXR1cm4gdG9wICsgaXRlbUJvdHRvbSAtIGJvdHRvbTtcbiAgICAgICAgfSBlbHNlIGlmIChpdGVtVG9wIDw9IHRvcCkge1xuICAgICAgICAgICAgcmV0dXJuIGl0ZW1Ub3A7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG59XG4iXX0=
@@ -1,98 +0,0 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
4
- */
5
- import * as searchHelper from './search-helper';
6
- import { Directive, ElementRef, Input, Renderer2 } from '@angular/core';
7
- import { isDefined } from './value-utils';
8
- export class NgOptionHighlightDirective {
9
- /**
10
- * @param {?} elementRef
11
- * @param {?} renderer
12
- */
13
- constructor(elementRef, renderer) {
14
- this.elementRef = elementRef;
15
- this.renderer = renderer;
16
- this.element = this.elementRef.nativeElement;
17
- }
18
- /**
19
- * @return {?}
20
- */
21
- ngOnChanges() {
22
- if (this._canHighlight) {
23
- this._highlightLabel();
24
- }
25
- }
26
- /**
27
- * @return {?}
28
- */
29
- ngAfterViewInit() {
30
- this.label = this.element.innerHTML;
31
- if (this._canHighlight) {
32
- this._highlightLabel();
33
- }
34
- }
35
- /**
36
- * @return {?}
37
- */
38
- _highlightLabel() {
39
- /** @type {?} */
40
- const label = this.label;
41
- if (!this.term) {
42
- this._setInnerHtml(label);
43
- return;
44
- }
45
- /** @type {?} */
46
- const indexOfTerm = searchHelper.stripSpecialChars(label)
47
- .toLowerCase()
48
- .indexOf(searchHelper.stripSpecialChars(this.term).toLowerCase());
49
- if (indexOfTerm > -1) {
50
- this._setInnerHtml(label.substring(0, indexOfTerm)
51
- + `<span class="highlighted">${label.substr(indexOfTerm, this.term.length)}</span>`
52
- + label.substring(indexOfTerm + this.term.length, label.length));
53
- }
54
- else {
55
- this._setInnerHtml(label);
56
- }
57
- }
58
- /**
59
- * @return {?}
60
- */
61
- get _canHighlight() {
62
- return isDefined(this.term) && isDefined(this.label);
63
- }
64
- /**
65
- * @param {?} html
66
- * @return {?}
67
- */
68
- _setInnerHtml(html) {
69
- this.renderer.setProperty(this.elementRef.nativeElement, 'innerHTML', html);
70
- }
71
- }
72
- NgOptionHighlightDirective.decorators = [
73
- { type: Directive, args: [{
74
- selector: '[ngOptionHighlight]'
75
- },] }
76
- ];
77
- /** @nocollapse */
78
- NgOptionHighlightDirective.ctorParameters = () => [
79
- { type: ElementRef },
80
- { type: Renderer2 }
81
- ];
82
- NgOptionHighlightDirective.propDecorators = {
83
- term: [{ type: Input, args: ['ngOptionHighlight',] }]
84
- };
85
- if (false) {
86
- /** @type {?} */
87
- NgOptionHighlightDirective.prototype.term;
88
- /** @type {?} */
89
- NgOptionHighlightDirective.prototype.element;
90
- /** @type {?} */
91
- NgOptionHighlightDirective.prototype.label;
92
- /** @type {?} */
93
- NgOptionHighlightDirective.prototype.elementRef;
94
- /** @type {?} */
95
- NgOptionHighlightDirective.prototype.renderer;
96
- }
97
-
98
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctb3B0aW9uLWhpZ2hsaWdodC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Abmctc2VsZWN0L25nLXNlbGVjdC8iLCJzb3VyY2VzIjpbIm5nLXNlbGVjdC9uZy1vcHRpb24taGlnaGxpZ2h0LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxLQUFLLFlBQVksTUFBTSxpQkFBaUIsQ0FBQztBQUNoRCxPQUFPLEVBRUgsU0FBUyxFQUNULFVBQVUsRUFDVixLQUFLLEVBRUwsU0FBUyxFQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFLMUMsTUFBTTs7Ozs7SUFPRixZQUNZLFlBQ0E7UUFEQSxlQUFVLEdBQVYsVUFBVTtRQUNWLGFBQVEsR0FBUixRQUFRO1FBQ2hCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUM7S0FDaEQ7Ozs7SUFFRCxXQUFXO1FBQ1AsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQ3BCLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztTQUMxQjtLQUNKOzs7O0lBRUQsZUFBZTtRQUNYLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUM7UUFDcEMsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQ3BCLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztTQUMxQjtLQUNKOzs7O0lBRU8sZUFBZTs7UUFDbkIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUN6QixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRTtZQUNaLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDMUIsT0FBTztTQUNWOztRQUVELE1BQU0sV0FBVyxHQUFHLFlBQVksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUM7YUFDcEQsV0FBVyxFQUFFO2FBQ2IsT0FBTyxDQUFDLFlBQVksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztRQUN0RSxJQUFJLFdBQVcsR0FBRyxDQUFDLENBQUMsRUFBRTtZQUNsQixJQUFJLENBQUMsYUFBYSxDQUNkLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLFdBQVcsQ0FBQztrQkFDN0IsNkJBQTZCLEtBQUssQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVM7a0JBQ2pGLEtBQUssQ0FBQyxTQUFTLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1NBQ3hFO2FBQU07WUFDSCxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQzdCOzs7OztRQUdPLGFBQWE7UUFDckIsT0FBTyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7Ozs7OztJQUdqRCxhQUFhLENBQUMsSUFBSTtRQUN0QixJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFBRSxXQUFXLEVBQUUsSUFBSSxDQUFDLENBQUM7Ozs7WUF0RG5GLFNBQVMsU0FBQztnQkFDUCxRQUFRLEVBQUUscUJBQXFCO2FBQ2xDOzs7O1lBVEcsVUFBVTtZQUdWLFNBQVM7OzttQkFTUixLQUFLLFNBQUMsbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgc2VhcmNoSGVscGVyIGZyb20gJy4vc2VhcmNoLWhlbHBlcic7XG5pbXBvcnQge1xuICAgIEFmdGVyVmlld0luaXQsXG4gICAgRGlyZWN0aXZlLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgSW5wdXQsXG4gICAgT25DaGFuZ2VzLFxuICAgIFJlbmRlcmVyMlxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGlzRGVmaW5lZCB9IGZyb20gJy4vdmFsdWUtdXRpbHMnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tuZ09wdGlvbkhpZ2hsaWdodF0nXG59KVxuZXhwb3J0IGNsYXNzIE5nT3B0aW9uSGlnaGxpZ2h0RGlyZWN0aXZlIGltcGxlbWVudHMgT25DaGFuZ2VzLCBBZnRlclZpZXdJbml0IHtcblxuICAgIEBJbnB1dCgnbmdPcHRpb25IaWdobGlnaHQnKSB0ZXJtOiBzdHJpbmc7XG5cbiAgICBwcml2YXRlIGVsZW1lbnQ6IEhUTUxFbGVtZW50O1xuICAgIHByaXZhdGUgbGFiZWw6IHN0cmluZztcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMikge1xuICAgICAgICB0aGlzLmVsZW1lbnQgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcbiAgICB9XG5cbiAgICBuZ09uQ2hhbmdlcygpIHtcbiAgICAgICAgaWYgKHRoaXMuX2NhbkhpZ2hsaWdodCkge1xuICAgICAgICAgICAgdGhpcy5faGlnaGxpZ2h0TGFiZWwoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICAgICAgdGhpcy5sYWJlbCA9IHRoaXMuZWxlbWVudC5pbm5lckhUTUw7XG4gICAgICAgIGlmICh0aGlzLl9jYW5IaWdobGlnaHQpIHtcbiAgICAgICAgICAgIHRoaXMuX2hpZ2hsaWdodExhYmVsKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIF9oaWdobGlnaHRMYWJlbCgpIHtcbiAgICAgICAgY29uc3QgbGFiZWwgPSB0aGlzLmxhYmVsO1xuICAgICAgICBpZiAoIXRoaXMudGVybSkge1xuICAgICAgICAgICAgdGhpcy5fc2V0SW5uZXJIdG1sKGxhYmVsKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGluZGV4T2ZUZXJtID0gc2VhcmNoSGVscGVyLnN0cmlwU3BlY2lhbENoYXJzKGxhYmVsKVxuICAgICAgICAgICAgLnRvTG93ZXJDYXNlKClcbiAgICAgICAgICAgIC5pbmRleE9mKHNlYXJjaEhlbHBlci5zdHJpcFNwZWNpYWxDaGFycyh0aGlzLnRlcm0pLnRvTG93ZXJDYXNlKCkpO1xuICAgICAgICBpZiAoaW5kZXhPZlRlcm0gPiAtMSkge1xuICAgICAgICAgICAgdGhpcy5fc2V0SW5uZXJIdG1sKFxuICAgICAgICAgICAgICAgIGxhYmVsLnN1YnN0cmluZygwLCBpbmRleE9mVGVybSlcbiAgICAgICAgICAgICAgICArIGA8c3BhbiBjbGFzcz1cImhpZ2hsaWdodGVkXCI+JHtsYWJlbC5zdWJzdHIoaW5kZXhPZlRlcm0sIHRoaXMudGVybS5sZW5ndGgpfTwvc3Bhbj5gXG4gICAgICAgICAgICAgICAgKyBsYWJlbC5zdWJzdHJpbmcoaW5kZXhPZlRlcm0gKyB0aGlzLnRlcm0ubGVuZ3RoLCBsYWJlbC5sZW5ndGgpKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuX3NldElubmVySHRtbChsYWJlbCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCBfY2FuSGlnaGxpZ2h0KCkge1xuICAgICAgICByZXR1cm4gaXNEZWZpbmVkKHRoaXMudGVybSkgJiYgaXNEZWZpbmVkKHRoaXMubGFiZWwpO1xuICAgIH1cblxuICAgIHByaXZhdGUgX3NldElubmVySHRtbChodG1sKSB7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0UHJvcGVydHkodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdpbm5lckhUTUwnLCBodG1sKTtcbiAgICB9XG59ICAgXG4iXX0=
@@ -1,71 +0,0 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
4
- */
5
- import { ChangeDetectionStrategy, Component, ElementRef, Input } from '@angular/core';
6
- import { Subject } from 'rxjs';
7
- export class NgOptionComponent {
8
- /**
9
- * @param {?} elementRef
10
- */
11
- constructor(elementRef) {
12
- this.elementRef = elementRef;
13
- this.stateChange$ = new Subject();
14
- this._disabled = false;
15
- }
16
- /**
17
- * @return {?}
18
- */
19
- get disabled() { return this._disabled; }
20
- /**
21
- * @param {?} value
22
- * @return {?}
23
- */
24
- set disabled(value) { this._disabled = this._isDisabled(value); }
25
- /**
26
- * @param {?} changes
27
- * @return {?}
28
- */
29
- ngOnChanges(changes) {
30
- if (changes["disabled"]) {
31
- this.stateChange$.next({
32
- value: this.value,
33
- disabled: this._disabled
34
- });
35
- }
36
- }
37
- /**
38
- * @param {?} value
39
- * @return {?}
40
- */
41
- _isDisabled(value) {
42
- return value != null && `${value}` !== 'false';
43
- }
44
- }
45
- NgOptionComponent.decorators = [
46
- { type: Component, args: [{
47
- selector: 'ng-option',
48
- changeDetection: ChangeDetectionStrategy.OnPush,
49
- template: `<ng-content></ng-content>`
50
- }] }
51
- ];
52
- /** @nocollapse */
53
- NgOptionComponent.ctorParameters = () => [
54
- { type: ElementRef }
55
- ];
56
- NgOptionComponent.propDecorators = {
57
- value: [{ type: Input }],
58
- disabled: [{ type: Input }]
59
- };
60
- if (false) {
61
- /** @type {?} */
62
- NgOptionComponent.prototype.value;
63
- /** @type {?} */
64
- NgOptionComponent.prototype.stateChange$;
65
- /** @type {?} */
66
- NgOptionComponent.prototype._disabled;
67
- /** @type {?} */
68
- NgOptionComponent.prototype.elementRef;
69
- }
70
-
71
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctb3B0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BuZy1zZWxlY3Qvbmctc2VsZWN0LyIsInNvdXJjZXMiOlsibmctc2VsZWN0L25nLW9wdGlvbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFVBQVUsRUFDVixLQUFLLEVBR1IsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQU8vQixNQUFNOzs7O0lBVUYsWUFBbUIsVUFBc0I7UUFBdEIsZUFBVSxHQUFWLFVBQVUsQ0FBWTs0QkFIakIsSUFBSSxPQUFPLEVBQXFDO3lCQUNwRCxLQUFLO0tBRXFCOzs7O0lBUDlDLElBQ0ksUUFBUSxLQUFLLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFOzs7OztJQUN6QyxJQUFJLFFBQVEsQ0FBQyxLQUFVLElBQUksSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFBLEVBQUU7Ozs7O0lBT3JFLFdBQVcsQ0FBQyxPQUFzQjtRQUM5QixJQUFJLE9BQU8sY0FBVztZQUNsQixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQztnQkFDbkIsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLO2dCQUNqQixRQUFRLEVBQUUsSUFBSSxDQUFDLFNBQVM7YUFDM0IsQ0FBQyxDQUFDO1NBQ047S0FDSjs7Ozs7SUFFTyxXQUFXLENBQUMsS0FBSztRQUNyQixPQUFPLEtBQUssSUFBSSxJQUFJLElBQUksR0FBRyxLQUFLLEVBQUUsS0FBSyxPQUFPLENBQUM7Ozs7WUEzQnRELFNBQVMsU0FBQztnQkFDUCxRQUFRLEVBQUUsV0FBVztnQkFDckIsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07Z0JBQy9DLFFBQVEsRUFBRSwyQkFBMkI7YUFDeEM7Ozs7WUFYRyxVQUFVOzs7b0JBY1QsS0FBSzt1QkFDTCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBJbnB1dCxcbiAgICBPbkNoYW5nZXMsXG4gICAgU2ltcGxlQ2hhbmdlc1xufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICduZy1vcHRpb24nLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHRlbXBsYXRlOiBgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PmBcbn0pXG5leHBvcnQgY2xhc3MgTmdPcHRpb25Db21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuXG4gICAgQElucHV0KCkgdmFsdWU6IGFueTtcbiAgICBASW5wdXQoKVxuICAgIGdldCBkaXNhYmxlZCgpIHsgcmV0dXJuIHRoaXMuX2Rpc2FibGVkOyB9XG4gICAgc2V0IGRpc2FibGVkKHZhbHVlOiBhbnkpIHsgdGhpcy5fZGlzYWJsZWQgPSB0aGlzLl9pc0Rpc2FibGVkKHZhbHVlKSB9XG5cbiAgICByZWFkb25seSBzdGF0ZUNoYW5nZSQgPSBuZXcgU3ViamVjdDx7IHZhbHVlOiBhbnksIGRpc2FibGVkOiBib29sZWFuIH0+KCk7XG4gICAgcHJpdmF0ZSBfZGlzYWJsZWQgPSBmYWxzZTtcblxuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBlbGVtZW50UmVmOiBFbGVtZW50UmVmKSB7IH1cblxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICAgICAgaWYgKGNoYW5nZXMuZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIHRoaXMuc3RhdGVDaGFuZ2UkLm5leHQoe1xuICAgICAgICAgICAgICAgIHZhbHVlOiB0aGlzLnZhbHVlLFxuICAgICAgICAgICAgICAgIGRpc2FibGVkOiB0aGlzLl9kaXNhYmxlZFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIF9pc0Rpc2FibGVkKHZhbHVlKSB7XG4gICAgICAgIHJldHVybiB2YWx1ZSAhPSBudWxsICYmIGAke3ZhbHVlfWAgIT09ICdmYWxzZSc7XG4gICAgfVxufVxuIl19