@taiga-ui/kit 3.21.0 → 3.22.0-dev.main-a08b721

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 (52) hide show
  1. package/bundles/taiga-ui-kit-components-input-files.umd.js +14 -11
  2. package/bundles/taiga-ui-kit-components-input-files.umd.js.map +1 -1
  3. package/bundles/taiga-ui-kit-components-input-tag.umd.js +8 -2
  4. package/bundles/taiga-ui-kit-components-input-tag.umd.js.map +1 -1
  5. package/bundles/taiga-ui-kit-components-multi-select.umd.js +260 -14
  6. package/bundles/taiga-ui-kit-components-multi-select.umd.js.map +1 -1
  7. package/bundles/taiga-ui-kit-components-select.umd.js +9 -25
  8. package/bundles/taiga-ui-kit-components-select.umd.js.map +1 -1
  9. package/bundles/taiga-ui-kit-components-text-area.umd.js +1 -1
  10. package/bundles/taiga-ui-kit-components-text-area.umd.js.map +1 -1
  11. package/bundles/taiga-ui-kit-utils-miscellaneous.umd.js +25 -14
  12. package/bundles/taiga-ui-kit-utils-miscellaneous.umd.js.map +1 -1
  13. package/components/input-files/input-files.component.d.ts +4 -3
  14. package/components/input-tag/input-tag.component.d.ts +2 -1
  15. package/components/multi-select/index.d.ts +4 -0
  16. package/components/multi-select/multi-select.component.d.ts +7 -3
  17. package/components/multi-select/multi-select.directive.d.ts +12 -0
  18. package/components/multi-select/multi-select.module.d.ts +13 -9
  19. package/components/multi-select/native-multi-select/native-multi-select-group.component.d.ts +8 -0
  20. package/components/multi-select/native-multi-select/native-multi-select.component.d.ts +7 -0
  21. package/components/multi-select/native-multi-select/native-multi-select.d.ts +18 -0
  22. package/components/select/native-select/native-select-group.component.d.ts +1 -1
  23. package/components/select/native-select/native-select.component.d.ts +1 -1
  24. package/esm2015/components/input-files/input-files.component.js +8 -5
  25. package/esm2015/components/input-files/max-size-rejection-error.pipe.js +2 -2
  26. package/esm2015/components/input-tag/input-tag.component.js +9 -3
  27. package/esm2015/components/multi-select/index.js +5 -1
  28. package/esm2015/components/multi-select/multi-select-group/multi-select-group.component.js +1 -1
  29. package/esm2015/components/multi-select/multi-select.component.js +19 -6
  30. package/esm2015/components/multi-select/multi-select.directive.js +28 -0
  31. package/esm2015/components/multi-select/multi-select.module.js +25 -3
  32. package/esm2015/components/multi-select/native-multi-select/native-multi-select-group.component.js +63 -0
  33. package/esm2015/components/multi-select/native-multi-select/native-multi-select.component.js +60 -0
  34. package/esm2015/components/multi-select/native-multi-select/native-multi-select.js +51 -0
  35. package/esm2015/components/select/native-select/native-select-group.component.js +6 -14
  36. package/esm2015/components/select/native-select/native-select.component.js +6 -14
  37. package/esm2015/components/select/select.component.js +2 -2
  38. package/esm2015/components/text-area/text-area.component.js +1 -1
  39. package/esm2015/utils/miscellaneous/create-time-periods.js +3 -3
  40. package/fesm2015/taiga-ui-kit-components-input-files.js +9 -6
  41. package/fesm2015/taiga-ui-kit-components-input-files.js.map +1 -1
  42. package/fesm2015/taiga-ui-kit-components-input-tag.js +8 -2
  43. package/fesm2015/taiga-ui-kit-components-input-tag.js.map +1 -1
  44. package/fesm2015/taiga-ui-kit-components-multi-select.js +219 -12
  45. package/fesm2015/taiga-ui-kit-components-multi-select.js.map +1 -1
  46. package/fesm2015/taiga-ui-kit-components-select.js +10 -26
  47. package/fesm2015/taiga-ui-kit-components-select.js.map +1 -1
  48. package/fesm2015/taiga-ui-kit-components-text-area.js +1 -1
  49. package/fesm2015/taiga-ui-kit-components-text-area.js.map +1 -1
  50. package/fesm2015/taiga-ui-kit-utils-miscellaneous.js +2 -2
  51. package/fesm2015/taiga-ui-kit-utils-miscellaneous.js.map +1 -1
  52. package/package.json +4 -4
@@ -1,8 +1,8 @@
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('@angular/common'), require('@tinkoff/ng-polymorpheus'), require('@taiga-ui/kit/components/multi-select-option'), 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', '@angular/common', '@tinkoff/ng-polymorpheus', '@taiga-ui/kit/components/multi-select-option', '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.ng.common, global.i6, global["taiga-ui"].kit.components["multi-select-option"], global.rxjs, global.rxjs.operators));
5
- })(this, (function (exports, i0, i3, utils, i4, i1, classes, arrow, i2, providers, tokens, i3$1, i6, multiSelectOption, rxjs, operators) { 'use strict';
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('@angular/common'), require('@tinkoff/ng-polymorpheus'), require('@taiga-ui/kit/components/data-list-wrapper'), require('@taiga-ui/kit/components/multi-select-option'), 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', '@angular/common', '@tinkoff/ng-polymorpheus', '@taiga-ui/kit/components/data-list-wrapper', '@taiga-ui/kit/components/multi-select-option', '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.ng.common, global.i6, global["taiga-ui"].kit.components["data-list-wrapper"], global["taiga-ui"].kit.components["multi-select-option"], global.rxjs, global.rxjs.operators));
5
+ })(this, (function (exports, i0, i3, utils, i4, i1, classes, arrow, i2, providers, tokens, i2$1, i6, i1$1, multiSelectOption, rxjs, operators) { 'use strict';
6
6
 
7
7
  function _interopNamespace(e) {
8
8
  if (e && e.__esModule) return e;
@@ -27,8 +27,9 @@
27
27
  var i4__namespace = /*#__PURE__*/_interopNamespace(i4);
28
28
  var i1__namespace = /*#__PURE__*/_interopNamespace(i1);
29
29
  var i2__namespace = /*#__PURE__*/_interopNamespace(i2);
30
- var i3__namespace$1 = /*#__PURE__*/_interopNamespace(i3$1);
30
+ var i2__namespace$1 = /*#__PURE__*/_interopNamespace(i2$1);
31
31
  var i6__namespace = /*#__PURE__*/_interopNamespace(i6);
32
+ var i1__namespace$1 = /*#__PURE__*/_interopNamespace(i1$1);
32
33
 
33
34
  /*! *****************************************************************************
34
35
  Copyright (c) Microsoft Corporation.
@@ -363,14 +364,99 @@
363
364
  useValue: Object.assign(Object.assign({}, TUI_MULTI_SELECT_DEFAULT_OPTIONS), options),
364
365
  }); };
365
366
 
367
+ var TuiMultiSelectDirective = /** @class */ (function (_super) {
368
+ __extends(TuiMultiSelectDirective, _super);
369
+ function TuiMultiSelectDirective() {
370
+ var _this = _super.apply(this, __spreadArray([], __read(arguments))) || this;
371
+ _this.disableItemHandler = function (item) { return _this.host.disabledItemHandler(item); };
372
+ return _this;
373
+ }
374
+ Object.defineProperty(TuiMultiSelectDirective.prototype, "readOnly", {
375
+ get: function () {
376
+ return true;
377
+ },
378
+ enumerable: false,
379
+ configurable: true
380
+ });
381
+ TuiMultiSelectDirective.prototype.onValueChange = function (_) {
382
+ //
383
+ };
384
+ TuiMultiSelectDirective.prototype.onSelectionChange = function (value) {
385
+ this.host.onValueChange(value);
386
+ };
387
+ return TuiMultiSelectDirective;
388
+ }(i1.AbstractTuiTextfieldHost));
389
+ 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 });
390
+ 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 });
391
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TuiMultiSelectDirective, decorators: [{
392
+ type: i0.Directive,
393
+ args: [{
394
+ selector: 'tui-multi-select',
395
+ providers: [i1.tuiAsTextfieldHost(TuiMultiSelectDirective)],
396
+ }]
397
+ }] });
398
+
399
+ var AbstractTuiNativeMultiSelect = /** @class */ (function () {
400
+ function AbstractTuiNativeMultiSelect(host, control, elementRef, idService, cdr) {
401
+ this.host = host;
402
+ this.control = control;
403
+ this.elementRef = elementRef;
404
+ this.idService = idService;
405
+ this.cdr = cdr;
406
+ this.datalist = null;
407
+ this.selectedMapper = function (option, value) { return value.includes(option); };
408
+ }
409
+ Object.defineProperty(AbstractTuiNativeMultiSelect.prototype, "id", {
410
+ get: function () {
411
+ return this.elementRef.nativeElement.id || this.idService.generate();
412
+ },
413
+ enumerable: false,
414
+ configurable: true
415
+ });
416
+ AbstractTuiNativeMultiSelect.prototype.onValueChange = function () {
417
+ var selectedOptions = this.elementRef.nativeElement.selectedOptions;
418
+ this.host.onSelectionChange(Array.from(selectedOptions).map(function (option) { return option.value; }));
419
+ };
420
+ return AbstractTuiNativeMultiSelect;
421
+ }());
422
+ AbstractTuiNativeMultiSelect.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: AbstractTuiNativeMultiSelect, deps: [{ token: i1.TUI_TEXTFIELD_HOST }, { token: i3.AbstractTuiControl }, { token: i0.ElementRef }, { token: i3.TuiIdService }, { token: i0.ChangeDetectorRef }], target: i0__namespace.ɵɵFactoryTarget.Directive });
423
+ AbstractTuiNativeMultiSelect.ɵdir = i0__namespace.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: AbstractTuiNativeMultiSelect, host: { properties: { "id": "this.id" } }, viewQueries: [{ propertyName: "datalist", first: true, predicate: i1.TuiDataListDirective, descendants: true, read: i0.TemplateRef, static: true }], ngImport: i0__namespace });
424
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: AbstractTuiNativeMultiSelect, decorators: [{
425
+ type: i0.Directive
426
+ }], ctorParameters: function () {
427
+ return [{ type: TuiMultiSelectDirective, decorators: [{
428
+ type: i0.Inject,
429
+ args: [i1.TUI_TEXTFIELD_HOST]
430
+ }] }, { type: i3__namespace.AbstractTuiControl, decorators: [{
431
+ type: i0.Inject,
432
+ args: [i3.AbstractTuiControl]
433
+ }] }, { type: i0__namespace.ElementRef, decorators: [{
434
+ type: i0.Inject,
435
+ args: [i0.ElementRef]
436
+ }] }, { type: i3__namespace.TuiIdService, decorators: [{
437
+ type: i0.Inject,
438
+ args: [i3.TuiIdService]
439
+ }] }, { type: i0__namespace.ChangeDetectorRef, decorators: [{
440
+ type: i0.Inject,
441
+ args: [i0.ChangeDetectorRef]
442
+ }] }];
443
+ }, propDecorators: { datalist: [{
444
+ type: i0.ViewChild,
445
+ args: [i1.TuiDataListDirective, { read: i0.TemplateRef, static: true }]
446
+ }], id: [{
447
+ type: i0.HostBinding,
448
+ args: ["id"]
449
+ }] } });
450
+
366
451
  var TuiMultiSelectComponent = /** @class */ (function (_super) {
367
452
  __extends(TuiMultiSelectComponent, _super);
368
- function TuiMultiSelectComponent(control, changeDetectorRef, arrowMode, itemsHandlers, options, controller) {
453
+ function TuiMultiSelectComponent(control, changeDetectorRef, arrowMode, itemsHandlers, options, controller, isMobile) {
369
454
  var _this = _super.call(this, control, changeDetectorRef) || this;
370
455
  _this.arrowMode = arrowMode;
371
456
  _this.itemsHandlers = itemsHandlers;
372
457
  _this.options = options;
373
458
  _this.controller = controller;
459
+ _this.isMobile = isMobile;
374
460
  _this.stringify = _this.itemsHandlers.stringify;
375
461
  _this.identityMatcher = _this.itemsHandlers.identityMatcher;
376
462
  _this.expandable = _this.options.expandable;
@@ -419,6 +505,13 @@
419
505
  enumerable: false,
420
506
  configurable: true
421
507
  });
508
+ Object.defineProperty(TuiMultiSelectComponent.prototype, "nativeDropdownMode", {
509
+ get: function () {
510
+ return !!this.nativeSelect && this.isMobile;
511
+ },
512
+ enumerable: false,
513
+ configurable: true
514
+ });
422
515
  Object.defineProperty(TuiMultiSelectComponent.prototype, "computedValue", {
423
516
  get: function () {
424
517
  return this.computedGroup ? i3.EMPTY_ARRAY : this.value;
@@ -495,8 +588,10 @@
495
588
  return item;
496
589
  }));
497
590
  };
591
+ TuiMultiSelectComponent.prototype.onValueChange = function (value) {
592
+ this.updateValue(value);
593
+ };
498
594
  TuiMultiSelectComponent.prototype.onSearch = function (search) {
499
- this.open = true;
500
595
  this.updateSearch(search);
501
596
  };
502
597
  TuiMultiSelectComponent.prototype.onActiveZone = function (active) {
@@ -515,13 +610,13 @@
515
610
  };
516
611
  return TuiMultiSelectComponent;
517
612
  }(i3.AbstractTuiMultipleControl));
518
- 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 }], target: i0__namespace.ɵɵFactoryTarget.Component });
613
+ 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 });
519
614
  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", rows: "rows" }, outputs: { searchChange: "searchChange" }, host: { properties: { "class._editable": "this.editable", "attr.data-size": "this.size" } }, providers: [
520
615
  i3.tuiAsFocusableItemAccessor(TuiMultiSelectComponent),
521
616
  i3.tuiAsControl(TuiMultiSelectComponent),
522
617
  i1.tuiAsDataListHost(TuiMultiSelectComponent),
523
618
  i1.TEXTFIELD_CONTROLLER_PROVIDER,
524
- ], queries: [{ propertyName: "accessor", first: true, predicate: i1.TUI_DATA_LIST_ACCESSOR, descendants: 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\"\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 [nativeId]=\"nativeId\"\n [tuiTextfieldIcon]=\"icon\"\n [disabled]=\"disabled\"\n [disabledItemHandler]=\"disabledItemHandler | tuiMapper : disabledItemHandlerWrapper\"\n [readOnly]=\"readOnly\"\n [inputHidden]=\"!editable\"\n [pseudoHover]=\"pseudoHover\"\n [placeholder]=\"placeholder\"\n [pseudoFocus]=\"computedFocused\"\n [pseudoInvalid]=\"computedInvalid\"\n [editable]=\"false\"\n [expandable]=\"expandable\"\n [search]=\"searchOrSpace\"\n [rows]=\"rows\"\n [ngModel]=\"computedValue | tuiMapper : valueMapper : stringify\"\n (ngModelChange)=\"onInput($event)\"\n (searchChange)=\"onSearch($event)\"\n (keydown.space)=\"onSpace($event)\"\n (keydown.enter)=\"onEnter($event)\"\n (click.prevent)=\"onClick(inputTag)\"\n >\n <ng-content></ng-content>\n </tui-input-tag>\n <div\n class=\"t-wrapper\"\n [class.t-wrapper_disabled]=\"disabled\"\n >\n <div\n *ngIf=\"computedGroup\"\n class=\"t-group\"\n [class.t-group_fullsize]=\"inputTag.labelOutside\"\n >\n <ng-container *polymorpheusOutlet=\"valueContent as text; context: {$implicit: value}\">\n {{ text }}\n </ng-container>\n </div>\n\n <ng-template #icon>\n <div\n *ngIf=\"arrow\"\n tuiWrapper\n appearance=\"icon\"\n automation-id=\"tui-multi-select__arrow\"\n tuiPreventDefault=\"mousedown\"\n class=\"t-arrow\"\n >\n <ng-container *polymorpheusOutlet=\"arrow as text\">\n {{ text }}\n </ng-container>\n </div>\n </ng-template>\n </div>\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-wrapper{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;pointer-events:none;justify-content:flex-end}.t-wrapper_disabled{opacity:var(--tui-disabled-opacity)}:host[data-size=s] .t-wrapper{height:var(--tui-height-s)}:host[data-size=m] .t-wrapper{height:var(--tui-height-m)}:host[data-size=l] .t-wrapper{height:var(--tui-height-l)}.t-group{display:flex;flex:1;align-items:center;padding:1.6875rem 0 .5625rem 1rem;overflow:hidden}.t-group_fullsize{padding-top:.0625rem;padding-bottom:0}:host[data-size=m] .t-group_fullsize.t-group_fullsize{padding-top:0}:host[data-size=m] .t-group{padding:1.1875rem 0 0 .75rem;font-size:.8125rem}.t-arrow{pointer-events:auto;cursor:pointer}\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", "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: i1__namespace.TuiTextfieldIconDirective, selector: "[tuiTextfieldIcon]", inputs: ["tuiTextfieldIcon"] }, { 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: i3__namespace$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6__namespace.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { type: i1__namespace.TuiWrapperDirective, selector: "[tuiWrapper]", inputs: ["disabled", "readOnly", "hover", "active", "focus", "invalid", "appearance"] }, { type: i3__namespace.TuiPreventDefaultDirective, selector: "[tuiPreventDefault]", inputs: ["tuiPreventDefault"] }], pipes: { "tuiMapper": i3__namespace.TuiMapperPipe }, viewProviders: [providers.FIXED_DROPDOWN_CONTROLLER_PROVIDER], changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
619
+ ], 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 [nativeId]=\"nativeId\"\n [tuiTextfieldIcon]=\"icon\"\n [disabled]=\"disabled\"\n [disabledItemHandler]=\"disabledItemHandler | tuiMapper : disabledItemHandlerWrapper\"\n [readOnly]=\"readOnly\"\n [inputHidden]=\"!editable\"\n [pseudoHover]=\"pseudoHover\"\n [placeholder]=\"placeholder\"\n [pseudoFocus]=\"computedFocused\"\n [pseudoInvalid]=\"computedInvalid\"\n [editable]=\"false\"\n [expandable]=\"expandable\"\n [removable]=\"!nativeDropdownMode\"\n [search]=\"searchOrSpace\"\n [rows]=\"rows\"\n [ngModel]=\"computedValue | tuiMapper : valueMapper : stringify\"\n (ngModelChange)=\"onInput($event)\"\n (searchChange)=\"onSearch($event)\"\n (keydown.space)=\"onSpace($event)\"\n (keydown.enter)=\"onEnter($event)\"\n (click.prevent)=\"onClick(inputTag)\"\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 </tui-input-tag>\n\n <div\n class=\"t-wrapper\"\n [class.t-wrapper_disabled]=\"disabled\"\n >\n <div\n *ngIf=\"computedGroup\"\n class=\"t-group\"\n [class.t-group_fullsize]=\"inputTag.labelOutside\"\n >\n <ng-container *polymorpheusOutlet=\"valueContent as text; context: {$implicit: value}\">\n {{ text }}\n </ng-container>\n </div>\n\n <ng-template #icon>\n <div\n *ngIf=\"arrow\"\n tuiWrapper\n appearance=\"icon\"\n automation-id=\"tui-multi-select__arrow\"\n tuiPreventDefault=\"mousedown\"\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 </div>\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-wrapper{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;pointer-events:none;justify-content:flex-end}.t-wrapper_disabled{opacity:var(--tui-disabled-opacity)}:host[data-size=s] .t-wrapper{height:var(--tui-height-s)}:host[data-size=m] .t-wrapper{height:var(--tui-height-m)}:host[data-size=l] .t-wrapper{height:var(--tui-height-l)}.t-group{display:flex;flex:1;align-items:center;padding:1.6875rem 0 .5625rem 1rem;overflow:hidden}.t-group_fullsize{padding-top:.0625rem;padding-bottom:0}:host[data-size=m] .t-group_fullsize.t-group_fullsize{padding-top:0}:host[data-size=m] .t-group{padding:1.1875rem 0 0 .75rem;font-size:.8125rem}.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: i1__namespace.TuiTextfieldIconDirective, selector: "[tuiTextfieldIcon]", inputs: ["tuiTextfieldIcon"] }, { 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: 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: i1__namespace.TuiWrapperDirective, selector: "[tuiWrapper]", inputs: ["disabled", "readOnly", "hover", "active", "focus", "invalid", "appearance"] }, { type: i3__namespace.TuiPreventDefaultDirective, selector: "[tuiPreventDefault]", inputs: ["tuiPreventDefault"] }], pipes: { "tuiMapper": i3__namespace.TuiMapperPipe }, viewProviders: [providers.FIXED_DROPDOWN_CONTROLLER_PROVIDER], changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
525
620
  __decorate([
526
621
  i3.tuiDefaultProp()
527
622
  ], TuiMultiSelectComponent.prototype, "stringify", void 0);
@@ -587,10 +682,16 @@
587
682
  }] }, { type: i1__namespace.TuiTextfieldController, decorators: [{
588
683
  type: i0.Inject,
589
684
  args: [i1.TUI_TEXTFIELD_WATCHED_CONTROLLER]
685
+ }] }, { type: undefined, decorators: [{
686
+ type: i0.Inject,
687
+ args: [i3.TUI_IS_MOBILE]
590
688
  }] }];
591
689
  }, propDecorators: { accessor: [{
592
690
  type: i0.ContentChild,
593
691
  args: [i1.TUI_DATA_LIST_ACCESSOR]
692
+ }], nativeSelect: [{
693
+ type: i0.ContentChild,
694
+ args: [AbstractTuiNativeMultiSelect, { static: true }]
594
695
  }], hostedDropdown: [{
595
696
  type: i0.ViewChild,
596
697
  args: [i1.TuiHostedDropdownComponent]
@@ -781,7 +882,7 @@
781
882
  return TuiMultiSelectGroupComponent;
782
883
  }());
783
884
  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 });
784
- TuiMultiSelectGroupComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiMultiSelectGroupComponent, selector: "tui-opt-group[tuiMultiSelectGroup]", inputs: { label: "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:before{display:none}.t-wrapper{display:flex;align-items:flex-start}.t-label:not(:empty){flex:1;padding:.75rem 1rem .25rem}.t-button{margin:.75rem 1rem 0 auto;line-height:1rem}\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: i3__namespace$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i3__namespace$1.AsyncPipe }, changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
885
+ TuiMultiSelectGroupComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiMultiSelectGroupComponent, selector: "tui-opt-group[tuiMultiSelectGroup]", inputs: { label: "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:before{display:none}.t-wrapper{display:flex;align-items:flex-start}.t-label:not(:empty){flex:1;padding:.75rem 1rem .25rem}.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 });
785
886
  __decorate([
786
887
  i3.tuiDefaultProp()
787
888
  ], TuiMultiSelectGroupComponent.prototype, "label", void 0);
@@ -893,6 +994,129 @@
893
994
  }]
894
995
  }] });
895
996
 
997
+ var TuiNativeMultiSelectComponent = /** @class */ (function (_super) {
998
+ __extends(TuiNativeMultiSelectComponent, _super);
999
+ function TuiNativeMultiSelectComponent() {
1000
+ var _this = _super.apply(this, __spreadArray([], __read(arguments))) || this;
1001
+ _this.items = [];
1002
+ return _this;
1003
+ }
1004
+ return TuiNativeMultiSelectComponent;
1005
+ }(AbstractTuiNativeMultiSelect));
1006
+ 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 });
1007
+ 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()", "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: [
1008
+ i1.tuiAsDataList(TuiNativeMultiSelectComponent),
1009
+ {
1010
+ provide: i0.TemplateRef,
1011
+ deps: [TuiNativeMultiSelectComponent],
1012
+ useFactory: function (_a) {
1013
+ var datalist = _a.datalist;
1014
+ return datalist;
1015
+ },
1016
+ },
1017
+ {
1018
+ provide: AbstractTuiNativeMultiSelect,
1019
+ useExisting: TuiNativeMultiSelectComponent,
1020
+ },
1021
+ ], usesInheritance: true, ngImport: i0__namespace, template: "<ng-container *ngIf=\"control.control?.valueChanges | async\"></ng-container>\n\n<tui-data-list-wrapper\n *tuiDataList\n [items]=\"items\"\n [disabledItemHandler]=\"host.disableItemHandler\"\n></tui-data-list-wrapper>\n<option\n *ngFor=\"let option of items\"\n [selected]=\"option | tuiMapper : selectedMapper : host.value\"\n [value]=\"option\"\n [disabled]=\"host.disableItemHandler(option)\"\n>\n {{ 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: 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, "tuiMapper": i3__namespace.TuiMapperPipe }, changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
1022
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TuiNativeMultiSelectComponent, decorators: [{
1023
+ type: i0.Component,
1024
+ args: [{
1025
+ selector: 'select[multiple][tuiSelect]:not([labels])',
1026
+ templateUrl: './native-multi-select.template.html',
1027
+ providers: [
1028
+ i1.tuiAsDataList(TuiNativeMultiSelectComponent),
1029
+ {
1030
+ provide: i0.TemplateRef,
1031
+ deps: [TuiNativeMultiSelectComponent],
1032
+ useFactory: function (_a) {
1033
+ var datalist = _a.datalist;
1034
+ return datalist;
1035
+ },
1036
+ },
1037
+ {
1038
+ provide: AbstractTuiNativeMultiSelect,
1039
+ useExisting: TuiNativeMultiSelectComponent,
1040
+ },
1041
+ ],
1042
+ host: {
1043
+ '[attr.aria-invalid]': 'host.invalid',
1044
+ '[disabled]': 'host.disabled || control.readOnly',
1045
+ '[tabIndex]': 'host.focusable ? 0 : -1',
1046
+ '(change)': 'onValueChange()',
1047
+ '(click.stop.silent)': '0',
1048
+ '(mousedown.stop.silent)': '0',
1049
+ },
1050
+ styleUrls: ['./native-multi-select.style.less'],
1051
+ changeDetection: i0.ChangeDetectionStrategy.OnPush,
1052
+ }]
1053
+ }], propDecorators: { items: [{
1054
+ type: i0.Input
1055
+ }] } });
1056
+
1057
+ var TuiNativeMultiSelectGroupComponent = /** @class */ (function (_super) {
1058
+ __extends(TuiNativeMultiSelectGroupComponent, _super);
1059
+ function TuiNativeMultiSelectGroupComponent() {
1060
+ var _this = _super.apply(this, __spreadArray([], __read(arguments))) || this;
1061
+ _this.items = [];
1062
+ _this.labels = [];
1063
+ return _this;
1064
+ }
1065
+ return TuiNativeMultiSelectGroupComponent;
1066
+ }(AbstractTuiNativeMultiSelect));
1067
+ 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 });
1068
+ 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()", "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: [
1069
+ i1.tuiAsDataList(TuiNativeMultiSelectGroupComponent),
1070
+ {
1071
+ provide: i0.TemplateRef,
1072
+ deps: [TuiNativeMultiSelectGroupComponent],
1073
+ useFactory: function (_a) {
1074
+ var datalist = _a.datalist;
1075
+ return datalist;
1076
+ },
1077
+ },
1078
+ {
1079
+ provide: AbstractTuiNativeMultiSelect,
1080
+ useExisting: TuiNativeMultiSelectGroupComponent,
1081
+ },
1082
+ ], usesInheritance: true, ngImport: i0__namespace, template: "<ng-container *ngIf=\"control.control?.valueChanges | async\"></ng-container>\n\n<tui-data-list-wrapper\n *tuiDataList\n [items]=\"items\"\n [labels]=\"labels\"\n [disabledItemHandler]=\"host.disableItemHandler\"\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 [selected]=\"option | tuiMapper : selectedMapper : host.value\"\n [value]=\"option\"\n [disabled]=\"host.disableItemHandler(option)\"\n >\n {{ 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: 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, "tuiMapper": i3__namespace.TuiMapperPipe }, changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
1083
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TuiNativeMultiSelectGroupComponent, decorators: [{
1084
+ type: i0.Component,
1085
+ args: [{
1086
+ selector: 'select[multiple][tuiSelect][labels]',
1087
+ templateUrl: './native-multi-select-group.template.html',
1088
+ providers: [
1089
+ i1.tuiAsDataList(TuiNativeMultiSelectGroupComponent),
1090
+ {
1091
+ provide: i0.TemplateRef,
1092
+ deps: [TuiNativeMultiSelectGroupComponent],
1093
+ useFactory: function (_a) {
1094
+ var datalist = _a.datalist;
1095
+ return datalist;
1096
+ },
1097
+ },
1098
+ {
1099
+ provide: AbstractTuiNativeMultiSelect,
1100
+ useExisting: TuiNativeMultiSelectGroupComponent,
1101
+ },
1102
+ ],
1103
+ host: {
1104
+ '[attr.aria-invalid]': 'host.invalid',
1105
+ '[disabled]': 'host.disabled || control.readOnly',
1106
+ '[tabIndex]': 'host.focusable ? 0 : -1',
1107
+ '(change)': 'onValueChange()',
1108
+ '(click.stop.silent)': '0',
1109
+ '(mousedown.stop.silent)': '0',
1110
+ },
1111
+ styleUrls: ['./native-multi-select.style.less'],
1112
+ changeDetection: i0.ChangeDetectionStrategy.OnPush,
1113
+ }]
1114
+ }], propDecorators: { items: [{
1115
+ type: i0.Input
1116
+ }], labels: [{
1117
+ type: i0.Input
1118
+ }] } });
1119
+
896
1120
  var TuiMultiSelectModule = /** @class */ (function () {
897
1121
  function TuiMultiSelectModule() {
898
1122
  }
@@ -902,7 +1126,10 @@
902
1126
  TuiMultiSelectModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TuiMultiSelectModule, declarations: [TuiMultiSelectComponent,
903
1127
  TuiMultiSelectGroupComponent,
904
1128
  TuiMultiSelectGroupDirective,
905
- TuiHideSelectedPipe], imports: [i3$1.CommonModule,
1129
+ TuiHideSelectedPipe,
1130
+ TuiNativeMultiSelectComponent,
1131
+ TuiNativeMultiSelectGroupComponent,
1132
+ TuiMultiSelectDirective], imports: [i2$1.CommonModule,
906
1133
  i4.FormsModule,
907
1134
  i6.PolymorpheusModule,
908
1135
  i1.TuiWrapperModule,
@@ -915,14 +1142,19 @@
915
1142
  i1.TuiHostedDropdownModule,
916
1143
  i2.TuiInputTagModule,
917
1144
  multiSelectOption.TuiMultiSelectOptionModule,
1145
+ i1$1.TuiDataListWrapperModule,
1146
+ i3.TuiMapperPipeModule,
918
1147
  i1.TuiLinkModule,
919
1148
  i1.TuiDataListModule,
920
1149
  i1.TuiTextfieldControllerModule], exports: [TuiMultiSelectComponent,
921
1150
  TuiMultiSelectGroupComponent,
922
1151
  TuiMultiSelectGroupDirective,
923
- TuiHideSelectedPipe] });
1152
+ TuiHideSelectedPipe,
1153
+ TuiMultiSelectDirective,
1154
+ TuiNativeMultiSelectComponent,
1155
+ TuiNativeMultiSelectGroupComponent] });
924
1156
  TuiMultiSelectModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TuiMultiSelectModule, imports: [[
925
- i3$1.CommonModule,
1157
+ i2$1.CommonModule,
926
1158
  i4.FormsModule,
927
1159
  i6.PolymorpheusModule,
928
1160
  i1.TuiWrapperModule,
@@ -935,6 +1167,8 @@
935
1167
  i1.TuiHostedDropdownModule,
936
1168
  i2.TuiInputTagModule,
937
1169
  multiSelectOption.TuiMultiSelectOptionModule,
1170
+ i1$1.TuiDataListWrapperModule,
1171
+ i3.TuiMapperPipeModule,
938
1172
  i1.TuiLinkModule,
939
1173
  i1.TuiDataListModule,
940
1174
  i1.TuiTextfieldControllerModule,
@@ -943,7 +1177,7 @@
943
1177
  type: i0.NgModule,
944
1178
  args: [{
945
1179
  imports: [
946
- i3$1.CommonModule,
1180
+ i2$1.CommonModule,
947
1181
  i4.FormsModule,
948
1182
  i6.PolymorpheusModule,
949
1183
  i1.TuiWrapperModule,
@@ -956,6 +1190,8 @@
956
1190
  i1.TuiHostedDropdownModule,
957
1191
  i2.TuiInputTagModule,
958
1192
  multiSelectOption.TuiMultiSelectOptionModule,
1193
+ i1$1.TuiDataListWrapperModule,
1194
+ i3.TuiMapperPipeModule,
959
1195
  i1.TuiLinkModule,
960
1196
  i1.TuiDataListModule,
961
1197
  i1.TuiTextfieldControllerModule,
@@ -965,12 +1201,18 @@
965
1201
  TuiMultiSelectGroupComponent,
966
1202
  TuiMultiSelectGroupDirective,
967
1203
  TuiHideSelectedPipe,
1204
+ TuiNativeMultiSelectComponent,
1205
+ TuiNativeMultiSelectGroupComponent,
1206
+ TuiMultiSelectDirective,
968
1207
  ],
969
1208
  exports: [
970
1209
  TuiMultiSelectComponent,
971
1210
  TuiMultiSelectGroupComponent,
972
1211
  TuiMultiSelectGroupDirective,
973
1212
  TuiHideSelectedPipe,
1213
+ TuiMultiSelectDirective,
1214
+ TuiNativeMultiSelectComponent,
1215
+ TuiNativeMultiSelectGroupComponent,
974
1216
  ],
975
1217
  }]
976
1218
  }] });
@@ -979,14 +1221,18 @@
979
1221
  * Generated bundle index. Do not edit.
980
1222
  */
981
1223
 
1224
+ exports.AbstractTuiNativeMultiSelect = AbstractTuiNativeMultiSelect;
982
1225
  exports.TUI_MULTI_SELECT_DEFAULT_OPTIONS = TUI_MULTI_SELECT_DEFAULT_OPTIONS;
983
1226
  exports.TUI_MULTI_SELECT_OPTION = TUI_MULTI_SELECT_OPTION;
984
1227
  exports.TUI_MULTI_SELECT_OPTIONS = TUI_MULTI_SELECT_OPTIONS;
985
1228
  exports.TuiHideSelectedPipe = TuiHideSelectedPipe;
986
1229
  exports.TuiMultiSelectComponent = TuiMultiSelectComponent;
1230
+ exports.TuiMultiSelectDirective = TuiMultiSelectDirective;
987
1231
  exports.TuiMultiSelectGroupComponent = TuiMultiSelectGroupComponent;
988
1232
  exports.TuiMultiSelectGroupDirective = TuiMultiSelectGroupDirective;
989
1233
  exports.TuiMultiSelectModule = TuiMultiSelectModule;
1234
+ exports.TuiNativeMultiSelectComponent = TuiNativeMultiSelectComponent;
1235
+ exports.TuiNativeMultiSelectGroupComponent = TuiNativeMultiSelectGroupComponent;
990
1236
  exports.tuiMultiSelectOptionsProvider = tuiMultiSelectOptionsProvider;
991
1237
 
992
1238
  Object.defineProperty(exports, '__esModule', { value: true });