@taiga-ui/experimental 3.54.0 → 3.55.0-canary.f5fbcc5

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 (182) hide show
  1. package/bundles/taiga-ui-experimental-components-avatar.umd.js +19 -15
  2. package/bundles/taiga-ui-experimental-components-avatar.umd.js.map +1 -1
  3. package/bundles/taiga-ui-experimental-components-badge-notification.umd.js +7 -12
  4. package/bundles/taiga-ui-experimental-components-badge-notification.umd.js.map +1 -1
  5. package/bundles/taiga-ui-experimental-components-badge.umd.js +112 -96
  6. package/bundles/taiga-ui-experimental-components-badge.umd.js.map +1 -1
  7. package/bundles/taiga-ui-experimental-components-badged-content.umd.js +1 -1
  8. package/bundles/taiga-ui-experimental-components-badged-content.umd.js.map +1 -1
  9. package/bundles/taiga-ui-experimental-components-button.umd.js +29 -27
  10. package/bundles/taiga-ui-experimental-components-button.umd.js.map +1 -1
  11. package/bundles/taiga-ui-experimental-components-checkbox.umd.js +13 -29
  12. package/bundles/taiga-ui-experimental-components-checkbox.umd.js.map +1 -1
  13. package/bundles/taiga-ui-experimental-components-icon.umd.js +24 -43
  14. package/bundles/taiga-ui-experimental-components-icon.umd.js.map +1 -1
  15. package/bundles/taiga-ui-experimental-components-radio.umd.js +10 -21
  16. package/bundles/taiga-ui-experimental-components-radio.umd.js.map +1 -1
  17. package/bundles/taiga-ui-experimental-components-rating.umd.js +7 -7
  18. package/bundles/taiga-ui-experimental-components-rating.umd.js.map +1 -1
  19. package/bundles/taiga-ui-experimental-components-thumbnail-card.umd.js +29 -10
  20. package/bundles/taiga-ui-experimental-components-thumbnail-card.umd.js.map +1 -1
  21. package/bundles/taiga-ui-experimental-components-toggle.umd.js +14 -30
  22. package/bundles/taiga-ui-experimental-components-toggle.umd.js.map +1 -1
  23. package/bundles/taiga-ui-experimental-directives-appearance.umd.js +82 -0
  24. package/bundles/taiga-ui-experimental-directives-appearance.umd.js.map +1 -0
  25. package/bundles/taiga-ui-experimental-directives-button-vertical.umd.js +95 -0
  26. package/bundles/taiga-ui-experimental-directives-button-vertical.umd.js.map +1 -0
  27. package/bundles/taiga-ui-experimental-directives-card.umd.js +89 -88
  28. package/bundles/taiga-ui-experimental-directives-card.umd.js.map +1 -1
  29. package/bundles/taiga-ui-experimental-directives-cell.umd.js +6 -11
  30. package/bundles/taiga-ui-experimental-directives-cell.umd.js.map +1 -1
  31. package/bundles/taiga-ui-experimental-directives-progress-segmented.umd.js +1 -1
  32. package/bundles/taiga-ui-experimental-directives-progress-segmented.umd.js.map +1 -1
  33. package/bundles/taiga-ui-experimental-directives-sensitive.umd.js +3 -3
  34. package/bundles/taiga-ui-experimental-directives-sensitive.umd.js.map +1 -1
  35. package/bundles/taiga-ui-experimental-directives-surface.umd.js +6 -5
  36. package/bundles/taiga-ui-experimental-directives-surface.umd.js.map +1 -1
  37. package/bundles/taiga-ui-experimental-directives-title.umd.js +5 -10
  38. package/bundles/taiga-ui-experimental-directives-title.umd.js.map +1 -1
  39. package/bundles/taiga-ui-experimental-directives.umd.js +16 -4
  40. package/bundles/taiga-ui-experimental-directives.umd.js.map +1 -1
  41. package/bundles/taiga-ui-experimental-tokens.umd.js +31 -0
  42. package/bundles/taiga-ui-experimental-tokens.umd.js.map +1 -0
  43. package/bundles/taiga-ui-experimental.umd.js +10 -4
  44. package/bundles/taiga-ui-experimental.umd.js.map +1 -1
  45. package/components/avatar/avatar.component.d.ts +5 -4
  46. package/components/avatar/avatar.module.d.ts +2 -2
  47. package/components/badge/badge.component.d.ts +1 -11
  48. package/components/badge/badge.directive.d.ts +12 -0
  49. package/components/badge/badge.module.d.ts +2 -1
  50. package/components/badge/badge.options.d.ts +2 -3
  51. package/components/badge/index.d.ts +1 -0
  52. package/components/badge-notification/badge-notification.component.d.ts +1 -3
  53. package/components/button/button.component.d.ts +1 -3
  54. package/components/button/button.directive.d.ts +6 -4
  55. package/components/checkbox/checkbox.component.d.ts +5 -9
  56. package/components/icon/icon.component.d.ts +5 -1
  57. package/components/icon/icon.module.d.ts +1 -2
  58. package/components/icon/index.d.ts +0 -1
  59. package/components/radio/radio.component.d.ts +3 -7
  60. package/components/rating/rating.module.d.ts +3 -3
  61. package/components/thumbnail-card/thumbnail-card.component.d.ts +4 -1
  62. package/components/thumbnail-card/thumbnail-card.module.d.ts +2 -2
  63. package/components/toggle/toggle.component.d.ts +5 -10
  64. package/directives/appearance/appearance.directive.d.ts +9 -0
  65. package/directives/appearance/appearance.module.d.ts +7 -0
  66. package/directives/appearance/index.d.ts +2 -0
  67. package/directives/appearance/package.json +10 -0
  68. package/directives/appearance/taiga-ui-experimental-directives-appearance.d.ts +5 -0
  69. package/directives/button-vertical/button-vertical.component.d.ts +5 -0
  70. package/directives/button-vertical/button-vertical.directive.d.ts +7 -0
  71. package/directives/button-vertical/button-vertical.module.d.ts +8 -0
  72. package/directives/button-vertical/index.d.ts +3 -0
  73. package/directives/button-vertical/package.json +10 -0
  74. package/directives/button-vertical/taiga-ui-experimental-directives-button-vertical.d.ts +5 -0
  75. package/directives/card/card.component.d.ts +5 -0
  76. package/directives/card/card.directive.d.ts +0 -4
  77. package/directives/card/card.module.d.ts +3 -2
  78. package/directives/card/index.d.ts +1 -0
  79. package/directives/cell/cell.directive.d.ts +2 -3
  80. package/directives/index.d.ts +2 -0
  81. package/directives/sensitive/sensitive.module.d.ts +2 -1
  82. package/directives/title/title.directive.d.ts +2 -3
  83. package/esm2015/components/avatar/avatar.component.js +17 -12
  84. package/esm2015/components/avatar/avatar.module.js +5 -5
  85. package/esm2015/components/badge/badge.component.js +8 -36
  86. package/esm2015/components/badge/badge.directive.js +42 -0
  87. package/esm2015/components/badge/badge.module.js +5 -4
  88. package/esm2015/components/badge/badge.options.js +2 -2
  89. package/esm2015/components/badge/index.js +2 -1
  90. package/esm2015/components/badge-notification/badge-notification.component.js +4 -10
  91. package/esm2015/components/badged-content/badged-content.component.js +1 -1
  92. package/esm2015/components/button/button.component.js +3 -10
  93. package/esm2015/components/button/button.directive.js +21 -11
  94. package/esm2015/components/checkbox/checkbox.component.js +13 -29
  95. package/esm2015/components/icon/icon.component.js +20 -7
  96. package/esm2015/components/icon/icon.module.js +4 -5
  97. package/esm2015/components/icon/index.js +1 -2
  98. package/esm2015/components/radio/radio.component.js +7 -20
  99. package/esm2015/components/rating/rating.component.js +3 -3
  100. package/esm2015/components/rating/rating.module.js +5 -5
  101. package/esm2015/components/thumbnail-card/thumbnail-card.component.js +21 -5
  102. package/esm2015/components/thumbnail-card/thumbnail-card.module.js +5 -5
  103. package/esm2015/components/toggle/toggle.component.js +13 -29
  104. package/esm2015/directives/appearance/appearance.directive.js +30 -0
  105. package/esm2015/directives/appearance/appearance.module.js +16 -0
  106. package/esm2015/directives/appearance/index.js +3 -0
  107. package/esm2015/directives/appearance/taiga-ui-experimental-directives-appearance.js +5 -0
  108. package/esm2015/directives/button-vertical/button-vertical.component.js +19 -0
  109. package/esm2015/directives/button-vertical/button-vertical.directive.js +22 -0
  110. package/esm2015/directives/button-vertical/button-vertical.module.js +17 -0
  111. package/esm2015/directives/button-vertical/index.js +4 -0
  112. package/esm2015/directives/button-vertical/taiga-ui-experimental-directives-button-vertical.js +5 -0
  113. package/esm2015/directives/card/card.component.js +19 -0
  114. package/esm2015/directives/card/card.directive.js +3 -18
  115. package/esm2015/directives/card/card.module.js +3 -2
  116. package/esm2015/directives/card/index.js +2 -1
  117. package/esm2015/directives/cell/cell.component.js +1 -1
  118. package/esm2015/directives/cell/cell.directive.js +7 -12
  119. package/esm2015/directives/index.js +3 -1
  120. package/esm2015/directives/progress-segmented/progress-segmented.component.js +1 -1
  121. package/esm2015/directives/sensitive/sensitive.component.js +1 -1
  122. package/esm2015/directives/sensitive/sensitive.module.js +4 -3
  123. package/esm2015/directives/surface/surface.component.js +1 -1
  124. package/esm2015/directives/surface/surface.directive.js +7 -6
  125. package/esm2015/directives/title/title.component.js +1 -1
  126. package/esm2015/directives/title/title.directive.js +6 -11
  127. package/esm2015/index.js +2 -1
  128. package/esm2015/tokens/icon-resolver.js +15 -0
  129. package/esm2015/tokens/index.js +2 -0
  130. package/esm2015/tokens/taiga-ui-experimental-tokens.js +5 -0
  131. package/fesm2015/taiga-ui-experimental-components-avatar.js +20 -15
  132. package/fesm2015/taiga-ui-experimental-components-avatar.js.map +1 -1
  133. package/fesm2015/taiga-ui-experimental-components-badge-notification.js +3 -9
  134. package/fesm2015/taiga-ui-experimental-components-badge-notification.js.map +1 -1
  135. package/fesm2015/taiga-ui-experimental-components-badge.js +40 -29
  136. package/fesm2015/taiga-ui-experimental-components-badge.js.map +1 -1
  137. package/fesm2015/taiga-ui-experimental-components-badged-content.js +1 -1
  138. package/fesm2015/taiga-ui-experimental-components-badged-content.js.map +1 -1
  139. package/fesm2015/taiga-ui-experimental-components-button.js +25 -22
  140. package/fesm2015/taiga-ui-experimental-components-button.js.map +1 -1
  141. package/fesm2015/taiga-ui-experimental-components-checkbox.js +12 -28
  142. package/fesm2015/taiga-ui-experimental-components-checkbox.js.map +1 -1
  143. package/fesm2015/taiga-ui-experimental-components-icon.js +22 -37
  144. package/fesm2015/taiga-ui-experimental-components-icon.js.map +1 -1
  145. package/fesm2015/taiga-ui-experimental-components-radio.js +7 -20
  146. package/fesm2015/taiga-ui-experimental-components-radio.js.map +1 -1
  147. package/fesm2015/taiga-ui-experimental-components-rating.js +6 -6
  148. package/fesm2015/taiga-ui-experimental-components-rating.js.map +1 -1
  149. package/fesm2015/taiga-ui-experimental-components-thumbnail-card.js +24 -8
  150. package/fesm2015/taiga-ui-experimental-components-thumbnail-card.js.map +1 -1
  151. package/fesm2015/taiga-ui-experimental-components-toggle.js +12 -28
  152. package/fesm2015/taiga-ui-experimental-components-toggle.js.map +1 -1
  153. package/fesm2015/taiga-ui-experimental-directives-appearance.js +50 -0
  154. package/fesm2015/taiga-ui-experimental-directives-appearance.js.map +1 -0
  155. package/fesm2015/taiga-ui-experimental-directives-button-vertical.js +58 -0
  156. package/fesm2015/taiga-ui-experimental-directives-button-vertical.js.map +1 -0
  157. package/fesm2015/taiga-ui-experimental-directives-card.js +1 -0
  158. package/fesm2015/taiga-ui-experimental-directives-card.js.map +1 -1
  159. package/fesm2015/taiga-ui-experimental-directives-cell.js +7 -12
  160. package/fesm2015/taiga-ui-experimental-directives-cell.js.map +1 -1
  161. package/fesm2015/taiga-ui-experimental-directives-progress-segmented.js +1 -1
  162. package/fesm2015/taiga-ui-experimental-directives-progress-segmented.js.map +1 -1
  163. package/fesm2015/taiga-ui-experimental-directives-sensitive.js +3 -3
  164. package/fesm2015/taiga-ui-experimental-directives-sensitive.js.map +1 -1
  165. package/fesm2015/taiga-ui-experimental-directives-surface.js +7 -6
  166. package/fesm2015/taiga-ui-experimental-directives-surface.js.map +1 -1
  167. package/fesm2015/taiga-ui-experimental-directives-title.js +6 -11
  168. package/fesm2015/taiga-ui-experimental-directives-title.js.map +1 -1
  169. package/fesm2015/taiga-ui-experimental-directives.js +2 -0
  170. package/fesm2015/taiga-ui-experimental-directives.js.map +1 -1
  171. package/fesm2015/taiga-ui-experimental-tokens.js +22 -0
  172. package/fesm2015/taiga-ui-experimental-tokens.js.map +1 -0
  173. package/fesm2015/taiga-ui-experimental.js +1 -0
  174. package/fesm2015/taiga-ui-experimental.js.map +1 -1
  175. package/index.d.ts +1 -0
  176. package/package.json +31 -31
  177. package/tokens/icon-resolver.d.ts +4 -0
  178. package/tokens/index.d.ts +1 -0
  179. package/tokens/package.json +10 -0
  180. package/tokens/taiga-ui-experimental-tokens.d.ts +5 -0
  181. package/components/icon/icon.pipe.d.ts +0 -12
  182. package/esm2015/components/icon/icon.pipe.js +0 -30
@@ -1,8 +1,8 @@
1
1
  (function (global, factory) {
2
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@taiga-ui/cdk'), require('@taiga-ui/core'), require('@angular/common'), require('rxjs')) :
3
- typeof define === 'function' && define.amd ? define('@taiga-ui/experimental/components/button', ['exports', '@angular/core', '@taiga-ui/cdk', '@taiga-ui/core', '@angular/common', 'rxjs'], factory) :
4
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global["taiga-ui"] = global["taiga-ui"] || {}, global["taiga-ui"].experimental = global["taiga-ui"].experimental || {}, global["taiga-ui"].experimental.components = global["taiga-ui"].experimental.components || {}, global["taiga-ui"].experimental.components.button = {}), global.ng.core, global.i2, global.i1, global.ng.common, global.rxjs));
5
- })(this, (function (exports, i0, i2, i1, i2$1, i1$1) { 'use strict';
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@taiga-ui/cdk'), require('@taiga-ui/core'), require('@taiga-ui/experimental/tokens'), require('rxjs'), require('@angular/common')) :
3
+ typeof define === 'function' && define.amd ? define('@taiga-ui/experimental/components/button', ['exports', '@angular/core', '@taiga-ui/cdk', '@taiga-ui/core', '@taiga-ui/experimental/tokens', 'rxjs', '@angular/common'], factory) :
4
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global["taiga-ui"] = global["taiga-ui"] || {}, global["taiga-ui"].experimental = global["taiga-ui"].experimental || {}, global["taiga-ui"].experimental.components = global["taiga-ui"].experimental.components || {}, global["taiga-ui"].experimental.components.button = {}), global.ng.core, global.i2, global.i1, global["taiga-ui"].experimental.tokens, global.rxjs, global.ng.common));
5
+ })(this, (function (exports, i0, i2, i1, tokens, i1$1, common) { 'use strict';
6
6
 
7
7
  function _interopNamespace(e) {
8
8
  if (e && e.__esModule) return e;
@@ -23,9 +23,8 @@
23
23
  }
24
24
 
25
25
  var i0__namespace = /*#__PURE__*/_interopNamespace(i0);
26
- var i2__namespace$1 = /*#__PURE__*/_interopNamespace(i2);
26
+ var i2__namespace = /*#__PURE__*/_interopNamespace(i2);
27
27
  var i1__namespace = /*#__PURE__*/_interopNamespace(i1);
28
- var i2__namespace = /*#__PURE__*/_interopNamespace(i2$1);
29
28
  var i1__namespace$1 = /*#__PURE__*/_interopNamespace(i1$1);
30
29
 
31
30
  var TUI_BUTTON_DEFAULT_OPTIONS = {
@@ -42,8 +41,6 @@
42
41
  this.options = options;
43
42
  this.size = this.options.size;
44
43
  this.loading = false;
45
- this.iconLeft = '';
46
- this.iconRight = '';
47
44
  }
48
45
  Object.defineProperty(TuiButtonComponent.prototype, "loaderSize", {
49
46
  get: function () {
@@ -67,11 +64,11 @@
67
64
  return TuiButtonComponent;
68
65
  }());
69
66
  TuiButtonComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TuiButtonComponent, deps: [{ token: TUI_BUTTON_OPTIONS }], target: i0__namespace.ɵɵFactoryTarget.Component });
70
- TuiButtonComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiButtonComponent, selector: "[tuiButton][loading],[tuiIconButton][loading],[tuiButton][iconLeft],[tuiButton][iconRight],[tuiIconButton][iconLeft]", inputs: { size: "size", loading: "loading", iconLeft: "iconLeft", iconRight: "iconRight" }, host: { listeners: { "click.capture": "onClick($event)" }, properties: { "attr.aria-disabled": "loading", "class._loading": "loading" } }, ngImport: i0__namespace, template: "<tui-svg\n *ngIf=\"iconLeft\"\n [src]=\"iconLeft\"\n></tui-svg>\n<ng-content></ng-content>\n<tui-svg\n *ngIf=\"iconRight\"\n class=\"t-icon\"\n [src]=\"iconRight\"\n></tui-svg>\n<tui-loader\n aria-live=\"polite\"\n role=\"status\"\n class=\"t-loader\"\n [inheritColor]=\"true\"\n [showLoader]=\"!!loading\"\n [size]=\"loaderSize\"\n [textContent]=\"label\"\n></tui-loader>\n", components: [{ type: i1__namespace.TuiSvgComponent, selector: "tui-svg", inputs: ["src"] }, { type: i1__namespace.TuiLoaderComponent, selector: "tui-loader", inputs: ["size", "inheritColor", "overlay", "textContent", "showLoader"] }], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
67
+ TuiButtonComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiButtonComponent, selector: "[tuiButton][loading],[tuiIconButton][loading]", inputs: { size: "size", loading: "loading" }, host: { listeners: { "click.capture": "onClick($event)" }, properties: { "attr.aria-disabled": "loading", "class._loading": "loading" } }, ngImport: i0__namespace, template: "<ng-content></ng-content>\n<tui-loader\n aria-live=\"polite\"\n role=\"status\"\n class=\"t-loader\"\n [inheritColor]=\"true\"\n [showLoader]=\"!!loading\"\n [size]=\"loaderSize\"\n [textContent]=\"label\"\n></tui-loader>\n", components: [{ type: i1__namespace.TuiLoaderComponent, selector: "tui-loader", inputs: ["size", "inheritColor", "overlay", "textContent", "showLoader"] }], changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
71
68
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TuiButtonComponent, decorators: [{
72
69
  type: i0.Component,
73
70
  args: [{
74
- selector: '[tuiButton][loading],[tuiIconButton][loading],[tuiButton][iconLeft],[tuiButton][iconRight],[tuiIconButton][iconLeft]',
71
+ selector: '[tuiButton][loading],[tuiIconButton][loading]',
75
72
  templateUrl: './button.template.html',
76
73
  changeDetection: i0.ChangeDetectionStrategy.OnPush,
77
74
  host: {
@@ -88,10 +85,6 @@
88
85
  type: i0.Input
89
86
  }], loading: [{
90
87
  type: i0.Input
91
- }], iconLeft: [{
92
- type: i0.Input
93
- }], iconRight: [{
94
- type: i0.Input
95
88
  }], onClick: [{
96
89
  type: i0.HostListener,
97
90
  args: ['click.capture', ['$event']]
@@ -103,7 +96,7 @@
103
96
  return TuiButtonStylesComponent;
104
97
  }());
105
98
  TuiButtonStylesComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TuiButtonStylesComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
106
- TuiButtonStylesComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiButtonStylesComponent, selector: "ng-component", host: { classAttribute: "tui-button-styles" }, ngImport: i0__namespace, template: '', isInline: true, styles: ["[tuiButtonNew]{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;border:0;background:none;font-size:inherit;line-height:inherit;display:inline-flex;height:var(--t-size);align-items:center;justify-content:center;width:unset;white-space:nowrap;border-radius:var(--t-radius);overflow:hidden;-webkit-user-select:none;-moz-user-select:none;user-select:none;outline:none;cursor:pointer}[tuiButtonNew]>.t-icon{width:1rem;-webkit-margin-start:.125rem;margin-inline-start:.125rem;-webkit-margin-end:-.125rem;margin-inline-end:-.125rem}[tuiButtonNew]>.t-loader{position:absolute;top:0;left:0;width:100%;height:100%}[tuiButtonNew]>.t-loader .t-text{position:absolute}[tuiButtonNew][data-size=xs]{--t-size: var(--tui-height-xs);--t-radius: var(--tui-radius-xs);font:var(--tui-font-text-s);padding:0 .375rem 0 .25rem;text-indent:.125rem;grid-gap:.125rem;gap:.125rem}[tuiButtonNew][data-size=xs] tui-svg{width:1rem}[tuiButtonNew][data-size=s]{--t-size: var(--tui-height-s);--t-radius: var(--tui-radius-s);font:var(--tui-font-text-s);padding:0 .625rem 0 .5rem;text-indent:.125rem;grid-gap:.125rem;gap:.125rem}[tuiButtonNew][data-size=s] tui-svg{width:1rem}[tuiButtonNew][data-size=m]{--t-size: var(--tui-height-m);--t-radius: var(--tui-radius-m);font:var(--tui-font-text-m);font-weight:bold;padding:0 1rem 0 .625rem;text-indent:.375rem;grid-gap:.125rem;gap:.125rem}[tuiButtonNew][data-size=m]>.t-icon{-webkit-margin-start:.375rem;margin-inline-start:.375rem}[tuiButtonNew][data-size=l]{--t-size: var(--tui-height-l);--t-radius: var(--tui-radius-l);font:var(--tui-font-text-m);font-weight:bold;padding:0 1.25rem 0 1rem;text-indent:.25rem;grid-gap:.25rem;gap:.25rem}[tuiButtonNew][data-size=l]>.t-icon{-webkit-margin-start:.25rem;margin-inline-start:.25rem;-webkit-margin-end:-.25rem;margin-inline-end:-.25rem}[tuiButtonNew][data-platform=ios],[tuiButtonNew][data-platform=android]{width:100%}[tuiButtonNew][data-platform=ios][data-size=xs],[tuiButtonNew][data-platform=android][data-size=xs],[tuiButtonNew][data-platform=ios][data-size=s],[tuiButtonNew][data-platform=android][data-size=s],[tuiButtonNew][data-platform=ios][data-size=l],[tuiButtonNew][data-platform=android][data-size=l]{--t-radius: 1rem}[tuiButtonNew][data-platform=ios][data-size=m],[tuiButtonNew][data-platform=android][data-size=m]{--t-radius: .75rem}[tuiButtonNew] *{text-indent:0}[tuiButtonNew]._loading{--tui-disabled-opacity: 1;-webkit-text-fill-color:transparent}[tuiButtonNew]._loading>*{opacity:0}[tuiButtonNew]._loading>.t-loader{opacity:1}[tuiButtonNew]:disabled:not(._loading):not([data-platform=\"web\"]){background:var(--tui-clear);color:var(--tui-clear-active);opacity:1}[tuiButtonNew]:disabled:not(._loading):not([data-platform=\"web\"])[data-appearance=flat]{background:transparent}[tuiIconButton][tuiButtonNew]{width:var(--t-size);font-size:0;padding:0;text-indent:0;grid-gap:0;gap:0}\n"], changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush, encapsulation: i0__namespace.ViewEncapsulation.None });
99
+ TuiButtonStylesComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiButtonStylesComponent, selector: "ng-component", host: { classAttribute: "tui-button-styles" }, ngImport: i0__namespace, template: '', isInline: true, styles: ["[tuiButtonNew]{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;border:0;background:none;font-size:inherit;line-height:inherit;text-decoration:none;position:relative;display:inline-flex;height:var(--t-size);align-items:center;justify-content:center;white-space:nowrap;border-radius:var(--t-radius);overflow:hidden;-webkit-user-select:none;-moz-user-select:none;user-select:none;cursor:pointer}[tuiButtonNew]>.t-loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}[tuiButtonNew]>.t-loader .t-text{position:absolute}[tuiButtonNew][data-size=xs]{--t-size: var(--tui-height-xs);--t-radius: var(--tui-radius-xs);font:var(--tui-font-text-s);padding:0 .375rem 0 .25rem;text-indent:.125rem;grid-gap:.125rem;gap:.125rem}[tuiButtonNew][data-size=xs] tui-svg,[tuiButtonNew][data-size=xs] tui-icon,[tuiButtonNew][data-size=xs]:before{width:1rem}[tuiButtonNew][data-size=s]{--t-size: var(--tui-height-s);--t-radius: var(--tui-radius-s);font:var(--tui-font-text-s);padding:0 .625rem 0 .5rem;text-indent:.125rem;grid-gap:.125rem;gap:.125rem}[tuiButtonNew][data-size=s] tui-svg,[tuiButtonNew][data-size=s] tui-icon,[tuiButtonNew][data-size=s]:not([tuiIconButton][data-appearance=\"icon\"]):before{width:1rem;height:1rem}[tuiButtonNew][data-size=m]{--t-size: var(--tui-height-m);--t-radius: var(--tui-radius-m);font:var(--tui-font-text-m);font-weight:bold;padding:0 1rem 0 .625rem;text-indent:.375rem;grid-gap:.125rem;gap:.125rem}[tuiButtonNew][data-size=m]:after{-webkit-margin-start:.375rem;margin-inline-start:.375rem}[tuiButtonNew][data-size=l]{--t-size: var(--tui-height-l);--t-radius: var(--tui-radius-l);font:var(--tui-font-text-m);font-weight:bold;padding:0 1.25rem 0 1rem;text-indent:.25rem;grid-gap:.25rem;gap:.25rem}[tuiButtonNew][data-size=l]:after{-webkit-margin-start:.25rem;margin-inline-start:.25rem;-webkit-margin-end:-.25rem;margin-inline-end:-.25rem}[tuiButtonNew] *{text-indent:0}[tuiButtonNew]._loading{--tui-disabled-opacity: 1;-webkit-text-fill-color:transparent}[tuiButtonNew]._loading>*,[tuiButtonNew]._loading:before,[tuiButtonNew]._loading:after{opacity:0}[tuiButtonNew]._loading>.t-loader{opacity:1}[tuiButtonNew]._icon-left:before{content:\"\"}[tuiButtonNew]._icon-right:after{content:\"\"}[tuiButtonNew]:before{width:1.5rem;height:1.5rem;background:currentColor;-webkit-mask:var(--t-mask-left) no-repeat center / contain;mask:var(--t-mask-left) no-repeat center / contain}[tuiButtonNew]:after{width:1rem;height:1rem;background:currentColor;-webkit-margin-start:.125rem;margin-inline-start:.125rem;-webkit-margin-end:-.125rem;margin-inline-end:-.125rem;-webkit-mask:var(--t-mask-right) no-repeat center / contain;mask:var(--t-mask-right) no-repeat center / contain}[tuiIconButton][tuiButtonNew]{width:var(--t-size);font-size:0;padding:0;text-indent:0;grid-gap:0;gap:0}\n"], changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush, encapsulation: i0__namespace.ViewEncapsulation.None });
107
100
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TuiButtonStylesComponent, decorators: [{
108
101
  type: i0.Component,
109
102
  args: [{
@@ -117,18 +110,20 @@
117
110
  }]
118
111
  }] });
119
112
  var TuiButtonDirective = /** @class */ (function () {
120
- function TuiButtonDirective(options, platform, mode$, directiveStyles) {
113
+ function TuiButtonDirective(resolver, options, mode$, directiveStyles) {
114
+ this.resolver = resolver;
121
115
  this.options = options;
122
- this.platform = platform;
123
116
  this.mode$ = mode$;
124
117
  this.size = this.options.size;
125
118
  this.appearance = this.options.appearance;
119
+ this.iconLeft = '';
120
+ this.iconRight = '';
126
121
  directiveStyles.addComponent(TuiButtonStylesComponent);
127
122
  }
128
123
  return TuiButtonDirective;
129
124
  }());
130
- TuiButtonDirective.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TuiButtonDirective, deps: [{ token: TUI_BUTTON_OPTIONS }, { token: i2.TUI_PLATFORM }, { token: i1.TUI_MODE }, { token: i2.TuiDirectiveStylesService }], target: i0__namespace.ɵɵFactoryTarget.Directive });
131
- TuiButtonDirective.ɵdir = i0__namespace.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: TuiButtonDirective, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: { size: "size", appearance: "appearance" }, host: { attributes: { "tuiButtonNew": "", "tuiWrapper": "" }, listeners: { "$.data-mode.attr": "mode$" }, properties: { "attr.data-size": "size", "attr.data-appearance": "appearance", "attr.data-platform": "platform" } }, providers: [i1.MODE_PROVIDER], ngImport: i0__namespace });
125
+ TuiButtonDirective.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TuiButtonDirective, deps: [{ token: tokens.TUI_ICON_RESOLVER }, { token: TUI_BUTTON_OPTIONS }, { token: i1.TUI_MODE }, { token: i2.TuiDirectiveStylesService }], target: i0__namespace.ɵɵFactoryTarget.Directive });
126
+ TuiButtonDirective.ɵdir = i0__namespace.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: TuiButtonDirective, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: { size: "size", appearance: "appearance", iconLeft: "iconLeft", iconRight: "iconRight" }, host: { attributes: { "tuiButtonNew": "", "tuiAppearance": "" }, listeners: { "$.data-mode.attr": "mode$" }, properties: { "class._icon-left": "iconLeft", "class._icon-right": "iconRight", "style.--t-mask-left": "\"url(\" + resolver(iconLeft) + \")\"", "style.--t-mask-right": "\"url(\" + resolver(iconRight) + \")\"", "attr.data-size": "size", "attr.data-appearance": "appearance" } }, providers: [i1.MODE_PROVIDER], ngImport: i0__namespace });
132
127
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TuiButtonDirective, decorators: [{
133
128
  type: i0.Directive,
134
129
  args: [{
@@ -136,24 +131,27 @@
136
131
  providers: [i1.MODE_PROVIDER],
137
132
  host: {
138
133
  tuiButtonNew: '',
139
- tuiWrapper: '',
134
+ tuiAppearance: '',
135
+ '[class._icon-left]': 'iconLeft',
136
+ '[class._icon-right]': 'iconRight',
137
+ '[style.--t-mask-left]': '"url(" + resolver(iconLeft) + ")"',
138
+ '[style.--t-mask-right]': '"url(" + resolver(iconRight) + ")"',
140
139
  '[attr.data-size]': 'size',
141
140
  '[attr.data-appearance]': 'appearance',
142
- '[attr.data-platform]': 'platform',
143
141
  '($.data-mode.attr)': 'mode$',
144
142
  },
145
143
  }]
146
144
  }], ctorParameters: function () {
147
145
  return [{ type: undefined, decorators: [{
148
146
  type: i0.Inject,
149
- args: [TUI_BUTTON_OPTIONS]
147
+ args: [tokens.TUI_ICON_RESOLVER]
150
148
  }] }, { type: undefined, decorators: [{
151
149
  type: i0.Inject,
152
- args: [i2.TUI_PLATFORM]
150
+ args: [TUI_BUTTON_OPTIONS]
153
151
  }] }, { type: i1__namespace$1.Observable, decorators: [{
154
152
  type: i0.Inject,
155
153
  args: [i1.TUI_MODE]
156
- }] }, { type: i2__namespace$1.TuiDirectiveStylesService, decorators: [{
154
+ }] }, { type: i2__namespace.TuiDirectiveStylesService, decorators: [{
157
155
  type: i0.Inject,
158
156
  args: [i2.TuiDirectiveStylesService]
159
157
  }] }];
@@ -161,6 +159,10 @@
161
159
  type: i0.Input
162
160
  }], appearance: [{
163
161
  type: i0.Input
162
+ }], iconLeft: [{
163
+ type: i0.Input
164
+ }], iconRight: [{
165
+ type: i0.Input
164
166
  }] } });
165
167
 
166
168
  var TuiButtonModule = /** @class */ (function () {
@@ -169,12 +171,12 @@
169
171
  return TuiButtonModule;
170
172
  }());
171
173
  TuiButtonModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TuiButtonModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
172
- TuiButtonModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TuiButtonModule, declarations: [TuiButtonComponent, TuiButtonDirective, TuiButtonStylesComponent], imports: [i2$1.CommonModule, i1.TuiSvgModule, i1.TuiLoaderModule], exports: [TuiButtonComponent, TuiButtonDirective] });
173
- TuiButtonModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TuiButtonModule, imports: [[i2$1.CommonModule, i1.TuiSvgModule, i1.TuiLoaderModule]] });
174
+ TuiButtonModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TuiButtonModule, declarations: [TuiButtonComponent, TuiButtonDirective, TuiButtonStylesComponent], imports: [common.CommonModule, i1.TuiSvgModule, i1.TuiLoaderModule], exports: [TuiButtonComponent, TuiButtonDirective] });
175
+ TuiButtonModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TuiButtonModule, imports: [[common.CommonModule, i1.TuiSvgModule, i1.TuiLoaderModule]] });
174
176
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TuiButtonModule, decorators: [{
175
177
  type: i0.NgModule,
176
178
  args: [{
177
- imports: [i2$1.CommonModule, i1.TuiSvgModule, i1.TuiLoaderModule],
179
+ imports: [common.CommonModule, i1.TuiSvgModule, i1.TuiLoaderModule],
178
180
  declarations: [TuiButtonComponent, TuiButtonDirective, TuiButtonStylesComponent],
179
181
  exports: [TuiButtonComponent, TuiButtonDirective],
180
182
  }]
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-experimental-components-button.umd.js","sources":["../../../projects/experimental/components/button/button.options.ts","../../../projects/experimental/components/button/button.component.ts","../../../projects/experimental/components/button/button.template.html","../../../projects/experimental/components/button/button.directive.ts","../../../projects/experimental/components/button/button.module.ts","../../../projects/experimental/components/button/taiga-ui-experimental-components-button.ts"],"sourcesContent":["import {Provider} from '@angular/core';\nimport {tuiCreateToken, tuiProvideOptions} from '@taiga-ui/cdk';\nimport {TuiSizeXL, TuiSizeXS} from '@taiga-ui/core';\n\nexport interface TuiButtonOptions {\n readonly appearance: string;\n readonly size: TuiSizeXL | TuiSizeXS;\n}\n\nexport const TUI_BUTTON_DEFAULT_OPTIONS: TuiButtonOptions = {\n size: `l`,\n appearance: `primary`,\n};\n\nexport const TUI_BUTTON_OPTIONS = tuiCreateToken(TUI_BUTTON_DEFAULT_OPTIONS);\n\nexport function tuiButtonOptionsProvider(options: Partial<TuiButtonOptions>): Provider {\n return tuiProvideOptions(TUI_BUTTON_OPTIONS, options, TUI_BUTTON_DEFAULT_OPTIONS);\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n HostListener,\n Inject,\n Input,\n} from '@angular/core';\nimport {tuiIsString} from '@taiga-ui/cdk';\nimport {tuiSizeBigger, TuiSizeS} from '@taiga-ui/core';\n\nimport {TUI_BUTTON_OPTIONS, TuiButtonOptions} from './button.options';\n\n@Component({\n selector:\n '[tuiButton][loading],[tuiIconButton][loading],[tuiButton][iconLeft],[tuiButton][iconRight],[tuiIconButton][iconLeft]',\n templateUrl: './button.template.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[attr.aria-disabled]': 'loading',\n '[class._loading]': 'loading',\n },\n})\nexport class TuiButtonComponent {\n @Input()\n size = this.options.size;\n\n @Input()\n loading: boolean | string | null = false;\n\n @Input()\n iconLeft = '';\n\n @Input()\n iconRight = '';\n\n constructor(@Inject(TUI_BUTTON_OPTIONS) private readonly options: TuiButtonOptions) {}\n\n get loaderSize(): TuiSizeS {\n return tuiSizeBigger(this.size) ? 'm' : 's';\n }\n\n get label(): string {\n return tuiIsString(this.loading) ? this.loading : '';\n }\n\n @HostListener('click.capture', ['$event'])\n onClick(event: MouseEvent): void {\n if (this.loading) {\n event.stopPropagation();\n }\n }\n}\n","<tui-svg\n *ngIf=\"iconLeft\"\n [src]=\"iconLeft\"\n></tui-svg>\n<ng-content></ng-content>\n<tui-svg\n *ngIf=\"iconRight\"\n class=\"t-icon\"\n [src]=\"iconRight\"\n></tui-svg>\n<tui-loader\n aria-live=\"polite\"\n role=\"status\"\n class=\"t-loader\"\n [inheritColor]=\"true\"\n [showLoader]=\"!!loading\"\n [size]=\"loaderSize\"\n [textContent]=\"label\"\n></tui-loader>\n","import {\n ChangeDetectionStrategy,\n Component,\n Directive,\n Inject,\n Input,\n ViewEncapsulation,\n} from '@angular/core';\nimport {TUI_PLATFORM, TuiDirectiveStylesService, TuiPlatform} from '@taiga-ui/cdk';\nimport {MODE_PROVIDER, TUI_MODE, TuiBrightness} from '@taiga-ui/core';\nimport {Observable} from 'rxjs';\n\nimport {TUI_BUTTON_OPTIONS, TuiButtonOptions} from './button.options';\n\n@Component({\n template: '',\n styleUrls: ['./button.style.less'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'tui-button-styles',\n },\n})\nexport class TuiButtonStylesComponent {}\n\n@Directive({\n selector: 'a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]',\n providers: [MODE_PROVIDER],\n host: {\n tuiButtonNew: '',\n tuiWrapper: '',\n '[attr.data-size]': 'size',\n '[attr.data-appearance]': 'appearance',\n '[attr.data-platform]': 'platform',\n '($.data-mode.attr)': 'mode$',\n },\n})\nexport class TuiButtonDirective {\n @Input()\n size = this.options.size;\n\n @Input()\n appearance = this.options.appearance;\n\n constructor(\n @Inject(TUI_BUTTON_OPTIONS) private readonly options: TuiButtonOptions,\n @Inject(TUI_PLATFORM) readonly platform: TuiPlatform,\n @Inject(TUI_MODE) readonly mode$: Observable<TuiBrightness | null>,\n @Inject(TuiDirectiveStylesService) directiveStyles: TuiDirectiveStylesService,\n ) {\n directiveStyles.addComponent(TuiButtonStylesComponent);\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiLoaderModule, TuiSvgModule} from '@taiga-ui/core';\n\nimport {TuiButtonComponent} from './button.component';\nimport {TuiButtonDirective, TuiButtonStylesComponent} from './button.directive';\n\n@NgModule({\n imports: [CommonModule, TuiSvgModule, TuiLoaderModule],\n declarations: [TuiButtonComponent, TuiButtonDirective, TuiButtonStylesComponent],\n exports: [TuiButtonComponent, TuiButtonDirective],\n})\nexport class TuiButtonModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["tuiCreateToken","tuiProvideOptions","tuiSizeBigger","tuiIsString","i0","i1","i2","Component","ChangeDetectionStrategy","Inject","Input","HostListener","ViewEncapsulation","TUI_PLATFORM","TUI_MODE","TuiDirectiveStylesService","MODE_PROVIDER","Directive","CommonModule","TuiSvgModule","TuiLoaderModule","NgModule"],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-experimental-components-button.umd.js","sources":["../../../projects/experimental/components/button/button.options.ts","../../../projects/experimental/components/button/button.component.ts","../../../projects/experimental/components/button/button.template.html","../../../projects/experimental/components/button/button.directive.ts","../../../projects/experimental/components/button/button.module.ts","../../../projects/experimental/components/button/taiga-ui-experimental-components-button.ts"],"sourcesContent":["import {Provider} from '@angular/core';\nimport {tuiCreateToken, tuiProvideOptions} from '@taiga-ui/cdk';\nimport {TuiSizeXL, TuiSizeXS} from '@taiga-ui/core';\n\nexport interface TuiButtonOptions {\n readonly appearance: string;\n readonly size: TuiSizeXL | TuiSizeXS;\n}\n\nexport const TUI_BUTTON_DEFAULT_OPTIONS: TuiButtonOptions = {\n size: `l`,\n appearance: `primary`,\n};\n\nexport const TUI_BUTTON_OPTIONS = tuiCreateToken(TUI_BUTTON_DEFAULT_OPTIONS);\n\nexport function tuiButtonOptionsProvider(options: Partial<TuiButtonOptions>): Provider {\n return tuiProvideOptions(TUI_BUTTON_OPTIONS, options, TUI_BUTTON_DEFAULT_OPTIONS);\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n HostListener,\n Inject,\n Input,\n} from '@angular/core';\nimport {tuiIsString} from '@taiga-ui/cdk';\nimport {tuiSizeBigger, TuiSizeS} from '@taiga-ui/core';\n\nimport {TUI_BUTTON_OPTIONS, TuiButtonOptions} from './button.options';\n\n@Component({\n selector: '[tuiButton][loading],[tuiIconButton][loading]',\n templateUrl: './button.template.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[attr.aria-disabled]': 'loading',\n '[class._loading]': 'loading',\n },\n})\nexport class TuiButtonComponent {\n @Input()\n size = this.options.size;\n\n @Input()\n loading: boolean | string | null = false;\n\n constructor(@Inject(TUI_BUTTON_OPTIONS) private readonly options: TuiButtonOptions) {}\n\n get loaderSize(): TuiSizeS {\n return tuiSizeBigger(this.size) ? 'm' : 's';\n }\n\n get label(): string {\n return tuiIsString(this.loading) ? this.loading : '';\n }\n\n @HostListener('click.capture', ['$event'])\n onClick(event: MouseEvent): void {\n if (this.loading) {\n event.stopPropagation();\n }\n }\n}\n","<ng-content></ng-content>\n<tui-loader\n aria-live=\"polite\"\n role=\"status\"\n class=\"t-loader\"\n [inheritColor]=\"true\"\n [showLoader]=\"!!loading\"\n [size]=\"loaderSize\"\n [textContent]=\"label\"\n></tui-loader>\n","import {\n ChangeDetectionStrategy,\n Component,\n Directive,\n Inject,\n Input,\n ViewEncapsulation,\n} from '@angular/core';\nimport {TuiDirectiveStylesService, TuiStringHandler} from '@taiga-ui/cdk';\nimport {MODE_PROVIDER, TUI_MODE, TuiBrightness} from '@taiga-ui/core';\nimport {TUI_ICON_RESOLVER} from '@taiga-ui/experimental/tokens';\nimport {Observable} from 'rxjs';\n\nimport {TUI_BUTTON_OPTIONS, TuiButtonOptions} from './button.options';\n\n@Component({\n template: '',\n styleUrls: ['./button.style.less'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'tui-button-styles',\n },\n})\nexport class TuiButtonStylesComponent {}\n\n@Directive({\n selector: 'a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]',\n providers: [MODE_PROVIDER],\n host: {\n tuiButtonNew: '',\n tuiAppearance: '',\n '[class._icon-left]': 'iconLeft',\n '[class._icon-right]': 'iconRight',\n '[style.--t-mask-left]': '\"url(\" + resolver(iconLeft) + \")\"',\n '[style.--t-mask-right]': '\"url(\" + resolver(iconRight) + \")\"',\n '[attr.data-size]': 'size',\n '[attr.data-appearance]': 'appearance',\n '($.data-mode.attr)': 'mode$',\n },\n})\nexport class TuiButtonDirective {\n @Input()\n size = this.options.size;\n\n @Input()\n appearance = this.options.appearance;\n\n @Input()\n iconLeft = '';\n\n @Input()\n iconRight = '';\n\n constructor(\n @Inject(TUI_ICON_RESOLVER) readonly resolver: TuiStringHandler<string>,\n @Inject(TUI_BUTTON_OPTIONS) private readonly options: TuiButtonOptions,\n @Inject(TUI_MODE) readonly mode$: Observable<TuiBrightness | null>,\n @Inject(TuiDirectiveStylesService) directiveStyles: TuiDirectiveStylesService,\n ) {\n directiveStyles.addComponent(TuiButtonStylesComponent);\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiLoaderModule, TuiSvgModule} from '@taiga-ui/core';\n\nimport {TuiButtonComponent} from './button.component';\nimport {TuiButtonDirective, TuiButtonStylesComponent} from './button.directive';\n\n@NgModule({\n imports: [CommonModule, TuiSvgModule, TuiLoaderModule],\n declarations: [TuiButtonComponent, TuiButtonDirective, TuiButtonStylesComponent],\n exports: [TuiButtonComponent, TuiButtonDirective],\n})\nexport class TuiButtonModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["tuiCreateToken","tuiProvideOptions","tuiSizeBigger","tuiIsString","i0","i1","Component","ChangeDetectionStrategy","Inject","Input","HostListener","ViewEncapsulation","TUI_ICON_RESOLVER","TUI_MODE","TuiDirectiveStylesService","MODE_PROVIDER","Directive","CommonModule","TuiSvgModule","TuiLoaderModule","NgModule"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AASa,QAAA,0BAA0B,GAAqB;IACxD,IAAA,IAAI,EAAE,GAAG;IACT,IAAA,UAAU,EAAE,SAAS;MACvB;QAEW,kBAAkB,GAAGA,iBAAc,CAAC,0BAA0B,EAAE;IAEvE,SAAU,wBAAwB,CAAC,OAAkC,EAAA;QACvE,OAAOC,oBAAiB,CAAC,kBAAkB,EAAE,OAAO,EAAE,0BAA0B,CAAC,CAAC;IACtF;;ACGA,QAAA,kBAAA,kBAAA,YAAA;IAOI,IAAA,SAAA,kBAAA,CAAyD,OAAyB,EAAA;IAAzB,QAAA,IAAO,CAAA,OAAA,GAAP,OAAO,CAAkB;YALlF,IAAA,CAAA,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;IAGzB,QAAA,IAAO,CAAA,OAAA,GAA4B,KAAK,CAAC;SAE6C;IAEtF,IAAA,MAAA,CAAA,cAAA,CAAI,kBAAU,CAAA,SAAA,EAAA,YAAA,EAAA;IAAd,QAAA,GAAA,EAAA,YAAA;IACI,YAAA,OAAOC,gBAAa,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC;aAC/C;;;IAAA,KAAA,CAAA,CAAA;IAED,IAAA,MAAA,CAAA,cAAA,CAAI,kBAAK,CAAA,SAAA,EAAA,OAAA,EAAA;IAAT,QAAA,GAAA,EAAA,YAAA;IACI,YAAA,OAAOC,cAAW,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;aACxD;;;IAAA,KAAA,CAAA,CAAA;QAGD,kBAAO,CAAA,SAAA,CAAA,OAAA,GAAP,UAAQ,KAAiB,EAAA;YACrB,IAAI,IAAI,CAAC,OAAO,EAAE;gBACd,KAAK,CAAC,eAAe,EAAE,CAAC;IAC3B,SAAA;SACJ,CAAA;;;IAtBQ,kBAAA,CAAA,IAAA,GAAAC,aAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,IAAA,EAAA,kBAAkB,kBAOP,kBAAkB,EAAA,CAAA,EAAA,MAAA,EAAAA,aAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;IAP7B,kBAAA,CAAA,IAAA,GAAAA,aAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,kBAAkB,yRCrB/B,sPAUA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAC,aAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,cAAA,EAAA,SAAA,EAAA,aAAA,EAAA,YAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAAD,aAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;sHDWa,kBAAkB,EAAA,UAAA,EAAA,CAAA;sBAT9BE,YAAS;IAAC,YAAA,IAAA,EAAA,CAAA;IACP,oBAAA,QAAQ,EAAE,+CAA+C;IACzD,oBAAA,WAAW,EAAE,wBAAwB;wBACrC,eAAe,EAAEC,0BAAuB,CAAC,MAAM;IAC/C,oBAAA,IAAI,EAAE;IACF,wBAAA,sBAAsB,EAAE,SAAS;IACjC,wBAAA,kBAAkB,EAAE,SAAS;IAChC,qBAAA;qBACJ,CAAA;;;kCAQgBC,SAAM;mCAAC,kBAAkB,CAAA;;6BALtC,IAAI,EAAA,CAAA;0BADHC,QAAK;oBAIN,OAAO,EAAA,CAAA;0BADNA,QAAK;oBAcN,OAAO,EAAA,CAAA;0BADNC,eAAY;2BAAC,eAAe,EAAE,CAAC,QAAQ,CAAC,CAAA;;;AEd7C,QAAA,wBAAA,kBAAA,YAAA;IAAA,IAAA,SAAA,wBAAA,GAAA;;;;gJAAa,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAAN,aAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;IAAxB,wBAAA,CAAA,IAAA,GAAAA,aAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,wBAAwB,8GARvB,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,2wFAAA,CAAA,EAAA,eAAA,EAAAA,aAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAAA,aAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;sHAQH,wBAAwB,EAAA,UAAA,EAAA,CAAA;sBATpCE,YAAS;IAAC,YAAA,IAAA,EAAA,CAAA;IACP,oBAAA,QAAQ,EAAE,EAAE;wBACZ,SAAS,EAAE,CAAC,qBAAqB,CAAC;wBAClC,aAAa,EAAEK,oBAAiB,CAAC,IAAI;wBACrC,eAAe,EAAEJ,0BAAuB,CAAC,MAAM;IAC/C,oBAAA,IAAI,EAAE;IACF,wBAAA,KAAK,EAAE,mBAAmB;IAC7B,qBAAA;qBACJ,CAAA;;AAkBD,QAAA,kBAAA,kBAAA,YAAA;IAaI,IAAA,SAAA,kBAAA,CACwC,QAAkC,EACzB,OAAyB,EAC3C,KAAuC,EAC/B,eAA0C,EAAA;IAHzC,QAAA,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAA0B;IACzB,QAAA,IAAO,CAAA,OAAA,GAAP,OAAO,CAAkB;IAC3C,QAAA,IAAK,CAAA,KAAA,GAAL,KAAK,CAAkC;YAdtE,IAAA,CAAA,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;YAGzB,IAAA,CAAA,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;IAGrC,QAAA,IAAQ,CAAA,QAAA,GAAG,EAAE,CAAC;IAGd,QAAA,IAAS,CAAA,SAAA,GAAG,EAAE,CAAC;IAQX,QAAA,eAAe,CAAC,YAAY,CAAC,wBAAwB,CAAC,CAAC;SAC1D;;;IApBQ,kBAAA,CAAA,IAAA,GAAAH,aAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,IAAA,EAAA,kBAAkB,kBAcfQ,wBAAiB,EAAA,EAAA,EAAA,KAAA,EACjB,kBAAkB,EAClB,EAAA,EAAA,KAAA,EAAAC,WAAQ,aACRC,4BAAyB,EAAA,CAAA,EAAA,MAAA,EAAAV,aAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mHAjB5B,kBAAkB,EAAA,QAAA,EAAA,uEAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,UAAA,EAAA,SAAA,EAAA,WAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,cAAA,EAAA,EAAA,EAAA,eAAA,EAAA,EAAA,EAAA,EAAA,SAAA,EAAA,EAAA,kBAAA,EAAA,OAAA,EAAA,EAAA,UAAA,EAAA,EAAA,kBAAA,EAAA,UAAA,EAAA,mBAAA,EAAA,WAAA,EAAA,qBAAA,EAAA,uCAAA,EAAA,sBAAA,EAAA,wCAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,sBAAA,EAAA,YAAA,EAAA,EAAA,EAAA,SAAA,EAbhB,CAACW,gBAAa,CAAC,EAAA,QAAA,EAAAX,aAAA,EAAA,CAAA,CAAA;sHAajB,kBAAkB,EAAA,UAAA,EAAA,CAAA;sBAf9BY,YAAS;IAAC,YAAA,IAAA,EAAA,CAAA;IACP,oBAAA,QAAQ,EAAE,uEAAuE;wBACjF,SAAS,EAAE,CAACD,gBAAa,CAAC;IAC1B,oBAAA,IAAI,EAAE;IACF,wBAAA,YAAY,EAAE,EAAE;IAChB,wBAAA,aAAa,EAAE,EAAE;IACjB,wBAAA,oBAAoB,EAAE,UAAU;IAChC,wBAAA,qBAAqB,EAAE,WAAW;IAClC,wBAAA,uBAAuB,EAAE,mCAAmC;IAC5D,wBAAA,wBAAwB,EAAE,oCAAoC;IAC9D,wBAAA,kBAAkB,EAAE,MAAM;IAC1B,wBAAA,wBAAwB,EAAE,YAAY;IACtC,wBAAA,oBAAoB,EAAE,OAAO;IAChC,qBAAA;qBACJ,CAAA;;;kCAeQP,SAAM;mCAACI,wBAAiB,CAAA;;kCACxBJ,SAAM;mCAAC,kBAAkB,CAAA;;kCACzBA,SAAM;mCAACK,WAAQ,CAAA;;kCACfL,SAAM;mCAACM,4BAAyB,CAAA;;6BAfrC,IAAI,EAAA,CAAA;0BADHL,QAAK;oBAIN,UAAU,EAAA,CAAA;0BADTA,QAAK;oBAIN,QAAQ,EAAA,CAAA;0BADPA,QAAK;oBAIN,SAAS,EAAA,CAAA;0BADRA,QAAK;;;ACvCV,QAAA,eAAA,kBAAA,YAAA;IAAA,IAAA,SAAA,eAAA,GAAA;;;;uIAAa,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAAL,aAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;IAAf,eAAA,CAAA,IAAA,GAAAA,aAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,IAAA,EAAA,eAAe,EAHT,YAAA,EAAA,CAAA,kBAAkB,EAAE,kBAAkB,EAAE,wBAAwB,CAAA,EAAA,OAAA,EAAA,CADrEa,mBAAY,EAAEC,eAAY,EAAEC,kBAAe,CAE3C,EAAA,OAAA,EAAA,CAAA,kBAAkB,EAAE,kBAAkB,CAAA,EAAA,CAAA,CAAA;IAEvC,eAAA,CAAA,IAAA,GAAAf,aAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,IAAA,EAAA,eAAe,YAJf,CAACa,mBAAY,EAAEC,eAAY,EAAEC,kBAAe,CAAC,CAAA,EAAA,CAAA,CAAA;sHAI7C,eAAe,EAAA,UAAA,EAAA,CAAA;sBAL3BC,WAAQ;IAAC,YAAA,IAAA,EAAA,CAAA;IACN,oBAAA,OAAO,EAAE,CAACH,mBAAY,EAAEC,eAAY,EAAEC,kBAAe,CAAC;IACtD,oBAAA,YAAY,EAAE,CAAC,kBAAkB,EAAE,kBAAkB,EAAE,wBAAwB,CAAC;IAChF,oBAAA,OAAO,EAAE,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;qBACpD,CAAA;;;ICXD;;IAEG;;;;;;;;;;;;;;;;"}
@@ -1,8 +1,8 @@
1
1
  (function (global, factory) {
2
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/forms'), require('@taiga-ui/cdk'), require('@taiga-ui/core'), require('rxjs/operators'), require('rxjs')) :
3
- typeof define === 'function' && define.amd ? define('@taiga-ui/experimental/components/checkbox', ['exports', '@angular/core', '@angular/forms', '@taiga-ui/cdk', '@taiga-ui/core', 'rxjs/operators', 'rxjs'], factory) :
4
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global["taiga-ui"] = global["taiga-ui"] || {}, global["taiga-ui"].experimental = global["taiga-ui"].experimental || {}, global["taiga-ui"].experimental.components = global["taiga-ui"].experimental.components || {}, global["taiga-ui"].experimental.components.checkbox = {}), global.ng.core, global.ng.forms, global.cdk, global.core, global.rxjs.operators, global.rxjs));
5
- })(this, (function (exports, i0, i2, cdk, core, operators, i1) { 'use strict';
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/forms'), require('@taiga-ui/cdk'), require('@taiga-ui/experimental/tokens'), require('rxjs/operators'), require('rxjs')) :
3
+ typeof define === 'function' && define.amd ? define('@taiga-ui/experimental/components/checkbox', ['exports', '@angular/core', '@angular/forms', '@taiga-ui/cdk', '@taiga-ui/experimental/tokens', 'rxjs/operators', 'rxjs'], factory) :
4
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global["taiga-ui"] = global["taiga-ui"] || {}, global["taiga-ui"].experimental = global["taiga-ui"].experimental || {}, global["taiga-ui"].experimental.components = global["taiga-ui"].experimental.components || {}, global["taiga-ui"].experimental.components.checkbox = {}), global.ng.core, global.ng.forms, global.cdk, global["taiga-ui"].experimental.tokens, global.rxjs.operators, global.rxjs));
5
+ })(this, (function (exports, i0, i2, cdk, tokens, operators, i1) { 'use strict';
6
6
 
7
7
  function _interopNamespace(e) {
8
8
  if (e && e.__esModule) return e;
@@ -39,15 +39,12 @@
39
39
  }
40
40
 
41
41
  var TuiCheckboxComponent = /** @class */ (function () {
42
- function TuiCheckboxComponent(cdr, baseHref, svg, options, destroy$, el, mode$, platform, control) {
42
+ function TuiCheckboxComponent(cdr, resolver, options, destroy$, el, control) {
43
43
  this.cdr = cdr;
44
- this.baseHref = baseHref;
45
- this.svg = svg;
44
+ this.resolver = resolver;
46
45
  this.options = options;
47
46
  this.destroy$ = destroy$;
48
47
  this.el = el;
49
- this.mode$ = mode$;
50
- this.platform = platform;
51
48
  this.control = control;
52
49
  this.size = this.options.size;
53
50
  }
@@ -57,8 +54,7 @@
57
54
  ? this.options.icons.indeterminate
58
55
  : this.options.icons.checked;
59
56
  var icon = cdk.tuiIsString(option) ? option : option(this.size);
60
- var mask = icon.includes('/') ? icon : this.svg.path(icon, this.baseHref);
61
- return "url(" + mask + ")";
57
+ return "url(" + this.resolver(icon) + ")";
62
58
  },
63
59
  enumerable: false,
64
60
  configurable: true
@@ -77,8 +73,8 @@
77
73
  };
78
74
  return TuiCheckboxComponent;
79
75
  }());
80
- TuiCheckboxComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TuiCheckboxComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: cdk.TUI_BASE_HREF }, { token: core.TUI_SVG_OPTIONS }, { token: TUI_CHECKBOX_OPTIONS }, { token: cdk.TuiDestroyService, self: true }, { token: i0.ElementRef }, { token: core.TUI_MODE }, { token: cdk.TUI_PLATFORM }, { token: i2.NgControl, optional: true }], target: i0__namespace.ɵɵFactoryTarget.Component });
81
- TuiCheckboxComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiCheckboxComponent, selector: "input[type=\"checkbox\"][tuiCheckbox]", inputs: { size: "size" }, host: { listeners: { "$.data-mode.attr": "mode$" }, properties: { "disabled": "!control || control.disabled", "attr.data-size": "size", "attr.data-platform": "platform", "class._invalid": "control?.invalid && control?.touched", "class._readonly": "!control", "style.--t-mask": "this.icon" } }, providers: [core.MODE_PROVIDER, cdk.TuiDestroyService], ngImport: i0__namespace, template: '', isInline: true, styles: [":host{transition-property:background,box-shadow;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:relative;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;margin:0;outline:none;box-shadow:inset 0 0 0 .0625rem var(--tui-clear-active)}:host:disabled{pointer-events:none}:host:disabled:not(._readonly){opacity:var(--tui-disabled-opacity)}:host:focus-visible{box-shadow:inset 0 0 0 .125rem var(--tui-focus)!important}:host:checked:before,:host:indeterminate:before{-webkit-mask-image:var(--t-mask);mask-image:var(--t-mask)}:host:before{position:absolute;top:0;left:0;width:100%;height:100%;content:\"\";background:currentColor;-webkit-mask-image:url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\"></svg>');mask-image:url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\"></svg>');-webkit-mask-size:100%;mask-size:100%}:host._invalid{box-shadow:inset 0 0 0 .0625rem var(--tui-error-bg-hover)}:host[data-platform=ios]{width:1.375rem;height:1.375rem;border-radius:100%;color:var(--tui-base-01);transition:none}:host[data-platform=ios]:checked,:host[data-platform=ios]:indeterminate{background:var(--tui-accent);box-shadow:none}:host[data-platform=ios]:checked:disabled:not(._readonly),:host[data-platform=ios]:indeterminate:disabled:not(._readonly){background:var(--tui-base-04)}:host[data-platform=ios]:checked:before,:host[data-platform=ios]:indeterminate:before{display:block}:host[data-platform=ios]:checked._invalid,:host[data-platform=ios]:indeterminate._invalid{background:var(--tui-error-fill)}:host[data-platform=ios]:before{display:none;--t-mask: url('data:image/svg+xml,<svg viewBox=\"0 0 22 22\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M6.75 11.25L9.8 15.2L15.2 7\" fill=\"none\" stroke=\"black\" stroke-width=\"1.75\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>')}:host[data-platform=ios]:indeterminate:before{--t-mask: url('data:image/svg+xml,<svg viewBox=\"0 0 22 22\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M6 11H16\" fill=\"none\" stroke=\"black\" stroke-width=\"1.75\" stroke-linecap=\"round\"/></svg>')}:host[data-platform=android]{width:1.125rem;height:1.125rem;color:var(--tui-base-01);border-radius:.125rem;box-shadow:inset 0 0 0 .125rem var(--tui-base-04)}:host[data-platform=android]:checked,:host[data-platform=android]:indeterminate{background:var(--tui-accent);box-shadow:none}:host[data-platform=android]:checked._invalid,:host[data-platform=android]:indeterminate._invalid{background:var(--tui-error-fill)}:host[data-platform=android]:checked:disabled:not(._readonly),:host[data-platform=android]:indeterminate:disabled:not(._readonly){background:var(--tui-base-04)}:host[data-platform=android]:checked:before,:host[data-platform=android]:indeterminate:before{-webkit-clip-path:inset(0);clip-path:inset(0);transition-delay:0s}:host[data-platform=android]:before{transition:-webkit-clip-path var(--tui-duration) ease-in-out,-webkit-mask 0s var(--tui-duration) ease-in-out;transition:clip-path var(--tui-duration) ease-in-out,mask 0s var(--tui-duration) ease-in-out;transition:clip-path var(--tui-duration) ease-in-out,mask 0s var(--tui-duration) ease-in-out,-webkit-clip-path var(--tui-duration) ease-in-out,-webkit-mask 0s var(--tui-duration) ease-in-out;-webkit-clip-path:inset(0 100% 0 0);clip-path:inset(0 100% 0 0);--t-mask: url('data:image/svg+xml,<svg viewBox=\"0 0 18 18\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M2.7 8.5L7 12.7L15.3 4.7\" fill=\"none\" stroke=\"black\" stroke-width=\"2\"/></svg>')}:host[data-platform=android]:indeterminate:before{--t-mask: url('data:image/svg+xml,<svg viewBox=\"0 0 18 18\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M3 9H15\" fill=\"none\" stroke=\"black\" stroke-width=\"2\"/></svg>')}:host[data-platform=android]._invalid{box-shadow:inset 0 0 0 .125rem var(--tui-error-bg-hover)}:host[data-platform=web]{width:1.5rem;height:1.5rem;border-radius:var(--tui-radius-s);color:var(--tui-primary-text)}:host[data-platform=web][data-size=s]{width:1rem;height:1rem;border-radius:var(--tui-radius-xs)}:host[data-platform=web]:checked,:host[data-platform=web]:indeterminate{box-shadow:none;background:var(--tui-primary)}:host[data-platform=web]:checked:hover,:host[data-platform=web]:indeterminate:hover{background:var(--tui-primary-hover)}:host[data-platform=web]:checked:active,:host[data-platform=web]:indeterminate:active{background:var(--tui-primary-active)}:host[data-platform=web]:checked:before,:host[data-platform=web]:indeterminate:before{transform:scale(1);transition:transform var(--tui-duration) ease-in-out,-webkit-mask 0s ease-in-out;transition:transform var(--tui-duration) ease-in-out,mask 0s ease-in-out;transition:transform var(--tui-duration) ease-in-out,mask 0s ease-in-out,-webkit-mask 0s ease-in-out}:host[data-platform=web]:before{transform:scale(0);transition:transform var(--tui-duration) ease-in-out,-webkit-mask 0s var(--tui-duration) ease-in-out;transition:transform var(--tui-duration) ease-in-out,mask 0s var(--tui-duration) ease-in-out;transition:transform var(--tui-duration) ease-in-out,mask 0s var(--tui-duration) ease-in-out,-webkit-mask 0s var(--tui-duration) ease-in-out}:host[data-platform=web]._invalid:checked,:host[data-platform=web]._invalid:indeterminate{background:var(--tui-error-fill)}\n"], changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
76
+ TuiCheckboxComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TuiCheckboxComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: tokens.TUI_ICON_RESOLVER }, { token: TUI_CHECKBOX_OPTIONS }, { token: cdk.TuiDestroyService, self: true }, { token: i0.ElementRef }, { token: i2.NgControl, optional: true }], target: i0__namespace.ɵɵFactoryTarget.Component });
77
+ TuiCheckboxComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiCheckboxComponent, selector: "input[type=\"checkbox\"][tuiCheckbox]", inputs: { size: "size" }, host: { attributes: { "tuiAppearance": "" }, properties: { "disabled": "!control || control.disabled", "attr.data-size": "size", "class._invalid": "control?.invalid && control?.touched", "class._readonly": "!control", "style.--t-mask": "icon" } }, providers: [cdk.TuiDestroyService], ngImport: i0__namespace, template: '', isInline: true, styles: [":host{width:1.5rem;height:1.5rem;border-radius:var(--tui-radius-s);color:var(--tui-primary-text);cursor:pointer;margin:0;box-shadow:inset 0 0 0 .0625rem var(--tui-clear-active)}:host:before{position:absolute;top:0;left:0;width:100%;height:100%;content:\"\";background:currentColor;-webkit-mask:url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\"></svg>') center / 100%;mask:url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\"></svg>') center / 100%;transform:scale(0);transition:transform var(--tui-duration) ease-in-out,-webkit-mask 0s var(--tui-duration) ease-in-out;transition:transform var(--tui-duration) ease-in-out,mask 0s var(--tui-duration) ease-in-out;transition:transform var(--tui-duration) ease-in-out,mask 0s var(--tui-duration) ease-in-out,-webkit-mask 0s var(--tui-duration) ease-in-out}:host:disabled._readonly{opacity:1}:host:checked,:host:indeterminate{box-shadow:none;background:var(--tui-primary)}:host:checked:hover,:host:indeterminate:hover{background:var(--tui-primary-hover)}:host:checked:active,:host:indeterminate:active{background:var(--tui-primary-active)}:host:checked:before,:host:indeterminate:before{-webkit-mask-image:var(--t-mask);mask-image:var(--t-mask);transform:scale(1);transition:transform var(--tui-duration) ease-in-out,-webkit-mask 0s ease-in-out;transition:transform var(--tui-duration) ease-in-out,mask 0s ease-in-out;transition:transform var(--tui-duration) ease-in-out,mask 0s ease-in-out,-webkit-mask 0s ease-in-out}:host[data-size=s]{width:1rem;height:1rem;border-radius:var(--tui-radius-xs)}:host._invalid{box-shadow:inset 0 0 0 .0625rem var(--tui-error-bg-hover)}:host._invalid:checked,:host._invalid:indeterminate{background:var(--tui-error-fill)}\n"], changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
82
78
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TuiCheckboxComponent, decorators: [{
83
79
  type: i0.Component,
84
80
  args: [{
@@ -86,14 +82,14 @@
86
82
  template: '',
87
83
  styleUrls: ['./checkbox.style.less'],
88
84
  changeDetection: i0.ChangeDetectionStrategy.OnPush,
89
- providers: [core.MODE_PROVIDER, cdk.TuiDestroyService],
85
+ providers: [cdk.TuiDestroyService],
90
86
  host: {
91
- '($.data-mode.attr)': 'mode$',
87
+ tuiAppearance: '',
92
88
  '[disabled]': '!control || control.disabled',
93
89
  '[attr.data-size]': 'size',
94
- '[attr.data-platform]': 'platform',
95
90
  '[class._invalid]': 'control?.invalid && control?.touched',
96
91
  '[class._readonly]': '!control',
92
+ '[style.--t-mask]': 'icon',
97
93
  },
98
94
  }]
99
95
  }], ctorParameters: function () {
@@ -102,10 +98,7 @@
102
98
  args: [i0.ChangeDetectorRef]
103
99
  }] }, { type: undefined, decorators: [{
104
100
  type: i0.Inject,
105
- args: [cdk.TUI_BASE_HREF]
106
- }] }, { type: undefined, decorators: [{
107
- type: i0.Inject,
108
- args: [core.TUI_SVG_OPTIONS]
101
+ args: [tokens.TUI_ICON_RESOLVER]
109
102
  }] }, { type: undefined, decorators: [{
110
103
  type: i0.Inject,
111
104
  args: [TUI_CHECKBOX_OPTIONS]
@@ -117,12 +110,6 @@
117
110
  }] }, { type: i0__namespace.ElementRef, decorators: [{
118
111
  type: i0.Inject,
119
112
  args: [i0.ElementRef]
120
- }] }, { type: i1__namespace.Observable, decorators: [{
121
- type: i0.Inject,
122
- args: [core.TUI_MODE]
123
- }] }, { type: undefined, decorators: [{
124
- type: i0.Inject,
125
- args: [cdk.TUI_PLATFORM]
126
113
  }] }, { type: i2__namespace.NgControl, decorators: [{
127
114
  type: i0.Optional
128
115
  }, {
@@ -131,9 +118,6 @@
131
118
  }] }];
132
119
  }, propDecorators: { size: [{
133
120
  type: i0.Input
134
- }], icon: [{
135
- type: i0.HostBinding,
136
- args: ['style.--t-mask']
137
121
  }] } });
138
122
 
139
123
  var TuiCheckboxModule = /** @class */ (function () {
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-experimental-components-checkbox.umd.js","sources":["../../../projects/experimental/components/checkbox/checkbox.options.ts","../../../projects/experimental/components/checkbox/checkbox.component.ts","../../../projects/experimental/components/checkbox/checkbox.module.ts","../../../projects/experimental/components/checkbox/taiga-ui-experimental-components-checkbox.ts"],"sourcesContent":["import {Provider} from '@angular/core';\nimport {tuiCreateToken, TuiMapper, tuiProvideOptions} from '@taiga-ui/cdk';\nimport {TuiSizeS} from '@taiga-ui/core';\n\nexport interface TuiCheckboxOptions {\n readonly size: TuiSizeS;\n readonly icons: Readonly<{\n checked: TuiMapper<TuiSizeS, string> | string;\n indeterminate: TuiMapper<TuiSizeS, string> | string;\n }>;\n}\n\nexport const TUI_CHECKBOX_DEFAULT_OPTIONS: TuiCheckboxOptions = {\n size: `m`,\n icons: {\n checked: size => (size === `m` ? `tuiIconCheckLarge` : `tuiIconCheck`),\n indeterminate: size => (size === `m` ? `tuiIconMinusLarge` : `tuiIconMinus`),\n },\n};\n\nexport const TUI_CHECKBOX_OPTIONS = tuiCreateToken(TUI_CHECKBOX_DEFAULT_OPTIONS);\n\nexport function tuiCheckboxOptionsProvider(\n options: Partial<TuiCheckboxOptions>,\n): Provider {\n return tuiProvideOptions(TUI_CHECKBOX_OPTIONS, options, TUI_CHECKBOX_DEFAULT_OPTIONS);\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n HostBinding,\n Inject,\n Input,\n OnInit,\n Optional,\n Self,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {\n TUI_BASE_HREF,\n TUI_PLATFORM,\n tuiControlValue,\n TuiDestroyService,\n tuiIsString,\n TuiPlatform,\n tuiWatch,\n} from '@taiga-ui/cdk';\nimport {\n MODE_PROVIDER,\n TUI_MODE,\n TUI_SVG_OPTIONS,\n TuiBrightness,\n TuiSvgOptions,\n} from '@taiga-ui/core';\nimport {Observable} from 'rxjs';\nimport {distinctUntilChanged, takeUntil} from 'rxjs/operators';\n\nimport {TUI_CHECKBOX_OPTIONS, TuiCheckboxOptions} from './checkbox.options';\n\n@Component({\n selector: 'input[type=\"checkbox\"][tuiCheckbox]',\n template: '',\n styleUrls: ['./checkbox.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [MODE_PROVIDER, TuiDestroyService],\n host: {\n '($.data-mode.attr)': 'mode$',\n '[disabled]': '!control || control.disabled',\n '[attr.data-size]': 'size',\n '[attr.data-platform]': 'platform',\n '[class._invalid]': 'control?.invalid && control?.touched',\n '[class._readonly]': '!control',\n },\n})\nexport class TuiCheckboxComponent implements OnInit {\n @Input()\n size = this.options.size;\n\n constructor(\n @Inject(ChangeDetectorRef) private readonly cdr: ChangeDetectorRef,\n @Inject(TUI_BASE_HREF) private readonly baseHref: string,\n @Inject(TUI_SVG_OPTIONS) private readonly svg: TuiSvgOptions,\n @Inject(TUI_CHECKBOX_OPTIONS) private readonly options: TuiCheckboxOptions,\n @Self() @Inject(TuiDestroyService) private readonly destroy$: Observable<unknown>,\n @Inject(ElementRef) private readonly el: ElementRef<HTMLInputElement>,\n @Inject(TUI_MODE) readonly mode$: Observable<TuiBrightness | null>,\n @Inject(TUI_PLATFORM) readonly platform: TuiPlatform,\n @Optional() @Inject(NgControl) readonly control: NgControl | null,\n ) {}\n\n @HostBinding('style.--t-mask')\n get icon(): string {\n const option = this.el.nativeElement.indeterminate\n ? this.options.icons.indeterminate\n : this.options.icons.checked;\n const icon = tuiIsString(option) ? option : option(this.size);\n const mask = icon.includes('/') ? icon : this.svg.path(icon, this.baseHref);\n\n return `url(${mask})`;\n }\n\n ngOnInit(): void {\n if (!this.control?.valueChanges) {\n return;\n }\n\n tuiControlValue(this.control)\n .pipe(distinctUntilChanged(), tuiWatch(this.cdr), takeUntil(this.destroy$))\n .subscribe(value => {\n this.el.nativeElement.indeterminate = value === null;\n });\n }\n}\n","import {NgModule} from '@angular/core';\n\nimport {TuiCheckboxComponent} from './checkbox.component';\n\n@NgModule({\n declarations: [TuiCheckboxComponent],\n exports: [TuiCheckboxComponent],\n})\nexport class TuiCheckboxModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["tuiCreateToken","tuiProvideOptions","tuiIsString","tuiControlValue","distinctUntilChanged","tuiWatch","takeUntil","i0","ChangeDetectorRef","TUI_BASE_HREF","TUI_SVG_OPTIONS","TuiDestroyService","ElementRef","TUI_MODE","TUI_PLATFORM","NgControl","MODE_PROVIDER","Component","ChangeDetectionStrategy","Inject","Self","Optional","Input","HostBinding","NgModule"],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-experimental-components-checkbox.umd.js","sources":["../../../projects/experimental/components/checkbox/checkbox.options.ts","../../../projects/experimental/components/checkbox/checkbox.component.ts","../../../projects/experimental/components/checkbox/checkbox.module.ts","../../../projects/experimental/components/checkbox/taiga-ui-experimental-components-checkbox.ts"],"sourcesContent":["import {Provider} from '@angular/core';\nimport {tuiCreateToken, TuiMapper, tuiProvideOptions} from '@taiga-ui/cdk';\nimport {TuiSizeS} from '@taiga-ui/core';\n\nexport interface TuiCheckboxOptions {\n readonly size: TuiSizeS;\n readonly icons: Readonly<{\n checked: TuiMapper<TuiSizeS, string> | string;\n indeterminate: TuiMapper<TuiSizeS, string> | string;\n }>;\n}\n\nexport const TUI_CHECKBOX_DEFAULT_OPTIONS: TuiCheckboxOptions = {\n size: `m`,\n icons: {\n checked: size => (size === `m` ? `tuiIconCheckLarge` : `tuiIconCheck`),\n indeterminate: size => (size === `m` ? `tuiIconMinusLarge` : `tuiIconMinus`),\n },\n};\n\nexport const TUI_CHECKBOX_OPTIONS = tuiCreateToken(TUI_CHECKBOX_DEFAULT_OPTIONS);\n\nexport function tuiCheckboxOptionsProvider(\n options: Partial<TuiCheckboxOptions>,\n): Provider {\n return tuiProvideOptions(TUI_CHECKBOX_OPTIONS, options, TUI_CHECKBOX_DEFAULT_OPTIONS);\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n Inject,\n Input,\n OnInit,\n Optional,\n Self,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {\n tuiControlValue,\n TuiDestroyService,\n tuiIsString,\n TuiStringHandler,\n tuiWatch,\n} from '@taiga-ui/cdk';\nimport {TUI_ICON_RESOLVER} from '@taiga-ui/experimental/tokens';\nimport {Observable} from 'rxjs';\nimport {distinctUntilChanged, takeUntil} from 'rxjs/operators';\n\nimport {TUI_CHECKBOX_OPTIONS, TuiCheckboxOptions} from './checkbox.options';\n\n@Component({\n selector: 'input[type=\"checkbox\"][tuiCheckbox]',\n template: '',\n styleUrls: ['./checkbox.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [TuiDestroyService],\n host: {\n tuiAppearance: '', // Apply base appearance\n '[disabled]': '!control || control.disabled',\n '[attr.data-size]': 'size',\n '[class._invalid]': 'control?.invalid && control?.touched',\n '[class._readonly]': '!control',\n '[style.--t-mask]': 'icon',\n },\n})\nexport class TuiCheckboxComponent implements OnInit {\n @Input()\n size = this.options.size;\n\n constructor(\n @Inject(ChangeDetectorRef) private readonly cdr: ChangeDetectorRef,\n @Inject(TUI_ICON_RESOLVER) private readonly resolver: TuiStringHandler<string>,\n @Inject(TUI_CHECKBOX_OPTIONS) private readonly options: TuiCheckboxOptions,\n @Self() @Inject(TuiDestroyService) private readonly destroy$: Observable<unknown>,\n @Inject(ElementRef) private readonly el: ElementRef<HTMLInputElement>,\n @Optional() @Inject(NgControl) readonly control: NgControl | null,\n ) {}\n\n get icon(): string {\n const option = this.el.nativeElement.indeterminate\n ? this.options.icons.indeterminate\n : this.options.icons.checked;\n const icon = tuiIsString(option) ? option : option(this.size);\n\n return `url(${this.resolver(icon)})`;\n }\n\n ngOnInit(): void {\n if (!this.control?.valueChanges) {\n return;\n }\n\n tuiControlValue(this.control)\n .pipe(distinctUntilChanged(), tuiWatch(this.cdr), takeUntil(this.destroy$))\n .subscribe(value => {\n this.el.nativeElement.indeterminate = value === null;\n });\n }\n}\n","import {NgModule} from '@angular/core';\n\nimport {TuiCheckboxComponent} from './checkbox.component';\n\n@NgModule({\n declarations: [TuiCheckboxComponent],\n exports: [TuiCheckboxComponent],\n})\nexport class TuiCheckboxModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["tuiCreateToken","tuiProvideOptions","tuiIsString","tuiControlValue","distinctUntilChanged","tuiWatch","takeUntil","ChangeDetectorRef","TUI_ICON_RESOLVER","TuiDestroyService","ElementRef","NgControl","i0","Component","ChangeDetectionStrategy","Inject","Self","Optional","Input","NgModule"],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  (function (global, factory) {
2
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@taiga-ui/cdk')) :
3
- typeof define === 'function' && define.amd ? define('@taiga-ui/experimental/components/icon', ['exports', '@angular/core', '@taiga-ui/cdk'], factory) :
4
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global["taiga-ui"] = global["taiga-ui"] || {}, global["taiga-ui"].experimental = global["taiga-ui"].experimental || {}, global["taiga-ui"].experimental.components = global["taiga-ui"].experimental.components || {}, global["taiga-ui"].experimental.components.icon = {}), global.ng.core, global.cdk));
5
- })(this, (function (exports, i0, cdk) { 'use strict';
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@taiga-ui/experimental/tokens')) :
3
+ typeof define === 'function' && define.amd ? define('@taiga-ui/experimental/components/icon', ['exports', '@angular/core', '@taiga-ui/experimental/tokens'], factory) :
4
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global["taiga-ui"] = global["taiga-ui"] || {}, global["taiga-ui"].experimental = global["taiga-ui"].experimental || {}, global["taiga-ui"].experimental.components = global["taiga-ui"].experimental.components || {}, global["taiga-ui"].experimental.components.icon = {}), global.ng.core, global["taiga-ui"].experimental.tokens));
5
+ })(this, (function (exports, i0, tokens) { 'use strict';
6
6
 
7
7
  function _interopNamespace(e) {
8
8
  if (e && e.__esModule) return e;
@@ -25,55 +25,39 @@
25
25
  var i0__namespace = /*#__PURE__*/_interopNamespace(i0);
26
26
 
27
27
  var TuiIconComponent = /** @class */ (function () {
28
- function TuiIconComponent() {
28
+ function TuiIconComponent(resolver) {
29
+ this.resolver = resolver;
29
30
  this.icon = '';
31
+ this.background = '';
30
32
  }
31
33
  return TuiIconComponent;
32
34
  }());
33
- TuiIconComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TuiIconComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
34
- TuiIconComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiIconComponent, selector: "tui-icon", inputs: { icon: "icon" }, host: { properties: { "style.--t-mask": "\"url(\" + icon + \")\"" } }, ngImport: i0__namespace, template: '', isInline: true, styles: [":host{position:relative;display:inline-block;width:1.5rem;height:1.5rem;vertical-align:middle;-webkit-mask:var(--t-mask) no-repeat center / contain;mask:var(--t-mask) no-repeat center / contain}:host:after{position:absolute;top:0;left:0;width:100%;height:100%;content:\"\";-webkit-mask:inherit;mask:inherit;background:currentColor}\n"], changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
35
+ TuiIconComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TuiIconComponent, deps: [{ token: tokens.TUI_ICON_RESOLVER }], target: i0__namespace.ɵɵFactoryTarget.Component });
36
+ TuiIconComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiIconComponent, selector: "tui-icon", inputs: { icon: "icon", background: "background" }, host: { properties: { "class._duo": "background", "style.--t-mask": "\"url(\" + resolver(icon) + \")\"", "style.--t-mask-bg": "background ? \"url(\" + resolver(background).replace(\"Outline\", \"\") + \")\" : null" } }, ngImport: i0__namespace, template: '', isInline: true, styles: [":host{position:relative;display:inline-block;width:1.5rem;height:1.5rem;vertical-align:middle}:host._duo{-webkit-mask:var(--t-mask-bg) no-repeat center / contain;mask:var(--t-mask-bg) no-repeat center / contain}:host:after{position:absolute;top:0;left:0;width:100%;height:100%;content:\"\";-webkit-mask:var(--t-mask) no-repeat center / contain;mask:var(--t-mask) no-repeat center / contain;background:currentColor}\n"], changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
35
37
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TuiIconComponent, decorators: [{
36
38
  type: i0.Component,
37
39
  args: [{
38
40
  selector: 'tui-icon',
39
41
  template: '',
40
- host: { '[style.--t-mask]': '"url(" + icon + ")"' },
42
+ host: {
43
+ '[class._duo]': 'background',
44
+ '[style.--t-mask]': '"url(" + resolver(icon) + ")"',
45
+ // TODO: remove Outline hack in 4.0
46
+ '[style.--t-mask-bg]': 'background ? "url(" + resolver(background).replace("Outline", "") + ")" : null',
47
+ },
41
48
  styleUrls: ['./icon.style.less'],
42
49
  changeDetection: i0.ChangeDetectionStrategy.OnPush,
43
50
  }]
44
- }], propDecorators: { icon: [{
45
- type: i0.Input
46
- }] } });
47
-
48
- var TUI_ICON_RESOLVER = cdk.tuiCreateTokenFromFactory(function () { return function (icon) { return "/assets/taiga-ui/icons/" + icon + ".svg"; }; });
49
- function tuiIconResolverProvider(useValue) {
50
- return {
51
- provide: TUI_ICON_RESOLVER,
52
- useValue: useValue,
53
- };
54
- }
55
- var TuiIconPipe = /** @class */ (function () {
56
- function TuiIconPipe(resolver) {
57
- this.resolver = resolver;
58
- }
59
- TuiIconPipe.prototype.transform = function (icon) {
60
- return this.resolver(icon);
61
- };
62
- return TuiIconPipe;
63
- }());
64
- TuiIconPipe.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TuiIconPipe, deps: [{ token: TUI_ICON_RESOLVER }], target: i0__namespace.ɵɵFactoryTarget.Pipe });
65
- TuiIconPipe.ɵpipe = i0__namespace.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TuiIconPipe, name: "tuiIcon" });
66
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TuiIconPipe, decorators: [{
67
- type: i0.Pipe,
68
- args: [{
69
- name: "tuiIcon",
70
- }]
71
51
  }], ctorParameters: function () {
72
52
  return [{ type: undefined, decorators: [{
73
53
  type: i0.Inject,
74
- args: [TUI_ICON_RESOLVER]
54
+ args: [tokens.TUI_ICON_RESOLVER]
75
55
  }] }];
76
- } });
56
+ }, propDecorators: { icon: [{
57
+ type: i0.Input
58
+ }], background: [{
59
+ type: i0.Input
60
+ }] } });
77
61
 
78
62
  var TuiIconModule = /** @class */ (function () {
79
63
  function TuiIconModule() {
@@ -81,13 +65,13 @@
81
65
  return TuiIconModule;
82
66
  }());
83
67
  TuiIconModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TuiIconModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
84
- TuiIconModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TuiIconModule, declarations: [TuiIconComponent, TuiIconPipe], exports: [TuiIconComponent, TuiIconPipe] });
68
+ TuiIconModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TuiIconModule, declarations: [TuiIconComponent], exports: [TuiIconComponent] });
85
69
  TuiIconModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TuiIconModule });
86
70
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TuiIconModule, decorators: [{
87
71
  type: i0.NgModule,
88
72
  args: [{
89
- declarations: [TuiIconComponent, TuiIconPipe],
90
- exports: [TuiIconComponent, TuiIconPipe],
73
+ declarations: [TuiIconComponent],
74
+ exports: [TuiIconComponent],
91
75
  }]
92
76
  }] });
93
77
 
@@ -95,11 +79,8 @@
95
79
  * Generated bundle index. Do not edit.
96
80
  */
97
81
 
98
- exports.TUI_ICON_RESOLVER = TUI_ICON_RESOLVER;
99
82
  exports.TuiIconComponent = TuiIconComponent;
100
83
  exports.TuiIconModule = TuiIconModule;
101
- exports.TuiIconPipe = TuiIconPipe;
102
- exports.tuiIconResolverProvider = tuiIconResolverProvider;
103
84
 
104
85
  Object.defineProperty(exports, '__esModule', { value: true });
105
86
 
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-experimental-components-icon.umd.js","sources":["../../../projects/experimental/components/icon/icon.component.ts","../../../projects/experimental/components/icon/icon.pipe.ts","../../../projects/experimental/components/icon/icon.module.ts","../../../projects/experimental/components/icon/taiga-ui-experimental-components-icon.ts"],"sourcesContent":["import {ChangeDetectionStrategy, Component, Input} from '@angular/core';\n\n@Component({\n selector: 'tui-icon',\n template: '',\n host: {'[style.--t-mask]': '\"url(\" + icon + \")\"'},\n styleUrls: ['./icon.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiIconComponent {\n @Input()\n icon = '';\n}\n","import {Inject, Pipe, PipeTransform, Provider} from '@angular/core';\nimport {tuiCreateTokenFromFactory, TuiStringHandler} from '@taiga-ui/cdk';\n\nexport const TUI_ICON_RESOLVER = tuiCreateTokenFromFactory<TuiStringHandler<string>>(\n () => icon => `/assets/taiga-ui/icons/${icon}.svg`,\n);\n\nexport function tuiIconResolverProvider(useValue: TuiStringHandler<string>): Provider {\n return {\n provide: TUI_ICON_RESOLVER,\n useValue,\n };\n}\n\n@Pipe({\n name: `tuiIcon`,\n})\nexport class TuiIconPipe implements PipeTransform {\n constructor(\n @Inject(TUI_ICON_RESOLVER) private readonly resolver: TuiStringHandler<string>,\n ) {}\n\n transform(icon: string): string {\n return this.resolver(icon);\n }\n}\n","import {NgModule} from '@angular/core';\n\nimport {TuiIconComponent} from './icon.component';\nimport {TuiIconPipe} from './icon.pipe';\n\n@NgModule({\n declarations: [TuiIconComponent, TuiIconPipe],\n exports: [TuiIconComponent, TuiIconPipe],\n})\nexport class TuiIconModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i0","Component","ChangeDetectionStrategy","Input","tuiCreateTokenFromFactory","Pipe","Inject","NgModule"],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-experimental-components-icon.umd.js","sources":["../../../projects/experimental/components/icon/icon.component.ts","../../../projects/experimental/components/icon/icon.module.ts","../../../projects/experimental/components/icon/taiga-ui-experimental-components-icon.ts"],"sourcesContent":["import {ChangeDetectionStrategy, Component, Inject, Input} from '@angular/core';\nimport {TuiStringHandler} from '@taiga-ui/cdk';\nimport {TUI_ICON_RESOLVER} from '@taiga-ui/experimental/tokens';\n\n@Component({\n selector: 'tui-icon',\n template: '',\n host: {\n '[class._duo]': 'background',\n '[style.--t-mask]': '\"url(\" + resolver(icon) + \")\"',\n // TODO: remove Outline hack in 4.0\n '[style.--t-mask-bg]':\n 'background ? \"url(\" + resolver(background).replace(\"Outline\", \"\") + \")\" : null',\n },\n styleUrls: ['./icon.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiIconComponent {\n @Input()\n icon = '';\n\n @Input()\n background = '';\n\n constructor(@Inject(TUI_ICON_RESOLVER) readonly resolver: TuiStringHandler<string>) {}\n}\n","import {NgModule} from '@angular/core';\n\nimport {TuiIconComponent} from './icon.component';\n\n@NgModule({\n declarations: [TuiIconComponent],\n exports: [TuiIconComponent],\n})\nexport class TuiIconModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i0","TUI_ICON_RESOLVER","Component","ChangeDetectionStrategy","Inject","Input","NgModule"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAiBA,QAAA,gBAAA,kBAAA,YAAA;IAOI,IAAA,SAAA,gBAAA,CAAgD,QAAkC,EAAA;IAAlC,QAAA,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAA0B;IALlF,QAAA,IAAI,CAAA,IAAA,GAAG,EAAE,CAAC;IAGV,QAAA,IAAU,CAAA,UAAA,GAAG,EAAE,CAAC;SAEsE;;;IAP7E,gBAAA,CAAA,IAAA,GAAAA,aAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,IAAA,EAAA,gBAAgB,kBAOLC,wBAAiB,EAAA,CAAA,EAAA,MAAA,EAAAD,aAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;IAP5B,gBAAA,CAAA,IAAA,GAAAA,aAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,gBAAgB,2UAXf,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,kaAAA,CAAA,EAAA,eAAA,EAAAA,aAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;sHAWH,gBAAgB,EAAA,UAAA,EAAA,CAAA;sBAb5BE,YAAS;IAAC,YAAA,IAAA,EAAA,CAAA;IACP,oBAAA,QAAQ,EAAE,UAAU;IACpB,oBAAA,QAAQ,EAAE,EAAE;IACZ,oBAAA,IAAI,EAAE;IACF,wBAAA,cAAc,EAAE,YAAY;IAC5B,wBAAA,kBAAkB,EAAE,+BAA+B;;IAEnD,wBAAA,qBAAqB,EACjB,gFAAgF;IACvF,qBAAA;wBACD,SAAS,EAAE,CAAC,mBAAmB,CAAC;wBAChC,eAAe,EAAEC,0BAAuB,CAAC,MAAM;qBAClD,CAAA;;;kCAQgBC,SAAM;mCAACH,wBAAiB,CAAA;;6BALrC,IAAI,EAAA,CAAA;0BADHI,QAAK;oBAIN,UAAU,EAAA,CAAA;0BADTA,QAAK;;;ACbV,QAAA,aAAA,kBAAA,YAAA;IAAA,IAAA,SAAA,aAAA,GAAA;;;;qIAAa,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAAL,aAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;sIAAb,aAAa,EAAA,YAAA,EAAA,CAHP,gBAAgB,CAAA,EAAA,OAAA,EAAA,CACrB,gBAAgB,CAAA,EAAA,CAAA,CAAA;sIAEjB,aAAa,EAAA,CAAA,CAAA;sHAAb,aAAa,EAAA,UAAA,EAAA,CAAA;sBAJzBM,WAAQ;IAAC,YAAA,IAAA,EAAA,CAAA;wBACN,YAAY,EAAE,CAAC,gBAAgB,CAAC;wBAChC,OAAO,EAAE,CAAC,gBAAgB,CAAC;qBAC9B,CAAA;;;ICPD;;IAEG;;;;;;;;;;;"}