@taiga-ui/legacy 4.52.0-canary.2c75afa → 4.52.0-canary.2d877cf

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 (225) hide show
  1. package/README.md +1 -1
  2. package/components/dialog/dialog.service.d.ts +1 -1
  3. package/components/dialog/dialog.tokens.d.ts +1 -3
  4. package/components/index.d.ts +0 -17
  5. package/components/mobile-dialog/mobile-dialog.options.d.ts +1 -3
  6. package/components/mobile-dialog/mobile-dialog.service.d.ts +1 -1
  7. package/components/pdf-viewer/pdf-viewer.options.d.ts +1 -3
  8. package/components/pdf-viewer/pdf-viewer.service.d.ts +1 -1
  9. package/fesm2022/taiga-ui-legacy-components-dialog.mjs +14 -19
  10. package/fesm2022/taiga-ui-legacy-components-dialog.mjs.map +1 -1
  11. package/fesm2022/taiga-ui-legacy-components-mobile-dialog.mjs +11 -16
  12. package/fesm2022/taiga-ui-legacy-components-mobile-dialog.mjs.map +1 -1
  13. package/fesm2022/taiga-ui-legacy-components-pdf-viewer.mjs +13 -18
  14. package/fesm2022/taiga-ui-legacy-components-pdf-viewer.mjs.map +1 -1
  15. package/fesm2022/taiga-ui-legacy-components.mjs +0 -17
  16. package/fesm2022/taiga-ui-legacy-components.mjs.map +1 -1
  17. package/fesm2022/taiga-ui-legacy.mjs +0 -4
  18. package/fesm2022/taiga-ui-legacy.mjs.map +1 -1
  19. package/index.d.ts +0 -4
  20. package/package.json +12 -114
  21. package/classes/abstract-native-select.d.ts +0 -22
  22. package/classes/abstract-textfield-host.d.ts +0 -19
  23. package/classes/control.d.ts +0 -60
  24. package/classes/controller.d.ts +0 -9
  25. package/classes/index.d.ts +0 -9
  26. package/classes/interactive.d.ts +0 -34
  27. package/classes/multiple-control.d.ts +0 -11
  28. package/classes/named-day.d.ts +0 -11
  29. package/classes/nullable-control.d.ts +0 -10
  30. package/classes/stringifiable-item.d.ts +0 -11
  31. package/components/arrow/arrow.component.d.ts +0 -17
  32. package/components/arrow/arrow.options.d.ts +0 -19
  33. package/components/arrow/arrow.providers.d.ts +0 -23
  34. package/components/arrow/index.d.ts +0 -3
  35. package/components/input/index.d.ts +0 -3
  36. package/components/input/input.component.d.ts +0 -32
  37. package/components/input/input.directive.d.ts +0 -12
  38. package/components/input/input.module.d.ts +0 -16
  39. package/components/input-date-range/index.d.ts +0 -3
  40. package/components/input-date-range/input-date-range.component.d.ts +0 -66
  41. package/components/input-date-range/input-date-range.directive.d.ts +0 -16
  42. package/components/input-date-range/input-date-range.module.d.ts +0 -21
  43. package/components/input-date-time/index.d.ts +0 -3
  44. package/components/input-date-time/input-date-time.component.d.ts +0 -87
  45. package/components/input-date-time/input-date-time.directive.d.ts +0 -17
  46. package/components/input-date-time/input-date-time.module.d.ts +0 -23
  47. package/components/input-date-time/native-date-time/native-date-time.directive.d.ts +0 -13
  48. package/components/input-month-range/index.d.ts +0 -3
  49. package/components/input-month-range/input-month-range.component.d.ts +0 -38
  50. package/components/input-month-range/input-month-range.directive.d.ts +0 -23
  51. package/components/input-month-range/input-month-range.module.d.ts +0 -18
  52. package/components/input-number/index.d.ts +0 -4
  53. package/components/input-number/input-number.component.d.ts +0 -62
  54. package/components/input-number/input-number.directive.d.ts +0 -16
  55. package/components/input-number/input-number.module.d.ts +0 -18
  56. package/components/input-number/input-number.options.d.ts +0 -29
  57. package/components/input-range/index.d.ts +0 -2
  58. package/components/input-range/input-range.component.d.ts +0 -56
  59. package/components/input-range/input-range.module.d.ts +0 -19
  60. package/components/input-slider/index.d.ts +0 -2
  61. package/components/input-slider/input-slider.component.d.ts +0 -42
  62. package/components/input-slider/input-slider.module.d.ts +0 -18
  63. package/components/input-tag/index.d.ts +0 -3
  64. package/components/input-tag/input-tag.component.d.ts +0 -103
  65. package/components/input-tag/input-tag.module.d.ts +0 -22
  66. package/components/input-tag/input-tag.options.d.ts +0 -27
  67. package/components/multi-select/hide-selected.pipe.d.ts +0 -11
  68. package/components/multi-select/index.d.ts +0 -10
  69. package/components/multi-select/multi-select-group/multi-select-group.component.d.ts +0 -23
  70. package/components/multi-select/multi-select-group/multi-select-group.directive.d.ts +0 -8
  71. package/components/multi-select/multi-select.component.d.ts +0 -71
  72. package/components/multi-select/multi-select.directive.d.ts +0 -14
  73. package/components/multi-select/multi-select.module.d.ts +0 -30
  74. package/components/multi-select/multi-select.options.d.ts +0 -14
  75. package/components/multi-select/native-multi-select/native-multi-select-group.component.d.ts +0 -9
  76. package/components/multi-select/native-multi-select/native-multi-select.component.d.ts +0 -8
  77. package/components/multi-select/native-multi-select/native-multi-select.d.ts +0 -11
  78. package/components/multi-select-option/index.d.ts +0 -2
  79. package/components/multi-select-option/multi-select-option.component.d.ts +0 -9
  80. package/components/multi-select-option/multi-select-option.module.d.ts +0 -9
  81. package/components/primitive-textfield/index.d.ts +0 -7
  82. package/components/primitive-textfield/primitive-textfield-options.d.ts +0 -21
  83. package/components/primitive-textfield/primitive-textfield-types.d.ts +0 -11
  84. package/components/primitive-textfield/primitive-textfield.component.d.ts +0 -73
  85. package/components/primitive-textfield/primitive-textfield.directive.d.ts +0 -14
  86. package/components/primitive-textfield/primitive-textfield.module.d.ts +0 -21
  87. package/components/primitive-textfield/textfield/textfield.component.d.ts +0 -13
  88. package/components/primitive-textfield/value-decoration/value-decoration.component.d.ts +0 -22
  89. package/components/select/index.d.ts +0 -6
  90. package/components/select/native-select/native-select-group.component.d.ts +0 -17
  91. package/components/select/native-select/native-select.component.d.ts +0 -16
  92. package/components/select/select.component.d.ts +0 -45
  93. package/components/select/select.directive.d.ts +0 -16
  94. package/components/select/select.module.d.ts +0 -24
  95. package/components/select/select.options.d.ts +0 -25
  96. package/components/select-option/index.d.ts +0 -2
  97. package/components/select-option/select-option.component.d.ts +0 -27
  98. package/components/select-option/select-option.module.d.ts +0 -10
  99. package/components/tag/index.d.ts +0 -3
  100. package/components/tag/tag.component.d.ts +0 -44
  101. package/components/tag/tag.module.d.ts +0 -16
  102. package/components/tag/tag.options.d.ts +0 -27
  103. package/components/textarea/index.d.ts +0 -3
  104. package/components/textarea/textarea.component.d.ts +0 -54
  105. package/components/textarea/textarea.directive.d.ts +0 -12
  106. package/components/textarea/textarea.module.d.ts +0 -21
  107. package/components/tooltip/index.d.ts +0 -2
  108. package/components/tooltip/tooltip.component.d.ts +0 -12
  109. package/components/tooltip/tooltip.module.d.ts +0 -13
  110. package/directives/index.d.ts +0 -5
  111. package/directives/legacy-dropdown-open-monitor/index.d.ts +0 -1
  112. package/directives/legacy-dropdown-open-monitor/legacy-dropdown-open-monitor.d.ts +0 -11
  113. package/directives/textfield-controller/index.d.ts +0 -14
  114. package/directives/textfield-controller/textfield-appearance.directive.d.ts +0 -9
  115. package/directives/textfield-controller/textfield-cleaner.directive.d.ts +0 -9
  116. package/directives/textfield-controller/textfield-controller.module.d.ts +0 -17
  117. package/directives/textfield-controller/textfield-controller.provider.d.ts +0 -4
  118. package/directives/textfield-controller/textfield-custom-content.directive.d.ts +0 -10
  119. package/directives/textfield-controller/textfield-filler.directive.d.ts +0 -9
  120. package/directives/textfield-controller/textfield-icon-left.directive.d.ts +0 -12
  121. package/directives/textfield-controller/textfield-icon.directive.d.ts +0 -12
  122. package/directives/textfield-controller/textfield-label-outside.directive.d.ts +0 -9
  123. package/directives/textfield-controller/textfield-postfix.directive.d.ts +0 -9
  124. package/directives/textfield-controller/textfield-prefix.directive.d.ts +0 -9
  125. package/directives/textfield-controller/textfield-size.directive.d.ts +0 -10
  126. package/directives/textfield-controller/textfield.controller.d.ts +0 -41
  127. package/directives/textfield-controller/textfield.options.d.ts +0 -19
  128. package/directives/unfinished-validator/index.d.ts +0 -2
  129. package/directives/unfinished-validator/unfinished-validator.directive.d.ts +0 -10
  130. package/directives/unfinished-validator/unfinished.validator.d.ts +0 -4
  131. package/directives/value-accessor/index.d.ts +0 -3
  132. package/directives/value-accessor/value-accessor.directive.d.ts +0 -5
  133. package/directives/value-accessor/value-accessor.module.d.ts +0 -7
  134. package/directives/value-accessor/value-accessor.provider.d.ts +0 -2
  135. package/directives/wrapper/README.md +0 -19
  136. package/directives/wrapper/index.d.ts +0 -2
  137. package/directives/wrapper/wrapper.directive.d.ts +0 -22
  138. package/directives/wrapper/wrapper.module.d.ts +0 -10
  139. package/fesm2022/taiga-ui-legacy-classes.mjs +0 -413
  140. package/fesm2022/taiga-ui-legacy-classes.mjs.map +0 -1
  141. package/fesm2022/taiga-ui-legacy-components-arrow.mjs +0 -85
  142. package/fesm2022/taiga-ui-legacy-components-arrow.mjs.map +0 -1
  143. package/fesm2022/taiga-ui-legacy-components-input-date-range.mjs +0 -346
  144. package/fesm2022/taiga-ui-legacy-components-input-date-range.mjs.map +0 -1
  145. package/fesm2022/taiga-ui-legacy-components-input-date-time.mjs +0 -459
  146. package/fesm2022/taiga-ui-legacy-components-input-date-time.mjs.map +0 -1
  147. package/fesm2022/taiga-ui-legacy-components-input-month-range.mjs +0 -221
  148. package/fesm2022/taiga-ui-legacy-components-input-month-range.mjs.map +0 -1
  149. package/fesm2022/taiga-ui-legacy-components-input-number.mjs +0 -383
  150. package/fesm2022/taiga-ui-legacy-components-input-number.mjs.map +0 -1
  151. package/fesm2022/taiga-ui-legacy-components-input-range.mjs +0 -261
  152. package/fesm2022/taiga-ui-legacy-components-input-range.mjs.map +0 -1
  153. package/fesm2022/taiga-ui-legacy-components-input-slider.mjs +0 -199
  154. package/fesm2022/taiga-ui-legacy-components-input-slider.mjs.map +0 -1
  155. package/fesm2022/taiga-ui-legacy-components-input-tag.mjs +0 -524
  156. package/fesm2022/taiga-ui-legacy-components-input-tag.mjs.map +0 -1
  157. package/fesm2022/taiga-ui-legacy-components-input.mjs +0 -156
  158. package/fesm2022/taiga-ui-legacy-components-input.mjs.map +0 -1
  159. package/fesm2022/taiga-ui-legacy-components-multi-select-option.mjs +0 -47
  160. package/fesm2022/taiga-ui-legacy-components-multi-select-option.mjs.map +0 -1
  161. package/fesm2022/taiga-ui-legacy-components-multi-select.mjs +0 -686
  162. package/fesm2022/taiga-ui-legacy-components-multi-select.mjs.map +0 -1
  163. package/fesm2022/taiga-ui-legacy-components-primitive-textfield.mjs +0 -454
  164. package/fesm2022/taiga-ui-legacy-components-primitive-textfield.mjs.map +0 -1
  165. package/fesm2022/taiga-ui-legacy-components-select-option.mjs +0 -88
  166. package/fesm2022/taiga-ui-legacy-components-select-option.mjs.map +0 -1
  167. package/fesm2022/taiga-ui-legacy-components-select.mjs +0 -353
  168. package/fesm2022/taiga-ui-legacy-components-select.mjs.map +0 -1
  169. package/fesm2022/taiga-ui-legacy-components-tag.mjs +0 -225
  170. package/fesm2022/taiga-ui-legacy-components-tag.mjs.map +0 -1
  171. package/fesm2022/taiga-ui-legacy-components-textarea.mjs +0 -262
  172. package/fesm2022/taiga-ui-legacy-components-textarea.mjs.map +0 -1
  173. package/fesm2022/taiga-ui-legacy-components-tooltip.mjs +0 -53
  174. package/fesm2022/taiga-ui-legacy-components-tooltip.mjs.map +0 -1
  175. package/fesm2022/taiga-ui-legacy-directives-legacy-dropdown-open-monitor.mjs +0 -49
  176. package/fesm2022/taiga-ui-legacy-directives-legacy-dropdown-open-monitor.mjs.map +0 -1
  177. package/fesm2022/taiga-ui-legacy-directives-textfield-controller.mjs +0 -401
  178. package/fesm2022/taiga-ui-legacy-directives-textfield-controller.mjs.map +0 -1
  179. package/fesm2022/taiga-ui-legacy-directives-unfinished-validator.mjs +0 -48
  180. package/fesm2022/taiga-ui-legacy-directives-unfinished-validator.mjs.map +0 -1
  181. package/fesm2022/taiga-ui-legacy-directives-value-accessor.mjs +0 -44
  182. package/fesm2022/taiga-ui-legacy-directives-value-accessor.mjs.map +0 -1
  183. package/fesm2022/taiga-ui-legacy-directives-wrapper.mjs +0 -99
  184. package/fesm2022/taiga-ui-legacy-directives-wrapper.mjs.map +0 -1
  185. package/fesm2022/taiga-ui-legacy-directives.mjs +0 -10
  186. package/fesm2022/taiga-ui-legacy-directives.mjs.map +0 -1
  187. package/fesm2022/taiga-ui-legacy-tokens.mjs +0 -384
  188. package/fesm2022/taiga-ui-legacy-tokens.mjs.map +0 -1
  189. package/fesm2022/taiga-ui-legacy-utils.mjs +0 -262
  190. package/fesm2022/taiga-ui-legacy-utils.mjs.map +0 -1
  191. package/styles/mixins/mixins.less +0 -239
  192. package/styles/mixins/mixins.scss +0 -224
  193. package/styles/mixins/textfield.less +0 -324
  194. package/styles/mixins/textfield.scss +0 -308
  195. package/styles/taiga-ui-local.less +0 -3
  196. package/styles/taiga-ui-local.scss +0 -3
  197. package/tokens/countries-masks.d.ts +0 -9
  198. package/tokens/focusable-item-accessor.d.ts +0 -25
  199. package/tokens/fonts-ready.d.ts +0 -6
  200. package/tokens/icons.d.ts +0 -6
  201. package/tokens/index.d.ts +0 -14
  202. package/tokens/is-apple.d.ts +0 -6
  203. package/tokens/is-chromium.d.ts +0 -6
  204. package/tokens/is-firefox.d.ts +0 -6
  205. package/tokens/is-stackblitz.d.ts +0 -5
  206. package/tokens/month-formatter.d.ts +0 -10
  207. package/tokens/sanitizer.d.ts +0 -6
  208. package/tokens/textfield-appearance.d.ts +0 -7
  209. package/tokens/textfield-host.d.ts +0 -23
  210. package/tokens/touch-supported.d.ts +0 -5
  211. package/tokens/value-accessor.d.ts +0 -7
  212. package/utils/capitalize-first-letter.d.ts +0 -4
  213. package/utils/date-mode-maskito-adapter.d.ts +0 -6
  214. package/utils/format-phone.d.ts +0 -30
  215. package/utils/get-border.d.ts +0 -5
  216. package/utils/get-max-allowed-phone-length.d.ts +0 -24
  217. package/utils/get-safe-area-size.d.ts +0 -7
  218. package/utils/icons-path-factory.d.ts +0 -13
  219. package/utils/index.d.ts +0 -13
  220. package/utils/is-presumed-html-string.d.ts +0 -4
  221. package/utils/iso-to-country-code.d.ts +0 -13
  222. package/utils/not-kz-region.d.ts +0 -20
  223. package/utils/process-icon.d.ts +0 -4
  224. package/utils/specific-dropdown-controllers.d.ts +0 -4
  225. package/utils/status.d.ts +0 -4
@@ -1,224 +0,0 @@
1
- // clearfix
2
- @mixin clearfix() {
3
- &:after {
4
- content: '';
5
- display: table;
6
- clear: both;
7
- }
8
- }
9
-
10
- @mixin autofill($mode: default) {
11
- &:-webkit-autofill,
12
- &:-webkit-autofill:hover,
13
- &:-webkit-autofill:focus {
14
- caret-color: var(--tui-text-primary);
15
- border-radius: inherit;
16
- color: inherit !important;
17
- background-color: transparent !important;
18
- -webkit-text-fill-color: var(--tui-text-primary) !important;
19
- border-color: var(--tui-service-autofill-background);
20
- -webkit-box-shadow: 0 0 0 100rem var(--tui-service-autofill-background) inset !important; // to overlay native background
21
- }
22
- }
23
-
24
- @mixin clearinput($mode: default) {
25
- @include autofill($mode);
26
- padding: 0;
27
- margin: 0;
28
- border: 0;
29
- border-radius: inherit;
30
- background: none;
31
- font-size: inherit;
32
- line-height: inherit;
33
- font-weight: inherit;
34
- color: inherit;
35
- caret-color: currentColor;
36
- outline: none;
37
- appearance: none;
38
- word-break: keep-all;
39
- -webkit-text-fill-color: currentColor; // for Safari
40
- }
41
-
42
- @mixin visually-hidden() {
43
- position: absolute;
44
- height: 1px;
45
- width: 1px;
46
- margin: -1px;
47
- border: 0;
48
- padding: 0;
49
- overflow: hidden;
50
- clip: rect(0, 0, 0, 0);
51
- clip-path: inset(0);
52
- }
53
-
54
- // customize native scroll
55
- @mixin customize-scroll() {
56
- // exclude non-supporting browsers
57
- @media all and (-webkit-min-device-pixel-ratio: 0) and (min-resolution: 0.001dpcm) {
58
- &::-webkit-scrollbar,
59
- &::-webkit-scrollbar-thumb {
60
- width: 1rem;
61
- height: 1rem;
62
- border-radius: 6.25rem;
63
- background-clip: padding-box;
64
- border: 2.667rem solid transparent;
65
- }
66
-
67
- &::-webkit-scrollbar {
68
- background-color: transparent;
69
- }
70
-
71
- &::-webkit-scrollbar-thumb {
72
- background-color: var(--tui-background-neutral-1-hover);
73
- }
74
-
75
- &::-webkit-scrollbar-thumb:hover {
76
- background-color: var(--tui-background-neutral-1-pressed);
77
- }
78
-
79
- &::-webkit-scrollbar-thumb:active {
80
- background-color: var(--tui-text-tertiary);
81
- }
82
- }
83
- }
84
-
85
- @mixin inset-border($direction: bottom, $mode: none) {
86
- @if ($direction == bottom) {
87
- box-shadow: inset 0 -1px var(--tui-border-normal);
88
-
89
- @if ($mode == light) {
90
- box-shadow: inset 0 -1px rgba(255, 255, 255, 0.24);
91
- }
92
-
93
- @if ($mode == dark) {
94
- box-shadow: inset 0 -1px rgba(51, 51, 51, 0.24);
95
- }
96
- }
97
-
98
- @if ($direction == top) {
99
- box-shadow: inset 0 1px var(--tui-border-normal);
100
-
101
- @if ($mode == light) {
102
- box-shadow: inset 0 1px rgba(255, 255, 255, 0.24);
103
- }
104
-
105
- @if ($mode == dark) {
106
- box-shadow: inset 0 1px rgba(51, 51, 51, 0.24);
107
- }
108
- }
109
-
110
- @if ($direction == left) {
111
- box-shadow: inset 1px 0 var(--tui-border-normal);
112
-
113
- @if ($mode == light) {
114
- box-shadow: inset 1px 0 rgba(255, 255, 255, 0.24);
115
- }
116
-
117
- @if ($mode == dark) {
118
- box-shadow: inset 1px 0 rgba(51, 51, 51, 0.24);
119
- }
120
- }
121
-
122
- @if ($direction == right) {
123
- box-shadow: inset -1px 0 var(--tui-border-normal);
124
-
125
- @if ($mode == light) {
126
- box-shadow: inset -1px 0 rgba(255, 255, 255, 0.24);
127
- }
128
-
129
- @if ($mode == dark) {
130
- box-shadow: inset -1px 0 rgba(51, 51, 51, 0.24);
131
- }
132
- }
133
- }
134
-
135
- // dashed border
136
- @mixin dashed-border($color: currentColor, $alignment: bottom, $spacing: 4) {
137
- $size: $spacing * 1px;
138
- $percentage: (100% / $spacing * 2);
139
- background-image: linear-gradient(to right, $color 0%, $color $percentage, transparent $percentage);
140
- background-position: 0 $alignment;
141
- background-size: $size 1px;
142
- background-repeat: repeat-x;
143
- }
144
-
145
- // typical opacity properties for icons
146
- @mixin opacity-icon() {
147
- opacity: 0.8;
148
-
149
- &:hover {
150
- opacity: 1;
151
- }
152
- }
153
-
154
- @mixin hoverable-with-shadow() {
155
- @include transition(all);
156
- cursor: pointer;
157
- box-shadow: var(--tui-shadow-small);
158
- transition-property: transform, box-shadow;
159
- will-change: transform, box-shadow;
160
-
161
- &:hover {
162
- box-shadow: var(--tui-shadow-small-hover);
163
- transform: translateY(-0.25rem);
164
- }
165
- }
166
-
167
- @mixin text-overflow-with-fade($color: var(--tui-background-base), $transparentColor: transparent, $width: 1.875rem) {
168
- position: relative;
169
- overflow: hidden;
170
-
171
- &:after {
172
- content: '';
173
- position: absolute;
174
- top: 0;
175
- right: 0;
176
- width: $width;
177
- height: 100%;
178
- background-image: linear-gradient(to right, $transparentColor 0%, $color 80%, $color 100%);
179
- pointer-events: none;
180
- }
181
- }
182
-
183
- //spaces
184
- @mixin tui-space($direction, $size) {
185
- @if ($direction == all) {
186
- margin: 0.25rem * $size;
187
- }
188
-
189
- @if ($direction == top) {
190
- margin-block-start: 0.25rem * $size;
191
- }
192
-
193
- @if ($direction == bottom) {
194
- margin-block-end: 0.25rem * $size;
195
- }
196
-
197
- @if ($direction == vertical) {
198
- margin-block-start: 0.25rem * $size;
199
- margin-block-end: 0.25rem * $size;
200
- }
201
-
202
- @if ($direction == left) {
203
- margin-inline-start: 0.25rem * $size;
204
- }
205
-
206
- @if ($direction == right) {
207
- margin-inline-end: 0.25rem * $size;
208
- }
209
-
210
- @if ($direction == horizontal) {
211
- margin-inline-end: 0.25rem * $size;
212
- margin-inline-start: 0.25rem * $size;
213
- }
214
- }
215
-
216
- @mixin contrast-background($background) {
217
- background: $background;
218
- color: contrast($background, #333, #fff);
219
- }
220
-
221
- @mixin blurred-background($color: #fff) {
222
- background: rgba($color, 70%);
223
- backdrop-filter: blur(0.4375rem);
224
- }
@@ -1,324 +0,0 @@
1
- .textfield-host() {
2
- position: relative;
3
- display: block;
4
- text-align: start;
5
- border-radius: var(--tui-radius-m);
6
- block-size: var(--tui-height);
7
- min-block-size: var(--tui-height);
8
- max-block-size: var(--tui-height);
9
-
10
- &[data-size='s'] {
11
- --tui-height: var(--tui-height-s);
12
-
13
- font: var(--tui-font-text-s);
14
- }
15
-
16
- &[data-size='m'] {
17
- --tui-height: var(--tui-height-m);
18
-
19
- font: var(--tui-font-text-s);
20
- }
21
-
22
- &[data-size='l'] {
23
- --tui-height: var(--tui-height-l);
24
-
25
- font: var(--tui-font-text-m);
26
- line-height: 1.25rem;
27
- }
28
-
29
- :host-context(*:disabled) {
30
- pointer-events: none;
31
- }
32
- }
33
-
34
- .textfield-content() {
35
- display: flex;
36
- block-size: 100%;
37
- inline-size: 100%;
38
- box-sizing: border-box;
39
- align-items: center;
40
- overflow: hidden;
41
-
42
- :host[data-size='s'] & {
43
- padding: 0 var(--tui-padding-s);
44
- }
45
-
46
- :host[data-size='m'] & {
47
- padding: 0 var(--tui-padding-m);
48
- }
49
-
50
- :host[data-size='l'] & {
51
- padding: 0 var(--tui-padding-l);
52
- }
53
- }
54
-
55
- .textfield-input() {
56
- .clearinput();
57
- .fullsize();
58
-
59
- border-style: solid;
60
- border-color: transparent;
61
- border-inline-start-width: var(--t-border-start, 0);
62
- border-inline-end-width: var(--t-border-end, 0);
63
- text-indent: var(--t-text-indent);
64
- color: var(--tui-text-primary);
65
- text-align: inherit;
66
- box-sizing: border-box;
67
- white-space: nowrap;
68
- overflow: hidden;
69
- text-transform: inherit;
70
- resize: none;
71
-
72
- &[inputMode='none'] {
73
- caret-color: transparent;
74
- }
75
-
76
- /* stylelint-disable */
77
- /* Safari autofill icons */
78
- //noinspection CssInvalidPseudoSelector
79
- &:-webkit-autofill,
80
- &:-webkit-autofill::first-line {
81
- font-size: inherit;
82
- line-height: inherit;
83
- }
84
- /* stylelint-enable */
85
-
86
- //noinspection ALL
87
- &::-webkit-caps-lock-indicator,
88
- &::-webkit-contacts-auto-fill-button,
89
- &::-webkit-credit-card-auto-fill-button,
90
- &::-webkit-credentials-auto-fill-button,
91
- &::-webkit-strong-password-auto-fill-button {
92
- .webkit-auto-fill-button-hidden();
93
- }
94
-
95
- &::placeholder {
96
- color: var(--tui-text-tertiary);
97
- opacity: 0;
98
- }
99
-
100
- :host._focused:not(._readonly) &::placeholder,
101
- :host-context(tui-primitive-textfield._focused:not(._readonly)) &::placeholder,
102
- :host-context(tui-textarea._focused:not(._readonly)) &::placeholder,
103
- :host-context(tui-text-area._focused:not(._readonly)) &::placeholder {
104
- opacity: 1;
105
- }
106
-
107
- :host[data-size='s'] &,
108
- :host-context(tui-primitive-textfield[data-size='s']):not(tui-primitive-textfield),
109
- :host-context(tui-textarea[data-size='s']):not(tui-textarea),
110
- :host-context(tui-text-area[data-size='s']):not(tui-text-area) {
111
- padding: 0 var(--tui-padding-s);
112
- }
113
-
114
- :host[data-size='m'] &,
115
- :host-context(tui-primitive-textfield[data-size='m']):not(tui-primitive-textfield),
116
- :host-context(tui-textarea[data-size='m']):not(tui-textarea),
117
- :host-context(tui-text-area[data-size='m']):not(tui-text-area) {
118
- padding: 0 var(--tui-padding-m);
119
- }
120
-
121
- :host[data-size='l'] &,
122
- :host-context(tui-primitive-textfield[data-size='l']):not(tui-primitive-textfield),
123
- :host-context(tui-textarea[data-size='l']):not(tui-textarea),
124
- :host-context(tui-text-area[data-size='l']):not(tui-text-area) {
125
- padding: 0 var(--tui-padding-l);
126
- }
127
-
128
- :host._disabled &,
129
- :host-context(tui-primitive-textfield._disabled),
130
- :host-context(tui-textarea._disabled),
131
- :host-context(tui-text-area._disabled) {
132
- // @bad TODO: research why you can reach disabled textfield with mask inside a label without that
133
- pointer-events: none;
134
- }
135
-
136
- :host[data-size='l']:not(._label-outside) &,
137
- :host-context(tui-primitive-textfield[data-size='l']:not(._label-outside)):not(tui-primitive-textfield) {
138
- padding-block-start: 1.25rem;
139
- }
140
-
141
- :host[data-size='m']:not(._label-outside) &,
142
- :host-context(tui-primitive-textfield[data-size='m']:not(._label-outside)):not(tui-primitive-textfield) {
143
- padding-block-start: 1rem;
144
- }
145
-
146
- :host[data-size='l']:not(._label-outside) & {
147
- padding-block-start: 1.25rem;
148
-
149
- // Workaround for raising placeholder in temporary autofill
150
- &:-webkit-autofill + .t-content .t-placeholder {
151
- font-size: 0.8156rem;
152
- transform: translateY(-0.625rem);
153
- }
154
- }
155
-
156
- :host[data-size='m']:not(._label-outside) & {
157
- // Workaround for raising placeholder in temporary autofill
158
- &:-webkit-autofill + .t-content .t-placeholder {
159
- font-size: 0.69rem;
160
- transform: translateY(-0.5rem);
161
- }
162
- }
163
-
164
- :host._hidden input&,
165
- :host-context(tui-primitive-textfield._hidden) {
166
- opacity: 0;
167
- text-indent: -10em; // Hide blinking caret even in IE
168
- }
169
- }
170
-
171
- .textfield-wrapper() {
172
- flex: 1;
173
- min-inline-size: 0;
174
- padding-inline-end: 0.25rem;
175
- }
176
-
177
- .textfield-label() {
178
- .transition(~'transform, font-size, color, letter-spacing');
179
- .text-overflow();
180
- .safari-only({
181
- & {
182
- will-change: unset;
183
- transition-property: transform, color, letter-spacing;
184
- }
185
- });
186
-
187
- display: block;
188
- inline-size: 100%;
189
- user-select: none;
190
- font: var(--tui-font-text-s);
191
- color: var(--tui-text-secondary);
192
- pointer-events: none;
193
- will-change: transform;
194
- transform: translateY(0);
195
-
196
- &_raised {
197
- transform: translateY(-0.625rem);
198
-
199
- :host[data-size='m'] & {
200
- font: var(--tui-font-text-xs);
201
- line-height: 1.25rem;
202
- transform: translateY(-0.5rem);
203
- letter-spacing: 0.025rem;
204
- }
205
-
206
- :host._invalid:not(._focused) &,
207
- :host._invalid:not(._focused):hover & {
208
- color: var(--tui-text-negative);
209
- }
210
- }
211
-
212
- :host._focused &,
213
- :host[data-size='m']._focused._label-outside &,
214
- :host[data-size='l']._focused._label-outside & {
215
- color: var(--tui-text-tertiary);
216
- }
217
-
218
- :host[data-size='l'] & {
219
- font: var(--tui-font-text-m);
220
- line-height: 1.25rem;
221
-
222
- &_raised {
223
- font-size: 0.8156rem;
224
- }
225
- }
226
-
227
- :host[data-size='m']._focused:not(._label-outside) &,
228
- :host[data-size='l']._focused:not(._label-outside) & {
229
- color: var(--tui-text-primary);
230
- }
231
- }
232
-
233
- .input-icon() {
234
- position: relative;
235
- display: flex;
236
- inline-size: 1.5rem;
237
- block-size: 1.5rem;
238
- align-items: center;
239
- justify-content: center;
240
- box-sizing: border-box;
241
- cursor: pointer;
242
- pointer-events: none;
243
- }
244
-
245
- .input-icons() {
246
- display: flex;
247
- align-items: center;
248
-
249
- :host[data-size='m'] & {
250
- margin-inline-end: -0.125rem;
251
- }
252
-
253
- :host[data-size='s'] & {
254
- margin-inline-end: -0.375rem;
255
- }
256
-
257
- :host:not([data-size='s']) & > :not(:first-child) {
258
- margin-inline-start: 0.25rem;
259
- }
260
- }
261
-
262
- .icon-button() {
263
- .input-icon();
264
-
265
- pointer-events: auto;
266
-
267
- :host._readonly &,
268
- :host._disabled & {
269
- pointer-events: none;
270
- }
271
- }
272
-
273
- .textfield() {
274
- :host {
275
- .textfield-host();
276
- }
277
-
278
- .t-input {
279
- .textfield-input();
280
- }
281
-
282
- .t-content {
283
- .textfield-content();
284
- }
285
-
286
- .t-wrapper {
287
- .textfield-wrapper();
288
- }
289
-
290
- .t-placeholder {
291
- .textfield-label();
292
- }
293
-
294
- .t-cleaner {
295
- .icon-button();
296
-
297
- &::before {
298
- font-size: 1rem;
299
- }
300
- }
301
-
302
- .t-icon {
303
- .input-icon();
304
-
305
- &_left {
306
- :host[data-size='s'] & {
307
- margin: 0 0.125rem 0 -0.375rem;
308
- }
309
-
310
- :host[data-size='m'] & {
311
- margin-inline-start: -0.125rem;
312
- margin-inline-end: 0.375rem;
313
- }
314
-
315
- :host[data-size='l'] & {
316
- margin-inline-end: 0.75rem;
317
- }
318
- }
319
- }
320
-
321
- .t-icons {
322
- .input-icons();
323
- }
324
- }