@taiga-ui/core 4.52.0-canary.974ca4b → 4.52.0-canary.a1004d6

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 (288) hide show
  1. package/classes/accessors.d.ts +1 -1
  2. package/components/calendar/calendar-sheet.component.d.ts +1 -1
  3. package/{pipes/calendar-sheet → components/calendar}/calendar-sheet.pipe.d.ts +2 -2
  4. package/components/calendar/calendar-spin.component.d.ts +1 -0
  5. package/components/calendar/calendar-year.component.d.ts +1 -1
  6. package/components/calendar/calendar.options.d.ts +9 -0
  7. package/components/calendar/index.d.ts +3 -0
  8. package/{pipes/order-week-days → components/calendar}/order-week-days.pipe.d.ts +1 -1
  9. package/components/data-list/data-list.component.d.ts +7 -11
  10. package/components/data-list/data-list.d.ts +3 -4
  11. package/components/data-list/data-list.tokens.d.ts +1 -23
  12. package/components/data-list/index.d.ts +3 -4
  13. package/components/data-list/opt-group.directive.d.ts +2 -2
  14. package/components/data-list/option-content.directive.d.ts +14 -0
  15. package/components/data-list/option-with-value.directive.d.ts +9 -0
  16. package/components/data-list/option.directive.d.ts +19 -0
  17. package/components/icon/icon.component.d.ts +2 -2
  18. package/components/index.d.ts +2 -3
  19. package/components/input/index.d.ts +2 -0
  20. package/components/input/input.d.ts +5 -0
  21. package/components/input/input.directive.d.ts +29 -0
  22. package/components/label/label.directive.d.ts +1 -1
  23. package/components/link/index.d.ts +0 -1
  24. package/components/link/link.directive.d.ts +8 -6
  25. package/components/notification/index.d.ts +3 -0
  26. package/components/notification/notification.component.d.ts +14 -0
  27. package/components/notification/notification.d.ts +3 -0
  28. package/components/notification/notification.directive.d.ts +3 -3
  29. package/components/notification/notification.options.d.ts +10 -7
  30. package/components/notification/notification.service.d.ts +17 -0
  31. package/components/root/root.component.d.ts +1 -1
  32. package/components/scrollbar/scroll-ref.directive.d.ts +2 -0
  33. package/components/scrollbar/scrollbar.component.d.ts +1 -5
  34. package/components/spin-button/spin-button.component.d.ts +1 -1
  35. package/components/textfield/index.d.ts +0 -1
  36. package/components/textfield/textfield-multi/textfield-item.component.d.ts +3 -2
  37. package/components/textfield/textfield-multi/textfield-multi.component.d.ts +8 -13
  38. package/components/textfield/textfield.component.d.ts +20 -32
  39. package/components/textfield/textfield.d.ts +2 -3
  40. package/directives/group/group.directive.d.ts +7 -7
  41. package/directives/index.d.ts +0 -5
  42. package/directives/items-handlers/items-handlers.directive.d.ts +5 -9
  43. package/directives/items-handlers/items-handlers.tokens.d.ts +4 -4
  44. package/fesm2022/taiga-ui-core-classes.mjs +8 -10
  45. package/fesm2022/taiga-ui-core-classes.mjs.map +1 -1
  46. package/fesm2022/taiga-ui-core-components-button.mjs +7 -7
  47. package/fesm2022/taiga-ui-core-components-button.mjs.map +1 -1
  48. package/fesm2022/taiga-ui-core-components-calendar.mjs +135 -26
  49. package/fesm2022/taiga-ui-core-components-calendar.mjs.map +1 -1
  50. package/fesm2022/taiga-ui-core-components-cell.mjs +7 -7
  51. package/fesm2022/taiga-ui-core-components-cell.mjs.map +1 -1
  52. package/fesm2022/taiga-ui-core-components-data-list.mjs +109 -271
  53. package/fesm2022/taiga-ui-core-components-data-list.mjs.map +1 -1
  54. package/fesm2022/taiga-ui-core-components-error.mjs +12 -11
  55. package/fesm2022/taiga-ui-core-components-error.mjs.map +1 -1
  56. package/fesm2022/taiga-ui-core-components-expand.mjs +3 -3
  57. package/fesm2022/taiga-ui-core-components-icon.mjs +9 -9
  58. package/fesm2022/taiga-ui-core-components-icon.mjs.map +1 -1
  59. package/fesm2022/taiga-ui-core-components-input.mjs +103 -0
  60. package/fesm2022/taiga-ui-core-components-input.mjs.map +1 -0
  61. package/fesm2022/taiga-ui-core-components-label.mjs +11 -13
  62. package/fesm2022/taiga-ui-core-components-label.mjs.map +1 -1
  63. package/fesm2022/taiga-ui-core-components-link.mjs +13 -24
  64. package/fesm2022/taiga-ui-core-components-link.mjs.map +1 -1
  65. package/fesm2022/taiga-ui-core-components-loader.mjs +4 -4
  66. package/fesm2022/taiga-ui-core-components-loader.mjs.map +1 -1
  67. package/fesm2022/taiga-ui-core-components-notification.mjs +96 -25
  68. package/fesm2022/taiga-ui-core-components-notification.mjs.map +1 -1
  69. package/fesm2022/taiga-ui-core-components-root.mjs +8 -11
  70. package/fesm2022/taiga-ui-core-components-root.mjs.map +1 -1
  71. package/fesm2022/taiga-ui-core-components-scrollbar.mjs +42 -48
  72. package/fesm2022/taiga-ui-core-components-scrollbar.mjs.map +1 -1
  73. package/fesm2022/taiga-ui-core-components-spin-button.mjs +6 -6
  74. package/fesm2022/taiga-ui-core-components-spin-button.mjs.map +1 -1
  75. package/fesm2022/taiga-ui-core-components-textfield.mjs +99 -254
  76. package/fesm2022/taiga-ui-core-components-textfield.mjs.map +1 -1
  77. package/fesm2022/{taiga-ui-core-directives-title.mjs → taiga-ui-core-components-title.mjs} +8 -8
  78. package/fesm2022/{taiga-ui-core-directives-title.mjs.map → taiga-ui-core-components-title.mjs.map} +1 -1
  79. package/fesm2022/taiga-ui-core-components.mjs +2 -3
  80. package/fesm2022/taiga-ui-core-components.mjs.map +1 -1
  81. package/fesm2022/taiga-ui-core-directives-appearance.mjs +16 -15
  82. package/fesm2022/taiga-ui-core-directives-appearance.mjs.map +1 -1
  83. package/fesm2022/taiga-ui-core-directives-date-format.mjs +3 -3
  84. package/fesm2022/taiga-ui-core-directives-group.mjs +20 -28
  85. package/fesm2022/taiga-ui-core-directives-group.mjs.map +1 -1
  86. package/fesm2022/taiga-ui-core-directives-icons.mjs +12 -11
  87. package/fesm2022/taiga-ui-core-directives-icons.mjs.map +1 -1
  88. package/fesm2022/taiga-ui-core-directives-items-handlers.mjs +16 -37
  89. package/fesm2022/taiga-ui-core-directives-items-handlers.mjs.map +1 -1
  90. package/fesm2022/taiga-ui-core-directives-number-format.mjs +3 -3
  91. package/fesm2022/taiga-ui-core-directives.mjs +0 -5
  92. package/fesm2022/taiga-ui-core-directives.mjs.map +1 -1
  93. package/fesm2022/taiga-ui-core-pipes-format-number.mjs +5 -8
  94. package/fesm2022/taiga-ui-core-pipes-format-number.mjs.map +1 -1
  95. package/fesm2022/taiga-ui-core-pipes.mjs +0 -7
  96. package/fesm2022/taiga-ui-core-pipes.mjs.map +1 -1
  97. package/fesm2022/taiga-ui-core-portals-alert.mjs +73 -0
  98. package/fesm2022/taiga-ui-core-portals-alert.mjs.map +1 -0
  99. package/fesm2022/taiga-ui-core-portals-dialog.mjs +158 -0
  100. package/fesm2022/taiga-ui-core-portals-dialog.mjs.map +1 -0
  101. package/fesm2022/{taiga-ui-core-directives-dropdown.mjs → taiga-ui-core-portals-dropdown.mjs} +160 -264
  102. package/fesm2022/taiga-ui-core-portals-dropdown.mjs.map +1 -0
  103. package/fesm2022/{taiga-ui-core-directives-hint.mjs → taiga-ui-core-portals-hint.mjs} +62 -61
  104. package/fesm2022/taiga-ui-core-portals-hint.mjs.map +1 -0
  105. package/fesm2022/taiga-ui-core-portals-modal.mjs +89 -0
  106. package/fesm2022/taiga-ui-core-portals-modal.mjs.map +1 -0
  107. package/fesm2022/{taiga-ui-core-directives-popup.mjs → taiga-ui-core-portals-popup.mjs} +11 -11
  108. package/fesm2022/taiga-ui-core-portals-popup.mjs.map +1 -0
  109. package/fesm2022/taiga-ui-core-portals.mjs +11 -0
  110. package/fesm2022/taiga-ui-core-portals.mjs.map +1 -0
  111. package/fesm2022/taiga-ui-core-services.mjs +15 -79
  112. package/fesm2022/taiga-ui-core-services.mjs.map +1 -1
  113. package/fesm2022/taiga-ui-core-tokens.mjs +35 -50
  114. package/fesm2022/taiga-ui-core-tokens.mjs.map +1 -1
  115. package/fesm2022/taiga-ui-core-utils-format.mjs +1 -23
  116. package/fesm2022/taiga-ui-core-utils-format.mjs.map +1 -1
  117. package/fesm2022/taiga-ui-core-utils-miscellaneous.mjs +19 -19
  118. package/fesm2022/taiga-ui-core-utils-miscellaneous.mjs.map +1 -1
  119. package/fesm2022/taiga-ui-core.mjs +1 -1
  120. package/index.d.ts +1 -1
  121. package/package.json +72 -101
  122. package/pipes/format-number/format-number.pipe.d.ts +1 -1
  123. package/pipes/index.d.ts +0 -7
  124. package/{directives/notification/notification.directive.d.ts → portals/alert/alert.directive.d.ts} +3 -3
  125. package/{directives/notification/notification.service.d.ts → portals/alert/alert.service.d.ts} +3 -3
  126. package/portals/alert/index.d.ts +2 -0
  127. package/{components → portals}/dialog/dialog.service.d.ts +1 -1
  128. package/{directives → portals}/dropdown/dropdown-hover.directive.d.ts +5 -10
  129. package/{directives → portals}/dropdown/dropdown-manual.directive.d.ts +2 -2
  130. package/portals/dropdown/dropdown-open.directive.d.ts +30 -0
  131. package/{directives → portals}/dropdown/dropdown-options.directive.d.ts +0 -4
  132. package/{directives → portals}/dropdown/dropdown-position-sided.directive.d.ts +3 -3
  133. package/{directives → portals}/dropdown/dropdown-position.directive.d.ts +4 -4
  134. package/{directives → portals}/dropdown/dropdown-selection.directive.d.ts +4 -5
  135. package/{directives → portals}/dropdown/dropdown.bindings.d.ts +0 -1
  136. package/{directives → portals}/dropdown/dropdown.d.ts +1 -2
  137. package/{directives → portals}/dropdown/dropdown.directive.d.ts +5 -6
  138. package/{directives → portals}/dropdown/index.d.ts +0 -1
  139. package/{directives → portals}/hint/hint-position.directive.d.ts +3 -3
  140. package/{directives → portals}/hint/hint.directive.d.ts +1 -1
  141. package/portals/index.d.ts +6 -0
  142. package/services/index.d.ts +0 -3
  143. package/styles/components/appearance.less +5 -0
  144. package/styles/components/button.less +10 -20
  145. package/styles/components/icon.less +11 -0
  146. package/styles/components/icons.less +2 -1
  147. package/styles/components/label.less +3 -12
  148. package/styles/components/link.less +8 -24
  149. package/styles/components/notification.less +21 -22
  150. package/styles/components/textfield.less +129 -211
  151. package/styles/components/title.less +8 -8
  152. package/styles/mixins/appearance.less +9 -25
  153. package/styles/mixins/appearance.scss +8 -24
  154. package/styles/mixins/date-picker.less +1 -1
  155. package/styles/mixins/picker.less +1 -1
  156. package/styles/mixins/picker.scss +1 -1
  157. package/styles/mixins/slider.less +4 -10
  158. package/styles/mixins/slider.scss +23 -22
  159. package/styles/taiga-ui-local.less +0 -1
  160. package/styles/taiga-ui-local.scss +0 -1
  161. package/styles/taiga-ui-theme.less +0 -1
  162. package/styles/theme/appearance/outline.less +9 -18
  163. package/styles/theme/appearance/primary.less +2 -4
  164. package/styles/theme/appearance/secondary.less +6 -14
  165. package/styles/theme/appearance/status.less +0 -4
  166. package/styles/theme/appearance/table.less +36 -35
  167. package/styles/theme/appearance/textfield.less +30 -27
  168. package/styles/theme/appearance.less +0 -1
  169. package/styles/theme/variables.less +16 -17
  170. package/tokens/breakpoint.d.ts +4 -0
  171. package/tokens/common-icons.d.ts +2 -0
  172. package/tokens/icons.d.ts +0 -4
  173. package/tokens/index.d.ts +1 -4
  174. package/types/index.d.ts +0 -2
  175. package/types/point.d.ts +1 -1
  176. package/types/size.d.ts +0 -11
  177. package/utils/format/index.d.ts +0 -1
  178. package/utils/miscellaneous/font-scaling.d.ts +2 -1
  179. package/utils/miscellaneous/get-duration.d.ts +2 -0
  180. package/utils/miscellaneous/index.d.ts +1 -1
  181. package/animations/animations.d.ts +0 -109
  182. package/animations/index.d.ts +0 -1
  183. package/components/alert/alert.component.d.ts +0 -14
  184. package/components/alert/alert.directive.d.ts +0 -8
  185. package/components/alert/alert.interfaces.d.ts +0 -12
  186. package/components/alert/alert.service.d.ts +0 -11
  187. package/components/alert/alert.tokens.d.ts +0 -6
  188. package/components/alert/index.d.ts +0 -5
  189. package/components/data-list/data-list.directive.d.ts +0 -7
  190. package/components/data-list/option/option-content.d.ts +0 -16
  191. package/components/data-list/option/option-legacy.component.d.ts +0 -24
  192. package/components/data-list/option/option.directive.d.ts +0 -27
  193. package/components/link/link.options.d.ts +0 -10
  194. package/components/textfield/textfield.directive.d.ts +0 -35
  195. package/directives/dropdown/dropdown-open-legacy.directive.d.ts +0 -12
  196. package/directives/dropdown/dropdown-open.directive.d.ts +0 -33
  197. package/directives/notification/index.d.ts +0 -2
  198. package/fesm2022/taiga-ui-core-animations.mjs +0 -370
  199. package/fesm2022/taiga-ui-core-animations.mjs.map +0 -1
  200. package/fesm2022/taiga-ui-core-components-alert.mjs +0 -110
  201. package/fesm2022/taiga-ui-core-components-alert.mjs.map +0 -1
  202. package/fesm2022/taiga-ui-core-components-dialog.mjs +0 -158
  203. package/fesm2022/taiga-ui-core-components-dialog.mjs.map +0 -1
  204. package/fesm2022/taiga-ui-core-components-modal.mjs +0 -89
  205. package/fesm2022/taiga-ui-core-components-modal.mjs.map +0 -1
  206. package/fesm2022/taiga-ui-core-directives-dropdown.mjs.map +0 -1
  207. package/fesm2022/taiga-ui-core-directives-hint.mjs.map +0 -1
  208. package/fesm2022/taiga-ui-core-directives-notification.mjs +0 -73
  209. package/fesm2022/taiga-ui-core-directives-notification.mjs.map +0 -1
  210. package/fesm2022/taiga-ui-core-directives-popup.mjs.map +0 -1
  211. package/fesm2022/taiga-ui-core-pipes-auto-color.mjs +0 -24
  212. package/fesm2022/taiga-ui-core-pipes-auto-color.mjs.map +0 -1
  213. package/fesm2022/taiga-ui-core-pipes-calendar-sheet.mjs +0 -93
  214. package/fesm2022/taiga-ui-core-pipes-calendar-sheet.mjs.map +0 -1
  215. package/fesm2022/taiga-ui-core-pipes-flag.mjs +0 -31
  216. package/fesm2022/taiga-ui-core-pipes-flag.mjs.map +0 -1
  217. package/fesm2022/taiga-ui-core-pipes-format-date.mjs +0 -27
  218. package/fesm2022/taiga-ui-core-pipes-format-date.mjs.map +0 -1
  219. package/fesm2022/taiga-ui-core-pipes-initials.mjs +0 -28
  220. package/fesm2022/taiga-ui-core-pipes-initials.mjs.map +0 -1
  221. package/fesm2022/taiga-ui-core-pipes-month.mjs +0 -29
  222. package/fesm2022/taiga-ui-core-pipes-month.mjs.map +0 -1
  223. package/fesm2022/taiga-ui-core-pipes-order-week-days.mjs +0 -35
  224. package/fesm2022/taiga-ui-core-pipes-order-week-days.mjs.map +0 -1
  225. package/pipes/auto-color/auto-color.pipe.d.ts +0 -7
  226. package/pipes/auto-color/index.d.ts +0 -1
  227. package/pipes/calendar-sheet/index.d.ts +0 -1
  228. package/pipes/calendar-sheet/utils.d.ts +0 -20
  229. package/pipes/flag/flag.pipe.d.ts +0 -14
  230. package/pipes/flag/index.d.ts +0 -1
  231. package/pipes/format-date/format-date.pipe.d.ts +0 -9
  232. package/pipes/format-date/index.d.ts +0 -1
  233. package/pipes/initials/index.d.ts +0 -1
  234. package/pipes/initials/initials.pipe.d.ts +0 -7
  235. package/pipes/month/index.d.ts +0 -1
  236. package/pipes/month/month.pipe.d.ts +0 -10
  237. package/pipes/order-week-days/index.d.ts +0 -1
  238. package/services/breakpoint.service.d.ts +0 -16
  239. package/services/dark-theme.service.d.ts +0 -10
  240. package/services/format-date.service.d.ts +0 -8
  241. package/styles/mixins/wrapper.less +0 -64
  242. package/styles/mixins/wrapper.scss +0 -61
  243. package/styles/theme/appearance/opposite.less +0 -17
  244. package/styles/theme/wrapper.less +0 -211
  245. package/tokens/day-type-handler.d.ts +0 -7
  246. package/tokens/first-day-of-week.d.ts +0 -5
  247. package/tokens/scroll-ref.d.ts +0 -2
  248. package/tokens/spin-icons.d.ts +0 -6
  249. package/types/range-state.d.ts +0 -4
  250. package/types/value-content-context.d.ts +0 -4
  251. package/utils/format/string-hash-to-hsl.d.ts +0 -6
  252. package/utils/miscellaneous/to-animation-options.d.ts +0 -4
  253. /package/{directives → components}/title/index.d.ts +0 -0
  254. /package/{directives → components}/title/title.directive.d.ts +0 -0
  255. /package/{components → portals}/dialog/dialog.component.d.ts +0 -0
  256. /package/{components → portals}/dialog/dialog.directive.d.ts +0 -0
  257. /package/{components → portals}/dialog/dialog.factory.d.ts +0 -0
  258. /package/{components → portals}/dialog/dialog.options.d.ts +0 -0
  259. /package/{components → portals}/dialog/dialog.providers.d.ts +0 -0
  260. /package/{components → portals}/dialog/index.d.ts +0 -0
  261. /package/{directives → portals}/dropdown/dropdown-content.directive.d.ts +0 -0
  262. /package/{directives → portals}/dropdown/dropdown-context.directive.d.ts +0 -0
  263. /package/{directives → portals}/dropdown/dropdown-hover.options.d.ts +0 -0
  264. /package/{directives → portals}/dropdown/dropdown-limit-width.d.ts +0 -0
  265. /package/{directives → portals}/dropdown/dropdown.component.d.ts +0 -0
  266. /package/{directives → portals}/dropdown/dropdown.driver.d.ts +0 -0
  267. /package/{directives → portals}/dropdown/dropdown.providers.d.ts +0 -0
  268. /package/{directives → portals}/dropdown/with-dropdown-open.directive.d.ts +0 -0
  269. /package/{directives → portals}/hint/hint-describe.directive.d.ts +0 -0
  270. /package/{directives → portals}/hint/hint-driver.directive.d.ts +0 -0
  271. /package/{directives → portals}/hint/hint-host.directive.d.ts +0 -0
  272. /package/{directives → portals}/hint/hint-hover.directive.d.ts +0 -0
  273. /package/{directives → portals}/hint/hint-manual.directive.d.ts +0 -0
  274. /package/{directives → portals}/hint/hint-options.directive.d.ts +0 -0
  275. /package/{directives → portals}/hint/hint-overflow.directive.d.ts +0 -0
  276. /package/{directives → portals}/hint/hint-pointer.directive.d.ts +0 -0
  277. /package/{directives → portals}/hint/hint-unstyled.component.d.ts +0 -0
  278. /package/{directives → portals}/hint/hint.component.d.ts +0 -0
  279. /package/{directives → portals}/hint/hint.d.ts +0 -0
  280. /package/{directives → portals}/hint/hint.providers.d.ts +0 -0
  281. /package/{directives → portals}/hint/index.d.ts +0 -0
  282. /package/{components → portals}/modal/index.d.ts +0 -0
  283. /package/{components → portals}/modal/modal.component.d.ts +0 -0
  284. /package/{components → portals}/modal/modal.service.d.ts +0 -0
  285. /package/{directives → portals}/popup/index.d.ts +0 -0
  286. /package/{directives → portals}/popup/popup.directive.d.ts +0 -0
  287. /package/{directives → portals}/popup/popup.service.d.ts +0 -0
  288. /package/{directives → portals}/popup/popups.component.d.ts +0 -0
@@ -3,9 +3,9 @@ export interface TuiPositionOptions {
3
3
  readonly block: 'end' | 'start';
4
4
  readonly inline: 'center' | 'end' | 'start';
5
5
  }
6
- export declare class TuiNotificationDirective {
6
+ export declare class TuiAlertDirective {
7
7
  protected readonly nothing: undefined;
8
8
  protected readonly context: TuiPositionOptions;
9
- static ɵfac: i0.ɵɵFactoryDeclaration<TuiNotificationDirective, never>;
10
- static ɵdir: i0.ɵɵDirectiveDeclaration<TuiNotificationDirective, never, never, {}, {}, never, never, true, never>;
9
+ static ɵfac: i0.ɵɵFactoryDeclaration<TuiAlertDirective, never>;
10
+ static ɵdir: i0.ɵɵDirectiveDeclaration<TuiAlertDirective, never, never, {}, {}, never, never, true, never>;
11
11
  }
@@ -1,12 +1,12 @@
1
1
  import { TuiPortal } from '@taiga-ui/cdk/portals';
2
2
  import { type PolymorpheusComponent } from '@taiga-ui/polymorpheus';
3
3
  import * as i0 from "@angular/core";
4
- export declare abstract class TuiNotificationService<T, K = void> extends TuiPortal<T, K> {
4
+ export declare abstract class TuiAlertService<T, K = void> extends TuiPortal<T, K> {
5
5
  private readonly concurrency;
6
6
  private readonly current;
7
7
  private readonly queue;
8
8
  constructor(concurrency: number);
9
9
  protected add(component: PolymorpheusComponent<unknown>): () => void;
10
- static ɵfac: i0.ɵɵFactoryDeclaration<TuiNotificationService<any, any>, never>;
11
- static ɵprov: i0.ɵɵInjectableDeclaration<TuiNotificationService<any, any>>;
10
+ static ɵfac: i0.ɵɵFactoryDeclaration<TuiAlertService<any, any>, never>;
11
+ static ɵprov: i0.ɵɵInjectableDeclaration<TuiAlertService<any, any>>;
12
12
  }
@@ -0,0 +1,2 @@
1
+ export * from './alert.directive';
2
+ export * from './alert.service';
@@ -1,4 +1,4 @@
1
- import { TuiModalService } from '@taiga-ui/core/components/modal';
1
+ import { TuiModalService } from '@taiga-ui/core/portals/modal';
2
2
  import { TuiDialogComponent } from './dialog.component';
3
3
  import { type TuiDialogOptions } from './dialog.options';
4
4
  import * as i0 from "@angular/core";
@@ -1,25 +1,20 @@
1
1
  import { TuiDriver } from '@taiga-ui/core/classes';
2
2
  import * as i0 from "@angular/core";
3
3
  export declare class TuiDropdownHover extends TuiDriver {
4
- private readonly dropdownHost?;
4
+ private readonly dropdownHost;
5
+ private hovered;
5
6
  private readonly el;
6
7
  private readonly doc;
7
8
  private readonly options;
8
9
  private readonly activeZone;
9
10
  private readonly open;
10
- /**
11
- * Dropdown can be removed not only via click/touch –
12
- * swipe on mobile devices removes dropdown sheet without triggering new mouseover / mouseout events.
13
- */
14
- private readonly dropdownExternalRemoval$;
15
11
  private readonly stream$;
16
- showDelay: number;
17
- hideDelay: number;
18
- hovered: boolean;
12
+ readonly tuiDropdownShowDelay: import("@angular/core").InputSignal<number>;
13
+ readonly tuiDropdownHideDelay: import("@angular/core").InputSignal<number>;
19
14
  readonly type = "dropdown";
20
15
  constructor();
21
16
  protected onClick(event: MouseEvent): void;
22
17
  private isHovered;
23
18
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiDropdownHover, never>;
24
- static ɵdir: i0.ɵɵDirectiveDeclaration<TuiDropdownHover, "[tuiDropdownHover]", never, { "showDelay": { "alias": "tuiDropdownShowDelay"; "required": false; }; "hideDelay": { "alias": "tuiDropdownHideDelay"; "required": false; }; }, {}, ["dropdownHost"], never, true, never>;
19
+ static ɵdir: i0.ɵɵDirectiveDeclaration<TuiDropdownHover, "[tuiDropdownHover]", never, { "tuiDropdownShowDelay": { "alias": "tuiDropdownShowDelay"; "required": false; "isSignal": true; }; "tuiDropdownHideDelay": { "alias": "tuiDropdownHideDelay"; "required": false; "isSignal": true; }; }, {}, ["dropdownHost"], never, true, never>;
25
20
  }
@@ -2,8 +2,8 @@ import { type OnChanges } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
3
  export declare class TuiDropdownManual implements OnChanges {
4
4
  private readonly driver;
5
- tuiDropdownManual: boolean | '';
5
+ readonly tuiDropdownManual: import("@angular/core").InputSignal<boolean | "">;
6
6
  ngOnChanges(): void;
7
7
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiDropdownManual, never>;
8
- static ɵdir: i0.ɵɵDirectiveDeclaration<TuiDropdownManual, "[tuiDropdownManual]", never, { "tuiDropdownManual": { "alias": "tuiDropdownManual"; "required": false; }; }, {}, never, never, true, never>;
8
+ static ɵdir: i0.ɵɵDirectiveDeclaration<TuiDropdownManual, "[tuiDropdownManual]", never, { "tuiDropdownManual": { "alias": "tuiDropdownManual"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
9
9
  }
@@ -0,0 +1,30 @@
1
+ import * as i0 from "@angular/core";
2
+ import * as i1 from "@taiga-ui/cdk/directives/obscured";
3
+ import * as i2 from "@taiga-ui/cdk/directives/active-zone";
4
+ export declare class TuiDropdownOpen {
5
+ private readonly dropdownHost;
6
+ private readonly directive;
7
+ private readonly el;
8
+ private readonly obscured;
9
+ private readonly activeZone;
10
+ private readonly driver;
11
+ private readonly dropdown;
12
+ readonly enabled: import("@angular/core").InputSignal<boolean>;
13
+ readonly open: import("@angular/core").ModelSignal<boolean>;
14
+ protected readonly driveEffect: import("@angular/core").EffectRef;
15
+ protected readonly syncSub: import("rxjs").Subscription;
16
+ protected readonly closeSub: import("rxjs").Subscription;
17
+ toggle(open: boolean): void;
18
+ protected onEsc(event: KeyboardEvent): void;
19
+ protected onClick(target: HTMLElement): void;
20
+ protected onArrow(event: KeyboardEvent, up: boolean): void;
21
+ protected onKeydown(event: KeyboardEvent): void;
22
+ private get host();
23
+ private get editable();
24
+ private get focused();
25
+ private update;
26
+ private drive;
27
+ private focusDropdown;
28
+ static ɵfac: i0.ɵɵFactoryDeclaration<TuiDropdownOpen, never>;
29
+ static ɵdir: i0.ɵɵDirectiveDeclaration<TuiDropdownOpen, "[tuiDropdown][tuiDropdownAuto],[tuiDropdown][tuiDropdownOpen],[tuiDropdown][tuiDropdownOpenChange]", never, { "enabled": { "alias": "tuiDropdownEnabled"; "required": false; "isSignal": true; }; "open": { "alias": "tuiDropdownOpen"; "required": false; "isSignal": true; }; }, { "open": "tuiDropdownOpenChange"; }, ["dropdownHost"], never, true, [{ directive: typeof i1.TuiObscured; inputs: {}; outputs: {}; }, { directive: typeof i2.TuiActiveZone; inputs: { "tuiActiveZoneParent": "tuiActiveZoneParent"; }; outputs: { "tuiActiveZoneChange": "tuiActiveZoneChange"; }; }]>;
30
+ }
@@ -12,11 +12,7 @@ export interface TuiDropdownOptions {
12
12
  readonly minHeight: number;
13
13
  readonly offset: number;
14
14
  }
15
- /** Default values for dropdown options */
16
15
  export declare const TUI_DROPDOWN_DEFAULT_OPTIONS: TuiDropdownOptions;
17
- /**
18
- * Default parameters for dropdown directive
19
- */
20
16
  export declare const TUI_DROPDOWN_OPTIONS: InjectionToken<TuiDropdownOptions>;
21
17
  export declare const tuiDropdownOptionsProvider: (options: Partial<TuiDropdownOptions>) => FactoryProvider;
22
18
  export declare class TuiDropdownOptionsDirective implements TuiDropdownOptions {
@@ -6,10 +6,10 @@ export declare class TuiDropdownPositionSided extends TuiPositionAccessor {
6
6
  private readonly viewport;
7
7
  private readonly vertical;
8
8
  private previous;
9
- tuiDropdownSided: boolean | string;
10
- tuiDropdownSidedOffset: number;
9
+ readonly tuiDropdownSided: import("@angular/core").InputSignal<string | boolean>;
10
+ readonly tuiDropdownSidedOffset: import("@angular/core").InputSignal<number>;
11
11
  readonly type = "dropdown";
12
12
  getPosition(rect: DOMRect): TuiPoint;
13
13
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiDropdownPositionSided, never>;
14
- static ɵdir: i0.ɵɵDirectiveDeclaration<TuiDropdownPositionSided, "[tuiDropdownSided]", never, { "tuiDropdownSided": { "alias": "tuiDropdownSided"; "required": false; }; "tuiDropdownSidedOffset": { "alias": "tuiDropdownSidedOffset"; "required": false; }; }, {}, never, never, true, never>;
14
+ static ɵdir: i0.ɵɵDirectiveDeclaration<TuiDropdownPositionSided, "[tuiDropdownSided]", never, { "tuiDropdownSided": { "alias": "tuiDropdownSided"; "required": false; "isSignal": true; }; "tuiDropdownSidedOffset": { "alias": "tuiDropdownSidedOffset"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
15
15
  }
@@ -1,6 +1,6 @@
1
- import { EventEmitter } from '@angular/core';
2
1
  import { TuiPositionAccessor, TuiRectAccessor } from '@taiga-ui/core/classes';
3
2
  import { type TuiPoint, type TuiVerticalDirection } from '@taiga-ui/core/types';
3
+ import { Subject } from 'rxjs';
4
4
  import { type TuiDropdownAlign } from './dropdown-options.directive';
5
5
  import * as i0 from "@angular/core";
6
6
  export declare class TuiDropdownPosition extends TuiPositionAccessor {
@@ -8,12 +8,12 @@ export declare class TuiDropdownPosition extends TuiPositionAccessor {
8
8
  private readonly options;
9
9
  private readonly viewport;
10
10
  private previous?;
11
- readonly directionChange: EventEmitter<TuiVerticalDirection>;
11
+ readonly direction: Subject<TuiVerticalDirection>;
12
12
  readonly type = "dropdown";
13
13
  readonly accessor: TuiRectAccessor;
14
- emitDirection(direction: TuiVerticalDirection): void;
14
+ readonly tuiDropdownDirectionChange: import("@angular/core").OutputRef<TuiVerticalDirection>;
15
15
  getPosition({ width, height }: DOMRect): TuiPoint;
16
16
  getAlign(align: TuiDropdownAlign): TuiDropdownAlign;
17
17
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiDropdownPosition, never>;
18
- static ɵdir: i0.ɵɵDirectiveDeclaration<TuiDropdownPosition, never, never, {}, { "directionChange": "tuiDropdownDirectionChange"; }, never, never, true, never>;
18
+ static ɵdir: i0.ɵɵDirectiveDeclaration<TuiDropdownPosition, never, never, {}, { "tuiDropdownDirectionChange": "tuiDropdownDirectionChange"; }, never, never, true, never>;
19
19
  }
@@ -1,7 +1,6 @@
1
1
  import { type OnDestroy, ViewContainerRef } from '@angular/core';
2
2
  import { type TuiBooleanHandler } from '@taiga-ui/cdk/types';
3
3
  import { TuiDriver, type TuiRectAccessor } from '@taiga-ui/core/classes';
4
- import { BehaviorSubject } from 'rxjs';
5
4
  import { TuiDropdownDirective } from './dropdown.directive';
6
5
  import * as i0 from "@angular/core";
7
6
  export declare class TuiDropdownSelection extends TuiDriver implements TuiRectAccessor, OnDestroy {
@@ -10,13 +9,13 @@ export declare class TuiDropdownSelection extends TuiDriver implements TuiRectAc
10
9
  protected readonly vcr: ViewContainerRef;
11
10
  protected readonly dropdown: TuiDropdownDirective;
12
11
  protected readonly el: HTMLElement;
13
- protected readonly handler$: BehaviorSubject<TuiBooleanHandler<Range>>;
12
+ protected readonly handler: import("@angular/core").Signal<TuiBooleanHandler<Range>>;
14
13
  protected readonly stream$: import("rxjs").Observable<boolean>;
15
14
  protected range: Range;
16
- position: 'selection' | 'tag' | 'word';
17
15
  readonly type = "dropdown";
16
+ readonly tuiDropdownSelection: import("@angular/core").InputSignal<string | TuiBooleanHandler<Range>>;
17
+ readonly tuiDropdownSelectionPosition: import("@angular/core").InputSignal<"selection" | "tag" | "word">;
18
18
  constructor();
19
- set tuiDropdownSelection(visible: TuiBooleanHandler<Range> | string);
20
19
  getClientRect(): DOMRect;
21
20
  ngOnDestroy(): void;
22
21
  private get ghostHost();
@@ -39,5 +38,5 @@ export declare class TuiDropdownSelection extends TuiDriver implements TuiRectAc
39
38
  */
40
39
  private initGhost;
41
40
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiDropdownSelection, never>;
42
- static ɵdir: i0.ɵɵDirectiveDeclaration<TuiDropdownSelection, "[tuiDropdownSelection]", never, { "position": { "alias": "tuiDropdownSelectionPosition"; "required": false; }; "tuiDropdownSelection": { "alias": "tuiDropdownSelection"; "required": false; }; }, {}, never, never, true, never>;
41
+ static ɵdir: i0.ɵɵDirectiveDeclaration<TuiDropdownSelection, "[tuiDropdownSelection]", never, { "tuiDropdownSelection": { "alias": "tuiDropdownSelection"; "required": false; "isSignal": true; }; "tuiDropdownSelectionPosition": { "alias": "tuiDropdownSelectionPosition"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
43
42
  }
@@ -5,5 +5,4 @@ export declare function tuiDropdown(value: C | WritableSignal<C>): WritableSigna
5
5
  export declare function tuiDropdown(value: Signal<C>): Signal<C>;
6
6
  export declare function tuiDropdownEnabled(value: WritableSignal<boolean> | boolean): WritableSignal<boolean>;
7
7
  export declare function tuiDropdownEnabled(value: Signal<boolean>): Signal<boolean>;
8
- export declare function tuiDropdownOpen(): WritableSignal<boolean>;
9
8
  export {};
@@ -6,9 +6,8 @@ import { TuiDropdownContext } from './dropdown-context.directive';
6
6
  import { TuiDropdownHover } from './dropdown-hover.directive';
7
7
  import { TuiDropdownManual } from './dropdown-manual.directive';
8
8
  import { TuiDropdownOpen } from './dropdown-open.directive';
9
- import { TuiDropdownOpenLegacy } from './dropdown-open-legacy.directive';
10
9
  import { TuiDropdownOptionsDirective } from './dropdown-options.directive';
11
10
  import { TuiDropdownPosition } from './dropdown-position.directive';
12
11
  import { TuiDropdownPositionSided } from './dropdown-position-sided.directive';
13
12
  import { TuiDropdownSelection } from './dropdown-selection.directive';
14
- export declare const TuiDropdown: readonly [typeof TuiDropdownOptionsDirective, typeof TuiDropdownDriverDirective, typeof TuiDropdownDirective, typeof TuiDropdownComponent, typeof TuiDropdownOpen, typeof TuiDropdownOpenLegacy, typeof TuiDropdownManual, typeof TuiDropdownHover, typeof TuiDropdownContent, typeof TuiDropdownContext, typeof TuiDropdownPosition, typeof TuiDropdownPositionSided, typeof TuiDropdownSelection];
13
+ export declare const TuiDropdown: readonly [typeof TuiDropdownOptionsDirective, typeof TuiDropdownDriverDirective, typeof TuiDropdownDirective, typeof TuiDropdownComponent, typeof TuiDropdownOpen, typeof TuiDropdownManual, typeof TuiDropdownHover, typeof TuiDropdownContent, typeof TuiDropdownContext, typeof TuiDropdownPosition, typeof TuiDropdownPositionSided, typeof TuiDropdownSelection];
@@ -11,19 +11,18 @@ export declare class TuiDropdownDirective implements AfterViewChecked, OnDestroy
11
11
  private readonly cdr;
12
12
  private readonly drivers;
13
13
  protected readonly sub: import("rxjs").Subscription;
14
+ protected readonly autoClose: import("@angular/core").EffectRef;
15
+ readonly ref: import("@angular/core").WritableSignal<ComponentRef<unknown> | null>;
14
16
  readonly el: HTMLElement;
15
17
  readonly type = "dropdown";
16
18
  readonly component: PolymorpheusComponent<any>;
17
- ref: import("@angular/core").WritableSignal<ComponentRef<unknown> | null>;
18
- readonly _content: import("@angular/core").WritableSignal<PolymorpheusContent<TuiContext<() => void>>>;
19
- set tuiDropdown(content: PolymorpheusContent<TuiContext<() => void>>);
19
+ readonly tuiDropdown: import("@angular/core").InputSignal<PolymorpheusContent<TuiContext<() => void>>>;
20
+ readonly content: import("@angular/core").Signal<PolymorpheusContent<TuiContext<() => void>>>;
20
21
  get position(): 'absolute' | 'fixed';
21
- get content(): PolymorpheusContent<TuiContext<() => void>>;
22
- set content(x: PolymorpheusContent<TuiContext<() => void>>);
23
22
  ngAfterViewChecked(): void;
24
23
  ngOnDestroy(): void;
25
24
  getClientRect(): DOMRect;
26
25
  toggle(show: boolean): void;
27
26
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiDropdownDirective, never>;
28
- static ɵdir: i0.ɵɵDirectiveDeclaration<TuiDropdownDirective, "[tuiDropdown]:not(ng-container):not(ng-template)", ["tuiDropdown"], { "tuiDropdown": { "alias": "tuiDropdown"; "required": false; }; }, {}, never, never, true, [{ directive: typeof i1.TuiDropdownDriverDirective; inputs: {}; outputs: {}; }, { directive: typeof i2.TuiDropdownPosition; inputs: {}; outputs: { "tuiDropdownDirectionChange": "tuiDropdownDirectionChange"; }; }]>;
27
+ static ɵdir: i0.ɵɵDirectiveDeclaration<TuiDropdownDirective, "[tuiDropdown]:not(ng-container):not(ng-template)", ["tuiDropdown"], { "tuiDropdown": { "alias": "tuiDropdown"; "required": false; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof i1.TuiDropdownDriverDirective; inputs: {}; outputs: {}; }, { directive: typeof i2.TuiDropdownPosition; inputs: {}; outputs: { "tuiDropdownDirectionChange": "tuiDropdownDirectionChange"; }; }]>;
29
28
  }
@@ -11,7 +11,6 @@ export * from './dropdown-hover.options';
11
11
  export * from './dropdown-limit-width';
12
12
  export * from './dropdown-manual.directive';
13
13
  export * from './dropdown-open.directive';
14
- export * from './dropdown-open-legacy.directive';
15
14
  export * from './dropdown-options.directive';
16
15
  export * from './dropdown-position.directive';
17
16
  export * from './dropdown-position-sided.directive';
@@ -4,17 +4,17 @@ import { type TuiHintDirection } from './hint-options.directive';
4
4
  import * as i0 from "@angular/core";
5
5
  export declare class TuiHintPosition extends TuiPositionAccessor {
6
6
  private readonly el;
7
- private readonly offset;
8
7
  private readonly viewport;
9
8
  private readonly accessor;
10
9
  private readonly points;
11
10
  readonly direction: import("@angular/core").InputSignal<TuiHintDirection | TuiHintDirection[]>;
11
+ readonly offset: import("@angular/core").InputSignal<number>;
12
12
  readonly directionChange: import("@angular/core").OutputEmitterRef<TuiHintDirection>;
13
13
  readonly type = "hint";
14
14
  emitDirection(direction: TuiHintDirection): void;
15
- getPosition(rect: DOMRect, el?: HTMLElement): TuiPoint;
15
+ getPosition({ width, height }: DOMRect): TuiPoint;
16
16
  private get fallback();
17
17
  private checkPosition;
18
18
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiHintPosition, never>;
19
- static ɵdir: i0.ɵɵDirectiveDeclaration<TuiHintPosition, never, never, { "direction": { "alias": "tuiHintDirection"; "required": false; "isSignal": true; }; }, { "directionChange": "tuiHintDirectionChange"; }, never, never, true, never>;
19
+ static ɵdir: i0.ɵɵDirectiveDeclaration<TuiHintPosition, never, never, { "direction": { "alias": "tuiHintDirection"; "required": false; "isSignal": true; }; "offset": { "alias": "tuiHintOffset"; "required": false; "isSignal": true; }; }, { "directionChange": "tuiHintDirectionChange"; }, never, never, true, never>;
20
20
  }
@@ -20,5 +20,5 @@ export declare class TuiHintDirective<C> implements OnDestroy, OnChanges, TuiRec
20
20
  getClientRect(): DOMRect;
21
21
  toggle(show: boolean): void;
22
22
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiHintDirective<any>, never>;
23
- static ɵdir: i0.ɵɵDirectiveDeclaration<TuiHintDirective<any>, "[tuiHint]:not(ng-container):not(ng-template)", never, { "content": { "alias": "tuiHint"; "required": false; "isSignal": true; }; "context": { "alias": "tuiHintContext"; "required": false; "isSignal": true; }; "appearance": { "alias": "tuiHintAppearance"; "required": false; "isSignal": true; }; }, { "visible": "tuiHintVisible"; }, never, never, true, [{ directive: typeof i1.TuiHintDriver; inputs: {}; outputs: {}; }, { directive: typeof i2.TuiHintHover; inputs: { "tuiHintHideDelay": "tuiHintHideDelay"; "tuiHintShowDelay": "tuiHintShowDelay"; }; outputs: {}; }, { directive: typeof i3.TuiHintPosition; inputs: { "tuiHintDirection": "tuiHintDirection"; }; outputs: { "tuiHintDirectionChange": "tuiHintDirectionChange"; }; }]>;
23
+ static ɵdir: i0.ɵɵDirectiveDeclaration<TuiHintDirective<any>, "[tuiHint]:not(ng-container):not(ng-template)", never, { "content": { "alias": "tuiHint"; "required": false; "isSignal": true; }; "context": { "alias": "tuiHintContext"; "required": false; "isSignal": true; }; "appearance": { "alias": "tuiHintAppearance"; "required": false; "isSignal": true; }; }, { "visible": "tuiHintVisible"; }, never, never, true, [{ directive: typeof i1.TuiHintDriver; inputs: {}; outputs: {}; }, { directive: typeof i2.TuiHintHover; inputs: { "tuiHintHideDelay": "tuiHintHideDelay"; "tuiHintShowDelay": "tuiHintShowDelay"; }; outputs: {}; }, { directive: typeof i3.TuiHintPosition; inputs: { "tuiHintDirection": "tuiHintDirection"; "tuiHintOffset": "tuiHintOffset"; }; outputs: { "tuiHintDirectionChange": "tuiHintDirectionChange"; }; }]>;
24
24
  }
@@ -0,0 +1,6 @@
1
+ export * from '@taiga-ui/core/portals/alert';
2
+ export * from '@taiga-ui/core/portals/dialog';
3
+ export * from '@taiga-ui/core/portals/dropdown';
4
+ export * from '@taiga-ui/core/portals/hint';
5
+ export * from '@taiga-ui/core/portals/modal';
6
+ export * from '@taiga-ui/core/portals/popup';
@@ -1,5 +1,2 @@
1
- export * from './breakpoint.service';
2
- export * from './dark-theme.service';
3
- export * from './format-date.service';
4
1
  export * from './position.service';
5
2
  export * from './visual-viewport.service';
@@ -41,5 +41,10 @@
41
41
  .appearance-disabled({
42
42
  cursor: initial;
43
43
  opacity: var(--tui-disabled-opacity);
44
+
45
+ &::before,
46
+ &::after {
47
+ cursor: initial;
48
+ }
44
49
  });
45
50
  }
@@ -32,7 +32,7 @@
32
32
  padding: var(--t-padding);
33
33
  user-select: none;
34
34
  cursor: pointer;
35
- font: var(--tui-font-text-m);
35
+ font: var(--tui-font-body-m);
36
36
  font-weight: bold;
37
37
 
38
38
  > .t-loader {
@@ -50,10 +50,11 @@
50
50
  --t-padding: 0 0.375rem;
51
51
  --t-margin: -0.125rem;
52
52
 
53
- font: var(--tui-font-text-s);
53
+ font: var(--tui-font-body-s);
54
54
 
55
55
  tui-icon,
56
- &::before {
56
+ &::before,
57
+ &::after {
57
58
  font-size: 1rem;
58
59
  }
59
60
  }
@@ -65,10 +66,11 @@
65
66
  --t-padding: 0 0.625rem;
66
67
  --t-margin: -0.125rem;
67
68
 
68
- font: var(--tui-font-text-s);
69
+ font: var(--tui-font-body-s);
69
70
 
70
71
  tui-icon,
71
- &:not([tuiIconButton][data-appearance='icon']):not([tuiIconButton][data-appearance='link'])::before {
72
+ &:not([tuiIconButton][data-appearance='icon'], [tuiIconButton][data-appearance='link'])::before,
73
+ &:not([tuiIconButton][data-appearance='icon'], [tuiIconButton][data-appearance='link'])::after {
72
74
  font-size: 1rem;
73
75
  }
74
76
  }
@@ -80,12 +82,8 @@
80
82
  --t-padding: 0 1rem;
81
83
  --t-margin: -0.375rem;
82
84
 
83
- font: var(--tui-font-text-m);
85
+ font: var(--tui-font-body-m);
84
86
  font-weight: bold;
85
-
86
- &::after {
87
- margin-inline-end: -0.125rem;
88
- }
89
87
  }
90
88
 
91
89
  &._loading {
@@ -104,10 +102,6 @@
104
102
  }
105
103
  }
106
104
 
107
- &[tuiIcons]::after {
108
- font-size: 1rem;
109
- }
110
-
111
105
  &[tuiButtonVertical] {
112
106
  // StackBlitz changes "0rem" to "0" breaking calc
113
107
  --t-margin: ~'0rem' !important;
@@ -120,7 +114,7 @@
120
114
  gap: 0.375rem;
121
115
  min-inline-size: 5rem;
122
116
  white-space: pre-line;
123
- font: var(--tui-font-text-ui-s);
117
+ font: var(--tui-font-ui-s);
124
118
 
125
119
  & > * {
126
120
  max-block-size: calc(var(--t-line-height) * 2);
@@ -134,11 +128,7 @@
134
128
  font-size: 0 !important;
135
129
  padding: 0;
136
130
 
137
- &[data-size='l']::after {
138
- margin: 0;
139
- }
140
-
141
- &&[style*='--t-icon-start:']::after {
131
+ &&[data-icon-start]::after {
142
132
  display: none;
143
133
  }
144
134
  }
@@ -31,6 +31,7 @@ tui-icon {
31
31
  vertical-align: middle;
32
32
  box-sizing: border-box;
33
33
  mask: var(--t-icon-bg) no-repeat center / calc(100% + 10 * var(--tui-stroke-width, 0.125rem)) 100%;
34
+ zoom: ~'calc(100% * (min(max(var(--tui-font-offset) - 10px, 0px), 1px) / 0.8px))';
34
35
 
35
36
  @media @tui-mouse {
36
37
  &[data-appearance='icon']:hover {
@@ -69,4 +70,14 @@ tui-icon {
69
70
  --tui-icon-size: 0.5715em;
70
71
  }
71
72
  }
73
+
74
+ &[data-icon-start='img']::before,
75
+ &[data-icon-end='img']::after {
76
+ zoom: 1;
77
+ }
78
+
79
+ &[data-icon-start='font']::before,
80
+ &[data-icon-end='font']::after {
81
+ zoom: 0.667;
82
+ }
72
83
  }
@@ -31,6 +31,7 @@
31
31
  flex-shrink: 0;
32
32
  box-sizing: content-box;
33
33
  background: currentColor;
34
+ zoom: ~'calc(100% * (min(max(var(--tui-font-offset) - 10px, 0px), 1px) / 0.8px))';
34
35
  }
35
36
 
36
37
  &::before {
@@ -62,7 +63,7 @@
62
63
  display: grid;
63
64
  mask: none;
64
65
  background: none;
65
- font: 1.3em/1 var(--tui-font-icon, inherit);
66
+ font: 1.5em / 1 var(--tui-font-icon, inherit);
66
67
  text-align: center;
67
68
  place-content: center;
68
69
  text-transform: none;
@@ -18,22 +18,13 @@
18
18
  display: flex;
19
19
  gap: 0.25rem;
20
20
  flex-direction: column;
21
- font: var(--tui-font-text-s);
21
+ font: var(--tui-font-body-s);
22
22
  color: var(--tui-text-primary);
23
23
 
24
24
  &:not([data-orientation='vertical']) {
25
25
  flex-direction: row;
26
26
  inline-size: fit-content;
27
- font: var(--tui-font-text-m);
28
- }
29
-
30
- // TODO: Remove after legacy inputs are dropped
31
- &:has(tui-textfield),
32
- &:has(tui-primitive-textfield),
33
- &:has(tui-textarea) {
34
- flex-direction: column !important;
35
- inline-size: auto !important;
36
- font: var(--tui-font-text-s) !important;
27
+ font: var(--tui-font-body-m);
37
28
  }
38
29
 
39
30
  input[type='checkbox'],
@@ -47,7 +38,7 @@
47
38
  }
48
39
 
49
40
  small {
50
- font: var(--tui-font-text-s);
41
+ font: var(--tui-font-body-s);
51
42
  }
52
43
 
53
44
  [tuiTitle] {
@@ -21,19 +21,14 @@
21
21
  border: none;
22
22
  cursor: pointer;
23
23
  font: inherit;
24
- color: var(--tui-text-primary);
25
- text-decoration: none dashed currentColor;
24
+ color: inherit;
25
+ border-radius: 0.125rem;
26
+ outline-width: 1px;
27
+ outline-offset: -1px;
26
28
  text-underline-offset: 0.2em;
27
- text-decoration-thickness: 0.7px;
29
+ text-decoration: none dashed currentColor 1px;
28
30
  text-decoration-color: color-mix(in lch, currentColor, transparent);
29
31
 
30
- // TODO: Remove in v5
31
- @media @tui-mouse {
32
- &:hover {
33
- --tui-text-secondary: var(--tui-text-primary);
34
- }
35
- }
36
-
37
32
  &::before {
38
33
  margin-inline-end: 0.25rem;
39
34
  }
@@ -58,12 +53,6 @@
58
53
  display: inline-block;
59
54
  }
60
55
 
61
- .appearance-focus({
62
- outline: none;
63
- background: var(--tui-service-selection-background);
64
- background: color-mix(in lch, currentColor 12%, transparent);
65
- });
66
-
67
56
  .appearance-hover({
68
57
  text-decoration-color: currentColor;
69
58
  });
@@ -72,13 +61,8 @@
72
61
  text-decoration-color: currentColor;
73
62
  });
74
63
 
75
- @media @tui-mouse {
76
- &[data-appearance='']:hover {
77
- opacity: 0.7;
78
- }
79
- }
80
-
81
- &[data-appearance='']:active {
82
- opacity: 0.7;
64
+ &[data-appearance=''] {
65
+ text-decoration-line: underline;
66
+ text-decoration-style: solid;
83
67
  }
84
68
  }