@taiga-ui/kit 3.8.0 → 3.9.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 (72) hide show
  1. package/bundles/taiga-ui-kit-components-avatar.umd.js +1 -1
  2. package/bundles/taiga-ui-kit-components-avatar.umd.js.map +1 -1
  3. package/bundles/taiga-ui-kit-components-marker-icon.umd.js +1 -1
  4. package/bundles/taiga-ui-kit-components-marker-icon.umd.js.map +1 -1
  5. package/bundles/taiga-ui-kit-components-multi-select.umd.js +11 -15
  6. package/bundles/taiga-ui-kit-components-multi-select.umd.js.map +1 -1
  7. package/bundles/taiga-ui-kit-components-pdf-viewer.umd.js +16 -3
  8. package/bundles/taiga-ui-kit-components-pdf-viewer.umd.js.map +1 -1
  9. package/bundles/taiga-ui-kit-components-push.umd.js +13 -2
  10. package/bundles/taiga-ui-kit-components-push.umd.js.map +1 -1
  11. package/bundles/taiga-ui-kit-components-select.umd.js +251 -27
  12. package/bundles/taiga-ui-kit-components-select.umd.js.map +1 -1
  13. package/bundles/taiga-ui-kit-components-tag.umd.js +1 -1
  14. package/bundles/taiga-ui-kit-components-tag.umd.js.map +1 -1
  15. package/bundles/taiga-ui-kit-tokens.umd.js +4 -0
  16. package/bundles/taiga-ui-kit-tokens.umd.js.map +1 -1
  17. package/components/avatar/avatar-options.d.ts +2 -2
  18. package/components/avatar/avatar.component.d.ts +1 -1
  19. package/components/marker-icon/marker-icon.component.d.ts +2 -2
  20. package/components/multi-select/multi-select-group/multi-select-group.component.d.ts +4 -2
  21. package/components/multi-select/multi-select.module.d.ts +1 -1
  22. package/components/pdf-viewer/index.d.ts +1 -0
  23. package/components/pdf-viewer/pdf-viewer.tokens.d.ts +10 -0
  24. package/components/push/index.d.ts +1 -0
  25. package/components/push/push.options.d.ts +0 -1
  26. package/components/push/push.tokens.d.ts +5 -0
  27. package/components/select/index.d.ts +3 -0
  28. package/components/select/native-select/native-select-group.component.d.ts +8 -0
  29. package/components/select/native-select/native-select.component.d.ts +7 -0
  30. package/components/select/native-select/native-select.d.ts +14 -0
  31. package/components/select/select.component.d.ts +7 -4
  32. package/components/select/select.module.d.ts +10 -7
  33. package/esm2015/components/avatar/avatar-options.js +1 -1
  34. package/esm2015/components/avatar/avatar.component.js +1 -1
  35. package/esm2015/components/marker-icon/marker-icon.component.js +2 -2
  36. package/esm2015/components/multi-select/multi-select-group/multi-select-group.component.js +11 -10
  37. package/esm2015/components/multi-select/multi-select.module.js +5 -5
  38. package/esm2015/components/pdf-viewer/index.js +2 -1
  39. package/esm2015/components/pdf-viewer/pdf-viewer.component.js +2 -2
  40. package/esm2015/components/pdf-viewer/pdf-viewer.service.js +4 -4
  41. package/esm2015/components/pdf-viewer/pdf-viewer.tokens.js +12 -0
  42. package/esm2015/components/push/index.js +2 -1
  43. package/esm2015/components/push/push.component.js +2 -2
  44. package/esm2015/components/push/push.options.js +2 -10
  45. package/esm2015/components/push/push.service.js +4 -4
  46. package/esm2015/components/push/push.tokens.js +20 -0
  47. package/esm2015/components/select/index.js +4 -1
  48. package/esm2015/components/select/native-select/native-select-group.component.js +69 -0
  49. package/esm2015/components/select/native-select/native-select.component.js +66 -0
  50. package/esm2015/components/select/native-select/native-select.js +38 -0
  51. package/esm2015/components/select/select.component.js +19 -5
  52. package/esm2015/components/select/select.module.js +33 -6
  53. package/esm2015/components/tag/tag.component.js +1 -1
  54. package/esm2015/tokens/i18n.js +4 -1
  55. package/fesm2015/taiga-ui-kit-components-avatar.js +1 -1
  56. package/fesm2015/taiga-ui-kit-components-avatar.js.map +1 -1
  57. package/fesm2015/taiga-ui-kit-components-marker-icon.js +1 -1
  58. package/fesm2015/taiga-ui-kit-components-marker-icon.js.map +1 -1
  59. package/fesm2015/taiga-ui-kit-components-multi-select.js +13 -13
  60. package/fesm2015/taiga-ui-kit-components-multi-select.js.map +1 -1
  61. package/fesm2015/taiga-ui-kit-components-pdf-viewer.js +15 -5
  62. package/fesm2015/taiga-ui-kit-components-pdf-viewer.js.map +1 -1
  63. package/fesm2015/taiga-ui-kit-components-push.js +13 -4
  64. package/fesm2015/taiga-ui-kit-components-push.js.map +1 -1
  65. package/fesm2015/taiga-ui-kit-components-select.js +210 -17
  66. package/fesm2015/taiga-ui-kit-components-select.js.map +1 -1
  67. package/fesm2015/taiga-ui-kit-components-tag.js +1 -1
  68. package/fesm2015/taiga-ui-kit-components-tag.js.map +1 -1
  69. package/fesm2015/taiga-ui-kit-tokens.js +4 -1
  70. package/fesm2015/taiga-ui-kit-tokens.js.map +1 -1
  71. package/package.json +4 -4
  72. package/tokens/i18n.d.ts +4 -0
@@ -1,8 +1,8 @@
1
1
  (function (global, factory) {
2
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/forms'), require('@taiga-ui/cdk'), require('@taiga-ui/core'), require('@taiga-ui/kit/components/arrow'), require('@taiga-ui/kit/components/select-option'), require('@taiga-ui/kit/providers'), require('@taiga-ui/kit/tokens'), require('@angular/common'), require('@tinkoff/ng-polymorpheus')) :
3
- typeof define === 'function' && define.amd ? define('@taiga-ui/kit/components/select', ['exports', '@angular/core', '@angular/forms', '@taiga-ui/cdk', '@taiga-ui/core', '@taiga-ui/kit/components/arrow', '@taiga-ui/kit/components/select-option', '@taiga-ui/kit/providers', '@taiga-ui/kit/tokens', '@angular/common', '@tinkoff/ng-polymorpheus'], 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.select = {}), global.ng.core, global.ng.forms, global.i2, global.i1, global["taiga-ui"].kit.components.arrow, global["taiga-ui"].kit.components["select-option"], global["taiga-ui"].kit.providers, global["taiga-ui"].kit.tokens, global.ng.common, global.i4));
5
- })(this, (function (exports, i0, i5, i2, i1, arrow, selectOption, providers, tokens, i3, i4) { 'use strict';
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@taiga-ui/cdk'), require('@taiga-ui/core'), require('@taiga-ui/kit/components/data-list-wrapper'), require('@angular/common'), require('@angular/forms'), require('@taiga-ui/kit/components/arrow'), require('@taiga-ui/kit/components/select-option'), require('@taiga-ui/kit/providers'), require('@taiga-ui/kit/tokens'), require('@tinkoff/ng-polymorpheus')) :
3
+ typeof define === 'function' && define.amd ? define('@taiga-ui/kit/components/select', ['exports', '@angular/core', '@taiga-ui/cdk', '@taiga-ui/core', '@taiga-ui/kit/components/data-list-wrapper', '@angular/common', '@angular/forms', '@taiga-ui/kit/components/arrow', '@taiga-ui/kit/components/select-option', '@taiga-ui/kit/providers', '@taiga-ui/kit/tokens', '@tinkoff/ng-polymorpheus'], 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.select = {}), global.ng.core, global.i1$1, global.i1, global["taiga-ui"].kit.components["data-list-wrapper"], global.ng.common, global.ng.forms, global["taiga-ui"].kit.components.arrow, global["taiga-ui"].kit.components["select-option"], global["taiga-ui"].kit.providers, global["taiga-ui"].kit.tokens, global.i4));
5
+ })(this, (function (exports, i0, i1$1, i1, i1$2, i3, i5, arrow, selectOption, providers, tokens, i4) { 'use strict';
6
6
 
7
7
  function _interopNamespace(e) {
8
8
  if (e && e.__esModule) return e;
@@ -23,12 +23,53 @@
23
23
  }
24
24
 
25
25
  var i0__namespace = /*#__PURE__*/_interopNamespace(i0);
26
- var i5__namespace = /*#__PURE__*/_interopNamespace(i5);
27
- var i2__namespace = /*#__PURE__*/_interopNamespace(i2);
28
- var i1__namespace = /*#__PURE__*/_interopNamespace(i1);
26
+ var i1__namespace = /*#__PURE__*/_interopNamespace(i1$1);
27
+ var i1__namespace$2 = /*#__PURE__*/_interopNamespace(i1);
28
+ var i1__namespace$1 = /*#__PURE__*/_interopNamespace(i1$2);
29
29
  var i3__namespace = /*#__PURE__*/_interopNamespace(i3);
30
+ var i5__namespace = /*#__PURE__*/_interopNamespace(i5);
30
31
  var i4__namespace = /*#__PURE__*/_interopNamespace(i4);
31
32
 
33
+ var AbstractTuiNativeSelect = /** @class */ (function () {
34
+ function AbstractTuiNativeSelect(host, elementRef, idService) {
35
+ this.host = host;
36
+ this.elementRef = elementRef;
37
+ this.idService = idService;
38
+ this.datalist = null;
39
+ this.host.process(this.elementRef.nativeElement);
40
+ }
41
+ Object.defineProperty(AbstractTuiNativeSelect.prototype, "id", {
42
+ get: function () {
43
+ return this.elementRef.nativeElement.id || this.idService.generate();
44
+ },
45
+ enumerable: false,
46
+ configurable: true
47
+ });
48
+ return AbstractTuiNativeSelect;
49
+ }());
50
+ AbstractTuiNativeSelect.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: AbstractTuiNativeSelect, deps: [{ token: i1.TUI_TEXTFIELD_HOST }, { token: i0.ElementRef }, { token: i1$1.TuiIdService }], target: i0__namespace.ɵɵFactoryTarget.Directive });
51
+ AbstractTuiNativeSelect.ɵdir = i0__namespace.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.16", type: AbstractTuiNativeSelect, host: { properties: { "id": "this.id" } }, viewQueries: [{ propertyName: "datalist", first: true, predicate: i1.TuiDataListDirective, descendants: true, read: i0.TemplateRef, static: true }], ngImport: i0__namespace });
52
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: AbstractTuiNativeSelect, decorators: [{
53
+ type: i0.Directive
54
+ }], ctorParameters: function () {
55
+ return [{ type: undefined, decorators: [{
56
+ type: i0.Inject,
57
+ args: [i1.TUI_TEXTFIELD_HOST]
58
+ }] }, { type: i0__namespace.ElementRef, decorators: [{
59
+ type: i0.Inject,
60
+ args: [i0.ElementRef]
61
+ }] }, { type: i1__namespace.TuiIdService, decorators: [{
62
+ type: i0.Inject,
63
+ args: [i1$1.TuiIdService]
64
+ }] }];
65
+ }, propDecorators: { datalist: [{
66
+ type: i0.ViewChild,
67
+ args: [i1.TuiDataListDirective, { read: i0.TemplateRef, static: true }]
68
+ }], id: [{
69
+ type: i0.HostBinding,
70
+ args: ["id"]
71
+ }] } });
72
+
32
73
  /******************************************************************************
33
74
  Copyright (c) Microsoft Corporation.
34
75
 
@@ -356,6 +397,145 @@
356
397
  return typeof state === "function" ? receiver === state : state.has(receiver);
357
398
  }
358
399
 
400
+ var TuiNativeSelectComponent = /** @class */ (function (_super) {
401
+ __extends(TuiNativeSelectComponent, _super);
402
+ function TuiNativeSelectComponent() {
403
+ var _this = _super.apply(this, __spreadArray([], __read(arguments))) || this;
404
+ _this.items = [];
405
+ return _this;
406
+ }
407
+ return TuiNativeSelectComponent;
408
+ }(AbstractTuiNativeSelect));
409
+ TuiNativeSelectComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TuiNativeSelectComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
410
+ TuiNativeSelectComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiNativeSelectComponent, selector: "select[tuiSelect]:not([labels])", inputs: { items: "items" }, host: { listeners: { "change": "host.onValueChange($event.target.value)" }, properties: { "attr.aria-invalid": "host.invalid", "disabled": "host.disabled", "tabIndex": "host.focusable ? 0 : -1", "readOnly": "host.readOnly", "value": "host.value" } }, providers: [
411
+ {
412
+ provide: i1.TuiDataListDirective,
413
+ deps: [TuiNativeSelectComponent],
414
+ useExisting: TuiNativeSelectComponent,
415
+ },
416
+ {
417
+ provide: i0.TemplateRef,
418
+ deps: [TuiNativeSelectComponent],
419
+ useFactory: function (_a) {
420
+ var datalist = _a.datalist;
421
+ return datalist;
422
+ },
423
+ },
424
+ {
425
+ provide: AbstractTuiNativeSelect,
426
+ useExisting: TuiNativeSelectComponent,
427
+ },
428
+ ], usesInheritance: true, ngImport: i0__namespace, template: "<tui-data-list-wrapper\n *tuiDataList\n [items]=\"items\"\n></tui-data-list-wrapper>\n<option\n *ngFor=\"let option of items\"\n [value]=\"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: i1__namespace$2.TuiDataListDirective, selector: "ng-template[tuiDataList]" }, { type: i3__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
429
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TuiNativeSelectComponent, decorators: [{
430
+ type: i0.Component,
431
+ args: [{
432
+ selector: "select[tuiSelect]:not([labels])",
433
+ templateUrl: "./native-select.template.html",
434
+ providers: [
435
+ {
436
+ provide: i1.TuiDataListDirective,
437
+ deps: [TuiNativeSelectComponent],
438
+ useExisting: TuiNativeSelectComponent,
439
+ },
440
+ {
441
+ provide: i0.TemplateRef,
442
+ deps: [TuiNativeSelectComponent],
443
+ useFactory: function (_a) {
444
+ var datalist = _a.datalist;
445
+ return datalist;
446
+ },
447
+ },
448
+ {
449
+ provide: AbstractTuiNativeSelect,
450
+ useExisting: TuiNativeSelectComponent,
451
+ },
452
+ ],
453
+ host: {
454
+ '[attr.aria-invalid]': "host.invalid",
455
+ '[disabled]': "host.disabled",
456
+ '[tabIndex]': "host.focusable ? 0 : -1",
457
+ '[readOnly]': "host.readOnly",
458
+ '[value]': "host.value",
459
+ '(change)': "host.onValueChange($event.target.value)",
460
+ },
461
+ styleUrls: ["./native-select.style.less"],
462
+ changeDetection: i0.ChangeDetectionStrategy.OnPush,
463
+ }]
464
+ }], propDecorators: { items: [{
465
+ type: i0.Input
466
+ }] } });
467
+
468
+ var TuiNativeSelectGroupComponent = /** @class */ (function (_super) {
469
+ __extends(TuiNativeSelectGroupComponent, _super);
470
+ function TuiNativeSelectGroupComponent() {
471
+ var _this = _super.apply(this, __spreadArray([], __read(arguments))) || this;
472
+ _this.items = [];
473
+ _this.labels = [];
474
+ return _this;
475
+ }
476
+ return TuiNativeSelectGroupComponent;
477
+ }(AbstractTuiNativeSelect));
478
+ TuiNativeSelectGroupComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TuiNativeSelectGroupComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
479
+ TuiNativeSelectGroupComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiNativeSelectGroupComponent, selector: "select[tuiSelect][labels]", inputs: { items: "items", labels: "labels" }, host: { listeners: { "change": "host.onValueChange($event.target.value)" }, properties: { "attr.aria-invalid": "host.invalid", "disabled": "host.disabled", "tabIndex": "host.focusable ? 0 : -1", "readOnly": "host.readOnly", "value": "host.value" } }, providers: [
480
+ {
481
+ provide: i1.TuiDataListDirective,
482
+ deps: [TuiNativeSelectGroupComponent],
483
+ useExisting: TuiNativeSelectGroupComponent,
484
+ },
485
+ {
486
+ provide: i0.TemplateRef,
487
+ deps: [TuiNativeSelectGroupComponent],
488
+ useFactory: function (_a) {
489
+ var datalist = _a.datalist;
490
+ return datalist;
491
+ },
492
+ },
493
+ {
494
+ provide: AbstractTuiNativeSelect,
495
+ useExisting: TuiNativeSelectGroupComponent,
496
+ },
497
+ ], usesInheritance: true, ngImport: i0__namespace, template: "<tui-data-list-wrapper\n *tuiDataList\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 [value]=\"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: i1__namespace$2.TuiDataListDirective, selector: "ng-template[tuiDataList]" }, { type: i3__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
498
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TuiNativeSelectGroupComponent, decorators: [{
499
+ type: i0.Component,
500
+ args: [{
501
+ selector: "select[tuiSelect][labels]",
502
+ templateUrl: "./native-select-group.template.html",
503
+ providers: [
504
+ {
505
+ provide: i1.TuiDataListDirective,
506
+ deps: [TuiNativeSelectGroupComponent],
507
+ useExisting: TuiNativeSelectGroupComponent,
508
+ },
509
+ {
510
+ provide: i0.TemplateRef,
511
+ deps: [TuiNativeSelectGroupComponent],
512
+ useFactory: function (_a) {
513
+ var datalist = _a.datalist;
514
+ return datalist;
515
+ },
516
+ },
517
+ {
518
+ provide: AbstractTuiNativeSelect,
519
+ useExisting: TuiNativeSelectGroupComponent,
520
+ },
521
+ ],
522
+ host: {
523
+ '[attr.aria-invalid]': "host.invalid",
524
+ '[disabled]': "host.disabled",
525
+ '[tabIndex]': "host.focusable ? 0 : -1",
526
+ '[readOnly]': "host.readOnly",
527
+ '[value]': "host.value",
528
+ '(change)': "host.onValueChange($event.target.value)",
529
+ },
530
+ styleUrls: ["./native-select.style.less"],
531
+ changeDetection: i0.ChangeDetectionStrategy.OnPush,
532
+ }]
533
+ }], propDecorators: { items: [{
534
+ type: i0.Input
535
+ }], labels: [{
536
+ type: i0.Input
537
+ }] } });
538
+
359
539
  var TUI_SELECT_DEFAULT_OPTIONS = {
360
540
  valueContent: "",
361
541
  };
@@ -369,12 +549,13 @@
369
549
 
370
550
  var TuiSelectComponent = /** @class */ (function (_super) {
371
551
  __extends(TuiSelectComponent, _super);
372
- function TuiSelectComponent(control, changeDetectorRef, textfieldCleaner, arrowMode, itemsHandlers, options) {
552
+ function TuiSelectComponent(control, changeDetectorRef, textfieldCleaner, arrowMode, itemsHandlers, options, isMobile) {
373
553
  var _this = _super.call(this, control, changeDetectorRef) || this;
374
554
  _this.textfieldCleaner = textfieldCleaner;
375
555
  _this.arrowMode = arrowMode;
376
556
  _this.itemsHandlers = itemsHandlers;
377
557
  _this.options = options;
558
+ _this.isMobile = isMobile;
378
559
  _this.stringify = _this.itemsHandlers.stringify;
379
560
  _this.identityMatcher = _this.itemsHandlers.identityMatcher;
380
561
  _this.valueContent = _this.options.valueContent;
@@ -397,12 +578,19 @@
397
578
  });
398
579
  Object.defineProperty(TuiSelectComponent.prototype, "focused", {
399
580
  get: function () {
400
- return (i2.tuiIsNativeFocused(this.nativeFocusableElement) ||
581
+ return (i1$1.tuiIsNativeFocused(this.nativeFocusableElement) ||
401
582
  (!!this.hostedDropdown && this.hostedDropdown.focused));
402
583
  },
403
584
  enumerable: false,
404
585
  configurable: true
405
586
  });
587
+ Object.defineProperty(TuiSelectComponent.prototype, "nativeDropdownMode", {
588
+ get: function () {
589
+ return !!this.nativeSelect && this.isMobile;
590
+ },
591
+ enumerable: false,
592
+ configurable: true
593
+ });
406
594
  Object.defineProperty(TuiSelectComponent.prototype, "computedValue", {
407
595
  get: function () {
408
596
  return this.value === null ? "" : this.stringify(this.value) || " ";
@@ -421,6 +609,9 @@
421
609
  if (!value) {
422
610
  this.updateValue(null);
423
611
  }
612
+ else {
613
+ this.updateValue(value || null);
614
+ }
424
615
  };
425
616
  TuiSelectComponent.prototype.onActiveZone = function (active) {
426
617
  this.updateFocused(active);
@@ -443,22 +634,22 @@
443
634
  }
444
635
  };
445
636
  return TuiSelectComponent;
446
- }(i2.AbstractTuiNullableControl));
447
- TuiSelectComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TuiSelectComponent, deps: [{ token: i5.NgControl, optional: true, self: true }, { token: i0.ChangeDetectorRef }, { token: i1.TUI_TEXTFIELD_CLEANER }, { token: arrow.TUI_ARROW_MODE }, { token: tokens.TUI_ITEMS_HANDLERS }, { token: TUI_SELECT_OPTIONS }], target: i0__namespace.ɵɵFactoryTarget.Component });
637
+ }(i1$1.AbstractTuiNullableControl));
638
+ TuiSelectComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TuiSelectComponent, deps: [{ token: i5.NgControl, optional: true, self: true }, { token: i0.ChangeDetectorRef }, { token: i1.TUI_TEXTFIELD_CLEANER }, { token: arrow.TUI_ARROW_MODE }, { token: tokens.TUI_ITEMS_HANDLERS }, { token: TUI_SELECT_OPTIONS }, { token: i1$1.TUI_IS_MOBILE }], target: i0__namespace.ɵɵFactoryTarget.Component });
448
639
  TuiSelectComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiSelectComponent, selector: "tui-select", inputs: { stringify: "stringify", identityMatcher: "identityMatcher", valueContent: "valueContent" }, providers: [
449
- i2.tuiAsFocusableItemAccessor(TuiSelectComponent),
450
- i2.tuiAsControl(TuiSelectComponent),
640
+ i1$1.tuiAsFocusableItemAccessor(TuiSelectComponent),
641
+ i1$1.tuiAsControl(TuiSelectComponent),
451
642
  i1.tuiAsDataListHost(TuiSelectComponent),
452
643
  i1.tuiAsOptionContent(selectOption.TUI_SELECT_OPTION),
453
- ], queries: [{ propertyName: "datalist", first: true, predicate: i1.TuiDataListDirective, descendants: true, read: i0.TemplateRef }], viewQueries: [{ propertyName: "textfield", first: true, predicate: i1.TuiPrimitiveTextfieldComponent, descendants: true }, { propertyName: "hostedDropdown", first: true, predicate: i1.TuiHostedDropdownComponent, descendants: true }], usesInheritance: true, ngImport: i0__namespace, template: "<tui-hosted-dropdown\n class=\"t-hosted\"\n [canOpen]=\"interactive\"\n [content]=\"datalist || ''\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n>\n <tui-primitive-textfield\n automation-id=\"tui-select__textfield\"\n class=\"t-textfield\"\n [tuiTextfieldIcon]=\"arrow\"\n [editable]=\"false\"\n [pseudoFocus]=\"computedFocused\"\n [pseudoHover]=\"pseudoHover\"\n [pseudoActive]=\"pseudoActive\"\n [invalid]=\"computedInvalid\"\n [nativeId]=\"nativeId\"\n [readOnly]=\"readOnly\"\n [disabled]=\"computedDisabled\"\n [focusable]=\"computedFocusable\"\n [value]=\"computedValue\"\n (valueChange)=\"onValueChange($event)\"\n (keydown.delete.prevent)=\"onKeyDownDelete()\"\n (keydown.backspace.prevent)=\"onKeyDownDelete()\"\n >\n <ng-content></ng-content>\n <ng-content\n select=\"input\"\n ngProjectAs=\"input\"\n ></ng-content>\n <div\n *ngIf=\"value !== null\"\n ngProjectAs=\"tuiContent\"\n automation-id=\"tui-select__value\"\n class=\"t-value\"\n >\n <div\n *polymorpheusOutlet=\"computedContent as text; context: {$implicit: value, active: computedFocused}\"\n class=\"t-primitive-value\"\n [textContent]=\"text\"\n ></div>\n </div>\n </tui-primitive-textfield>\n</tui-hosted-dropdown>\n", styles: [":host{display:block;border-radius:var(--tui-radius-m);text-align:left}:host:not(._readonly) ::ng-deep input:not(:disabled){cursor:pointer}:host._readonly ::ng-deep input{cursor:default}.t-hosted{display:block;border-radius:inherit}.t-textfield{border-radius:inherit;text-align:inherit}.t-value{display:flex;width:100%;align-items:center}.t-primitive-value{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\n"], components: [{ type: i1__namespace.TuiHostedDropdownComponent, selector: "tui-hosted-dropdown", inputs: ["content", "canOpen", "open"], outputs: ["openChange", "focusedChange"] }, { type: i1__namespace.TuiPrimitiveTextfieldComponent, selector: "tui-primitive-textfield", inputs: ["editable", "filler", "iconCleaner", "readOnly", "invalid", "disabled", "prefix", "postfix", "value"], outputs: ["valueChange"] }], directives: [{ type: i2__namespace.TuiActiveZoneDirective, selector: "[tuiActiveZone]:not(ng-container), [tuiActiveZoneChange]:not(ng-container), [tuiActiveZoneParent]:not(ng-container)", inputs: ["tuiActiveZoneParent"], outputs: ["tuiActiveZoneChange"], exportAs: ["tuiActiveZone"] }, { type: i1__namespace.TuiPrimitiveTextfieldDirective, selector: "tui-primitive-textfield" }, { type: i1__namespace.TuiTextfieldIconDirective, selector: "[tuiTextfieldIcon]", inputs: ["tuiTextfieldIcon"] }, { type: i3__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4__namespace.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }], viewProviders: [providers.FIXED_DROPDOWN_CONTROLLER_PROVIDER], changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
644
+ ], queries: [{ propertyName: "nativeSelect", first: true, predicate: AbstractTuiNativeSelect, descendants: true, static: true }, { propertyName: "datalist", first: true, predicate: i1.TuiDataListDirective, descendants: true, read: i0.TemplateRef }], viewQueries: [{ propertyName: "textfield", first: true, predicate: i1.TuiPrimitiveTextfieldComponent, descendants: true }, { propertyName: "hostedDropdown", first: true, predicate: i1.TuiHostedDropdownComponent, descendants: true }], usesInheritance: true, ngImport: i0__namespace, template: "<tui-hosted-dropdown\n class=\"t-hosted\"\n [canOpen]=\"interactive && !nativeDropdownMode\"\n [content]=\"datalist || ''\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n>\n <tui-primitive-textfield\n automation-id=\"tui-select__textfield\"\n class=\"t-textfield\"\n [tuiTextfieldIcon]=\"arrow\"\n [editable]=\"false\"\n [pseudoFocus]=\"computedFocused\"\n [pseudoHover]=\"pseudoHover\"\n [pseudoActive]=\"pseudoActive\"\n [invalid]=\"computedInvalid\"\n [nativeId]=\"nativeId\"\n [readOnly]=\"readOnly\"\n [disabled]=\"computedDisabled\"\n [focusable]=\"computedFocusable\"\n [value]=\"computedValue\"\n (valueChange)=\"onValueChange($any($event))\"\n (keydown.delete.prevent)=\"onKeyDownDelete()\"\n (keydown.backspace.prevent)=\"onKeyDownDelete()\"\n >\n <ng-content></ng-content>\n <ng-content\n select=\"input\"\n ngProjectAs=\"input\"\n ></ng-content>\n\n <ng-template #select>\n <ng-container *ngIf=\"isMobile\">\n <ng-content\n select=\"select\"\n ngProjectAs=\"select\"\n ></ng-content>\n </ng-container>\n </ng-template>\n\n <ng-container\n *ngTemplateOutlet=\"select\"\n ngProjectAs=\"select\"\n ></ng-container>\n\n <div\n *ngIf=\"value !== null\"\n ngProjectAs=\"tuiContent\"\n automation-id=\"tui-select__value\"\n class=\"t-value\"\n >\n <div\n *polymorpheusOutlet=\"computedContent as text; context: {$implicit: value, active: computedFocused}\"\n class=\"t-primitive-value\"\n [textContent]=\"text\"\n ></div>\n </div>\n </tui-primitive-textfield>\n</tui-hosted-dropdown>\n", styles: [":host{display:block;border-radius:var(--tui-radius-m);text-align:left}:host:not(._readonly) ::ng-deep input:not(:disabled){cursor:pointer}:host._readonly ::ng-deep input{cursor:default}.t-hosted{display:block;border-radius:inherit}.t-textfield{border-radius:inherit;text-align:inherit}.t-value{display:flex;width:100%;align-items:center}.t-primitive-value{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\n"], components: [{ type: i1__namespace$2.TuiHostedDropdownComponent, selector: "tui-hosted-dropdown", inputs: ["content", "canOpen", "open"], outputs: ["openChange", "focusedChange"] }, { type: i1__namespace$2.TuiPrimitiveTextfieldComponent, selector: "tui-primitive-textfield", inputs: ["editable", "filler", "iconCleaner", "readOnly", "invalid", "disabled", "prefix", "postfix", "value"], outputs: ["valueChange"] }], directives: [{ type: i1__namespace.TuiActiveZoneDirective, selector: "[tuiActiveZone]:not(ng-container), [tuiActiveZoneChange]:not(ng-container), [tuiActiveZoneParent]:not(ng-container)", inputs: ["tuiActiveZoneParent"], outputs: ["tuiActiveZoneChange"], exportAs: ["tuiActiveZone"] }, { type: i1__namespace$2.TuiPrimitiveTextfieldDirective, selector: "tui-primitive-textfield" }, { type: i1__namespace$2.TuiTextfieldIconDirective, selector: "[tuiTextfieldIcon]", inputs: ["tuiTextfieldIcon"] }, { type: i3__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3__namespace.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i4__namespace.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }], viewProviders: [providers.FIXED_DROPDOWN_CONTROLLER_PROVIDER], changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
454
645
  __decorate([
455
- i2.tuiDefaultProp()
646
+ i1$1.tuiDefaultProp()
456
647
  ], TuiSelectComponent.prototype, "stringify", void 0);
457
648
  __decorate([
458
- i2.tuiDefaultProp()
649
+ i1$1.tuiDefaultProp()
459
650
  ], TuiSelectComponent.prototype, "identityMatcher", void 0);
460
651
  __decorate([
461
- i2.tuiDefaultProp()
652
+ i1$1.tuiDefaultProp()
462
653
  ], TuiSelectComponent.prototype, "valueContent", void 0);
463
654
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TuiSelectComponent, decorators: [{
464
655
  type: i0.Component,
@@ -468,8 +659,8 @@
468
659
  styleUrls: ["./select.style.less"],
469
660
  changeDetection: i0.ChangeDetectionStrategy.OnPush,
470
661
  providers: [
471
- i2.tuiAsFocusableItemAccessor(TuiSelectComponent),
472
- i2.tuiAsControl(TuiSelectComponent),
662
+ i1$1.tuiAsFocusableItemAccessor(TuiSelectComponent),
663
+ i1$1.tuiAsControl(TuiSelectComponent),
473
664
  i1.tuiAsDataListHost(TuiSelectComponent),
474
665
  i1.tuiAsOptionContent(selectOption.TUI_SELECT_OPTION),
475
666
  ],
@@ -486,7 +677,7 @@
486
677
  }] }, { type: i0__namespace.ChangeDetectorRef, decorators: [{
487
678
  type: i0.Inject,
488
679
  args: [i0.ChangeDetectorRef]
489
- }] }, { type: i1__namespace.TuiTextfieldCleanerDirective, decorators: [{
680
+ }] }, { type: i1__namespace$2.TuiTextfieldCleanerDirective, decorators: [{
490
681
  type: i0.Inject,
491
682
  args: [i1.TUI_TEXTFIELD_CLEANER]
492
683
  }] }, { type: undefined, decorators: [{
@@ -498,6 +689,9 @@
498
689
  }] }, { type: undefined, decorators: [{
499
690
  type: i0.Inject,
500
691
  args: [TUI_SELECT_OPTIONS]
692
+ }] }, { type: undefined, decorators: [{
693
+ type: i0.Inject,
694
+ args: [i1$1.TUI_IS_MOBILE]
501
695
  }] }];
502
696
  }, propDecorators: { textfield: [{
503
697
  type: i0.ViewChild,
@@ -505,6 +699,9 @@
505
699
  }], hostedDropdown: [{
506
700
  type: i0.ViewChild,
507
701
  args: [i1.TuiHostedDropdownComponent]
702
+ }], nativeSelect: [{
703
+ type: i0.ContentChild,
704
+ args: [AbstractTuiNativeSelect, { static: true }]
508
705
  }], stringify: [{
509
706
  type: i0.Input
510
707
  }], identityMatcher: [{
@@ -556,23 +753,34 @@
556
753
  return TuiSelectModule;
557
754
  }());
558
755
  TuiSelectModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TuiSelectModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
559
- TuiSelectModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TuiSelectModule, declarations: [TuiSelectComponent, TuiSelectDirective], imports: [i3.CommonModule,
756
+ TuiSelectModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TuiSelectModule, declarations: [TuiSelectComponent,
757
+ TuiSelectDirective,
758
+ TuiNativeSelectComponent,
759
+ TuiNativeSelectGroupComponent], imports: [i3.CommonModule,
560
760
  i4.PolymorpheusModule,
561
- i2.TuiActiveZoneModule,
761
+ i1$1.TuiActiveZoneModule,
562
762
  i1.TuiPrimitiveTextfieldModule,
563
763
  i1.TuiHostedDropdownModule,
564
764
  selectOption.TuiSelectOptionModule,
565
765
  arrow.TuiArrowModule,
566
- i1.TuiTextfieldControllerModule], exports: [TuiSelectComponent, TuiSelectDirective, i1.TuiTextfieldComponent] });
766
+ i1.TuiTextfieldControllerModule,
767
+ i1$2.TuiDataListWrapperModule,
768
+ i1.TuiDataListModule], exports: [TuiSelectComponent,
769
+ TuiSelectDirective,
770
+ i1.TuiTextfieldComponent,
771
+ TuiNativeSelectComponent,
772
+ TuiNativeSelectGroupComponent] });
567
773
  TuiSelectModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TuiSelectModule, imports: [[
568
774
  i3.CommonModule,
569
775
  i4.PolymorpheusModule,
570
- i2.TuiActiveZoneModule,
776
+ i1$1.TuiActiveZoneModule,
571
777
  i1.TuiPrimitiveTextfieldModule,
572
778
  i1.TuiHostedDropdownModule,
573
779
  selectOption.TuiSelectOptionModule,
574
780
  arrow.TuiArrowModule,
575
781
  i1.TuiTextfieldControllerModule,
782
+ i1$2.TuiDataListWrapperModule,
783
+ i1.TuiDataListModule,
576
784
  ]] });
577
785
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TuiSelectModule, decorators: [{
578
786
  type: i0.NgModule,
@@ -580,15 +788,28 @@
580
788
  imports: [
581
789
  i3.CommonModule,
582
790
  i4.PolymorpheusModule,
583
- i2.TuiActiveZoneModule,
791
+ i1$1.TuiActiveZoneModule,
584
792
  i1.TuiPrimitiveTextfieldModule,
585
793
  i1.TuiHostedDropdownModule,
586
794
  selectOption.TuiSelectOptionModule,
587
795
  arrow.TuiArrowModule,
588
796
  i1.TuiTextfieldControllerModule,
797
+ i1$2.TuiDataListWrapperModule,
798
+ i1.TuiDataListModule,
799
+ ],
800
+ declarations: [
801
+ TuiSelectComponent,
802
+ TuiSelectDirective,
803
+ TuiNativeSelectComponent,
804
+ TuiNativeSelectGroupComponent,
805
+ ],
806
+ exports: [
807
+ TuiSelectComponent,
808
+ TuiSelectDirective,
809
+ i1.TuiTextfieldComponent,
810
+ TuiNativeSelectComponent,
811
+ TuiNativeSelectGroupComponent,
589
812
  ],
590
- declarations: [TuiSelectComponent, TuiSelectDirective],
591
- exports: [TuiSelectComponent, TuiSelectDirective, i1.TuiTextfieldComponent],
592
813
  }]
593
814
  }] });
594
815
 
@@ -596,8 +817,11 @@
596
817
  * Generated bundle index. Do not edit.
597
818
  */
598
819
 
820
+ exports.AbstractTuiNativeSelect = AbstractTuiNativeSelect;
599
821
  exports.TUI_SELECT_DEFAULT_OPTIONS = TUI_SELECT_DEFAULT_OPTIONS;
600
822
  exports.TUI_SELECT_OPTIONS = TUI_SELECT_OPTIONS;
823
+ exports.TuiNativeSelectComponent = TuiNativeSelectComponent;
824
+ exports.TuiNativeSelectGroupComponent = TuiNativeSelectGroupComponent;
601
825
  exports.TuiSelectComponent = TuiSelectComponent;
602
826
  exports.TuiSelectDirective = TuiSelectDirective;
603
827
  exports.TuiSelectModule = TuiSelectModule;