@taiga-ui/legacy 4.5.0 → 4.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (186) hide show
  1. package/components/input-copy/input-copy.component.d.ts +3 -0
  2. package/components/input-copy/input-copy.directive.d.ts +3 -0
  3. package/components/input-copy/input-copy.module.d.ts +3 -0
  4. package/components/input-copy/input-copy.options.d.ts +12 -0
  5. package/components/input-date-range/input-date-range.component.d.ts +1 -1
  6. package/components/input-password/input-password.component.d.ts +1 -1
  7. package/components/input-password/input-password.directive.d.ts +1 -1
  8. package/components/input-password/input-password.module.d.ts +1 -1
  9. package/components/input-password/input-password.options.d.ts +4 -4
  10. package/esm2022/classes/abstract-native-select.mjs +2 -1
  11. package/esm2022/classes/control.mjs +2 -1
  12. package/esm2022/classes/interactive.mjs +2 -1
  13. package/esm2022/components/arrow/arrow.component.mjs +3 -3
  14. package/esm2022/components/color-selector/color-edit/color-edit.component.mjs +3 -3
  15. package/esm2022/components/color-selector/color-picker/color-picker.component.mjs +2 -2
  16. package/esm2022/components/color-selector/color-selector.component.mjs +3 -3
  17. package/esm2022/components/color-selector/flat-picker/flat-picker.component.mjs +2 -2
  18. package/esm2022/components/color-selector/linear-multi-picker/linear-multi-picker.component.mjs +2 -2
  19. package/esm2022/components/color-selector/linear-picker/linear-picker.component.mjs +2 -2
  20. package/esm2022/components/color-selector/palette/palette.component.mjs +2 -2
  21. package/esm2022/components/combo-box/combo-box-strict.directive.mjs +2 -1
  22. package/esm2022/components/combo-box/combo-box.component.mjs +2 -2
  23. package/esm2022/components/combo-box/combo-box.directive.mjs +2 -1
  24. package/esm2022/components/input/input.component.mjs +2 -2
  25. package/esm2022/components/input/input.directive.mjs +2 -1
  26. package/esm2022/components/input-color/input-color.component.mjs +2 -2
  27. package/esm2022/components/input-copy/input-copy.component.mjs +5 -2
  28. package/esm2022/components/input-copy/input-copy.directive.mjs +5 -1
  29. package/esm2022/components/input-copy/input-copy.module.mjs +4 -1
  30. package/esm2022/components/input-copy/input-copy.options.mjs +10 -1
  31. package/esm2022/components/input-date/input-date.component.mjs +2 -2
  32. package/esm2022/components/input-date/input-date.directive.mjs +2 -1
  33. package/esm2022/components/input-date/native-date/native-date.component.mjs +2 -1
  34. package/esm2022/components/input-date-multi/input-date-multi.component.mjs +2 -2
  35. package/esm2022/components/input-date-range/input-date-range.component.mjs +2 -3
  36. package/esm2022/components/input-date-range/input-date-range.directive.mjs +2 -1
  37. package/esm2022/components/input-date-time/input-date-time.component.mjs +2 -2
  38. package/esm2022/components/input-date-time/input-date-time.directive.mjs +2 -1
  39. package/esm2022/components/input-date-time/native-date-time/native-date-time.directive.mjs +2 -1
  40. package/esm2022/components/input-month/input-month.component.mjs +2 -2
  41. package/esm2022/components/input-month/input-month.directive.mjs +2 -1
  42. package/esm2022/components/input-month-range/input-month-range.component.mjs +2 -2
  43. package/esm2022/components/input-month-range/input-month-range.directive.mjs +2 -1
  44. package/esm2022/components/input-number/input-number.component.mjs +2 -2
  45. package/esm2022/components/input-number/input-number.directive.mjs +2 -1
  46. package/esm2022/components/input-password/input-password.component.mjs +3 -3
  47. package/esm2022/components/input-password/input-password.directive.mjs +3 -2
  48. package/esm2022/components/input-password/input-password.module.mjs +2 -2
  49. package/esm2022/components/input-password/input-password.options.mjs +4 -4
  50. package/esm2022/components/input-phone/input-phone.component.mjs +2 -2
  51. package/esm2022/components/input-phone/input-phone.directive.mjs +2 -1
  52. package/esm2022/components/input-phone-international/input-phone-international.component.mjs +18 -18
  53. package/esm2022/components/input-range/input-range.component.mjs +2 -2
  54. package/esm2022/components/input-slider/input-slider.component.mjs +2 -2
  55. package/esm2022/components/input-tag/input-tag.component.mjs +2 -2
  56. package/esm2022/components/input-time/input-time.component.mjs +6 -5
  57. package/esm2022/components/input-time/input-time.directive.mjs +2 -1
  58. package/esm2022/components/input-time/native-time/native-time.component.mjs +2 -2
  59. package/esm2022/components/input-year/input-year.component.mjs +2 -2
  60. package/esm2022/components/input-year/input-year.directive.mjs +2 -1
  61. package/esm2022/components/multi-select/hide-selected.pipe.mjs +2 -1
  62. package/esm2022/components/multi-select/multi-select-group/multi-select-group.component.mjs +2 -2
  63. package/esm2022/components/multi-select/multi-select-group/multi-select-group.directive.mjs +2 -1
  64. package/esm2022/components/multi-select/multi-select.component.mjs +2 -2
  65. package/esm2022/components/multi-select/multi-select.directive.mjs +2 -1
  66. package/esm2022/components/multi-select/native-multi-select/native-multi-select-group.component.mjs +2 -2
  67. package/esm2022/components/multi-select/native-multi-select/native-multi-select.component.mjs +2 -2
  68. package/esm2022/components/multi-select-option/multi-select-option.component.mjs +2 -2
  69. package/esm2022/components/primitive-textfield/primitive-textfield.component.mjs +2 -2
  70. package/esm2022/components/primitive-textfield/primitive-textfield.directive.mjs +2 -1
  71. package/esm2022/components/primitive-textfield/textfield/textfield.component.mjs +2 -2
  72. package/esm2022/components/primitive-textfield/value-decoration/value-decoration.component.mjs +2 -2
  73. package/esm2022/components/select/native-select/native-select-group.component.mjs +2 -2
  74. package/esm2022/components/select/native-select/native-select.component.mjs +2 -2
  75. package/esm2022/components/select/select.component.mjs +2 -2
  76. package/esm2022/components/select/select.directive.mjs +2 -1
  77. package/esm2022/components/select-option/select-option.component.mjs +4 -4
  78. package/esm2022/components/sheet/components/sheet/sheet.component.mjs +2 -2
  79. package/esm2022/components/sheet/components/sheet-bar/sheet-bar.component.mjs +2 -2
  80. package/esm2022/components/sheet/components/sheet-heading/sheet-heading.component.mjs +2 -2
  81. package/esm2022/components/sheet/components/sheets-host/sheets-host.component.mjs +2 -2
  82. package/esm2022/components/sheet/directives/sheet-close/sheet-close.directive.mjs +2 -1
  83. package/esm2022/components/sheet/directives/sheet-stop/sheet-stop.directive.mjs +2 -1
  84. package/esm2022/components/sheet/directives/sheet-top/sheet-top.directive.mjs +2 -1
  85. package/esm2022/components/sheet/directives/sheet-wrapper/sheet-wrapper.directive.mjs +2 -1
  86. package/esm2022/components/sheet/sheet.directive.mjs +2 -1
  87. package/esm2022/components/svg/svg.component.mjs +2 -2
  88. package/esm2022/components/table-bar/table-bar.component.mjs +5 -5
  89. package/esm2022/components/table-bar/table-bars-host.component.mjs +3 -3
  90. package/esm2022/components/tag/tag.component.mjs +2 -2
  91. package/esm2022/components/textarea/textarea.component.mjs +2 -2
  92. package/esm2022/components/textarea/textarea.directive.mjs +2 -1
  93. package/esm2022/components/tooltip/tooltip.component.mjs +2 -2
  94. package/esm2022/directives/textfield-controller/textfield-appearance.directive.mjs +2 -1
  95. package/esm2022/directives/textfield-controller/textfield-cleaner.directive.mjs +2 -1
  96. package/esm2022/directives/textfield-controller/textfield-custom-content.directive.mjs +2 -1
  97. package/esm2022/directives/textfield-controller/textfield-filler.directive.mjs +2 -1
  98. package/esm2022/directives/textfield-controller/textfield-icon-left.directive.mjs +2 -1
  99. package/esm2022/directives/textfield-controller/textfield-icon.directive.mjs +2 -1
  100. package/esm2022/directives/textfield-controller/textfield-label-outside.directive.mjs +2 -1
  101. package/esm2022/directives/textfield-controller/textfield-postfix.directive.mjs +2 -1
  102. package/esm2022/directives/textfield-controller/textfield-prefix.directive.mjs +2 -1
  103. package/esm2022/directives/textfield-controller/textfield-size.directive.mjs +2 -1
  104. package/esm2022/directives/value-accessor/value-accessor.directive.mjs +2 -1
  105. package/esm2022/directives/wrapper/wrapper.directive.mjs +2 -1
  106. package/esm2022/pipes/to-country-code/to-country-code.pipe.mjs +3 -3
  107. package/esm2022/utils/iso-to-country-code.mjs +2 -2
  108. package/fesm2022/taiga-ui-legacy-classes.mjs +3 -0
  109. package/fesm2022/taiga-ui-legacy-classes.mjs.map +1 -1
  110. package/fesm2022/taiga-ui-legacy-components-arrow.mjs +3 -3
  111. package/fesm2022/taiga-ui-legacy-components-arrow.mjs.map +1 -1
  112. package/fesm2022/taiga-ui-legacy-components-color-selector.mjs +9 -9
  113. package/fesm2022/taiga-ui-legacy-components-color-selector.mjs.map +1 -1
  114. package/fesm2022/taiga-ui-legacy-components-combo-box.mjs +3 -1
  115. package/fesm2022/taiga-ui-legacy-components-combo-box.mjs.map +1 -1
  116. package/fesm2022/taiga-ui-legacy-components-input-color.mjs +1 -1
  117. package/fesm2022/taiga-ui-legacy-components-input-color.mjs.map +1 -1
  118. package/fesm2022/taiga-ui-legacy-components-input-copy.mjs +20 -1
  119. package/fesm2022/taiga-ui-legacy-components-input-copy.mjs.map +1 -1
  120. package/fesm2022/taiga-ui-legacy-components-input-date-multi.mjs +1 -1
  121. package/fesm2022/taiga-ui-legacy-components-input-date-multi.mjs.map +1 -1
  122. package/fesm2022/taiga-ui-legacy-components-input-date-range.mjs +4 -3
  123. package/fesm2022/taiga-ui-legacy-components-input-date-range.mjs.map +1 -1
  124. package/fesm2022/taiga-ui-legacy-components-input-date-time.mjs +3 -1
  125. package/fesm2022/taiga-ui-legacy-components-input-date-time.mjs.map +1 -1
  126. package/fesm2022/taiga-ui-legacy-components-input-date.mjs +3 -1
  127. package/fesm2022/taiga-ui-legacy-components-input-date.mjs.map +1 -1
  128. package/fesm2022/taiga-ui-legacy-components-input-month-range.mjs +2 -1
  129. package/fesm2022/taiga-ui-legacy-components-input-month-range.mjs.map +1 -1
  130. package/fesm2022/taiga-ui-legacy-components-input-month.mjs +2 -1
  131. package/fesm2022/taiga-ui-legacy-components-input-month.mjs.map +1 -1
  132. package/fesm2022/taiga-ui-legacy-components-input-number.mjs +2 -1
  133. package/fesm2022/taiga-ui-legacy-components-input-number.mjs.map +1 -1
  134. package/fesm2022/taiga-ui-legacy-components-input-password.mjs +8 -7
  135. package/fesm2022/taiga-ui-legacy-components-input-password.mjs.map +1 -1
  136. package/fesm2022/taiga-ui-legacy-components-input-phone-international.mjs +18 -18
  137. package/fesm2022/taiga-ui-legacy-components-input-phone-international.mjs.map +1 -1
  138. package/fesm2022/taiga-ui-legacy-components-input-phone.mjs +2 -1
  139. package/fesm2022/taiga-ui-legacy-components-input-phone.mjs.map +1 -1
  140. package/fesm2022/taiga-ui-legacy-components-input-range.mjs +1 -1
  141. package/fesm2022/taiga-ui-legacy-components-input-range.mjs.map +1 -1
  142. package/fesm2022/taiga-ui-legacy-components-input-slider.mjs +1 -1
  143. package/fesm2022/taiga-ui-legacy-components-input-slider.mjs.map +1 -1
  144. package/fesm2022/taiga-ui-legacy-components-input-tag.mjs +1 -1
  145. package/fesm2022/taiga-ui-legacy-components-input-tag.mjs.map +1 -1
  146. package/fesm2022/taiga-ui-legacy-components-input-time.mjs +7 -5
  147. package/fesm2022/taiga-ui-legacy-components-input-time.mjs.map +1 -1
  148. package/fesm2022/taiga-ui-legacy-components-input-year.mjs +2 -1
  149. package/fesm2022/taiga-ui-legacy-components-input-year.mjs.map +1 -1
  150. package/fesm2022/taiga-ui-legacy-components-input.mjs +2 -1
  151. package/fesm2022/taiga-ui-legacy-components-input.mjs.map +1 -1
  152. package/fesm2022/taiga-ui-legacy-components-multi-select-option.mjs +1 -1
  153. package/fesm2022/taiga-ui-legacy-components-multi-select-option.mjs.map +1 -1
  154. package/fesm2022/taiga-ui-legacy-components-multi-select.mjs +7 -4
  155. package/fesm2022/taiga-ui-legacy-components-multi-select.mjs.map +1 -1
  156. package/fesm2022/taiga-ui-legacy-components-primitive-textfield.mjs +4 -3
  157. package/fesm2022/taiga-ui-legacy-components-primitive-textfield.mjs.map +1 -1
  158. package/fesm2022/taiga-ui-legacy-components-select-option.mjs +3 -3
  159. package/fesm2022/taiga-ui-legacy-components-select-option.mjs.map +1 -1
  160. package/fesm2022/taiga-ui-legacy-components-select.mjs +4 -3
  161. package/fesm2022/taiga-ui-legacy-components-select.mjs.map +1 -1
  162. package/fesm2022/taiga-ui-legacy-components-sheet.mjs +9 -4
  163. package/fesm2022/taiga-ui-legacy-components-sheet.mjs.map +1 -1
  164. package/fesm2022/taiga-ui-legacy-components-svg.mjs +1 -1
  165. package/fesm2022/taiga-ui-legacy-components-svg.mjs.map +1 -1
  166. package/fesm2022/taiga-ui-legacy-components-table-bar.mjs +6 -6
  167. package/fesm2022/taiga-ui-legacy-components-table-bar.mjs.map +1 -1
  168. package/fesm2022/taiga-ui-legacy-components-tag.mjs +1 -1
  169. package/fesm2022/taiga-ui-legacy-components-tag.mjs.map +1 -1
  170. package/fesm2022/taiga-ui-legacy-components-textarea.mjs +2 -1
  171. package/fesm2022/taiga-ui-legacy-components-textarea.mjs.map +1 -1
  172. package/fesm2022/taiga-ui-legacy-components-tooltip.mjs +1 -1
  173. package/fesm2022/taiga-ui-legacy-components-tooltip.mjs.map +1 -1
  174. package/fesm2022/taiga-ui-legacy-directives-textfield-controller.mjs +10 -0
  175. package/fesm2022/taiga-ui-legacy-directives-textfield-controller.mjs.map +1 -1
  176. package/fesm2022/taiga-ui-legacy-directives-value-accessor.mjs +1 -0
  177. package/fesm2022/taiga-ui-legacy-directives-value-accessor.mjs.map +1 -1
  178. package/fesm2022/taiga-ui-legacy-directives-wrapper.mjs +1 -0
  179. package/fesm2022/taiga-ui-legacy-directives-wrapper.mjs.map +1 -1
  180. package/fesm2022/taiga-ui-legacy-pipes-to-country-code.mjs +2 -2
  181. package/fesm2022/taiga-ui-legacy-pipes-to-country-code.mjs.map +1 -1
  182. package/fesm2022/taiga-ui-legacy-utils.mjs +1 -1
  183. package/fesm2022/taiga-ui-legacy-utils.mjs.map +1 -1
  184. package/package.json +1 -1
  185. package/styles/mixins/mixins.less +8 -8
  186. package/utils/icons-path-factory.d.ts +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-legacy-components-arrow.mjs","sources":["../../../projects/legacy/components/arrow/arrow.options.ts","../../../projects/legacy/components/arrow/arrow.component.ts","../../../projects/legacy/components/arrow/arrow.template.html","../../../projects/legacy/components/arrow/arrow.providers.ts","../../../projects/legacy/components/arrow/taiga-ui-legacy-components-arrow.ts"],"sourcesContent":["import type {Provider} from '@angular/core';\nimport {tuiCreateToken, tuiProvideOptions} from '@taiga-ui/cdk/utils/miscellaneous';\nimport type {PolymorpheusContent} from '@taiga-ui/polymorpheus';\n\n/**\n * @deprecated: drop in v5.0 use {@link TuiChevron}\n */\nexport interface TuiArrowOptions {\n readonly iconLarge: PolymorpheusContent;\n readonly iconSmall: PolymorpheusContent;\n}\n\n/**\n * @deprecated: drop in v5.0 use {@link TuiChevron}\n */\nexport const TUI_ARROW_DEFAULT_OPTIONS: TuiArrowOptions = {\n iconSmall: '@tui.chevron-down',\n iconLarge: '@tui.chevron-down',\n};\n\n/**\n * @deprecated: drop in v5.0\n * Default parameters for arrow component\n */\nexport const TUI_ARROW_OPTIONS = tuiCreateToken(TUI_ARROW_DEFAULT_OPTIONS);\n\nexport function tuiArrowOptionsProvider(options: Partial<TuiArrowOptions>): Provider {\n return tuiProvideOptions(TUI_ARROW_OPTIONS, options, TUI_ARROW_DEFAULT_OPTIONS);\n}\n","import {AsyncPipe, NgIf} from '@angular/common';\nimport {ChangeDetectionStrategy, Component, inject} from '@angular/core';\nimport {TuiIcon} from '@taiga-ui/core/components/icon';\nimport {TuiDropdownOpen} from '@taiga-ui/core/directives/dropdown';\nimport {tuiSizeBigger} from '@taiga-ui/core/utils/miscellaneous';\nimport {AbstractTuiControl} from '@taiga-ui/legacy/classes';\nimport {TUI_TEXTFIELD_SIZE} from '@taiga-ui/legacy/directives';\nimport type {PolymorpheusContent} from '@taiga-ui/polymorpheus';\nimport {\n PolymorpheusComponent,\n PolymorpheusOutlet,\n PolymorpheusTemplate,\n} from '@taiga-ui/polymorpheus';\n\nimport {TUI_ARROW_OPTIONS} from './arrow.options';\n\n/**\n * @deprecated: drop in v5.0 use {@link TuiChevron}\n */\n@Component({\n standalone: true,\n selector: 'tui-arrow',\n imports: [PolymorpheusOutlet, PolymorpheusTemplate, NgIf, AsyncPipe, TuiIcon],\n templateUrl: './arrow.template.html',\n styleUrls: ['./arrow.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[class._rotated]': 'rotated',\n '[class._small]': 'small',\n },\n})\nexport class TuiArrowComponent {\n private readonly control: any = inject(AbstractTuiControl, {optional: true});\n private readonly textfieldSize = inject(TUI_TEXTFIELD_SIZE);\n private readonly options = inject(TUI_ARROW_OPTIONS);\n protected readonly directive = inject(TuiDropdownOpen, {optional: true});\n\n protected get rotated(): boolean {\n return this.directive?.tuiDropdownOpen || !!this.control.pseudoOpen || false;\n }\n\n protected get small(): boolean {\n return !tuiSizeBigger(this.textfieldSize.size);\n }\n\n protected get arrowIcon(): PolymorpheusContent {\n return !this.small ? this.options.iconLarge : this.options.iconSmall;\n }\n}\n\nexport const TUI_ARROW = new PolymorpheusComponent(TuiArrowComponent);\n","<tui-icon\n *polymorpheusOutlet=\"arrowIcon as src\"\n [icon]=\"src\"\n/>\n<ng-container *ngIf=\"directive?.tuiDropdownOpenChange | async\" />\n","import type {Provider} from '@angular/core';\nimport type {TuiContext} from '@taiga-ui/cdk/types';\nimport {tuiCreateToken, tuiProvideOptions} from '@taiga-ui/cdk/utils/miscellaneous';\nimport type {TuiSizeL, TuiSizeM, TuiSizeS} from '@taiga-ui/core/types';\nimport type {PolymorpheusContent} from '@taiga-ui/polymorpheus';\n\nimport {TUI_ARROW} from './arrow.component';\n\n/**\n * @deprecated: drop in v5.0 use {@link TuiChevron}\n */\nexport interface TuiArrowMode {\n readonly disabled: PolymorpheusContent<TuiContext<TuiSizeL | TuiSizeM | TuiSizeS>>;\n readonly interactive: PolymorpheusContent<TuiContext<TuiSizeL | TuiSizeM | TuiSizeS>>;\n}\n\n/**\n * @deprecated: drop in v5.0 use {@link TuiChevron}\n */\nexport const TUI_ARROW_DEFAULT_MODE: TuiArrowMode = {\n interactive: TUI_ARROW,\n disabled: TUI_ARROW,\n};\n\n/**\n * @deprecated: drop in v5.0 use {@link TuiChevron}\n */\nexport const TUI_ARROW_MODE = tuiCreateToken(TUI_ARROW_DEFAULT_MODE);\n\n/**\n * @deprecated: drop in v5.0 use {@link TuiChevron}\n */\nexport function tuiArrowModeProvider(options: Partial<TuiArrowMode>): Provider {\n return tuiProvideOptions(TUI_ARROW_MODE, options, TUI_ARROW_DEFAULT_MODE);\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;AAYA;;AAEG;AACU,MAAA,yBAAyB,GAAoB;AACtD,IAAA,SAAS,EAAE,mBAAmB;AAC9B,IAAA,SAAS,EAAE,mBAAmB;EAChC;AAEF;;;AAGG;MACU,iBAAiB,GAAG,cAAc,CAAC,yBAAyB,EAAE;AAErE,SAAU,uBAAuB,CAAC,OAAiC,EAAA;IACrE,OAAO,iBAAiB,CAAC,iBAAiB,EAAE,OAAO,EAAE,yBAAyB,CAAC,CAAC;AACpF;;ACZA;;AAEG;AACH,MAYa,iBAAiB,CAAA;AAZ9B,IAAA,WAAA,GAAA;QAaqB,IAAO,CAAA,OAAA,GAAQ,MAAM,CAAC,kBAAkB,EAAE,EAAC,QAAQ,EAAE,IAAI,EAAC,CAAC,CAAC;AAC5D,QAAA,IAAA,CAAA,aAAa,GAAG,MAAM,CAAC,kBAAkB,CAAC,CAAC;AAC3C,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAC;QAClC,IAAS,CAAA,SAAA,GAAG,MAAM,CAAC,eAAe,EAAE,EAAC,QAAQ,EAAE,IAAI,EAAC,CAAC,CAAC;AAa5E,KAAA;AAXG,IAAA,IAAc,OAAO,GAAA;AACjB,QAAA,OAAO,IAAI,CAAC,SAAS,EAAE,eAAe,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,KAAK,CAAC;KAChF;AAED,IAAA,IAAc,KAAK,GAAA;QACf,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;KAClD;AAED,IAAA,IAAc,SAAS,GAAA;QACnB,OAAO,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;KACxE;+GAhBQ,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;mGAAjB,iBAAiB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,gBAAA,EAAA,SAAA,EAAA,cAAA,EAAA,OAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC/B9B,wJAKA,EDiBc,MAAA,EAAA,CAAA,8PAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,kBAAkB,8HAAwB,IAAI,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAE,SAAS,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,OAAO,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,YAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;4FASnE,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAZ7B,SAAS;AACM,YAAA,IAAA,EAAA,CAAA,EAAA,UAAA,EAAA,IAAI,YACN,WAAW,EAAA,OAAA,EACZ,CAAC,kBAAkB,EAAE,oBAAoB,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,mBAG5D,uBAAuB,CAAC,MAAM,EACzC,IAAA,EAAA;AACF,wBAAA,kBAAkB,EAAE,SAAS;AAC7B,wBAAA,gBAAgB,EAAE,OAAO;AAC5B,qBAAA,EAAA,QAAA,EAAA,wJAAA,EAAA,MAAA,EAAA,CAAA,8PAAA,CAAA,EAAA,CAAA;;MAqBQ,SAAS,GAAG,IAAI,qBAAqB,CAAC,iBAAiB;;AElCpE;;AAEG;AACU,MAAA,sBAAsB,GAAiB;AAChD,IAAA,WAAW,EAAE,SAAS;AACtB,IAAA,QAAQ,EAAE,SAAS;EACrB;AAEF;;AAEG;MACU,cAAc,GAAG,cAAc,CAAC,sBAAsB,EAAE;AAErE;;AAEG;AACG,SAAU,oBAAoB,CAAC,OAA8B,EAAA;IAC/D,OAAO,iBAAiB,CAAC,cAAc,EAAE,OAAO,EAAE,sBAAsB,CAAC,CAAC;AAC9E;;AClCA;;AAEG;;;;"}
1
+ {"version":3,"file":"taiga-ui-legacy-components-arrow.mjs","sources":["../../../projects/legacy/components/arrow/arrow.options.ts","../../../projects/legacy/components/arrow/arrow.component.ts","../../../projects/legacy/components/arrow/arrow.template.html","../../../projects/legacy/components/arrow/arrow.providers.ts","../../../projects/legacy/components/arrow/taiga-ui-legacy-components-arrow.ts"],"sourcesContent":["import type {Provider} from '@angular/core';\nimport {tuiCreateToken, tuiProvideOptions} from '@taiga-ui/cdk/utils/miscellaneous';\nimport type {PolymorpheusContent} from '@taiga-ui/polymorpheus';\n\n/**\n * @deprecated: drop in v5.0 use {@link TuiChevron}\n */\nexport interface TuiArrowOptions {\n readonly iconLarge: PolymorpheusContent;\n readonly iconSmall: PolymorpheusContent;\n}\n\n/**\n * @deprecated: drop in v5.0 use {@link TuiChevron}\n */\nexport const TUI_ARROW_DEFAULT_OPTIONS: TuiArrowOptions = {\n iconSmall: '@tui.chevron-down',\n iconLarge: '@tui.chevron-down',\n};\n\n/**\n * @deprecated: drop in v5.0\n * Default parameters for arrow component\n */\nexport const TUI_ARROW_OPTIONS = tuiCreateToken(TUI_ARROW_DEFAULT_OPTIONS);\n\nexport function tuiArrowOptionsProvider(options: Partial<TuiArrowOptions>): Provider {\n return tuiProvideOptions(TUI_ARROW_OPTIONS, options, TUI_ARROW_DEFAULT_OPTIONS);\n}\n","import {AsyncPipe, NgIf} from '@angular/common';\nimport {ChangeDetectionStrategy, Component, inject} from '@angular/core';\nimport {TuiIcon} from '@taiga-ui/core/components/icon';\nimport {TuiDropdownOpen} from '@taiga-ui/core/directives/dropdown';\nimport {tuiSizeBigger} from '@taiga-ui/core/utils/miscellaneous';\nimport {AbstractTuiControl} from '@taiga-ui/legacy/classes';\nimport {TUI_TEXTFIELD_SIZE} from '@taiga-ui/legacy/directives';\nimport type {PolymorpheusContent} from '@taiga-ui/polymorpheus';\nimport {\n PolymorpheusComponent,\n PolymorpheusOutlet,\n PolymorpheusTemplate,\n} from '@taiga-ui/polymorpheus';\n\nimport {TUI_ARROW_OPTIONS} from './arrow.options';\n\n/**\n * @deprecated: drop in v5.0 use {@link TuiChevron}\n */\n@Component({\n standalone: true,\n selector: 'tui-arrow',\n imports: [AsyncPipe, NgIf, PolymorpheusOutlet, PolymorpheusTemplate, TuiIcon],\n templateUrl: './arrow.template.html',\n styleUrls: ['./arrow.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[class._rotated]': 'rotated',\n '[class._small]': 'small',\n },\n})\nexport class TuiArrowComponent {\n private readonly control: any = inject(AbstractTuiControl, {optional: true});\n private readonly textfieldSize = inject(TUI_TEXTFIELD_SIZE);\n private readonly options = inject(TUI_ARROW_OPTIONS);\n protected readonly directive = inject(TuiDropdownOpen, {optional: true});\n\n protected get rotated(): boolean {\n return this.directive?.tuiDropdownOpen || !!this.control.pseudoOpen || false;\n }\n\n protected get small(): boolean {\n return !tuiSizeBigger(this.textfieldSize.size);\n }\n\n protected get arrowIcon(): PolymorpheusContent {\n return !this.small ? this.options.iconLarge : this.options.iconSmall;\n }\n}\n\nexport const TUI_ARROW = new PolymorpheusComponent(TuiArrowComponent);\n","<tui-icon\n *polymorpheusOutlet=\"arrowIcon as src\"\n [icon]=\"src\"\n/>\n<ng-container *ngIf=\"directive?.tuiDropdownOpenChange | async\" />\n","import type {Provider} from '@angular/core';\nimport type {TuiContext} from '@taiga-ui/cdk/types';\nimport {tuiCreateToken, tuiProvideOptions} from '@taiga-ui/cdk/utils/miscellaneous';\nimport type {TuiSizeL, TuiSizeM, TuiSizeS} from '@taiga-ui/core/types';\nimport type {PolymorpheusContent} from '@taiga-ui/polymorpheus';\n\nimport {TUI_ARROW} from './arrow.component';\n\n/**\n * @deprecated: drop in v5.0 use {@link TuiChevron}\n */\nexport interface TuiArrowMode {\n readonly disabled: PolymorpheusContent<TuiContext<TuiSizeL | TuiSizeM | TuiSizeS>>;\n readonly interactive: PolymorpheusContent<TuiContext<TuiSizeL | TuiSizeM | TuiSizeS>>;\n}\n\n/**\n * @deprecated: drop in v5.0 use {@link TuiChevron}\n */\nexport const TUI_ARROW_DEFAULT_MODE: TuiArrowMode = {\n interactive: TUI_ARROW,\n disabled: TUI_ARROW,\n};\n\n/**\n * @deprecated: drop in v5.0 use {@link TuiChevron}\n */\nexport const TUI_ARROW_MODE = tuiCreateToken(TUI_ARROW_DEFAULT_MODE);\n\n/**\n * @deprecated: drop in v5.0 use {@link TuiChevron}\n */\nexport function tuiArrowModeProvider(options: Partial<TuiArrowMode>): Provider {\n return tuiProvideOptions(TUI_ARROW_MODE, options, TUI_ARROW_DEFAULT_MODE);\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -75,11 +75,11 @@ class TuiColorEditComponent {
75
75
  this.colorChange.emit(color);
76
76
  }
77
77
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiColorEditComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
78
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiColorEditComponent, selector: "tui-color-edit", inputs: { color: "color" }, outputs: { colorChange: "colorChange" }, ngImport: i0, template: "<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 [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", styles: [":host{display:flex}.t-select{inline-size:5.875rem}.t-opacity{inline-size:4.275rem}.t-rgb,.t-opacity{text-align:center}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i3.MaskitoDirective, selector: "[maskito]", inputs: ["maskito", "maskitoElement"] }, { 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.TuiTextfieldLabelOutsideDirective, selector: "[tuiTextfieldLabelOutside]", inputs: ["tuiTextfieldLabelOutside"] }, { kind: "directive", type: i5.TuiTextfieldSizeDirective, selector: "[tuiTextfieldSize]", inputs: ["tuiTextfieldSize"] }, { kind: "directive", type: i5.TuiTextfieldPostfixDirective, selector: "[tuiTextfieldPostfix]", inputs: ["tuiTextfieldPostfix"] }, { kind: "component", type: i6.TuiInputNumberComponent, selector: "tui-input-number", inputs: ["min", "max", "step"] }, { kind: "directive", type: i6.TuiInputNumberDirective, selector: "tui-input-number" }, { kind: "component", type: i7.TuiSelectComponent, selector: "tui-select", inputs: ["stringify", "identityMatcher", "valueContent"] }, { kind: "directive", type: i7.TuiSelectDirective, selector: "tui-select" }, { kind: "directive", type: i1$1.TuiDropdownOptionsDirective, selector: "[tuiDropdownAlign], [tuiDropdownAppearance], [tuiDropdownDirection], [tuiDropdownLimitWidth], [tuiDropdownMinHeight], [tuiDropdownMaxHeight], [tuiDropdownOffset]", inputs: ["tuiDropdownAlign", "tuiDropdownAppearance", "tuiDropdownDirection", "tuiDropdownLimitWidth", "tuiDropdownMinHeight", "tuiDropdownMaxHeight", "tuiDropdownOffset"] }, { kind: "component", type: i2$1.TuiDataListComponent, selector: "tui-data-list", inputs: ["emptyContent", "size"] }, { kind: "directive", type: i2$1.TuiDataListDirective, selector: "ng-template[tuiDataList]" }, { kind: "component", type: i2$1.TuiOption, selector: "button[tuiOption], a[tuiOption], label[tuiOption]", inputs: ["disabled", "value"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
78
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiColorEditComponent, selector: "tui-color-edit", inputs: { color: "color" }, outputs: { colorChange: "colorChange" }, ngImport: i0, template: "<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", styles: [":host{display:flex}.t-select{inline-size:5.875rem}.t-opacity{inline-size:4.275rem}.t-rgb,.t-opacity{text-align:center}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i3.MaskitoDirective, selector: "[maskito]", inputs: ["maskito", "maskitoElement"] }, { 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.TuiTextfieldLabelOutsideDirective, selector: "[tuiTextfieldLabelOutside]", inputs: ["tuiTextfieldLabelOutside"] }, { kind: "directive", type: i5.TuiTextfieldSizeDirective, selector: "[tuiTextfieldSize]", inputs: ["tuiTextfieldSize"] }, { kind: "directive", type: i5.TuiTextfieldPostfixDirective, selector: "[tuiTextfieldPostfix]", inputs: ["tuiTextfieldPostfix"] }, { kind: "component", type: i6.TuiInputNumberComponent, selector: "tui-input-number", inputs: ["min", "max", "step"] }, { kind: "directive", type: i6.TuiInputNumberDirective, selector: "tui-input-number" }, { kind: "component", type: i7.TuiSelectComponent, selector: "tui-select", inputs: ["stringify", "identityMatcher", "valueContent"] }, { kind: "directive", type: i7.TuiSelectDirective, selector: "tui-select" }, { kind: "directive", type: i1$1.TuiDropdownOptionsDirective, selector: "[tuiDropdownAlign], [tuiDropdownAppearance], [tuiDropdownDirection], [tuiDropdownLimitWidth], [tuiDropdownMinHeight], [tuiDropdownMaxHeight], [tuiDropdownOffset]", inputs: ["tuiDropdownAlign", "tuiDropdownAppearance", "tuiDropdownDirection", "tuiDropdownLimitWidth", "tuiDropdownMinHeight", "tuiDropdownMaxHeight", "tuiDropdownOffset"] }, { kind: "component", type: i2$1.TuiDataListComponent, selector: "tui-data-list", inputs: ["emptyContent", "size"] }, { kind: "directive", type: i2$1.TuiDataListDirective, selector: "ng-template[tuiDataList]" }, { kind: "component", type: i2$1.TuiOption, selector: "button[tuiOption], a[tuiOption], label[tuiOption]", inputs: ["disabled", "value"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
79
79
  }
80
80
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiColorEditComponent, decorators: [{
81
81
  type: Component,
82
- args: [{ selector: 'tui-color-edit', changeDetection: ChangeDetectionStrategy.OnPush, template: "<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 [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", styles: [":host{display:flex}.t-select{inline-size:5.875rem}.t-opacity{inline-size:4.275rem}.t-rgb,.t-opacity{text-align:center}\n"] }]
82
+ args: [{ standalone: false, selector: 'tui-color-edit', changeDetection: ChangeDetectionStrategy.OnPush, template: "<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", styles: [":host{display:flex}.t-select{inline-size:5.875rem}.t-opacity{inline-size:4.275rem}.t-rgb,.t-opacity{text-align:center}\n"] }]
83
83
  }], propDecorators: { color: [{
84
84
  type: Input
85
85
  }], colorChange: [{
@@ -163,7 +163,7 @@ class TuiFlatPickerComponent {
163
163
  }
164
164
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiFlatPickerComponent, decorators: [{
165
165
  type: Component,
166
- args: [{ selector: 'tui-flat-picker', changeDetection: ChangeDetectionStrategy.OnPush, providers: [TuiPickerService], template: "<div\n class=\"t-circle\"\n [style.left.%]=\"left\"\n [style.top.%]=\"top\"\n></div>\n", styles: [":host{position:relative;display:block}.t-circle{position:absolute;inline-size:1rem;block-size:1rem;border-radius:100%;margin:-.5rem 0 0 -.5rem;box-shadow:inset 0 0 0 1px var(--tui-base-01),0 0 0 1px var(--tui-base-03)}\n"] }]
166
+ args: [{ standalone: false, selector: 'tui-flat-picker', changeDetection: ChangeDetectionStrategy.OnPush, providers: [TuiPickerService], template: "<div\n class=\"t-circle\"\n [style.left.%]=\"left\"\n [style.top.%]=\"top\"\n></div>\n", styles: [":host{position:relative;display:block}.t-circle{position:absolute;inline-size:1rem;block-size:1rem;border-radius:100%;margin:-.5rem 0 0 -.5rem;box-shadow:inset 0 0 0 1px var(--tui-base-01),0 0 0 1px var(--tui-base-03)}\n"] }]
167
167
  }], ctorParameters: function () { return []; }, propDecorators: { value: [{
168
168
  type: Input
169
169
  }], valueChange: [{
@@ -189,7 +189,7 @@ class TuiLinearPickerComponent {
189
189
  }
190
190
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiLinearPickerComponent, decorators: [{
191
191
  type: Component,
192
- args: [{ selector: 'tui-linear-picker', changeDetection: ChangeDetectionStrategy.OnPush, providers: [TuiPickerService], template: "<div\n class=\"t-circle\"\n [style.left.%]=\"left\"\n></div>\n", styles: [":host{position:relative;display:block;block-size:1rem;box-sizing:border-box}.t-circle{position:absolute;inline-size:1rem;block-size:1rem;border-radius:100%;margin:0 -.5rem;box-shadow:inset 0 0 0 2px var(--tui-base-01),0 0 0 1px var(--tui-base-03)}\n"] }]
192
+ args: [{ standalone: false, selector: 'tui-linear-picker', changeDetection: ChangeDetectionStrategy.OnPush, providers: [TuiPickerService], template: "<div\n class=\"t-circle\"\n [style.left.%]=\"left\"\n></div>\n", styles: [":host{position:relative;display:block;block-size:1rem;box-sizing:border-box}.t-circle{position:absolute;inline-size:1rem;block-size:1rem;border-radius:100%;margin:0 -.5rem;box-shadow:inset 0 0 0 2px var(--tui-base-01),0 0 0 1px var(--tui-base-03)}\n"] }]
193
193
  }], ctorParameters: function () { return []; }, propDecorators: { value: [{
194
194
  type: Input
195
195
  }], valueChange: [{
@@ -249,7 +249,7 @@ __decorate([
249
249
  ], TuiColorPickerComponent.prototype, "getCurrentColor", null);
250
250
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiColorPickerComponent, decorators: [{
251
251
  type: Component,
252
- args: [{ selector: 'tui-color-picker', changeDetection: ChangeDetectionStrategy.OnPush, template: "<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", styles: [":host{position:relative;display:block;isolation:isolate}.t-flat{block-size:14rem;background:linear-gradient(#0000,#000),linear-gradient(to right,#fff,#fff0);margin-bottom:.25rem;overflow:hidden}.t-wrapper{position:relative;margin:1rem 1.25rem;border-radius:.5rem}.t-wrapper:after{position:absolute;top:0;left:0;inline-size:100%;block-size:100%;content:\"\";box-shadow:inset 0 0 0 1px #00000014;pointer-events:none;border-radius:inherit}.t-wrapper_hue{background:red}.t-wrapper_opacity:before{position:absolute;top:0;left:0;inline-size:100%;block-size:100%;content:\"\";z-index:-1;background-image:linear-gradient(45deg,var(--tui-base-03) 25%,transparent 25%,transparent 75%,var(--tui-base-03) 75%,var(--tui-base-03)),linear-gradient(45deg,var(--tui-base-03) 25%,transparent 25%,transparent 75%,var(--tui-base-03) 75%,var(--tui-base-03));background-size:.375rem .375rem;background-position:0 0,.1875rem .1875rem;border-radius:inherit}.t-hue{background:linear-gradient(to right,red,#ff0,#0f0,#0ff,#00f,#f0f,red);border-radius:inherit;margin:0 .5rem}.t-opacity{border-radius:inherit;margin:0 .5rem}\n"] }]
252
+ args: [{ standalone: false, selector: 'tui-color-picker', changeDetection: ChangeDetectionStrategy.OnPush, template: "<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", styles: [":host{position:relative;display:block;isolation:isolate}.t-flat{block-size:14rem;background:linear-gradient(#0000,#000),linear-gradient(to right,#fff,#fff0);margin-bottom:.25rem;overflow:hidden}.t-wrapper{position:relative;margin:1rem 1.25rem;border-radius:.5rem}.t-wrapper:after{position:absolute;top:0;left:0;inline-size:100%;block-size:100%;content:\"\";box-shadow:inset 0 0 0 1px #00000014;pointer-events:none;border-radius:inherit}.t-wrapper_hue{background:red}.t-wrapper_opacity:before{position:absolute;top:0;left:0;inline-size:100%;block-size:100%;content:\"\";z-index:-1;background-image:linear-gradient(45deg,var(--tui-base-03) 25%,transparent 25%,transparent 75%,var(--tui-base-03) 75%,var(--tui-base-03)),linear-gradient(45deg,var(--tui-base-03) 25%,transparent 25%,transparent 75%,var(--tui-base-03) 75%,var(--tui-base-03));background-size:.375rem .375rem;background-position:0 0,.1875rem .1875rem;border-radius:inherit}.t-hue{background:linear-gradient(to right,red,#ff0,#0f0,#0ff,#00f,#f0f,red);border-radius:inherit;margin:0 .5rem}.t-opacity{border-radius:inherit;margin:0 .5rem}\n"] }]
253
253
  }], propDecorators: { colorChange: [{
254
254
  type: Output
255
255
  }], color: [{
@@ -416,7 +416,7 @@ class TuiLinearMultiPickerComponent {
416
416
  }
417
417
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiLinearMultiPickerComponent, decorators: [{
418
418
  type: Component,
419
- args: [{ selector: 'tui-linear-multi-picker', changeDetection: ChangeDetectionStrategy.OnPush, providers: [TuiPickerService], host: {
419
+ args: [{ standalone: false, selector: 'tui-linear-multi-picker', changeDetection: ChangeDetectionStrategy.OnPush, providers: [TuiPickerService], host: {
420
420
  '(document:mouseup)': 'onMouseUp()',
421
421
  }, template: "<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", styles: [":host{position:relative;display:block;block-size:1rem;box-sizing:border-box}.t-circle{position:absolute;inline-size:1rem;block-size:1rem;border-radius:100%;margin:0 -.5rem;box-shadow:inset 0 0 0 2px var(--tui-base-01),0 0 0 1px var(--tui-base-03)}\n"] }]
422
422
  }], ctorParameters: function () { return []; }, propDecorators: { value: [{
@@ -438,7 +438,7 @@ class TuiPaletteComponent {
438
438
  }
439
439
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiPaletteComponent, decorators: [{
440
440
  type: Component,
441
- args: [{ selector: 'tui-palette', changeDetection: ChangeDetectionStrategy.OnPush, template: "<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", styles: [":host{display:flex;flex-wrap:wrap;padding:.875rem}.t-button{-webkit-appearance:none;appearance:none;padding:0;background:none;font-size:inherit;line-height:inherit;inline-size:1.5625rem;block-size:1.5625rem;box-sizing:border-box;margin:.375rem;border-radius:var(--tui-radius-m);border:1px solid rgba(0,0,0,.08)}\n"] }]
441
+ args: [{ standalone: false, selector: 'tui-palette', changeDetection: ChangeDetectionStrategy.OnPush, template: "<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", styles: [":host{display:flex;flex-wrap:wrap;padding:.875rem}.t-button{-webkit-appearance:none;appearance:none;padding:0;background:none;font-size:inherit;line-height:inherit;inline-size:1.5625rem;block-size:1.5625rem;box-sizing:border-box;margin:.375rem;border-radius:var(--tui-radius-m);border:1px solid rgba(0,0,0,.08)}\n"] }]
442
442
  }], propDecorators: { colors: [{
443
443
  type: Input
444
444
  }], selectedColor: [{
@@ -594,7 +594,7 @@ class TuiColorSelectorComponent {
594
594
  this.color = tuiParseColor(color);
595
595
  }
596
596
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiColorSelectorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
597
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiColorSelectorComponent, selector: "tui-color-selector", inputs: { colors: "colors", colorSetter: ["color", "colorSetter"] }, outputs: { colorChange: "colorChange" }, ngImport: i0, template: "<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 [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 icon=\"@tui.check\"\n class=\"t-checkmark\"\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 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", styles: [":host{position:relative;display:block;isolation:isolate;inline-size:22.6rem}.t-wrapper{position:relative;margin:1.25rem;border-radius:.5rem}.t-wrapper:after{position:absolute;top:0;left:0;inline-size:100%;block-size:100%;content:\"\";box-shadow:inset 0 0 0 1px #00000014;pointer-events:none;border-radius:inherit}.t-wrapper:before{position:absolute;top:0;left:0;inline-size:100%;block-size:100%;content:\"\";z-index:-1;background-image:linear-gradient(45deg,var(--tui-base-03) 25%,transparent 25%,transparent 75%,var(--tui-base-03) 75%,var(--tui-base-03)),linear-gradient(45deg,var(--tui-base-03) 25%,transparent 25%,transparent 75%,var(--tui-base-03) 75%,var(--tui-base-03));background-size:.375rem .375rem;background-position:0 0,.1875rem .1875rem;border-radius:inherit}.t-hr{block-size:1px;margin:0 0 0 -1px;border:none;background:var(--tui-base-03)}.t-gradient{margin:0 .5rem;border-radius:inherit}.t-select{margin:.75rem .5rem 0}.t-arrow{transition-property:transform;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out}.t-arrow_rotated{transform:rotate(180deg)}.t-menu{inline-size:11.25rem}.t-checkmark{margin-left:auto;inline-size:1rem;block-size:1rem}.t-buttons{display:flex;padding:0 .75rem 1.25rem;justify-content:space-between}.t-direction{color:var(--tui-text-02);margin:0 .375rem}.t-direction:hover,.t-direction_active{color:var(--tui-text-01);background:var(--tui-secondary-hover)}.t-edit{margin:1.25rem}.t-palette{box-sizing:border-box;box-shadow:inset 0 1px var(--tui-base-03)}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$2.TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }, { kind: "component", type: TuiColorPickerComponent, selector: "tui-color-picker", inputs: ["color"], outputs: ["colorChange"] }, { kind: "component", type: TuiLinearMultiPickerComponent, selector: "tui-linear-multi-picker", inputs: ["value"], outputs: ["valueChange", "indexChange"] }, { kind: "component", type: TuiColorEditComponent, selector: "tui-color-edit", inputs: ["color"], outputs: ["colorChange"] }, { kind: "directive", type: i1$1.TuiDropdownDirective, selector: "[tuiDropdown]:not(ng-container):not(ng-template)", inputs: ["tuiDropdown"], exportAs: ["tuiDropdown"] }, { kind: "directive", type: i1$1.TuiDropdownOpen, selector: "[tuiDropdown][tuiDropdownOpen],[tuiDropdown][tuiDropdownOpenChange]", inputs: ["tuiDropdownEnabled", "tuiDropdownOpen"], outputs: ["tuiDropdownOpenChange"] }, { kind: "component", type: i2$1.TuiDataListComponent, selector: "tui-data-list", inputs: ["emptyContent", "size"] }, { kind: "component", type: i2$1.TuiOption, selector: "button[tuiOption], a[tuiOption], label[tuiOption]", inputs: ["disabled", "value"] }, { kind: "directive", type: i8.TuiGroup, selector: "[tuiGroup]:not(ng-container)", inputs: ["orientation", "collapsed", "rounded", "size"] }, { kind: "component", type: TuiPaletteComponent, selector: "tui-palette", inputs: ["colors"], outputs: ["selectedColor"] }, { kind: "directive", type: i1$2.TuiHintDirective, selector: "[tuiHint]:not(ng-container):not(ng-template)", inputs: ["tuiHintContext", "tuiHintAppearance", "tuiHint"] }, { kind: "directive", type: i1$2.TuiHintDescribe, selector: "[tuiHintDescribe]", inputs: ["tuiHintDescribe"] }, { kind: "directive", type: i11.TuiChevron, selector: "[tuiChevron]", inputs: ["tuiChevron"] }, { kind: "component", type: i12.TuiIcon, selector: "tui-icon", inputs: ["icon", "background"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
597
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiColorSelectorComponent, selector: "tui-color-selector", inputs: { colors: "colors", colorSetter: ["color", "colorSetter"] }, outputs: { colorChange: "colorChange" }, ngImport: i0, template: "<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 icon=\"@tui.check\"\n class=\"t-checkmark\"\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 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", styles: [":host{position:relative;display:block;isolation:isolate;inline-size:22.6rem}.t-wrapper{position:relative;margin:1.25rem;border-radius:.5rem}.t-wrapper:after{position:absolute;top:0;left:0;inline-size:100%;block-size:100%;content:\"\";box-shadow:inset 0 0 0 1px #00000014;pointer-events:none;border-radius:inherit}.t-wrapper:before{position:absolute;top:0;left:0;inline-size:100%;block-size:100%;content:\"\";z-index:-1;background-image:linear-gradient(45deg,var(--tui-base-03) 25%,transparent 25%,transparent 75%,var(--tui-base-03) 75%,var(--tui-base-03)),linear-gradient(45deg,var(--tui-base-03) 25%,transparent 25%,transparent 75%,var(--tui-base-03) 75%,var(--tui-base-03));background-size:.375rem .375rem;background-position:0 0,.1875rem .1875rem;border-radius:inherit}.t-hr{block-size:1px;margin:0 0 0 -1px;border:none;background:var(--tui-base-03)}.t-gradient{margin:0 .5rem;border-radius:inherit}.t-select{margin:.75rem .5rem 0}.t-arrow{transition-property:transform;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out}.t-arrow_rotated{transform:rotate(180deg)}.t-menu{inline-size:11.25rem}.t-checkmark{margin-left:auto;inline-size:1rem;block-size:1rem}.t-buttons{display:flex;padding:0 .75rem 1.25rem;justify-content:space-between}.t-direction{color:var(--tui-text-02);margin:0 .375rem}.t-direction:hover,.t-direction_active{color:var(--tui-text-01);background:var(--tui-secondary-hover)}.t-edit{margin:1.25rem}.t-palette{box-sizing:border-box;box-shadow:inset 0 1px var(--tui-base-03)}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$2.TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }, { kind: "component", type: TuiColorPickerComponent, selector: "tui-color-picker", inputs: ["color"], outputs: ["colorChange"] }, { kind: "component", type: TuiLinearMultiPickerComponent, selector: "tui-linear-multi-picker", inputs: ["value"], outputs: ["valueChange", "indexChange"] }, { kind: "component", type: TuiColorEditComponent, selector: "tui-color-edit", inputs: ["color"], outputs: ["colorChange"] }, { kind: "directive", type: i1$1.TuiDropdownDirective, selector: "[tuiDropdown]:not(ng-container):not(ng-template)", inputs: ["tuiDropdown"], exportAs: ["tuiDropdown"] }, { kind: "directive", type: i1$1.TuiDropdownOpen, selector: "[tuiDropdown][tuiDropdownOpen],[tuiDropdown][tuiDropdownOpenChange]", inputs: ["tuiDropdownEnabled", "tuiDropdownOpen"], outputs: ["tuiDropdownOpenChange"] }, { kind: "component", type: i2$1.TuiDataListComponent, selector: "tui-data-list", inputs: ["emptyContent", "size"] }, { kind: "component", type: i2$1.TuiOption, selector: "button[tuiOption], a[tuiOption], label[tuiOption]", inputs: ["disabled", "value"] }, { kind: "directive", type: i8.TuiGroup, selector: "[tuiGroup]:not(ng-container)", inputs: ["orientation", "collapsed", "rounded", "size"] }, { kind: "component", type: TuiPaletteComponent, selector: "tui-palette", inputs: ["colors"], outputs: ["selectedColor"] }, { kind: "directive", type: i1$2.TuiHintDirective, selector: "[tuiHint]:not(ng-container):not(ng-template)", inputs: ["tuiHintContext", "tuiHintAppearance", "tuiHint"] }, { kind: "directive", type: i1$2.TuiHintDescribe, selector: "[tuiHintDescribe]", inputs: ["tuiHintDescribe"] }, { kind: "directive", type: i11.TuiChevron, selector: "[tuiChevron]", inputs: ["tuiChevron"] }, { kind: "component", type: i12.TuiIcon, selector: "tui-icon", inputs: ["icon", "background"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
598
598
  }
599
599
  __decorate([
600
600
  tuiPure
@@ -604,7 +604,7 @@ __decorate([
604
604
  ], TuiColorSelectorComponent.prototype, "filterPalette", null);
605
605
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiColorSelectorComponent, decorators: [{
606
606
  type: Component,
607
- args: [{ selector: 'tui-color-selector', changeDetection: ChangeDetectionStrategy.OnPush, template: "<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 [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 icon=\"@tui.check\"\n class=\"t-checkmark\"\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 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", styles: [":host{position:relative;display:block;isolation:isolate;inline-size:22.6rem}.t-wrapper{position:relative;margin:1.25rem;border-radius:.5rem}.t-wrapper:after{position:absolute;top:0;left:0;inline-size:100%;block-size:100%;content:\"\";box-shadow:inset 0 0 0 1px #00000014;pointer-events:none;border-radius:inherit}.t-wrapper:before{position:absolute;top:0;left:0;inline-size:100%;block-size:100%;content:\"\";z-index:-1;background-image:linear-gradient(45deg,var(--tui-base-03) 25%,transparent 25%,transparent 75%,var(--tui-base-03) 75%,var(--tui-base-03)),linear-gradient(45deg,var(--tui-base-03) 25%,transparent 25%,transparent 75%,var(--tui-base-03) 75%,var(--tui-base-03));background-size:.375rem .375rem;background-position:0 0,.1875rem .1875rem;border-radius:inherit}.t-hr{block-size:1px;margin:0 0 0 -1px;border:none;background:var(--tui-base-03)}.t-gradient{margin:0 .5rem;border-radius:inherit}.t-select{margin:.75rem .5rem 0}.t-arrow{transition-property:transform;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out}.t-arrow_rotated{transform:rotate(180deg)}.t-menu{inline-size:11.25rem}.t-checkmark{margin-left:auto;inline-size:1rem;block-size:1rem}.t-buttons{display:flex;padding:0 .75rem 1.25rem;justify-content:space-between}.t-direction{color:var(--tui-text-02);margin:0 .375rem}.t-direction:hover,.t-direction_active{color:var(--tui-text-01);background:var(--tui-secondary-hover)}.t-edit{margin:1.25rem}.t-palette{box-sizing:border-box;box-shadow:inset 0 1px var(--tui-base-03)}\n"] }]
607
+ args: [{ standalone: false, selector: 'tui-color-selector', changeDetection: ChangeDetectionStrategy.OnPush, template: "<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 icon=\"@tui.check\"\n class=\"t-checkmark\"\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 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", styles: [":host{position:relative;display:block;isolation:isolate;inline-size:22.6rem}.t-wrapper{position:relative;margin:1.25rem;border-radius:.5rem}.t-wrapper:after{position:absolute;top:0;left:0;inline-size:100%;block-size:100%;content:\"\";box-shadow:inset 0 0 0 1px #00000014;pointer-events:none;border-radius:inherit}.t-wrapper:before{position:absolute;top:0;left:0;inline-size:100%;block-size:100%;content:\"\";z-index:-1;background-image:linear-gradient(45deg,var(--tui-base-03) 25%,transparent 25%,transparent 75%,var(--tui-base-03) 75%,var(--tui-base-03)),linear-gradient(45deg,var(--tui-base-03) 25%,transparent 25%,transparent 75%,var(--tui-base-03) 75%,var(--tui-base-03));background-size:.375rem .375rem;background-position:0 0,.1875rem .1875rem;border-radius:inherit}.t-hr{block-size:1px;margin:0 0 0 -1px;border:none;background:var(--tui-base-03)}.t-gradient{margin:0 .5rem;border-radius:inherit}.t-select{margin:.75rem .5rem 0}.t-arrow{transition-property:transform;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out}.t-arrow_rotated{transform:rotate(180deg)}.t-menu{inline-size:11.25rem}.t-checkmark{margin-left:auto;inline-size:1rem;block-size:1rem}.t-buttons{display:flex;padding:0 .75rem 1.25rem;justify-content:space-between}.t-direction{color:var(--tui-text-02);margin:0 .375rem}.t-direction:hover,.t-direction_active{color:var(--tui-text-01);background:var(--tui-secondary-hover)}.t-edit{margin:1.25rem}.t-palette{box-sizing:border-box;box-shadow:inset 0 1px var(--tui-base-03)}\n"] }]
608
608
  }], propDecorators: { colors: [{
609
609
  type: Input
610
610
  }], colorChange: [{
@@ -1 +1 @@
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 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 [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@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@Injectable()\nexport class TuiPickerService extends Observable<TuiPoint> {\n constructor() {\n const nativeElement = tuiInjectElement();\n const doc = inject(DOCUMENT);\n\n const point$ = tuiTypedFromEvent(nativeElement, 'mousedown').pipe(\n tuiPreventDefault(),\n switchMap((event) => {\n const mouseMove$ = tuiTypedFromEvent(doc, 'mousemove').pipe(\n map(({clientX, clientY}) =>\n tuiGetElementPoint(clientX, clientY, nativeElement),\n ),\n takeUntil(tuiTypedFromEvent(doc, 'mouseup')),\n );\n\n return event.target === nativeElement\n ? mouseMove$.pipe(\n startWith(\n tuiGetElementPoint(\n event.clientX,\n event.clientY,\n nativeElement,\n ),\n ),\n )\n : mouseMove$;\n }),\n takeUntilDestroyed(),\n );\n\n super((subscriber) => 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 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 @Input()\n public value: TuiPoint = [0, 0];\n\n @Output()\n public readonly valueChange = new EventEmitter<[number, number]>();\n\n constructor() {\n inject(TuiPickerService)\n .pipe(takeUntilDestroyed())\n .subscribe((point) => {\n this.value = point;\n this.valueChange.emit([point[0], point[1]]);\n });\n }\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 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 @Input()\n public value = 0;\n\n @Output()\n public readonly valueChange = new EventEmitter<number>();\n\n constructor() {\n inject(TuiPickerService)\n .pipe(takeUntilDestroyed())\n .subscribe(([x]) => {\n this.value = x;\n this.valueChange.emit(x);\n });\n }\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 type {SafeStyle} from '@angular/platform-browser';\nimport {DomSanitizer} 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 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@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@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@NgModule({\n imports: [CommonModule, TuiFlatPickerModule, TuiLinearPickerModule],\n declarations: [TuiColorPickerComponent],\n exports: [TuiColorPickerComponent],\n})\nexport class TuiColorPickerModule {}\n","import type {Provider} from '@angular/core';\nimport {InjectionToken} from '@angular/core';\nimport type {TuiGradientDirection} from '@taiga-ui/cdk/utils/color';\nimport {tuiCreateToken, tuiProvideOptions} from '@taiga-ui/cdk/utils/miscellaneous';\n\nexport const TUI_COLOR_SELECTOR_MODE_NAMES = new InjectionToken<[string, string]>(\n '[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 = tuiCreateToken(\n TUI_COLOR_SELECTOR_DEFAULT_OPTIONS,\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 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 @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 constructor() {\n inject(TuiPickerService)\n .pipe(takeUntilDestroyed())\n .subscribe(([x]) => this.onPicker(x));\n }\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 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 type {SafeStyle} from '@angular/platform-browser';\nimport {DomSanitizer} from '@angular/platform-browser';\nimport type {TuiGradientDirection} from '@taiga-ui/cdk/utils/color';\nimport {\n tuiGetGradientData,\n tuiParseColor,\n tuiParseGradient,\n} from '@taiga-ui/cdk/utils/color';\nimport {tuiDefaultSort, tuiPure} from '@taiga-ui/cdk/utils/miscellaneous';\n\nimport {\n TUI_COLOR_SELECTOR_MODE_NAMES,\n TUI_COLOR_SELECTOR_OPTIONS,\n TuiColorSelectorMode,\n} from './color-selector.options';\n\n@Component({\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 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 [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 icon=\"@tui.check\"\n class=\"t-checkmark\"\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 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@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@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@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
+ {"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@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@Injectable()\nexport class TuiPickerService extends Observable<TuiPoint> {\n constructor() {\n const nativeElement = tuiInjectElement();\n const doc = inject(DOCUMENT);\n\n const point$ = tuiTypedFromEvent(nativeElement, 'mousedown').pipe(\n tuiPreventDefault(),\n switchMap((event) => {\n const mouseMove$ = tuiTypedFromEvent(doc, 'mousemove').pipe(\n map(({clientX, clientY}) =>\n tuiGetElementPoint(clientX, clientY, nativeElement),\n ),\n takeUntil(tuiTypedFromEvent(doc, 'mouseup')),\n );\n\n return event.target === nativeElement\n ? mouseMove$.pipe(\n startWith(\n tuiGetElementPoint(\n event.clientX,\n event.clientY,\n nativeElement,\n ),\n ),\n )\n : mouseMove$;\n }),\n takeUntilDestroyed(),\n );\n\n super((subscriber) => 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 @Input()\n public value: TuiPoint = [0, 0];\n\n @Output()\n public readonly valueChange = new EventEmitter<[number, number]>();\n\n constructor() {\n inject(TuiPickerService)\n .pipe(takeUntilDestroyed())\n .subscribe((point) => {\n this.value = point;\n this.valueChange.emit([point[0], point[1]]);\n });\n }\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 @Input()\n public value = 0;\n\n @Output()\n public readonly valueChange = new EventEmitter<number>();\n\n constructor() {\n inject(TuiPickerService)\n .pipe(takeUntilDestroyed())\n .subscribe(([x]) => {\n this.value = x;\n this.valueChange.emit(x);\n });\n }\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 type {SafeStyle} from '@angular/platform-browser';\nimport {DomSanitizer} 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@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@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@NgModule({\n imports: [CommonModule, TuiFlatPickerModule, TuiLinearPickerModule],\n declarations: [TuiColorPickerComponent],\n exports: [TuiColorPickerComponent],\n})\nexport class TuiColorPickerModule {}\n","import type {Provider} from '@angular/core';\nimport {InjectionToken} from '@angular/core';\nimport type {TuiGradientDirection} from '@taiga-ui/cdk/utils/color';\nimport {tuiCreateToken, tuiProvideOptions} from '@taiga-ui/cdk/utils/miscellaneous';\n\nexport const TUI_COLOR_SELECTOR_MODE_NAMES = new InjectionToken<[string, string]>(\n '[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 = tuiCreateToken(\n TUI_COLOR_SELECTOR_DEFAULT_OPTIONS,\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 @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 constructor() {\n inject(TuiPickerService)\n .pipe(takeUntilDestroyed())\n .subscribe(([x]) => this.onPicker(x));\n }\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 type {SafeStyle} from '@angular/platform-browser';\nimport {DomSanitizer} from '@angular/platform-browser';\nimport type {TuiGradientDirection} from '@taiga-ui/cdk/utils/color';\nimport {\n tuiGetGradientData,\n tuiParseColor,\n tuiParseGradient,\n} from '@taiga-ui/cdk/utils/color';\nimport {tuiDefaultSort, tuiPure} from '@taiga-ui/cdk/utils/miscellaneous';\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 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 icon=\"@tui.check\"\n class=\"t-checkmark\"\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 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@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@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@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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"}