@taiga-ui/legacy 4.52.0-canary.a4e325d → 4.52.0-canary.bf9131e

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 (232) hide show
  1. package/components/dialog/dialog.component.d.ts +20 -0
  2. package/components/dialog/dialog.directive.d.ts +7 -0
  3. package/components/dialog/dialog.factory.d.ts +16 -0
  4. package/components/dialog/dialog.interfaces.d.ts +31 -0
  5. package/components/dialog/dialog.service.d.ts +7 -0
  6. package/components/dialog/dialog.tokens.d.ts +8 -0
  7. package/components/dialog/index.d.ts +6 -0
  8. package/components/index.d.ts +2 -16
  9. package/components/input/input.module.d.ts +1 -1
  10. package/components/input-date-range/input-date-range.module.d.ts +1 -1
  11. package/components/input-date-time/input-date-time.component.d.ts +4 -3
  12. package/components/input-date-time/input-date-time.module.d.ts +1 -1
  13. package/components/input-month-range/input-month-range.module.d.ts +1 -1
  14. package/components/input-range/input-range.component.d.ts +1 -1
  15. package/components/input-tag/input-tag.module.d.ts +1 -1
  16. package/components/multi-select/multi-select-group/multi-select-group.component.d.ts +1 -1
  17. package/components/multi-select/multi-select.module.d.ts +1 -1
  18. package/components/pdf-viewer/index.d.ts +4 -0
  19. package/components/pdf-viewer/pdf-viewer.component.d.ts +12 -0
  20. package/components/pdf-viewer/pdf-viewer.directive.d.ts +7 -0
  21. package/components/pdf-viewer/pdf-viewer.options.d.ts +13 -0
  22. package/components/pdf-viewer/pdf-viewer.service.d.ts +13 -0
  23. package/components/select/select.module.d.ts +1 -1
  24. package/fesm2022/taiga-ui-legacy-classes.mjs +21 -21
  25. package/fesm2022/taiga-ui-legacy-classes.mjs.map +1 -1
  26. package/fesm2022/taiga-ui-legacy-components-arrow.mjs +3 -3
  27. package/fesm2022/taiga-ui-legacy-components-arrow.mjs.map +1 -1
  28. package/fesm2022/taiga-ui-legacy-components-dialog.mjs +129 -0
  29. package/fesm2022/taiga-ui-legacy-components-dialog.mjs.map +1 -0
  30. package/fesm2022/taiga-ui-legacy-components-input-date-range.mjs +26 -26
  31. package/fesm2022/taiga-ui-legacy-components-input-date-range.mjs.map +1 -1
  32. package/fesm2022/taiga-ui-legacy-components-input-date-time.mjs +29 -29
  33. package/fesm2022/taiga-ui-legacy-components-input-date-time.mjs.map +1 -1
  34. package/fesm2022/taiga-ui-legacy-components-input-month-range.mjs +12 -12
  35. package/fesm2022/taiga-ui-legacy-components-input-month-range.mjs.map +1 -1
  36. package/fesm2022/taiga-ui-legacy-components-input-number.mjs +21 -21
  37. package/fesm2022/taiga-ui-legacy-components-input-number.mjs.map +1 -1
  38. package/fesm2022/taiga-ui-legacy-components-input-range.mjs +25 -25
  39. package/fesm2022/taiga-ui-legacy-components-input-range.mjs.map +1 -1
  40. package/fesm2022/taiga-ui-legacy-components-input-slider.mjs +18 -19
  41. package/fesm2022/taiga-ui-legacy-components-input-slider.mjs.map +1 -1
  42. package/fesm2022/taiga-ui-legacy-components-input-tag.mjs +22 -22
  43. package/fesm2022/taiga-ui-legacy-components-input-tag.mjs.map +1 -1
  44. package/fesm2022/taiga-ui-legacy-components-input.mjs +14 -15
  45. package/fesm2022/taiga-ui-legacy-components-input.mjs.map +1 -1
  46. package/fesm2022/taiga-ui-legacy-components-multi-select-option.mjs +7 -7
  47. package/fesm2022/taiga-ui-legacy-components-multi-select-option.mjs.map +1 -1
  48. package/fesm2022/taiga-ui-legacy-components-multi-select.mjs +48 -48
  49. package/fesm2022/taiga-ui-legacy-components-multi-select.mjs.map +1 -1
  50. package/fesm2022/taiga-ui-legacy-components-pdf-viewer.mjs +82 -0
  51. package/fesm2022/taiga-ui-legacy-components-pdf-viewer.mjs.map +1 -0
  52. package/fesm2022/taiga-ui-legacy-components-primitive-textfield.mjs +28 -28
  53. package/fesm2022/taiga-ui-legacy-components-primitive-textfield.mjs.map +1 -1
  54. package/fesm2022/taiga-ui-legacy-components-select-option.mjs +8 -8
  55. package/fesm2022/taiga-ui-legacy-components-select-option.mjs.map +1 -1
  56. package/fesm2022/taiga-ui-legacy-components-select.mjs +33 -34
  57. package/fesm2022/taiga-ui-legacy-components-select.mjs.map +1 -1
  58. package/fesm2022/taiga-ui-legacy-components-tag.mjs +13 -14
  59. package/fesm2022/taiga-ui-legacy-components-tag.mjs.map +1 -1
  60. package/fesm2022/taiga-ui-legacy-components-textarea.mjs +23 -23
  61. package/fesm2022/taiga-ui-legacy-components-textarea.mjs.map +1 -1
  62. package/fesm2022/taiga-ui-legacy-components-tooltip.mjs +7 -7
  63. package/fesm2022/taiga-ui-legacy-components-tooltip.mjs.map +1 -1
  64. package/fesm2022/taiga-ui-legacy-components.mjs +2 -16
  65. package/fesm2022/taiga-ui-legacy-components.mjs.map +1 -1
  66. package/fesm2022/taiga-ui-legacy-directives-legacy-dropdown-open-monitor.mjs +3 -3
  67. package/fesm2022/taiga-ui-legacy-directives-legacy-dropdown-open-monitor.mjs.map +1 -1
  68. package/fesm2022/taiga-ui-legacy-directives-textfield-controller.mjs +34 -34
  69. package/fesm2022/taiga-ui-legacy-directives-textfield-controller.mjs.map +1 -1
  70. package/fesm2022/taiga-ui-legacy-directives-unfinished-validator.mjs +4 -5
  71. package/fesm2022/taiga-ui-legacy-directives-unfinished-validator.mjs.map +1 -1
  72. package/fesm2022/taiga-ui-legacy-directives-value-accessor.mjs +7 -7
  73. package/fesm2022/taiga-ui-legacy-directives-value-accessor.mjs.map +1 -1
  74. package/fesm2022/taiga-ui-legacy-directives-wrapper.mjs +7 -7
  75. package/fesm2022/taiga-ui-legacy-directives-wrapper.mjs.map +1 -1
  76. package/fesm2022/taiga-ui-legacy-tokens.mjs.map +1 -1
  77. package/fesm2022/taiga-ui-legacy-utils.mjs.map +1 -1
  78. package/fesm2022/taiga-ui-legacy.mjs +0 -2
  79. package/fesm2022/taiga-ui-legacy.mjs.map +1 -1
  80. package/index.d.ts +0 -2
  81. package/package.json +12 -88
  82. package/utils/icons-path-factory.d.ts +1 -1
  83. package/components/color-selector/color-edit/color-edit.component.d.ts +0 -18
  84. package/components/color-selector/color-edit/color-edit.module.d.ts +0 -21
  85. package/components/color-selector/color-picker/color-picker.component.d.ts +0 -22
  86. package/components/color-selector/color-picker/color-picker.module.d.ts +0 -14
  87. package/components/color-selector/color-selector.component.d.ts +0 -47
  88. package/components/color-selector/color-selector.module.d.ts +0 -24
  89. package/components/color-selector/color-selector.options.d.ts +0 -25
  90. package/components/color-selector/flat-picker/flat-picker.component.d.ts +0 -12
  91. package/components/color-selector/flat-picker/flat-picker.module.d.ts +0 -12
  92. package/components/color-selector/index.d.ts +0 -16
  93. package/components/color-selector/linear-multi-picker/linear-multi-picker.component.d.ts +0 -17
  94. package/components/color-selector/linear-multi-picker/linear-multi-picker.module.d.ts +0 -12
  95. package/components/color-selector/linear-picker/linear-picker.component.d.ts +0 -10
  96. package/components/color-selector/linear-picker/linear-picker.module.d.ts +0 -12
  97. package/components/color-selector/palette/palette.component.d.ts +0 -10
  98. package/components/color-selector/palette/palette.module.d.ts +0 -13
  99. package/components/color-selector/services/picker.service.d.ts +0 -15
  100. package/components/combo-box/combo-box-strict.directive.d.ts +0 -12
  101. package/components/combo-box/combo-box.component.d.ts +0 -52
  102. package/components/combo-box/combo-box.directive.d.ts +0 -13
  103. package/components/combo-box/combo-box.module.d.ts +0 -20
  104. package/components/combo-box/index.d.ts +0 -4
  105. package/components/input-color/index.d.ts +0 -2
  106. package/components/input-color/input-color.component.d.ts +0 -30
  107. package/components/input-color/input-color.module.d.ts +0 -17
  108. package/components/input-copy/index.d.ts +0 -4
  109. package/components/input-copy/input-copy.component.d.ts +0 -33
  110. package/components/input-copy/input-copy.directive.d.ts +0 -11
  111. package/components/input-copy/input-copy.module.d.ts +0 -18
  112. package/components/input-copy/input-copy.options.d.ts +0 -26
  113. package/components/input-date/index.d.ts +0 -3
  114. package/components/input-date/input-date.component.d.ts +0 -62
  115. package/components/input-date/input-date.directive.d.ts +0 -19
  116. package/components/input-date/input-date.module.d.ts +0 -24
  117. package/components/input-date/native-date/native-date.component.d.ts +0 -15
  118. package/components/input-date-multi/index.d.ts +0 -2
  119. package/components/input-date-multi/input-date-multi.component.d.ts +0 -66
  120. package/components/input-date-multi/input-date-multi.module.d.ts +0 -20
  121. package/components/input-month/index.d.ts +0 -3
  122. package/components/input-month/input-month.component.d.ts +0 -44
  123. package/components/input-month/input-month.directive.d.ts +0 -19
  124. package/components/input-month/input-month.module.d.ts +0 -19
  125. package/components/input-password/index.d.ts +0 -4
  126. package/components/input-password/input-password.component.d.ts +0 -33
  127. package/components/input-password/input-password.directive.d.ts +0 -15
  128. package/components/input-password/input-password.module.d.ts +0 -19
  129. package/components/input-password/input-password.options.d.ts +0 -25
  130. package/components/input-phone/index.d.ts +0 -4
  131. package/components/input-phone/input-phone.component.d.ts +0 -49
  132. package/components/input-phone/input-phone.directive.d.ts +0 -13
  133. package/components/input-phone/input-phone.module.d.ts +0 -12
  134. package/components/input-phone/input-phone.options.d.ts +0 -13
  135. package/components/input-phone/utils/complete-phone-insertion-preprocessor.d.ts +0 -9
  136. package/components/input-phone/utils/create-phone-mask-expression.d.ts +0 -7
  137. package/components/input-phone/utils/index.d.ts +0 -2
  138. package/components/input-phone-international/index.d.ts +0 -3
  139. package/components/input-phone-international/input-phone-international.component.d.ts +0 -43
  140. package/components/input-phone-international/input-phone-international.options.d.ts +0 -25
  141. package/components/input-phone-international/utils/extract-value-from-event.d.ts +0 -4
  142. package/components/input-time/index.d.ts +0 -4
  143. package/components/input-time/input-time.component.d.ts +0 -62
  144. package/components/input-time/input-time.directive.d.ts +0 -17
  145. package/components/input-time/input-time.module.d.ts +0 -23
  146. package/components/input-time/input-time.options.d.ts +0 -42
  147. package/components/input-time/native-time/native-time.component.d.ts +0 -12
  148. package/components/input-year/index.d.ts +0 -3
  149. package/components/input-year/input-year.component.d.ts +0 -36
  150. package/components/input-year/input-year.directive.d.ts +0 -14
  151. package/components/input-year/input-year.module.d.ts +0 -18
  152. package/components/island/index.d.ts +0 -1
  153. package/components/island/island.directive.d.ts +0 -20
  154. package/components/sheet/components/sheet/sheet.component.d.ts +0 -31
  155. package/components/sheet/components/sheet/sheet.providers.d.ts +0 -2
  156. package/components/sheet/components/sheet-bar/sheet-bar.component.d.ts +0 -11
  157. package/components/sheet/components/sheet-heading/sheet-heading.component.d.ts +0 -14
  158. package/components/sheet/components/sheets-host/sheets-host.component.d.ts +0 -15
  159. package/components/sheet/directives/sheet-close/sheet-close.directive.d.ts +0 -14
  160. package/components/sheet/directives/sheet-stop/sheet-stop.directive.d.ts +0 -9
  161. package/components/sheet/directives/sheet-top/sheet-top.directive.d.ts +0 -14
  162. package/components/sheet/directives/sheet-wrapper/sheet-wrapper.directive.d.ts +0 -17
  163. package/components/sheet/index.d.ts +0 -14
  164. package/components/sheet/sheet-options.d.ts +0 -27
  165. package/components/sheet/sheet-tokens.d.ts +0 -18
  166. package/components/sheet/sheet.d.ts +0 -21
  167. package/components/sheet/sheet.directive.d.ts +0 -17
  168. package/components/sheet/sheet.module.d.ts +0 -24
  169. package/components/sheet/sheet.service.d.ts +0 -17
  170. package/components/svg/content-processor.d.ts +0 -19
  171. package/components/svg/deprecated-icons.d.ts +0 -5
  172. package/components/svg/index.d.ts +0 -5
  173. package/components/svg/svg-options.d.ts +0 -50
  174. package/components/svg/svg.component.d.ts +0 -50
  175. package/components/svg/svg.service.d.ts +0 -21
  176. package/components/table-bar/index.d.ts +0 -4
  177. package/components/table-bar/table-bar.component.d.ts +0 -17
  178. package/components/table-bar/table-bar.directive.d.ts +0 -11
  179. package/components/table-bar/table-bar.options.d.ts +0 -31
  180. package/components/table-bar/table-bars-host.component.d.ts +0 -10
  181. package/components/table-bar/table-bars.service.d.ts +0 -11
  182. package/fesm2022/taiga-ui-legacy-components-color-selector.mjs +0 -730
  183. package/fesm2022/taiga-ui-legacy-components-color-selector.mjs.map +0 -1
  184. package/fesm2022/taiga-ui-legacy-components-combo-box.mjs +0 -301
  185. package/fesm2022/taiga-ui-legacy-components-combo-box.mjs.map +0 -1
  186. package/fesm2022/taiga-ui-legacy-components-input-color.mjs +0 -127
  187. package/fesm2022/taiga-ui-legacy-components-input-color.mjs.map +0 -1
  188. package/fesm2022/taiga-ui-legacy-components-input-copy.mjs +0 -197
  189. package/fesm2022/taiga-ui-legacy-components-input-copy.mjs.map +0 -1
  190. package/fesm2022/taiga-ui-legacy-components-input-date-multi.mjs +0 -272
  191. package/fesm2022/taiga-ui-legacy-components-input-date-multi.mjs.map +0 -1
  192. package/fesm2022/taiga-ui-legacy-components-input-date.mjs +0 -372
  193. package/fesm2022/taiga-ui-legacy-components-input-date.mjs.map +0 -1
  194. package/fesm2022/taiga-ui-legacy-components-input-month.mjs +0 -231
  195. package/fesm2022/taiga-ui-legacy-components-input-month.mjs.map +0 -1
  196. package/fesm2022/taiga-ui-legacy-components-input-password.mjs +0 -187
  197. package/fesm2022/taiga-ui-legacy-components-input-password.mjs.map +0 -1
  198. package/fesm2022/taiga-ui-legacy-components-input-phone-international.mjs +0 -215
  199. package/fesm2022/taiga-ui-legacy-components-input-phone-international.mjs.map +0 -1
  200. package/fesm2022/taiga-ui-legacy-components-input-phone.mjs +0 -358
  201. package/fesm2022/taiga-ui-legacy-components-input-phone.mjs.map +0 -1
  202. package/fesm2022/taiga-ui-legacy-components-input-time.mjs +0 -434
  203. package/fesm2022/taiga-ui-legacy-components-input-time.mjs.map +0 -1
  204. package/fesm2022/taiga-ui-legacy-components-input-year.mjs +0 -188
  205. package/fesm2022/taiga-ui-legacy-components-input-year.mjs.map +0 -1
  206. package/fesm2022/taiga-ui-legacy-components-island.mjs +0 -68
  207. package/fesm2022/taiga-ui-legacy-components-island.mjs.map +0 -1
  208. package/fesm2022/taiga-ui-legacy-components-sheet.mjs +0 -577
  209. package/fesm2022/taiga-ui-legacy-components-sheet.mjs.map +0 -1
  210. package/fesm2022/taiga-ui-legacy-components-svg.mjs +0 -387
  211. package/fesm2022/taiga-ui-legacy-components-svg.mjs.map +0 -1
  212. package/fesm2022/taiga-ui-legacy-components-table-bar.mjs +0 -145
  213. package/fesm2022/taiga-ui-legacy-components-table-bar.mjs.map +0 -1
  214. package/fesm2022/taiga-ui-legacy-pipes-format-phone.mjs +0 -59
  215. package/fesm2022/taiga-ui-legacy-pipes-format-phone.mjs.map +0 -1
  216. package/fesm2022/taiga-ui-legacy-pipes-iso-to-country-code.mjs +0 -50
  217. package/fesm2022/taiga-ui-legacy-pipes-iso-to-country-code.mjs.map +0 -1
  218. package/fesm2022/taiga-ui-legacy-pipes-to-country-code.mjs +0 -80
  219. package/fesm2022/taiga-ui-legacy-pipes-to-country-code.mjs.map +0 -1
  220. package/fesm2022/taiga-ui-legacy-pipes.mjs +0 -8
  221. package/fesm2022/taiga-ui-legacy-pipes.mjs.map +0 -1
  222. package/fesm2022/taiga-ui-legacy-services.mjs +0 -42
  223. package/fesm2022/taiga-ui-legacy-services.mjs.map +0 -1
  224. package/pipes/format-phone/format-phone.pipe.d.ts +0 -37
  225. package/pipes/format-phone/index.d.ts +0 -1
  226. package/pipes/index.d.ts +0 -3
  227. package/pipes/iso-to-country-code/index.d.ts +0 -1
  228. package/pipes/iso-to-country-code/iso-to-country-code.pipe.d.ts +0 -30
  229. package/pipes/to-country-code/index.d.ts +0 -1
  230. package/pipes/to-country-code/to-country-code.pipe.d.ts +0 -38
  231. package/services/index.d.ts +0 -1
  232. package/services/static-request.service.d.ts +0 -11
@@ -1 +0,0 @@
1
- {"version":3,"file":"taiga-ui-legacy-components-color-selector.mjs","sources":["../../../projects/legacy/components/color-selector/color-edit/color-edit.component.ts","../../../projects/legacy/components/color-selector/color-edit/color-edit.template.html","../../../projects/legacy/components/color-selector/color-edit/color-edit.module.ts","../../../projects/legacy/components/color-selector/services/picker.service.ts","../../../projects/legacy/components/color-selector/flat-picker/flat-picker.component.ts","../../../projects/legacy/components/color-selector/flat-picker/flat-picker.template.html","../../../projects/legacy/components/color-selector/linear-picker/linear-picker.component.ts","../../../projects/legacy/components/color-selector/linear-picker/linear-picker.template.html","../../../projects/legacy/components/color-selector/color-picker/color-picker.component.ts","../../../projects/legacy/components/color-selector/color-picker/color-picker.template.html","../../../projects/legacy/components/color-selector/flat-picker/flat-picker.module.ts","../../../projects/legacy/components/color-selector/linear-picker/linear-picker.module.ts","../../../projects/legacy/components/color-selector/color-picker/color-picker.module.ts","../../../projects/legacy/components/color-selector/color-selector.options.ts","../../../projects/legacy/components/color-selector/linear-multi-picker/linear-multi-picker.component.ts","../../../projects/legacy/components/color-selector/linear-multi-picker/linear-multi-picker.template.html","../../../projects/legacy/components/color-selector/palette/palette.component.ts","../../../projects/legacy/components/color-selector/palette/palette.template.html","../../../projects/legacy/components/color-selector/color-selector.component.ts","../../../projects/legacy/components/color-selector/color-selector.template.html","../../../projects/legacy/components/color-selector/linear-multi-picker/linear-multi-picker.module.ts","../../../projects/legacy/components/color-selector/palette/palette.module.ts","../../../projects/legacy/components/color-selector/color-selector.module.ts","../../../projects/legacy/components/color-selector/taiga-ui-legacy-components-color-selector.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n Output,\n} from '@angular/core';\nimport {type MaskitoOptions} from '@maskito/core';\nimport {tuiHexToRgb, tuiRgbToHex} from '@taiga-ui/cdk/utils/color';\n\nconst HEX_MODE_LENGTH = 6;\n\n@Component({\n standalone: false,\n selector: 'tui-color-edit',\n templateUrl: './color-edit.template.html',\n styleUrls: ['./color-edit.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiColorEditComponent {\n @Input()\n public color: [number, number, number, number] = [0, 0, 0, 1];\n\n @Output()\n public readonly colorChange = new EventEmitter<[number, number, number, number]>();\n\n public readonly hexMask: MaskitoOptions = {\n mask: new RegExp(`^[A-F\\\\d]{0,${HEX_MODE_LENGTH}}$`, 'gi'),\n };\n\n public readonly modes = ['HEX', 'RGB'];\n\n public mode = this.modes[0];\n\n public get isHex(): boolean {\n return this.mode === this.modes[0];\n }\n\n public get hex(): string {\n return tuiRgbToHex(this.color[0], this.color[1], this.color[2]).replace('#', '');\n }\n\n public get opacity(): number {\n return Math.round(this.color[3] * 100);\n }\n\n public onHexChange(hex: string): void {\n if (hex.length !== HEX_MODE_LENGTH) {\n return;\n }\n\n const rgb = tuiHexToRgb(hex);\n\n this.updateColor([rgb[0], rgb[1], rgb[2], this.color[3]]);\n }\n\n public onRgbChange(...rgba: [number, number, number, number]): void {\n this.updateColor(rgba);\n }\n\n private updateColor(color: [number, number, number, number]): void {\n this.color = color;\n this.colorChange.emit(color);\n }\n}\n","<tui-select\n tuiDropdownAlign=\"left\"\n tuiDropdownLimitWidth=\"min\"\n tuiTextfieldSize=\"m\"\n class=\"t-select\"\n [ngModelOptions]=\"{standalone: true}\"\n [style.flex]=\"'0 0 auto'\"\n [tuiTextfieldLabelOutside]=\"true\"\n [(ngModel)]=\"mode\"\n>\n <tui-data-list\n *tuiDataList\n size=\"s\"\n >\n <button\n *ngFor=\"let item of modes\"\n tuiOption\n type=\"button\"\n [value]=\"item\"\n >\n {{ item }}\n </button>\n </tui-data-list>\n</tui-select>\n<tui-primitive-textfield\n *ngIf=\"isHex; else rgb\"\n tuiTextfieldSize=\"m\"\n [maskito]=\"hexMask\"\n [tuiTextfieldLabelOutside]=\"true\"\n [value]=\"hex\"\n (valueChange)=\"onHexChange($event)\"\n/>\n<ng-template #rgb>\n <tui-input-number\n tuiTextfieldSize=\"m\"\n class=\"t-rgb\"\n [max]=\"255\"\n [min]=\"0\"\n [ngModel]=\"color[0]\"\n [ngModelOptions]=\"{standalone: true}\"\n [tuiTextfieldLabelOutside]=\"true\"\n (ngModelChange)=\"onRgbChange($event, color[1], color[2], color[3])\"\n />\n <tui-input-number\n tuiTextfieldSize=\"m\"\n class=\"t-rgb\"\n [max]=\"255\"\n [min]=\"0\"\n [ngModel]=\"color[1]\"\n [ngModelOptions]=\"{standalone: true}\"\n [tuiTextfieldLabelOutside]=\"true\"\n (ngModelChange)=\"onRgbChange(color[0], $event, color[2], color[3])\"\n />\n <tui-input-number\n tuiTextfieldSize=\"m\"\n class=\"t-rgb\"\n [max]=\"255\"\n [min]=\"0\"\n [ngModel]=\"color[2]\"\n [ngModelOptions]=\"{standalone: true}\"\n [tuiTextfieldLabelOutside]=\"true\"\n (ngModelChange)=\"onRgbChange(color[0], color[1], $event, color[3])\"\n />\n</ng-template>\n<tui-input-number\n tuiTextfieldPostfix=\"%\"\n tuiTextfieldSize=\"m\"\n class=\"t-opacity\"\n [max]=\"100\"\n [min]=\"0\"\n [ngModel]=\"opacity\"\n [ngModelOptions]=\"{standalone: true}\"\n [style.flex]=\"'0 0 auto'\"\n [tuiTextfieldLabelOutside]=\"true\"\n (ngModelChange)=\"onRgbChange(color[0], color[1], color[2], $event / 100)\"\n/>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {FormsModule} from '@angular/forms';\nimport {MaskitoDirective} from '@maskito/angular';\nimport {TuiButton} from '@taiga-ui/core/components/button';\nimport {TuiDataList} from '@taiga-ui/core/components/data-list';\nimport {TuiDropdown} from '@taiga-ui/core/directives/dropdown';\nimport {TuiInputNumberModule} from '@taiga-ui/legacy/components/input-number';\nimport {TuiPrimitiveTextfieldModule} from '@taiga-ui/legacy/components/primitive-textfield';\nimport {TuiSelectModule} from '@taiga-ui/legacy/components/select';\nimport {TuiTextfieldControllerModule} from '@taiga-ui/legacy/directives/textfield-controller';\n\nimport {TuiColorEditComponent} from './color-edit.component';\n\n/**\n * TODO(v5): delete it\n * @deprecated use new version of {@link https://taiga-ui.dev/components/input-color TuiInputColor} (from @taiga-ui/kit) instead\n */\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n MaskitoDirective,\n TuiPrimitiveTextfieldModule,\n TuiTextfieldControllerModule,\n TuiInputNumberModule,\n TuiSelectModule,\n ...TuiDropdown,\n ...TuiDataList,\n TuiButton,\n ],\n declarations: [TuiColorEditComponent],\n exports: [TuiColorEditComponent, ...TuiDropdown, ...TuiDataList],\n})\nexport class TuiColorEditModule {}\n","import {DOCUMENT} from '@angular/common';\nimport {inject, Injectable} from '@angular/core';\nimport {takeUntilDestroyed} from '@angular/core/rxjs-interop';\nimport {tuiPreventDefault, tuiTypedFromEvent} from '@taiga-ui/cdk/observables';\nimport {tuiGetElementPoint, tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {type TuiPoint} from '@taiga-ui/core/types';\nimport {map, Observable, startWith, switchMap, takeUntil} from 'rxjs';\n\n/**\n * TODO(v5): delete it\n * @deprecated use new version of {@link https://taiga-ui.dev/components/input-color TuiInputColor} (from @taiga-ui/kit) instead\n */\n@Injectable()\nexport class TuiPickerService extends Observable<TuiPoint> {\n private readonly el = tuiInjectElement();\n private readonly doc = inject(DOCUMENT);\n private readonly point$ = tuiTypedFromEvent(this.el, 'mousedown').pipe(\n tuiPreventDefault(),\n switchMap((event) => {\n const mouseMove$ = tuiTypedFromEvent(this.doc, 'mousemove').pipe(\n map(({clientX, clientY}) =>\n tuiGetElementPoint(clientX, clientY, this.el),\n ),\n takeUntil(tuiTypedFromEvent(this.doc, 'mouseup')),\n );\n\n return event.target === this.el\n ? mouseMove$.pipe(\n startWith(\n tuiGetElementPoint(event.clientX, event.clientY, this.el),\n ),\n )\n : mouseMove$;\n }),\n takeUntilDestroyed(),\n );\n\n constructor() {\n super((subscriber) => this.point$.subscribe(subscriber));\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n inject,\n Input,\n Output,\n} from '@angular/core';\nimport {takeUntilDestroyed} from '@angular/core/rxjs-interop';\nimport {type TuiPoint} from '@taiga-ui/core/types';\n\nimport {TuiPickerService} from '../services/picker.service';\n\n@Component({\n standalone: false,\n selector: 'tui-flat-picker',\n templateUrl: './flat-picker.template.html',\n styleUrls: ['./flat-picker.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [TuiPickerService],\n})\nexport class TuiFlatPickerComponent {\n protected readonly $ = inject(TuiPickerService)\n .pipe(takeUntilDestroyed())\n .subscribe((point) => {\n this.value = point;\n this.valueChange.emit([point[0], point[1]]);\n });\n\n @Input()\n public value: TuiPoint = [0, 0];\n\n @Output()\n public readonly valueChange = new EventEmitter<[number, number]>();\n\n public get left(): number {\n return this.value[0] * 100;\n }\n\n public get top(): number {\n return this.value[1] * 100;\n }\n}\n","<div\n class=\"t-circle\"\n [style.left.%]=\"left\"\n [style.top.%]=\"top\"\n></div>\n","import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n inject,\n Input,\n Output,\n} from '@angular/core';\nimport {takeUntilDestroyed} from '@angular/core/rxjs-interop';\n\nimport {TuiPickerService} from '../services/picker.service';\n\n@Component({\n standalone: false,\n selector: 'tui-linear-picker',\n templateUrl: './linear-picker.template.html',\n styleUrls: ['./linear-picker.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [TuiPickerService],\n})\nexport class TuiLinearPickerComponent {\n protected readonly $ = inject(TuiPickerService)\n .pipe(takeUntilDestroyed())\n .subscribe(([x]) => {\n this.value = x;\n this.valueChange.emit(x);\n });\n\n @Input()\n public value = 0;\n\n @Output()\n public readonly valueChange = new EventEmitter<number>();\n\n public get left(): number {\n return this.value * 100;\n }\n}\n","<div\n class=\"t-circle\"\n [style.left.%]=\"left\"\n></div>\n","import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n inject,\n Input,\n Output,\n} from '@angular/core';\nimport {DomSanitizer, type SafeStyle} from '@angular/platform-browser';\nimport {tuiHsvToRgb, tuiRgbToHsv} from '@taiga-ui/cdk/utils/color';\nimport {tuiRound} from '@taiga-ui/cdk/utils/math';\nimport {tuiPure} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {type TuiPoint} from '@taiga-ui/core/types';\n\n@Component({\n standalone: false,\n selector: 'tui-color-picker',\n templateUrl: './color-picker.template.html',\n styleUrls: ['./color-picker.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiColorPickerComponent {\n private readonly sanitizer = inject(DomSanitizer);\n\n protected point: TuiPoint = [0, 1];\n protected hue = 0;\n protected opacity = 1;\n\n @Output()\n public readonly colorChange = new EventEmitter<\n [h: number, s: number, v: number, opacity: number]\n >();\n\n @Input()\n public set color(color: [h: number, s: number, v: number, opacity: number]) {\n if (\n this.currentColor.every((item, index) => item === color[index]) &&\n color[3] === this.opacity\n ) {\n return;\n }\n\n const [h, s, v] = tuiRgbToHsv(color[0], color[1], color[2]);\n\n this.opacity = color[3];\n this.hue = h / 360;\n this.point = [s, 1 - v / 255];\n }\n\n public get currentColor(): [h: number, s: number, v: number] {\n return this.getCurrentColor(this.hue, this.point);\n }\n\n public get base(): string {\n return `rgb(${tuiHsvToRgb(this.hue * 360, 1, 255)})`;\n }\n\n public get gradient(): SafeStyle {\n return this.sanitizer.bypassSecurityTrustStyle(\n `linear-gradient(to right, rgba(${this.currentColor.join(\n ',',\n )}, 0), rgb(${this.currentColor.join(',')}))`,\n );\n }\n\n public onPointChange(point: TuiPoint): void {\n this.point = point;\n this.updateColor();\n }\n\n public onHueChange(hue: number): void {\n this.hue = hue;\n this.updateColor();\n }\n\n public onOpacityChange(opacity: number): void {\n this.opacity = tuiRound(opacity, 2);\n this.updateColor();\n }\n\n @tuiPure\n private getCurrentColor(\n hue: number,\n point: TuiPoint,\n ): [h: number, s: number, v: number] {\n return tuiHsvToRgb(hue * 360, point[0], (1 - point[1]) * 255);\n }\n\n private updateColor(): void {\n this.colorChange.emit([...this.currentColor, this.opacity]);\n }\n}\n","<tui-flat-picker\n class=\"t-flat\"\n [style.backgroundColor]=\"base\"\n [value]=\"point\"\n (valueChange)=\"onPointChange($event)\"\n/>\n<div class=\"t-wrapper t-wrapper_hue\">\n <tui-linear-picker\n class=\"t-hue\"\n [value]=\"hue\"\n (valueChange)=\"onHueChange($event)\"\n />\n</div>\n<div\n class=\"t-wrapper t-wrapper_opacity\"\n [style.background]=\"gradient\"\n>\n <tui-linear-picker\n class=\"t-opacity\"\n [value]=\"opacity\"\n (valueChange)=\"onOpacityChange($event)\"\n />\n</div>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\n\nimport {TuiFlatPickerComponent} from './flat-picker.component';\n\n/**\n * TODO(v5): delete it\n * @deprecated use new version of {@link https://taiga-ui.dev/components/input-color TuiInputColor} (from @taiga-ui/kit) instead\n */\n@NgModule({\n imports: [CommonModule],\n declarations: [TuiFlatPickerComponent],\n exports: [TuiFlatPickerComponent],\n})\nexport class TuiFlatPickerModule {}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\n\nimport {TuiLinearPickerComponent} from './linear-picker.component';\n\n/**\n * TODO(v5): delete it\n * @deprecated use new version of {@link https://taiga-ui.dev/components/input-color TuiInputColor} (from @taiga-ui/kit) instead\n */\n@NgModule({\n imports: [CommonModule],\n declarations: [TuiLinearPickerComponent],\n exports: [TuiLinearPickerComponent],\n})\nexport class TuiLinearPickerModule {}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\n\nimport {TuiFlatPickerModule} from '../flat-picker/flat-picker.module';\nimport {TuiLinearPickerModule} from '../linear-picker/linear-picker.module';\nimport {TuiColorPickerComponent} from './color-picker.component';\n\n/**\n * TODO(v5): delete it\n * @deprecated use new version of {@link https://taiga-ui.dev/components/input-color TuiInputColor} (from @taiga-ui/kit) instead\n */\n@NgModule({\n imports: [CommonModule, TuiFlatPickerModule, TuiLinearPickerModule],\n declarations: [TuiColorPickerComponent],\n exports: [TuiColorPickerComponent],\n})\nexport class TuiColorPickerModule {}\n","import {InjectionToken, type Provider} from '@angular/core';\nimport {type TuiGradientDirection} from '@taiga-ui/cdk/utils/color';\nimport {tuiProvideOptions} from '@taiga-ui/cdk/utils/miscellaneous';\n\nexport const TUI_COLOR_SELECTOR_MODE_NAMES = new InjectionToken<[string, string]>(\n ngDevMode ? 'TUI_COLOR_SELECTOR_MODE_NAMES' : '',\n {\n factory: () => ['Solid color', 'Gradient'],\n },\n);\n\nexport const TUI_DEFAULT_INPUT_COLORS = new Map([\n ['color-black-100', '#909090'],\n ['color-black-200', '#666666'],\n ['color-black-300', '#333333'],\n ['color-blue-100', '#1771e6'],\n ['color-blue-200', '#1464cc'],\n ['color-blue-300', '#0953b3'],\n ['color-gray-100', '#f5f5f6'],\n ['color-gray-200', '#e7e8ea'],\n ['color-gray-300', '#cbcfd3'],\n ['color-gray-400', '#959ba4'],\n ['color-gray-500', '#79818c'],\n ['color-gray-600', '#616871'],\n ['color-green-100', '#39b54a'],\n ['color-green-200', '#2ca53a'],\n ['color-green-300', '#168a21'],\n ['color-light-blue-100', '#ecf1f7'],\n ['color-light-blue-200', '#e4ebf3'],\n ['color-light-blue-300', '#dde4ed'],\n ['color-red-100', '#e01f19'],\n ['color-red-200', '#d3120e'],\n ['color-red-300', '#c40b08'],\n ['color-yellow-100', '#FFDD2C'],\n ['color-yellow-200', '#FCC521'],\n ['color-yellow-300', '#FAB618'],\n ['transparent', 'transparent'],\n]);\n\nexport const TuiColorSelectorMode = {\n SolidColor: 0,\n Gradient: 1,\n} as const;\n\nexport interface TuiColorSelectorOptions {\n readonly mode: (typeof TuiColorSelectorMode)[keyof typeof TuiColorSelectorMode];\n readonly selectorMode: boolean;\n readonly color: [number, number, number, number];\n readonly colors: ReadonlyMap<string, string>;\n readonly gradient: {\n readonly icons: Record<TuiGradientDirection, string>;\n readonly steps: ReadonlyArray<[number, [number, number, number, number]]>;\n readonly stop: number;\n readonly direction: TuiGradientDirection;\n readonly emptyStop: [number, number, number, number];\n readonly buttons: readonly TuiGradientDirection[];\n };\n}\n\nexport const TUI_COLOR_SELECTOR_DEFAULT_OPTIONS: TuiColorSelectorOptions = {\n selectorMode: true,\n mode: TuiColorSelectorMode.SolidColor,\n color: [0, 0, 0, 1],\n colors: new Map<string, string>(),\n gradient: {\n icons: {\n 'to top right': '@tui.move-up-right',\n 'to right': '@tui.move-right',\n 'to bottom right': '@tui.move-down-right',\n 'to bottom': '@tui.move-down',\n 'to bottom left': '@tui.move-down-left',\n 'to left': '@tui.move-left',\n 'to top left': '@tui.move-up-left',\n 'to top': '@tui.move-up',\n },\n steps: [\n [0, [0, 0, 0, 1]],\n [1, [255, 255, 255, 1]],\n ],\n stop: 0,\n direction: 'to bottom',\n emptyStop: [0, 0, 0, 0],\n buttons: [\n 'to top right',\n 'to right',\n 'to bottom right',\n 'to bottom',\n 'to bottom left',\n 'to left',\n 'to top left',\n 'to top',\n ],\n },\n};\n\nexport const TUI_COLOR_SELECTOR_OPTIONS = new InjectionToken(\n ngDevMode ? 'TUI_COLOR_SELECTOR_OPTIONS' : '',\n {\n factory: () => TUI_COLOR_SELECTOR_DEFAULT_OPTIONS,\n },\n);\n\nexport function tuiColorSelectorOptionsProvider(\n options: Partial<TuiColorSelectorOptions>,\n): Provider {\n return tuiProvideOptions(\n TUI_COLOR_SELECTOR_OPTIONS,\n options,\n TUI_COLOR_SELECTOR_DEFAULT_OPTIONS,\n );\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n inject,\n Input,\n Output,\n} from '@angular/core';\nimport {takeUntilDestroyed} from '@angular/core/rxjs-interop';\n\nimport {TuiPickerService} from '../services/picker.service';\n\n@Component({\n standalone: false,\n selector: 'tui-linear-multi-picker',\n templateUrl: './linear-multi-picker.template.html',\n styleUrls: ['./linear-multi-picker.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [TuiPickerService],\n host: {\n '(document:mouseup)': 'onMouseUp()',\n },\n})\nexport class TuiLinearMultiPickerComponent {\n protected readonly $ = inject(TuiPickerService)\n .pipe(takeUntilDestroyed())\n .subscribe(([x]) => this.onPicker(x));\n\n @Input()\n public value = [0, 1];\n\n @Output()\n public readonly valueChange = new EventEmitter<number[]>();\n\n @Output()\n public readonly indexChange = new EventEmitter<number>();\n\n public index = NaN;\n\n public onMouseUp(): void {\n this.index = NaN;\n }\n\n public onMouseDown(index: number): void {\n this.updateIndex(index);\n }\n\n public onClick(index: number): void {\n if (this.value.length > 2) {\n this.updateValue(this.value.filter((_, i) => i !== index));\n }\n }\n\n private onPicker(x: number): void {\n if (Number.isNaN(this.index)) {\n this.updateIndex(this.value.length);\n this.value = [...this.value, 0];\n }\n\n if (this.value.some((item, index) => item === x && index !== this.index)) {\n return;\n }\n\n this.updateValue(\n this.value.map((item, index) => (index === this.index ? x : item)),\n );\n }\n\n private updateIndex(index: number): void {\n this.index = index;\n this.indexChange.emit(index);\n }\n\n private updateValue(value: number[]): void {\n this.value = value;\n this.valueChange.emit(value);\n }\n}\n","<div\n *ngFor=\"let item of value; let index = index\"\n class=\"t-circle\"\n [style.left.%]=\"item * 100\"\n (dblclick)=\"onClick(index)\"\n (mousedown)=\"onMouseDown(index)\"\n></div>\n","import {type KeyValue} from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n Output,\n} from '@angular/core';\n\n@Component({\n standalone: false,\n selector: 'tui-palette',\n templateUrl: './palette.template.html',\n styleUrls: ['./palette.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiPaletteComponent {\n @Input()\n public colors: ReadonlyMap<string, string> = new Map<string, string>();\n\n @Output()\n public readonly selectedColor = new EventEmitter<string>();\n\n public originalOrder = (\n _a: KeyValue<string, string>,\n _b: KeyValue<string, string>,\n ): number => 0;\n}\n","<button\n *ngFor=\"let color of colors | keyvalue: originalOrder\"\n type=\"button\"\n class=\"t-button\"\n [id]=\"color.key\"\n [style.background]=\"color.value\"\n [tuiHint]=\"color.key\"\n [tuiHintDescribe]=\"color.key\"\n (click)=\"selectedColor.emit(color.value)\"\n></button>\n","import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n inject,\n Input,\n Output,\n} from '@angular/core';\nimport {DomSanitizer, type SafeStyle} from '@angular/platform-browser';\nimport {\n tuiGetGradientData,\n type TuiGradientDirection,\n tuiParseColor,\n tuiParseGradient,\n} from '@taiga-ui/cdk/utils/color';\nimport {tuiDefaultSort, tuiPure} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {TUI_COMMON_ICONS} from '@taiga-ui/core/tokens';\n\nimport {\n TUI_COLOR_SELECTOR_MODE_NAMES,\n TUI_COLOR_SELECTOR_OPTIONS,\n TuiColorSelectorMode,\n} from './color-selector.options';\n\n@Component({\n standalone: false,\n selector: 'tui-color-selector',\n templateUrl: './color-selector.template.html',\n styleUrls: ['./color-selector.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiColorSelectorComponent {\n private readonly selectorOptions = inject(TUI_COLOR_SELECTOR_OPTIONS);\n private stops = new Map(this.selectorOptions.gradient.steps);\n private currentStop = this.selectorOptions.gradient.stop;\n private direction = this.selectorOptions.gradient.direction;\n\n private readonly sanitizer = inject(DomSanitizer);\n protected readonly icons = inject(TUI_COMMON_ICONS);\n protected open = false;\n\n @Input()\n public colors = this.selectorOptions.colors;\n\n @Output()\n public readonly colorChange = new EventEmitter<string>();\n\n public color = this.selectorOptions.color;\n\n public readonly modes = inject(TUI_COLOR_SELECTOR_MODE_NAMES);\n\n public currentMode = this.modes[this.selectorOptions.mode];\n\n public readonly buttons = this.selectorOptions.gradient.buttons;\n\n @Input('color')\n public set colorSetter(color: string) {\n if (color.startsWith('linear-gradient')) {\n this.parseGradient(color);\n } else {\n this.parseColor(color);\n }\n }\n\n public get selectorMode(): boolean {\n return this.selectorOptions.selectorMode;\n }\n\n public get palette(): Map<string, string> {\n return this.filterPalette(this.colors, this.isGradient);\n }\n\n public get stopsKeys(): number[] {\n return this.getStopsKeys(this.stops);\n }\n\n public get currentColor(): [number, number, number, number] {\n return this.isGradient ? this.getStop(this.currentStop) : this.color;\n }\n\n public get gradient(): SafeStyle {\n return this.sanitizer.bypassSecurityTrustStyle(this.getGradient('to right'));\n }\n\n public get isGradient(): boolean {\n return this.currentMode === this.modes[TuiColorSelectorMode.Gradient];\n }\n\n public getIcon(direction: TuiGradientDirection): string {\n return this.selectorOptions.gradient.icons[direction];\n }\n\n public isModeActive(mode: string): boolean {\n return this.currentMode === mode;\n }\n\n public isDirectionActive(direction: TuiGradientDirection): boolean {\n return this.direction === direction;\n }\n\n public onPalettePick(color: string): void {\n this.updateColor(color);\n }\n\n public onDirectionChange(direction: TuiGradientDirection): void {\n this.direction = direction;\n this.updateColor(this.getGradient(direction));\n }\n\n public onModeSelect(mode: string): void {\n this.currentMode = mode;\n this.open = false;\n\n this.updateColor(\n mode === this.modes[TuiColorSelectorMode.SolidColor]\n ? `rgba(${this.color.join(', ')})`\n : this.getGradient(this.direction),\n );\n }\n\n public onIndexChange(index: number): void {\n this.currentStop = this.stopsKeys[index] ?? 0;\n }\n\n public onColorChange(color: [number, number, number, number]): void {\n if (!this.isGradient) {\n this.updateColor(`rgba(${color.join(', ')})`);\n\n return;\n }\n\n this.stops.set(this.currentStop, color);\n this.updateColor(this.getGradient(this.direction));\n }\n\n public onStopsChange(stopsKeys: readonly number[]): void {\n const removed = this.stopsKeys.find((item) => !stopsKeys.includes(item));\n const added = stopsKeys.find((item) => !this.stopsKeys.includes(item));\n\n if (removed === undefined && added !== undefined) {\n this.addStop(added);\n }\n\n if (removed !== undefined && added === undefined) {\n this.removeStop(removed);\n }\n\n if (removed !== undefined && added !== undefined) {\n this.replaceStop(removed, added);\n }\n\n this.updateColor(this.getGradient(this.direction));\n }\n\n @tuiPure\n private getStopsKeys(stops: Map<number, unknown>): number[] {\n return Array.from(stops.keys());\n }\n\n @tuiPure\n private filterPalette(\n colors: ReadonlyMap<string, string>,\n isGradient: boolean,\n ): Map<string, string> {\n const map = new Map(colors);\n\n map.forEach((value, key) => {\n if (\n (value.startsWith('linear-gradient') && !isGradient) ||\n (!value.startsWith('linear-gradient') && isGradient)\n ) {\n map.delete(key);\n }\n });\n\n return map;\n }\n\n private updateColor(color: string): void {\n this.colorChange.emit(color);\n }\n\n private getGradient(direction: TuiGradientDirection): string {\n return `linear-gradient(${direction}, ${[...this.stopsKeys]\n .sort(tuiDefaultSort)\n .map((key) => `rgba(${this.getStop(key).join(', ')}) ${key * 100}%`)\n .join(', ')})`;\n }\n\n private getStop(stop: number): [number, number, number, number] {\n return this.stops.get(stop) || this.selectorOptions.gradient.emptyStop;\n }\n\n private addStop(stop: number): void {\n const closest = this.stopsKeys.reduce(\n (prev, curr) => (Math.abs(curr - stop) < Math.abs(prev - stop) ? curr : prev),\n this.stopsKeys[0] ?? 0,\n );\n\n this.stops.set(stop, this.getStop(closest));\n this.stops = new Map(this.stops);\n this.currentStop = stop;\n }\n\n private removeStop(stop: number): void {\n this.stops.delete(stop);\n this.stops = new Map(this.stops);\n this.currentStop = this.stopsKeys[0] ?? 0;\n }\n\n private replaceStop(removed: number, added: number): void {\n const value = this.getStop(removed);\n\n this.currentStop = added;\n this.stops = new Map(\n this.stopsKeys.map<[number, [number, number, number, number]]>((key) =>\n key === removed ? [added, value] : [key, this.getStop(key)],\n ),\n );\n }\n\n private parseGradient(color: string): void {\n if (color === this.getGradient(this.direction)) {\n return;\n }\n\n const gradient = tuiParseGradient(tuiGetGradientData(color));\n\n this.direction = gradient.side;\n this.currentStop = this.selectorOptions.gradient.stop;\n this.stops = new Map(\n gradient.stops.length\n ? gradient.stops.map<[number, [number, number, number, number]]>(\n ({color, position}) => [\n parseFloat(position) / 100,\n tuiParseColor(color),\n ],\n )\n : this.selectorOptions.gradient.steps,\n );\n }\n\n private parseColor(color: string): void {\n this.currentStop = this.selectorOptions.gradient.stop;\n this.color = tuiParseColor(color);\n }\n}\n","<ng-container *ngIf=\"selectorMode\">\n <div\n class=\"t-select\"\n [tuiDropdown]=\"menu\"\n [(tuiDropdownOpen)]=\"open\"\n >\n <button\n appearance=\"\"\n size=\"s\"\n tuiButton\n tuiChevron\n type=\"button\"\n >\n {{ currentMode }}\n </button>\n\n <ng-template #menu>\n <tui-data-list\n role=\"menu\"\n size=\"s\"\n class=\"t-menu\"\n >\n <button\n *ngFor=\"let mode of modes\"\n role=\"menuitemradio\"\n tuiOption\n type=\"button\"\n [attr.aria-checked]=\"isModeActive(mode)\"\n (click)=\"onModeSelect(mode)\"\n (keydown.enter.prevent)=\"onModeSelect(mode)\"\n (keydown.space.prevent)=\"onModeSelect(mode)\"\n >\n {{ mode }}\n <tui-icon\n *ngIf=\"isModeActive(mode)\"\n class=\"t-checkmark\"\n [icon]=\"icons.check\"\n />\n </button>\n </tui-data-list>\n </ng-template>\n </div>\n <hr class=\"t-hr\" />\n</ng-container>\n\n<ng-container *ngIf=\"isGradient\">\n <div\n class=\"t-wrapper\"\n [style.background]=\"gradient\"\n >\n <tui-linear-multi-picker\n class=\"t-gradient\"\n [value]=\"stopsKeys\"\n (indexChange)=\"onIndexChange($event)\"\n (valueChange)=\"onStopsChange($event)\"\n />\n </div>\n <div class=\"t-buttons\">\n <!-- TODO: Change to `tuiHintDescribe` when figure tuiDriver order issue -->\n <button\n *ngFor=\"let button of buttons\"\n appearance=\"\"\n size=\"xs\"\n tuiHintDescribe\n tuiIconButton\n type=\"button\"\n class=\"t-direction\"\n [class.t-direction_active]=\"isDirectionActive(button)\"\n [iconStart]=\"getIcon(button)\"\n [tuiHint]=\"button\"\n (click)=\"onDirectionChange(button)\"\n ></button>\n </div>\n</ng-container>\n<tui-color-picker\n [color]=\"currentColor\"\n (colorChange)=\"onColorChange($event)\"\n/>\n<tui-color-edit\n *ngIf=\"!isGradient\"\n orientation=\"horizontal\"\n tuiGroup\n class=\"t-edit\"\n [color]=\"color\"\n (colorChange)=\"onColorChange($event)\"\n/>\n<tui-palette\n *ngIf=\"palette.size\"\n class=\"t-palette\"\n [colors]=\"palette\"\n (selectedColor)=\"onPalettePick($event)\"\n/>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\n\nimport {TuiLinearMultiPickerComponent} from './linear-multi-picker.component';\n\n/**\n * TODO(v5): delete it\n * @deprecated use new version of {@link https://taiga-ui.dev/components/input-color TuiInputColor} (from @taiga-ui/kit) instead\n */\n@NgModule({\n imports: [CommonModule],\n declarations: [TuiLinearMultiPickerComponent],\n exports: [TuiLinearMultiPickerComponent],\n})\nexport class TuiLinearMultiPickerModule {}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiHint} from '@taiga-ui/core/directives/hint';\n\nimport {TuiPaletteComponent} from './palette.component';\n\n/**\n * TODO(v5): delete it\n * @deprecated use new version of {@link https://taiga-ui.dev/components/input-color TuiInputColor} (from @taiga-ui/kit) instead\n */\n@NgModule({\n imports: [CommonModule, ...TuiHint],\n declarations: [TuiPaletteComponent],\n exports: [TuiPaletteComponent, ...TuiHint],\n})\nexport class TuiPaletteModule {}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiActiveZone} from '@taiga-ui/cdk/directives/active-zone';\nimport {TuiButton} from '@taiga-ui/core/components/button';\nimport {TuiDataList} from '@taiga-ui/core/components/data-list';\nimport {TuiIcon} from '@taiga-ui/core/components/icon';\nimport {TuiGroup} from '@taiga-ui/core/directives/group';\nimport {TuiHint} from '@taiga-ui/core/directives/hint';\nimport {TuiChevron} from '@taiga-ui/kit/directives/chevron';\nimport {TuiSvgComponent} from '@taiga-ui/legacy/components/svg';\n\nimport {TuiColorEditModule} from './color-edit/color-edit.module';\nimport {TuiColorPickerModule} from './color-picker/color-picker.module';\nimport {TuiColorSelectorComponent} from './color-selector.component';\nimport {TuiLinearMultiPickerModule} from './linear-multi-picker/linear-multi-picker.module';\nimport {TuiPaletteModule} from './palette/palette.module';\n\n/**\n * TODO(v5): delete it\n * @deprecated use new version of {@link https://taiga-ui.dev/components/input-color TuiInputColor} (from @taiga-ui/kit) instead\n */\n@NgModule({\n imports: [\n CommonModule,\n TuiButton,\n TuiSvgComponent,\n TuiColorPickerModule,\n TuiLinearMultiPickerModule,\n TuiActiveZone,\n TuiColorEditModule,\n TuiGroup,\n TuiPaletteModule,\n TuiChevron,\n TuiIcon,\n ...TuiHint,\n ...TuiDataList,\n ],\n declarations: [TuiColorSelectorComponent],\n exports: [TuiColorSelectorComponent, ...TuiHint, ...TuiDataList],\n})\nexport class TuiColorSelectorModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i8","i9","i1","i2","i1.TuiFlatPickerComponent","i2.TuiLinearPickerComponent","i3.TuiColorPickerComponent","i4.TuiLinearMultiPickerComponent","i5.TuiColorEditComponent","i6","i7","i9.TuiPaletteComponent","i10"],"mappings":"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"}
@@ -1,301 +0,0 @@
1
- import * as i0 from '@angular/core';
2
- import { inject, EventEmitter, TemplateRef, Output, Input, ContentChild, ViewChild, ChangeDetectionStrategy, Component, Directive, NgModule } from '@angular/core';
3
- import { TUI_STRICT_MATCHER } from '@taiga-ui/cdk/constants';
4
- import { tuiIsNativeFocused } from '@taiga-ui/cdk/utils/focus';
5
- import { tuiIsPresent } from '@taiga-ui/cdk/utils/miscellaneous';
6
- import { TUI_DATA_LIST_ACCESSOR, TuiDataListDirective, tuiAsDataListHost, tuiAsOptionContent } from '@taiga-ui/core/components/data-list';
7
- import * as i1 from '@taiga-ui/core/directives/dropdown';
8
- import { TuiDropdownOpen, TuiDropdownFixed, TuiDropdown } from '@taiga-ui/core/directives/dropdown';
9
- import { TUI_ITEMS_HANDLERS } from '@taiga-ui/kit/tokens';
10
- import { AbstractTuiNullableControl, tuiAsControl, AbstractTuiTextfieldHost } from '@taiga-ui/legacy/classes';
11
- import { TUI_ARROW_MODE, TuiArrowComponent } from '@taiga-ui/legacy/components/arrow';
12
- import * as i4 from '@taiga-ui/legacy/components/primitive-textfield';
13
- import { TuiPrimitiveTextfieldComponent, TuiTextfieldComponent, TuiPrimitiveTextfieldModule } from '@taiga-ui/legacy/components/primitive-textfield';
14
- import { TUI_SELECT_OPTION, TuiSelectOptionModule } from '@taiga-ui/legacy/components/select-option';
15
- import * as i5 from '@taiga-ui/legacy/directives';
16
- import { TUI_TEXTFIELD_SIZE, TuiWrapperModule, TuiTextfieldControllerModule, TuiLegacyDropdownOpenMonitorDirective } from '@taiga-ui/legacy/directives';
17
- import { tuiAsFocusableItemAccessor, tuiAsTextfieldHost } from '@taiga-ui/legacy/tokens';
18
- import * as i2 from '@angular/common';
19
- import { CommonModule } from '@angular/common';
20
- import * as i3 from '@taiga-ui/polymorpheus';
21
- import { PolymorpheusOutlet, PolymorpheusTemplate } from '@taiga-ui/polymorpheus';
22
-
23
- /**
24
- * TODO(v5): delete it
25
- * @deprecated use new version of {@link https://taiga-ui.dev/components/combo-box TuiComboBox} (from @taiga-ui/kit) instead
26
- */
27
- class TuiComboBoxComponent extends AbstractTuiNullableControl {
28
- constructor() {
29
- super(...arguments);
30
- this.arrowMode = inject(TUI_ARROW_MODE);
31
- this.itemsHandlers = inject(TUI_ITEMS_HANDLERS);
32
- this.textfieldSize = inject(TUI_TEXTFIELD_SIZE);
33
- this.stringify = this.itemsHandlers.stringify;
34
- this.strictMatcher = TUI_STRICT_MATCHER;
35
- this.identityMatcher = this.itemsHandlers.identityMatcher;
36
- this.strict = true;
37
- this.search = null;
38
- this.searchChange = new EventEmitter();
39
- this.open = false;
40
- }
41
- get size() {
42
- return this.textfieldSize.size;
43
- }
44
- get nativeFocusableElement() {
45
- return this.textfield?.nativeFocusableElement ?? null;
46
- }
47
- get focused() {
48
- return (tuiIsNativeFocused(this.nativeFocusableElement) ||
49
- !!this.dropdown?.tuiDropdownOpen);
50
- }
51
- get nativeValue() {
52
- return this.value === null ? this.search || '' : this.stringify(this.value);
53
- }
54
- checkOption(option) {
55
- if (!this.isStrictMatch(option)) {
56
- return;
57
- }
58
- this.value = option;
59
- this.updateSearch(null);
60
- }
61
- handleOption(item) {
62
- this.focusInput();
63
- this.close();
64
- this.updateSearch(null);
65
- this.value = item;
66
- if (this.value) {
67
- this.setNativeValue(this.stringify(item));
68
- }
69
- }
70
- onValueChange(value) {
71
- this.updateSearch(value);
72
- const match = this.accessor
73
- ?.getOptions()
74
- .find((item) => this.isStrictMatch(item));
75
- if (match !== undefined) {
76
- this.value = match;
77
- this.updateSearch(null);
78
- return;
79
- }
80
- if (this.strict || this.search === '') {
81
- this.value = null;
82
- }
83
- // Clearing sets the empty value, the dropdown should not be opened on clear.
84
- if (this.search !== '') {
85
- this.open = true;
86
- }
87
- }
88
- toggle() {
89
- if (this.interactive) {
90
- this.open = !this.open;
91
- }
92
- }
93
- get arrow() {
94
- return !this.interactive ? this.arrowMode.disabled : this.arrowMode.interactive;
95
- }
96
- get showValueTemplate() {
97
- return tuiIsPresent(this.value) && !this.focused;
98
- }
99
- get computedContent() {
100
- return this.valueContent || this.nativeValue;
101
- }
102
- onActiveZone(active) {
103
- this.updateFocused(active);
104
- }
105
- onFieldKeyDownEnter(event) {
106
- if (this.open) {
107
- event.preventDefault();
108
- }
109
- const options = this.accessor?.getOptions() || [];
110
- if (options.length !== 1) {
111
- return;
112
- }
113
- this.value = options[0] ?? null;
114
- this.updateSearch(null);
115
- this.close();
116
- }
117
- isStrictMatch(item) {
118
- return !!this.search && !!this.strictMatcher?.(item, this.search, this.stringify);
119
- }
120
- close() {
121
- this.open = false;
122
- }
123
- updateSearch(search) {
124
- if (this.search === search) {
125
- return;
126
- }
127
- this.search = search;
128
- this.searchChange.emit(search);
129
- }
130
- setNativeValue(value) {
131
- if (this.nativeFocusableElement) {
132
- this.nativeFocusableElement.value = value;
133
- }
134
- }
135
- focusInput(preventScroll = false) {
136
- if (this.nativeFocusableElement) {
137
- this.nativeFocusableElement.focus({ preventScroll });
138
- }
139
- }
140
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: TuiComboBoxComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
141
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.9", type: TuiComboBoxComponent, isStandalone: false, selector: "tui-combo-box", inputs: { stringify: "stringify", strictMatcher: "strictMatcher", identityMatcher: "identityMatcher", valueContent: "valueContent", strict: "strict", search: "search" }, outputs: { searchChange: "searchChange" }, host: { properties: { "attr.data-size": "size" } }, providers: [
142
- tuiAsFocusableItemAccessor(TuiComboBoxComponent),
143
- tuiAsDataListHost(TuiComboBoxComponent),
144
- tuiAsControl(TuiComboBoxComponent),
145
- tuiAsOptionContent(TUI_SELECT_OPTION),
146
- ], queries: [{ propertyName: "accessor", first: true, predicate: TUI_DATA_LIST_ACCESSOR, descendants: true }, { propertyName: "datalist", first: true, predicate: TuiDataListDirective, descendants: true, read: TemplateRef }], viewQueries: [{ propertyName: "dropdown", first: true, predicate: TuiDropdownOpen, descendants: true }, { propertyName: "textfield", first: true, predicate: TuiPrimitiveTextfieldComponent, descendants: true }], usesInheritance: true, hostDirectives: [{ directive: i1.TuiDropdownFixed }], ngImport: i0, template: "<div\n tuiDropdownOpenMonitor\n class=\"t-hosted\"\n [tuiDropdown]=\"datalist || ''\"\n [tuiDropdownEnabled]=\"interactive && !!datalist\"\n [(tuiDropdownOpen)]=\"open\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n>\n <tui-primitive-textfield\n automation-id=\"tui-combo-box__textfield\"\n class=\"t-textfield\"\n [disabled]=\"computedDisabled\"\n [focusable]=\"computedFocusable\"\n [invalid]=\"computedInvalid\"\n [nativeId]=\"nativeId\"\n [pseudoFocus]=\"computedFocused\"\n [pseudoHover]=\"pseudoHover\"\n [readOnly]=\"readOnly\"\n [tuiTextfieldIcon]=\"arrow ? icon : ''\"\n [value]=\"nativeValue\"\n (click)=\"toggle()\"\n (keydown.enter)=\"onFieldKeyDownEnter($event)\"\n (valueChange)=\"onValueChange($event)\"\n >\n <ng-content />\n <ng-content\n ngProjectAs=\"input\"\n select=\"input\"\n />\n <div\n *ngIf=\"showValueTemplate\"\n automation-id=\"tui-combo-box__template\"\n ngProjectAs=\"tuiContent\"\n class=\"t-value\"\n >\n <ng-container\n *polymorpheusOutlet=\"computedContent as text; context: {$implicit: value!, active: computedFocused}\"\n >\n {{ text }}\n </ng-container>\n </div>\n </tui-primitive-textfield>\n\n <ng-template #icon>\n <div\n appearance=\"icon\"\n tuiWrapper\n class=\"t-icon\"\n >\n <ng-container *polymorpheusOutlet=\"arrow\" />\n </div>\n </ng-template>\n</div>\n", styles: [":host{display:block;border-radius:var(--tui-radius-m);text-align:start}:host :host-context(*:disabled){pointer-events:none}.t-hosted{display:block;border-radius:inherit}.t-textfield{border-radius:inherit;text-align:inherit}.t-value{display:flex;inline-size:100%;align-items:center}.t-icon{pointer-events:auto}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { kind: "component", type: i4.TuiPrimitiveTextfieldComponent, selector: "tui-primitive-textfield", inputs: ["editable", "iconCleaner", "readOnly", "invalid", "disabled", "value"], outputs: ["valueChange"] }, { kind: "directive", type: i4.TuiPrimitiveTextfieldDirective, selector: "tui-primitive-textfield" }, { kind: "directive", type: i5.TuiWrapperDirective, selector: "[tuiWrapper]", inputs: ["disabled", "readOnly", "hover", "active", "focus", "invalid", "appearance"] }, { kind: "directive", type: i5.TuiTextfieldIconDirective, selector: "[tuiTextfieldIcon]", inputs: ["tuiTextfieldIcon"] }, { kind: "directive", type: i5.TuiLegacyDropdownOpenMonitorDirective, selector: "[tuiDropdownOpenMonitor]" }, { kind: "directive", type: i1.TuiDropdownDirective, selector: "[tuiDropdown]:not(ng-container):not(ng-template)", inputs: ["tuiDropdown"], exportAs: ["tuiDropdown"] }, { kind: "directive", type: i1.TuiDropdownOpen, selector: "[tuiDropdown][tuiDropdownOpen],[tuiDropdown][tuiDropdownOpenChange]", inputs: ["tuiDropdownEnabled", "tuiDropdownOpen"], outputs: ["tuiDropdownOpenChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
147
- }
148
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: TuiComboBoxComponent, decorators: [{
149
- type: Component,
150
- args: [{ standalone: false, selector: 'tui-combo-box', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
151
- tuiAsFocusableItemAccessor(TuiComboBoxComponent),
152
- tuiAsDataListHost(TuiComboBoxComponent),
153
- tuiAsControl(TuiComboBoxComponent),
154
- tuiAsOptionContent(TUI_SELECT_OPTION),
155
- ], hostDirectives: [TuiDropdownFixed], host: {
156
- '[attr.data-size]': 'size',
157
- }, template: "<div\n tuiDropdownOpenMonitor\n class=\"t-hosted\"\n [tuiDropdown]=\"datalist || ''\"\n [tuiDropdownEnabled]=\"interactive && !!datalist\"\n [(tuiDropdownOpen)]=\"open\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n>\n <tui-primitive-textfield\n automation-id=\"tui-combo-box__textfield\"\n class=\"t-textfield\"\n [disabled]=\"computedDisabled\"\n [focusable]=\"computedFocusable\"\n [invalid]=\"computedInvalid\"\n [nativeId]=\"nativeId\"\n [pseudoFocus]=\"computedFocused\"\n [pseudoHover]=\"pseudoHover\"\n [readOnly]=\"readOnly\"\n [tuiTextfieldIcon]=\"arrow ? icon : ''\"\n [value]=\"nativeValue\"\n (click)=\"toggle()\"\n (keydown.enter)=\"onFieldKeyDownEnter($event)\"\n (valueChange)=\"onValueChange($event)\"\n >\n <ng-content />\n <ng-content\n ngProjectAs=\"input\"\n select=\"input\"\n />\n <div\n *ngIf=\"showValueTemplate\"\n automation-id=\"tui-combo-box__template\"\n ngProjectAs=\"tuiContent\"\n class=\"t-value\"\n >\n <ng-container\n *polymorpheusOutlet=\"computedContent as text; context: {$implicit: value!, active: computedFocused}\"\n >\n {{ text }}\n </ng-container>\n </div>\n </tui-primitive-textfield>\n\n <ng-template #icon>\n <div\n appearance=\"icon\"\n tuiWrapper\n class=\"t-icon\"\n >\n <ng-container *polymorpheusOutlet=\"arrow\" />\n </div>\n </ng-template>\n</div>\n", styles: [":host{display:block;border-radius:var(--tui-radius-m);text-align:start}:host :host-context(*:disabled){pointer-events:none}.t-hosted{display:block;border-radius:inherit}.t-textfield{border-radius:inherit;text-align:inherit}.t-value{display:flex;inline-size:100%;align-items:center}.t-icon{pointer-events:auto}\n"] }]
158
- }], propDecorators: { accessor: [{
159
- type: ContentChild,
160
- args: [TUI_DATA_LIST_ACCESSOR]
161
- }], dropdown: [{
162
- type: ViewChild,
163
- args: [TuiDropdownOpen]
164
- }], textfield: [{
165
- type: ViewChild,
166
- args: [TuiPrimitiveTextfieldComponent]
167
- }], datalist: [{
168
- type: ContentChild,
169
- args: [TuiDataListDirective, { read: TemplateRef }]
170
- }], stringify: [{
171
- type: Input
172
- }], strictMatcher: [{
173
- type: Input
174
- }], identityMatcher: [{
175
- type: Input
176
- }], valueContent: [{
177
- type: Input
178
- }], strict: [{
179
- type: Input
180
- }], search: [{
181
- type: Input
182
- }], searchChange: [{
183
- type: Output
184
- }] } });
185
-
186
- /**
187
- * TODO(v5): delete it
188
- * @deprecated use new version of {@link https://taiga-ui.dev/components/combo-box TuiComboBox} (from @taiga-ui/kit) instead
189
- */
190
- class TuiComboBoxDirective extends AbstractTuiTextfieldHost {
191
- get value() {
192
- return this.host.nativeValue;
193
- }
194
- onValueChange(value) {
195
- this.host.onValueChange(value);
196
- }
197
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: TuiComboBoxDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
198
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.9", type: TuiComboBoxDirective, isStandalone: false, selector: "tui-combo-box", providers: [tuiAsTextfieldHost(TuiComboBoxDirective)], usesInheritance: true, ngImport: i0 }); }
199
- }
200
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: TuiComboBoxDirective, decorators: [{
201
- type: Directive,
202
- args: [{
203
- standalone: false,
204
- selector: 'tui-combo-box',
205
- providers: [tuiAsTextfieldHost(TuiComboBoxDirective)],
206
- }]
207
- }] });
208
-
209
- /**
210
- * TODO(v5): delete it
211
- * @deprecated use new version of {@link https://taiga-ui.dev/components/combo-box TuiComboBox} (from @taiga-ui/kit) instead
212
- */
213
- class TuiComboBoxStrictDirective {
214
- constructor() {
215
- this.comboBox = inject((TuiComboBoxComponent));
216
- this.strict = true;
217
- }
218
- onInput() {
219
- if (!this.strict && this.comboBox.search) {
220
- this.comboBox.value = this.comboBox.search;
221
- }
222
- }
223
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: TuiComboBoxStrictDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
224
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.9", type: TuiComboBoxStrictDirective, isStandalone: false, selector: "tui-combo-box[strict]", inputs: { strict: "strict" }, host: { listeners: { "input": "onInput()" } }, ngImport: i0 }); }
225
- }
226
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: TuiComboBoxStrictDirective, decorators: [{
227
- type: Directive,
228
- args: [{
229
- standalone: false,
230
- selector: 'tui-combo-box[strict]',
231
- host: {
232
- '(input)': 'onInput()',
233
- },
234
- }]
235
- }], propDecorators: { strict: [{
236
- type: Input
237
- }] } });
238
-
239
- /**
240
- * TODO(v5): delete it
241
- * @deprecated use new version of {@link https://taiga-ui.dev/components/combo-box TuiComboBox} (from @taiga-ui/kit) instead
242
- */
243
- class TuiComboBoxModule {
244
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: TuiComboBoxModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
245
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.9", ngImport: i0, type: TuiComboBoxModule, declarations: [TuiComboBoxComponent,
246
- TuiComboBoxStrictDirective,
247
- TuiComboBoxDirective], imports: [CommonModule,
248
- PolymorpheusOutlet,
249
- PolymorpheusTemplate,
250
- TuiPrimitiveTextfieldModule,
251
- TuiSelectOptionModule,
252
- TuiArrowComponent,
253
- TuiWrapperModule,
254
- TuiTextfieldControllerModule,
255
- TuiLegacyDropdownOpenMonitorDirective, i1.TuiDropdownOptionsDirective, i1.TuiDropdownDriverDirective, i1.TuiDropdownDirective, i1.TuiDropdownComponent, i1.TuiDropdownOpen, i1.TuiDropdownOpenLegacy, i1.TuiDropdownPortal, i1.TuiDropdownManual, i1.TuiDropdownHover, i1.TuiDropdownContext, i1.TuiDropdownPosition, i1.TuiDropdownPositionSided, i1.TuiDropdownSelection], exports: [TuiComboBoxComponent,
256
- TuiComboBoxStrictDirective,
257
- TuiComboBoxDirective,
258
- TuiTextfieldComponent, i1.TuiDropdownOptionsDirective, i1.TuiDropdownDriverDirective, i1.TuiDropdownDirective, i1.TuiDropdownComponent, i1.TuiDropdownOpen, i1.TuiDropdownOpenLegacy, i1.TuiDropdownPortal, i1.TuiDropdownManual, i1.TuiDropdownHover, i1.TuiDropdownContext, i1.TuiDropdownPosition, i1.TuiDropdownPositionSided, i1.TuiDropdownSelection] }); }
259
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: TuiComboBoxModule, imports: [CommonModule,
260
- TuiPrimitiveTextfieldModule,
261
- TuiSelectOptionModule,
262
- TuiArrowComponent,
263
- TuiWrapperModule,
264
- TuiTextfieldControllerModule, i1.TuiDropdownComponent] }); }
265
- }
266
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: TuiComboBoxModule, decorators: [{
267
- type: NgModule,
268
- args: [{
269
- imports: [
270
- CommonModule,
271
- PolymorpheusOutlet,
272
- PolymorpheusTemplate,
273
- TuiPrimitiveTextfieldModule,
274
- TuiSelectOptionModule,
275
- TuiArrowComponent,
276
- TuiWrapperModule,
277
- TuiTextfieldControllerModule,
278
- TuiLegacyDropdownOpenMonitorDirective,
279
- ...TuiDropdown,
280
- ],
281
- declarations: [
282
- TuiComboBoxComponent,
283
- TuiComboBoxStrictDirective,
284
- TuiComboBoxDirective,
285
- ],
286
- exports: [
287
- TuiComboBoxComponent,
288
- TuiComboBoxStrictDirective,
289
- TuiComboBoxDirective,
290
- TuiTextfieldComponent,
291
- ...TuiDropdown,
292
- ],
293
- }]
294
- }] });
295
-
296
- /**
297
- * Generated bundle index. Do not edit.
298
- */
299
-
300
- export { TuiComboBoxComponent, TuiComboBoxDirective, TuiComboBoxModule, TuiComboBoxStrictDirective };
301
- //# sourceMappingURL=taiga-ui-legacy-components-combo-box.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"taiga-ui-legacy-components-combo-box.mjs","sources":["../../../projects/legacy/components/combo-box/combo-box.component.ts","../../../projects/legacy/components/combo-box/combo-box.template.html","../../../projects/legacy/components/combo-box/combo-box.directive.ts","../../../projects/legacy/components/combo-box/combo-box-strict.directive.ts","../../../projects/legacy/components/combo-box/combo-box.module.ts","../../../projects/legacy/components/combo-box/taiga-ui-legacy-components-combo-box.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n EventEmitter,\n inject,\n Input,\n Output,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\nimport {TUI_STRICT_MATCHER} from '@taiga-ui/cdk/constants';\nimport {type TuiActiveZone} from '@taiga-ui/cdk/directives/active-zone';\nimport {type TuiContext, type TuiStringMatcher} from '@taiga-ui/cdk/types';\nimport {tuiIsNativeFocused} from '@taiga-ui/cdk/utils/focus';\nimport {tuiIsPresent} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {\n TUI_DATA_LIST_ACCESSOR,\n tuiAsDataListHost,\n tuiAsOptionContent,\n type TuiDataListAccessor,\n TuiDataListDirective,\n type TuiDataListHost,\n} from '@taiga-ui/core/components/data-list';\nimport {TuiDropdownFixed, TuiDropdownOpen} from '@taiga-ui/core/directives/dropdown';\nimport {\n type TuiSizeL,\n type TuiSizeM,\n type TuiSizeS,\n type TuiValueContentContext,\n} from '@taiga-ui/core/types';\nimport {TUI_ITEMS_HANDLERS, type TuiItemsHandlers} from '@taiga-ui/kit/tokens';\nimport {AbstractTuiNullableControl, tuiAsControl} from '@taiga-ui/legacy/classes';\nimport {TUI_ARROW_MODE} from '@taiga-ui/legacy/components/arrow';\nimport {TuiPrimitiveTextfieldComponent} from '@taiga-ui/legacy/components/primitive-textfield';\nimport {TUI_SELECT_OPTION} from '@taiga-ui/legacy/components/select-option';\nimport {TUI_TEXTFIELD_SIZE} from '@taiga-ui/legacy/directives';\nimport {\n tuiAsFocusableItemAccessor,\n type TuiFocusableElementAccessor,\n} from '@taiga-ui/legacy/tokens';\nimport {type PolymorpheusContent} from '@taiga-ui/polymorpheus';\n\n/**\n * TODO(v5): delete it\n * @deprecated use new version of {@link https://taiga-ui.dev/components/combo-box TuiComboBox} (from @taiga-ui/kit) instead\n */\n@Component({\n standalone: false,\n selector: 'tui-combo-box',\n templateUrl: './combo-box.template.html',\n styleUrls: ['./combo-box.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiAsFocusableItemAccessor(TuiComboBoxComponent),\n tuiAsDataListHost(TuiComboBoxComponent),\n tuiAsControl(TuiComboBoxComponent),\n tuiAsOptionContent(TUI_SELECT_OPTION),\n ],\n hostDirectives: [TuiDropdownFixed],\n host: {\n '[attr.data-size]': 'size',\n },\n})\nexport class TuiComboBoxComponent<T>\n extends AbstractTuiNullableControl<T>\n implements TuiFocusableElementAccessor, TuiDataListHost<T>\n{\n @ContentChild(TUI_DATA_LIST_ACCESSOR as any)\n private readonly accessor?: TuiDataListAccessor<T>;\n\n @ViewChild(TuiDropdownOpen)\n private readonly dropdown?: TuiDropdownOpen;\n\n @ViewChild(TuiPrimitiveTextfieldComponent)\n private readonly textfield?: TuiPrimitiveTextfieldComponent;\n\n private readonly arrowMode = inject(TUI_ARROW_MODE);\n private readonly itemsHandlers = inject<TuiItemsHandlers<T>>(TUI_ITEMS_HANDLERS);\n private readonly textfieldSize = inject(TUI_TEXTFIELD_SIZE);\n\n @ContentChild(TuiDataListDirective, {read: TemplateRef})\n protected readonly datalist: PolymorpheusContent<TuiContext<TuiActiveZone>>;\n\n @Input()\n public stringify: TuiItemsHandlers<T>['stringify'] = this.itemsHandlers.stringify;\n\n @Input()\n public strictMatcher: TuiStringMatcher<T> | null = TUI_STRICT_MATCHER;\n\n @Input()\n public identityMatcher: TuiItemsHandlers<T>['identityMatcher'] =\n this.itemsHandlers.identityMatcher;\n\n @Input()\n public valueContent: PolymorpheusContent<TuiValueContentContext<T>>;\n\n @Input()\n public strict = true;\n\n @Input()\n public search: string | null = null;\n\n @Output()\n public readonly searchChange = new EventEmitter<string | null>();\n\n public open = false;\n\n public get size(): TuiSizeL | TuiSizeS {\n return this.textfieldSize.size;\n }\n\n public get nativeFocusableElement(): HTMLInputElement | null {\n return this.textfield?.nativeFocusableElement ?? null;\n }\n\n public get focused(): boolean {\n return (\n tuiIsNativeFocused(this.nativeFocusableElement) ||\n !!this.dropdown?.tuiDropdownOpen\n );\n }\n\n public get nativeValue(): string {\n return this.value === null ? this.search || '' : this.stringify(this.value);\n }\n\n public checkOption(option: T): void {\n if (!this.isStrictMatch(option)) {\n return;\n }\n\n this.value = option;\n this.updateSearch(null);\n }\n\n public handleOption(item: T): void {\n this.focusInput();\n this.close();\n this.updateSearch(null);\n this.value = item;\n\n if (this.value) {\n this.setNativeValue(this.stringify(item));\n }\n }\n\n public onValueChange(value: string): void {\n this.updateSearch(value);\n\n const match = this.accessor\n ?.getOptions()\n .find((item) => this.isStrictMatch(item));\n\n if (match !== undefined) {\n this.value = match;\n this.updateSearch(null);\n\n return;\n }\n\n if (this.strict || this.search === '') {\n this.value = null;\n }\n\n // Clearing sets the empty value, the dropdown should not be opened on clear.\n if (this.search !== '') {\n this.open = true;\n }\n }\n\n public toggle(): void {\n if (this.interactive) {\n this.open = !this.open;\n }\n }\n\n protected get arrow(): PolymorpheusContent<\n TuiContext<TuiSizeL | TuiSizeM | TuiSizeS>\n > {\n return !this.interactive ? this.arrowMode.disabled : this.arrowMode.interactive;\n }\n\n protected get showValueTemplate(): boolean {\n return tuiIsPresent(this.value) && !this.focused;\n }\n\n protected get computedContent(): PolymorpheusContent<TuiValueContentContext<T>> {\n return this.valueContent || this.nativeValue;\n }\n\n protected onActiveZone(active: boolean): void {\n this.updateFocused(active);\n }\n\n protected onFieldKeyDownEnter(event: Event): void {\n if (this.open) {\n event.preventDefault();\n }\n\n const options = this.accessor?.getOptions() || [];\n\n if (options.length !== 1) {\n return;\n }\n\n this.value = options[0] ?? null;\n this.updateSearch(null);\n this.close();\n }\n\n private isStrictMatch(item: T): boolean {\n return !!this.search && !!this.strictMatcher?.(item, this.search, this.stringify);\n }\n\n private close(): void {\n this.open = false;\n }\n\n private updateSearch(search: string | null): void {\n if (this.search === search) {\n return;\n }\n\n this.search = search;\n this.searchChange.emit(search);\n }\n\n private setNativeValue(value: string): void {\n if (this.nativeFocusableElement) {\n this.nativeFocusableElement.value = value;\n }\n }\n\n private focusInput(preventScroll = false): void {\n if (this.nativeFocusableElement) {\n this.nativeFocusableElement.focus({preventScroll});\n }\n }\n}\n","<div\n tuiDropdownOpenMonitor\n class=\"t-hosted\"\n [tuiDropdown]=\"datalist || ''\"\n [tuiDropdownEnabled]=\"interactive && !!datalist\"\n [(tuiDropdownOpen)]=\"open\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n>\n <tui-primitive-textfield\n automation-id=\"tui-combo-box__textfield\"\n class=\"t-textfield\"\n [disabled]=\"computedDisabled\"\n [focusable]=\"computedFocusable\"\n [invalid]=\"computedInvalid\"\n [nativeId]=\"nativeId\"\n [pseudoFocus]=\"computedFocused\"\n [pseudoHover]=\"pseudoHover\"\n [readOnly]=\"readOnly\"\n [tuiTextfieldIcon]=\"arrow ? icon : ''\"\n [value]=\"nativeValue\"\n (click)=\"toggle()\"\n (keydown.enter)=\"onFieldKeyDownEnter($event)\"\n (valueChange)=\"onValueChange($event)\"\n >\n <ng-content />\n <ng-content\n ngProjectAs=\"input\"\n select=\"input\"\n />\n <div\n *ngIf=\"showValueTemplate\"\n automation-id=\"tui-combo-box__template\"\n ngProjectAs=\"tuiContent\"\n class=\"t-value\"\n >\n <ng-container\n *polymorpheusOutlet=\"computedContent as text; context: {$implicit: value!, active: computedFocused}\"\n >\n {{ text }}\n </ng-container>\n </div>\n </tui-primitive-textfield>\n\n <ng-template #icon>\n <div\n appearance=\"icon\"\n tuiWrapper\n class=\"t-icon\"\n >\n <ng-container *polymorpheusOutlet=\"arrow\" />\n </div>\n </ng-template>\n</div>\n","import {Directive} from '@angular/core';\nimport {AbstractTuiTextfieldHost} from '@taiga-ui/legacy/classes';\nimport {tuiAsTextfieldHost} from '@taiga-ui/legacy/tokens';\n\nimport {type TuiComboBoxComponent} from './combo-box.component';\n\n/**\n * TODO(v5): delete it\n * @deprecated use new version of {@link https://taiga-ui.dev/components/combo-box TuiComboBox} (from @taiga-ui/kit) instead\n */\n@Directive({\n standalone: false,\n selector: 'tui-combo-box',\n providers: [tuiAsTextfieldHost(TuiComboBoxDirective)],\n})\nexport class TuiComboBoxDirective extends AbstractTuiTextfieldHost<\n TuiComboBoxComponent<unknown>\n> {\n public override get value(): string {\n return this.host.nativeValue;\n }\n\n public onValueChange(value: string): void {\n this.host.onValueChange(value);\n }\n}\n","import {Directive, inject, Input} from '@angular/core';\n\nimport {TuiComboBoxComponent} from './combo-box.component';\n\n/**\n * TODO(v5): delete it\n * @deprecated use new version of {@link https://taiga-ui.dev/components/combo-box TuiComboBox} (from @taiga-ui/kit) instead\n */\n@Directive({\n standalone: false,\n selector: 'tui-combo-box[strict]',\n host: {\n '(input)': 'onInput()',\n },\n})\nexport class TuiComboBoxStrictDirective<T> {\n private readonly comboBox = inject(TuiComboBoxComponent<T | string>);\n\n @Input()\n public strict = true;\n\n protected onInput(): void {\n if (!this.strict && this.comboBox.search) {\n this.comboBox.value = this.comboBox.search;\n }\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiDropdown} from '@taiga-ui/core/directives/dropdown';\nimport {TuiArrowComponent} from '@taiga-ui/legacy/components/arrow';\nimport {\n TuiPrimitiveTextfieldModule,\n TuiTextfieldComponent,\n} from '@taiga-ui/legacy/components/primitive-textfield';\nimport {TuiSelectOptionModule} from '@taiga-ui/legacy/components/select-option';\nimport {\n TuiLegacyDropdownOpenMonitorDirective,\n TuiTextfieldControllerModule,\n TuiWrapperModule,\n} from '@taiga-ui/legacy/directives';\nimport {PolymorpheusOutlet, PolymorpheusTemplate} from '@taiga-ui/polymorpheus';\n\nimport {TuiComboBoxComponent} from './combo-box.component';\nimport {TuiComboBoxDirective} from './combo-box.directive';\nimport {TuiComboBoxStrictDirective} from './combo-box-strict.directive';\n\n/**\n * TODO(v5): delete it\n * @deprecated use new version of {@link https://taiga-ui.dev/components/combo-box TuiComboBox} (from @taiga-ui/kit) instead\n */\n@NgModule({\n imports: [\n CommonModule,\n PolymorpheusOutlet,\n PolymorpheusTemplate,\n TuiPrimitiveTextfieldModule,\n TuiSelectOptionModule,\n TuiArrowComponent,\n TuiWrapperModule,\n TuiTextfieldControllerModule,\n TuiLegacyDropdownOpenMonitorDirective,\n ...TuiDropdown,\n ],\n declarations: [\n TuiComboBoxComponent,\n TuiComboBoxStrictDirective,\n TuiComboBoxDirective,\n ],\n exports: [\n TuiComboBoxComponent,\n TuiComboBoxStrictDirective,\n TuiComboBoxDirective,\n TuiTextfieldComponent,\n ...TuiDropdown,\n ],\n})\nexport class TuiComboBoxModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}