@taiga-ui/kit 3.59.0 → 3.60.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 (135) hide show
  1. package/bundles/taiga-ui-kit-components-accordion.umd.js +774 -628
  2. package/bundles/taiga-ui-kit-components-accordion.umd.js.map +1 -1
  3. package/bundles/taiga-ui-kit-components-action.umd.js +598 -452
  4. package/bundles/taiga-ui-kit-components-action.umd.js.map +1 -1
  5. package/bundles/taiga-ui-kit-components-avatar.umd.js +640 -494
  6. package/bundles/taiga-ui-kit-components-avatar.umd.js.map +1 -1
  7. package/bundles/taiga-ui-kit-components-breadcrumbs.umd.js +563 -417
  8. package/bundles/taiga-ui-kit-components-breadcrumbs.umd.js.map +1 -1
  9. package/bundles/taiga-ui-kit-components-calendar-month.umd.js +747 -601
  10. package/bundles/taiga-ui-kit-components-calendar-month.umd.js.map +1 -1
  11. package/bundles/taiga-ui-kit-components-calendar-range.umd.js +718 -572
  12. package/bundles/taiga-ui-kit-components-calendar-range.umd.js.map +1 -1
  13. package/bundles/taiga-ui-kit-components-carousel.umd.js +821 -675
  14. package/bundles/taiga-ui-kit-components-carousel.umd.js.map +1 -1
  15. package/bundles/taiga-ui-kit-components-checkbox-block.umd.js +645 -499
  16. package/bundles/taiga-ui-kit-components-checkbox-block.umd.js.map +1 -1
  17. package/bundles/taiga-ui-kit-components-checkbox-labeled.umd.js +585 -439
  18. package/bundles/taiga-ui-kit-components-checkbox-labeled.umd.js.map +1 -1
  19. package/bundles/taiga-ui-kit-components-checkbox.umd.js +608 -462
  20. package/bundles/taiga-ui-kit-components-checkbox.umd.js.map +1 -1
  21. package/bundles/taiga-ui-kit-components-combo-box.umd.js +834 -688
  22. package/bundles/taiga-ui-kit-components-combo-box.umd.js.map +1 -1
  23. package/bundles/taiga-ui-kit-components-data-list-wrapper.umd.js +656 -510
  24. package/bundles/taiga-ui-kit-components-data-list-wrapper.umd.js.map +1 -1
  25. package/bundles/taiga-ui-kit-components-elastic-container.umd.js +587 -441
  26. package/bundles/taiga-ui-kit-components-elastic-container.umd.js.map +1 -1
  27. package/bundles/taiga-ui-kit-components-files.umd.js +808 -662
  28. package/bundles/taiga-ui-kit-components-files.umd.js.map +1 -1
  29. package/bundles/taiga-ui-kit-components-filter.umd.js +607 -461
  30. package/bundles/taiga-ui-kit-components-filter.umd.js.map +1 -1
  31. package/bundles/taiga-ui-kit-components-input-copy.umd.js +700 -554
  32. package/bundles/taiga-ui-kit-components-input-copy.umd.js.map +1 -1
  33. package/bundles/taiga-ui-kit-components-input-count.umd.js +809 -663
  34. package/bundles/taiga-ui-kit-components-input-count.umd.js.map +1 -1
  35. package/bundles/taiga-ui-kit-components-input-date-multi.umd.js +849 -703
  36. package/bundles/taiga-ui-kit-components-input-date-multi.umd.js.map +1 -1
  37. package/bundles/taiga-ui-kit-components-input-date-range.umd.js +973 -827
  38. package/bundles/taiga-ui-kit-components-input-date-range.umd.js.map +1 -1
  39. package/bundles/taiga-ui-kit-components-input-date-time.umd.js +1026 -880
  40. package/bundles/taiga-ui-kit-components-input-date-time.umd.js.map +1 -1
  41. package/bundles/taiga-ui-kit-components-input-date.umd.js +976 -830
  42. package/bundles/taiga-ui-kit-components-input-date.umd.js.map +1 -1
  43. package/bundles/taiga-ui-kit-components-input-files.umd.js +975 -829
  44. package/bundles/taiga-ui-kit-components-input-files.umd.js.map +1 -1
  45. package/bundles/taiga-ui-kit-components-input-inline.umd.js +612 -466
  46. package/bundles/taiga-ui-kit-components-input-inline.umd.js.map +1 -1
  47. package/bundles/taiga-ui-kit-components-input-month-range.umd.js +755 -609
  48. package/bundles/taiga-ui-kit-components-input-month-range.umd.js.map +1 -1
  49. package/bundles/taiga-ui-kit-components-input-month.umd.js +788 -642
  50. package/bundles/taiga-ui-kit-components-input-month.umd.js.map +1 -1
  51. package/bundles/taiga-ui-kit-components-input-number.umd.js +941 -795
  52. package/bundles/taiga-ui-kit-components-input-number.umd.js.map +1 -1
  53. package/bundles/taiga-ui-kit-components-input-password.umd.js +720 -574
  54. package/bundles/taiga-ui-kit-components-input-password.umd.js.map +1 -1
  55. package/bundles/taiga-ui-kit-components-input-phone-international.umd.js +811 -665
  56. package/bundles/taiga-ui-kit-components-input-phone-international.umd.js.map +1 -1
  57. package/bundles/taiga-ui-kit-components-input-phone.umd.js +913 -767
  58. package/bundles/taiga-ui-kit-components-input-phone.umd.js.map +1 -1
  59. package/bundles/taiga-ui-kit-components-input-range.umd.js +796 -650
  60. package/bundles/taiga-ui-kit-components-input-range.umd.js.map +1 -1
  61. package/bundles/taiga-ui-kit-components-input-slider.umd.js +737 -591
  62. package/bundles/taiga-ui-kit-components-input-slider.umd.js.map +1 -1
  63. package/bundles/taiga-ui-kit-components-input-tag.umd.js +1102 -956
  64. package/bundles/taiga-ui-kit-components-input-tag.umd.js.map +1 -1
  65. package/bundles/taiga-ui-kit-components-input-time.umd.js +1021 -875
  66. package/bundles/taiga-ui-kit-components-input-time.umd.js.map +1 -1
  67. package/bundles/taiga-ui-kit-components-input-year.umd.js +706 -560
  68. package/bundles/taiga-ui-kit-components-input-year.umd.js.map +1 -1
  69. package/bundles/taiga-ui-kit-components-input.umd.js +661 -515
  70. package/bundles/taiga-ui-kit-components-input.umd.js.map +1 -1
  71. package/bundles/taiga-ui-kit-components-items-with-more.umd.js +689 -543
  72. package/bundles/taiga-ui-kit-components-items-with-more.umd.js.map +1 -1
  73. package/bundles/taiga-ui-kit-components-line-clamp.umd.js +742 -596
  74. package/bundles/taiga-ui-kit-components-line-clamp.umd.js.map +1 -1
  75. package/bundles/taiga-ui-kit-components-multi-select-option.umd.js +544 -398
  76. package/bundles/taiga-ui-kit-components-multi-select-option.umd.js.map +1 -1
  77. package/bundles/taiga-ui-kit-components-multi-select.umd.js +1337 -1191
  78. package/bundles/taiga-ui-kit-components-multi-select.umd.js.map +1 -1
  79. package/bundles/taiga-ui-kit-components-pagination.umd.js +810 -664
  80. package/bundles/taiga-ui-kit-components-pagination.umd.js.map +1 -1
  81. package/bundles/taiga-ui-kit-components-pdf-viewer.umd.js +152 -6
  82. package/bundles/taiga-ui-kit-components-pdf-viewer.umd.js.map +1 -1
  83. package/bundles/taiga-ui-kit-components-progress.umd.js +152 -6
  84. package/bundles/taiga-ui-kit-components-progress.umd.js.map +1 -1
  85. package/bundles/taiga-ui-kit-components-push.umd.js +152 -6
  86. package/bundles/taiga-ui-kit-components-push.umd.js.map +1 -1
  87. package/bundles/taiga-ui-kit-components-radio-block.umd.js +645 -499
  88. package/bundles/taiga-ui-kit-components-radio-block.umd.js.map +1 -1
  89. package/bundles/taiga-ui-kit-components-radio-labeled.umd.js +616 -470
  90. package/bundles/taiga-ui-kit-components-radio-labeled.umd.js.map +1 -1
  91. package/bundles/taiga-ui-kit-components-radio-list.umd.js +628 -482
  92. package/bundles/taiga-ui-kit-components-radio-list.umd.js.map +1 -1
  93. package/bundles/taiga-ui-kit-components-radio.umd.js +689 -543
  94. package/bundles/taiga-ui-kit-components-radio.umd.js.map +1 -1
  95. package/bundles/taiga-ui-kit-components-range.umd.js +811 -665
  96. package/bundles/taiga-ui-kit-components-range.umd.js.map +1 -1
  97. package/bundles/taiga-ui-kit-components-rating.umd.js +646 -500
  98. package/bundles/taiga-ui-kit-components-rating.umd.js.map +1 -1
  99. package/bundles/taiga-ui-kit-components-routable-dialog.umd.js +580 -434
  100. package/bundles/taiga-ui-kit-components-routable-dialog.umd.js.map +1 -1
  101. package/bundles/taiga-ui-kit-components-select.umd.js +933 -787
  102. package/bundles/taiga-ui-kit-components-select.umd.js.map +1 -1
  103. package/bundles/taiga-ui-kit-components-slider.umd.js +943 -797
  104. package/bundles/taiga-ui-kit-components-slider.umd.js.map +1 -1
  105. package/bundles/taiga-ui-kit-components-stepper.umd.js +769 -623
  106. package/bundles/taiga-ui-kit-components-stepper.umd.js.map +1 -1
  107. package/bundles/taiga-ui-kit-components-tabs.umd.js +152 -6
  108. package/bundles/taiga-ui-kit-components-tabs.umd.js.map +1 -1
  109. package/bundles/taiga-ui-kit-components-textarea.umd.js +966 -820
  110. package/bundles/taiga-ui-kit-components-textarea.umd.js.map +1 -1
  111. package/bundles/taiga-ui-kit-components-tiles.umd.js +839 -693
  112. package/bundles/taiga-ui-kit-components-tiles.umd.js.map +1 -1
  113. package/bundles/taiga-ui-kit-components-toggle.umd.js +711 -565
  114. package/bundles/taiga-ui-kit-components-toggle.umd.js.map +1 -1
  115. package/bundles/taiga-ui-kit-constants.umd.js +152 -6
  116. package/bundles/taiga-ui-kit-constants.umd.js.map +1 -1
  117. package/bundles/taiga-ui-kit-directives-data-list-dropdown-manager.umd.js +637 -491
  118. package/bundles/taiga-ui-kit-directives-data-list-dropdown-manager.umd.js.map +1 -1
  119. package/bundles/taiga-ui-kit-directives-lazy-loading.umd.js +605 -459
  120. package/bundles/taiga-ui-kit-directives-lazy-loading.umd.js.map +1 -1
  121. package/bundles/taiga-ui-kit-directives-unmask-handler.umd.js +540 -394
  122. package/bundles/taiga-ui-kit-directives-unmask-handler.umd.js.map +1 -1
  123. package/bundles/taiga-ui-kit-pipes-field-error.umd.js +693 -547
  124. package/bundles/taiga-ui-kit-pipes-field-error.umd.js.map +1 -1
  125. package/bundles/taiga-ui-kit-pipes-filter-by-input.umd.js +616 -470
  126. package/bundles/taiga-ui-kit-pipes-filter-by-input.umd.js.map +1 -1
  127. package/bundles/taiga-ui-kit-pipes-sort-countries.umd.js +524 -378
  128. package/bundles/taiga-ui-kit-pipes-sort-countries.umd.js.map +1 -1
  129. package/bundles/taiga-ui-kit-utils-mask.umd.js +152 -6
  130. package/bundles/taiga-ui-kit-utils-mask.umd.js.map +1 -1
  131. package/bundles/taiga-ui-kit-utils-math.umd.js +152 -6
  132. package/bundles/taiga-ui-kit-utils-math.umd.js.map +1 -1
  133. package/bundles/taiga-ui-kit-utils-miscellaneous.umd.js +152 -6
  134. package/bundles/taiga-ui-kit-utils-miscellaneous.umd.js.map +1 -1
  135. package/package.json +6 -6
@@ -1,1216 +1,1362 @@
1
1
  (function (global, factory) {
2
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@taiga-ui/cdk'), require('@taiga-ui/kit/utils'), require('@angular/forms'), require('@taiga-ui/core'), require('@taiga-ui/kit/classes'), require('@taiga-ui/kit/components/arrow'), require('@taiga-ui/kit/components/input-tag'), require('@taiga-ui/kit/providers'), require('@taiga-ui/kit/tokens'), require('@taiga-ui/kit/abstract'), require('@angular/common'), require('@tinkoff/ng-polymorpheus'), require('@taiga-ui/kit/components/data-list-wrapper'), require('@taiga-ui/kit/components/multi-select-option'), require('@taiga-ui/kit/pipes/stringify-content'), require('rxjs'), require('rxjs/operators')) :
3
- typeof define === 'function' && define.amd ? define('@taiga-ui/kit/components/multi-select', ['exports', '@angular/core', '@taiga-ui/cdk', '@taiga-ui/kit/utils', '@angular/forms', '@taiga-ui/core', '@taiga-ui/kit/classes', '@taiga-ui/kit/components/arrow', '@taiga-ui/kit/components/input-tag', '@taiga-ui/kit/providers', '@taiga-ui/kit/tokens', '@taiga-ui/kit/abstract', '@angular/common', '@tinkoff/ng-polymorpheus', '@taiga-ui/kit/components/data-list-wrapper', '@taiga-ui/kit/components/multi-select-option', '@taiga-ui/kit/pipes/stringify-content', 'rxjs', 'rxjs/operators'], factory) :
4
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global["taiga-ui"] = global["taiga-ui"] || {}, global["taiga-ui"].kit = global["taiga-ui"].kit || {}, global["taiga-ui"].kit.components = global["taiga-ui"].kit.components || {}, global["taiga-ui"].kit.components["multi-select"] = {}), global.ng.core, global.i3, global["taiga-ui"].kit.utils, global.ng.forms, global.i1, global["taiga-ui"].kit.classes, global["taiga-ui"].kit.components.arrow, global["taiga-ui"].kit.components["input-tag"], global["taiga-ui"].kit.providers, global["taiga-ui"].kit.tokens, global["taiga-ui"].kit.abstract, global.ng.common, global.i6, global["taiga-ui"].kit.components["data-list-wrapper"], global["taiga-ui"].kit.components["multi-select-option"], global["taiga-ui"].kit.pipes["stringify-content"], global.rxjs, global.rxjs.operators));
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@taiga-ui/cdk'), require('@taiga-ui/kit/utils'), require('@angular/forms'), require('@taiga-ui/core'), require('@taiga-ui/kit/classes'), require('@taiga-ui/kit/components/arrow'), require('@taiga-ui/kit/components/input-tag'), require('@taiga-ui/kit/providers'), require('@taiga-ui/kit/tokens'), require('@taiga-ui/kit/abstract'), require('@angular/common'), require('@tinkoff/ng-polymorpheus'), require('@taiga-ui/kit/components/data-list-wrapper'), require('@taiga-ui/kit/components/multi-select-option'), require('@taiga-ui/kit/pipes/stringify-content'), require('rxjs'), require('rxjs/operators')) :
3
+ typeof define === 'function' && define.amd ? define('@taiga-ui/kit/components/multi-select', ['exports', '@angular/core', '@taiga-ui/cdk', '@taiga-ui/kit/utils', '@angular/forms', '@taiga-ui/core', '@taiga-ui/kit/classes', '@taiga-ui/kit/components/arrow', '@taiga-ui/kit/components/input-tag', '@taiga-ui/kit/providers', '@taiga-ui/kit/tokens', '@taiga-ui/kit/abstract', '@angular/common', '@tinkoff/ng-polymorpheus', '@taiga-ui/kit/components/data-list-wrapper', '@taiga-ui/kit/components/multi-select-option', '@taiga-ui/kit/pipes/stringify-content', 'rxjs', 'rxjs/operators'], factory) :
4
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global["taiga-ui"] = global["taiga-ui"] || {}, global["taiga-ui"].kit = global["taiga-ui"].kit || {}, global["taiga-ui"].kit.components = global["taiga-ui"].kit.components || {}, global["taiga-ui"].kit.components["multi-select"] = {}), global.ng.core, global.i3, global["taiga-ui"].kit.utils, global.ng.forms, global.i1, global["taiga-ui"].kit.classes, global["taiga-ui"].kit.components.arrow, global["taiga-ui"].kit.components["input-tag"], global["taiga-ui"].kit.providers, global["taiga-ui"].kit.tokens, global["taiga-ui"].kit.abstract, global.ng.common, global.i6, global["taiga-ui"].kit.components["data-list-wrapper"], global["taiga-ui"].kit.components["multi-select-option"], global["taiga-ui"].kit.pipes["stringify-content"], global.rxjs, global.rxjs.operators));
5
5
  })(this, (function (exports, i0, i3, utils, i4, i1, classes, arrow, i2, providers, tokens, abstract, i2$1, i6, i1$1, multiSelectOption, i6$1, rxjs, operators) { 'use strict';
6
6
 
7
- function _interopNamespace(e) {
8
- if (e && e.__esModule) return e;
9
- var n = Object.create(null);
10
- if (e) {
11
- Object.keys(e).forEach(function (k) {
12
- if (k !== 'default') {
13
- var d = Object.getOwnPropertyDescriptor(e, k);
14
- Object.defineProperty(n, k, d.get ? d : {
15
- enumerable: true,
16
- get: function () { return e[k]; }
17
- });
18
- }
19
- });
7
+ function _interopNamespace(e) {
8
+ if (e && e.__esModule) return e;
9
+ var n = Object.create(null);
10
+ if (e) {
11
+ Object.keys(e).forEach(function (k) {
12
+ if (k !== 'default') {
13
+ var d = Object.getOwnPropertyDescriptor(e, k);
14
+ Object.defineProperty(n, k, d.get ? d : {
15
+ enumerable: true,
16
+ get: function () { return e[k]; }
17
+ });
20
18
  }
21
- n["default"] = e;
22
- return Object.freeze(n);
19
+ });
23
20
  }
21
+ n["default"] = e;
22
+ return Object.freeze(n);
23
+ }
24
24
 
25
- var i0__namespace = /*#__PURE__*/_interopNamespace(i0);
26
- var i3__namespace = /*#__PURE__*/_interopNamespace(i3);
27
- var i4__namespace = /*#__PURE__*/_interopNamespace(i4);
28
- var i1__namespace = /*#__PURE__*/_interopNamespace(i1);
29
- var i2__namespace = /*#__PURE__*/_interopNamespace(i2);
30
- var i2__namespace$1 = /*#__PURE__*/_interopNamespace(i2$1);
31
- var i6__namespace = /*#__PURE__*/_interopNamespace(i6);
32
- var i1__namespace$1 = /*#__PURE__*/_interopNamespace(i1$1);
33
- var i6__namespace$1 = /*#__PURE__*/_interopNamespace(i6$1);
25
+ var i0__namespace = /*#__PURE__*/_interopNamespace(i0);
26
+ var i3__namespace = /*#__PURE__*/_interopNamespace(i3);
27
+ var i4__namespace = /*#__PURE__*/_interopNamespace(i4);
28
+ var i1__namespace = /*#__PURE__*/_interopNamespace(i1);
29
+ var i2__namespace = /*#__PURE__*/_interopNamespace(i2);
30
+ var i2__namespace$1 = /*#__PURE__*/_interopNamespace(i2$1);
31
+ var i6__namespace = /*#__PURE__*/_interopNamespace(i6);
32
+ var i1__namespace$1 = /*#__PURE__*/_interopNamespace(i1$1);
33
+ var i6__namespace$1 = /*#__PURE__*/_interopNamespace(i6$1);
34
34
 
35
- /*! *****************************************************************************
36
- Copyright (c) Microsoft Corporation.
35
+ /******************************************************************************
36
+ Copyright (c) Microsoft Corporation.
37
37
 
38
- Permission to use, copy, modify, and/or distribute this software for any
39
- purpose with or without fee is hereby granted.
38
+ Permission to use, copy, modify, and/or distribute this software for any
39
+ purpose with or without fee is hereby granted.
40
40
 
41
- THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
42
- REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
43
- AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
44
- INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
45
- LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
46
- OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
47
- PERFORMANCE OF THIS SOFTWARE.
48
- ***************************************************************************** */
49
- /* global Reflect, Promise */
50
- var extendStatics = function (d, b) {
51
- extendStatics = Object.setPrototypeOf ||
52
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
53
- function (d, b) { for (var p in b)
54
- if (Object.prototype.hasOwnProperty.call(b, p))
55
- d[p] = b[p]; };
56
- return extendStatics(d, b);
57
- };
58
- function __extends(d, b) {
59
- if (typeof b !== "function" && b !== null)
60
- throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
61
- extendStatics(d, b);
62
- function __() { this.constructor = d; }
63
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
64
- }
65
- var __assign = function () {
66
- __assign = Object.assign || function __assign(t) {
67
- for (var s, i = 1, n = arguments.length; i < n; i++) {
68
- s = arguments[i];
69
- for (var p in s)
70
- if (Object.prototype.hasOwnProperty.call(s, p))
71
- t[p] = s[p];
72
- }
73
- return t;
74
- };
75
- return __assign.apply(this, arguments);
76
- };
77
- function __rest(s, e) {
78
- var t = {};
79
- for (var p in s)
80
- if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
81
- t[p] = s[p];
82
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
83
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
84
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
85
- t[p[i]] = s[p[i]];
86
- }
87
- return t;
88
- }
89
- function __decorate(decorators, target, key, desc) {
90
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
91
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
92
- r = Reflect.decorate(decorators, target, key, desc);
93
- else
94
- for (var i = decorators.length - 1; i >= 0; i--)
95
- if (d = decorators[i])
96
- r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
97
- return c > 3 && r && Object.defineProperty(target, key, r), r;
98
- }
99
- function __param(paramIndex, decorator) {
100
- return function (target, key) { decorator(target, key, paramIndex); };
101
- }
102
- function __metadata(metadataKey, metadataValue) {
103
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
104
- return Reflect.metadata(metadataKey, metadataValue);
105
- }
106
- function __awaiter(thisArg, _arguments, P, generator) {
107
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
108
- return new (P || (P = Promise))(function (resolve, reject) {
109
- function fulfilled(value) { try {
110
- step(generator.next(value));
111
- }
112
- catch (e) {
113
- reject(e);
114
- } }
115
- function rejected(value) { try {
116
- step(generator["throw"](value));
117
- }
118
- catch (e) {
119
- reject(e);
120
- } }
121
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
122
- step((generator = generator.apply(thisArg, _arguments || [])).next());
123
- });
124
- }
125
- function __generator(thisArg, body) {
126
- var _ = { label: 0, sent: function () { if (t[0] & 1)
127
- throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
128
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function () { return this; }), g;
129
- function verb(n) { return function (v) { return step([n, v]); }; }
130
- function step(op) {
131
- if (f)
132
- throw new TypeError("Generator is already executing.");
133
- while (_)
134
- try {
135
- 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)
136
- return t;
137
- if (y = 0, t)
138
- op = [op[0] & 2, t.value];
139
- switch (op[0]) {
140
- case 0:
141
- case 1:
142
- t = op;
143
- break;
144
- case 4:
145
- _.label++;
146
- return { value: op[1], done: false };
147
- case 5:
148
- _.label++;
149
- y = op[1];
150
- op = [0];
151
- continue;
152
- case 7:
153
- op = _.ops.pop();
154
- _.trys.pop();
155
- continue;
156
- default:
157
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
158
- _ = 0;
159
- continue;
160
- }
161
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) {
162
- _.label = op[1];
163
- break;
164
- }
165
- if (op[0] === 6 && _.label < t[1]) {
166
- _.label = t[1];
167
- t = op;
168
- break;
169
- }
170
- if (t && _.label < t[2]) {
171
- _.label = t[2];
172
- _.ops.push(op);
173
- break;
174
- }
175
- if (t[2])
176
- _.ops.pop();
177
- _.trys.pop();
178
- continue;
179
- }
180
- op = body.call(thisArg, _);
181
- }
182
- catch (e) {
183
- op = [6, e];
184
- y = 0;
185
- }
186
- finally {
187
- f = t = 0;
188
- }
189
- if (op[0] & 5)
190
- throw op[1];
191
- return { value: op[0] ? op[1] : void 0, done: true };
192
- }
193
- }
194
- var __createBinding = Object.create ? (function (o, m, k, k2) {
195
- if (k2 === undefined)
196
- k2 = k;
197
- Object.defineProperty(o, k2, { enumerable: true, get: function () { return m[k]; } });
198
- }) : (function (o, m, k, k2) {
199
- if (k2 === undefined)
200
- k2 = k;
201
- o[k2] = m[k];
202
- });
203
- function __exportStar(m, o) {
204
- for (var p in m)
205
- if (p !== "default" && !Object.prototype.hasOwnProperty.call(o, p))
206
- __createBinding(o, m, p);
207
- }
208
- function __values(o) {
209
- var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
210
- if (m)
211
- return m.call(o);
212
- if (o && typeof o.length === "number")
213
- return {
214
- next: function () {
215
- if (o && i >= o.length)
216
- o = void 0;
217
- return { value: o && o[i++], done: !o };
218
- }
219
- };
220
- throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
221
- }
222
- function __read(o, n) {
223
- var m = typeof Symbol === "function" && o[Symbol.iterator];
224
- if (!m)
225
- return o;
226
- var i = m.call(o), r, ar = [], e;
227
- try {
228
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done)
229
- ar.push(r.value);
230
- }
231
- catch (error) {
232
- e = { error: error };
233
- }
234
- finally {
235
- try {
236
- if (r && !r.done && (m = i["return"]))
237
- m.call(i);
238
- }
239
- finally {
240
- if (e)
241
- throw e.error;
242
- }
243
- }
244
- return ar;
245
- }
246
- /** @deprecated */
247
- function __spread() {
248
- for (var ar = [], i = 0; i < arguments.length; i++)
249
- ar = ar.concat(__read(arguments[i]));
250
- return ar;
251
- }
252
- /** @deprecated */
253
- function __spreadArrays() {
254
- for (var s = 0, i = 0, il = arguments.length; i < il; i++)
255
- s += arguments[i].length;
256
- for (var r = Array(s), k = 0, i = 0; i < il; i++)
257
- for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
258
- r[k] = a[j];
259
- return r;
260
- }
261
- function __spreadArray(to, from, pack) {
262
- if (pack || arguments.length === 2)
263
- for (var i = 0, l = from.length, ar; i < l; i++) {
264
- if (ar || !(i in from)) {
265
- if (!ar)
266
- ar = Array.prototype.slice.call(from, 0, i);
267
- ar[i] = from[i];
268
- }
269
- }
270
- return to.concat(ar || from);
271
- }
272
- function __await(v) {
273
- return this instanceof __await ? (this.v = v, this) : new __await(v);
274
- }
275
- function __asyncGenerator(thisArg, _arguments, generator) {
276
- if (!Symbol.asyncIterator)
277
- throw new TypeError("Symbol.asyncIterator is not defined.");
278
- var g = generator.apply(thisArg, _arguments || []), i, q = [];
279
- return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i;
280
- function verb(n) { if (g[n])
281
- i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }
282
- function resume(n, v) { try {
283
- step(g[n](v));
284
- }
285
- catch (e) {
286
- settle(q[0][3], e);
287
- } }
288
- function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
289
- function fulfill(value) { resume("next", value); }
290
- function reject(value) { resume("throw", value); }
291
- function settle(f, v) { if (f(v), q.shift(), q.length)
292
- resume(q[0][0], q[0][1]); }
293
- }
294
- function __asyncDelegator(o) {
295
- var i, p;
296
- return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i;
297
- 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; }
298
- }
299
- function __asyncValues(o) {
300
- if (!Symbol.asyncIterator)
301
- throw new TypeError("Symbol.asyncIterator is not defined.");
302
- var m = o[Symbol.asyncIterator], i;
303
- 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);
304
- 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); }); }; }
305
- function settle(resolve, reject, d, v) { Promise.resolve(v).then(function (v) { resolve({ value: v, done: d }); }, reject); }
306
- }
307
- function __makeTemplateObject(cooked, raw) {
308
- if (Object.defineProperty) {
309
- Object.defineProperty(cooked, "raw", { value: raw });
310
- }
311
- else {
312
- cooked.raw = raw;
313
- }
314
- return cooked;
315
- }
316
- ;
317
- var __setModuleDefault = Object.create ? (function (o, v) {
318
- Object.defineProperty(o, "default", { enumerable: true, value: v });
319
- }) : function (o, v) {
320
- o["default"] = v;
321
- };
322
- function __importStar(mod) {
323
- if (mod && mod.__esModule)
324
- return mod;
325
- var result = {};
326
- if (mod != null)
327
- for (var k in mod)
328
- if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k))
329
- __createBinding(result, mod, k);
330
- __setModuleDefault(result, mod);
331
- return result;
332
- }
333
- function __importDefault(mod) {
334
- return (mod && mod.__esModule) ? mod : { default: mod };
335
- }
336
- function __classPrivateFieldGet(receiver, state, kind, f) {
337
- if (kind === "a" && !f)
338
- throw new TypeError("Private accessor was defined without a getter");
339
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver))
340
- throw new TypeError("Cannot read private member from an object whose class did not declare it");
341
- return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
342
- }
343
- function __classPrivateFieldSet(receiver, state, value, kind, f) {
344
- if (kind === "m")
345
- throw new TypeError("Private method is not writable");
346
- if (kind === "a" && !f)
347
- throw new TypeError("Private accessor was defined without a setter");
348
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver))
349
- throw new TypeError("Cannot write private member to an object whose class did not declare it");
350
- return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
351
- }
41
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
42
+ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
43
+ AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
44
+ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
45
+ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
46
+ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
47
+ PERFORMANCE OF THIS SOFTWARE.
48
+ ***************************************************************************** */
49
+ /* global Reflect, Promise, SuppressedError, Symbol */
50
+ var extendStatics = function (d, b) {
51
+ extendStatics = Object.setPrototypeOf ||
52
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
53
+ function (d, b) { for (var p in b)
54
+ if (Object.prototype.hasOwnProperty.call(b, p))
55
+ d[p] = b[p]; };
56
+ return extendStatics(d, b);
57
+ };
58
+ function __extends(d, b) {
59
+ if (typeof b !== "function" && b !== null)
60
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
61
+ extendStatics(d, b);
62
+ function __() { this.constructor = d; }
63
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
64
+ }
65
+ var __assign = function () {
66
+ __assign = Object.assign || function __assign(t) {
67
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
68
+ s = arguments[i];
69
+ for (var p in s)
70
+ if (Object.prototype.hasOwnProperty.call(s, p))
71
+ t[p] = s[p];
72
+ }
73
+ return t;
74
+ };
75
+ return __assign.apply(this, arguments);
76
+ };
77
+ function __rest(s, e) {
78
+ var t = {};
79
+ for (var p in s)
80
+ if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
81
+ t[p] = s[p];
82
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
83
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
84
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
85
+ t[p[i]] = s[p[i]];
86
+ }
87
+ return t;
88
+ }
89
+ function __decorate(decorators, target, key, desc) {
90
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
91
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
92
+ r = Reflect.decorate(decorators, target, key, desc);
93
+ else
94
+ for (var i = decorators.length - 1; i >= 0; i--)
95
+ if (d = decorators[i])
96
+ r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
97
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
98
+ }
99
+ function __param(paramIndex, decorator) {
100
+ return function (target, key) { decorator(target, key, paramIndex); };
101
+ }
102
+ function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
103
+ function accept(f) { if (f !== void 0 && typeof f !== "function")
104
+ throw new TypeError("Function expected"); return f; }
105
+ var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
106
+ var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
107
+ var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
108
+ var _, done = false;
109
+ for (var i = decorators.length - 1; i >= 0; i--) {
110
+ var context = {};
111
+ for (var p in contextIn)
112
+ context[p] = p === "access" ? {} : contextIn[p];
113
+ for (var p in contextIn.access)
114
+ context.access[p] = contextIn.access[p];
115
+ context.addInitializer = function (f) { if (done)
116
+ throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
117
+ var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
118
+ if (kind === "accessor") {
119
+ if (result === void 0)
120
+ continue;
121
+ if (result === null || typeof result !== "object")
122
+ throw new TypeError("Object expected");
123
+ if (_ = accept(result.get))
124
+ descriptor.get = _;
125
+ if (_ = accept(result.set))
126
+ descriptor.set = _;
127
+ if (_ = accept(result.init))
128
+ initializers.unshift(_);
129
+ }
130
+ else if (_ = accept(result)) {
131
+ if (kind === "field")
132
+ initializers.unshift(_);
133
+ else
134
+ descriptor[key] = _;
135
+ }
136
+ }
137
+ if (target)
138
+ Object.defineProperty(target, contextIn.name, descriptor);
139
+ done = true;
140
+ }
141
+ ;
142
+ function __runInitializers(thisArg, initializers, value) {
143
+ var useValue = arguments.length > 2;
144
+ for (var i = 0; i < initializers.length; i++) {
145
+ value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
146
+ }
147
+ return useValue ? value : void 0;
148
+ }
149
+ ;
150
+ function __propKey(x) {
151
+ return typeof x === "symbol" ? x : "".concat(x);
152
+ }
153
+ ;
154
+ function __setFunctionName(f, name, prefix) {
155
+ if (typeof name === "symbol")
156
+ name = name.description ? "[".concat(name.description, "]") : "";
157
+ return Object.defineProperty(f, "name", { configurable: true, value: prefix ? "".concat(prefix, " ", name) : name });
158
+ }
159
+ ;
160
+ function __metadata(metadataKey, metadataValue) {
161
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
162
+ return Reflect.metadata(metadataKey, metadataValue);
163
+ }
164
+ function __awaiter(thisArg, _arguments, P, generator) {
165
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
166
+ return new (P || (P = Promise))(function (resolve, reject) {
167
+ function fulfilled(value) { try {
168
+ step(generator.next(value));
169
+ }
170
+ catch (e) {
171
+ reject(e);
172
+ } }
173
+ function rejected(value) { try {
174
+ step(generator["throw"](value));
175
+ }
176
+ catch (e) {
177
+ reject(e);
178
+ } }
179
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
180
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
181
+ });
182
+ }
183
+ function __generator(thisArg, body) {
184
+ var _ = { label: 0, sent: function () { if (t[0] & 1)
185
+ throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
186
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function () { return this; }), g;
187
+ function verb(n) { return function (v) { return step([n, v]); }; }
188
+ function step(op) {
189
+ if (f)
190
+ throw new TypeError("Generator is already executing.");
191
+ while (g && (g = 0, op[0] && (_ = 0)), _)
192
+ try {
193
+ 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)
194
+ return t;
195
+ if (y = 0, t)
196
+ op = [op[0] & 2, t.value];
197
+ switch (op[0]) {
198
+ case 0:
199
+ case 1:
200
+ t = op;
201
+ break;
202
+ case 4:
203
+ _.label++;
204
+ return { value: op[1], done: false };
205
+ case 5:
206
+ _.label++;
207
+ y = op[1];
208
+ op = [0];
209
+ continue;
210
+ case 7:
211
+ op = _.ops.pop();
212
+ _.trys.pop();
213
+ continue;
214
+ default:
215
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
216
+ _ = 0;
217
+ continue;
218
+ }
219
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) {
220
+ _.label = op[1];
221
+ break;
222
+ }
223
+ if (op[0] === 6 && _.label < t[1]) {
224
+ _.label = t[1];
225
+ t = op;
226
+ break;
227
+ }
228
+ if (t && _.label < t[2]) {
229
+ _.label = t[2];
230
+ _.ops.push(op);
231
+ break;
232
+ }
233
+ if (t[2])
234
+ _.ops.pop();
235
+ _.trys.pop();
236
+ continue;
237
+ }
238
+ op = body.call(thisArg, _);
239
+ }
240
+ catch (e) {
241
+ op = [6, e];
242
+ y = 0;
243
+ }
244
+ finally {
245
+ f = t = 0;
246
+ }
247
+ if (op[0] & 5)
248
+ throw op[1];
249
+ return { value: op[0] ? op[1] : void 0, done: true };
250
+ }
251
+ }
252
+ var __createBinding = Object.create ? (function (o, m, k, k2) {
253
+ if (k2 === undefined)
254
+ k2 = k;
255
+ var desc = Object.getOwnPropertyDescriptor(m, k);
256
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
257
+ desc = { enumerable: true, get: function () { return m[k]; } };
258
+ }
259
+ Object.defineProperty(o, k2, desc);
260
+ }) : (function (o, m, k, k2) {
261
+ if (k2 === undefined)
262
+ k2 = k;
263
+ o[k2] = m[k];
264
+ });
265
+ function __exportStar(m, o) {
266
+ for (var p in m)
267
+ if (p !== "default" && !Object.prototype.hasOwnProperty.call(o, p))
268
+ __createBinding(o, m, p);
269
+ }
270
+ function __values(o) {
271
+ var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
272
+ if (m)
273
+ return m.call(o);
274
+ if (o && typeof o.length === "number")
275
+ return {
276
+ next: function () {
277
+ if (o && i >= o.length)
278
+ o = void 0;
279
+ return { value: o && o[i++], done: !o };
280
+ }
281
+ };
282
+ throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
283
+ }
284
+ function __read(o, n) {
285
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
286
+ if (!m)
287
+ return o;
288
+ var i = m.call(o), r, ar = [], e;
289
+ try {
290
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done)
291
+ ar.push(r.value);
292
+ }
293
+ catch (error) {
294
+ e = { error: error };
295
+ }
296
+ finally {
297
+ try {
298
+ if (r && !r.done && (m = i["return"]))
299
+ m.call(i);
300
+ }
301
+ finally {
302
+ if (e)
303
+ throw e.error;
304
+ }
305
+ }
306
+ return ar;
307
+ }
308
+ /** @deprecated */
309
+ function __spread() {
310
+ for (var ar = [], i = 0; i < arguments.length; i++)
311
+ ar = ar.concat(__read(arguments[i]));
312
+ return ar;
313
+ }
314
+ /** @deprecated */
315
+ function __spreadArrays() {
316
+ for (var s = 0, i = 0, il = arguments.length; i < il; i++)
317
+ s += arguments[i].length;
318
+ for (var r = Array(s), k = 0, i = 0; i < il; i++)
319
+ for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
320
+ r[k] = a[j];
321
+ return r;
322
+ }
323
+ function __spreadArray(to, from, pack) {
324
+ if (pack || arguments.length === 2)
325
+ for (var i = 0, l = from.length, ar; i < l; i++) {
326
+ if (ar || !(i in from)) {
327
+ if (!ar)
328
+ ar = Array.prototype.slice.call(from, 0, i);
329
+ ar[i] = from[i];
330
+ }
331
+ }
332
+ return to.concat(ar || Array.prototype.slice.call(from));
333
+ }
334
+ function __await(v) {
335
+ return this instanceof __await ? (this.v = v, this) : new __await(v);
336
+ }
337
+ function __asyncGenerator(thisArg, _arguments, generator) {
338
+ if (!Symbol.asyncIterator)
339
+ throw new TypeError("Symbol.asyncIterator is not defined.");
340
+ var g = generator.apply(thisArg, _arguments || []), i, q = [];
341
+ return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i;
342
+ function verb(n) { if (g[n])
343
+ i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }
344
+ function resume(n, v) { try {
345
+ step(g[n](v));
346
+ }
347
+ catch (e) {
348
+ settle(q[0][3], e);
349
+ } }
350
+ function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
351
+ function fulfill(value) { resume("next", value); }
352
+ function reject(value) { resume("throw", value); }
353
+ function settle(f, v) { if (f(v), q.shift(), q.length)
354
+ resume(q[0][0], q[0][1]); }
355
+ }
356
+ function __asyncDelegator(o) {
357
+ var i, p;
358
+ return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i;
359
+ function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }
360
+ }
361
+ function __asyncValues(o) {
362
+ if (!Symbol.asyncIterator)
363
+ throw new TypeError("Symbol.asyncIterator is not defined.");
364
+ var m = o[Symbol.asyncIterator], i;
365
+ 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);
366
+ 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); }); }; }
367
+ function settle(resolve, reject, d, v) { Promise.resolve(v).then(function (v) { resolve({ value: v, done: d }); }, reject); }
368
+ }
369
+ function __makeTemplateObject(cooked, raw) {
370
+ if (Object.defineProperty) {
371
+ Object.defineProperty(cooked, "raw", { value: raw });
372
+ }
373
+ else {
374
+ cooked.raw = raw;
375
+ }
376
+ return cooked;
377
+ }
378
+ ;
379
+ var __setModuleDefault = Object.create ? (function (o, v) {
380
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
381
+ }) : function (o, v) {
382
+ o["default"] = v;
383
+ };
384
+ function __importStar(mod) {
385
+ if (mod && mod.__esModule)
386
+ return mod;
387
+ var result = {};
388
+ if (mod != null)
389
+ for (var k in mod)
390
+ if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k))
391
+ __createBinding(result, mod, k);
392
+ __setModuleDefault(result, mod);
393
+ return result;
394
+ }
395
+ function __importDefault(mod) {
396
+ return (mod && mod.__esModule) ? mod : { default: mod };
397
+ }
398
+ function __classPrivateFieldGet(receiver, state, kind, f) {
399
+ if (kind === "a" && !f)
400
+ throw new TypeError("Private accessor was defined without a getter");
401
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver))
402
+ throw new TypeError("Cannot read private member from an object whose class did not declare it");
403
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
404
+ }
405
+ function __classPrivateFieldSet(receiver, state, value, kind, f) {
406
+ if (kind === "m")
407
+ throw new TypeError("Private method is not writable");
408
+ if (kind === "a" && !f)
409
+ throw new TypeError("Private accessor was defined without a setter");
410
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver))
411
+ throw new TypeError("Cannot write private member to an object whose class did not declare it");
412
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
413
+ }
414
+ function __classPrivateFieldIn(state, receiver) {
415
+ if (receiver === null || (typeof receiver !== "object" && typeof receiver !== "function"))
416
+ throw new TypeError("Cannot use 'in' operator on non-object");
417
+ return typeof state === "function" ? receiver === state : state.has(receiver);
418
+ }
419
+ function __addDisposableResource(env, value, async) {
420
+ if (value !== null && value !== void 0) {
421
+ if (typeof value !== "object" && typeof value !== "function")
422
+ throw new TypeError("Object expected.");
423
+ var dispose;
424
+ if (async) {
425
+ if (!Symbol.asyncDispose)
426
+ throw new TypeError("Symbol.asyncDispose is not defined.");
427
+ dispose = value[Symbol.asyncDispose];
428
+ }
429
+ if (dispose === void 0) {
430
+ if (!Symbol.dispose)
431
+ throw new TypeError("Symbol.dispose is not defined.");
432
+ dispose = value[Symbol.dispose];
433
+ }
434
+ if (typeof dispose !== "function")
435
+ throw new TypeError("Object not disposable.");
436
+ env.stack.push({ value: value, dispose: dispose, async: async });
437
+ }
438
+ else if (async) {
439
+ env.stack.push({ async: true });
440
+ }
441
+ return value;
442
+ }
443
+ var _SuppressedError = typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
444
+ var e = new Error(message);
445
+ return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
446
+ };
447
+ function __disposeResources(env) {
448
+ function fail(e) {
449
+ env.error = env.hasError ? new _SuppressedError(e, env.error, "An error was suppressed during disposal.") : e;
450
+ env.hasError = true;
451
+ }
452
+ function next() {
453
+ while (env.stack.length) {
454
+ var rec = env.stack.pop();
455
+ try {
456
+ var result = rec.dispose && rec.dispose.call(rec.value);
457
+ if (rec.async)
458
+ return Promise.resolve(result).then(next, function (e) { fail(e); return next(); });
459
+ }
460
+ catch (e) {
461
+ fail(e);
462
+ }
463
+ }
464
+ if (env.hasError)
465
+ throw env.error;
466
+ }
467
+ return next();
468
+ }
469
+ var tslib_es6 = {
470
+ __extends: __extends,
471
+ __assign: __assign,
472
+ __rest: __rest,
473
+ __decorate: __decorate,
474
+ __param: __param,
475
+ __metadata: __metadata,
476
+ __awaiter: __awaiter,
477
+ __generator: __generator,
478
+ __createBinding: __createBinding,
479
+ __exportStar: __exportStar,
480
+ __values: __values,
481
+ __read: __read,
482
+ __spread: __spread,
483
+ __spreadArrays: __spreadArrays,
484
+ __spreadArray: __spreadArray,
485
+ __await: __await,
486
+ __asyncGenerator: __asyncGenerator,
487
+ __asyncDelegator: __asyncDelegator,
488
+ __asyncValues: __asyncValues,
489
+ __makeTemplateObject: __makeTemplateObject,
490
+ __importStar: __importStar,
491
+ __importDefault: __importDefault,
492
+ __classPrivateFieldGet: __classPrivateFieldGet,
493
+ __classPrivateFieldSet: __classPrivateFieldSet,
494
+ __classPrivateFieldIn: __classPrivateFieldIn,
495
+ __addDisposableResource: __addDisposableResource,
496
+ __disposeResources: __disposeResources,
497
+ };
352
498
 
353
- var TUI_MULTI_SELECT_DEFAULT_OPTIONS = {
354
- expandable: true,
355
- valueContent: "",
356
- };
357
- /**
358
- * Default parameters for MultiSelect component
359
- */
360
- var TUI_MULTI_SELECT_OPTIONS = i3.tuiCreateToken(TUI_MULTI_SELECT_DEFAULT_OPTIONS);
361
- function tuiMultiSelectOptionsProvider(options) {
362
- return i3.tuiProvideOptions(TUI_MULTI_SELECT_OPTIONS, options, TUI_MULTI_SELECT_DEFAULT_OPTIONS);
363
- }
499
+ var TUI_MULTI_SELECT_DEFAULT_OPTIONS = {
500
+ expandable: true,
501
+ valueContent: "",
502
+ };
503
+ /**
504
+ * Default parameters for MultiSelect component
505
+ */
506
+ var TUI_MULTI_SELECT_OPTIONS = i3.tuiCreateToken(TUI_MULTI_SELECT_DEFAULT_OPTIONS);
507
+ function tuiMultiSelectOptionsProvider(options) {
508
+ return i3.tuiProvideOptions(TUI_MULTI_SELECT_OPTIONS, options, TUI_MULTI_SELECT_DEFAULT_OPTIONS);
509
+ }
364
510
 
365
- var AbstractTuiNativeMultiSelect = /** @class */ (function (_super) {
366
- __extends(AbstractTuiNativeMultiSelect, _super);
367
- function AbstractTuiNativeMultiSelect() {
368
- var _this = _super.apply(this, __spreadArray([], __read(arguments))) || this;
369
- _this.selectedMapper = function (option, value) { return value.includes(option); };
370
- return _this;
371
- }
372
- Object.defineProperty(AbstractTuiNativeMultiSelect.prototype, "stringify", {
373
- get: function () {
374
- return this.host.stringify;
375
- },
376
- enumerable: false,
377
- configurable: true
378
- });
379
- return AbstractTuiNativeMultiSelect;
380
- }(abstract.AbstractTuiNativeSelect));
381
- AbstractTuiNativeMultiSelect.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: AbstractTuiNativeMultiSelect, deps: null, target: i0__namespace.ɵɵFactoryTarget.Directive });
382
- AbstractTuiNativeMultiSelect.ɵdir = i0__namespace.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: AbstractTuiNativeMultiSelect, usesInheritance: true, ngImport: i0__namespace });
383
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: AbstractTuiNativeMultiSelect, decorators: [{
384
- type: i0.Directive
385
- }] });
511
+ var AbstractTuiNativeMultiSelect = /** @class */ (function (_super) {
512
+ __extends(AbstractTuiNativeMultiSelect, _super);
513
+ function AbstractTuiNativeMultiSelect() {
514
+ var _this = _super.apply(this, __spreadArray([], __read(arguments))) || this;
515
+ _this.selectedMapper = function (option, value) { return value.includes(option); };
516
+ return _this;
517
+ }
518
+ Object.defineProperty(AbstractTuiNativeMultiSelect.prototype, "stringify", {
519
+ get: function () {
520
+ return this.host.stringify;
521
+ },
522
+ enumerable: false,
523
+ configurable: true
524
+ });
525
+ return AbstractTuiNativeMultiSelect;
526
+ }(abstract.AbstractTuiNativeSelect));
527
+ AbstractTuiNativeMultiSelect.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: AbstractTuiNativeMultiSelect, deps: null, target: i0__namespace.ɵɵFactoryTarget.Directive });
528
+ AbstractTuiNativeMultiSelect.ɵdir = i0__namespace.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: AbstractTuiNativeMultiSelect, usesInheritance: true, ngImport: i0__namespace });
529
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: AbstractTuiNativeMultiSelect, decorators: [{
530
+ type: i0.Directive
531
+ }] });
386
532
 
387
- var TuiMultiSelectComponent = /** @class */ (function (_super) {
388
- __extends(TuiMultiSelectComponent, _super);
389
- function TuiMultiSelectComponent(control, cdr, arrowMode, itemsHandlers, options, controller, isMobile) {
390
- var _this = _super.call(this, control, cdr) || this;
391
- _this.arrowMode = arrowMode;
392
- _this.itemsHandlers = itemsHandlers;
393
- _this.options = options;
394
- _this.controller = controller;
395
- _this.isMobile = isMobile;
396
- _this.stringify = _this.itemsHandlers.stringify;
397
- _this.identityMatcher = _this.itemsHandlers.identityMatcher;
398
- _this.expandable = _this.options.expandable;
399
- _this.search = '';
400
- _this.placeholder = '';
401
- _this.editable = true;
402
- _this.disabledItemHandler = _this.itemsHandlers.disabledItemHandler;
403
- _this.valueContent = _this.options.valueContent;
404
- _this.tagValidator = i3.ALWAYS_TRUE_HANDLER;
405
- _this.rows = Infinity;
406
- _this.searchChange = new i0.EventEmitter();
407
- _this.open = false;
408
- _this.valueMapper = function (value, stringify, group) { return group
409
- ? i3.EMPTY_ARRAY
410
- : value.map(function (item) { return new classes.TuiStringifiableItem(item, stringify); }); };
411
- _this.disabledItemHandlerWrapper = function (handler) { return function (stringifiable) { return i3.tuiIsString(stringifiable) || handler(stringifiable.item); }; };
412
- return _this;
413
- }
414
- Object.defineProperty(TuiMultiSelectComponent.prototype, "size", {
415
- get: function () {
416
- return this.controller.size;
417
- },
418
- enumerable: false,
419
- configurable: true
420
- });
421
- Object.defineProperty(TuiMultiSelectComponent.prototype, "arrow", {
422
- get: function () {
423
- return this.interactive ? this.arrowMode.interactive : this.arrowMode.disabled;
424
- },
425
- enumerable: false,
426
- configurable: true
427
- });
428
- Object.defineProperty(TuiMultiSelectComponent.prototype, "nativeFocusableElement", {
429
- get: function () {
430
- var _a, _b;
431
- return (_b = (_a = this.input) === null || _a === void 0 ? void 0 : _a.nativeFocusableElement) !== null && _b !== void 0 ? _b : null;
432
- },
433
- enumerable: false,
434
- configurable: true
435
- });
436
- Object.defineProperty(TuiMultiSelectComponent.prototype, "focused", {
437
- get: function () {
438
- var _a, _b;
439
- return !!((_a = this.input) === null || _a === void 0 ? void 0 : _a.focused) || !!((_b = this.hostedDropdown) === null || _b === void 0 ? void 0 : _b.focused);
440
- },
441
- enumerable: false,
442
- configurable: true
443
- });
444
- Object.defineProperty(TuiMultiSelectComponent.prototype, "nativeDropdownMode", {
445
- get: function () {
446
- return !!this.nativeSelect && this.isMobile && !this.editable;
447
- },
448
- enumerable: false,
449
- configurable: true
450
- });
451
- Object.defineProperty(TuiMultiSelectComponent.prototype, "computedValue", {
452
- get: function () {
453
- return this.computedGroup ? i3.EMPTY_ARRAY : this.value;
454
- },
455
- enumerable: false,
456
- configurable: true
457
- });
458
- Object.defineProperty(TuiMultiSelectComponent.prototype, "searchOrSpace", {
459
- // @bad TODO: think of a better way
460
- get: function () {
461
- return this.computedGroup ? ' ' : this.searchString;
462
- },
463
- enumerable: false,
464
- configurable: true
465
- });
466
- Object.defineProperty(TuiMultiSelectComponent.prototype, "searchString", {
467
- get: function () {
468
- return this.search === null ? '' : this.search;
469
- },
470
- enumerable: false,
471
- configurable: true
472
- });
473
- Object.defineProperty(TuiMultiSelectComponent.prototype, "computedGroup", {
474
- get: function () {
475
- return (!!this.valueContent &&
476
- this.value.length > 0 &&
477
- (!this.focused || !this.editable));
478
- },
479
- enumerable: false,
480
- configurable: true
481
- });
482
- TuiMultiSelectComponent.prototype.getStringifier = function (stringify) {
483
- return function (_c) {
484
- var $implicit = _c.$implicit;
485
- return stringify($implicit);
486
- };
487
- };
488
- TuiMultiSelectComponent.prototype.onSpace = function (event) {
489
- var _a;
490
- if (!this.editable) {
491
- event.preventDefault();
492
- }
493
- if (!this.readOnly) {
494
- (_a = this.hostedDropdown) === null || _a === void 0 ? void 0 : _a.updateOpen(true);
495
- }
496
- };
497
- TuiMultiSelectComponent.prototype.handleOption = function (option) {
498
- var _c = this, value = _c.value, identityMatcher = _c.identityMatcher;
499
- var index = value.findIndex(function (item) { return identityMatcher(item, option); });
500
- this.value =
501
- index === -1 ? __spreadArray(__spreadArray([], __read(value)), [option]) : value.filter(function (_, i) { return i !== index; });
502
- this.updateSearch(null);
503
- };
504
- TuiMultiSelectComponent.prototype.onEnter = function (event) {
505
- var value = this.value;
506
- var options = this.accessor ? this.accessor.getOptions() : [];
507
- if (options.length !== 1) {
508
- return;
509
- }
510
- event.preventDefault();
511
- this.value = i3.tuiArrayToggle(value, options[0]);
512
- this.updateSearch(null);
513
- };
514
- TuiMultiSelectComponent.prototype.onClick = function (_c) {
515
- var nativeFocusableElement = _c.nativeFocusableElement;
516
- var _a;
517
- if (this.interactive &&
518
- nativeFocusableElement &&
519
- i3.tuiIsNativeFocused(nativeFocusableElement)) {
520
- (_a = this.hostedDropdown) === null || _a === void 0 ? void 0 : _a.updateOpen(!this.open);
521
- }
522
- };
523
- TuiMultiSelectComponent.prototype.onInput = function (value) {
524
- this.value = value.map(function (_c) {
525
- var item = _c.item;
526
- return item;
527
- });
528
- };
529
- TuiMultiSelectComponent.prototype.onValueChange = function (value) {
530
- this.value = value;
531
- };
532
- TuiMultiSelectComponent.prototype.onSearch = function (search) {
533
- var _a;
534
- // Clearing sets the empty value, the dropdown should not be opened on clear.
535
- if (search !== '') {
536
- (_a = this.hostedDropdown) === null || _a === void 0 ? void 0 : _a.updateOpen(true);
537
- }
538
- this.updateSearch(search);
539
- };
540
- TuiMultiSelectComponent.prototype.onActiveZone = function (active) {
541
- this.updateFocused(active);
542
- };
543
- TuiMultiSelectComponent.prototype.setDisabledState = function () {
544
- var _a;
545
- _super.prototype.setDisabledState.call(this);
546
- (_a = this.hostedDropdown) === null || _a === void 0 ? void 0 : _a.updateOpen(false);
547
- };
548
- TuiMultiSelectComponent.prototype.updateSearch = function (search) {
549
- if (this.search === search) {
550
- return;
551
- }
552
- this.search = search;
553
- this.searchChange.emit(search);
554
- };
555
- return TuiMultiSelectComponent;
556
- }(i3.AbstractTuiMultipleControl));
557
- TuiMultiSelectComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TuiMultiSelectComponent, deps: [{ token: i4.NgControl, optional: true, self: true }, { token: i0.ChangeDetectorRef }, { token: arrow.TUI_ARROW_MODE }, { token: tokens.TUI_ITEMS_HANDLERS }, { token: TUI_MULTI_SELECT_OPTIONS }, { token: i1.TUI_TEXTFIELD_WATCHED_CONTROLLER }, { token: i3.TUI_IS_MOBILE }], target: i0__namespace.ɵɵFactoryTarget.Component });
558
- TuiMultiSelectComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiMultiSelectComponent, selector: "tui-multi-select", inputs: { stringify: "stringify", identityMatcher: "identityMatcher", expandable: "expandable", search: "search", placeholder: "placeholder", editable: "editable", disabledItemHandler: "disabledItemHandler", valueContent: "valueContent", tagValidator: "tagValidator", rows: "rows" }, outputs: { searchChange: "searchChange" }, host: { properties: { "class._editable": "this.editable", "attr.data-size": "this.size" } }, providers: [
559
- i3.tuiAsFocusableItemAccessor(TuiMultiSelectComponent),
560
- i3.tuiAsControl(TuiMultiSelectComponent),
561
- i1.tuiAsDataListHost(TuiMultiSelectComponent),
562
- i1.TEXTFIELD_CONTROLLER_PROVIDER,
563
- ], queries: [{ propertyName: "accessor", first: true, predicate: i1.TUI_DATA_LIST_ACCESSOR, descendants: true }, { propertyName: "nativeSelect", first: true, predicate: AbstractTuiNativeMultiSelect, descendants: true, static: true }, { propertyName: "datalist", first: true, predicate: i1.TuiDataListDirective, descendants: true, read: i0.TemplateRef }], viewQueries: [{ propertyName: "hostedDropdown", first: true, predicate: i1.TuiHostedDropdownComponent, descendants: true }, { propertyName: "input", first: true, predicate: i2.TuiInputTagComponent, descendants: true }], usesInheritance: true, ngImport: i0__namespace, template: "<tui-hosted-dropdown\n class=\"t-hosted\"\n [canOpen]=\"interactive && !nativeDropdownMode\"\n [content]=\"datalist || ''\"\n [(open)]=\"open\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n>\n <tui-input-tag\n #inputTag\n automation-id=\"tui-multi-select__input\"\n class=\"t-input\"\n [disabled]=\"disabled\"\n [disabledItemHandler]=\"disabledItemHandler | tuiMapper: disabledItemHandlerWrapper\"\n [editable]=\"false\"\n [expandable]=\"expandable\"\n [inputHidden]=\"!editable\"\n [nativeId]=\"nativeId\"\n [ngModel]=\"computedValue | tuiMapper: valueMapper : stringify\"\n [placeholder]=\"placeholder\"\n [pseudoFocus]=\"computedFocused\"\n [pseudoHover]=\"pseudoHover\"\n [pseudoInvalid]=\"computedInvalid\"\n [readOnly]=\"readOnly\"\n [removable]=\"!nativeDropdownMode\"\n [rows]=\"rows\"\n [search]=\"searchOrSpace\"\n [tagValidator]=\"tagValidator | tuiMapper: disabledItemHandlerWrapper\"\n [tuiTextfieldIcon]=\"arrow ? icon : ''\"\n (click.prevent)=\"onClick(inputTag)\"\n (keydown.enter)=\"onEnter($event)\"\n (keydown.space)=\"onSpace($event)\"\n (ngModelChange)=\"onInput($event)\"\n (searchChange)=\"onSearch($event)\"\n >\n <ng-content></ng-content>\n <ng-template #select>\n <ng-content\n *ngIf=\"isMobile\"\n select=\"select\"\n ></ng-content>\n </ng-template>\n\n <ng-container\n *ngTemplateOutlet=\"select\"\n ngProjectAs=\"select\"\n ></ng-container>\n\n <div\n *ngIf=\"computedGroup\"\n ngProjectAs=\"tuiContent\"\n class=\"t-content\"\n [class.t-content_fullsize]=\"inputTag.labelOutside\"\n >\n <span\n *polymorpheusOutlet=\"valueContent as text; context: {$implicit: value}\"\n class=\"t-primitive\"\n >\n {{ text }}\n </span>\n </div>\n </tui-input-tag>\n\n <ng-template #icon>\n <div\n appearance=\"icon\"\n automation-id=\"tui-multi-select__arrow\"\n tuiPreventDefault=\"mousedown\"\n tuiWrapper\n class=\"t-arrow\"\n [class.t-arrow_native-dropdown]=\"nativeDropdownMode\"\n >\n <ng-container *polymorpheusOutlet=\"arrow as text\">\n {{ text }}\n </ng-container>\n </div>\n </ng-template>\n</tui-hosted-dropdown>\n", styles: [":host{position:relative;display:block;border-radius:var(--tui-radius-m)}:host._disabled{pointer-events:none}.t-hosted{display:block;border-radius:inherit}.t-input{border-radius:inherit}:host:not(._editable):not(._readonly) .t-input{cursor:pointer}.t-content{display:flex;align-items:center;pointer-events:none;box-sizing:border-box}.t-primitive{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.t-arrow{pointer-events:auto;cursor:pointer}.t-arrow_native-dropdown{pointer-events:none}\n"], components: [{ type: i1__namespace.TuiHostedDropdownComponent, selector: "tui-hosted-dropdown", inputs: ["content", "sided", "canOpen", "open"], outputs: ["openChange", "focusedChange"] }, { type: i2__namespace.TuiInputTagComponent, selector: "tui-input-tag", inputs: ["separator", "search", "editable", "tagValidator", "expandable", "rows", "inputHidden", "uniqueTags", "maxLength", "placeholder", "removable", "disabledItemHandler", "pseudoFocused"], outputs: ["searchChange"] }], directives: [{ type: i3__namespace.TuiActiveZoneDirective, selector: "[tuiActiveZone]:not(ng-container), [tuiActiveZoneChange]:not(ng-container), [tuiActiveZoneParent]:not(ng-container)", inputs: ["tuiActiveZoneParent"], outputs: ["tuiActiveZoneChange"], exportAs: ["tuiActiveZone"] }, { type: i4__namespace.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4__namespace.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i1__namespace.TuiTextfieldIconDirective, selector: "[tuiTextfieldIcon]", inputs: ["tuiTextfieldIcon"] }, { type: i2__namespace$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2__namespace$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i6__namespace.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { type: i3__namespace.TuiPreventDefaultDirective, selector: "[tuiPreventDefault]", inputs: ["tuiPreventDefault"] }, { type: i1__namespace.TuiWrapperDirective, selector: "[tuiWrapper]", inputs: ["disabled", "readOnly", "hover", "active", "focus", "invalid", "appearance"] }], pipes: { "tuiMapper": i3__namespace.TuiMapperPipe }, viewProviders: [providers.FIXED_DROPDOWN_CONTROLLER_PROVIDER], changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
564
- __decorate([
565
- i3.tuiPure
566
- ], TuiMultiSelectComponent.prototype, "getStringifier", null);
567
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TuiMultiSelectComponent, decorators: [{
568
- type: i0.Component,
569
- args: [{
570
- selector: 'tui-multi-select',
571
- templateUrl: './multi-select.template.html',
572
- styleUrls: ['./multi-select.style.less'],
573
- changeDetection: i0.ChangeDetectionStrategy.OnPush,
574
- providers: [
575
- i3.tuiAsFocusableItemAccessor(TuiMultiSelectComponent),
576
- i3.tuiAsControl(TuiMultiSelectComponent),
577
- i1.tuiAsDataListHost(TuiMultiSelectComponent),
578
- i1.TEXTFIELD_CONTROLLER_PROVIDER,
579
- ],
580
- viewProviders: [providers.FIXED_DROPDOWN_CONTROLLER_PROVIDER],
581
- }]
582
- }], ctorParameters: function () {
583
- return [{ type: i4__namespace.NgControl, decorators: [{
584
- type: i0.Optional
585
- }, {
586
- type: i0.Self
587
- }, {
588
- type: i0.Inject,
589
- args: [i4.NgControl]
590
- }] }, { type: i0__namespace.ChangeDetectorRef, decorators: [{
591
- type: i0.Inject,
592
- args: [i0.ChangeDetectorRef]
593
- }] }, { type: undefined, decorators: [{
594
- type: i0.Inject,
595
- args: [arrow.TUI_ARROW_MODE]
596
- }] }, { type: undefined, decorators: [{
597
- type: i0.Inject,
598
- args: [tokens.TUI_ITEMS_HANDLERS]
599
- }] }, { type: undefined, decorators: [{
600
- type: i0.Inject,
601
- args: [TUI_MULTI_SELECT_OPTIONS]
602
- }] }, { type: i1__namespace.TuiTextfieldController, decorators: [{
603
- type: i0.Inject,
604
- args: [i1.TUI_TEXTFIELD_WATCHED_CONTROLLER]
605
- }] }, { type: undefined, decorators: [{
606
- type: i0.Inject,
607
- args: [i3.TUI_IS_MOBILE]
608
- }] }];
609
- }, propDecorators: { accessor: [{
610
- type: i0.ContentChild,
611
- args: [i1.TUI_DATA_LIST_ACCESSOR]
612
- }], nativeSelect: [{
613
- type: i0.ContentChild,
614
- args: [AbstractTuiNativeMultiSelect, { static: true }]
615
- }], hostedDropdown: [{
616
- type: i0.ViewChild,
617
- args: [i1.TuiHostedDropdownComponent]
618
- }], input: [{
619
- type: i0.ViewChild,
620
- args: [i2.TuiInputTagComponent]
621
- }], stringify: [{
622
- type: i0.Input
623
- }], identityMatcher: [{
624
- type: i0.Input
625
- }], expandable: [{
626
- type: i0.Input
627
- }], search: [{
628
- type: i0.Input
629
- }], placeholder: [{
630
- type: i0.Input
631
- }], editable: [{
632
- type: i0.Input
633
- }, {
634
- type: i0.HostBinding,
635
- args: ['class._editable']
636
- }], disabledItemHandler: [{
637
- type: i0.Input
638
- }], valueContent: [{
639
- type: i0.Input
640
- }], tagValidator: [{
641
- type: i0.Input
642
- }], rows: [{
643
- type: i0.Input
644
- }], searchChange: [{
645
- type: i0.Output
646
- }], datalist: [{
647
- type: i0.ContentChild,
648
- args: [i1.TuiDataListDirective, { read: i0.TemplateRef }]
649
- }], size: [{
650
- type: i0.HostBinding,
651
- args: ['attr.data-size']
652
- }], getStringifier: [] } });
533
+ var TuiMultiSelectComponent = /** @class */ (function (_super) {
534
+ __extends(TuiMultiSelectComponent, _super);
535
+ function TuiMultiSelectComponent(control, cdr, arrowMode, itemsHandlers, options, controller, isMobile) {
536
+ var _this = _super.call(this, control, cdr) || this;
537
+ _this.arrowMode = arrowMode;
538
+ _this.itemsHandlers = itemsHandlers;
539
+ _this.options = options;
540
+ _this.controller = controller;
541
+ _this.isMobile = isMobile;
542
+ _this.stringify = _this.itemsHandlers.stringify;
543
+ _this.identityMatcher = _this.itemsHandlers.identityMatcher;
544
+ _this.expandable = _this.options.expandable;
545
+ _this.search = '';
546
+ _this.placeholder = '';
547
+ _this.editable = true;
548
+ _this.disabledItemHandler = _this.itemsHandlers.disabledItemHandler;
549
+ _this.valueContent = _this.options.valueContent;
550
+ _this.tagValidator = i3.ALWAYS_TRUE_HANDLER;
551
+ _this.rows = Infinity;
552
+ _this.searchChange = new i0.EventEmitter();
553
+ _this.open = false;
554
+ _this.valueMapper = function (value, stringify, group) { return group
555
+ ? i3.EMPTY_ARRAY
556
+ : value.map(function (item) { return new classes.TuiStringifiableItem(item, stringify); }); };
557
+ _this.disabledItemHandlerWrapper = function (handler) { return function (stringifiable) { return i3.tuiIsString(stringifiable) || handler(stringifiable.item); }; };
558
+ return _this;
559
+ }
560
+ Object.defineProperty(TuiMultiSelectComponent.prototype, "size", {
561
+ get: function () {
562
+ return this.controller.size;
563
+ },
564
+ enumerable: false,
565
+ configurable: true
566
+ });
567
+ Object.defineProperty(TuiMultiSelectComponent.prototype, "arrow", {
568
+ get: function () {
569
+ return this.interactive ? this.arrowMode.interactive : this.arrowMode.disabled;
570
+ },
571
+ enumerable: false,
572
+ configurable: true
573
+ });
574
+ Object.defineProperty(TuiMultiSelectComponent.prototype, "nativeFocusableElement", {
575
+ get: function () {
576
+ var _a, _b;
577
+ return (_b = (_a = this.input) === null || _a === void 0 ? void 0 : _a.nativeFocusableElement) !== null && _b !== void 0 ? _b : null;
578
+ },
579
+ enumerable: false,
580
+ configurable: true
581
+ });
582
+ Object.defineProperty(TuiMultiSelectComponent.prototype, "focused", {
583
+ get: function () {
584
+ var _a, _b;
585
+ return !!((_a = this.input) === null || _a === void 0 ? void 0 : _a.focused) || !!((_b = this.hostedDropdown) === null || _b === void 0 ? void 0 : _b.focused);
586
+ },
587
+ enumerable: false,
588
+ configurable: true
589
+ });
590
+ Object.defineProperty(TuiMultiSelectComponent.prototype, "nativeDropdownMode", {
591
+ get: function () {
592
+ return !!this.nativeSelect && this.isMobile && !this.editable;
593
+ },
594
+ enumerable: false,
595
+ configurable: true
596
+ });
597
+ Object.defineProperty(TuiMultiSelectComponent.prototype, "computedValue", {
598
+ get: function () {
599
+ return this.computedGroup ? i3.EMPTY_ARRAY : this.value;
600
+ },
601
+ enumerable: false,
602
+ configurable: true
603
+ });
604
+ Object.defineProperty(TuiMultiSelectComponent.prototype, "searchOrSpace", {
605
+ // @bad TODO: think of a better way
606
+ get: function () {
607
+ return this.computedGroup ? ' ' : this.searchString;
608
+ },
609
+ enumerable: false,
610
+ configurable: true
611
+ });
612
+ Object.defineProperty(TuiMultiSelectComponent.prototype, "searchString", {
613
+ get: function () {
614
+ return this.search === null ? '' : this.search;
615
+ },
616
+ enumerable: false,
617
+ configurable: true
618
+ });
619
+ Object.defineProperty(TuiMultiSelectComponent.prototype, "computedGroup", {
620
+ get: function () {
621
+ return (!!this.valueContent &&
622
+ this.value.length > 0 &&
623
+ (!this.focused || !this.editable));
624
+ },
625
+ enumerable: false,
626
+ configurable: true
627
+ });
628
+ TuiMultiSelectComponent.prototype.getStringifier = function (stringify) {
629
+ return function (_c) {
630
+ var $implicit = _c.$implicit;
631
+ return stringify($implicit);
632
+ };
633
+ };
634
+ TuiMultiSelectComponent.prototype.onSpace = function (event) {
635
+ var _a;
636
+ if (!this.editable) {
637
+ event.preventDefault();
638
+ }
639
+ if (!this.readOnly) {
640
+ (_a = this.hostedDropdown) === null || _a === void 0 ? void 0 : _a.updateOpen(true);
641
+ }
642
+ };
643
+ TuiMultiSelectComponent.prototype.handleOption = function (option) {
644
+ var _c = this, value = _c.value, identityMatcher = _c.identityMatcher;
645
+ var index = value.findIndex(function (item) { return identityMatcher(item, option); });
646
+ this.value =
647
+ index === -1 ? __spreadArray(__spreadArray([], __read(value)), [option]) : value.filter(function (_, i) { return i !== index; });
648
+ this.updateSearch(null);
649
+ };
650
+ TuiMultiSelectComponent.prototype.onEnter = function (event) {
651
+ var value = this.value;
652
+ var options = this.accessor ? this.accessor.getOptions() : [];
653
+ if (options.length !== 1) {
654
+ return;
655
+ }
656
+ event.preventDefault();
657
+ this.value = i3.tuiArrayToggle(value, options[0]);
658
+ this.updateSearch(null);
659
+ };
660
+ TuiMultiSelectComponent.prototype.onClick = function (_c) {
661
+ var nativeFocusableElement = _c.nativeFocusableElement;
662
+ var _a;
663
+ if (this.interactive &&
664
+ nativeFocusableElement &&
665
+ i3.tuiIsNativeFocused(nativeFocusableElement)) {
666
+ (_a = this.hostedDropdown) === null || _a === void 0 ? void 0 : _a.updateOpen(!this.open);
667
+ }
668
+ };
669
+ TuiMultiSelectComponent.prototype.onInput = function (value) {
670
+ this.value = value.map(function (_c) {
671
+ var item = _c.item;
672
+ return item;
673
+ });
674
+ };
675
+ TuiMultiSelectComponent.prototype.onValueChange = function (value) {
676
+ this.value = value;
677
+ };
678
+ TuiMultiSelectComponent.prototype.onSearch = function (search) {
679
+ var _a;
680
+ // Clearing sets the empty value, the dropdown should not be opened on clear.
681
+ if (search !== '') {
682
+ (_a = this.hostedDropdown) === null || _a === void 0 ? void 0 : _a.updateOpen(true);
683
+ }
684
+ this.updateSearch(search);
685
+ };
686
+ TuiMultiSelectComponent.prototype.onActiveZone = function (active) {
687
+ this.updateFocused(active);
688
+ };
689
+ TuiMultiSelectComponent.prototype.setDisabledState = function () {
690
+ var _a;
691
+ _super.prototype.setDisabledState.call(this);
692
+ (_a = this.hostedDropdown) === null || _a === void 0 ? void 0 : _a.updateOpen(false);
693
+ };
694
+ TuiMultiSelectComponent.prototype.updateSearch = function (search) {
695
+ if (this.search === search) {
696
+ return;
697
+ }
698
+ this.search = search;
699
+ this.searchChange.emit(search);
700
+ };
701
+ return TuiMultiSelectComponent;
702
+ }(i3.AbstractTuiMultipleControl));
703
+ TuiMultiSelectComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TuiMultiSelectComponent, deps: [{ token: i4.NgControl, optional: true, self: true }, { token: i0.ChangeDetectorRef }, { token: arrow.TUI_ARROW_MODE }, { token: tokens.TUI_ITEMS_HANDLERS }, { token: TUI_MULTI_SELECT_OPTIONS }, { token: i1.TUI_TEXTFIELD_WATCHED_CONTROLLER }, { token: i3.TUI_IS_MOBILE }], target: i0__namespace.ɵɵFactoryTarget.Component });
704
+ TuiMultiSelectComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiMultiSelectComponent, selector: "tui-multi-select", inputs: { stringify: "stringify", identityMatcher: "identityMatcher", expandable: "expandable", search: "search", placeholder: "placeholder", editable: "editable", disabledItemHandler: "disabledItemHandler", valueContent: "valueContent", tagValidator: "tagValidator", rows: "rows" }, outputs: { searchChange: "searchChange" }, host: { properties: { "class._editable": "this.editable", "attr.data-size": "this.size" } }, providers: [
705
+ i3.tuiAsFocusableItemAccessor(TuiMultiSelectComponent),
706
+ i3.tuiAsControl(TuiMultiSelectComponent),
707
+ i1.tuiAsDataListHost(TuiMultiSelectComponent),
708
+ i1.TEXTFIELD_CONTROLLER_PROVIDER,
709
+ ], queries: [{ propertyName: "accessor", first: true, predicate: i1.TUI_DATA_LIST_ACCESSOR, descendants: true }, { propertyName: "nativeSelect", first: true, predicate: AbstractTuiNativeMultiSelect, descendants: true, static: true }, { propertyName: "datalist", first: true, predicate: i1.TuiDataListDirective, descendants: true, read: i0.TemplateRef }], viewQueries: [{ propertyName: "hostedDropdown", first: true, predicate: i1.TuiHostedDropdownComponent, descendants: true }, { propertyName: "input", first: true, predicate: i2.TuiInputTagComponent, descendants: true }], usesInheritance: true, ngImport: i0__namespace, template: "<tui-hosted-dropdown\n class=\"t-hosted\"\n [canOpen]=\"interactive && !nativeDropdownMode\"\n [content]=\"datalist || ''\"\n [(open)]=\"open\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n>\n <tui-input-tag\n #inputTag\n automation-id=\"tui-multi-select__input\"\n class=\"t-input\"\n [disabled]=\"disabled\"\n [disabledItemHandler]=\"disabledItemHandler | tuiMapper: disabledItemHandlerWrapper\"\n [editable]=\"false\"\n [expandable]=\"expandable\"\n [inputHidden]=\"!editable\"\n [nativeId]=\"nativeId\"\n [ngModel]=\"computedValue | tuiMapper: valueMapper : stringify\"\n [placeholder]=\"placeholder\"\n [pseudoFocus]=\"computedFocused\"\n [pseudoHover]=\"pseudoHover\"\n [pseudoInvalid]=\"computedInvalid\"\n [readOnly]=\"readOnly\"\n [removable]=\"!nativeDropdownMode\"\n [rows]=\"rows\"\n [search]=\"searchOrSpace\"\n [tagValidator]=\"tagValidator | tuiMapper: disabledItemHandlerWrapper\"\n [tuiTextfieldIcon]=\"arrow ? icon : ''\"\n (click.prevent)=\"onClick(inputTag)\"\n (keydown.enter)=\"onEnter($event)\"\n (keydown.space)=\"onSpace($event)\"\n (ngModelChange)=\"onInput($event)\"\n (searchChange)=\"onSearch($event)\"\n >\n <ng-content></ng-content>\n <ng-template #select>\n <ng-content\n *ngIf=\"isMobile\"\n select=\"select\"\n ></ng-content>\n </ng-template>\n\n <ng-container\n *ngTemplateOutlet=\"select\"\n ngProjectAs=\"select\"\n ></ng-container>\n\n <div\n *ngIf=\"computedGroup\"\n ngProjectAs=\"tuiContent\"\n class=\"t-content\"\n [class.t-content_fullsize]=\"inputTag.labelOutside\"\n >\n <span\n *polymorpheusOutlet=\"valueContent as text; context: {$implicit: value}\"\n class=\"t-primitive\"\n >\n {{ text }}\n </span>\n </div>\n </tui-input-tag>\n\n <ng-template #icon>\n <div\n appearance=\"icon\"\n automation-id=\"tui-multi-select__arrow\"\n tuiPreventDefault=\"mousedown\"\n tuiWrapper\n class=\"t-arrow\"\n [class.t-arrow_native-dropdown]=\"nativeDropdownMode\"\n >\n <ng-container *polymorpheusOutlet=\"arrow as text\">\n {{ text }}\n </ng-container>\n </div>\n </ng-template>\n</tui-hosted-dropdown>\n", styles: [":host{position:relative;display:block;border-radius:var(--tui-radius-m)}:host._disabled{pointer-events:none}.t-hosted{display:block;border-radius:inherit}.t-input{border-radius:inherit}:host:not(._editable):not(._readonly) .t-input{cursor:pointer}.t-content{display:flex;align-items:center;pointer-events:none;box-sizing:border-box}.t-primitive{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.t-arrow{pointer-events:auto;cursor:pointer}.t-arrow_native-dropdown{pointer-events:none}\n"], components: [{ type: i1__namespace.TuiHostedDropdownComponent, selector: "tui-hosted-dropdown", inputs: ["content", "sided", "canOpen", "open"], outputs: ["openChange", "focusedChange"] }, { type: i2__namespace.TuiInputTagComponent, selector: "tui-input-tag", inputs: ["separator", "search", "editable", "tagValidator", "expandable", "rows", "inputHidden", "uniqueTags", "maxLength", "placeholder", "removable", "disabledItemHandler", "pseudoFocused"], outputs: ["searchChange"] }], directives: [{ type: i3__namespace.TuiActiveZoneDirective, selector: "[tuiActiveZone]:not(ng-container), [tuiActiveZoneChange]:not(ng-container), [tuiActiveZoneParent]:not(ng-container)", inputs: ["tuiActiveZoneParent"], outputs: ["tuiActiveZoneChange"], exportAs: ["tuiActiveZone"] }, { type: i4__namespace.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4__namespace.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i1__namespace.TuiTextfieldIconDirective, selector: "[tuiTextfieldIcon]", inputs: ["tuiTextfieldIcon"] }, { type: i2__namespace$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2__namespace$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i6__namespace.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { type: i3__namespace.TuiPreventDefaultDirective, selector: "[tuiPreventDefault]", inputs: ["tuiPreventDefault"] }, { type: i1__namespace.TuiWrapperDirective, selector: "[tuiWrapper]", inputs: ["disabled", "readOnly", "hover", "active", "focus", "invalid", "appearance"] }], pipes: { "tuiMapper": i3__namespace.TuiMapperPipe }, viewProviders: [providers.FIXED_DROPDOWN_CONTROLLER_PROVIDER], changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
710
+ __decorate([
711
+ i3.tuiPure
712
+ ], TuiMultiSelectComponent.prototype, "getStringifier", null);
713
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TuiMultiSelectComponent, decorators: [{
714
+ type: i0.Component,
715
+ args: [{
716
+ selector: 'tui-multi-select',
717
+ templateUrl: './multi-select.template.html',
718
+ styleUrls: ['./multi-select.style.less'],
719
+ changeDetection: i0.ChangeDetectionStrategy.OnPush,
720
+ providers: [
721
+ i3.tuiAsFocusableItemAccessor(TuiMultiSelectComponent),
722
+ i3.tuiAsControl(TuiMultiSelectComponent),
723
+ i1.tuiAsDataListHost(TuiMultiSelectComponent),
724
+ i1.TEXTFIELD_CONTROLLER_PROVIDER,
725
+ ],
726
+ viewProviders: [providers.FIXED_DROPDOWN_CONTROLLER_PROVIDER],
727
+ }]
728
+ }], ctorParameters: function () {
729
+ return [{ type: i4__namespace.NgControl, decorators: [{
730
+ type: i0.Optional
731
+ }, {
732
+ type: i0.Self
733
+ }, {
734
+ type: i0.Inject,
735
+ args: [i4.NgControl]
736
+ }] }, { type: i0__namespace.ChangeDetectorRef, decorators: [{
737
+ type: i0.Inject,
738
+ args: [i0.ChangeDetectorRef]
739
+ }] }, { type: undefined, decorators: [{
740
+ type: i0.Inject,
741
+ args: [arrow.TUI_ARROW_MODE]
742
+ }] }, { type: undefined, decorators: [{
743
+ type: i0.Inject,
744
+ args: [tokens.TUI_ITEMS_HANDLERS]
745
+ }] }, { type: undefined, decorators: [{
746
+ type: i0.Inject,
747
+ args: [TUI_MULTI_SELECT_OPTIONS]
748
+ }] }, { type: i1__namespace.TuiTextfieldController, decorators: [{
749
+ type: i0.Inject,
750
+ args: [i1.TUI_TEXTFIELD_WATCHED_CONTROLLER]
751
+ }] }, { type: undefined, decorators: [{
752
+ type: i0.Inject,
753
+ args: [i3.TUI_IS_MOBILE]
754
+ }] }];
755
+ }, propDecorators: { accessor: [{
756
+ type: i0.ContentChild,
757
+ args: [i1.TUI_DATA_LIST_ACCESSOR]
758
+ }], nativeSelect: [{
759
+ type: i0.ContentChild,
760
+ args: [AbstractTuiNativeMultiSelect, { static: true }]
761
+ }], hostedDropdown: [{
762
+ type: i0.ViewChild,
763
+ args: [i1.TuiHostedDropdownComponent]
764
+ }], input: [{
765
+ type: i0.ViewChild,
766
+ args: [i2.TuiInputTagComponent]
767
+ }], stringify: [{
768
+ type: i0.Input
769
+ }], identityMatcher: [{
770
+ type: i0.Input
771
+ }], expandable: [{
772
+ type: i0.Input
773
+ }], search: [{
774
+ type: i0.Input
775
+ }], placeholder: [{
776
+ type: i0.Input
777
+ }], editable: [{
778
+ type: i0.Input
779
+ }, {
780
+ type: i0.HostBinding,
781
+ args: ['class._editable']
782
+ }], disabledItemHandler: [{
783
+ type: i0.Input
784
+ }], valueContent: [{
785
+ type: i0.Input
786
+ }], tagValidator: [{
787
+ type: i0.Input
788
+ }], rows: [{
789
+ type: i0.Input
790
+ }], searchChange: [{
791
+ type: i0.Output
792
+ }], datalist: [{
793
+ type: i0.ContentChild,
794
+ args: [i1.TuiDataListDirective, { read: i0.TemplateRef }]
795
+ }], size: [{
796
+ type: i0.HostBinding,
797
+ args: ['attr.data-size']
798
+ }], getStringifier: [] } });
653
799
 
654
- var TuiHideSelectedPipe = /** @class */ (function () {
655
- function TuiHideSelectedPipe(component) {
656
- this.component = component;
657
- }
658
- TuiHideSelectedPipe.prototype.transform = function (items) {
659
- var _a = this.component, value = _a.value, identityMatcher = _a.identityMatcher;
660
- if (!items) {
661
- return null;
662
- }
663
- return utils.tuiIsFlat(items)
664
- ? this.filter(items, value, identityMatcher)
665
- : this.filter2d(items, value, identityMatcher);
666
- };
667
- TuiHideSelectedPipe.prototype.filter2d = function (items, value, matcher) {
668
- var _this = this;
669
- return items.map(function (subItems) { return _this.filter(subItems, value, matcher); });
670
- };
671
- TuiHideSelectedPipe.prototype.filter = function (items, value, matcher) {
672
- return items.filter(function (item) { return value.every(function (selected) { return !matcher(selected, item); }); });
673
- };
674
- return TuiHideSelectedPipe;
675
- }());
676
- TuiHideSelectedPipe.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TuiHideSelectedPipe, deps: [{ token: TuiMultiSelectComponent }], target: i0__namespace.ɵɵFactoryTarget.Pipe });
677
- TuiHideSelectedPipe.ɵpipe = i0__namespace.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TuiHideSelectedPipe, name: "tuiHideSelected", pure: false });
678
- __decorate([
679
- i3.tuiPure
680
- ], TuiHideSelectedPipe.prototype, "filter2d", null);
681
- __decorate([
682
- i3.tuiPure
683
- ], TuiHideSelectedPipe.prototype, "filter", null);
684
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TuiHideSelectedPipe, decorators: [{
685
- type: i0.Pipe,
686
- args: [{
687
- name: "tuiHideSelected",
688
- pure: false,
689
- }]
690
- }], ctorParameters: function () {
691
- return [{ type: TuiMultiSelectComponent, decorators: [{
692
- type: i0.Inject,
693
- args: [TuiMultiSelectComponent]
694
- }] }];
695
- }, propDecorators: { filter2d: [], filter: [] } });
800
+ var TuiHideSelectedPipe = /** @class */ (function () {
801
+ function TuiHideSelectedPipe(component) {
802
+ this.component = component;
803
+ }
804
+ TuiHideSelectedPipe.prototype.transform = function (items) {
805
+ var _a = this.component, value = _a.value, identityMatcher = _a.identityMatcher;
806
+ if (!items) {
807
+ return null;
808
+ }
809
+ return utils.tuiIsFlat(items)
810
+ ? this.filter(items, value, identityMatcher)
811
+ : this.filter2d(items, value, identityMatcher);
812
+ };
813
+ TuiHideSelectedPipe.prototype.filter2d = function (items, value, matcher) {
814
+ var _this = this;
815
+ return items.map(function (subItems) { return _this.filter(subItems, value, matcher); });
816
+ };
817
+ TuiHideSelectedPipe.prototype.filter = function (items, value, matcher) {
818
+ return items.filter(function (item) { return value.every(function (selected) { return !matcher(selected, item); }); });
819
+ };
820
+ return TuiHideSelectedPipe;
821
+ }());
822
+ TuiHideSelectedPipe.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TuiHideSelectedPipe, deps: [{ token: TuiMultiSelectComponent }], target: i0__namespace.ɵɵFactoryTarget.Pipe });
823
+ TuiHideSelectedPipe.ɵpipe = i0__namespace.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TuiHideSelectedPipe, name: "tuiHideSelected", pure: false });
824
+ __decorate([
825
+ i3.tuiPure
826
+ ], TuiHideSelectedPipe.prototype, "filter2d", null);
827
+ __decorate([
828
+ i3.tuiPure
829
+ ], TuiHideSelectedPipe.prototype, "filter", null);
830
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TuiHideSelectedPipe, decorators: [{
831
+ type: i0.Pipe,
832
+ args: [{
833
+ name: "tuiHideSelected",
834
+ pure: false,
835
+ }]
836
+ }], ctorParameters: function () {
837
+ return [{ type: TuiMultiSelectComponent, decorators: [{
838
+ type: i0.Inject,
839
+ args: [TuiMultiSelectComponent]
840
+ }] }];
841
+ }, propDecorators: { filter2d: [], filter: [] } });
696
842
 
697
- var TuiMultiSelectDirective = /** @class */ (function (_super) {
698
- __extends(TuiMultiSelectDirective, _super);
699
- function TuiMultiSelectDirective() {
700
- var _this = _super.apply(this, __spreadArray([], __read(arguments))) || this;
701
- _this.disableItemHandler = function (item) { return _this.host.disabledItemHandler(item); };
702
- return _this;
703
- }
704
- Object.defineProperty(TuiMultiSelectDirective.prototype, "readOnly", {
705
- get: function () {
706
- return true;
707
- },
708
- enumerable: false,
709
- configurable: true
710
- });
711
- TuiMultiSelectDirective.prototype.onValueChange = function () { };
712
- Object.defineProperty(TuiMultiSelectDirective.prototype, "stringify", {
713
- get: function () {
714
- return this.host.stringify;
715
- },
716
- enumerable: false,
717
- configurable: true
718
- });
719
- TuiMultiSelectDirective.prototype.onSelectionChange = function (value) {
720
- this.host.onValueChange(value);
721
- };
722
- return TuiMultiSelectDirective;
723
- }(i1.AbstractTuiTextfieldHost));
724
- TuiMultiSelectDirective.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TuiMultiSelectDirective, deps: null, target: i0__namespace.ɵɵFactoryTarget.Directive });
725
- TuiMultiSelectDirective.ɵdir = i0__namespace.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: TuiMultiSelectDirective, selector: "tui-multi-select", providers: [i1.tuiAsTextfieldHost(TuiMultiSelectDirective)], usesInheritance: true, ngImport: i0__namespace });
726
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TuiMultiSelectDirective, decorators: [{
727
- type: i0.Directive,
728
- args: [{
729
- selector: 'tui-multi-select',
730
- providers: [i1.tuiAsTextfieldHost(TuiMultiSelectDirective)],
731
- }]
732
- }] });
843
+ var TuiMultiSelectDirective = /** @class */ (function (_super) {
844
+ __extends(TuiMultiSelectDirective, _super);
845
+ function TuiMultiSelectDirective() {
846
+ var _this = _super.apply(this, __spreadArray([], __read(arguments))) || this;
847
+ _this.disableItemHandler = function (item) { return _this.host.disabledItemHandler(item); };
848
+ return _this;
849
+ }
850
+ Object.defineProperty(TuiMultiSelectDirective.prototype, "readOnly", {
851
+ get: function () {
852
+ return true;
853
+ },
854
+ enumerable: false,
855
+ configurable: true
856
+ });
857
+ TuiMultiSelectDirective.prototype.onValueChange = function () { };
858
+ Object.defineProperty(TuiMultiSelectDirective.prototype, "stringify", {
859
+ get: function () {
860
+ return this.host.stringify;
861
+ },
862
+ enumerable: false,
863
+ configurable: true
864
+ });
865
+ TuiMultiSelectDirective.prototype.onSelectionChange = function (value) {
866
+ this.host.onValueChange(value);
867
+ };
868
+ return TuiMultiSelectDirective;
869
+ }(i1.AbstractTuiTextfieldHost));
870
+ TuiMultiSelectDirective.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TuiMultiSelectDirective, deps: null, target: i0__namespace.ɵɵFactoryTarget.Directive });
871
+ TuiMultiSelectDirective.ɵdir = i0__namespace.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: TuiMultiSelectDirective, selector: "tui-multi-select", providers: [i1.tuiAsTextfieldHost(TuiMultiSelectDirective)], usesInheritance: true, ngImport: i0__namespace });
872
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TuiMultiSelectDirective, decorators: [{
873
+ type: i0.Directive,
874
+ args: [{
875
+ selector: 'tui-multi-select',
876
+ providers: [i1.tuiAsTextfieldHost(TuiMultiSelectDirective)],
877
+ }]
878
+ }] });
733
879
 
734
- var TuiMultiSelectGroupComponent = /** @class */ (function () {
735
- function TuiMultiSelectGroupComponent(multiSelectTexts$, host, control) {
736
- this.multiSelectTexts$ = multiSelectTexts$;
737
- this.host = host;
738
- this.control = control;
739
- this.options = i3.EMPTY_QUERY;
740
- this.label = '';
741
- }
742
- Object.defineProperty(TuiMultiSelectGroupComponent.prototype, "size", {
743
- get: function () {
744
- var _a;
745
- return ((_a = this.options.first) === null || _a === void 0 ? void 0 : _a.size) || 'm';
746
- },
747
- enumerable: false,
748
- configurable: true
749
- });
750
- Object.defineProperty(TuiMultiSelectGroupComponent.prototype, "empty$", {
751
- get: function () {
752
- return i3.tuiQueryListChanges(this.options).pipe(operators.map(function (_b) {
753
- var length = _b.length;
754
- return !length;
755
- }));
756
- },
757
- enumerable: false,
758
- configurable: true
759
- });
760
- Object.defineProperty(TuiMultiSelectGroupComponent.prototype, "disabled$", {
761
- get: function () {
762
- return i3.tuiQueryListChanges(this.options).pipe(operators.map(function (items) { return items.every(function (_b) {
763
- var disabled = _b.disabled;
764
- return disabled;
765
- }); }));
766
- },
767
- enumerable: false,
768
- configurable: true
769
- });
770
- Object.defineProperty(TuiMultiSelectGroupComponent.prototype, "value$", {
771
- get: function () {
772
- var _this = this;
773
- return rxjs.combineLatest([this.items$, this.valueChanges$]).pipe(operators.map(function (_b) {
774
- var _c = __read(_b, 2), items = _c[0], current = _c[1];
775
- var result = false;
776
- var _loop_1 = function (i) {
777
- var selected = current.some(function (selected) { return _this.matcher(selected, items[i]); });
778
- if ((!selected && result) || (selected && !result && i)) {
779
- return { value: null };
780
- }
781
- result = selected;
782
- };
783
- for (var i = 0; i < items.length; i++) {
784
- var state_1 = _loop_1(i);
785
- if (typeof state_1 === "object")
786
- return state_1.value;
787
- }
788
- return result;
789
- }));
790
- },
791
- enumerable: false,
792
- configurable: true
793
- });
794
- TuiMultiSelectGroupComponent.prototype.onClick = function (checked) {
795
- var _this = this;
796
- if (!this.control.control) {
797
- return;
798
- }
799
- var controlValue = this.control.value || [];
800
- var values = this.values;
801
- var filtered = controlValue.filter(function (current) { return values.every(function (item) { return !_this.matcher(current, item); }); });
802
- this.control.control.setValue(checked ? filtered : __spreadArray(__spreadArray([], __read(filtered)), __read(values)));
803
- };
804
- Object.defineProperty(TuiMultiSelectGroupComponent.prototype, "values", {
805
- get: function () {
806
- return this.filter(i3.tuiGetOriginalArrayFromQueryList(this.options));
807
- },
808
- enumerable: false,
809
- configurable: true
810
- });
811
- Object.defineProperty(TuiMultiSelectGroupComponent.prototype, "matcher", {
812
- get: function () {
813
- return this.host.identityMatcher || i3.TUI_DEFAULT_IDENTITY_MATCHER;
814
- },
815
- enumerable: false,
816
- configurable: true
817
- });
818
- Object.defineProperty(TuiMultiSelectGroupComponent.prototype, "items$", {
819
- get: function () {
820
- return i3.tuiQueryListChanges(this.options).pipe(operators.map(function (options) { return options.map(function (_b) {
821
- var value = _b.value;
822
- return value;
823
- }).filter(i3.tuiIsPresent); }));
824
- },
825
- enumerable: false,
826
- configurable: true
827
- });
828
- Object.defineProperty(TuiMultiSelectGroupComponent.prototype, "valueChanges$", {
829
- get: function () {
830
- return i3.tuiControlValue(this.control).pipe(operators.map(function (value) { return value || []; }));
831
- },
832
- enumerable: false,
833
- configurable: true
834
- });
835
- TuiMultiSelectGroupComponent.prototype.filter = function (items) {
836
- return items.map(function (_b) {
837
- var value = _b.value;
838
- return value;
839
- }).filter(i3.tuiIsPresent);
840
- };
841
- return TuiMultiSelectGroupComponent;
842
- }());
843
- TuiMultiSelectGroupComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TuiMultiSelectGroupComponent, deps: [{ token: tokens.TUI_MULTI_SELECT_TEXTS }, { token: i1.TUI_DATA_LIST_HOST }, { token: i4.NgControl }], target: i0__namespace.ɵɵFactoryTarget.Component });
844
- TuiMultiSelectGroupComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiMultiSelectGroupComponent, selector: "tui-opt-group[tuiMultiSelectGroup]", inputs: { label: "label" }, host: { properties: { "class._label": "this.label" } }, queries: [{ propertyName: "options", predicate: i1.TuiOptionComponent }], ngImport: i0__namespace, template: "<span\n *tuiLet=\"value$ | async as value\"\n class=\"t-wrapper\"\n>\n <span class=\"t-label\">{{ label }}</span>\n <button\n *ngIf=\"label && !(empty$ | async)\"\n tuiLink\n type=\"button\"\n class=\"t-button\"\n [disabled]=\"!!(disabled$ | async)\"\n (click)=\"onClick(value)\"\n >\n {{ (multiSelectTexts$ | async)?.[value ? 'none' : 'all'] }}\n </button>\n</span>\n<ng-content></ng-content>\n", styles: [":host._label:before{display:none}:host:not(:first-of-type) .t-label:not(:empty){padding-top:1.25rem}:host:not(:first-of-type) .t-button{margin-top:1.25rem}.t-wrapper{display:flex;align-items:flex-start}.t-label:not(:empty){flex:1;padding:.75rem 1rem .25rem .625rem}.t-button{margin:.75rem 1rem 0 auto}\n"], components: [{ type: i1__namespace.TuiLinkComponent, selector: "a[tuiLink], button[tuiLink]", inputs: ["pseudo", "icon", "iconAlign", "iconRotated", "mode"], exportAs: ["tuiLink"] }], directives: [{ type: i3__namespace.TuiLetDirective, selector: "[tuiLet]", inputs: ["tuiLet"] }, { type: i2__namespace$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i2__namespace$1.AsyncPipe }, changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
845
- __decorate([
846
- i3.tuiPure
847
- ], TuiMultiSelectGroupComponent.prototype, "empty$", null);
848
- __decorate([
849
- i3.tuiPure
850
- ], TuiMultiSelectGroupComponent.prototype, "disabled$", null);
851
- __decorate([
852
- i3.tuiPure
853
- ], TuiMultiSelectGroupComponent.prototype, "value$", null);
854
- __decorate([
855
- i3.tuiPure
856
- ], TuiMultiSelectGroupComponent.prototype, "items$", null);
857
- __decorate([
858
- i3.tuiPure
859
- ], TuiMultiSelectGroupComponent.prototype, "valueChanges$", null);
860
- __decorate([
861
- i3.tuiPure
862
- ], TuiMultiSelectGroupComponent.prototype, "filter", null);
863
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TuiMultiSelectGroupComponent, decorators: [{
864
- type: i0.Component,
865
- args: [{
866
- selector: 'tui-opt-group[tuiMultiSelectGroup]',
867
- templateUrl: './multi-select-group.template.html',
868
- styleUrls: ['./multi-select-group.style.less'],
869
- changeDetection: i0.ChangeDetectionStrategy.OnPush,
870
- }]
871
- }], ctorParameters: function () {
872
- return [{ type: undefined, decorators: [{
873
- type: i0.Inject,
874
- args: [tokens.TUI_MULTI_SELECT_TEXTS]
875
- }] }, { type: undefined, decorators: [{
876
- type: i0.Inject,
877
- args: [i1.TUI_DATA_LIST_HOST]
878
- }] }, { type: i4__namespace.NgControl, decorators: [{
879
- type: i0.Inject,
880
- args: [i4.NgControl]
881
- }] }];
882
- }, propDecorators: { options: [{
883
- type: i0.ContentChildren,
884
- args: [i1.TuiOptionComponent]
885
- }], label: [{
886
- type: i0.HostBinding,
887
- args: ['class._label']
888
- }, {
889
- type: i0.Input
890
- }], empty$: [], disabled$: [], value$: [], items$: [], valueChanges$: [], filter: [] } });
880
+ var TuiMultiSelectGroupComponent = /** @class */ (function () {
881
+ function TuiMultiSelectGroupComponent(multiSelectTexts$, host, control) {
882
+ this.multiSelectTexts$ = multiSelectTexts$;
883
+ this.host = host;
884
+ this.control = control;
885
+ this.options = i3.EMPTY_QUERY;
886
+ this.label = '';
887
+ }
888
+ Object.defineProperty(TuiMultiSelectGroupComponent.prototype, "size", {
889
+ get: function () {
890
+ var _a;
891
+ return ((_a = this.options.first) === null || _a === void 0 ? void 0 : _a.size) || 'm';
892
+ },
893
+ enumerable: false,
894
+ configurable: true
895
+ });
896
+ Object.defineProperty(TuiMultiSelectGroupComponent.prototype, "empty$", {
897
+ get: function () {
898
+ return i3.tuiQueryListChanges(this.options).pipe(operators.map(function (_b) {
899
+ var length = _b.length;
900
+ return !length;
901
+ }));
902
+ },
903
+ enumerable: false,
904
+ configurable: true
905
+ });
906
+ Object.defineProperty(TuiMultiSelectGroupComponent.prototype, "disabled$", {
907
+ get: function () {
908
+ return i3.tuiQueryListChanges(this.options).pipe(operators.map(function (items) { return items.every(function (_b) {
909
+ var disabled = _b.disabled;
910
+ return disabled;
911
+ }); }));
912
+ },
913
+ enumerable: false,
914
+ configurable: true
915
+ });
916
+ Object.defineProperty(TuiMultiSelectGroupComponent.prototype, "value$", {
917
+ get: function () {
918
+ var _this = this;
919
+ return rxjs.combineLatest([this.items$, this.valueChanges$]).pipe(operators.map(function (_b) {
920
+ var _c = __read(_b, 2), items = _c[0], current = _c[1];
921
+ var result = false;
922
+ var _loop_1 = function (i) {
923
+ var selected = current.some(function (selected) { return _this.matcher(selected, items[i]); });
924
+ if ((!selected && result) || (selected && !result && i)) {
925
+ return { value: null };
926
+ }
927
+ result = selected;
928
+ };
929
+ for (var i = 0; i < items.length; i++) {
930
+ var state_1 = _loop_1(i);
931
+ if (typeof state_1 === "object")
932
+ return state_1.value;
933
+ }
934
+ return result;
935
+ }));
936
+ },
937
+ enumerable: false,
938
+ configurable: true
939
+ });
940
+ TuiMultiSelectGroupComponent.prototype.onClick = function (checked) {
941
+ var _this = this;
942
+ if (!this.control.control) {
943
+ return;
944
+ }
945
+ var controlValue = this.control.value || [];
946
+ var values = this.values;
947
+ var filtered = controlValue.filter(function (current) { return values.every(function (item) { return !_this.matcher(current, item); }); });
948
+ this.control.control.setValue(checked ? filtered : __spreadArray(__spreadArray([], __read(filtered)), __read(values)));
949
+ };
950
+ Object.defineProperty(TuiMultiSelectGroupComponent.prototype, "values", {
951
+ get: function () {
952
+ return this.filter(i3.tuiGetOriginalArrayFromQueryList(this.options));
953
+ },
954
+ enumerable: false,
955
+ configurable: true
956
+ });
957
+ Object.defineProperty(TuiMultiSelectGroupComponent.prototype, "matcher", {
958
+ get: function () {
959
+ return this.host.identityMatcher || i3.TUI_DEFAULT_IDENTITY_MATCHER;
960
+ },
961
+ enumerable: false,
962
+ configurable: true
963
+ });
964
+ Object.defineProperty(TuiMultiSelectGroupComponent.prototype, "items$", {
965
+ get: function () {
966
+ return i3.tuiQueryListChanges(this.options).pipe(operators.map(function (options) { return options.map(function (_b) {
967
+ var value = _b.value;
968
+ return value;
969
+ }).filter(i3.tuiIsPresent); }));
970
+ },
971
+ enumerable: false,
972
+ configurable: true
973
+ });
974
+ Object.defineProperty(TuiMultiSelectGroupComponent.prototype, "valueChanges$", {
975
+ get: function () {
976
+ return i3.tuiControlValue(this.control).pipe(operators.map(function (value) { return value || []; }));
977
+ },
978
+ enumerable: false,
979
+ configurable: true
980
+ });
981
+ TuiMultiSelectGroupComponent.prototype.filter = function (items) {
982
+ return items.map(function (_b) {
983
+ var value = _b.value;
984
+ return value;
985
+ }).filter(i3.tuiIsPresent);
986
+ };
987
+ return TuiMultiSelectGroupComponent;
988
+ }());
989
+ TuiMultiSelectGroupComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TuiMultiSelectGroupComponent, deps: [{ token: tokens.TUI_MULTI_SELECT_TEXTS }, { token: i1.TUI_DATA_LIST_HOST }, { token: i4.NgControl }], target: i0__namespace.ɵɵFactoryTarget.Component });
990
+ TuiMultiSelectGroupComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiMultiSelectGroupComponent, selector: "tui-opt-group[tuiMultiSelectGroup]", inputs: { label: "label" }, host: { properties: { "class._label": "this.label" } }, queries: [{ propertyName: "options", predicate: i1.TuiOptionComponent }], ngImport: i0__namespace, template: "<span\n *tuiLet=\"value$ | async as value\"\n class=\"t-wrapper\"\n>\n <span class=\"t-label\">{{ label }}</span>\n <button\n *ngIf=\"label && !(empty$ | async)\"\n tuiLink\n type=\"button\"\n class=\"t-button\"\n [disabled]=\"!!(disabled$ | async)\"\n (click)=\"onClick(value)\"\n >\n {{ (multiSelectTexts$ | async)?.[value ? 'none' : 'all'] }}\n </button>\n</span>\n<ng-content></ng-content>\n", styles: [":host._label:before{display:none}:host:not(:first-of-type) .t-label:not(:empty){padding-top:1.25rem}:host:not(:first-of-type) .t-button{margin-top:1.25rem}.t-wrapper{display:flex;align-items:flex-start}.t-label:not(:empty){flex:1;padding:.75rem 1rem .25rem .625rem}.t-button{margin:.75rem 1rem 0 auto}\n"], components: [{ type: i1__namespace.TuiLinkComponent, selector: "a[tuiLink], button[tuiLink]", inputs: ["pseudo", "icon", "iconAlign", "iconRotated", "mode"], exportAs: ["tuiLink"] }], directives: [{ type: i3__namespace.TuiLetDirective, selector: "[tuiLet]", inputs: ["tuiLet"] }, { type: i2__namespace$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i2__namespace$1.AsyncPipe }, changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
991
+ __decorate([
992
+ i3.tuiPure
993
+ ], TuiMultiSelectGroupComponent.prototype, "empty$", null);
994
+ __decorate([
995
+ i3.tuiPure
996
+ ], TuiMultiSelectGroupComponent.prototype, "disabled$", null);
997
+ __decorate([
998
+ i3.tuiPure
999
+ ], TuiMultiSelectGroupComponent.prototype, "value$", null);
1000
+ __decorate([
1001
+ i3.tuiPure
1002
+ ], TuiMultiSelectGroupComponent.prototype, "items$", null);
1003
+ __decorate([
1004
+ i3.tuiPure
1005
+ ], TuiMultiSelectGroupComponent.prototype, "valueChanges$", null);
1006
+ __decorate([
1007
+ i3.tuiPure
1008
+ ], TuiMultiSelectGroupComponent.prototype, "filter", null);
1009
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TuiMultiSelectGroupComponent, decorators: [{
1010
+ type: i0.Component,
1011
+ args: [{
1012
+ selector: 'tui-opt-group[tuiMultiSelectGroup]',
1013
+ templateUrl: './multi-select-group.template.html',
1014
+ styleUrls: ['./multi-select-group.style.less'],
1015
+ changeDetection: i0.ChangeDetectionStrategy.OnPush,
1016
+ }]
1017
+ }], ctorParameters: function () {
1018
+ return [{ type: undefined, decorators: [{
1019
+ type: i0.Inject,
1020
+ args: [tokens.TUI_MULTI_SELECT_TEXTS]
1021
+ }] }, { type: undefined, decorators: [{
1022
+ type: i0.Inject,
1023
+ args: [i1.TUI_DATA_LIST_HOST]
1024
+ }] }, { type: i4__namespace.NgControl, decorators: [{
1025
+ type: i0.Inject,
1026
+ args: [i4.NgControl]
1027
+ }] }];
1028
+ }, propDecorators: { options: [{
1029
+ type: i0.ContentChildren,
1030
+ args: [i1.TuiOptionComponent]
1031
+ }], label: [{
1032
+ type: i0.HostBinding,
1033
+ args: ['class._label']
1034
+ }, {
1035
+ type: i0.Input
1036
+ }], empty$: [], disabled$: [], value$: [], items$: [], valueChanges$: [], filter: [] } });
891
1037
 
892
- var TUI_MULTI_SELECT_OPTION = new i6.PolymorpheusComponent(multiSelectOption.TuiMultiSelectOptionComponent);
893
- var TuiMultiSelectGroupDirective = /** @class */ (function () {
894
- function TuiMultiSelectGroupDirective() {
895
- }
896
- return TuiMultiSelectGroupDirective;
897
- }());
898
- TuiMultiSelectGroupDirective.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TuiMultiSelectGroupDirective, deps: [], target: i0__namespace.ɵɵFactoryTarget.Directive });
899
- TuiMultiSelectGroupDirective.ɵdir = i0__namespace.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: TuiMultiSelectGroupDirective, selector: "[tuiMultiSelectGroup]", providers: [
900
- i1.tuiAsOptionContent(TUI_MULTI_SELECT_OPTION),
901
- {
902
- provide: i1.TUI_DATA_LIST_HOST,
903
- deps: [
904
- i4.NgControl,
905
- [new i0.Optional(), i0.forwardRef(function () { return TuiMultiSelectComponent; })],
906
- ],
907
- useFactory: function (control, host) { return host || {
908
- handleOption: function (option) {
909
- var _a;
910
- return (_a = control.control) === null || _a === void 0 ? void 0 : _a.setValue(i3.tuiArrayToggle(control.value || [], option));
911
- },
912
- }; },
913
- },
914
- {
915
- provide: i4.NG_VALUE_ACCESSOR,
916
- multi: true,
917
- useValue: {
918
- writeValue: i3.EMPTY_FUNCTION,
919
- registerOnChange: i3.EMPTY_FUNCTION,
920
- registerOnTouched: i3.EMPTY_FUNCTION,
921
- },
922
- },
923
- ], ngImport: i0__namespace });
924
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TuiMultiSelectGroupDirective, decorators: [{
925
- type: i0.Directive,
926
- args: [{
927
- selector: '[tuiMultiSelectGroup]',
928
- providers: [
929
- i1.tuiAsOptionContent(TUI_MULTI_SELECT_OPTION),
930
- {
931
- provide: i1.TUI_DATA_LIST_HOST,
932
- deps: [
933
- i4.NgControl,
934
- [new i0.Optional(), i0.forwardRef(function () { return TuiMultiSelectComponent; })],
935
- ],
936
- useFactory: function (control, host) { return host || {
937
- handleOption: function (option) {
938
- var _a;
939
- return (_a = control.control) === null || _a === void 0 ? void 0 : _a.setValue(i3.tuiArrayToggle(control.value || [], option));
940
- },
941
- }; },
942
- },
943
- {
944
- provide: i4.NG_VALUE_ACCESSOR,
945
- multi: true,
946
- useValue: {
947
- writeValue: i3.EMPTY_FUNCTION,
948
- registerOnChange: i3.EMPTY_FUNCTION,
949
- registerOnTouched: i3.EMPTY_FUNCTION,
950
- },
951
- },
952
- ],
953
- }]
954
- }] });
1038
+ var TUI_MULTI_SELECT_OPTION = new i6.PolymorpheusComponent(multiSelectOption.TuiMultiSelectOptionComponent);
1039
+ var TuiMultiSelectGroupDirective = /** @class */ (function () {
1040
+ function TuiMultiSelectGroupDirective() {
1041
+ }
1042
+ return TuiMultiSelectGroupDirective;
1043
+ }());
1044
+ TuiMultiSelectGroupDirective.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TuiMultiSelectGroupDirective, deps: [], target: i0__namespace.ɵɵFactoryTarget.Directive });
1045
+ TuiMultiSelectGroupDirective.ɵdir = i0__namespace.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: TuiMultiSelectGroupDirective, selector: "[tuiMultiSelectGroup]", providers: [
1046
+ i1.tuiAsOptionContent(TUI_MULTI_SELECT_OPTION),
1047
+ {
1048
+ provide: i1.TUI_DATA_LIST_HOST,
1049
+ deps: [
1050
+ i4.NgControl,
1051
+ [new i0.Optional(), i0.forwardRef(function () { return TuiMultiSelectComponent; })],
1052
+ ],
1053
+ useFactory: function (control, host) { return host || {
1054
+ handleOption: function (option) {
1055
+ var _a;
1056
+ return (_a = control.control) === null || _a === void 0 ? void 0 : _a.setValue(i3.tuiArrayToggle(control.value || [], option));
1057
+ },
1058
+ }; },
1059
+ },
1060
+ {
1061
+ provide: i4.NG_VALUE_ACCESSOR,
1062
+ multi: true,
1063
+ useValue: {
1064
+ writeValue: i3.EMPTY_FUNCTION,
1065
+ registerOnChange: i3.EMPTY_FUNCTION,
1066
+ registerOnTouched: i3.EMPTY_FUNCTION,
1067
+ },
1068
+ },
1069
+ ], ngImport: i0__namespace });
1070
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TuiMultiSelectGroupDirective, decorators: [{
1071
+ type: i0.Directive,
1072
+ args: [{
1073
+ selector: '[tuiMultiSelectGroup]',
1074
+ providers: [
1075
+ i1.tuiAsOptionContent(TUI_MULTI_SELECT_OPTION),
1076
+ {
1077
+ provide: i1.TUI_DATA_LIST_HOST,
1078
+ deps: [
1079
+ i4.NgControl,
1080
+ [new i0.Optional(), i0.forwardRef(function () { return TuiMultiSelectComponent; })],
1081
+ ],
1082
+ useFactory: function (control, host) { return host || {
1083
+ handleOption: function (option) {
1084
+ var _a;
1085
+ return (_a = control.control) === null || _a === void 0 ? void 0 : _a.setValue(i3.tuiArrayToggle(control.value || [], option));
1086
+ },
1087
+ }; },
1088
+ },
1089
+ {
1090
+ provide: i4.NG_VALUE_ACCESSOR,
1091
+ multi: true,
1092
+ useValue: {
1093
+ writeValue: i3.EMPTY_FUNCTION,
1094
+ registerOnChange: i3.EMPTY_FUNCTION,
1095
+ registerOnTouched: i3.EMPTY_FUNCTION,
1096
+ },
1097
+ },
1098
+ ],
1099
+ }]
1100
+ }] });
955
1101
 
956
- var TuiNativeMultiSelectComponent = /** @class */ (function (_super) {
957
- __extends(TuiNativeMultiSelectComponent, _super);
958
- function TuiNativeMultiSelectComponent() {
959
- var _this = _super.apply(this, __spreadArray([], __read(arguments))) || this;
960
- _this.items = [];
961
- return _this;
962
- }
963
- TuiNativeMultiSelectComponent.prototype.onValueChange = function (selectedOptions) {
964
- var _a;
965
- var selected = Array.from(selectedOptions).map(function (option) { return option.index; });
966
- var value = ((_a = this.items) === null || _a === void 0 ? void 0 : _a.filter(function (_, index) { return selected.includes(index); })) || [];
967
- this.host.onSelectionChange(value);
968
- };
969
- return TuiNativeMultiSelectComponent;
970
- }(AbstractTuiNativeMultiSelect));
971
- TuiNativeMultiSelectComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TuiNativeMultiSelectComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
972
- TuiNativeMultiSelectComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiNativeMultiSelectComponent, selector: "select[multiple][tuiSelect]:not([labels])", inputs: { items: "items" }, host: { listeners: { "change": "onValueChange($event.target.selectedOptions)", "click.stop.silent": "0", "mousedown.stop.silent": "0" }, properties: { "attr.aria-invalid": "host.invalid", "disabled": "host.disabled || control.readOnly", "tabIndex": "host.focusable ? 0 : -1" } }, providers: [
973
- i1.tuiAsDataList(TuiNativeMultiSelectComponent),
974
- {
975
- provide: i0.TemplateRef,
976
- deps: [TuiNativeMultiSelectComponent],
977
- useFactory: function (_b) {
978
- var datalist = _b.datalist;
979
- return datalist;
980
- },
981
- },
982
- {
983
- provide: AbstractTuiNativeMultiSelect,
984
- useExisting: TuiNativeMultiSelectComponent,
985
- },
986
- ], usesInheritance: true, ngImport: i0__namespace, template: "<ng-container *ngIf=\"control.control?.valueChanges | async\"></ng-container>\n\n<tui-data-list-wrapper\n *tuiDataList\n tuiMultiSelectGroup\n [disabledItemHandler]=\"disabledItemHandler || host.disableItemHandler\"\n [itemContent]=\"stringify | tuiStringifyContent\"\n [items]=\"items\"\n></tui-data-list-wrapper>\n<option\n *ngFor=\"let option of items\"\n [disabled]=\"disabledItemHandler ? disabledItemHandler(option) : host.disableItemHandler(option)\"\n [selected]=\"option | tuiMapper: selectedMapper : control.value\"\n [value]=\"stringify(option)\"\n>\n {{ stringify(option) }}\n</option>\n", styles: [":host{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0}\n"], components: [{ type: i1__namespace$1.TuiDataListWrapperComponent, selector: "tui-data-list-wrapper:not([labels])", inputs: ["items"] }], directives: [{ type: i2__namespace$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1__namespace.TuiDataListDirective, selector: "ng-template[tuiDataList]" }, { type: TuiMultiSelectGroupDirective, selector: "[tuiMultiSelectGroup]" }, { type: i2__namespace$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i4__namespace.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { type: i4__namespace.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }], pipes: { "async": i2__namespace$1.AsyncPipe, "tuiStringifyContent": i6__namespace$1.TuiStringifyContentPipe, "tuiMapper": i3__namespace.TuiMapperPipe }, changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
987
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TuiNativeMultiSelectComponent, decorators: [{
988
- type: i0.Component,
989
- args: [{
990
- selector: 'select[multiple][tuiSelect]:not([labels])',
991
- templateUrl: './native-multi-select.template.html',
992
- styleUrls: ['./native-multi-select.style.less'],
993
- changeDetection: i0.ChangeDetectionStrategy.OnPush,
994
- providers: [
995
- i1.tuiAsDataList(TuiNativeMultiSelectComponent),
996
- {
997
- provide: i0.TemplateRef,
998
- deps: [TuiNativeMultiSelectComponent],
999
- useFactory: function (_b) {
1000
- var datalist = _b.datalist;
1001
- return datalist;
1002
- },
1003
- },
1004
- {
1005
- provide: AbstractTuiNativeMultiSelect,
1006
- useExisting: TuiNativeMultiSelectComponent,
1007
- },
1008
- ],
1009
- host: {
1010
- '[attr.aria-invalid]': 'host.invalid',
1011
- '[disabled]': 'host.disabled || control.readOnly',
1012
- '[tabIndex]': 'host.focusable ? 0 : -1',
1013
- '(change)': 'onValueChange($event.target.selectedOptions)',
1014
- '(click.stop.silent)': '0',
1015
- '(mousedown.stop.silent)': '0',
1016
- },
1017
- }]
1018
- }], propDecorators: { items: [{
1019
- type: i0.Input
1020
- }] } });
1102
+ var TuiNativeMultiSelectComponent = /** @class */ (function (_super) {
1103
+ __extends(TuiNativeMultiSelectComponent, _super);
1104
+ function TuiNativeMultiSelectComponent() {
1105
+ var _this = _super.apply(this, __spreadArray([], __read(arguments))) || this;
1106
+ _this.items = [];
1107
+ return _this;
1108
+ }
1109
+ TuiNativeMultiSelectComponent.prototype.onValueChange = function (selectedOptions) {
1110
+ var _a;
1111
+ var selected = Array.from(selectedOptions).map(function (option) { return option.index; });
1112
+ var value = ((_a = this.items) === null || _a === void 0 ? void 0 : _a.filter(function (_, index) { return selected.includes(index); })) || [];
1113
+ this.host.onSelectionChange(value);
1114
+ };
1115
+ return TuiNativeMultiSelectComponent;
1116
+ }(AbstractTuiNativeMultiSelect));
1117
+ TuiNativeMultiSelectComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TuiNativeMultiSelectComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
1118
+ TuiNativeMultiSelectComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiNativeMultiSelectComponent, selector: "select[multiple][tuiSelect]:not([labels])", inputs: { items: "items" }, host: { listeners: { "change": "onValueChange($event.target.selectedOptions)", "click.stop.silent": "0", "mousedown.stop.silent": "0" }, properties: { "attr.aria-invalid": "host.invalid", "disabled": "host.disabled || control.readOnly", "tabIndex": "host.focusable ? 0 : -1" } }, providers: [
1119
+ i1.tuiAsDataList(TuiNativeMultiSelectComponent),
1120
+ {
1121
+ provide: i0.TemplateRef,
1122
+ deps: [TuiNativeMultiSelectComponent],
1123
+ useFactory: function (_b) {
1124
+ var datalist = _b.datalist;
1125
+ return datalist;
1126
+ },
1127
+ },
1128
+ {
1129
+ provide: AbstractTuiNativeMultiSelect,
1130
+ useExisting: TuiNativeMultiSelectComponent,
1131
+ },
1132
+ ], usesInheritance: true, ngImport: i0__namespace, template: "<ng-container *ngIf=\"control.control?.valueChanges | async\"></ng-container>\n\n<tui-data-list-wrapper\n *tuiDataList\n tuiMultiSelectGroup\n [disabledItemHandler]=\"disabledItemHandler || host.disableItemHandler\"\n [itemContent]=\"stringify | tuiStringifyContent\"\n [items]=\"items\"\n></tui-data-list-wrapper>\n<option\n *ngFor=\"let option of items\"\n [disabled]=\"disabledItemHandler ? disabledItemHandler(option) : host.disableItemHandler(option)\"\n [selected]=\"option | tuiMapper: selectedMapper : control.value\"\n [value]=\"stringify(option)\"\n>\n {{ stringify(option) }}\n</option>\n", styles: [":host{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0}\n"], components: [{ type: i1__namespace$1.TuiDataListWrapperComponent, selector: "tui-data-list-wrapper:not([labels])", inputs: ["items"] }], directives: [{ type: i2__namespace$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1__namespace.TuiDataListDirective, selector: "ng-template[tuiDataList]" }, { type: TuiMultiSelectGroupDirective, selector: "[tuiMultiSelectGroup]" }, { type: i2__namespace$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i4__namespace.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { type: i4__namespace.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }], pipes: { "async": i2__namespace$1.AsyncPipe, "tuiStringifyContent": i6__namespace$1.TuiStringifyContentPipe, "tuiMapper": i3__namespace.TuiMapperPipe }, changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
1133
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TuiNativeMultiSelectComponent, decorators: [{
1134
+ type: i0.Component,
1135
+ args: [{
1136
+ selector: 'select[multiple][tuiSelect]:not([labels])',
1137
+ templateUrl: './native-multi-select.template.html',
1138
+ styleUrls: ['./native-multi-select.style.less'],
1139
+ changeDetection: i0.ChangeDetectionStrategy.OnPush,
1140
+ providers: [
1141
+ i1.tuiAsDataList(TuiNativeMultiSelectComponent),
1142
+ {
1143
+ provide: i0.TemplateRef,
1144
+ deps: [TuiNativeMultiSelectComponent],
1145
+ useFactory: function (_b) {
1146
+ var datalist = _b.datalist;
1147
+ return datalist;
1148
+ },
1149
+ },
1150
+ {
1151
+ provide: AbstractTuiNativeMultiSelect,
1152
+ useExisting: TuiNativeMultiSelectComponent,
1153
+ },
1154
+ ],
1155
+ host: {
1156
+ '[attr.aria-invalid]': 'host.invalid',
1157
+ '[disabled]': 'host.disabled || control.readOnly',
1158
+ '[tabIndex]': 'host.focusable ? 0 : -1',
1159
+ '(change)': 'onValueChange($event.target.selectedOptions)',
1160
+ '(click.stop.silent)': '0',
1161
+ '(mousedown.stop.silent)': '0',
1162
+ },
1163
+ }]
1164
+ }], propDecorators: { items: [{
1165
+ type: i0.Input
1166
+ }] } });
1021
1167
 
1022
- var TuiNativeMultiSelectGroupComponent = /** @class */ (function (_super) {
1023
- __extends(TuiNativeMultiSelectGroupComponent, _super);
1024
- function TuiNativeMultiSelectGroupComponent() {
1025
- var _this = _super.apply(this, __spreadArray([], __read(arguments))) || this;
1026
- _this.items = [];
1027
- _this.labels = [];
1028
- return _this;
1029
- }
1030
- TuiNativeMultiSelectGroupComponent.prototype.onValueChange = function (selectedOptions) {
1031
- var _a;
1032
- var selected = Array.from(selectedOptions).map(function (option) { return option.index; });
1033
- var flatItems = ((_a = this.items) === null || _a === void 0 ? void 0 : _a.reduce(function (acc, val) { return acc.concat(val); }, [])) || [];
1034
- var value = flatItems.filter(function (_, index) { return selected.includes(index); });
1035
- this.host.onSelectionChange(value);
1036
- };
1037
- return TuiNativeMultiSelectGroupComponent;
1038
- }(AbstractTuiNativeMultiSelect));
1039
- TuiNativeMultiSelectGroupComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TuiNativeMultiSelectGroupComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
1040
- TuiNativeMultiSelectGroupComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiNativeMultiSelectGroupComponent, selector: "select[multiple][tuiSelect][labels]", inputs: { items: "items", labels: "labels" }, host: { listeners: { "change": "onValueChange($event.target.selectedOptions)", "click.stop.silent": "0", "mousedown.stop.silent": "0" }, properties: { "attr.aria-invalid": "host.invalid", "disabled": "host.disabled || control.readOnly", "tabIndex": "host.focusable ? 0 : -1" } }, providers: [
1041
- i1.tuiAsDataList(TuiNativeMultiSelectGroupComponent),
1042
- {
1043
- provide: i0.TemplateRef,
1044
- deps: [TuiNativeMultiSelectGroupComponent],
1045
- useFactory: function (_b) {
1046
- var datalist = _b.datalist;
1047
- return datalist;
1048
- },
1049
- },
1050
- {
1051
- provide: AbstractTuiNativeMultiSelect,
1052
- useExisting: TuiNativeMultiSelectGroupComponent,
1053
- },
1054
- ], usesInheritance: true, ngImport: i0__namespace, template: "<ng-container *ngIf=\"control.control?.valueChanges | async\"></ng-container>\n\n<tui-data-list-wrapper\n *tuiDataList\n tuiMultiSelectGroup\n [disabledItemHandler]=\"disabledItemHandler || host.disableItemHandler\"\n [itemContent]=\"stringify | tuiStringifyContent\"\n [items]=\"items\"\n [labels]=\"labels\"\n></tui-data-list-wrapper>\n<optgroup\n *ngFor=\"let group of items; let index = index\"\n [label]=\"labels[index]\"\n>\n <option\n *ngFor=\"let option of group\"\n [disabled]=\"disabledItemHandler ? disabledItemHandler(option) : host.disableItemHandler(option)\"\n [selected]=\"option | tuiMapper: selectedMapper : control.value\"\n [value]=\"stringify(option)\"\n >\n {{ stringify(option) }}\n </option>\n</optgroup>\n", styles: [":host{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0}\n"], components: [{ type: i1__namespace$1.TuiDataListGroupWrapperComponent, selector: "tui-data-list-wrapper[labels]", inputs: ["items", "labels"] }], directives: [{ type: i2__namespace$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1__namespace.TuiDataListDirective, selector: "ng-template[tuiDataList]" }, { type: TuiMultiSelectGroupDirective, selector: "[tuiMultiSelectGroup]" }, { type: i2__namespace$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i4__namespace.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { type: i4__namespace.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }], pipes: { "async": i2__namespace$1.AsyncPipe, "tuiStringifyContent": i6__namespace$1.TuiStringifyContentPipe, "tuiMapper": i3__namespace.TuiMapperPipe }, changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
1055
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TuiNativeMultiSelectGroupComponent, decorators: [{
1056
- type: i0.Component,
1057
- args: [{
1058
- selector: 'select[multiple][tuiSelect][labels]',
1059
- templateUrl: './native-multi-select-group.template.html',
1060
- styleUrls: ['./native-multi-select.style.less'],
1061
- changeDetection: i0.ChangeDetectionStrategy.OnPush,
1062
- providers: [
1063
- i1.tuiAsDataList(TuiNativeMultiSelectGroupComponent),
1064
- {
1065
- provide: i0.TemplateRef,
1066
- deps: [TuiNativeMultiSelectGroupComponent],
1067
- useFactory: function (_b) {
1068
- var datalist = _b.datalist;
1069
- return datalist;
1070
- },
1071
- },
1072
- {
1073
- provide: AbstractTuiNativeMultiSelect,
1074
- useExisting: TuiNativeMultiSelectGroupComponent,
1075
- },
1076
- ],
1077
- host: {
1078
- '[attr.aria-invalid]': 'host.invalid',
1079
- '[disabled]': 'host.disabled || control.readOnly',
1080
- '[tabIndex]': 'host.focusable ? 0 : -1',
1081
- '(change)': 'onValueChange($event.target.selectedOptions)',
1082
- '(click.stop.silent)': '0',
1083
- '(mousedown.stop.silent)': '0',
1084
- },
1085
- }]
1086
- }], propDecorators: { items: [{
1087
- type: i0.Input
1088
- }], labels: [{
1089
- type: i0.Input
1090
- }] } });
1168
+ var TuiNativeMultiSelectGroupComponent = /** @class */ (function (_super) {
1169
+ __extends(TuiNativeMultiSelectGroupComponent, _super);
1170
+ function TuiNativeMultiSelectGroupComponent() {
1171
+ var _this = _super.apply(this, __spreadArray([], __read(arguments))) || this;
1172
+ _this.items = [];
1173
+ _this.labels = [];
1174
+ return _this;
1175
+ }
1176
+ TuiNativeMultiSelectGroupComponent.prototype.onValueChange = function (selectedOptions) {
1177
+ var _a;
1178
+ var selected = Array.from(selectedOptions).map(function (option) { return option.index; });
1179
+ var flatItems = ((_a = this.items) === null || _a === void 0 ? void 0 : _a.reduce(function (acc, val) { return acc.concat(val); }, [])) || [];
1180
+ var value = flatItems.filter(function (_, index) { return selected.includes(index); });
1181
+ this.host.onSelectionChange(value);
1182
+ };
1183
+ return TuiNativeMultiSelectGroupComponent;
1184
+ }(AbstractTuiNativeMultiSelect));
1185
+ TuiNativeMultiSelectGroupComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TuiNativeMultiSelectGroupComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
1186
+ TuiNativeMultiSelectGroupComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiNativeMultiSelectGroupComponent, selector: "select[multiple][tuiSelect][labels]", inputs: { items: "items", labels: "labels" }, host: { listeners: { "change": "onValueChange($event.target.selectedOptions)", "click.stop.silent": "0", "mousedown.stop.silent": "0" }, properties: { "attr.aria-invalid": "host.invalid", "disabled": "host.disabled || control.readOnly", "tabIndex": "host.focusable ? 0 : -1" } }, providers: [
1187
+ i1.tuiAsDataList(TuiNativeMultiSelectGroupComponent),
1188
+ {
1189
+ provide: i0.TemplateRef,
1190
+ deps: [TuiNativeMultiSelectGroupComponent],
1191
+ useFactory: function (_b) {
1192
+ var datalist = _b.datalist;
1193
+ return datalist;
1194
+ },
1195
+ },
1196
+ {
1197
+ provide: AbstractTuiNativeMultiSelect,
1198
+ useExisting: TuiNativeMultiSelectGroupComponent,
1199
+ },
1200
+ ], usesInheritance: true, ngImport: i0__namespace, template: "<ng-container *ngIf=\"control.control?.valueChanges | async\"></ng-container>\n\n<tui-data-list-wrapper\n *tuiDataList\n tuiMultiSelectGroup\n [disabledItemHandler]=\"disabledItemHandler || host.disableItemHandler\"\n [itemContent]=\"stringify | tuiStringifyContent\"\n [items]=\"items\"\n [labels]=\"labels\"\n></tui-data-list-wrapper>\n<optgroup\n *ngFor=\"let group of items; let index = index\"\n [label]=\"labels[index]\"\n>\n <option\n *ngFor=\"let option of group\"\n [disabled]=\"disabledItemHandler ? disabledItemHandler(option) : host.disableItemHandler(option)\"\n [selected]=\"option | tuiMapper: selectedMapper : control.value\"\n [value]=\"stringify(option)\"\n >\n {{ stringify(option) }}\n </option>\n</optgroup>\n", styles: [":host{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0}\n"], components: [{ type: i1__namespace$1.TuiDataListGroupWrapperComponent, selector: "tui-data-list-wrapper[labels]", inputs: ["items", "labels"] }], directives: [{ type: i2__namespace$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1__namespace.TuiDataListDirective, selector: "ng-template[tuiDataList]" }, { type: TuiMultiSelectGroupDirective, selector: "[tuiMultiSelectGroup]" }, { type: i2__namespace$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i4__namespace.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { type: i4__namespace.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }], pipes: { "async": i2__namespace$1.AsyncPipe, "tuiStringifyContent": i6__namespace$1.TuiStringifyContentPipe, "tuiMapper": i3__namespace.TuiMapperPipe }, changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
1201
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TuiNativeMultiSelectGroupComponent, decorators: [{
1202
+ type: i0.Component,
1203
+ args: [{
1204
+ selector: 'select[multiple][tuiSelect][labels]',
1205
+ templateUrl: './native-multi-select-group.template.html',
1206
+ styleUrls: ['./native-multi-select.style.less'],
1207
+ changeDetection: i0.ChangeDetectionStrategy.OnPush,
1208
+ providers: [
1209
+ i1.tuiAsDataList(TuiNativeMultiSelectGroupComponent),
1210
+ {
1211
+ provide: i0.TemplateRef,
1212
+ deps: [TuiNativeMultiSelectGroupComponent],
1213
+ useFactory: function (_b) {
1214
+ var datalist = _b.datalist;
1215
+ return datalist;
1216
+ },
1217
+ },
1218
+ {
1219
+ provide: AbstractTuiNativeMultiSelect,
1220
+ useExisting: TuiNativeMultiSelectGroupComponent,
1221
+ },
1222
+ ],
1223
+ host: {
1224
+ '[attr.aria-invalid]': 'host.invalid',
1225
+ '[disabled]': 'host.disabled || control.readOnly',
1226
+ '[tabIndex]': 'host.focusable ? 0 : -1',
1227
+ '(change)': 'onValueChange($event.target.selectedOptions)',
1228
+ '(click.stop.silent)': '0',
1229
+ '(mousedown.stop.silent)': '0',
1230
+ },
1231
+ }]
1232
+ }], propDecorators: { items: [{
1233
+ type: i0.Input
1234
+ }], labels: [{
1235
+ type: i0.Input
1236
+ }] } });
1091
1237
 
1092
- var TuiMultiSelectModule = /** @class */ (function () {
1093
- function TuiMultiSelectModule() {
1094
- }
1095
- return TuiMultiSelectModule;
1096
- }());
1097
- TuiMultiSelectModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TuiMultiSelectModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
1098
- TuiMultiSelectModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TuiMultiSelectModule, declarations: [TuiMultiSelectComponent,
1099
- TuiMultiSelectGroupComponent,
1100
- TuiMultiSelectGroupDirective,
1101
- TuiHideSelectedPipe,
1102
- TuiNativeMultiSelectComponent,
1103
- TuiNativeMultiSelectGroupComponent,
1104
- TuiMultiSelectDirective], imports: [i2$1.CommonModule,
1105
- i4.FormsModule,
1106
- i6.PolymorpheusModule,
1107
- i1.TuiWrapperModule,
1108
- i3.TuiPreventDefaultModule,
1109
- i3.TuiActiveZoneModule,
1110
- arrow.TuiArrowModule,
1111
- i3.TuiLetModule,
1112
- i3.TuiMapperPipeModule,
1113
- i1.TuiSvgModule,
1114
- i1.TuiHostedDropdownModule,
1115
- i2.TuiInputTagModule,
1116
- multiSelectOption.TuiMultiSelectOptionModule,
1117
- i1$1.TuiDataListWrapperModule,
1118
- i3.TuiMapperPipeModule,
1119
- i1.TuiLinkModule,
1120
- i1.TuiDataListModule,
1121
- i1.TuiTextfieldControllerModule,
1122
- i6$1.TuiStringifyContentPipeModule], exports: [TuiMultiSelectComponent,
1123
- TuiMultiSelectGroupComponent,
1124
- TuiMultiSelectGroupDirective,
1125
- TuiHideSelectedPipe,
1126
- TuiMultiSelectDirective,
1127
- TuiNativeMultiSelectComponent,
1128
- TuiNativeMultiSelectGroupComponent] });
1129
- TuiMultiSelectModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TuiMultiSelectModule, imports: [[
1130
- i2$1.CommonModule,
1131
- i4.FormsModule,
1132
- i6.PolymorpheusModule,
1133
- i1.TuiWrapperModule,
1134
- i3.TuiPreventDefaultModule,
1135
- i3.TuiActiveZoneModule,
1136
- arrow.TuiArrowModule,
1137
- i3.TuiLetModule,
1138
- i3.TuiMapperPipeModule,
1139
- i1.TuiSvgModule,
1140
- i1.TuiHostedDropdownModule,
1141
- i2.TuiInputTagModule,
1142
- multiSelectOption.TuiMultiSelectOptionModule,
1143
- i1$1.TuiDataListWrapperModule,
1144
- i3.TuiMapperPipeModule,
1145
- i1.TuiLinkModule,
1146
- i1.TuiDataListModule,
1147
- i1.TuiTextfieldControllerModule,
1148
- i6$1.TuiStringifyContentPipeModule,
1149
- ]] });
1150
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TuiMultiSelectModule, decorators: [{
1151
- type: i0.NgModule,
1152
- args: [{
1153
- imports: [
1154
- i2$1.CommonModule,
1155
- i4.FormsModule,
1156
- i6.PolymorpheusModule,
1157
- i1.TuiWrapperModule,
1158
- i3.TuiPreventDefaultModule,
1159
- i3.TuiActiveZoneModule,
1160
- arrow.TuiArrowModule,
1161
- i3.TuiLetModule,
1162
- i3.TuiMapperPipeModule,
1163
- i1.TuiSvgModule,
1164
- i1.TuiHostedDropdownModule,
1165
- i2.TuiInputTagModule,
1166
- multiSelectOption.TuiMultiSelectOptionModule,
1167
- i1$1.TuiDataListWrapperModule,
1168
- i3.TuiMapperPipeModule,
1169
- i1.TuiLinkModule,
1170
- i1.TuiDataListModule,
1171
- i1.TuiTextfieldControllerModule,
1172
- i6$1.TuiStringifyContentPipeModule,
1173
- ],
1174
- declarations: [
1175
- TuiMultiSelectComponent,
1176
- TuiMultiSelectGroupComponent,
1177
- TuiMultiSelectGroupDirective,
1178
- TuiHideSelectedPipe,
1179
- TuiNativeMultiSelectComponent,
1180
- TuiNativeMultiSelectGroupComponent,
1181
- TuiMultiSelectDirective,
1182
- ],
1183
- exports: [
1184
- TuiMultiSelectComponent,
1185
- TuiMultiSelectGroupComponent,
1186
- TuiMultiSelectGroupDirective,
1187
- TuiHideSelectedPipe,
1188
- TuiMultiSelectDirective,
1189
- TuiNativeMultiSelectComponent,
1190
- TuiNativeMultiSelectGroupComponent,
1191
- ],
1192
- }]
1193
- }] });
1238
+ var TuiMultiSelectModule = /** @class */ (function () {
1239
+ function TuiMultiSelectModule() {
1240
+ }
1241
+ return TuiMultiSelectModule;
1242
+ }());
1243
+ TuiMultiSelectModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TuiMultiSelectModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
1244
+ TuiMultiSelectModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TuiMultiSelectModule, declarations: [TuiMultiSelectComponent,
1245
+ TuiMultiSelectGroupComponent,
1246
+ TuiMultiSelectGroupDirective,
1247
+ TuiHideSelectedPipe,
1248
+ TuiNativeMultiSelectComponent,
1249
+ TuiNativeMultiSelectGroupComponent,
1250
+ TuiMultiSelectDirective], imports: [i2$1.CommonModule,
1251
+ i4.FormsModule,
1252
+ i6.PolymorpheusModule,
1253
+ i1.TuiWrapperModule,
1254
+ i3.TuiPreventDefaultModule,
1255
+ i3.TuiActiveZoneModule,
1256
+ arrow.TuiArrowModule,
1257
+ i3.TuiLetModule,
1258
+ i3.TuiMapperPipeModule,
1259
+ i1.TuiSvgModule,
1260
+ i1.TuiHostedDropdownModule,
1261
+ i2.TuiInputTagModule,
1262
+ multiSelectOption.TuiMultiSelectOptionModule,
1263
+ i1$1.TuiDataListWrapperModule,
1264
+ i3.TuiMapperPipeModule,
1265
+ i1.TuiLinkModule,
1266
+ i1.TuiDataListModule,
1267
+ i1.TuiTextfieldControllerModule,
1268
+ i6$1.TuiStringifyContentPipeModule], exports: [TuiMultiSelectComponent,
1269
+ TuiMultiSelectGroupComponent,
1270
+ TuiMultiSelectGroupDirective,
1271
+ TuiHideSelectedPipe,
1272
+ TuiMultiSelectDirective,
1273
+ TuiNativeMultiSelectComponent,
1274
+ TuiNativeMultiSelectGroupComponent] });
1275
+ TuiMultiSelectModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TuiMultiSelectModule, imports: [[
1276
+ i2$1.CommonModule,
1277
+ i4.FormsModule,
1278
+ i6.PolymorpheusModule,
1279
+ i1.TuiWrapperModule,
1280
+ i3.TuiPreventDefaultModule,
1281
+ i3.TuiActiveZoneModule,
1282
+ arrow.TuiArrowModule,
1283
+ i3.TuiLetModule,
1284
+ i3.TuiMapperPipeModule,
1285
+ i1.TuiSvgModule,
1286
+ i1.TuiHostedDropdownModule,
1287
+ i2.TuiInputTagModule,
1288
+ multiSelectOption.TuiMultiSelectOptionModule,
1289
+ i1$1.TuiDataListWrapperModule,
1290
+ i3.TuiMapperPipeModule,
1291
+ i1.TuiLinkModule,
1292
+ i1.TuiDataListModule,
1293
+ i1.TuiTextfieldControllerModule,
1294
+ i6$1.TuiStringifyContentPipeModule,
1295
+ ]] });
1296
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TuiMultiSelectModule, decorators: [{
1297
+ type: i0.NgModule,
1298
+ args: [{
1299
+ imports: [
1300
+ i2$1.CommonModule,
1301
+ i4.FormsModule,
1302
+ i6.PolymorpheusModule,
1303
+ i1.TuiWrapperModule,
1304
+ i3.TuiPreventDefaultModule,
1305
+ i3.TuiActiveZoneModule,
1306
+ arrow.TuiArrowModule,
1307
+ i3.TuiLetModule,
1308
+ i3.TuiMapperPipeModule,
1309
+ i1.TuiSvgModule,
1310
+ i1.TuiHostedDropdownModule,
1311
+ i2.TuiInputTagModule,
1312
+ multiSelectOption.TuiMultiSelectOptionModule,
1313
+ i1$1.TuiDataListWrapperModule,
1314
+ i3.TuiMapperPipeModule,
1315
+ i1.TuiLinkModule,
1316
+ i1.TuiDataListModule,
1317
+ i1.TuiTextfieldControllerModule,
1318
+ i6$1.TuiStringifyContentPipeModule,
1319
+ ],
1320
+ declarations: [
1321
+ TuiMultiSelectComponent,
1322
+ TuiMultiSelectGroupComponent,
1323
+ TuiMultiSelectGroupDirective,
1324
+ TuiHideSelectedPipe,
1325
+ TuiNativeMultiSelectComponent,
1326
+ TuiNativeMultiSelectGroupComponent,
1327
+ TuiMultiSelectDirective,
1328
+ ],
1329
+ exports: [
1330
+ TuiMultiSelectComponent,
1331
+ TuiMultiSelectGroupComponent,
1332
+ TuiMultiSelectGroupDirective,
1333
+ TuiHideSelectedPipe,
1334
+ TuiMultiSelectDirective,
1335
+ TuiNativeMultiSelectComponent,
1336
+ TuiNativeMultiSelectGroupComponent,
1337
+ ],
1338
+ }]
1339
+ }] });
1194
1340
 
1195
- /**
1196
- * Generated bundle index. Do not edit.
1197
- */
1341
+ /**
1342
+ * Generated bundle index. Do not edit.
1343
+ */
1198
1344
 
1199
- exports.AbstractTuiNativeMultiSelect = AbstractTuiNativeMultiSelect;
1200
- exports.TUI_MULTI_SELECT_DEFAULT_OPTIONS = TUI_MULTI_SELECT_DEFAULT_OPTIONS;
1201
- exports.TUI_MULTI_SELECT_OPTION = TUI_MULTI_SELECT_OPTION;
1202
- exports.TUI_MULTI_SELECT_OPTIONS = TUI_MULTI_SELECT_OPTIONS;
1203
- exports.TuiHideSelectedPipe = TuiHideSelectedPipe;
1204
- exports.TuiMultiSelectComponent = TuiMultiSelectComponent;
1205
- exports.TuiMultiSelectDirective = TuiMultiSelectDirective;
1206
- exports.TuiMultiSelectGroupComponent = TuiMultiSelectGroupComponent;
1207
- exports.TuiMultiSelectGroupDirective = TuiMultiSelectGroupDirective;
1208
- exports.TuiMultiSelectModule = TuiMultiSelectModule;
1209
- exports.TuiNativeMultiSelectComponent = TuiNativeMultiSelectComponent;
1210
- exports.TuiNativeMultiSelectGroupComponent = TuiNativeMultiSelectGroupComponent;
1211
- exports.tuiMultiSelectOptionsProvider = tuiMultiSelectOptionsProvider;
1345
+ exports.AbstractTuiNativeMultiSelect = AbstractTuiNativeMultiSelect;
1346
+ exports.TUI_MULTI_SELECT_DEFAULT_OPTIONS = TUI_MULTI_SELECT_DEFAULT_OPTIONS;
1347
+ exports.TUI_MULTI_SELECT_OPTION = TUI_MULTI_SELECT_OPTION;
1348
+ exports.TUI_MULTI_SELECT_OPTIONS = TUI_MULTI_SELECT_OPTIONS;
1349
+ exports.TuiHideSelectedPipe = TuiHideSelectedPipe;
1350
+ exports.TuiMultiSelectComponent = TuiMultiSelectComponent;
1351
+ exports.TuiMultiSelectDirective = TuiMultiSelectDirective;
1352
+ exports.TuiMultiSelectGroupComponent = TuiMultiSelectGroupComponent;
1353
+ exports.TuiMultiSelectGroupDirective = TuiMultiSelectGroupDirective;
1354
+ exports.TuiMultiSelectModule = TuiMultiSelectModule;
1355
+ exports.TuiNativeMultiSelectComponent = TuiNativeMultiSelectComponent;
1356
+ exports.TuiNativeMultiSelectGroupComponent = TuiNativeMultiSelectGroupComponent;
1357
+ exports.tuiMultiSelectOptionsProvider = tuiMultiSelectOptionsProvider;
1212
1358
 
1213
- Object.defineProperty(exports, '__esModule', { value: true });
1359
+ Object.defineProperty(exports, '__esModule', { value: true });
1214
1360
 
1215
1361
  }));
1216
1362
  //# sourceMappingURL=taiga-ui-kit-components-multi-select.umd.js.map