@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 +1 @@
1
- {"version":3,"file":"taiga-ui-experimental-components-badged-content.js","sources":["../../../projects/experimental/components/badged-content/badged-content.component.ts","../../../projects/experimental/components/badged-content/badged-content.template.html","../../../projects/experimental/components/badged-content/badged-content.directive.ts","../../../projects/experimental/components/badged-content/badged-content.module.ts","../../../projects/experimental/components/badged-content/taiga-ui-experimental-components-badged-content.ts"],"sourcesContent":["import {ChangeDetectionStrategy, Component} from '@angular/core';\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","<ng-content></ng-content>\n\n<div\n #badgeTop\n class=\"t-badge t-badge_top\"\n [style.--t-badge-height.px]=\"badgeTop.offsetHeight\"\n (tuiResize)=\"(0)\"\n>\n <ng-content select=\"tui-badge-notification[tuiSlot='top']\"></ng-content>\n <div class=\"t-border\">\n <ng-content select=\"[tuiSlot='top']\"></ng-content>\n </div>\n</div>\n\n<div\n #badgeBottom\n class=\"t-badge t-badge_bottom\"\n [style.--t-badge-height.px]=\"badgeBottom.offsetHeight\"\n (tuiResize)=\"(0)\"\n>\n <ng-content select=\"tui-badge-notification[tuiSlot='bottom']\"></ng-content>\n <div class=\"t-border\">\n <ng-content select=\"[tuiSlot='bottom']\"></ng-content>\n </div>\n</div>\n","import {Directive, Input} from '@angular/core';\n\n@Directive({\n selector: '[tuiSlot]',\n})\nexport class TuiBadgedContentDirective {\n @Input()\n tuiSlot: string | 'bottom' | 'top' = 'top';\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiResizeModule} from '@taiga-ui/cdk';\n\nimport {TuiBadgedContentComponent} from './badged-content.component';\nimport {TuiBadgedContentDirective} from './badged-content.directive';\n\n@NgModule({\n imports: [CommonModule, TuiResizeModule],\n declarations: [TuiBadgedContentComponent, TuiBadgedContentDirective],\n exports: [TuiBadgedContentComponent, TuiBadgedContentDirective],\n})\nexport class TuiBadgedContentModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;MAQa,yBAAyB,CAAA;;uHAAzB,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,0DCRtC,8sBAyBA,EAAA,MAAA,EAAA,CAAA,ooBAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,aAAA,EAAA,OAAA,EAAA,CAAA,WAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;4FDjBa,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;;;MEFY,yBAAyB,CAAA;AAHtC,IAAA,WAAA,GAAA;QAKI,IAAO,CAAA,OAAA,GAA8B,KAAK,CAAC;AAC9C,KAAA;;uHAHY,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;2GAAzB,yBAAyB,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;4FAAzB,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAHrC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,WAAW;AACxB,iBAAA,CAAA;8BAGG,OAAO,EAAA,CAAA;sBADN,KAAK;;;MCMG,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,EAAE,yBAAyB,CAAA,EAAA,OAAA,EAAA,CADzD,YAAY,EAAE,eAAe,CAAA,EAAA,OAAA,EAAA,CAE7B,yBAAyB,EAAE,yBAAyB,CAAA,EAAA,CAAA,CAAA;AAErD,sBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,sBAAsB,EAJtB,OAAA,EAAA,CAAA,CAAC,YAAY,EAAE,eAAe,CAAC,CAAA,EAAA,CAAA,CAAA;4FAI/B,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBALlC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACN,oBAAA,OAAO,EAAE,CAAC,YAAY,EAAE,eAAe,CAAC;AACxC,oBAAA,YAAY,EAAE,CAAC,yBAAyB,EAAE,yBAAyB,CAAC;AACpE,oBAAA,OAAO,EAAE,CAAC,yBAAyB,EAAE,yBAAyB,CAAC;AAClE,iBAAA,CAAA;;;ACXD;;AAEG;;;;"}
1
+ {"version":3,"file":"taiga-ui-experimental-components-badged-content.js","sources":["../../../projects/experimental/components/badged-content/badged-content.component.ts","../../../projects/experimental/components/badged-content/badged-content.template.html","../../../projects/experimental/components/badged-content/badged-content.directive.ts","../../../projects/experimental/components/badged-content/badged-content.module.ts","../../../projects/experimental/components/badged-content/taiga-ui-experimental-components-badged-content.ts"],"sourcesContent":["import {ChangeDetectionStrategy, Component} from '@angular/core';\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","<ng-content></ng-content>\n\n<div\n #badgeTop\n class=\"t-badge t-badge_top\"\n [style.--t-badge-height.px]=\"badgeTop.offsetHeight\"\n (tuiResize)=\"(0)\"\n>\n <ng-content select=\"tui-badge-notification[tuiSlot='top']\"></ng-content>\n <div class=\"t-border\">\n <ng-content select=\"[tuiSlot='top']\"></ng-content>\n </div>\n</div>\n\n<div\n #badgeBottom\n class=\"t-badge t-badge_bottom\"\n [style.--t-badge-height.px]=\"badgeBottom.offsetHeight\"\n (tuiResize)=\"(0)\"\n>\n <ng-content select=\"tui-badge-notification[tuiSlot='bottom']\"></ng-content>\n <div class=\"t-border\">\n <ng-content select=\"[tuiSlot='bottom']\"></ng-content>\n </div>\n</div>\n","import {Directive, Input} from '@angular/core';\n\n@Directive({\n selector: '[tuiSlot]',\n})\nexport class TuiBadgedContentDirective {\n @Input()\n tuiSlot: string | 'bottom' | 'top' = 'top';\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiResizeModule} from '@taiga-ui/cdk';\n\nimport {TuiBadgedContentComponent} from './badged-content.component';\nimport {TuiBadgedContentDirective} from './badged-content.directive';\n\n@NgModule({\n imports: [CommonModule, TuiResizeModule],\n declarations: [TuiBadgedContentComponent, TuiBadgedContentDirective],\n exports: [TuiBadgedContentComponent, TuiBadgedContentDirective],\n})\nexport class TuiBadgedContentModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;MAQa,yBAAyB,CAAA;;uHAAzB,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,0DCRtC,8sBAyBA,EAAA,MAAA,EAAA,CAAA,4pBAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,aAAA,EAAA,OAAA,EAAA,CAAA,WAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;4FDjBa,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;;;MEFY,yBAAyB,CAAA;AAHtC,IAAA,WAAA,GAAA;QAKI,IAAO,CAAA,OAAA,GAA8B,KAAK,CAAC;AAC9C,KAAA;;uHAHY,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;2GAAzB,yBAAyB,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;4FAAzB,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAHrC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,WAAW;AACxB,iBAAA,CAAA;8BAGG,OAAO,EAAA,CAAA;sBADN,KAAK;;;MCMG,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,EAAE,yBAAyB,CAAA,EAAA,OAAA,EAAA,CADzD,YAAY,EAAE,eAAe,CAAA,EAAA,OAAA,EAAA,CAE7B,yBAAyB,EAAE,yBAAyB,CAAA,EAAA,CAAA,CAAA;AAErD,sBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,sBAAsB,EAJtB,OAAA,EAAA,CAAA,CAAC,YAAY,EAAE,eAAe,CAAC,CAAA,EAAA,CAAA,CAAA;4FAI/B,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBALlC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACN,oBAAA,OAAO,EAAE,CAAC,YAAY,EAAE,eAAe,CAAC;AACxC,oBAAA,YAAY,EAAE,CAAC,yBAAyB,EAAE,yBAAyB,CAAC;AACpE,oBAAA,OAAO,EAAE,CAAC,yBAAyB,EAAE,yBAAyB,CAAC;AAClE,iBAAA,CAAA;;;ACXD;;AAEG;;;;"}
@@ -1,12 +1,12 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { Component, ChangeDetectionStrategy, Inject, Input, HostListener, ViewEncapsulation, Directive, NgModule } from '@angular/core';
3
- import * as i2$1 from '@taiga-ui/cdk';
4
- import { tuiCreateToken, tuiProvideOptions, tuiIsString, TUI_PLATFORM, TuiDirectiveStylesService } from '@taiga-ui/cdk';
3
+ import * as i2 from '@taiga-ui/cdk';
4
+ import { tuiCreateToken, tuiProvideOptions, tuiIsString, TuiDirectiveStylesService } from '@taiga-ui/cdk';
5
5
  import * as i1 from '@taiga-ui/core';
6
6
  import { tuiSizeBigger, TUI_MODE, MODE_PROVIDER, TuiSvgModule, TuiLoaderModule } from '@taiga-ui/core';
7
- import * as i2 from '@angular/common';
8
- import { CommonModule } from '@angular/common';
7
+ import { TUI_ICON_RESOLVER } from '@taiga-ui/experimental/tokens';
9
8
  import * as i1$1 from 'rxjs';
9
+ import { CommonModule } from '@angular/common';
10
10
 
11
11
  const TUI_BUTTON_DEFAULT_OPTIONS = {
12
12
  size: `l`,
@@ -22,8 +22,6 @@ class TuiButtonComponent {
22
22
  this.options = options;
23
23
  this.size = this.options.size;
24
24
  this.loading = false;
25
- this.iconLeft = '';
26
- this.iconRight = '';
27
25
  }
28
26
  get loaderSize() {
29
27
  return tuiSizeBigger(this.size) ? 'm' : 's';
@@ -38,11 +36,11 @@ class TuiButtonComponent {
38
36
  }
39
37
  }
40
38
  TuiButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiButtonComponent, deps: [{ token: TUI_BUTTON_OPTIONS }], target: i0.ɵɵFactoryTarget.Component });
41
- TuiButtonComponent.ɵcmp = i0.ɵɵ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, 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.TuiSvgComponent, selector: "tui-svg", inputs: ["src"] }, { type: i1.TuiLoaderComponent, selector: "tui-loader", inputs: ["size", "inheritColor", "overlay", "textContent", "showLoader"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
39
+ TuiButtonComponent.ɵcmp = i0.ɵɵ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, 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.TuiLoaderComponent, selector: "tui-loader", inputs: ["size", "inheritColor", "overlay", "textContent", "showLoader"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
42
40
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiButtonComponent, decorators: [{
43
41
  type: Component,
44
42
  args: [{
45
- selector: '[tuiButton][loading],[tuiIconButton][loading],[tuiButton][iconLeft],[tuiButton][iconRight],[tuiIconButton][iconLeft]',
43
+ selector: '[tuiButton][loading],[tuiIconButton][loading]',
46
44
  templateUrl: './button.template.html',
47
45
  changeDetection: ChangeDetectionStrategy.OnPush,
48
46
  host: {
@@ -57,10 +55,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
57
55
  type: Input
58
56
  }], loading: [{
59
57
  type: Input
60
- }], iconLeft: [{
61
- type: Input
62
- }], iconRight: [{
63
- type: Input
64
58
  }], onClick: [{
65
59
  type: HostListener,
66
60
  args: ['click.capture', ['$event']]
@@ -69,7 +63,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
69
63
  class TuiButtonStylesComponent {
70
64
  }
71
65
  TuiButtonStylesComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiButtonStylesComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
72
- TuiButtonStylesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiButtonStylesComponent, selector: "ng-component", host: { classAttribute: "tui-button-styles" }, ngImport: i0, 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.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
66
+ TuiButtonStylesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiButtonStylesComponent, selector: "ng-component", host: { classAttribute: "tui-button-styles" }, ngImport: i0, 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.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
73
67
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiButtonStylesComponent, decorators: [{
74
68
  type: Component,
75
69
  args: [{
@@ -83,17 +77,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
83
77
  }]
84
78
  }] });
85
79
  class TuiButtonDirective {
86
- constructor(options, platform, mode$, directiveStyles) {
80
+ constructor(resolver, options, mode$, directiveStyles) {
81
+ this.resolver = resolver;
87
82
  this.options = options;
88
- this.platform = platform;
89
83
  this.mode$ = mode$;
90
84
  this.size = this.options.size;
91
85
  this.appearance = this.options.appearance;
86
+ this.iconLeft = '';
87
+ this.iconRight = '';
92
88
  directiveStyles.addComponent(TuiButtonStylesComponent);
93
89
  }
94
90
  }
95
- TuiButtonDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiButtonDirective, deps: [{ token: TUI_BUTTON_OPTIONS }, { token: TUI_PLATFORM }, { token: TUI_MODE }, { token: TuiDirectiveStylesService }], target: i0.ɵɵFactoryTarget.Directive });
96
- TuiButtonDirective.ɵdir = i0.ɵɵ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: [MODE_PROVIDER], ngImport: i0 });
91
+ TuiButtonDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiButtonDirective, deps: [{ token: TUI_ICON_RESOLVER }, { token: TUI_BUTTON_OPTIONS }, { token: TUI_MODE }, { token: TuiDirectiveStylesService }], target: i0.ɵɵFactoryTarget.Directive });
92
+ TuiButtonDirective.ɵdir = i0.ɵɵ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: [MODE_PROVIDER], ngImport: i0 });
97
93
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiButtonDirective, decorators: [{
98
94
  type: Directive,
99
95
  args: [{
@@ -101,29 +97,36 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
101
97
  providers: [MODE_PROVIDER],
102
98
  host: {
103
99
  tuiButtonNew: '',
104
- tuiWrapper: '',
100
+ tuiAppearance: '',
101
+ '[class._icon-left]': 'iconLeft',
102
+ '[class._icon-right]': 'iconRight',
103
+ '[style.--t-mask-left]': '"url(" + resolver(iconLeft) + ")"',
104
+ '[style.--t-mask-right]': '"url(" + resolver(iconRight) + ")"',
105
105
  '[attr.data-size]': 'size',
106
106
  '[attr.data-appearance]': 'appearance',
107
- '[attr.data-platform]': 'platform',
108
107
  '($.data-mode.attr)': 'mode$',
109
108
  },
110
109
  }]
111
110
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
112
111
  type: Inject,
113
- args: [TUI_BUTTON_OPTIONS]
112
+ args: [TUI_ICON_RESOLVER]
114
113
  }] }, { type: undefined, decorators: [{
115
114
  type: Inject,
116
- args: [TUI_PLATFORM]
115
+ args: [TUI_BUTTON_OPTIONS]
117
116
  }] }, { type: i1$1.Observable, decorators: [{
118
117
  type: Inject,
119
118
  args: [TUI_MODE]
120
- }] }, { type: i2$1.TuiDirectiveStylesService, decorators: [{
119
+ }] }, { type: i2.TuiDirectiveStylesService, decorators: [{
121
120
  type: Inject,
122
121
  args: [TuiDirectiveStylesService]
123
122
  }] }]; }, propDecorators: { size: [{
124
123
  type: Input
125
124
  }], appearance: [{
126
125
  type: Input
126
+ }], iconLeft: [{
127
+ type: Input
128
+ }], iconRight: [{
129
+ type: Input
127
130
  }] } });
128
131
 
129
132
  class TuiButtonModule {
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-experimental-components-button.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":[],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-experimental-components-button.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":[],"mappings":";;;;;;;;;;AASa,MAAA,0BAA0B,GAAqB;AACxD,IAAA,IAAI,EAAE,CAAG,CAAA,CAAA;AACT,IAAA,UAAU,EAAE,CAAS,OAAA,CAAA;EACvB;MAEW,kBAAkB,GAAG,cAAc,CAAC,0BAA0B,EAAE;AAEvE,SAAU,wBAAwB,CAAC,OAAkC,EAAA;IACvE,OAAO,iBAAiB,CAAC,kBAAkB,EAAE,OAAO,EAAE,0BAA0B,CAAC,CAAC;AACtF;;MCGa,kBAAkB,CAAA;AAO3B,IAAA,WAAA,CAAyD,OAAyB,EAAA;QAAzB,IAAO,CAAA,OAAA,GAAP,OAAO,CAAkB;AALlF,QAAA,IAAA,CAAA,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;QAGzB,IAAO,CAAA,OAAA,GAA4B,KAAK,CAAC;KAE6C;AAEtF,IAAA,IAAI,UAAU,GAAA;AACV,QAAA,OAAO,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC;KAC/C;AAED,IAAA,IAAI,KAAK,GAAA;AACL,QAAA,OAAO,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;KACxD;AAGD,IAAA,OAAO,CAAC,KAAiB,EAAA;QACrB,IAAI,IAAI,CAAC,OAAO,EAAE;YACd,KAAK,CAAC,eAAe,EAAE,CAAC;AAC3B,SAAA;KACJ;;AAtBQ,kBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,kBAOP,kBAAkB,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAP7B,kBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,kBAAkB,8QCrB/B,sPAUA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,cAAA,EAAA,SAAA,EAAA,aAAA,EAAA,YAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;4FDWa,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAT9B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,+CAA+C;AACzD,oBAAA,WAAW,EAAE,wBAAwB;oBACrC,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC/C,oBAAA,IAAI,EAAE;AACF,wBAAA,sBAAsB,EAAE,SAAS;AACjC,wBAAA,kBAAkB,EAAE,SAAS;AAChC,qBAAA;AACJ,iBAAA,CAAA;;0BAQgB,MAAM;2BAAC,kBAAkB,CAAA;4CALtC,IAAI,EAAA,CAAA;sBADH,KAAK;gBAIN,OAAO,EAAA,CAAA;sBADN,KAAK;gBAcN,OAAO,EAAA,CAAA;sBADN,YAAY;uBAAC,eAAe,EAAE,CAAC,QAAQ,CAAC,CAAA;;;MEdhC,wBAAwB,CAAA;;sHAAxB,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAxB,wBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,wBAAwB,mGARvB,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,2wFAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;4FAQH,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBATpC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,EAAE;oBACZ,SAAS,EAAE,CAAC,qBAAqB,CAAC;oBAClC,aAAa,EAAE,iBAAiB,CAAC,IAAI;oBACrC,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC/C,oBAAA,IAAI,EAAE;AACF,wBAAA,KAAK,EAAE,mBAAmB;AAC7B,qBAAA;AACJ,iBAAA,CAAA;;MAkBY,kBAAkB,CAAA;AAa3B,IAAA,WAAA,CACwC,QAAkC,EACzB,OAAyB,EAC3C,KAAuC,EAC/B,eAA0C,EAAA;QAHzC,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAA0B;QACzB,IAAO,CAAA,OAAA,GAAP,OAAO,CAAkB;QAC3C,IAAK,CAAA,KAAA,GAAL,KAAK,CAAkC;AAdtE,QAAA,IAAA,CAAA,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;AAGzB,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;QAGrC,IAAQ,CAAA,QAAA,GAAG,EAAE,CAAC;QAGd,IAAS,CAAA,SAAA,GAAG,EAAE,CAAC;AAQX,QAAA,eAAe,CAAC,YAAY,CAAC,wBAAwB,CAAC,CAAC;KAC1D;;AApBQ,kBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,kBAcf,iBAAiB,EAAA,EAAA,EAAA,KAAA,EACjB,kBAAkB,EAClB,EAAA,EAAA,KAAA,EAAA,QAAQ,aACR,yBAAyB,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;oGAjB5B,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,CAAC,aAAa,CAAC,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;4FAajB,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAf9B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,uEAAuE;oBACjF,SAAS,EAAE,CAAC,aAAa,CAAC;AAC1B,oBAAA,IAAI,EAAE;AACF,wBAAA,YAAY,EAAE,EAAE;AAChB,wBAAA,aAAa,EAAE,EAAE;AACjB,wBAAA,oBAAoB,EAAE,UAAU;AAChC,wBAAA,qBAAqB,EAAE,WAAW;AAClC,wBAAA,uBAAuB,EAAE,mCAAmC;AAC5D,wBAAA,wBAAwB,EAAE,oCAAoC;AAC9D,wBAAA,kBAAkB,EAAE,MAAM;AAC1B,wBAAA,wBAAwB,EAAE,YAAY;AACtC,wBAAA,oBAAoB,EAAE,OAAO;AAChC,qBAAA;AACJ,iBAAA,CAAA;;0BAeQ,MAAM;2BAAC,iBAAiB,CAAA;;0BACxB,MAAM;2BAAC,kBAAkB,CAAA;;0BACzB,MAAM;2BAAC,QAAQ,CAAA;;0BACf,MAAM;2BAAC,yBAAyB,CAAA;4CAfrC,IAAI,EAAA,CAAA;sBADH,KAAK;gBAIN,UAAU,EAAA,CAAA;sBADT,KAAK;gBAIN,QAAQ,EAAA,CAAA;sBADP,KAAK;gBAIN,SAAS,EAAA,CAAA;sBADR,KAAK;;;MCvCG,eAAe,CAAA;;6GAAf,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAf,eAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,EAHT,YAAA,EAAA,CAAA,kBAAkB,EAAE,kBAAkB,EAAE,wBAAwB,CAAA,EAAA,OAAA,EAAA,CADrE,YAAY,EAAE,YAAY,EAAE,eAAe,CAE3C,EAAA,OAAA,EAAA,CAAA,kBAAkB,EAAE,kBAAkB,CAAA,EAAA,CAAA,CAAA;AAEvC,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,YAAY,EAAE,eAAe,CAAC,CAAA,EAAA,CAAA,CAAA;4FAI7C,eAAe,EAAA,UAAA,EAAA,CAAA;kBAL3B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACN,oBAAA,OAAO,EAAE,CAAC,YAAY,EAAE,YAAY,EAAE,eAAe,CAAC;AACtD,oBAAA,YAAY,EAAE,CAAC,kBAAkB,EAAE,kBAAkB,EAAE,wBAAwB,CAAC;AAChF,oBAAA,OAAO,EAAE,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;AACpD,iBAAA,CAAA;;;ACXD;;AAEG;;;;"}
@@ -1,9 +1,9 @@
1
1
  import * as i0 from '@angular/core';
2
- import { ChangeDetectorRef, ElementRef, Component, ChangeDetectionStrategy, Inject, Self, Optional, Input, HostBinding, NgModule } from '@angular/core';
2
+ import { ChangeDetectorRef, ElementRef, Component, ChangeDetectionStrategy, Inject, Self, Optional, Input, NgModule } from '@angular/core';
3
3
  import * as i2 from '@angular/forms';
4
4
  import { NgControl } from '@angular/forms';
5
- import { tuiCreateToken, tuiProvideOptions, tuiIsString, tuiControlValue, tuiWatch, TUI_BASE_HREF, TuiDestroyService, TUI_PLATFORM } from '@taiga-ui/cdk';
6
- import { TUI_SVG_OPTIONS, TUI_MODE, MODE_PROVIDER } from '@taiga-ui/core';
5
+ import { tuiCreateToken, tuiProvideOptions, tuiIsString, tuiControlValue, tuiWatch, TuiDestroyService } from '@taiga-ui/cdk';
6
+ import { TUI_ICON_RESOLVER } from '@taiga-ui/experimental/tokens';
7
7
  import { distinctUntilChanged, takeUntil } from 'rxjs/operators';
8
8
  import * as i1 from 'rxjs';
9
9
 
@@ -20,15 +20,12 @@ function tuiCheckboxOptionsProvider(options) {
20
20
  }
21
21
 
22
22
  class TuiCheckboxComponent {
23
- constructor(cdr, baseHref, svg, options, destroy$, el, mode$, platform, control) {
23
+ constructor(cdr, resolver, options, destroy$, el, control) {
24
24
  this.cdr = cdr;
25
- this.baseHref = baseHref;
26
- this.svg = svg;
25
+ this.resolver = resolver;
27
26
  this.options = options;
28
27
  this.destroy$ = destroy$;
29
28
  this.el = el;
30
- this.mode$ = mode$;
31
- this.platform = platform;
32
29
  this.control = control;
33
30
  this.size = this.options.size;
34
31
  }
@@ -37,8 +34,7 @@ class TuiCheckboxComponent {
37
34
  ? this.options.icons.indeterminate
38
35
  : this.options.icons.checked;
39
36
  const icon = tuiIsString(option) ? option : option(this.size);
40
- const mask = icon.includes('/') ? icon : this.svg.path(icon, this.baseHref);
41
- return `url(${mask})`;
37
+ return `url(${this.resolver(icon)})`;
42
38
  }
43
39
  ngOnInit() {
44
40
  var _a;
@@ -52,8 +48,8 @@ class TuiCheckboxComponent {
52
48
  });
53
49
  }
54
50
  }
55
- TuiCheckboxComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiCheckboxComponent, deps: [{ token: ChangeDetectorRef }, { token: TUI_BASE_HREF }, { token: TUI_SVG_OPTIONS }, { token: TUI_CHECKBOX_OPTIONS }, { token: TuiDestroyService, self: true }, { token: ElementRef }, { token: TUI_MODE }, { token: TUI_PLATFORM }, { token: NgControl, optional: true }], target: i0.ɵɵFactoryTarget.Component });
56
- TuiCheckboxComponent.ɵcmp = i0.ɵɵ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: [MODE_PROVIDER, TuiDestroyService], ngImport: i0, 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.ChangeDetectionStrategy.OnPush });
51
+ TuiCheckboxComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiCheckboxComponent, deps: [{ token: ChangeDetectorRef }, { token: TUI_ICON_RESOLVER }, { token: TUI_CHECKBOX_OPTIONS }, { token: TuiDestroyService, self: true }, { token: ElementRef }, { token: NgControl, optional: true }], target: i0.ɵɵFactoryTarget.Component });
52
+ TuiCheckboxComponent.ɵcmp = i0.ɵɵ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: [TuiDestroyService], ngImport: i0, 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.ChangeDetectionStrategy.OnPush });
57
53
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiCheckboxComponent, decorators: [{
58
54
  type: Component,
59
55
  args: [{
@@ -61,14 +57,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
61
57
  template: '',
62
58
  styleUrls: ['./checkbox.style.less'],
63
59
  changeDetection: ChangeDetectionStrategy.OnPush,
64
- providers: [MODE_PROVIDER, TuiDestroyService],
60
+ providers: [TuiDestroyService],
65
61
  host: {
66
- '($.data-mode.attr)': 'mode$',
62
+ tuiAppearance: '',
67
63
  '[disabled]': '!control || control.disabled',
68
64
  '[attr.data-size]': 'size',
69
- '[attr.data-platform]': 'platform',
70
65
  '[class._invalid]': 'control?.invalid && control?.touched',
71
66
  '[class._readonly]': '!control',
67
+ '[style.--t-mask]': 'icon',
72
68
  },
73
69
  }]
74
70
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef, decorators: [{
@@ -76,10 +72,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
76
72
  args: [ChangeDetectorRef]
77
73
  }] }, { type: undefined, decorators: [{
78
74
  type: Inject,
79
- args: [TUI_BASE_HREF]
80
- }] }, { type: undefined, decorators: [{
81
- type: Inject,
82
- args: [TUI_SVG_OPTIONS]
75
+ args: [TUI_ICON_RESOLVER]
83
76
  }] }, { type: undefined, decorators: [{
84
77
  type: Inject,
85
78
  args: [TUI_CHECKBOX_OPTIONS]
@@ -91,12 +84,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
91
84
  }] }, { type: i0.ElementRef, decorators: [{
92
85
  type: Inject,
93
86
  args: [ElementRef]
94
- }] }, { type: i1.Observable, decorators: [{
95
- type: Inject,
96
- args: [TUI_MODE]
97
- }] }, { type: undefined, decorators: [{
98
- type: Inject,
99
- args: [TUI_PLATFORM]
100
87
  }] }, { type: i2.NgControl, decorators: [{
101
88
  type: Optional
102
89
  }, {
@@ -104,9 +91,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
104
91
  args: [NgControl]
105
92
  }] }]; }, propDecorators: { size: [{
106
93
  type: Input
107
- }], icon: [{
108
- type: HostBinding,
109
- args: ['style.--t-mask']
110
94
  }] } });
111
95
 
112
96
  class TuiCheckboxModule {
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-experimental-components-checkbox.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":[],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-experimental-components-checkbox.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":[],"mappings":"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"}
@@ -1,64 +1,49 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Component, ChangeDetectionStrategy, Input, Pipe, Inject, NgModule } from '@angular/core';
3
- import { tuiCreateTokenFromFactory } from '@taiga-ui/cdk';
2
+ import { Component, ChangeDetectionStrategy, Inject, Input, NgModule } from '@angular/core';
3
+ import { TUI_ICON_RESOLVER } from '@taiga-ui/experimental/tokens';
4
4
 
5
5
  class TuiIconComponent {
6
- constructor() {
6
+ constructor(resolver) {
7
+ this.resolver = resolver;
7
8
  this.icon = '';
9
+ this.background = '';
8
10
  }
9
11
  }
10
- TuiIconComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
11
- TuiIconComponent.ɵcmp = i0.ɵɵ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, 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.ChangeDetectionStrategy.OnPush });
12
+ TuiIconComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiIconComponent, deps: [{ token: TUI_ICON_RESOLVER }], target: i0.ɵɵFactoryTarget.Component });
13
+ TuiIconComponent.ɵcmp = i0.ɵɵ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, 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.ChangeDetectionStrategy.OnPush });
12
14
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiIconComponent, decorators: [{
13
15
  type: Component,
14
16
  args: [{
15
17
  selector: 'tui-icon',
16
18
  template: '',
17
- host: { '[style.--t-mask]': '"url(" + icon + ")"' },
19
+ host: {
20
+ '[class._duo]': 'background',
21
+ '[style.--t-mask]': '"url(" + resolver(icon) + ")"',
22
+ // TODO: remove Outline hack in 4.0
23
+ '[style.--t-mask-bg]': 'background ? "url(" + resolver(background).replace("Outline", "") + ")" : null',
24
+ },
18
25
  styleUrls: ['./icon.style.less'],
19
26
  changeDetection: ChangeDetectionStrategy.OnPush,
20
27
  }]
21
- }], propDecorators: { icon: [{
22
- type: Input
23
- }] } });
24
-
25
- const TUI_ICON_RESOLVER = tuiCreateTokenFromFactory(() => icon => `/assets/taiga-ui/icons/${icon}.svg`);
26
- function tuiIconResolverProvider(useValue) {
27
- return {
28
- provide: TUI_ICON_RESOLVER,
29
- useValue,
30
- };
31
- }
32
- class TuiIconPipe {
33
- constructor(resolver) {
34
- this.resolver = resolver;
35
- }
36
- transform(icon) {
37
- return this.resolver(icon);
38
- }
39
- }
40
- TuiIconPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiIconPipe, deps: [{ token: TUI_ICON_RESOLVER }], target: i0.ɵɵFactoryTarget.Pipe });
41
- TuiIconPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiIconPipe, name: "tuiIcon" });
42
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiIconPipe, decorators: [{
43
- type: Pipe,
44
- args: [{
45
- name: `tuiIcon`,
46
- }]
47
28
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
48
29
  type: Inject,
49
30
  args: [TUI_ICON_RESOLVER]
50
- }] }]; } });
31
+ }] }]; }, propDecorators: { icon: [{
32
+ type: Input
33
+ }], background: [{
34
+ type: Input
35
+ }] } });
51
36
 
52
37
  class TuiIconModule {
53
38
  }
54
39
  TuiIconModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiIconModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
55
- TuiIconModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiIconModule, declarations: [TuiIconComponent, TuiIconPipe], exports: [TuiIconComponent, TuiIconPipe] });
40
+ TuiIconModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiIconModule, declarations: [TuiIconComponent], exports: [TuiIconComponent] });
56
41
  TuiIconModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiIconModule });
57
42
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiIconModule, decorators: [{
58
43
  type: NgModule,
59
44
  args: [{
60
- declarations: [TuiIconComponent, TuiIconPipe],
61
- exports: [TuiIconComponent, TuiIconPipe],
45
+ declarations: [TuiIconComponent],
46
+ exports: [TuiIconComponent],
62
47
  }]
63
48
  }] });
64
49
 
@@ -66,5 +51,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
66
51
  * Generated bundle index. Do not edit.
67
52
  */
68
53
 
69
- export { TUI_ICON_RESOLVER, TuiIconComponent, TuiIconModule, TuiIconPipe, tuiIconResolverProvider };
54
+ export { TuiIconComponent, TuiIconModule };
70
55
  //# sourceMappingURL=taiga-ui-experimental-components-icon.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-experimental-components-icon.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":[],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-experimental-components-icon.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":[],"mappings":";;;;MAiBa,gBAAgB,CAAA;AAOzB,IAAA,WAAA,CAAgD,QAAkC,EAAA;QAAlC,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAA0B;QALlF,IAAI,CAAA,IAAA,GAAG,EAAE,CAAC;QAGV,IAAU,CAAA,UAAA,GAAG,EAAE,CAAC;KAEsE;;AAP7E,gBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gBAAgB,kBAOL,iBAAiB,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAP5B,gBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,gBAAgB,gUAXf,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,kaAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;4FAWH,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAb5B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,UAAU;AACpB,oBAAA,QAAQ,EAAE,EAAE;AACZ,oBAAA,IAAI,EAAE;AACF,wBAAA,cAAc,EAAE,YAAY;AAC5B,wBAAA,kBAAkB,EAAE,+BAA+B;;AAEnD,wBAAA,qBAAqB,EACjB,gFAAgF;AACvF,qBAAA;oBACD,SAAS,EAAE,CAAC,mBAAmB,CAAC;oBAChC,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAClD,iBAAA,CAAA;;0BAQgB,MAAM;2BAAC,iBAAiB,CAAA;4CALrC,IAAI,EAAA,CAAA;sBADH,KAAK;gBAIN,UAAU,EAAA,CAAA;sBADT,KAAK;;;MCbG,aAAa,CAAA;;2GAAb,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;4GAAb,aAAa,EAAA,YAAA,EAAA,CAHP,gBAAgB,CAAA,EAAA,OAAA,EAAA,CACrB,gBAAgB,CAAA,EAAA,CAAA,CAAA;4GAEjB,aAAa,EAAA,CAAA,CAAA;4FAAb,aAAa,EAAA,UAAA,EAAA,CAAA;kBAJzB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACN,YAAY,EAAE,CAAC,gBAAgB,CAAC;oBAChC,OAAO,EAAE,CAAC,gBAAgB,CAAC;AAC9B,iBAAA,CAAA;;;ACPD;;AAEG;;;;"}
@@ -1,21 +1,16 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Component, ChangeDetectionStrategy, Inject, Optional, Input, NgModule } from '@angular/core';
3
- import * as i2 from '@angular/forms';
2
+ import { Component, ChangeDetectionStrategy, Optional, Inject, Input, NgModule } from '@angular/core';
3
+ import * as i1 from '@angular/forms';
4
4
  import { NgControl } from '@angular/forms';
5
- import { TUI_PLATFORM } from '@taiga-ui/cdk';
6
- import { TUI_MODE, MODE_PROVIDER } from '@taiga-ui/core';
7
- import * as i1 from 'rxjs';
8
5
 
9
6
  class TuiRadioComponent {
10
- constructor(mode$, platform, control) {
11
- this.mode$ = mode$;
12
- this.platform = platform;
7
+ constructor(control) {
13
8
  this.control = control;
14
9
  this.size = 'm';
15
10
  }
16
11
  }
17
- TuiRadioComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiRadioComponent, deps: [{ token: TUI_MODE }, { token: TUI_PLATFORM }, { token: NgControl, optional: true }], target: i0.ɵɵFactoryTarget.Component });
18
- TuiRadioComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiRadioComponent, selector: "input[type=\"radio\"][tuiRadio]", 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" } }, providers: [MODE_PROVIDER], ngImport: i0, template: '', isInline: true, styles: [":host{transition-property:background,box-shadow;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;--t-size: 1.5rem;position:relative;width:var(--t-size);height:var(--t-size);-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;margin:0;border-radius:100%;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:after{position:absolute;top:0;left:0;width:100%;height:100%;transition-property:transform;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;content:\"\";border-radius:100%;background:currentColor;transform:scale(0)}:host:checked:after{transform:scale(.5)}: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%;box-shadow:inset 0 0 0 .0625rem var(--tui-base-04);color:var(--tui-base-01);transition:none}:host[data-platform=ios]:checked{background:var(--tui-accent);box-shadow:none}:host[data-platform=ios]:checked:disabled:not(._readonly){background:var(--tui-base-04)}:host[data-platform=ios]:checked:before{position:absolute;top:0;left:0;width:100%;height:100%;content:\"\";background:var(--tui-base-01);-webkit-mask-image: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>');mask-image: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>');-webkit-mask-size:100%;mask-size:100%}:host[data-platform=ios]:checked._invalid{background:var(--tui-error-fill)}:host[data-platform=ios]:after{display:none}:host[data-platform=android]{transition-property:color;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;--t-size: 1.125rem;box-shadow:inset 0 0 0 .125rem;color:var(--tui-base-04)}:host[data-platform=android]:disabled:not(._readonly){color:var(--tui-base-04)}:host[data-platform=android]:checked{color:var(--tui-accent)}:host[data-platform=android]:checked:after{transform:scale(.555)}:host[data-platform=android]._invalid{color:var(--tui-error-bg-hover)}:host[data-platform=android]._invalid:checked{color:var(--tui-error-fill)}:host[data-platform=web]{color:var(--tui-primary-text)}:host[data-platform=web][data-size=s]{--t-size: 1rem}:host[data-platform=web]:checked{box-shadow:none;background:var(--tui-primary)}:host[data-platform=web]:checked:hover{background:var(--tui-primary-hover)}:host[data-platform=web]:checked:active{background:var(--tui-primary-active)}:host[data-platform=web]._invalid:checked{background:var(--tui-error-fill)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
12
+ TuiRadioComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiRadioComponent, deps: [{ token: NgControl, optional: true }], target: i0.ɵɵFactoryTarget.Component });
13
+ TuiRadioComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiRadioComponent, selector: "input[type=\"radio\"][tuiRadio]", inputs: { size: "size" }, host: { attributes: { "tuiAppearance": "" }, properties: { "disabled": "!control || control.disabled", "attr.data-size": "size", "class._invalid": "control?.invalid && control?.touched", "class._readonly": "!control" } }, ngImport: i0, template: '', isInline: true, styles: [":host{transition-property:background,box-shadow;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;width:var(--t-size);height:var(--t-size);cursor:pointer;margin:0;border-radius:100%;box-shadow:inset 0 0 0 .0625rem var(--tui-clear-active);color:var(--tui-primary-text);--t-size: 1.5rem}:host:disabled._readonly{opacity:1}:host:before{position:absolute;top:0;left:0;width:100%;height:100%;transition-property:transform;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;content:\"\";border-radius:100%;background:currentColor;transform:scale(0)}:host:checked{box-shadow:none;background:var(--tui-primary)}:host:checked:hover{background:var(--tui-primary-hover)}:host:checked:active{background:var(--tui-primary-active)}:host:checked:before{transform:scale(.5)}:host[data-size=s]{--t-size: 1rem}:host._invalid{box-shadow:inset 0 0 0 .0625rem var(--tui-error-bg-hover)}:host._invalid:checked{background:var(--tui-error-fill)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
19
14
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiRadioComponent, decorators: [{
20
15
  type: Component,
21
16
  args: [{
@@ -23,23 +18,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
23
18
  template: '',
24
19
  styleUrls: ['./radio.style.less'],
25
20
  changeDetection: ChangeDetectionStrategy.OnPush,
26
- providers: [MODE_PROVIDER],
27
21
  host: {
28
- '($.data-mode.attr)': 'mode$',
22
+ tuiAppearance: '',
29
23
  '[disabled]': '!control || control.disabled',
30
24
  '[attr.data-size]': 'size',
31
- '[attr.data-platform]': 'platform',
32
25
  '[class._invalid]': 'control?.invalid && control?.touched',
33
26
  '[class._readonly]': '!control',
34
27
  },
35
28
  }]
36
- }], ctorParameters: function () { return [{ type: i1.Observable, decorators: [{
37
- type: Inject,
38
- args: [TUI_MODE]
39
- }] }, { type: undefined, decorators: [{
40
- type: Inject,
41
- args: [TUI_PLATFORM]
42
- }] }, { type: i2.NgControl, decorators: [{
29
+ }], ctorParameters: function () { return [{ type: i1.NgControl, decorators: [{
43
30
  type: Optional
44
31
  }, {
45
32
  type: Inject,