@taiga-ui/kit 3.54.0 → 3.55.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (104) hide show
  1. package/bundles/taiga-ui-kit-components-accordion.umd.js +1 -1
  2. package/bundles/taiga-ui-kit-components-accordion.umd.js.map +1 -1
  3. package/bundles/taiga-ui-kit-components-action.umd.js +1 -1
  4. package/bundles/taiga-ui-kit-components-action.umd.js.map +1 -1
  5. package/bundles/taiga-ui-kit-components-avatar.umd.js +1 -1
  6. package/bundles/taiga-ui-kit-components-avatar.umd.js.map +1 -1
  7. package/bundles/taiga-ui-kit-components-badged-content.umd.js.map +1 -1
  8. package/bundles/taiga-ui-kit-components-calendar-range.umd.js +1 -0
  9. package/bundles/taiga-ui-kit-components-calendar-range.umd.js.map +1 -1
  10. package/bundles/taiga-ui-kit-components-combo-box.umd.js +4 -1
  11. package/bundles/taiga-ui-kit-components-combo-box.umd.js.map +1 -1
  12. package/bundles/taiga-ui-kit-components-files.umd.js +4 -1
  13. package/bundles/taiga-ui-kit-components-files.umd.js.map +1 -1
  14. package/bundles/taiga-ui-kit-components-input-date-range.umd.js +9 -1
  15. package/bundles/taiga-ui-kit-components-input-date-range.umd.js.map +1 -1
  16. package/bundles/taiga-ui-kit-components-input-files.umd.js.map +1 -1
  17. package/bundles/taiga-ui-kit-components-input-phone-international.umd.js +1 -1
  18. package/bundles/taiga-ui-kit-components-input-phone-international.umd.js.map +1 -1
  19. package/bundles/taiga-ui-kit-components-input-phone.umd.js +3 -3
  20. package/bundles/taiga-ui-kit-components-input-phone.umd.js.map +1 -1
  21. package/bundles/taiga-ui-kit-components-input-tag.umd.js +2 -10
  22. package/bundles/taiga-ui-kit-components-input-tag.umd.js.map +1 -1
  23. package/bundles/taiga-ui-kit-components-line-clamp.umd.js.map +1 -1
  24. package/bundles/taiga-ui-kit-components-multi-select.umd.js +4 -1
  25. package/bundles/taiga-ui-kit-components-multi-select.umd.js.map +1 -1
  26. package/bundles/taiga-ui-kit-components-pdf-viewer.umd.js.map +1 -1
  27. package/bundles/taiga-ui-kit-components-progress.umd.js +1 -1
  28. package/bundles/taiga-ui-kit-components-progress.umd.js.map +1 -1
  29. package/bundles/taiga-ui-kit-components-select-option.umd.js +4 -4
  30. package/bundles/taiga-ui-kit-components-select-option.umd.js.map +1 -1
  31. package/bundles/taiga-ui-kit-components-stepper.umd.js +1 -1
  32. package/bundles/taiga-ui-kit-components-tabs.umd.js +1 -1
  33. package/bundles/taiga-ui-kit-components-tree.umd.js.map +1 -1
  34. package/bundles/taiga-ui-kit-pipes-field-error.umd.js +6 -6
  35. package/bundles/taiga-ui-kit-pipes-field-error.umd.js.map +1 -1
  36. package/bundles/taiga-ui-kit-utils-miscellaneous.umd.js +17 -25
  37. package/bundles/taiga-ui-kit-utils-miscellaneous.umd.js.map +1 -1
  38. package/components/files/file/file.component.d.ts +1 -1
  39. package/components/input-tag/input-tag.component.d.ts +3 -4
  40. package/components/pdf-viewer/pdf-viewer.options.d.ts +5 -5
  41. package/components/progress/progress-circle/progress-circle.component.d.ts +2 -2
  42. package/esm2015/components/accordion/accordion-item/accordion-item.component.js +1 -1
  43. package/esm2015/components/action/action.component.js +1 -1
  44. package/esm2015/components/avatar/avatar.component.js +2 -2
  45. package/esm2015/components/badged-content/badged-content.component.js +1 -1
  46. package/esm2015/components/calendar-range/calendar-range.component.js +2 -1
  47. package/esm2015/components/combo-box/combo-box.component.js +5 -2
  48. package/esm2015/components/files/file/file.component.js +5 -2
  49. package/esm2015/components/input-date-range/input-date-range.component.js +10 -2
  50. package/esm2015/components/input-files/input-files.component.js +1 -2
  51. package/esm2015/components/input-files/input-files.directive.js +1 -2
  52. package/esm2015/components/input-phone/input-phone.component.js +4 -4
  53. package/esm2015/components/input-phone-international/input-phone-international.component.js +2 -2
  54. package/esm2015/components/input-tag/input-tag.component.js +3 -11
  55. package/esm2015/components/line-clamp/line-clamp.component.js +1 -1
  56. package/esm2015/components/multi-select/multi-select.component.js +5 -2
  57. package/esm2015/components/pdf-viewer/pdf-viewer.options.js +1 -1
  58. package/esm2015/components/progress/progress-circle/progress-circle.component.js +2 -2
  59. package/esm2015/components/select-option/select-option.component.js +5 -5
  60. package/esm2015/components/stepper/step/step.component.js +1 -1
  61. package/esm2015/components/tabs/tab/tab.component.js +1 -1
  62. package/esm2015/components/tree/components/tree-item/tree-item.component.js +1 -2
  63. package/esm2015/components/tree/components/tree-item/tree-item.providers.js +1 -2
  64. package/esm2015/components/tree/components/tree-item-content/tree-item-content.component.js +1 -2
  65. package/esm2015/pipes/field-error/field-error-pipe.js +7 -7
  66. package/esm2015/utils/miscellaneous/create-time-periods.js +3 -3
  67. package/fesm2015/taiga-ui-kit-components-accordion.js +1 -1
  68. package/fesm2015/taiga-ui-kit-components-accordion.js.map +1 -1
  69. package/fesm2015/taiga-ui-kit-components-action.js +1 -1
  70. package/fesm2015/taiga-ui-kit-components-action.js.map +1 -1
  71. package/fesm2015/taiga-ui-kit-components-avatar.js +1 -1
  72. package/fesm2015/taiga-ui-kit-components-avatar.js.map +1 -1
  73. package/fesm2015/taiga-ui-kit-components-badged-content.js.map +1 -1
  74. package/fesm2015/taiga-ui-kit-components-calendar-range.js +1 -0
  75. package/fesm2015/taiga-ui-kit-components-calendar-range.js.map +1 -1
  76. package/fesm2015/taiga-ui-kit-components-combo-box.js +4 -1
  77. package/fesm2015/taiga-ui-kit-components-combo-box.js.map +1 -1
  78. package/fesm2015/taiga-ui-kit-components-files.js +5 -2
  79. package/fesm2015/taiga-ui-kit-components-files.js.map +1 -1
  80. package/fesm2015/taiga-ui-kit-components-input-date-range.js +9 -1
  81. package/fesm2015/taiga-ui-kit-components-input-date-range.js.map +1 -1
  82. package/fesm2015/taiga-ui-kit-components-input-files.js.map +1 -1
  83. package/fesm2015/taiga-ui-kit-components-input-phone-international.js +1 -1
  84. package/fesm2015/taiga-ui-kit-components-input-phone-international.js.map +1 -1
  85. package/fesm2015/taiga-ui-kit-components-input-phone.js +3 -3
  86. package/fesm2015/taiga-ui-kit-components-input-phone.js.map +1 -1
  87. package/fesm2015/taiga-ui-kit-components-input-tag.js +3 -11
  88. package/fesm2015/taiga-ui-kit-components-input-tag.js.map +1 -1
  89. package/fesm2015/taiga-ui-kit-components-line-clamp.js.map +1 -1
  90. package/fesm2015/taiga-ui-kit-components-multi-select.js +4 -1
  91. package/fesm2015/taiga-ui-kit-components-multi-select.js.map +1 -1
  92. package/fesm2015/taiga-ui-kit-components-pdf-viewer.js.map +1 -1
  93. package/fesm2015/taiga-ui-kit-components-progress.js +1 -1
  94. package/fesm2015/taiga-ui-kit-components-progress.js.map +1 -1
  95. package/fesm2015/taiga-ui-kit-components-select-option.js +4 -4
  96. package/fesm2015/taiga-ui-kit-components-select-option.js.map +1 -1
  97. package/fesm2015/taiga-ui-kit-components-stepper.js +1 -1
  98. package/fesm2015/taiga-ui-kit-components-tabs.js +1 -1
  99. package/fesm2015/taiga-ui-kit-components-tree.js.map +1 -1
  100. package/fesm2015/taiga-ui-kit-pipes-field-error.js +6 -6
  101. package/fesm2015/taiga-ui-kit-pipes-field-error.js.map +1 -1
  102. package/fesm2015/taiga-ui-kit-utils-miscellaneous.js +2 -2
  103. package/fesm2015/taiga-ui-kit-utils-miscellaneous.js.map +1 -1
  104. package/package.json +7 -7
@@ -101,7 +101,7 @@ class TuiAccordionItemComponent extends AbstractTuiInteractive {
101
101
  }
102
102
  }
103
103
  TuiAccordionItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiAccordionItemComponent, deps: [{ token: ChangeDetectorRef }, { token: TUI_MODE }, { token: TUI_ARROW_OPTIONS }], target: i0.ɵɵFactoryTarget.Component });
104
- TuiAccordionItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiAccordionItemComponent, selector: "tui-accordion-item", inputs: { noPadding: "noPadding", showArrow: "showArrow", borders: "borders", size: "size", disabled: "disabled", disableHover: "disableHover", open: "open", async: "async" }, outputs: { openChange: "openChange" }, host: { listeners: { "$.data-mode.attr": "mode$" }, properties: { "class._no-padding": "this.noPadding", "class._has-arrow": "this.showArrow", "attr.data-borders": "this.borders", "attr.data-size": "this.size", "class._disabled": "this.disabled" } }, providers: [tuiAsFocusableItemAccessor(TuiAccordionItemComponent), MODE_PROVIDER], queries: [{ propertyName: "eagerContent", first: true, predicate: TuiAccordionItemEagerContentDirective, descendants: true }, { propertyName: "lazyContent", first: true, predicate: TuiAccordionItemContentDirective, descendants: true }], viewQueries: [{ propertyName: "focusableElement", first: true, predicate: ["focusableElement"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div\n automation-id=\"tui-accordion__item-wrapper\"\n class=\"t-wrapper\"\n>\n <button\n #focusableElement\n automation-id=\"tui-accordion__item-header\"\n type=\"button\"\n class=\"t-header\"\n [class.t-header_hoverable]=\"!disableHover\"\n [class.t-header_open]=\"open\"\n [disabled]=\"computedDisabled\"\n [tuiFocusable]=\"computedFocusable\"\n (click)=\"onRowToggle()\"\n (keydown.esc)=\"onItemKeyDownEsc($event)\"\n (tuiFocusedChange)=\"onFocused($event)\"\n (tuiFocusVisibleChange)=\"onFocusVisible($event)\"\n >\n <span\n automation-id=\"tui-accordion__item-title\"\n class=\"t-title\"\n >\n <ng-content></ng-content>\n </span>\n <ng-container *ngIf=\"showArrow\">\n <tui-svg\n *polymorpheusOutlet=\"options.iconLarge as src\"\n automation-id=\"tui-accordion__item-arrow\"\n class=\"t-icon\"\n [class.t-icon_open]=\"open\"\n [src]=\"src\"\n ></tui-svg>\n </ng-container>\n </button>\n <tui-expand\n [async]=\"async\"\n [expanded]=\"open\"\n >\n <ng-template tuiExpandContent>\n <div\n *ngIf=\"lazyContent\"\n automation-id=\"tui-accordion__item-content\"\n class=\"t-content\"\n >\n <ng-container *polymorpheusOutlet=\"lazyContent as text\">\n {{ text }}\n </ng-container>\n </div>\n </ng-template>\n <div\n *ngIf=\"eagerContent\"\n class=\"t-content\"\n >\n <ng-content select=\"[tuiAccordionItemContent]\"></ng-content>\n </div>\n </tui-expand>\n</div>\n", styles: [":host{position:relative;display:block;overflow:hidden;border-radius:var(--tui-radius-l)}:host[data-borders=top-bottom]{border-radius:0!important}.t-wrapper{position:relative;border-radius:inherit}.t-wrapper:after{position:absolute;top:0;left:0;width:100%;height:100%;content:\"\";box-sizing:border-box;border-radius:inherit;border:1px solid var(--tui-base-04);pointer-events:none}:host:not([data-borders]) .t-wrapper:after{border-width:0}:host[data-borders=all] .t-wrapper:after{border-width:1px}:host[data-borders=top-bottom] .t-wrapper:after{border-left-width:0;border-right-width:0}:host[data-borders=top] .t-wrapper:after{border-left-width:0;border-right-width:0;border-bottom-width:0}:host[data-borders=bottom] .t-wrapper:after{border-left-width:0;border-right-width:0;border-top-width:0}:host[data-mode=onDark] .t-wrapper:after{border-color:var(--tui-base-03)}:host[data-mode=onLight] .t-wrapper:after{border-color:var(--tui-text-01)}:host._focus-visible .t-wrapper:after{border:2px solid var(--tui-focus)}:host:not([data-mode]) .t-wrapper{background:var(--tui-base-01)}.t-header{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:none;font-size:inherit;line-height:inherit;transition-property:background;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;display:flex;width:100%;font:var(--tui-font-text-l);align-items:center;box-sizing:border-box;border-bottom:1px solid var(--tui-base-04);min-height:var(--tui-height-l);padding:.75rem 1.25rem;color:var(--tui-text-01);cursor:pointer;text-align:left;outline:none}:host[data-mode=onDark] .t-header{color:var(--tui-text-01-night);border-color:var(--tui-base-03)}:host[data-mode=onLight] .t-header{border-color:var(--tui-text-01)}:host:not([data-borders]) .t-header{border-bottom-width:0;box-shadow:none}:host._has-arrow .t-header{padding-right:.75rem}:host[data-mode=onDark] .t-header_open{background:var(--tui-clear-inverse)}:host[data-mode=onLight] .t-header_open{background:var(--tui-clear)}:host[data-size=s] .t-header{font:var(--tui-font-text-m);min-height:var(--tui-height-m);padding:.625rem .75rem .625rem 1rem}:host._no-padding .t-header{padding-left:0;padding-right:0}:host._disabled .t-header{cursor:default}:host:hover:not([data-mode]) .t-header_hoverable{background:var(--tui-base-02)}:host:hover[data-mode=onDark] .t-header_hoverable{background:var(--tui-clear-inverse)}:host:hover[data-mode=onLight] .t-header_hoverable{background:var(--tui-clear)}.t-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-right:0;flex-grow:1}:host._has-arrow .t-title{margin-right:.5rem}.t-icon{transition-property:transform,color;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;width:1.5rem;height:1.5rem;margin-left:auto;color:var(--tui-base-06)}.t-icon_open{transform:rotate(180deg)}:host[data-mode] .t-icon{opacity:var(--tui-disabled-opacity)}:host:hover[data-mode] .t-icon{opacity:.8}:host[data-mode=onDark] .t-icon{color:var(--tui-text-01-night)}:host[data-mode=onLight] .t-icon{color:var(--tui-text-01)}:host:hover:not([data-mode]) .t-icon{color:var(--tui-base-07)}.t-content{font:var(--tui-font-text-m);padding:1.25rem;word-wrap:break-word}:host[data-size=s] .t-content{font:var(--tui-font-text-s);padding:1rem}\n"], components: [{ type: i1.TuiSvgComponent, selector: "tui-svg", inputs: ["src"] }, { type: i1.TuiExpandComponent, selector: "tui-expand", inputs: ["async", "expanded"] }], directives: [{ type: i2.TuiFocusableDirective, selector: "[tuiFocusable]", inputs: ["tuiFocusable"] }, { type: i2.TuiFocusedDirective, selector: "[tuiFocusedChange]", outputs: ["tuiFocusedChange"] }, { type: i2.TuiFocusVisibleDirective, selector: "[tuiFocusVisibleChange]", outputs: ["tuiFocusVisibleChange"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { type: i1.TuiExpandContentDirective, selector: "[tuiExpandContent]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
104
+ TuiAccordionItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiAccordionItemComponent, selector: "tui-accordion-item", inputs: { noPadding: "noPadding", showArrow: "showArrow", borders: "borders", size: "size", disabled: "disabled", disableHover: "disableHover", open: "open", async: "async" }, outputs: { openChange: "openChange" }, host: { listeners: { "$.data-mode.attr": "mode$" }, properties: { "class._no-padding": "this.noPadding", "class._has-arrow": "this.showArrow", "attr.data-borders": "this.borders", "attr.data-size": "this.size", "class._disabled": "this.disabled" } }, providers: [tuiAsFocusableItemAccessor(TuiAccordionItemComponent), MODE_PROVIDER], queries: [{ propertyName: "eagerContent", first: true, predicate: TuiAccordionItemEagerContentDirective, descendants: true }, { propertyName: "lazyContent", first: true, predicate: TuiAccordionItemContentDirective, descendants: true }], viewQueries: [{ propertyName: "focusableElement", first: true, predicate: ["focusableElement"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div\n automation-id=\"tui-accordion__item-wrapper\"\n class=\"t-wrapper\"\n>\n <button\n #focusableElement\n automation-id=\"tui-accordion__item-header\"\n type=\"button\"\n class=\"t-header\"\n [class.t-header_hoverable]=\"!disableHover\"\n [class.t-header_open]=\"open\"\n [disabled]=\"computedDisabled\"\n [tuiFocusable]=\"computedFocusable\"\n (click)=\"onRowToggle()\"\n (keydown.esc)=\"onItemKeyDownEsc($event)\"\n (tuiFocusedChange)=\"onFocused($event)\"\n (tuiFocusVisibleChange)=\"onFocusVisible($event)\"\n >\n <span\n automation-id=\"tui-accordion__item-title\"\n class=\"t-title\"\n >\n <ng-content></ng-content>\n </span>\n <ng-container *ngIf=\"showArrow\">\n <tui-svg\n *polymorpheusOutlet=\"options.iconLarge as src\"\n automation-id=\"tui-accordion__item-arrow\"\n class=\"t-icon\"\n [class.t-icon_open]=\"open\"\n [src]=\"src\"\n ></tui-svg>\n </ng-container>\n </button>\n <tui-expand\n [async]=\"async\"\n [expanded]=\"open\"\n >\n <ng-template tuiExpandContent>\n <div\n *ngIf=\"lazyContent\"\n automation-id=\"tui-accordion__item-content\"\n class=\"t-content\"\n >\n <ng-container *polymorpheusOutlet=\"lazyContent as text\">\n {{ text }}\n </ng-container>\n </div>\n </ng-template>\n <div\n *ngIf=\"eagerContent\"\n class=\"t-content\"\n >\n <ng-content select=\"[tuiAccordionItemContent]\"></ng-content>\n </div>\n </tui-expand>\n</div>\n", styles: [":host{position:relative;display:block;overflow:hidden;border-radius:var(--tui-radius-l)}:host[data-borders=top-bottom]{border-radius:0!important}.t-wrapper{position:relative;border-radius:inherit}.t-wrapper:after{position:absolute;top:0;left:0;width:100%;height:100%;content:\"\";box-sizing:border-box;border-radius:inherit;border:1px solid var(--tui-base-04);pointer-events:none}:host:not([data-borders]) .t-wrapper:after{border-width:0}:host[data-borders=all] .t-wrapper:after{border-width:1px}:host[data-borders=top-bottom] .t-wrapper:after{border-left-width:0;border-right-width:0}:host[data-borders=top] .t-wrapper:after{border-left-width:0;border-right-width:0;border-bottom-width:0}:host[data-borders=bottom] .t-wrapper:after{border-left-width:0;border-right-width:0;border-top-width:0}:host[data-mode=onDark] .t-wrapper:after{border-color:var(--tui-base-03)}:host[data-mode=onLight] .t-wrapper:after{border-color:var(--tui-text-01)}:host._focus-visible .t-wrapper:after{border:2px solid var(--tui-focus)}:host:not([data-mode]) .t-wrapper{background:var(--tui-base-01)}.t-header{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:none;font-size:inherit;line-height:inherit;text-decoration:none;transition-property:background;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;display:flex;width:100%;font:var(--tui-font-text-l);align-items:center;box-sizing:border-box;border-bottom:1px solid var(--tui-base-04);min-height:var(--tui-height-l);padding:.75rem 1.25rem;color:var(--tui-text-01);cursor:pointer;text-align:left;outline:none}:host[data-mode=onDark] .t-header{color:var(--tui-text-01-night);border-color:var(--tui-base-03)}:host[data-mode=onLight] .t-header{border-color:var(--tui-text-01)}:host:not([data-borders]) .t-header{border-bottom-width:0;box-shadow:none}:host._has-arrow .t-header{padding-right:.75rem}:host[data-mode=onDark] .t-header_open{background:var(--tui-clear-inverse)}:host[data-mode=onLight] .t-header_open{background:var(--tui-clear)}:host[data-size=s] .t-header{font:var(--tui-font-text-m);min-height:var(--tui-height-m);padding:.625rem .75rem .625rem 1rem}:host._no-padding .t-header{padding-left:0;padding-right:0}:host._disabled .t-header{cursor:default}.t-wrapper:hover:not([data-mode])>.t-header_hoverable{background:var(--tui-base-02)}.t-wrapper:hover[data-mode=onDark]>.t-header_hoverable{background:var(--tui-clear-inverse)}.t-wrapper:hover[data-mode=onLight]>.t-header_hoverable{background:var(--tui-clear)}.t-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-right:0;flex-grow:1}:host._has-arrow .t-title{margin-right:.5rem}.t-icon{transition-property:transform,color;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;width:1.5rem;height:1.5rem;margin-left:auto;color:var(--tui-base-06)}.t-icon_open{transform:rotate(180deg)}:host[data-mode] .t-icon{opacity:var(--tui-disabled-opacity)}:host:hover[data-mode] .t-icon{opacity:.8}:host[data-mode=onDark] .t-icon{color:var(--tui-text-01-night)}:host[data-mode=onLight] .t-icon{color:var(--tui-text-01)}:host:hover:not([data-mode]) .t-icon{color:var(--tui-base-07)}.t-content{font:var(--tui-font-text-m);padding:1.25rem;word-wrap:break-word}:host[data-size=s] .t-content{font:var(--tui-font-text-s);padding:1rem}\n"], components: [{ type: i1.TuiSvgComponent, selector: "tui-svg", inputs: ["src"] }, { type: i1.TuiExpandComponent, selector: "tui-expand", inputs: ["async", "expanded"] }], directives: [{ type: i2.TuiFocusableDirective, selector: "[tuiFocusable]", inputs: ["tuiFocusable"] }, { type: i2.TuiFocusedDirective, selector: "[tuiFocusedChange]", outputs: ["tuiFocusedChange"] }, { type: i2.TuiFocusVisibleDirective, selector: "[tuiFocusVisibleChange]", outputs: ["tuiFocusVisibleChange"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { type: i1.TuiExpandContentDirective, selector: "[tuiExpandContent]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
105
105
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiAccordionItemComponent, decorators: [{
106
106
  type: Component,
107
107
  args: [{
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-components-accordion.js","sources":["../../../projects/kit/components/accordion/accordion-item/accordion-item-content.directive.ts","../../../projects/kit/components/accordion/accordion-item/accordion-item-eager-content.directive.ts","../../../projects/kit/components/accordion/accordion-item/accordion-item.component.ts","../../../projects/kit/components/accordion/accordion-item/accordion-item.template.html","../../../projects/kit/components/accordion/accordion.component.ts","../../../projects/kit/components/accordion/accordion.template.html","../../../projects/kit/components/accordion/accordion.module.ts","../../../projects/kit/components/accordion/taiga-ui-kit-components-accordion.ts"],"sourcesContent":["import {ChangeDetectorRef, Directive, Inject, Self, TemplateRef} from '@angular/core';\nimport {PolymorpheusTemplate} from '@tinkoff/ng-polymorpheus';\n\n@Directive({\n selector: 'ng-template[tuiAccordionItemContent]',\n})\nexport class TuiAccordionItemContentDirective extends PolymorpheusTemplate<\n Record<string, unknown>\n> {\n constructor(\n @Inject(TemplateRef)\n @Self()\n templateRef: TemplateRef<Record<string, unknown>>,\n @Inject(ChangeDetectorRef) cdr: ChangeDetectorRef,\n ) {\n super(templateRef, cdr);\n }\n}\n","import {Directive} from '@angular/core';\n\n@Directive({\n selector: '[tuiAccordionItemContent]:not(ng-template)',\n})\nexport class TuiAccordionItemEagerContentDirective {}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ElementRef,\n EventEmitter,\n HostBinding,\n Inject,\n Input,\n Output,\n ViewChild,\n} from '@angular/core';\nimport {\n AbstractTuiInteractive,\n tuiAsFocusableItemAccessor,\n TuiFocusableElementAccessor,\n tuiIsNativeFocused,\n TuiNativeFocusableElement,\n} from '@taiga-ui/cdk';\nimport {MODE_PROVIDER, TUI_MODE, TuiBrightness, TuiSizeS} from '@taiga-ui/core';\nimport {TUI_ARROW_OPTIONS, TuiArrowOptions} from '@taiga-ui/kit/components/arrow';\nimport {Observable} from 'rxjs';\n\nimport {TuiAccordionItemContentDirective} from './accordion-item-content.directive';\nimport {TuiAccordionItemEagerContentDirective} from './accordion-item-eager-content.directive';\n\n@Component({\n selector: 'tui-accordion-item',\n templateUrl: './accordion-item.template.html',\n styleUrls: ['./accordion-item.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [tuiAsFocusableItemAccessor(TuiAccordionItemComponent), MODE_PROVIDER],\n host: {\n '($.data-mode.attr)': 'mode$',\n },\n})\nexport class TuiAccordionItemComponent\n extends AbstractTuiInteractive\n implements TuiFocusableElementAccessor\n{\n @ViewChild('focusableElement')\n private readonly focusableElement?: ElementRef<TuiNativeFocusableElement>;\n\n @Input()\n @HostBinding('class._no-padding')\n noPadding = false;\n\n @Input()\n @HostBinding('class._has-arrow')\n showArrow = true;\n\n @Input()\n @HostBinding('attr.data-borders')\n borders: 'all' | 'top-bottom' | null = 'all';\n\n @Input()\n @HostBinding('attr.data-size')\n size: TuiSizeS = 'm';\n\n @Input()\n @HostBinding('class._disabled')\n disabled = false;\n\n @Input()\n disableHover = false;\n\n @Input()\n open = false;\n\n @Input()\n async = false;\n\n @Output()\n readonly openChange = new EventEmitter<boolean>();\n\n @ContentChild(TuiAccordionItemEagerContentDirective)\n readonly eagerContent?: TuiAccordionItemEagerContentDirective;\n\n @ContentChild(TuiAccordionItemContentDirective)\n readonly lazyContent?: TuiAccordionItemContentDirective;\n\n constructor(\n @Inject(ChangeDetectorRef) private readonly cdr: ChangeDetectorRef,\n @Inject(TUI_MODE) readonly mode$: Observable<TuiBrightness | null>,\n @Inject(TUI_ARROW_OPTIONS) readonly options: TuiArrowOptions,\n ) {\n super();\n }\n\n get nativeFocusableElement(): TuiNativeFocusableElement | null {\n return this.disabled || !this.focusableElement\n ? null\n : this.focusableElement.nativeElement;\n }\n\n get focused(): boolean {\n return tuiIsNativeFocused(this.nativeFocusableElement);\n }\n\n onFocused(focused: boolean): void {\n this.updateFocused(focused);\n }\n\n onFocusVisible(focusVisible: boolean): void {\n this.updateFocusVisible(focusVisible);\n }\n\n onRowToggle(): void {\n if (!this.disabled) {\n this.updateOpen(!this.open);\n }\n }\n\n onItemKeyDownEsc(event: Event): void {\n if (!this.open) {\n return;\n }\n\n event.stopPropagation();\n this.updateOpen(false);\n }\n\n close(): void {\n this.updateOpen(false);\n this.cdr.markForCheck();\n }\n\n private updateOpen(open: boolean): void {\n if (this.open === open) {\n return;\n }\n\n this.open = open;\n this.openChange.emit(open);\n }\n}\n","<div\n automation-id=\"tui-accordion__item-wrapper\"\n class=\"t-wrapper\"\n>\n <button\n #focusableElement\n automation-id=\"tui-accordion__item-header\"\n type=\"button\"\n class=\"t-header\"\n [class.t-header_hoverable]=\"!disableHover\"\n [class.t-header_open]=\"open\"\n [disabled]=\"computedDisabled\"\n [tuiFocusable]=\"computedFocusable\"\n (click)=\"onRowToggle()\"\n (keydown.esc)=\"onItemKeyDownEsc($event)\"\n (tuiFocusedChange)=\"onFocused($event)\"\n (tuiFocusVisibleChange)=\"onFocusVisible($event)\"\n >\n <span\n automation-id=\"tui-accordion__item-title\"\n class=\"t-title\"\n >\n <ng-content></ng-content>\n </span>\n <ng-container *ngIf=\"showArrow\">\n <tui-svg\n *polymorpheusOutlet=\"options.iconLarge as src\"\n automation-id=\"tui-accordion__item-arrow\"\n class=\"t-icon\"\n [class.t-icon_open]=\"open\"\n [src]=\"src\"\n ></tui-svg>\n </ng-container>\n </button>\n <tui-expand\n [async]=\"async\"\n [expanded]=\"open\"\n >\n <ng-template tuiExpandContent>\n <div\n *ngIf=\"lazyContent\"\n automation-id=\"tui-accordion__item-content\"\n class=\"t-content\"\n >\n <ng-container *polymorpheusOutlet=\"lazyContent as text\">\n {{ text }}\n </ng-container>\n </div>\n </ng-template>\n <div\n *ngIf=\"eagerContent\"\n class=\"t-content\"\n >\n <ng-content select=\"[tuiAccordionItemContent]\"></ng-content>\n </div>\n </tui-expand>\n</div>\n","import {\n AfterContentInit,\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n Inject,\n Input,\n QueryList,\n Self,\n} from '@angular/core';\nimport {\n EMPTY_QUERY,\n TuiDestroyService,\n tuiIsPresent,\n tuiQueryListChanges,\n} from '@taiga-ui/cdk';\nimport {identity, merge} from 'rxjs';\nimport {filter, map, pairwise, switchMap, takeUntil} from 'rxjs/operators';\n\nimport {TuiAccordionItemComponent} from './accordion-item/accordion-item.component';\n\n@Component({\n selector: 'tui-accordion',\n templateUrl: './accordion.template.html',\n styleUrls: ['./accordion.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [TuiDestroyService],\n})\nexport class TuiAccordionComponent implements AfterContentInit {\n @Input()\n closeOthers = true;\n\n @Input()\n rounded = true;\n\n @ContentChildren(TuiAccordionItemComponent)\n readonly accordionItems: QueryList<TuiAccordionItemComponent> = EMPTY_QUERY;\n\n constructor(\n @Self()\n @Inject(TuiDestroyService)\n private readonly destroy$: TuiDestroyService,\n ) {}\n\n ngAfterContentInit(): void {\n const {accordionItems} = this;\n const rows$ = tuiQueryListChanges(accordionItems);\n const newOpenRow$ = rows$.pipe(\n pairwise(),\n map(([previous, current]) =>\n current.find(item => !previous.includes(item) && item.open),\n ),\n filter(tuiIsPresent),\n );\n const rowsOpen$ = merge(\n rows$.pipe(\n switchMap(rows =>\n merge(\n ...rows.map(row =>\n row.openChange.pipe(\n filter(identity),\n map(() => row),\n ),\n ),\n ),\n ),\n ),\n newOpenRow$,\n ).pipe(\n filter(() => this.closeOthers),\n takeUntil(this.destroy$),\n );\n\n rowsOpen$.subscribe(currentRow => {\n accordionItems.forEach(row => {\n if (currentRow !== row) {\n row.close();\n }\n });\n });\n }\n}\n","<!--TODO: Unnecessary nesting, probably accordion can be a directive-->\n<div\n automation-id=\"tui-accordion__group\"\n orientation=\"vertical\"\n size=\"l\"\n tuiGroup\n class=\"t-group\"\n [collapsed]=\"true\"\n [rounded]=\"rounded\"\n>\n <ng-content select=\"tui-accordion-item\"></ng-content>\n</div>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiFocusableModule, TuiFocusedModule, TuiFocusVisibleModule} from '@taiga-ui/cdk';\nimport {TuiExpandModule, TuiGroupModule, TuiSvgModule} from '@taiga-ui/core';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiAccordionComponent} from './accordion.component';\nimport {TuiAccordionItemComponent} from './accordion-item/accordion-item.component';\nimport {TuiAccordionItemContentDirective} from './accordion-item/accordion-item-content.directive';\nimport {TuiAccordionItemEagerContentDirective} from './accordion-item/accordion-item-eager-content.directive';\n\n@NgModule({\n imports: [\n CommonModule,\n TuiFocusedModule,\n TuiFocusVisibleModule,\n TuiFocusableModule,\n PolymorpheusModule,\n TuiSvgModule,\n TuiGroupModule,\n TuiExpandModule,\n ],\n declarations: [\n TuiAccordionComponent,\n TuiAccordionItemComponent,\n TuiAccordionItemContentDirective,\n TuiAccordionItemEagerContentDirective,\n ],\n exports: [\n TuiAccordionComponent,\n TuiAccordionItemComponent,\n TuiAccordionItemContentDirective,\n TuiAccordionItemEagerContentDirective,\n ],\n})\nexport class TuiAccordionModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-kit-components-accordion.js","sources":["../../../projects/kit/components/accordion/accordion-item/accordion-item-content.directive.ts","../../../projects/kit/components/accordion/accordion-item/accordion-item-eager-content.directive.ts","../../../projects/kit/components/accordion/accordion-item/accordion-item.component.ts","../../../projects/kit/components/accordion/accordion-item/accordion-item.template.html","../../../projects/kit/components/accordion/accordion.component.ts","../../../projects/kit/components/accordion/accordion.template.html","../../../projects/kit/components/accordion/accordion.module.ts","../../../projects/kit/components/accordion/taiga-ui-kit-components-accordion.ts"],"sourcesContent":["import {ChangeDetectorRef, Directive, Inject, Self, TemplateRef} from '@angular/core';\nimport {PolymorpheusTemplate} from '@tinkoff/ng-polymorpheus';\n\n@Directive({\n selector: 'ng-template[tuiAccordionItemContent]',\n})\nexport class TuiAccordionItemContentDirective extends PolymorpheusTemplate<\n Record<string, unknown>\n> {\n constructor(\n @Inject(TemplateRef)\n @Self()\n templateRef: TemplateRef<Record<string, unknown>>,\n @Inject(ChangeDetectorRef) cdr: ChangeDetectorRef,\n ) {\n super(templateRef, cdr);\n }\n}\n","import {Directive} from '@angular/core';\n\n@Directive({\n selector: '[tuiAccordionItemContent]:not(ng-template)',\n})\nexport class TuiAccordionItemEagerContentDirective {}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ElementRef,\n EventEmitter,\n HostBinding,\n Inject,\n Input,\n Output,\n ViewChild,\n} from '@angular/core';\nimport {\n AbstractTuiInteractive,\n tuiAsFocusableItemAccessor,\n TuiFocusableElementAccessor,\n tuiIsNativeFocused,\n TuiNativeFocusableElement,\n} from '@taiga-ui/cdk';\nimport {MODE_PROVIDER, TUI_MODE, TuiBrightness, TuiSizeS} from '@taiga-ui/core';\nimport {TUI_ARROW_OPTIONS, TuiArrowOptions} from '@taiga-ui/kit/components/arrow';\nimport {Observable} from 'rxjs';\n\nimport {TuiAccordionItemContentDirective} from './accordion-item-content.directive';\nimport {TuiAccordionItemEagerContentDirective} from './accordion-item-eager-content.directive';\n\n@Component({\n selector: 'tui-accordion-item',\n templateUrl: './accordion-item.template.html',\n styleUrls: ['./accordion-item.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [tuiAsFocusableItemAccessor(TuiAccordionItemComponent), MODE_PROVIDER],\n host: {\n '($.data-mode.attr)': 'mode$',\n },\n})\nexport class TuiAccordionItemComponent\n extends AbstractTuiInteractive\n implements TuiFocusableElementAccessor\n{\n @ViewChild('focusableElement')\n private readonly focusableElement?: ElementRef<TuiNativeFocusableElement>;\n\n @Input()\n @HostBinding('class._no-padding')\n noPadding = false;\n\n @Input()\n @HostBinding('class._has-arrow')\n showArrow = true;\n\n @Input()\n @HostBinding('attr.data-borders')\n borders: 'all' | 'top-bottom' | null = 'all';\n\n @Input()\n @HostBinding('attr.data-size')\n size: TuiSizeS = 'm';\n\n @Input()\n @HostBinding('class._disabled')\n disabled = false;\n\n @Input()\n disableHover = false;\n\n @Input()\n open = false;\n\n @Input()\n async = false;\n\n @Output()\n readonly openChange = new EventEmitter<boolean>();\n\n @ContentChild(TuiAccordionItemEagerContentDirective)\n readonly eagerContent?: TuiAccordionItemEagerContentDirective;\n\n @ContentChild(TuiAccordionItemContentDirective)\n readonly lazyContent?: TuiAccordionItemContentDirective;\n\n constructor(\n @Inject(ChangeDetectorRef) private readonly cdr: ChangeDetectorRef,\n @Inject(TUI_MODE) readonly mode$: Observable<TuiBrightness | null>,\n @Inject(TUI_ARROW_OPTIONS) readonly options: TuiArrowOptions,\n ) {\n super();\n }\n\n get nativeFocusableElement(): TuiNativeFocusableElement | null {\n return this.disabled || !this.focusableElement\n ? null\n : this.focusableElement.nativeElement;\n }\n\n get focused(): boolean {\n return tuiIsNativeFocused(this.nativeFocusableElement);\n }\n\n onFocused(focused: boolean): void {\n this.updateFocused(focused);\n }\n\n onFocusVisible(focusVisible: boolean): void {\n this.updateFocusVisible(focusVisible);\n }\n\n onRowToggle(): void {\n if (!this.disabled) {\n this.updateOpen(!this.open);\n }\n }\n\n onItemKeyDownEsc(event: Event): void {\n if (!this.open) {\n return;\n }\n\n event.stopPropagation();\n this.updateOpen(false);\n }\n\n close(): void {\n this.updateOpen(false);\n this.cdr.markForCheck();\n }\n\n private updateOpen(open: boolean): void {\n if (this.open === open) {\n return;\n }\n\n this.open = open;\n this.openChange.emit(open);\n }\n}\n","<div\n automation-id=\"tui-accordion__item-wrapper\"\n class=\"t-wrapper\"\n>\n <button\n #focusableElement\n automation-id=\"tui-accordion__item-header\"\n type=\"button\"\n class=\"t-header\"\n [class.t-header_hoverable]=\"!disableHover\"\n [class.t-header_open]=\"open\"\n [disabled]=\"computedDisabled\"\n [tuiFocusable]=\"computedFocusable\"\n (click)=\"onRowToggle()\"\n (keydown.esc)=\"onItemKeyDownEsc($event)\"\n (tuiFocusedChange)=\"onFocused($event)\"\n (tuiFocusVisibleChange)=\"onFocusVisible($event)\"\n >\n <span\n automation-id=\"tui-accordion__item-title\"\n class=\"t-title\"\n >\n <ng-content></ng-content>\n </span>\n <ng-container *ngIf=\"showArrow\">\n <tui-svg\n *polymorpheusOutlet=\"options.iconLarge as src\"\n automation-id=\"tui-accordion__item-arrow\"\n class=\"t-icon\"\n [class.t-icon_open]=\"open\"\n [src]=\"src\"\n ></tui-svg>\n </ng-container>\n </button>\n <tui-expand\n [async]=\"async\"\n [expanded]=\"open\"\n >\n <ng-template tuiExpandContent>\n <div\n *ngIf=\"lazyContent\"\n automation-id=\"tui-accordion__item-content\"\n class=\"t-content\"\n >\n <ng-container *polymorpheusOutlet=\"lazyContent as text\">\n {{ text }}\n </ng-container>\n </div>\n </ng-template>\n <div\n *ngIf=\"eagerContent\"\n class=\"t-content\"\n >\n <ng-content select=\"[tuiAccordionItemContent]\"></ng-content>\n </div>\n </tui-expand>\n</div>\n","import {\n AfterContentInit,\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n Inject,\n Input,\n QueryList,\n Self,\n} from '@angular/core';\nimport {\n EMPTY_QUERY,\n TuiDestroyService,\n tuiIsPresent,\n tuiQueryListChanges,\n} from '@taiga-ui/cdk';\nimport {identity, merge} from 'rxjs';\nimport {filter, map, pairwise, switchMap, takeUntil} from 'rxjs/operators';\n\nimport {TuiAccordionItemComponent} from './accordion-item/accordion-item.component';\n\n@Component({\n selector: 'tui-accordion',\n templateUrl: './accordion.template.html',\n styleUrls: ['./accordion.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [TuiDestroyService],\n})\nexport class TuiAccordionComponent implements AfterContentInit {\n @Input()\n closeOthers = true;\n\n @Input()\n rounded = true;\n\n @ContentChildren(TuiAccordionItemComponent)\n readonly accordionItems: QueryList<TuiAccordionItemComponent> = EMPTY_QUERY;\n\n constructor(\n @Self()\n @Inject(TuiDestroyService)\n private readonly destroy$: TuiDestroyService,\n ) {}\n\n ngAfterContentInit(): void {\n const {accordionItems} = this;\n const rows$ = tuiQueryListChanges(accordionItems);\n const newOpenRow$ = rows$.pipe(\n pairwise(),\n map(([previous, current]) =>\n current.find(item => !previous.includes(item) && item.open),\n ),\n filter(tuiIsPresent),\n );\n const rowsOpen$ = merge(\n rows$.pipe(\n switchMap(rows =>\n merge(\n ...rows.map(row =>\n row.openChange.pipe(\n filter(identity),\n map(() => row),\n ),\n ),\n ),\n ),\n ),\n newOpenRow$,\n ).pipe(\n filter(() => this.closeOthers),\n takeUntil(this.destroy$),\n );\n\n rowsOpen$.subscribe(currentRow => {\n accordionItems.forEach(row => {\n if (currentRow !== row) {\n row.close();\n }\n });\n });\n }\n}\n","<!--TODO: Unnecessary nesting, probably accordion can be a directive-->\n<div\n automation-id=\"tui-accordion__group\"\n orientation=\"vertical\"\n size=\"l\"\n tuiGroup\n class=\"t-group\"\n [collapsed]=\"true\"\n [rounded]=\"rounded\"\n>\n <ng-content select=\"tui-accordion-item\"></ng-content>\n</div>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiFocusableModule, TuiFocusedModule, TuiFocusVisibleModule} from '@taiga-ui/cdk';\nimport {TuiExpandModule, TuiGroupModule, TuiSvgModule} from '@taiga-ui/core';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiAccordionComponent} from './accordion.component';\nimport {TuiAccordionItemComponent} from './accordion-item/accordion-item.component';\nimport {TuiAccordionItemContentDirective} from './accordion-item/accordion-item-content.directive';\nimport {TuiAccordionItemEagerContentDirective} from './accordion-item/accordion-item-eager-content.directive';\n\n@NgModule({\n imports: [\n CommonModule,\n TuiFocusedModule,\n TuiFocusVisibleModule,\n TuiFocusableModule,\n PolymorpheusModule,\n TuiSvgModule,\n TuiGroupModule,\n TuiExpandModule,\n ],\n declarations: [\n TuiAccordionComponent,\n TuiAccordionItemComponent,\n TuiAccordionItemContentDirective,\n TuiAccordionItemEagerContentDirective,\n ],\n exports: [\n TuiAccordionComponent,\n TuiAccordionItemComponent,\n TuiAccordionItemContentDirective,\n TuiAccordionItemEagerContentDirective,\n ],\n})\nexport class TuiAccordionModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -35,7 +35,7 @@ TuiActionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ver
35
35
  TuiDestroyService,
36
36
  TuiFocusVisibleService,
37
37
  tuiAsFocusableItemAccessor(TuiActionComponent),
38
- ], usesInheritance: true, ngImport: i0, template: "<ng-content></ng-content>\n<tui-marker-icon\n *ngIf=\"icon\"\n size=\"s\"\n class=\"t-icon tui-island__marker\"\n [src]=\"icon\"\n></tui-marker-icon>\n", styles: [":host{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:none;font-size:inherit;line-height:inherit;display:flex;justify-content:space-between;font:var(--tui-font-text-m);padding:.875rem;border:2px solid transparent;text-align:start}:host._focus-visible{border-color:var(--tui-focus)}:host:after{display:none}.t-icon{color:var(--tui-action-color, var(--tui-link));background-color:var(--tui-action-background, var(--tui-base-02))}\n"], components: [{ type: i1.TuiMarkerIconComponent, selector: "tui-marker-icon, a[tuiMarkerIcon], button[tuiMarkerIcon]", inputs: ["mode", "size", "src"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
38
+ ], usesInheritance: true, ngImport: i0, template: "<ng-content></ng-content>\n<tui-marker-icon\n *ngIf=\"icon\"\n size=\"s\"\n class=\"t-icon tui-island__marker\"\n [src]=\"icon\"\n></tui-marker-icon>\n", styles: [":host{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:none;font-size:inherit;line-height:inherit;text-decoration:none;display:flex;justify-content:space-between;font:var(--tui-font-text-m);padding:.875rem;border:2px solid transparent;text-align:start}:host._focus-visible{border-color:var(--tui-focus)}:host:after{display:none}.t-icon{color:var(--tui-action-color, var(--tui-link));background-color:var(--tui-action-background, var(--tui-base-02))}\n"], components: [{ type: i1.TuiMarkerIconComponent, selector: "tui-marker-icon, a[tuiMarkerIcon], button[tuiMarkerIcon]", inputs: ["mode", "size", "src"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
39
39
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiActionComponent, decorators: [{
40
40
  type: Component,
41
41
  args: [{
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-components-action.js","sources":["../../../projects/kit/components/action/action.component.ts","../../../projects/kit/components/action/action.template.html","../../../projects/kit/components/action/action.module.ts","../../../projects/kit/components/action/taiga-ui-kit-components-action.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n HostBinding,\n HostListener,\n Inject,\n Input,\n} from '@angular/core';\nimport {\n AbstractTuiInteractive,\n tuiAsFocusableItemAccessor,\n TuiDestroyService,\n TuiFocusVisibleService,\n tuiIsNativeFocused,\n TuiNativeFocusableElement,\n} from '@taiga-ui/cdk';\n\n@Component({\n selector: 'button[tuiAction], a[tuiAction]',\n templateUrl: './action.template.html',\n styleUrls: ['./action.style.less'],\n host: {\n class: 'tui-island tui-island_hoverable',\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n TuiDestroyService,\n TuiFocusVisibleService,\n tuiAsFocusableItemAccessor(TuiActionComponent),\n ],\n})\nexport class TuiActionComponent extends AbstractTuiInteractive {\n @Input()\n icon = '';\n\n readonly disabled = false;\n\n constructor(\n @Inject(TuiFocusVisibleService) focusVisible$: TuiFocusVisibleService,\n @Inject(ElementRef) private readonly el: ElementRef<HTMLElement>,\n ) {\n super();\n\n focusVisible$.subscribe(visible => {\n this.updateFocusVisible(visible);\n });\n }\n\n get nativeFocusableElement(): TuiNativeFocusableElement | null {\n return this.el.nativeElement;\n }\n\n get focused(): boolean {\n return tuiIsNativeFocused(this.nativeFocusableElement);\n }\n\n @HostBinding('tabIndex')\n get tabIndex(): number {\n return this.computedFocusable ? 0 : -1;\n }\n\n @HostListener('focusin', ['true'])\n @HostListener('focusout', ['false'])\n onFocused(focused: boolean): void {\n this.updateFocused(focused);\n }\n}\n","<ng-content></ng-content>\n<tui-marker-icon\n *ngIf=\"icon\"\n size=\"s\"\n class=\"t-icon tui-island__marker\"\n [src]=\"icon\"\n></tui-marker-icon>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiFocusableModule, TuiFocusVisibleModule} from '@taiga-ui/cdk';\nimport {TuiMarkerIconModule} from '@taiga-ui/kit/components/marker-icon';\n\nimport {TuiActionComponent} from './action.component';\n\n@NgModule({\n imports: [\n CommonModule,\n TuiFocusableModule,\n TuiFocusVisibleModule,\n TuiMarkerIconModule,\n ],\n declarations: [TuiActionComponent],\n exports: [TuiActionComponent],\n})\nexport class TuiActionModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;AAgCM,MAAO,kBAAmB,SAAQ,sBAAsB,CAAA;IAM1D,WACoC,CAAA,aAAqC,EAChC,EAA2B,EAAA;AAEhE,QAAA,KAAK,EAAE,CAAC;QAF6B,IAAE,CAAA,EAAA,GAAF,EAAE,CAAyB;QANpE,IAAI,CAAA,IAAA,GAAG,EAAE,CAAC;QAED,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;AAQtB,QAAA,aAAa,CAAC,SAAS,CAAC,OAAO,IAAG;AAC9B,YAAA,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;AACrC,SAAC,CAAC,CAAC;KACN;AAED,IAAA,IAAI,sBAAsB,GAAA;AACtB,QAAA,OAAO,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC;KAChC;AAED,IAAA,IAAI,OAAO,GAAA;AACP,QAAA,OAAO,kBAAkB,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;KAC1D;AAED,IAAA,IACI,QAAQ,GAAA;AACR,QAAA,OAAO,IAAI,CAAC,iBAAiB,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;KAC1C;AAID,IAAA,SAAS,CAAC,OAAgB,EAAA;AACtB,QAAA,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;KAC/B;;gHAlCQ,kBAAkB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAOf,sBAAsB,EAAA,EAAA,EAAA,KAAA,EACtB,UAAU,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AARb,kBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,kBAAkB,EANhB,QAAA,EAAA,iCAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,SAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,kBAAA,EAAA,EAAA,UAAA,EAAA,EAAA,UAAA,EAAA,eAAA,EAAA,EAAA,cAAA,EAAA,iCAAA,EAAA,EAAA,SAAA,EAAA;QACP,iBAAiB;QACjB,sBAAsB;QACtB,0BAA0B,CAAC,kBAAkB,CAAC;AACjD,KAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC9BL,qKAOA,EAAA,MAAA,EAAA,CAAA,gdAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,sBAAA,EAAA,QAAA,EAAA,0DAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,MAAA,EAAA,KAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;4FDyBa,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAd9B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,iCAAiC;AAC3C,oBAAA,WAAW,EAAE,wBAAwB;oBACrC,SAAS,EAAE,CAAC,qBAAqB,CAAC;AAClC,oBAAA,IAAI,EAAE;AACF,wBAAA,KAAK,EAAE,iCAAiC;AAC3C,qBAAA;oBACD,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC/C,oBAAA,SAAS,EAAE;wBACP,iBAAiB;wBACjB,sBAAsB;AACtB,wBAAA,0BAA0B,CAAoB,kBAAA,CAAA;AACjD,qBAAA;AACJ,iBAAA,CAAA;;0BAQQ,MAAM;2BAAC,sBAAsB,CAAA;;0BAC7B,MAAM;2BAAC,UAAU,CAAA;4CANtB,IAAI,EAAA,CAAA;sBADH,KAAK;gBAyBF,QAAQ,EAAA,CAAA;sBADX,WAAW;uBAAC,UAAU,CAAA;gBAOvB,SAAS,EAAA,CAAA;sBAFR,YAAY;uBAAC,SAAS,EAAE,CAAC,MAAM,CAAC,CAAA;;sBAChC,YAAY;uBAAC,UAAU,EAAE,CAAC,OAAO,CAAC,CAAA;;;ME9C1B,eAAe,CAAA;;6GAAf,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;8GAAf,eAAe,EAAA,YAAA,EAAA,CAHT,kBAAkB,CAAA,EAAA,OAAA,EAAA,CAL7B,YAAY;QACZ,kBAAkB;QAClB,qBAAqB;AACrB,QAAA,mBAAmB,aAGb,kBAAkB,CAAA,EAAA,CAAA,CAAA;AAEnB,eAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,EATf,OAAA,EAAA,CAAA;YACL,YAAY;YACZ,kBAAkB;YAClB,qBAAqB;YACrB,mBAAmB;AACtB,SAAA,CAAA,EAAA,CAAA,CAAA;4FAIQ,eAAe,EAAA,UAAA,EAAA,CAAA;kBAV3B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACN,oBAAA,OAAO,EAAE;wBACL,YAAY;wBACZ,kBAAkB;wBAClB,qBAAqB;wBACrB,mBAAmB;AACtB,qBAAA;oBACD,YAAY,EAAE,CAAC,kBAAkB,CAAC;oBAClC,OAAO,EAAE,CAAC,kBAAkB,CAAC;AAChC,iBAAA,CAAA;;;AChBD;;AAEG;;;;"}
1
+ {"version":3,"file":"taiga-ui-kit-components-action.js","sources":["../../../projects/kit/components/action/action.component.ts","../../../projects/kit/components/action/action.template.html","../../../projects/kit/components/action/action.module.ts","../../../projects/kit/components/action/taiga-ui-kit-components-action.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n HostBinding,\n HostListener,\n Inject,\n Input,\n} from '@angular/core';\nimport {\n AbstractTuiInteractive,\n tuiAsFocusableItemAccessor,\n TuiDestroyService,\n TuiFocusVisibleService,\n tuiIsNativeFocused,\n TuiNativeFocusableElement,\n} from '@taiga-ui/cdk';\n\n@Component({\n selector: 'button[tuiAction], a[tuiAction]',\n templateUrl: './action.template.html',\n styleUrls: ['./action.style.less'],\n host: {\n class: 'tui-island tui-island_hoverable',\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n TuiDestroyService,\n TuiFocusVisibleService,\n tuiAsFocusableItemAccessor(TuiActionComponent),\n ],\n})\nexport class TuiActionComponent extends AbstractTuiInteractive {\n @Input()\n icon = '';\n\n readonly disabled = false;\n\n constructor(\n @Inject(TuiFocusVisibleService) focusVisible$: TuiFocusVisibleService,\n @Inject(ElementRef) private readonly el: ElementRef<HTMLElement>,\n ) {\n super();\n\n focusVisible$.subscribe(visible => {\n this.updateFocusVisible(visible);\n });\n }\n\n get nativeFocusableElement(): TuiNativeFocusableElement | null {\n return this.el.nativeElement;\n }\n\n get focused(): boolean {\n return tuiIsNativeFocused(this.nativeFocusableElement);\n }\n\n @HostBinding('tabIndex')\n get tabIndex(): number {\n return this.computedFocusable ? 0 : -1;\n }\n\n @HostListener('focusin', ['true'])\n @HostListener('focusout', ['false'])\n onFocused(focused: boolean): void {\n this.updateFocused(focused);\n }\n}\n","<ng-content></ng-content>\n<tui-marker-icon\n *ngIf=\"icon\"\n size=\"s\"\n class=\"t-icon tui-island__marker\"\n [src]=\"icon\"\n></tui-marker-icon>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiFocusableModule, TuiFocusVisibleModule} from '@taiga-ui/cdk';\nimport {TuiMarkerIconModule} from '@taiga-ui/kit/components/marker-icon';\n\nimport {TuiActionComponent} from './action.component';\n\n@NgModule({\n imports: [\n CommonModule,\n TuiFocusableModule,\n TuiFocusVisibleModule,\n TuiMarkerIconModule,\n ],\n declarations: [TuiActionComponent],\n exports: [TuiActionComponent],\n})\nexport class TuiActionModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -71,7 +71,7 @@ class TuiAvatarComponent {
71
71
  }
72
72
  }
73
73
  TuiAvatarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiAvatarComponent, deps: [{ token: TUI_AVATAR_OPTIONS }], target: i0.ɵɵFactoryTarget.Component });
74
- TuiAvatarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiAvatarComponent, selector: "tui-avatar", inputs: { size: "size", avatarUrlSetter: ["avatarUrl", "avatarUrlSetter"], text: "text", fallback: "fallback", autoColor: "autoColor", rounded: "rounded" }, host: { properties: { "attr.data-size": "this.size", "class._rounded": "this.rounded", "style.background": "this.bgColor", "class._has-avatar": "this.hasAvatar" } }, ngImport: i0, template: "<!-- eslint-disable @html-eslint/require-img-alt -->\n<img\n *ngIf=\"isUrlValid\"\n loading=\"lazy\"\n class=\"t-image\"\n [attr.alt]=\"text\"\n [src]=\"avatarUrl || ''\"\n (error)=\"onError()\"\n/>\n<tui-svg\n *ngIf=\"useFallback\"\n class=\"t-icon\"\n [src]=\"fallback!\"\n></tui-svg>\n<tui-svg\n *ngIf=\"stringAvatar\"\n class=\"t-icon\"\n [src]=\"stringAvatar\"\n></tui-svg>\n<span class=\"t-text\">{{ computedText }}</span>\n", styles: [":host{position:relative;display:flex;flex-shrink:0;border-radius:var(--tui-radius-m);color:var(--tui-secondary-active);text-align:center;text-transform:uppercase;justify-content:center;align-items:center;background:var(--tui-avatar-background, currentColor);-webkit-user-select:none;-moz-user-select:none;user-select:none;overflow:hidden}:host[data-size=xs]{font:var(--tui-font-text-s);width:1.5rem;height:1.5rem}:host[data-size=s]{font:var(--tui-font-text-m);width:2rem;height:2rem}:host[data-size=m]{font:var(--tui-font-text-l);width:3rem;height:3rem}:host[data-size=l]{font:var(--tui-font-heading-5);width:4rem;height:4rem;border-radius:var(--tui-radius-xl)}:host[data-size=xl]{font:var(--tui-font-heading-3);width:6rem;height:6rem;border-radius:var(--tui-radius-xl)}:host[data-size=xxl]{font:var(--tui-font-heading-1);width:9rem;height:9rem;border-radius:var(--tui-radius-l)}:host[new][data-size=xxs]{width:1.5rem;height:1.5rem;border-radius:var(--tui-radius-s)}:host[new][data-size=xxs] .t-icon{transform:scale(.58)}:host[new][data-size=xs]{width:2rem;height:2rem;border-radius:var(--tui-radius-s)}:host[new][data-size=xs] .t-icon{transform:scale(.83)}:host[new][data-size=s]{width:2.5rem;height:2.5rem;border-radius:calc(1.5 * var(--tui-radius-s))}:host[new][data-size=s] .t-icon{transform:scale(1)}:host[new][data-size=m]{width:3rem;height:3rem;border-radius:calc(2 * var(--tui-radius-s))}:host[new][data-size=m] .t-icon{transform:scale(1.17)}:host[new][data-size=l]{width:4rem;height:4rem;border-radius:calc(2 * var(--tui-radius-s))}:host[new][data-size=l] .t-icon{transform:scale(1.67)}:host[new][data-size=xl]{width:6rem;height:6rem;border-radius:calc(3 * var(--tui-radius-s))}:host[new][data-size=xl] .t-icon{transform:scale(2.33)}:host[new][data-size=xxl]{width:8rem;height:8rem;border-radius:calc(4 * var(--tui-radius-s))}:host[new][data-size=xxl] .t-icon{transform:scale(3.33)}:host._has-avatar{background-color:transparent}:host._rounded{border-radius:100%!important}::ng-deep .tui-avatar-stack{display:flex;width:-webkit-min-content;width:min-content}:host-context(.tui-avatar-stack)[data-size=xs]{margin-right:-.625rem;box-shadow:0 0 0 1px var(--tui-avatar-border, var(--tui-base-01))}:host-context(.tui-avatar-stack)[data-size=s]{margin-right:-.875rem;box-shadow:0 0 0 1px var(--tui-avatar-border, var(--tui-base-01))}:host-context(.tui-avatar-stack)[data-size=m]{margin-right:-1.25rem;box-shadow:0 0 0 2px var(--tui-avatar-border, var(--tui-base-01))}:host-context(.tui-avatar-stack)[data-size=l]{margin-right:-1.625rem;box-shadow:0 0 0 2px var(--tui-avatar-border, var(--tui-base-01))}:host-context(.tui-avatar-stack)[data-size=xl]{margin-right:-2.25rem;box-shadow:0 0 0 3px var(--tui-avatar-border, var(--tui-base-01))}:host-context(.tui-avatar-stack)[data-size=xxl]{margin-right:-3.375rem;box-shadow:0 0 0 3px var(--tui-avatar-border, var(--tui-base-01))}.t-image{width:100%;height:100%;object-fit:cover}.t-text{color:var(--tui-avatar-color, var(--tui-text-01))}.t-icon{position:absolute;top:0;left:0;width:100%;height:100%;color:var(--tui-avatar-color, var(--tui-text-01))}:host[data-size=xs] .t-icon{transform:scale(.5)}:host[data-size=m] .t-icon{transform:scale(1.6)}:host[data-size=l] .t-icon{transform:scale(2)}:host[data-size=xl] .t-icon{transform:scale(3.2)}\n"], components: [{ type: i1.TuiSvgComponent, selector: "tui-svg", inputs: ["src"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.TuiLazyLoadingDirective, selector: "img[loading=\"lazy\"]", inputs: ["src"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
74
+ TuiAvatarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiAvatarComponent, selector: "tui-avatar", inputs: { size: "size", avatarUrlSetter: ["avatarUrl", "avatarUrlSetter"], text: "text", fallback: "fallback", autoColor: "autoColor", rounded: "rounded" }, host: { properties: { "attr.data-size": "this.size", "class._rounded": "this.rounded", "style.background": "this.bgColor", "class._has-avatar": "this.hasAvatar" } }, ngImport: i0, template: "<img\n *ngIf=\"isUrlValid\"\n loading=\"lazy\"\n class=\"t-image\"\n [attr.alt]=\"text\"\n [src]=\"avatarUrl || ''\"\n (error)=\"onError()\"\n/>\n<tui-svg\n *ngIf=\"useFallback\"\n class=\"t-icon\"\n [src]=\"fallback!\"\n></tui-svg>\n<tui-svg\n *ngIf=\"stringAvatar\"\n class=\"t-icon\"\n [src]=\"stringAvatar\"\n></tui-svg>\n<span class=\"t-text\">{{ computedText }}</span>\n", styles: [":host{position:relative;display:flex;flex-shrink:0;border-radius:var(--tui-radius-m);color:var(--tui-secondary-active);text-align:center;text-transform:uppercase;justify-content:center;align-items:center;background:var(--tui-avatar-background, currentColor);-webkit-user-select:none;-moz-user-select:none;user-select:none;overflow:hidden}:host[data-size=xs]{font:var(--tui-font-text-s);width:1.5rem;height:1.5rem}:host[data-size=s]{font:var(--tui-font-text-m);width:2rem;height:2rem}:host[data-size=m]{font:var(--tui-font-text-l);width:3rem;height:3rem}:host[data-size=l]{font:var(--tui-font-heading-5);width:4rem;height:4rem;border-radius:var(--tui-radius-xl)}:host[data-size=xl]{font:var(--tui-font-heading-3);width:6rem;height:6rem;border-radius:var(--tui-radius-xl)}:host[data-size=xxl]{font:var(--tui-font-heading-1);width:9rem;height:9rem;border-radius:var(--tui-radius-l)}:host[new][data-size=xxs]{width:1.5rem;height:1.5rem;border-radius:var(--tui-radius-s)}:host[new][data-size=xxs] .t-icon{transform:scale(.58)}:host[new][data-size=xs]{width:2rem;height:2rem;border-radius:var(--tui-radius-s)}:host[new][data-size=xs] .t-icon{transform:scale(.83)}:host[new][data-size=s]{width:2.5rem;height:2.5rem;border-radius:calc(1.5 * var(--tui-radius-s))}:host[new][data-size=s] .t-icon{transform:scale(1)}:host[new][data-size=m]{width:3rem;height:3rem;border-radius:calc(2 * var(--tui-radius-s))}:host[new][data-size=m] .t-icon{transform:scale(1.17)}:host[new][data-size=l]{width:4rem;height:4rem;border-radius:calc(2 * var(--tui-radius-s))}:host[new][data-size=l] .t-icon{transform:scale(1.67)}:host[new][data-size=xl]{width:6rem;height:6rem;border-radius:calc(3 * var(--tui-radius-s))}:host[new][data-size=xl] .t-icon{transform:scale(2.33)}:host[new][data-size=xxl]{width:8rem;height:8rem;border-radius:calc(4 * var(--tui-radius-s))}:host[new][data-size=xxl] .t-icon{transform:scale(3.33)}:host._has-avatar{background-color:transparent}:host._rounded{border-radius:100%!important}::ng-deep .tui-avatar-stack{display:flex;width:-webkit-min-content;width:min-content}:host-context(.tui-avatar-stack)[data-size=xs]{margin-right:-.625rem;box-shadow:0 0 0 1px var(--tui-avatar-border, var(--tui-base-01))}:host-context(.tui-avatar-stack)[data-size=s]{margin-right:-.875rem;box-shadow:0 0 0 1px var(--tui-avatar-border, var(--tui-base-01))}:host-context(.tui-avatar-stack)[data-size=m]{margin-right:-1.25rem;box-shadow:0 0 0 2px var(--tui-avatar-border, var(--tui-base-01))}:host-context(.tui-avatar-stack)[data-size=l]{margin-right:-1.625rem;box-shadow:0 0 0 2px var(--tui-avatar-border, var(--tui-base-01))}:host-context(.tui-avatar-stack)[data-size=xl]{margin-right:-2.25rem;box-shadow:0 0 0 3px var(--tui-avatar-border, var(--tui-base-01))}:host-context(.tui-avatar-stack)[data-size=xxl]{margin-right:-3.375rem;box-shadow:0 0 0 3px var(--tui-avatar-border, var(--tui-base-01))}.t-image{width:100%;height:100%;object-fit:cover}.t-text{color:var(--tui-avatar-color, var(--tui-text-01))}.t-icon{position:absolute;top:0;left:0;width:100%;height:100%;color:var(--tui-avatar-color, var(--tui-text-01))}:host[data-size=xs] .t-icon{transform:scale(.5)}:host[data-size=m] .t-icon{transform:scale(1.6)}:host[data-size=l] .t-icon{transform:scale(2)}:host[data-size=xl] .t-icon{transform:scale(3.2)}\n"], components: [{ type: i1.TuiSvgComponent, selector: "tui-svg", inputs: ["src"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.TuiLazyLoadingDirective, selector: "img[loading=\"lazy\"]", inputs: ["src"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
75
75
  __decorate([
76
76
  tuiPure
77
77
  ], TuiAvatarComponent.prototype, "getSlicedText", null);
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-components-avatar.js","sources":["../../../projects/kit/components/avatar/avatar.options.ts","../../../projects/kit/components/avatar/avatar.component.ts","../../../projects/kit/components/avatar/avatar.template.html","../../../projects/kit/components/avatar/avatar.module.ts","../../../projects/kit/components/avatar/taiga-ui-kit-components-avatar.ts"],"sourcesContent":["import {Provider} from '@angular/core';\nimport {tuiCreateToken, tuiProvideOptions} from '@taiga-ui/cdk';\nimport {TuiSizeXXL, TuiSizeXXS} from '@taiga-ui/core';\n\nexport interface TuiAvatarOptions {\n readonly autoColor: boolean;\n readonly rounded: boolean;\n readonly size: TuiSizeXXL | TuiSizeXXS;\n}\n\n/** Default values for the avatar options. */\nexport const TUI_AVATAR_DEFAULT_OPTIONS: TuiAvatarOptions = {\n size: `m`,\n autoColor: false,\n rounded: false,\n};\n\n/**\n * Default parameters for avatar component\n */\nexport const TUI_AVATAR_OPTIONS = tuiCreateToken(TUI_AVATAR_DEFAULT_OPTIONS);\n\nexport function tuiAvatarOptionsProvider(options: Partial<TuiAvatarOptions>): Provider {\n return tuiProvideOptions(TUI_AVATAR_OPTIONS, options, TUI_AVATAR_DEFAULT_OPTIONS);\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n HostBinding,\n Inject,\n Input,\n} from '@angular/core';\nimport {SafeResourceUrl} from '@angular/platform-browser';\nimport {tuiIsString, tuiPure, TuiSafeHtml} from '@taiga-ui/cdk';\nimport {tuiSizeBigger, TuiSizeXXL, TuiSizeXXS} from '@taiga-ui/core';\nimport {tuiStringHashToHsl} from '@taiga-ui/kit/utils/format';\n\nimport {TUI_AVATAR_OPTIONS, TuiAvatarOptions} from './avatar.options';\n\n@Component({\n selector: 'tui-avatar',\n templateUrl: './avatar.template.html',\n styleUrls: ['./avatar.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiAvatarComponent {\n @Input()\n @HostBinding('attr.data-size')\n size = this.options.size;\n\n @Input('avatarUrl')\n set avatarUrlSetter(avatarUrl: SafeResourceUrl | string | null) {\n this.avatarUrl = avatarUrl;\n this.isUrlValid = !!avatarUrl && !this.iconAvatar;\n }\n\n @Input()\n text = '';\n\n @Input()\n fallback: TuiSafeHtml | null = null;\n\n @Input()\n autoColor: boolean = this.options.autoColor;\n\n @Input()\n @HostBinding('class._rounded')\n rounded: boolean = this.options.rounded;\n\n avatarUrl: SafeResourceUrl | string | null = null;\n\n isUrlValid = false;\n\n constructor(@Inject(TUI_AVATAR_OPTIONS) private readonly options: TuiAvatarOptions) {}\n\n @HostBinding('style.background')\n get bgColor(): string {\n return this.autoColor ? tuiStringHashToHsl(this.text) : '';\n }\n\n @HostBinding('class._has-avatar')\n get hasAvatar(): boolean {\n return this.avatarUrl !== null && this.isUrlValid;\n }\n\n get iconAvatar(): boolean {\n return tuiIsString(this.avatarUrl) && !!this.avatarUrl?.startsWith('tuiIcon');\n }\n\n get useFallback(): boolean {\n return (\n !!this.fallback && !!this.avatarUrl && !this.isUrlValid && !this.text.length\n );\n }\n\n get computedText(): string {\n return this.hasAvatar || this.iconAvatar || this.text === ''\n ? ''\n : this.getSlicedText(this.text, this.size);\n }\n\n get stringAvatar(): string {\n return this.iconAvatar ? String(this.avatarUrl) : '';\n }\n\n onError(): void {\n this.isUrlValid = false;\n }\n\n @tuiPure\n private getSlicedText(text: string, size: TuiSizeXXL | TuiSizeXXS): string {\n const words = text.split(' ');\n\n return words.length > 1 && tuiSizeBigger(size)\n ? words[0].slice(0, 1) + words[1].slice(0, 1)\n : words[0].slice(0, 1);\n }\n}\n","<!-- eslint-disable @html-eslint/require-img-alt -->\n<img\n *ngIf=\"isUrlValid\"\n loading=\"lazy\"\n class=\"t-image\"\n [attr.alt]=\"text\"\n [src]=\"avatarUrl || ''\"\n (error)=\"onError()\"\n/>\n<tui-svg\n *ngIf=\"useFallback\"\n class=\"t-icon\"\n [src]=\"fallback!\"\n></tui-svg>\n<tui-svg\n *ngIf=\"stringAvatar\"\n class=\"t-icon\"\n [src]=\"stringAvatar\"\n></tui-svg>\n<span class=\"t-text\">{{ computedText }}</span>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiSvgModule} from '@taiga-ui/core';\nimport {TuiLazyLoadingModule} from '@taiga-ui/kit/directives';\n\nimport {TuiAvatarComponent} from './avatar.component';\n\n@NgModule({\n imports: [CommonModule, TuiLazyLoadingModule, TuiSvgModule],\n declarations: [TuiAvatarComponent],\n exports: [TuiAvatarComponent],\n})\nexport class TuiAvatarModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;;AAUA;AACa,MAAA,0BAA0B,GAAqB;AACxD,IAAA,IAAI,EAAE,CAAG,CAAA,CAAA;AACT,IAAA,SAAS,EAAE,KAAK;AAChB,IAAA,OAAO,EAAE,KAAK;EAChB;AAEF;;AAEG;MACU,kBAAkB,GAAG,cAAc,CAAC,0BAA0B,EAAE;AAEvE,SAAU,wBAAwB,CAAC,OAAkC,EAAA;IACvE,OAAO,iBAAiB,CAAC,kBAAkB,EAAE,OAAO,EAAE,0BAA0B,CAAC,CAAC;AACtF;;MCJa,kBAAkB,CAAA;AA4B3B,IAAA,WAAA,CAAyD,OAAyB,EAAA;QAAzB,IAAO,CAAA,OAAA,GAAP,OAAO,CAAkB;AAzBlF,QAAA,IAAA,CAAA,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;QASzB,IAAI,CAAA,IAAA,GAAG,EAAE,CAAC;QAGV,IAAQ,CAAA,QAAA,GAAuB,IAAI,CAAC;AAGpC,QAAA,IAAA,CAAA,SAAS,GAAY,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;AAI5C,QAAA,IAAA,CAAA,OAAO,GAAY,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;QAExC,IAAS,CAAA,SAAA,GAAoC,IAAI,CAAC;QAElD,IAAU,CAAA,UAAA,GAAG,KAAK,CAAC;KAEmE;IAvBtF,IACI,eAAe,CAAC,SAA0C,EAAA;AAC1D,QAAA,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;KACrD;AAqBD,IAAA,IACI,OAAO,GAAA;AACP,QAAA,OAAO,IAAI,CAAC,SAAS,GAAG,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;KAC9D;AAED,IAAA,IACI,SAAS,GAAA;QACT,OAAO,IAAI,CAAC,SAAS,KAAK,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC;KACrD;AAED,IAAA,IAAI,UAAU,GAAA;;QACV,OAAO,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAC,MAAA,IAAI,CAAC,SAAS,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,UAAU,CAAC,SAAS,CAAC,CAAA,CAAC;KACjF;AAED,IAAA,IAAI,WAAW,GAAA;QACX,QACI,CAAC,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAC9E;KACL;AAED,IAAA,IAAI,YAAY,GAAA;AACZ,QAAA,OAAO,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,KAAK,EAAE;AACxD,cAAE,EAAE;AACJ,cAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;KAClD;AAED,IAAA,IAAI,YAAY,GAAA;AACZ,QAAA,OAAO,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC;KACxD;IAED,OAAO,GAAA;AACH,QAAA,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;KAC3B;IAGO,aAAa,CAAC,IAAY,EAAE,IAA6B,EAAA;QAC7D,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAE9B,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,aAAa,CAAC,IAAI,CAAC;cACxC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;AAC7C,cAAE,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;KAC9B;;AAvEQ,kBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,kBA4BP,kBAAkB,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AA5B7B,kBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,kBAAkB,qXCpB/B,odAoBA,EAAA,MAAA,EAAA,CAAA,2tGAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,KAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,uBAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,CAAA,KAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;ADiEI,UAAA,CAAA;IADC,OAAO;AAOP,CAAA,EAAA,kBAAA,CAAA,SAAA,EAAA,eAAA,EAAA,IAAA,CAAA,CAAA;4FAvEQ,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAN9B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,YAAY;AACtB,oBAAA,WAAW,EAAE,wBAAwB;oBACrC,SAAS,EAAE,CAAC,qBAAqB,CAAC;oBAClC,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAClD,iBAAA,CAAA;;0BA6BgB,MAAM;2BAAC,kBAAkB,CAAA;4CAzBtC,IAAI,EAAA,CAAA;sBAFH,KAAK;;sBACL,WAAW;uBAAC,gBAAgB,CAAA;gBAIzB,eAAe,EAAA,CAAA;sBADlB,KAAK;uBAAC,WAAW,CAAA;gBAOlB,IAAI,EAAA,CAAA;sBADH,KAAK;gBAIN,QAAQ,EAAA,CAAA;sBADP,KAAK;gBAIN,SAAS,EAAA,CAAA;sBADR,KAAK;gBAKN,OAAO,EAAA,CAAA;sBAFN,KAAK;;sBACL,WAAW;uBAAC,gBAAgB,CAAA;gBAUzB,OAAO,EAAA,CAAA;sBADV,WAAW;uBAAC,kBAAkB,CAAA;gBAM3B,SAAS,EAAA,CAAA;sBADZ,WAAW;uBAAC,mBAAmB,CAAA;gBA8BxB,aAAa,EAAA,EAAA,EAAA,EAAA,CAAA;;MEzEZ,eAAe,CAAA;;6GAAf,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;8GAAf,eAAe,EAAA,YAAA,EAAA,CAHT,kBAAkB,CADvB,EAAA,OAAA,EAAA,CAAA,YAAY,EAAE,oBAAoB,EAAE,YAAY,CAAA,EAAA,OAAA,EAAA,CAEhD,kBAAkB,CAAA,EAAA,CAAA,CAAA;AAEnB,eAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,YAJf,CAAC,YAAY,EAAE,oBAAoB,EAAE,YAAY,CAAC,CAAA,EAAA,CAAA,CAAA;4FAIlD,eAAe,EAAA,UAAA,EAAA,CAAA;kBAL3B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACN,oBAAA,OAAO,EAAE,CAAC,YAAY,EAAE,oBAAoB,EAAE,YAAY,CAAC;oBAC3D,YAAY,EAAE,CAAC,kBAAkB,CAAC;oBAClC,OAAO,EAAE,CAAC,kBAAkB,CAAC;AAChC,iBAAA,CAAA;;;ACXD;;AAEG;;;;"}
1
+ {"version":3,"file":"taiga-ui-kit-components-avatar.js","sources":["../../../projects/kit/components/avatar/avatar.options.ts","../../../projects/kit/components/avatar/avatar.component.ts","../../../projects/kit/components/avatar/avatar.template.html","../../../projects/kit/components/avatar/avatar.module.ts","../../../projects/kit/components/avatar/taiga-ui-kit-components-avatar.ts"],"sourcesContent":["import {Provider} from '@angular/core';\nimport {tuiCreateToken, tuiProvideOptions} from '@taiga-ui/cdk';\nimport {TuiSizeXXL, TuiSizeXXS} from '@taiga-ui/core';\n\nexport interface TuiAvatarOptions {\n readonly autoColor: boolean;\n readonly rounded: boolean;\n readonly size: TuiSizeXXL | TuiSizeXXS;\n}\n\n/** Default values for the avatar options. */\nexport const TUI_AVATAR_DEFAULT_OPTIONS: TuiAvatarOptions = {\n size: `m`,\n autoColor: false,\n rounded: false,\n};\n\n/**\n * Default parameters for avatar component\n */\nexport const TUI_AVATAR_OPTIONS = tuiCreateToken(TUI_AVATAR_DEFAULT_OPTIONS);\n\nexport function tuiAvatarOptionsProvider(options: Partial<TuiAvatarOptions>): Provider {\n return tuiProvideOptions(TUI_AVATAR_OPTIONS, options, TUI_AVATAR_DEFAULT_OPTIONS);\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n HostBinding,\n Inject,\n Input,\n} from '@angular/core';\nimport {SafeResourceUrl} from '@angular/platform-browser';\nimport {tuiIsString, tuiPure, TuiSafeHtml} from '@taiga-ui/cdk';\nimport {tuiSizeBigger, TuiSizeXXL, TuiSizeXXS} from '@taiga-ui/core';\nimport {tuiStringHashToHsl} from '@taiga-ui/kit/utils/format';\n\nimport {TUI_AVATAR_OPTIONS, TuiAvatarOptions} from './avatar.options';\n\n@Component({\n selector: 'tui-avatar',\n templateUrl: './avatar.template.html',\n styleUrls: ['./avatar.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiAvatarComponent {\n @Input()\n @HostBinding('attr.data-size')\n size = this.options.size;\n\n @Input('avatarUrl')\n set avatarUrlSetter(avatarUrl: SafeResourceUrl | string | null) {\n this.avatarUrl = avatarUrl;\n this.isUrlValid = !!avatarUrl && !this.iconAvatar;\n }\n\n @Input()\n text = '';\n\n @Input()\n fallback: TuiSafeHtml | null = null;\n\n @Input()\n autoColor: boolean = this.options.autoColor;\n\n @Input()\n @HostBinding('class._rounded')\n rounded: boolean = this.options.rounded;\n\n avatarUrl: SafeResourceUrl | string | null = null;\n\n isUrlValid = false;\n\n constructor(@Inject(TUI_AVATAR_OPTIONS) private readonly options: TuiAvatarOptions) {}\n\n @HostBinding('style.background')\n get bgColor(): string {\n return this.autoColor ? tuiStringHashToHsl(this.text) : '';\n }\n\n @HostBinding('class._has-avatar')\n get hasAvatar(): boolean {\n return this.avatarUrl !== null && this.isUrlValid;\n }\n\n get iconAvatar(): boolean {\n return tuiIsString(this.avatarUrl) && !!this.avatarUrl?.startsWith('tuiIcon');\n }\n\n get useFallback(): boolean {\n return (\n !!this.fallback && !!this.avatarUrl && !this.isUrlValid && !this.text.length\n );\n }\n\n get computedText(): string {\n return this.hasAvatar || this.iconAvatar || this.text === ''\n ? ''\n : this.getSlicedText(this.text, this.size);\n }\n\n get stringAvatar(): string {\n return this.iconAvatar ? String(this.avatarUrl) : '';\n }\n\n onError(): void {\n this.isUrlValid = false;\n }\n\n @tuiPure\n private getSlicedText(text: string, size: TuiSizeXXL | TuiSizeXXS): string {\n const words = text.split(' ');\n\n return words.length > 1 && tuiSizeBigger(size)\n ? words[0].slice(0, 1) + words[1].slice(0, 1)\n : words[0].slice(0, 1);\n }\n}\n","<img\n *ngIf=\"isUrlValid\"\n loading=\"lazy\"\n class=\"t-image\"\n [attr.alt]=\"text\"\n [src]=\"avatarUrl || ''\"\n (error)=\"onError()\"\n/>\n<tui-svg\n *ngIf=\"useFallback\"\n class=\"t-icon\"\n [src]=\"fallback!\"\n></tui-svg>\n<tui-svg\n *ngIf=\"stringAvatar\"\n class=\"t-icon\"\n [src]=\"stringAvatar\"\n></tui-svg>\n<span class=\"t-text\">{{ computedText }}</span>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiSvgModule} from '@taiga-ui/core';\nimport {TuiLazyLoadingModule} from '@taiga-ui/kit/directives';\n\nimport {TuiAvatarComponent} from './avatar.component';\n\n@NgModule({\n imports: [CommonModule, TuiLazyLoadingModule, TuiSvgModule],\n declarations: [TuiAvatarComponent],\n exports: [TuiAvatarComponent],\n})\nexport class TuiAvatarModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-components-badged-content.js","sources":["../../../projects/kit/components/badged-content/badged-content.component.ts","../../../projects/kit/components/badged-content/badged-content.template.html","../../../projects/kit/components/badged-content/badged-content.module.ts","../../../projects/kit/components/badged-content/taiga-ui-kit-components-badged-content.ts"],"sourcesContent":["import {ChangeDetectionStrategy, Component, HostBinding, Input} from '@angular/core';\nimport {tuiIsNumber, tuiIsString, tuiPx} from '@taiga-ui/cdk';\nimport {tuiSizeBigger, TuiSizeL, TuiSizeXS, TuiSizeXXL} from '@taiga-ui/core';\nimport {TuiStatus} from '@taiga-ui/kit/types';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nconst BADGE_SIZE: {[key: string]: TuiSizeL | TuiSizeXS} = {\n xs: 'xs',\n s: 's',\n m: 's',\n l: 'm',\n xl: 'm',\n xxl: 'l',\n};\n\n@Component({\n selector: 'tui-badged-content',\n templateUrl: './badged-content.template.html',\n styleUrls: ['./badged-content.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiBadgedContentComponent {\n @Input()\n @HostBinding('class._with-top')\n contentTop: PolymorpheusContent;\n\n @Input()\n @HostBinding('class._with-bottom')\n contentBottom: PolymorpheusContent;\n\n @Input()\n @HostBinding('attr.data-size')\n size: TuiSizeXS | TuiSizeXXL = 'm';\n\n @Input()\n colorTop = '';\n\n @Input()\n colorBottom = '';\n\n @Input()\n @HostBinding('class._rounded')\n rounded = false;\n\n get topNotification(): string {\n return !this.contentTop && this.colorTop ? this.colorTop : '';\n }\n\n get bottomNotification(): string {\n return !this.contentBottom && this.colorBottom ? this.colorBottom : '';\n }\n\n get badgeSize(): TuiSizeL | TuiSizeXS {\n return BADGE_SIZE[this.size];\n }\n\n get badgeHidden(): boolean {\n return this.size === 'xs';\n }\n\n get sizeBig(): boolean {\n return tuiSizeBigger(this.size);\n }\n\n get boxShadow(): string {\n const borderWidth = this.sizeBig ? 3 : 2;\n\n return `0 0 0 ${tuiPx(borderWidth)}`;\n }\n\n contentIsNumber(content: PolymorpheusContent): content is number {\n return tuiIsNumber(content?.valueOf());\n }\n\n contentIsString(content: PolymorpheusContent): content is string {\n return tuiIsString(content?.valueOf());\n }\n\n getStatus(color: string): TuiStatus {\n return color ? 'custom' : 'primary';\n }\n}\n","<ng-content></ng-content>\n\n<div\n *ngIf=\"topNotification\"\n class=\"t-notification t-notification_top\"\n [style.background]=\"topNotification\"\n [style.boxShadow]=\"boxShadow\"\n></div>\n\n<div\n *ngIf=\"bottomNotification\"\n class=\"t-notification t-notification_bottom\"\n [style.background]=\"bottomNotification\"\n [style.boxShadow]=\"boxShadow\"\n></div>\n\n<div\n *ngIf=\"contentTop\"\n class=\"t-content t-content_top\"\n [style.boxShadow]=\"boxShadow\"\n>\n <ng-container *polymorpheusOutlet=\"contentTop as content\">\n <tui-badge\n *ngIf=\"contentIsNumber(content)\"\n [size]=\"badgeSize\"\n [status]=\"getStatus(colorTop)\"\n [style.backgroundColor]=\"colorTop\"\n [value]=\"content\"\n ></tui-badge>\n <tui-svg\n *ngIf=\"contentIsString(content)\"\n class=\"t-icon\"\n [src]=\"content\"\n [style.color]=\"colorTop\"\n ></tui-svg>\n </ng-container>\n</div>\n\n<div\n *ngIf=\"contentBottom && sizeBig\"\n class=\"t-content t-content_bottom\"\n [style.boxShadow]=\"boxShadow\"\n>\n <ng-container *polymorpheusOutlet=\"contentBottom as content\">\n <tui-badge\n *ngIf=\"contentIsNumber(content)\"\n [size]=\"badgeSize\"\n [status]=\"getStatus(colorBottom)\"\n [style.backgroundColor]=\"colorBottom\"\n [value]=\"content\"\n ></tui-badge>\n <tui-svg\n *ngIf=\"contentIsString(content)\"\n class=\"t-icon\"\n [src]=\"content\"\n [style.color]=\"colorBottom\"\n ></tui-svg>\n </ng-container>\n</div>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiSvgModule} from '@taiga-ui/core';\nimport {TuiBadgeModule} from '@taiga-ui/kit/components/badge';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiBadgedContentComponent} from './badged-content.component';\n\n@NgModule({\n imports: [CommonModule, PolymorpheusModule, TuiSvgModule, TuiBadgeModule],\n declarations: [TuiBadgedContentComponent],\n exports: [TuiBadgedContentComponent],\n})\nexport class TuiBadgedContentModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-kit-components-badged-content.js","sources":["../../../projects/kit/components/badged-content/badged-content.component.ts","../../../projects/kit/components/badged-content/badged-content.template.html","../../../projects/kit/components/badged-content/badged-content.module.ts","../../../projects/kit/components/badged-content/taiga-ui-kit-components-badged-content.ts"],"sourcesContent":["import {ChangeDetectionStrategy, Component, HostBinding, Input} from '@angular/core';\nimport {tuiIsNumber, tuiIsString, tuiPx} from '@taiga-ui/cdk';\nimport {tuiSizeBigger, TuiSizeL, TuiSizeXS, TuiSizeXXL} from '@taiga-ui/core';\nimport {TuiStatus} from '@taiga-ui/kit/types';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nconst BADGE_SIZE = {\n xs: 'xs',\n s: 's',\n m: 's',\n l: 'm',\n xl: 'm',\n xxl: 'l',\n} as const;\n\n@Component({\n selector: 'tui-badged-content',\n templateUrl: './badged-content.template.html',\n styleUrls: ['./badged-content.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiBadgedContentComponent {\n @Input()\n @HostBinding('class._with-top')\n contentTop: PolymorpheusContent;\n\n @Input()\n @HostBinding('class._with-bottom')\n contentBottom: PolymorpheusContent;\n\n @Input()\n @HostBinding('attr.data-size')\n size: TuiSizeXS | TuiSizeXXL = 'm';\n\n @Input()\n colorTop = '';\n\n @Input()\n colorBottom = '';\n\n @Input()\n @HostBinding('class._rounded')\n rounded = false;\n\n get topNotification(): string {\n return !this.contentTop && this.colorTop ? this.colorTop : '';\n }\n\n get bottomNotification(): string {\n return !this.contentBottom && this.colorBottom ? this.colorBottom : '';\n }\n\n get badgeSize(): TuiSizeL | TuiSizeXS {\n return BADGE_SIZE[this.size];\n }\n\n get badgeHidden(): boolean {\n return this.size === 'xs';\n }\n\n get sizeBig(): boolean {\n return tuiSizeBigger(this.size);\n }\n\n get boxShadow(): string {\n const borderWidth = this.sizeBig ? 3 : 2;\n\n return `0 0 0 ${tuiPx(borderWidth)}`;\n }\n\n contentIsNumber(content: PolymorpheusContent): content is number {\n return tuiIsNumber(content?.valueOf());\n }\n\n contentIsString(content: PolymorpheusContent): content is string {\n return tuiIsString(content?.valueOf());\n }\n\n getStatus(color: string): TuiStatus {\n return color ? 'custom' : 'primary';\n }\n}\n","<ng-content></ng-content>\n\n<div\n *ngIf=\"topNotification\"\n class=\"t-notification t-notification_top\"\n [style.background]=\"topNotification\"\n [style.boxShadow]=\"boxShadow\"\n></div>\n\n<div\n *ngIf=\"bottomNotification\"\n class=\"t-notification t-notification_bottom\"\n [style.background]=\"bottomNotification\"\n [style.boxShadow]=\"boxShadow\"\n></div>\n\n<div\n *ngIf=\"contentTop\"\n class=\"t-content t-content_top\"\n [style.boxShadow]=\"boxShadow\"\n>\n <ng-container *polymorpheusOutlet=\"contentTop as content\">\n <tui-badge\n *ngIf=\"contentIsNumber(content)\"\n [size]=\"badgeSize\"\n [status]=\"getStatus(colorTop)\"\n [style.backgroundColor]=\"colorTop\"\n [value]=\"content\"\n ></tui-badge>\n <tui-svg\n *ngIf=\"contentIsString(content)\"\n class=\"t-icon\"\n [src]=\"content\"\n [style.color]=\"colorTop\"\n ></tui-svg>\n </ng-container>\n</div>\n\n<div\n *ngIf=\"contentBottom && sizeBig\"\n class=\"t-content t-content_bottom\"\n [style.boxShadow]=\"boxShadow\"\n>\n <ng-container *polymorpheusOutlet=\"contentBottom as content\">\n <tui-badge\n *ngIf=\"contentIsNumber(content)\"\n [size]=\"badgeSize\"\n [status]=\"getStatus(colorBottom)\"\n [style.backgroundColor]=\"colorBottom\"\n [value]=\"content\"\n ></tui-badge>\n <tui-svg\n *ngIf=\"contentIsString(content)\"\n class=\"t-icon\"\n [src]=\"content\"\n [style.color]=\"colorBottom\"\n ></tui-svg>\n </ng-container>\n</div>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiSvgModule} from '@taiga-ui/core';\nimport {TuiBadgeModule} from '@taiga-ui/kit/components/badge';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiBadgedContentComponent} from './badged-content.component';\n\n@NgModule({\n imports: [CommonModule, PolymorpheusModule, TuiSvgModule, TuiBadgeModule],\n declarations: [TuiBadgedContentComponent],\n exports: [TuiBadgedContentComponent],\n})\nexport class TuiBadgedContentModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;;AAMA,MAAM,UAAU,GAAG;AACf,IAAA,EAAE,EAAE,IAAI;AACR,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,EAAE,EAAE,GAAG;AACP,IAAA,GAAG,EAAE,GAAG;CACF,CAAC;MAQE,yBAAyB,CAAA;AANtC,IAAA,WAAA,GAAA;QAiBI,IAAI,CAAA,IAAA,GAA2B,GAAG,CAAC;QAGnC,IAAQ,CAAA,QAAA,GAAG,EAAE,CAAC;QAGd,IAAW,CAAA,WAAA,GAAG,EAAE,CAAC;QAIjB,IAAO,CAAA,OAAA,GAAG,KAAK,CAAC;AAuCnB,KAAA;AArCG,IAAA,IAAI,eAAe,GAAA;AACf,QAAA,OAAO,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;KACjE;AAED,IAAA,IAAI,kBAAkB,GAAA;AAClB,QAAA,OAAO,CAAC,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;KAC1E;AAED,IAAA,IAAI,SAAS,GAAA;AACT,QAAA,OAAO,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAChC;AAED,IAAA,IAAI,WAAW,GAAA;AACX,QAAA,OAAO,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC;KAC7B;AAED,IAAA,IAAI,OAAO,GAAA;AACP,QAAA,OAAO,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KACnC;AAED,IAAA,IAAI,SAAS,GAAA;AACT,QAAA,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC;AAEzC,QAAA,OAAO,SAAS,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC;KACxC;AAED,IAAA,eAAe,CAAC,OAA4B,EAAA;QACxC,OAAO,WAAW,CAAC,OAAO,KAAP,IAAA,IAAA,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,OAAO,EAAE,CAAC,CAAC;KAC1C;AAED,IAAA,eAAe,CAAC,OAA4B,EAAA;QACxC,OAAO,WAAW,CAAC,OAAO,KAAP,IAAA,IAAA,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,OAAO,EAAE,CAAC,CAAC;KAC1C;AAED,IAAA,SAAS,CAAC,KAAa,EAAA;QACnB,OAAO,KAAK,GAAG,QAAQ,GAAG,SAAS,CAAC;KACvC;;uHA3DQ,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAzB,yBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,yBAAyB,iYCrBtC,2rDA2DA,EAAA,MAAA,EAAA,CAAA,qwIAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,MAAA,EAAA,QAAA,EAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,KAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,2BAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,oBAAA,EAAA,2BAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;4FDtCa,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBANrC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,oBAAoB;AAC9B,oBAAA,WAAW,EAAE,gCAAgC;oBAC7C,SAAS,EAAE,CAAC,6BAA6B,CAAC;oBAC1C,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAClD,iBAAA,CAAA;8BAIG,UAAU,EAAA,CAAA;sBAFT,KAAK;;sBACL,WAAW;uBAAC,iBAAiB,CAAA;gBAK9B,aAAa,EAAA,CAAA;sBAFZ,KAAK;;sBACL,WAAW;uBAAC,oBAAoB,CAAA;gBAKjC,IAAI,EAAA,CAAA;sBAFH,KAAK;;sBACL,WAAW;uBAAC,gBAAgB,CAAA;gBAI7B,QAAQ,EAAA,CAAA;sBADP,KAAK;gBAIN,WAAW,EAAA,CAAA;sBADV,KAAK;gBAKN,OAAO,EAAA,CAAA;sBAFN,KAAK;;sBACL,WAAW;uBAAC,gBAAgB,CAAA;;;ME5BpB,sBAAsB,CAAA;;oHAAtB,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;qHAAtB,sBAAsB,EAAA,YAAA,EAAA,CAHhB,yBAAyB,CAAA,EAAA,OAAA,EAAA,CAD9B,YAAY,EAAE,kBAAkB,EAAE,YAAY,EAAE,cAAc,CAAA,EAAA,OAAA,EAAA,CAE9D,yBAAyB,CAAA,EAAA,CAAA,CAAA;qHAE1B,sBAAsB,EAAA,OAAA,EAAA,CAJtB,CAAC,YAAY,EAAE,kBAAkB,EAAE,YAAY,EAAE,cAAc,CAAC,CAAA,EAAA,CAAA,CAAA;4FAIhE,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBALlC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACN,OAAO,EAAE,CAAC,YAAY,EAAE,kBAAkB,EAAE,YAAY,EAAE,cAAc,CAAC;oBACzE,YAAY,EAAE,CAAC,yBAAyB,CAAC;oBACzC,OAAO,EAAE,CAAC,yBAAyB,CAAC;AACvC,iBAAA,CAAA;;;ACZD;;AAEG;;;;"}
@@ -70,6 +70,7 @@ class TuiCalendarRangeComponent {
70
70
  const { activePeriod } = this;
71
71
  return (tuiIsString(item) && activePeriod === null) || activePeriod === item;
72
72
  }
73
+ // TODO: investigate if it is used anywhere and (if not) delete it in v4.0
73
74
  onRangeChange(dayRange) {
74
75
  this.updateValue(dayRange);
75
76
  }
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-components-calendar-range.js","sources":["../../../projects/kit/components/calendar-range/calendar-range.component.ts","../../../projects/kit/components/calendar-range/calendar-range.template.html","../../../projects/kit/components/calendar-range/calendar-range.module.ts","../../../projects/kit/components/calendar-range/taiga-ui-kit-components-calendar-range.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n EventEmitter,\n HostListener,\n Inject,\n Input,\n Optional,\n Output,\n Self,\n} from '@angular/core';\nimport {\n ALWAYS_FALSE_HANDLER,\n TUI_FIRST_DAY,\n TUI_LAST_DAY,\n TuiBooleanHandler,\n TuiDay,\n TuiDayLike,\n TuiDayRange,\n TuiDestroyService,\n tuiIsString,\n TuiMonth,\n tuiNullableSame,\n tuiObjectFromEntries,\n tuiPure,\n TuiTypedMapper,\n tuiWatch,\n} from '@taiga-ui/cdk';\nimport {\n TUI_COMMON_ICONS,\n TUI_DEFAULT_MARKER_HANDLER,\n TuiCommonIcons,\n TuiMarkerHandler,\n TuiWithOptionalMinMax,\n} from '@taiga-ui/core';\nimport {TuiDayRangePeriod} from '@taiga-ui/kit/classes';\nimport {MAX_DAY_RANGE_LENGTH_MAPPER} from '@taiga-ui/kit/constants';\nimport {TUI_CALENDAR_DATE_STREAM, TUI_OTHER_DATE_TEXT} from '@taiga-ui/kit/tokens';\nimport {Observable} from 'rxjs';\nimport {takeUntil} from 'rxjs/operators';\n\n@Component({\n selector: 'tui-calendar-range',\n templateUrl: './calendar-range.template.html',\n styleUrls: ['./calendar-range.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [TuiDestroyService],\n})\nexport class TuiCalendarRangeComponent implements TuiWithOptionalMinMax<TuiDay> {\n @Input()\n defaultViewedMonth: TuiMonth = TuiMonth.currentLocal();\n\n @Input()\n disabledItemHandler: TuiBooleanHandler<TuiDay> = ALWAYS_FALSE_HANDLER;\n\n @Input()\n markerHandler: TuiMarkerHandler = TUI_DEFAULT_MARKER_HANDLER;\n\n @Input()\n items: readonly TuiDayRangePeriod[] = [];\n\n @Input()\n min: TuiDay | null = TUI_FIRST_DAY;\n\n @Input()\n max: TuiDay | null = TUI_LAST_DAY;\n\n @Input()\n minLength: TuiDayLike | null = null;\n\n @Input()\n maxLength: TuiDayLike | null = null;\n\n @Input()\n value: TuiDayRange | null = null;\n\n @Output()\n readonly valueChange = new EventEmitter<TuiDayRange | null>();\n\n previousValue: TuiDayRange | null = null;\n\n readonly maxLengthMapper = MAX_DAY_RANGE_LENGTH_MAPPER;\n\n get computedMin(): TuiDay {\n return this.min ?? TUI_FIRST_DAY;\n }\n\n get computedMax(): TuiDay {\n return this.max ?? TUI_LAST_DAY;\n }\n\n constructor(\n @Optional()\n @Inject(TUI_CALENDAR_DATE_STREAM)\n valueChanges: Observable<TuiDayRange | null> | null,\n @Inject(ChangeDetectorRef) cdr: ChangeDetectorRef,\n @Self() @Inject(TuiDestroyService) destroy$: TuiDestroyService,\n @Inject(TUI_OTHER_DATE_TEXT) readonly otherDateText$: Observable<string>,\n @Inject(TUI_COMMON_ICONS) readonly icons: TuiCommonIcons,\n ) {\n if (!valueChanges) {\n return;\n }\n\n valueChanges.pipe(tuiWatch(cdr), takeUntil(destroy$)).subscribe(value => {\n this.value = value;\n });\n }\n\n @HostListener('document:keydown.capture', ['$event'])\n onEsc(event: KeyboardEvent): void {\n if (event.key !== 'Escape' || !this.value?.isSingleDay) {\n return;\n }\n\n event.stopPropagation();\n this.value = this.previousValue;\n }\n\n readonly mapper: TuiTypedMapper<\n [\n readonly TuiDayRangePeriod[],\n TuiDay | null,\n TuiDay | null,\n TuiDayLike | null,\n string?,\n ],\n ReadonlyArray<TuiDayRangePeriod | string>\n > = (items, min, max, minLength, otherDateText = '') => [\n ...items.filter(\n item =>\n (minLength === null ||\n item.range.from.append(minLength).daySameOrBefore(item.range.to)) &&\n (min === null || item.range.to.daySameOrAfter(min)) &&\n (max === null || item.range.from.daySameOrBefore(max)),\n ),\n otherDateText,\n ];\n\n get calculatedDisabledItemHandler(): TuiBooleanHandler<TuiDay> {\n return this.calculateDisabledItemHandler(\n this.disabledItemHandler,\n this.value,\n this.minLength,\n );\n }\n\n get computedMonth(): TuiMonth {\n return this.value ? this.value.to : this.defaultViewedMonth;\n }\n\n isItemActive(item: TuiDayRangePeriod | string): boolean {\n const {activePeriod} = this;\n\n return (tuiIsString(item) && activePeriod === null) || activePeriod === item;\n }\n\n onRangeChange(dayRange: TuiDayRange): void {\n this.updateValue(dayRange);\n }\n\n onDayClick(day: TuiDay): void {\n const {value} = this;\n\n this.previousValue = value;\n\n if (value === null || !value.isSingleDay) {\n this.value = new TuiDayRange(day, day);\n\n return;\n }\n\n this.updateValue(TuiDayRange.sort(value.from, day));\n }\n\n onItemSelect(item: TuiDayRangePeriod | string): void {\n if (typeof item !== 'string') {\n this.updateValue(item.range.dayLimit(this.min, this.max));\n\n return;\n }\n\n if (this.activePeriod !== null) {\n this.updateValue(null);\n }\n }\n\n updateValue(value: TuiDayRange | null): void {\n this.value = value;\n this.valueChange.emit(value);\n }\n\n private get activePeriod(): TuiDayRangePeriod | null {\n return (\n this.items.find(item =>\n tuiNullableSame<TuiDayRange>(\n this.value,\n item.range,\n (a, b) =>\n a.from.daySame(b.from.dayLimit(this.min, this.max)) &&\n a.to.daySame(b.to.dayLimit(this.min, this.max)),\n ),\n ) || null\n );\n }\n\n @tuiPure\n private calculateDisabledItemHandler(\n disabledItemHandler: TuiBooleanHandler<TuiDay>,\n value: TuiDayRange | null,\n minLength: TuiDayLike | null,\n ): TuiBooleanHandler<TuiDay> {\n return item => {\n if (!value?.isSingleDay || !minLength) {\n return disabledItemHandler(item);\n }\n\n const negativeMinLength = tuiObjectFromEntries(\n Object.entries(minLength).map(([key, value]) => [key, -value]),\n );\n const disabledBefore = value.from.append(negativeMinLength).append({day: 1});\n const disabledAfter = value.from.append(minLength).append({day: -1});\n const inDisabledRange =\n disabledBefore.dayBefore(item) && disabledAfter.dayAfter(item);\n\n return inDisabledRange || disabledItemHandler(item);\n };\n }\n}\n","<tui-primitive-calendar-range\n *ngIf=\"!items.length; else presets\"\n automation-id=\"tui-calendar-range__calendars\"\n tuiPreventDefault=\"mousedown\"\n [defaultViewedMonthFirst]=\"defaultViewedMonth\"\n [disabledItemHandler]=\"calculatedDisabledItemHandler\"\n [markerHandler]=\"markerHandler\"\n [max]=\"computedMax | tuiMapper: maxLengthMapper : value : maxLength : false\"\n [min]=\"computedMin | tuiMapper: maxLengthMapper : value : maxLength : true\"\n [value]=\"value\"\n (dayClick)=\"onDayClick($event)\"\n></tui-primitive-calendar-range>\n<ng-template #presets>\n <div class=\"t-wrapper\">\n <tui-calendar\n automation-id=\"tui-calendar-range__calendar\"\n tuiPreventDefault=\"mousedown\"\n [disabledItemHandler]=\"calculatedDisabledItemHandler\"\n [markerHandler]=\"markerHandler\"\n [max]=\"computedMax | tuiMapper: maxLengthMapper : value : maxLength : false\"\n [min]=\"computedMin | tuiMapper: maxLengthMapper : value : maxLength : true\"\n [month]=\"computedMonth\"\n [value]=\"value\"\n (dayClick)=\"onDayClick($event)\"\n ></tui-calendar>\n <tui-data-list\n automation-id=\"tui-calendar-range__menu\"\n role=\"menu\"\n class=\"t-menu\"\n >\n <button\n *ngFor=\"let item of items | tuiMapper: mapper : min : max : minLength : (otherDateText$ | async)\"\n automation-id=\"tui-calendar-range__menu__item\"\n role=\"menuitemradio\"\n tuiOption\n tuiPreventDefault=\"mousedown\"\n [attr.aria-checked]=\"isItemActive(item)\"\n (click)=\"onItemSelect(item)\"\n (keydown.enter.prevent)=\"onItemSelect(item)\"\n (keydown.space.prevent)=\"onItemSelect(item)\"\n >\n {{ item }}\n <tui-svg\n *ngIf=\"isItemActive(item)\"\n automation-id=\"tui-calendar-range__checkmark\"\n class=\"t-checkmark\"\n [src]=\"icons.check\"\n ></tui-svg>\n </button>\n </tui-data-list>\n </div>\n</ng-template>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiMapperPipeModule, TuiPreventDefaultModule} from '@taiga-ui/cdk';\nimport {TuiCalendarModule, TuiDataListModule, TuiSvgModule} from '@taiga-ui/core';\nimport {TuiPrimitiveCalendarRangeModule} from '@taiga-ui/kit/internal/primitive-calendar-range';\n\nimport {TuiCalendarRangeComponent} from './calendar-range.component';\n\n@NgModule({\n imports: [\n CommonModule,\n TuiMapperPipeModule,\n TuiPreventDefaultModule,\n TuiCalendarModule,\n TuiCalendarModule,\n TuiSvgModule,\n TuiDataListModule,\n TuiPrimitiveCalendarRangeModule,\n ],\n declarations: [TuiCalendarRangeComponent],\n exports: [TuiCalendarRangeComponent],\n})\nexport class TuiCalendarRangeModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-kit-components-calendar-range.js","sources":["../../../projects/kit/components/calendar-range/calendar-range.component.ts","../../../projects/kit/components/calendar-range/calendar-range.template.html","../../../projects/kit/components/calendar-range/calendar-range.module.ts","../../../projects/kit/components/calendar-range/taiga-ui-kit-components-calendar-range.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n EventEmitter,\n HostListener,\n Inject,\n Input,\n Optional,\n Output,\n Self,\n} from '@angular/core';\nimport {\n ALWAYS_FALSE_HANDLER,\n TUI_FIRST_DAY,\n TUI_LAST_DAY,\n TuiBooleanHandler,\n TuiDay,\n TuiDayLike,\n TuiDayRange,\n TuiDestroyService,\n tuiIsString,\n TuiMonth,\n tuiNullableSame,\n tuiObjectFromEntries,\n tuiPure,\n TuiTypedMapper,\n tuiWatch,\n} from '@taiga-ui/cdk';\nimport {\n TUI_COMMON_ICONS,\n TUI_DEFAULT_MARKER_HANDLER,\n TuiCommonIcons,\n TuiMarkerHandler,\n TuiWithOptionalMinMax,\n} from '@taiga-ui/core';\nimport {TuiDayRangePeriod} from '@taiga-ui/kit/classes';\nimport {MAX_DAY_RANGE_LENGTH_MAPPER} from '@taiga-ui/kit/constants';\nimport {TUI_CALENDAR_DATE_STREAM, TUI_OTHER_DATE_TEXT} from '@taiga-ui/kit/tokens';\nimport {Observable} from 'rxjs';\nimport {takeUntil} from 'rxjs/operators';\n\n@Component({\n selector: 'tui-calendar-range',\n templateUrl: './calendar-range.template.html',\n styleUrls: ['./calendar-range.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [TuiDestroyService],\n})\nexport class TuiCalendarRangeComponent implements TuiWithOptionalMinMax<TuiDay> {\n @Input()\n defaultViewedMonth: TuiMonth = TuiMonth.currentLocal();\n\n @Input()\n disabledItemHandler: TuiBooleanHandler<TuiDay> = ALWAYS_FALSE_HANDLER;\n\n @Input()\n markerHandler: TuiMarkerHandler = TUI_DEFAULT_MARKER_HANDLER;\n\n @Input()\n items: readonly TuiDayRangePeriod[] = [];\n\n @Input()\n min: TuiDay | null = TUI_FIRST_DAY;\n\n @Input()\n max: TuiDay | null = TUI_LAST_DAY;\n\n @Input()\n minLength: TuiDayLike | null = null;\n\n @Input()\n maxLength: TuiDayLike | null = null;\n\n @Input()\n value: TuiDayRange | null = null;\n\n @Output()\n readonly valueChange = new EventEmitter<TuiDayRange | null>();\n\n previousValue: TuiDayRange | null = null;\n\n readonly maxLengthMapper = MAX_DAY_RANGE_LENGTH_MAPPER;\n\n get computedMin(): TuiDay {\n return this.min ?? TUI_FIRST_DAY;\n }\n\n get computedMax(): TuiDay {\n return this.max ?? TUI_LAST_DAY;\n }\n\n constructor(\n @Optional()\n @Inject(TUI_CALENDAR_DATE_STREAM)\n valueChanges: Observable<TuiDayRange | null> | null,\n @Inject(ChangeDetectorRef) cdr: ChangeDetectorRef,\n @Self() @Inject(TuiDestroyService) destroy$: TuiDestroyService,\n @Inject(TUI_OTHER_DATE_TEXT) readonly otherDateText$: Observable<string>,\n @Inject(TUI_COMMON_ICONS) readonly icons: TuiCommonIcons,\n ) {\n if (!valueChanges) {\n return;\n }\n\n valueChanges.pipe(tuiWatch(cdr), takeUntil(destroy$)).subscribe(value => {\n this.value = value;\n });\n }\n\n @HostListener('document:keydown.capture', ['$event'])\n onEsc(event: KeyboardEvent): void {\n if (event.key !== 'Escape' || !this.value?.isSingleDay) {\n return;\n }\n\n event.stopPropagation();\n this.value = this.previousValue;\n }\n\n readonly mapper: TuiTypedMapper<\n [\n readonly TuiDayRangePeriod[],\n TuiDay | null,\n TuiDay | null,\n TuiDayLike | null,\n string?,\n ],\n ReadonlyArray<TuiDayRangePeriod | string>\n > = (items, min, max, minLength, otherDateText = '') => [\n ...items.filter(\n item =>\n (minLength === null ||\n item.range.from.append(minLength).daySameOrBefore(item.range.to)) &&\n (min === null || item.range.to.daySameOrAfter(min)) &&\n (max === null || item.range.from.daySameOrBefore(max)),\n ),\n otherDateText,\n ];\n\n get calculatedDisabledItemHandler(): TuiBooleanHandler<TuiDay> {\n return this.calculateDisabledItemHandler(\n this.disabledItemHandler,\n this.value,\n this.minLength,\n );\n }\n\n get computedMonth(): TuiMonth {\n return this.value ? this.value.to : this.defaultViewedMonth;\n }\n\n isItemActive(item: TuiDayRangePeriod | string): boolean {\n const {activePeriod} = this;\n\n return (tuiIsString(item) && activePeriod === null) || activePeriod === item;\n }\n\n // TODO: investigate if it is used anywhere and (if not) delete it in v4.0\n onRangeChange(dayRange: TuiDayRange): void {\n this.updateValue(dayRange);\n }\n\n onDayClick(day: TuiDay): void {\n const {value} = this;\n\n this.previousValue = value;\n\n if (value === null || !value.isSingleDay) {\n this.value = new TuiDayRange(day, day);\n\n return;\n }\n\n this.updateValue(TuiDayRange.sort(value.from, day));\n }\n\n onItemSelect(item: TuiDayRangePeriod | string): void {\n if (typeof item !== 'string') {\n this.updateValue(item.range.dayLimit(this.min, this.max));\n\n return;\n }\n\n if (this.activePeriod !== null) {\n this.updateValue(null);\n }\n }\n\n updateValue(value: TuiDayRange | null): void {\n this.value = value;\n this.valueChange.emit(value);\n }\n\n private get activePeriod(): TuiDayRangePeriod | null {\n return (\n this.items.find(item =>\n tuiNullableSame<TuiDayRange>(\n this.value,\n item.range,\n (a, b) =>\n a.from.daySame(b.from.dayLimit(this.min, this.max)) &&\n a.to.daySame(b.to.dayLimit(this.min, this.max)),\n ),\n ) || null\n );\n }\n\n @tuiPure\n private calculateDisabledItemHandler(\n disabledItemHandler: TuiBooleanHandler<TuiDay>,\n value: TuiDayRange | null,\n minLength: TuiDayLike | null,\n ): TuiBooleanHandler<TuiDay> {\n return item => {\n if (!value?.isSingleDay || !minLength) {\n return disabledItemHandler(item);\n }\n\n const negativeMinLength = tuiObjectFromEntries(\n Object.entries(minLength).map(([key, value]) => [key, -value]),\n );\n const disabledBefore = value.from.append(negativeMinLength).append({day: 1});\n const disabledAfter = value.from.append(minLength).append({day: -1});\n const inDisabledRange =\n disabledBefore.dayBefore(item) && disabledAfter.dayAfter(item);\n\n return inDisabledRange || disabledItemHandler(item);\n };\n }\n}\n","<tui-primitive-calendar-range\n *ngIf=\"!items.length; else presets\"\n automation-id=\"tui-calendar-range__calendars\"\n tuiPreventDefault=\"mousedown\"\n [defaultViewedMonthFirst]=\"defaultViewedMonth\"\n [disabledItemHandler]=\"calculatedDisabledItemHandler\"\n [markerHandler]=\"markerHandler\"\n [max]=\"computedMax | tuiMapper: maxLengthMapper : value : maxLength : false\"\n [min]=\"computedMin | tuiMapper: maxLengthMapper : value : maxLength : true\"\n [value]=\"value\"\n (dayClick)=\"onDayClick($event)\"\n></tui-primitive-calendar-range>\n<ng-template #presets>\n <div class=\"t-wrapper\">\n <tui-calendar\n automation-id=\"tui-calendar-range__calendar\"\n tuiPreventDefault=\"mousedown\"\n [disabledItemHandler]=\"calculatedDisabledItemHandler\"\n [markerHandler]=\"markerHandler\"\n [max]=\"computedMax | tuiMapper: maxLengthMapper : value : maxLength : false\"\n [min]=\"computedMin | tuiMapper: maxLengthMapper : value : maxLength : true\"\n [month]=\"computedMonth\"\n [value]=\"value\"\n (dayClick)=\"onDayClick($event)\"\n ></tui-calendar>\n <tui-data-list\n automation-id=\"tui-calendar-range__menu\"\n role=\"menu\"\n class=\"t-menu\"\n >\n <button\n *ngFor=\"let item of items | tuiMapper: mapper : min : max : minLength : (otherDateText$ | async)\"\n automation-id=\"tui-calendar-range__menu__item\"\n role=\"menuitemradio\"\n tuiOption\n tuiPreventDefault=\"mousedown\"\n [attr.aria-checked]=\"isItemActive(item)\"\n (click)=\"onItemSelect(item)\"\n (keydown.enter.prevent)=\"onItemSelect(item)\"\n (keydown.space.prevent)=\"onItemSelect(item)\"\n >\n {{ item }}\n <tui-svg\n *ngIf=\"isItemActive(item)\"\n automation-id=\"tui-calendar-range__checkmark\"\n class=\"t-checkmark\"\n [src]=\"icons.check\"\n ></tui-svg>\n </button>\n </tui-data-list>\n </div>\n</ng-template>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiMapperPipeModule, TuiPreventDefaultModule} from '@taiga-ui/cdk';\nimport {TuiCalendarModule, TuiDataListModule, TuiSvgModule} from '@taiga-ui/core';\nimport {TuiPrimitiveCalendarRangeModule} from '@taiga-ui/kit/internal/primitive-calendar-range';\n\nimport {TuiCalendarRangeComponent} from './calendar-range.component';\n\n@NgModule({\n imports: [\n CommonModule,\n TuiMapperPipeModule,\n TuiPreventDefaultModule,\n TuiCalendarModule,\n TuiCalendarModule,\n TuiSvgModule,\n TuiDataListModule,\n TuiPrimitiveCalendarRangeModule,\n ],\n declarations: [TuiCalendarRangeComponent],\n exports: [TuiCalendarRangeComponent],\n})\nexport class TuiCalendarRangeModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -97,7 +97,10 @@ class TuiComboBoxComponent extends AbstractTuiNullableControl {
97
97
  if (this.strict || this.search === '') {
98
98
  this.value = null;
99
99
  }
100
- (_b = this.hostedDropdown) === null || _b === void 0 ? void 0 : _b.updateOpen(true);
100
+ // Clearing sets the empty value, the dropdown should not be opened on clear.
101
+ if (this.search !== '') {
102
+ (_b = this.hostedDropdown) === null || _b === void 0 ? void 0 : _b.updateOpen(true);
103
+ }
101
104
  }
102
105
  /** @deprecated use 'value' setter */
103
106
  updateValue(value) {
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-components-combo-box.js","sources":["../../../projects/kit/components/combo-box/combo-box.component.ts","../../../projects/kit/components/combo-box/combo-box.template.html","../../../projects/kit/components/combo-box/combo-box.directive.ts","../../../projects/kit/components/combo-box/combo-box-strict.directive.ts","../../../projects/kit/components/combo-box/combo-box.module.ts","../../../projects/kit/components/combo-box/taiga-ui-kit-components-combo-box.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n EventEmitter,\n HostBinding,\n Inject,\n Input,\n Optional,\n Output,\n Self,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {\n AbstractTuiNullableControl,\n TUI_STRICT_MATCHER,\n TuiActiveZoneDirective,\n tuiAsControl,\n tuiAsFocusableItemAccessor,\n TuiContextWithImplicit,\n TuiFocusableElementAccessor,\n tuiIsNativeFocused,\n tuiIsPresent,\n TuiStringMatcher,\n} from '@taiga-ui/cdk';\nimport {\n TUI_DATA_LIST_ACCESSOR,\n TUI_TEXTFIELD_SIZE,\n tuiAsDataListHost,\n tuiAsOptionContent,\n TuiDataListAccessor,\n TuiDataListDirective,\n TuiDataListHost,\n TuiHostedDropdownComponent,\n TuiPrimitiveTextfieldComponent,\n TuiSizeL,\n TuiSizeM,\n TuiSizeS,\n TuiTextfieldSizeDirective,\n TuiValueContentContext,\n} from '@taiga-ui/core';\nimport {TUI_ARROW_MODE, TuiArrowMode} from '@taiga-ui/kit/components/arrow';\nimport {TUI_SELECT_OPTION} from '@taiga-ui/kit/components/select-option';\nimport {FIXED_DROPDOWN_CONTROLLER_PROVIDER} from '@taiga-ui/kit/providers';\nimport {TUI_ITEMS_HANDLERS, TuiItemsHandlers} from '@taiga-ui/kit/tokens';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\n@Component({\n selector: 'tui-combo-box',\n templateUrl: './combo-box.template.html',\n styleUrls: ['./combo-box.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiAsFocusableItemAccessor(TuiComboBoxComponent),\n tuiAsDataListHost(TuiComboBoxComponent),\n tuiAsControl(TuiComboBoxComponent),\n tuiAsOptionContent(TUI_SELECT_OPTION),\n ],\n viewProviders: [FIXED_DROPDOWN_CONTROLLER_PROVIDER],\n})\nexport class TuiComboBoxComponent<T>\n extends AbstractTuiNullableControl<T>\n implements TuiFocusableElementAccessor, TuiDataListHost<T>\n{\n @ContentChild(TUI_DATA_LIST_ACCESSOR as any)\n private readonly accessor?: TuiDataListAccessor<T>;\n\n @ViewChild(TuiHostedDropdownComponent)\n private readonly hostedDropdown?: TuiHostedDropdownComponent;\n\n @ViewChild(TuiPrimitiveTextfieldComponent)\n private readonly textfield?: TuiPrimitiveTextfieldComponent;\n\n @Input()\n stringify: TuiItemsHandlers<T>['stringify'] = this.itemsHandlers.stringify;\n\n @Input()\n strictMatcher: TuiStringMatcher<T> | null = TUI_STRICT_MATCHER;\n\n @Input()\n identityMatcher: TuiItemsHandlers<T>['identityMatcher'] =\n this.itemsHandlers.identityMatcher;\n\n @Input()\n valueContent: PolymorpheusContent<TuiValueContentContext<T>>;\n\n @Input()\n strict = true;\n\n @Input()\n search: string | null = null;\n\n @Output()\n readonly searchChange = new EventEmitter<string | null>();\n\n @ContentChild(TuiDataListDirective, {read: TemplateRef})\n readonly datalist: PolymorpheusContent<\n TuiContextWithImplicit<TuiActiveZoneDirective>\n >;\n\n open = false;\n\n constructor(\n @Optional()\n @Self()\n @Inject(NgControl)\n control: NgControl | null,\n @Inject(ChangeDetectorRef) cdr: ChangeDetectorRef,\n @Inject(TUI_ARROW_MODE) private readonly arrowMode: TuiArrowMode,\n @Inject(TUI_ITEMS_HANDLERS) private readonly itemsHandlers: TuiItemsHandlers<T>,\n @Inject(TUI_TEXTFIELD_SIZE)\n private readonly textfieldSize: TuiTextfieldSizeDirective,\n ) {\n super(control, cdr);\n }\n\n @HostBinding('attr.data-size')\n get size(): TuiSizeL | TuiSizeS {\n return this.textfieldSize.size;\n }\n\n get arrow(): PolymorpheusContent<\n TuiContextWithImplicit<TuiSizeL | TuiSizeM | TuiSizeS>\n > {\n return !this.interactive ? this.arrowMode.disabled : this.arrowMode.interactive;\n }\n\n get nativeFocusableElement(): HTMLInputElement | null {\n return this.textfield?.nativeFocusableElement ?? null;\n }\n\n get focused(): boolean {\n return (\n tuiIsNativeFocused(this.nativeFocusableElement) ||\n !!this.hostedDropdown?.focused\n );\n }\n\n get nativeValue(): string {\n return this.value === null ? this.search || '' : this.stringify(this.value);\n }\n\n get showValueTemplate(): boolean {\n return tuiIsPresent(this.value) && !this.focused;\n }\n\n get computedContent(): PolymorpheusContent<TuiValueContentContext<T>> {\n return this.valueContent || this.nativeValue;\n }\n\n onActiveZone(active: boolean): void {\n this.updateFocused(active);\n }\n\n checkOption(option: T): void {\n if (!this.isStrictMatch(option)) {\n return;\n }\n\n this.value = option;\n this.updateSearch(null);\n }\n\n handleOption(item: T): void {\n this.focusInput();\n this.close();\n this.updateSearch(null);\n this.value = item;\n\n if (this.value) {\n this.setNativeValue(this.stringify(item));\n }\n }\n\n onFieldKeyDownEnter(event: Event): void {\n if (this.open) {\n event.preventDefault();\n }\n\n const options = this.accessor?.getOptions() || [];\n\n if (options.length !== 1) {\n return;\n }\n\n this.value = options[0];\n this.updateSearch(null);\n this.close();\n }\n\n onValueChange(value: string): void {\n this.updateSearch(value);\n\n const match = this.accessor?.getOptions().find(item => this.isStrictMatch(item));\n\n if (match !== undefined) {\n this.value = match;\n this.updateSearch(null);\n\n return;\n }\n\n if (this.strict || this.search === '') {\n this.value = null;\n }\n\n this.hostedDropdown?.updateOpen(true);\n }\n\n /** @deprecated use 'value' setter */\n override updateValue(value: T | null): void {\n super.updateValue(value);\n }\n\n toggle(): void {\n this.hostedDropdown?.updateOpen(!this.open);\n }\n\n private isStrictMatch(item: T): boolean {\n return !!this.strictMatcher?.(item, this.search || '', this.stringify);\n }\n\n private close(): void {\n this.hostedDropdown?.updateOpen(false);\n }\n\n private updateSearch(search: string | null): void {\n if (this.search === search) {\n return;\n }\n\n this.search = search;\n this.searchChange.emit(search);\n }\n\n private setNativeValue(value: string): void {\n if (this.nativeFocusableElement) {\n this.nativeFocusableElement.value = value;\n }\n }\n\n private focusInput(preventScroll: boolean = false): void {\n if (this.nativeFocusableElement) {\n this.nativeFocusableElement.focus({preventScroll});\n }\n }\n}\n","<tui-hosted-dropdown\n class=\"t-hosted\"\n [canOpen]=\"interactive\"\n [content]=\"datalist || ''\"\n [(open)]=\"open\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n>\n <tui-primitive-textfield\n automation-id=\"tui-combo-box__textfield\"\n class=\"t-textfield\"\n [disabled]=\"computedDisabled\"\n [focusable]=\"computedFocusable\"\n [invalid]=\"computedInvalid\"\n [nativeId]=\"nativeId\"\n [pseudoFocus]=\"computedFocused\"\n [pseudoHover]=\"pseudoHover\"\n [readOnly]=\"readOnly\"\n [tuiTextfieldIcon]=\"arrow ? icon : ''\"\n [value]=\"nativeValue\"\n (click)=\"toggle()\"\n (keydown.enter)=\"onFieldKeyDownEnter($event)\"\n (valueChange)=\"onValueChange($event)\"\n >\n <ng-content></ng-content>\n <ng-content\n ngProjectAs=\"input\"\n select=\"input\"\n ></ng-content>\n <div\n *ngIf=\"showValueTemplate\"\n automation-id=\"tui-combo-box__template\"\n ngProjectAs=\"tuiContent\"\n class=\"t-value\"\n >\n <ng-container\n *polymorpheusOutlet=\"computedContent as text; context: {$implicit: value!, active: computedFocused}\"\n >\n {{ text }}\n </ng-container>\n </div>\n </tui-primitive-textfield>\n\n <ng-template #icon>\n <div\n appearance=\"icon\"\n tuiWrapper\n class=\"t-icon\"\n >\n <ng-container *polymorpheusOutlet=\"arrow\"></ng-container>\n </div>\n </ng-template>\n</tui-hosted-dropdown>\n","import {Directive} from '@angular/core';\nimport {AbstractTuiTextfieldHost, tuiAsTextfieldHost} from '@taiga-ui/core';\n\nimport {TuiComboBoxComponent} from './combo-box.component';\n\n@Directive({\n selector: 'tui-combo-box',\n providers: [tuiAsTextfieldHost(TuiComboBoxDirective)],\n})\nexport class TuiComboBoxDirective extends AbstractTuiTextfieldHost<\n TuiComboBoxComponent<unknown>\n> {\n override get value(): string {\n return this.host.nativeValue;\n }\n\n onValueChange(value: string): void {\n this.host.onValueChange(value);\n }\n}\n","import {Directive, HostListener, Inject, Input} from '@angular/core';\n\nimport {TuiComboBoxComponent} from './combo-box.component';\n\n@Directive({\n selector: 'tui-combo-box[strict]',\n})\nexport class TuiComboBoxStrictDirective<T> {\n @Input()\n strict = true;\n\n constructor(\n @Inject(TuiComboBoxComponent)\n private readonly comboBox: TuiComboBoxComponent<T | string>,\n ) {}\n\n @HostListener('input')\n onInput(): void {\n if (!this.strict && this.comboBox.search) {\n this.comboBox.value = this.comboBox.search;\n }\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiActiveZoneModule} from '@taiga-ui/cdk';\nimport {\n TuiHostedDropdownModule,\n TuiPrimitiveTextfieldModule,\n TuiTextfieldComponent,\n TuiTextfieldControllerModule,\n TuiWrapperModule,\n} from '@taiga-ui/core';\nimport {TuiArrowModule} from '@taiga-ui/kit/components/arrow';\nimport {TuiSelectOptionModule} from '@taiga-ui/kit/components/select-option';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiComboBoxComponent} from './combo-box.component';\nimport {TuiComboBoxDirective} from './combo-box.directive';\nimport {TuiComboBoxStrictDirective} from './combo-box-strict.directive';\n\n@NgModule({\n imports: [\n CommonModule,\n PolymorpheusModule,\n TuiActiveZoneModule,\n TuiPrimitiveTextfieldModule,\n TuiHostedDropdownModule,\n TuiSelectOptionModule,\n TuiArrowModule,\n TuiWrapperModule,\n TuiTextfieldControllerModule,\n ],\n declarations: [\n TuiComboBoxComponent,\n TuiComboBoxStrictDirective,\n TuiComboBoxDirective,\n ],\n exports: [\n TuiComboBoxComponent,\n TuiComboBoxStrictDirective,\n TuiComboBoxDirective,\n TuiTextfieldComponent,\n ],\n})\nexport class TuiComboBoxModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-kit-components-combo-box.js","sources":["../../../projects/kit/components/combo-box/combo-box.component.ts","../../../projects/kit/components/combo-box/combo-box.template.html","../../../projects/kit/components/combo-box/combo-box.directive.ts","../../../projects/kit/components/combo-box/combo-box-strict.directive.ts","../../../projects/kit/components/combo-box/combo-box.module.ts","../../../projects/kit/components/combo-box/taiga-ui-kit-components-combo-box.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n EventEmitter,\n HostBinding,\n Inject,\n Input,\n Optional,\n Output,\n Self,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {\n AbstractTuiNullableControl,\n TUI_STRICT_MATCHER,\n TuiActiveZoneDirective,\n tuiAsControl,\n tuiAsFocusableItemAccessor,\n TuiContextWithImplicit,\n TuiFocusableElementAccessor,\n tuiIsNativeFocused,\n tuiIsPresent,\n TuiStringMatcher,\n} from '@taiga-ui/cdk';\nimport {\n TUI_DATA_LIST_ACCESSOR,\n TUI_TEXTFIELD_SIZE,\n tuiAsDataListHost,\n tuiAsOptionContent,\n TuiDataListAccessor,\n TuiDataListDirective,\n TuiDataListHost,\n TuiHostedDropdownComponent,\n TuiPrimitiveTextfieldComponent,\n TuiSizeL,\n TuiSizeM,\n TuiSizeS,\n TuiTextfieldSizeDirective,\n TuiValueContentContext,\n} from '@taiga-ui/core';\nimport {TUI_ARROW_MODE, TuiArrowMode} from '@taiga-ui/kit/components/arrow';\nimport {TUI_SELECT_OPTION} from '@taiga-ui/kit/components/select-option';\nimport {FIXED_DROPDOWN_CONTROLLER_PROVIDER} from '@taiga-ui/kit/providers';\nimport {TUI_ITEMS_HANDLERS, TuiItemsHandlers} from '@taiga-ui/kit/tokens';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\n@Component({\n selector: 'tui-combo-box',\n templateUrl: './combo-box.template.html',\n styleUrls: ['./combo-box.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiAsFocusableItemAccessor(TuiComboBoxComponent),\n tuiAsDataListHost(TuiComboBoxComponent),\n tuiAsControl(TuiComboBoxComponent),\n tuiAsOptionContent(TUI_SELECT_OPTION),\n ],\n viewProviders: [FIXED_DROPDOWN_CONTROLLER_PROVIDER],\n})\nexport class TuiComboBoxComponent<T>\n extends AbstractTuiNullableControl<T>\n implements TuiFocusableElementAccessor, TuiDataListHost<T>\n{\n @ContentChild(TUI_DATA_LIST_ACCESSOR as any)\n private readonly accessor?: TuiDataListAccessor<T>;\n\n @ViewChild(TuiHostedDropdownComponent)\n private readonly hostedDropdown?: TuiHostedDropdownComponent;\n\n @ViewChild(TuiPrimitiveTextfieldComponent)\n private readonly textfield?: TuiPrimitiveTextfieldComponent;\n\n @Input()\n stringify: TuiItemsHandlers<T>['stringify'] = this.itemsHandlers.stringify;\n\n @Input()\n strictMatcher: TuiStringMatcher<T> | null = TUI_STRICT_MATCHER;\n\n @Input()\n identityMatcher: TuiItemsHandlers<T>['identityMatcher'] =\n this.itemsHandlers.identityMatcher;\n\n @Input()\n valueContent: PolymorpheusContent<TuiValueContentContext<T>>;\n\n @Input()\n strict = true;\n\n @Input()\n search: string | null = null;\n\n @Output()\n readonly searchChange = new EventEmitter<string | null>();\n\n @ContentChild(TuiDataListDirective, {read: TemplateRef})\n readonly datalist: PolymorpheusContent<\n TuiContextWithImplicit<TuiActiveZoneDirective>\n >;\n\n open = false;\n\n constructor(\n @Optional()\n @Self()\n @Inject(NgControl)\n control: NgControl | null,\n @Inject(ChangeDetectorRef) cdr: ChangeDetectorRef,\n @Inject(TUI_ARROW_MODE) private readonly arrowMode: TuiArrowMode,\n @Inject(TUI_ITEMS_HANDLERS) private readonly itemsHandlers: TuiItemsHandlers<T>,\n @Inject(TUI_TEXTFIELD_SIZE)\n private readonly textfieldSize: TuiTextfieldSizeDirective,\n ) {\n super(control, cdr);\n }\n\n @HostBinding('attr.data-size')\n get size(): TuiSizeL | TuiSizeS {\n return this.textfieldSize.size;\n }\n\n get arrow(): PolymorpheusContent<\n TuiContextWithImplicit<TuiSizeL | TuiSizeM | TuiSizeS>\n > {\n return !this.interactive ? this.arrowMode.disabled : this.arrowMode.interactive;\n }\n\n get nativeFocusableElement(): HTMLInputElement | null {\n return this.textfield?.nativeFocusableElement ?? null;\n }\n\n get focused(): boolean {\n return (\n tuiIsNativeFocused(this.nativeFocusableElement) ||\n !!this.hostedDropdown?.focused\n );\n }\n\n get nativeValue(): string {\n return this.value === null ? this.search || '' : this.stringify(this.value);\n }\n\n get showValueTemplate(): boolean {\n return tuiIsPresent(this.value) && !this.focused;\n }\n\n get computedContent(): PolymorpheusContent<TuiValueContentContext<T>> {\n return this.valueContent || this.nativeValue;\n }\n\n onActiveZone(active: boolean): void {\n this.updateFocused(active);\n }\n\n checkOption(option: T): void {\n if (!this.isStrictMatch(option)) {\n return;\n }\n\n this.value = option;\n this.updateSearch(null);\n }\n\n handleOption(item: T): void {\n this.focusInput();\n this.close();\n this.updateSearch(null);\n this.value = item;\n\n if (this.value) {\n this.setNativeValue(this.stringify(item));\n }\n }\n\n onFieldKeyDownEnter(event: Event): void {\n if (this.open) {\n event.preventDefault();\n }\n\n const options = this.accessor?.getOptions() || [];\n\n if (options.length !== 1) {\n return;\n }\n\n this.value = options[0];\n this.updateSearch(null);\n this.close();\n }\n\n onValueChange(value: string): void {\n this.updateSearch(value);\n\n const match = this.accessor?.getOptions().find(item => this.isStrictMatch(item));\n\n if (match !== undefined) {\n this.value = match;\n this.updateSearch(null);\n\n return;\n }\n\n if (this.strict || this.search === '') {\n this.value = null;\n }\n\n // Clearing sets the empty value, the dropdown should not be opened on clear.\n if (this.search !== '') {\n this.hostedDropdown?.updateOpen(true);\n }\n }\n\n /** @deprecated use 'value' setter */\n override updateValue(value: T | null): void {\n super.updateValue(value);\n }\n\n toggle(): void {\n this.hostedDropdown?.updateOpen(!this.open);\n }\n\n private isStrictMatch(item: T): boolean {\n return !!this.strictMatcher?.(item, this.search || '', this.stringify);\n }\n\n private close(): void {\n this.hostedDropdown?.updateOpen(false);\n }\n\n private updateSearch(search: string | null): void {\n if (this.search === search) {\n return;\n }\n\n this.search = search;\n this.searchChange.emit(search);\n }\n\n private setNativeValue(value: string): void {\n if (this.nativeFocusableElement) {\n this.nativeFocusableElement.value = value;\n }\n }\n\n private focusInput(preventScroll: boolean = false): void {\n if (this.nativeFocusableElement) {\n this.nativeFocusableElement.focus({preventScroll});\n }\n }\n}\n","<tui-hosted-dropdown\n class=\"t-hosted\"\n [canOpen]=\"interactive\"\n [content]=\"datalist || ''\"\n [(open)]=\"open\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n>\n <tui-primitive-textfield\n automation-id=\"tui-combo-box__textfield\"\n class=\"t-textfield\"\n [disabled]=\"computedDisabled\"\n [focusable]=\"computedFocusable\"\n [invalid]=\"computedInvalid\"\n [nativeId]=\"nativeId\"\n [pseudoFocus]=\"computedFocused\"\n [pseudoHover]=\"pseudoHover\"\n [readOnly]=\"readOnly\"\n [tuiTextfieldIcon]=\"arrow ? icon : ''\"\n [value]=\"nativeValue\"\n (click)=\"toggle()\"\n (keydown.enter)=\"onFieldKeyDownEnter($event)\"\n (valueChange)=\"onValueChange($event)\"\n >\n <ng-content></ng-content>\n <ng-content\n ngProjectAs=\"input\"\n select=\"input\"\n ></ng-content>\n <div\n *ngIf=\"showValueTemplate\"\n automation-id=\"tui-combo-box__template\"\n ngProjectAs=\"tuiContent\"\n class=\"t-value\"\n >\n <ng-container\n *polymorpheusOutlet=\"computedContent as text; context: {$implicit: value!, active: computedFocused}\"\n >\n {{ text }}\n </ng-container>\n </div>\n </tui-primitive-textfield>\n\n <ng-template #icon>\n <div\n appearance=\"icon\"\n tuiWrapper\n class=\"t-icon\"\n >\n <ng-container *polymorpheusOutlet=\"arrow\"></ng-container>\n </div>\n </ng-template>\n</tui-hosted-dropdown>\n","import {Directive} from '@angular/core';\nimport {AbstractTuiTextfieldHost, tuiAsTextfieldHost} from '@taiga-ui/core';\n\nimport {TuiComboBoxComponent} from './combo-box.component';\n\n@Directive({\n selector: 'tui-combo-box',\n providers: [tuiAsTextfieldHost(TuiComboBoxDirective)],\n})\nexport class TuiComboBoxDirective extends AbstractTuiTextfieldHost<\n TuiComboBoxComponent<unknown>\n> {\n override get value(): string {\n return this.host.nativeValue;\n }\n\n onValueChange(value: string): void {\n this.host.onValueChange(value);\n }\n}\n","import {Directive, HostListener, Inject, Input} from '@angular/core';\n\nimport {TuiComboBoxComponent} from './combo-box.component';\n\n@Directive({\n selector: 'tui-combo-box[strict]',\n})\nexport class TuiComboBoxStrictDirective<T> {\n @Input()\n strict = true;\n\n constructor(\n @Inject(TuiComboBoxComponent)\n private readonly comboBox: TuiComboBoxComponent<T | string>,\n ) {}\n\n @HostListener('input')\n onInput(): void {\n if (!this.strict && this.comboBox.search) {\n this.comboBox.value = this.comboBox.search;\n }\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiActiveZoneModule} from '@taiga-ui/cdk';\nimport {\n TuiHostedDropdownModule,\n TuiPrimitiveTextfieldModule,\n TuiTextfieldComponent,\n TuiTextfieldControllerModule,\n TuiWrapperModule,\n} from '@taiga-ui/core';\nimport {TuiArrowModule} from '@taiga-ui/kit/components/arrow';\nimport {TuiSelectOptionModule} from '@taiga-ui/kit/components/select-option';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiComboBoxComponent} from './combo-box.component';\nimport {TuiComboBoxDirective} from './combo-box.directive';\nimport {TuiComboBoxStrictDirective} from './combo-box-strict.directive';\n\n@NgModule({\n imports: [\n CommonModule,\n PolymorpheusModule,\n TuiActiveZoneModule,\n TuiPrimitiveTextfieldModule,\n TuiHostedDropdownModule,\n TuiSelectOptionModule,\n TuiArrowModule,\n TuiWrapperModule,\n TuiTextfieldControllerModule,\n ],\n declarations: [\n TuiComboBoxComponent,\n TuiComboBoxStrictDirective,\n TuiComboBoxDirective,\n ],\n exports: [\n TuiComboBoxComponent,\n TuiComboBoxStrictDirective,\n TuiComboBoxDirective,\n TuiTextfieldComponent,\n ],\n})\nexport class TuiComboBoxModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}