@taiga-ui/core 4.52.0-canary.ec0802b → 4.52.0-canary.efbd0d4

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 (274) 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 +2 -4
  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/option-content.directive.d.ts +14 -0
  14. package/components/data-list/option-with-value.directive.d.ts +9 -0
  15. package/components/data-list/option.directive.d.ts +19 -0
  16. package/components/icon/icon.component.d.ts +2 -2
  17. package/components/index.d.ts +2 -2
  18. package/components/input/index.d.ts +2 -0
  19. package/components/input/input.d.ts +5 -0
  20. package/components/input/input.directive.d.ts +29 -0
  21. package/components/label/label.directive.d.ts +1 -1
  22. package/components/link/index.d.ts +0 -1
  23. package/components/link/link.directive.d.ts +8 -6
  24. package/components/notification/notification.component.d.ts +1 -1
  25. package/components/notification/notification.directive.d.ts +1 -1
  26. package/components/notification/notification.options.d.ts +4 -3
  27. package/components/notification/notification.service.d.ts +1 -1
  28. package/components/root/root.component.d.ts +1 -1
  29. package/components/scrollbar/scroll-ref.directive.d.ts +2 -0
  30. package/components/scrollbar/scrollbar.component.d.ts +1 -5
  31. package/components/spin-button/spin-button.component.d.ts +1 -1
  32. package/components/textfield/index.d.ts +0 -1
  33. package/components/textfield/textfield-multi/textfield-item.component.d.ts +3 -2
  34. package/components/textfield/textfield-multi/textfield-multi.component.d.ts +8 -13
  35. package/components/textfield/textfield.component.d.ts +20 -32
  36. package/components/textfield/textfield.d.ts +2 -3
  37. package/directives/group/group.directive.d.ts +7 -7
  38. package/directives/index.d.ts +0 -5
  39. package/directives/items-handlers/items-handlers.directive.d.ts +5 -9
  40. package/directives/items-handlers/items-handlers.tokens.d.ts +4 -4
  41. package/fesm2022/taiga-ui-core-classes.mjs +8 -10
  42. package/fesm2022/taiga-ui-core-classes.mjs.map +1 -1
  43. package/fesm2022/taiga-ui-core-components-button.mjs +7 -7
  44. package/fesm2022/taiga-ui-core-components-button.mjs.map +1 -1
  45. package/fesm2022/taiga-ui-core-components-calendar.mjs +135 -26
  46. package/fesm2022/taiga-ui-core-components-calendar.mjs.map +1 -1
  47. package/fesm2022/taiga-ui-core-components-cell.mjs +7 -7
  48. package/fesm2022/taiga-ui-core-components-cell.mjs.map +1 -1
  49. package/fesm2022/taiga-ui-core-components-data-list.mjs +98 -233
  50. package/fesm2022/taiga-ui-core-components-data-list.mjs.map +1 -1
  51. package/fesm2022/taiga-ui-core-components-error.mjs +12 -11
  52. package/fesm2022/taiga-ui-core-components-error.mjs.map +1 -1
  53. package/fesm2022/taiga-ui-core-components-expand.mjs +3 -3
  54. package/fesm2022/taiga-ui-core-components-icon.mjs +9 -9
  55. package/fesm2022/taiga-ui-core-components-icon.mjs.map +1 -1
  56. package/fesm2022/taiga-ui-core-components-input.mjs +103 -0
  57. package/fesm2022/taiga-ui-core-components-input.mjs.map +1 -0
  58. package/fesm2022/taiga-ui-core-components-label.mjs +11 -13
  59. package/fesm2022/taiga-ui-core-components-label.mjs.map +1 -1
  60. package/fesm2022/taiga-ui-core-components-link.mjs +13 -24
  61. package/fesm2022/taiga-ui-core-components-link.mjs.map +1 -1
  62. package/fesm2022/taiga-ui-core-components-loader.mjs +4 -4
  63. package/fesm2022/taiga-ui-core-components-loader.mjs.map +1 -1
  64. package/fesm2022/taiga-ui-core-components-notification.mjs +27 -29
  65. package/fesm2022/taiga-ui-core-components-notification.mjs.map +1 -1
  66. package/fesm2022/taiga-ui-core-components-root.mjs +7 -9
  67. package/fesm2022/taiga-ui-core-components-root.mjs.map +1 -1
  68. package/fesm2022/taiga-ui-core-components-scrollbar.mjs +42 -48
  69. package/fesm2022/taiga-ui-core-components-scrollbar.mjs.map +1 -1
  70. package/fesm2022/taiga-ui-core-components-spin-button.mjs +6 -6
  71. package/fesm2022/taiga-ui-core-components-spin-button.mjs.map +1 -1
  72. package/fesm2022/taiga-ui-core-components-textfield.mjs +99 -254
  73. package/fesm2022/taiga-ui-core-components-textfield.mjs.map +1 -1
  74. package/fesm2022/{taiga-ui-core-directives-title.mjs → taiga-ui-core-components-title.mjs} +8 -8
  75. package/fesm2022/{taiga-ui-core-directives-title.mjs.map → taiga-ui-core-components-title.mjs.map} +1 -1
  76. package/fesm2022/taiga-ui-core-components.mjs +2 -2
  77. package/fesm2022/taiga-ui-core-directives-appearance.mjs +16 -15
  78. package/fesm2022/taiga-ui-core-directives-appearance.mjs.map +1 -1
  79. package/fesm2022/taiga-ui-core-directives-date-format.mjs +3 -3
  80. package/fesm2022/taiga-ui-core-directives-group.mjs +20 -28
  81. package/fesm2022/taiga-ui-core-directives-group.mjs.map +1 -1
  82. package/fesm2022/taiga-ui-core-directives-icons.mjs +12 -11
  83. package/fesm2022/taiga-ui-core-directives-icons.mjs.map +1 -1
  84. package/fesm2022/taiga-ui-core-directives-items-handlers.mjs +16 -37
  85. package/fesm2022/taiga-ui-core-directives-items-handlers.mjs.map +1 -1
  86. package/fesm2022/taiga-ui-core-directives-number-format.mjs +3 -3
  87. package/fesm2022/taiga-ui-core-directives.mjs +0 -5
  88. package/fesm2022/taiga-ui-core-directives.mjs.map +1 -1
  89. package/fesm2022/taiga-ui-core-pipes-format-number.mjs +5 -8
  90. package/fesm2022/taiga-ui-core-pipes-format-number.mjs.map +1 -1
  91. package/fesm2022/taiga-ui-core-pipes.mjs +0 -7
  92. package/fesm2022/taiga-ui-core-pipes.mjs.map +1 -1
  93. package/fesm2022/{taiga-ui-core-directives-alert.mjs → taiga-ui-core-portals-alert.mjs} +12 -12
  94. package/fesm2022/taiga-ui-core-portals-alert.mjs.map +1 -0
  95. package/fesm2022/taiga-ui-core-portals-dialog.mjs +158 -0
  96. package/fesm2022/taiga-ui-core-portals-dialog.mjs.map +1 -0
  97. package/fesm2022/{taiga-ui-core-directives-dropdown.mjs → taiga-ui-core-portals-dropdown.mjs} +160 -264
  98. package/fesm2022/taiga-ui-core-portals-dropdown.mjs.map +1 -0
  99. package/fesm2022/{taiga-ui-core-directives-hint.mjs → taiga-ui-core-portals-hint.mjs} +62 -61
  100. package/fesm2022/taiga-ui-core-portals-hint.mjs.map +1 -0
  101. package/fesm2022/taiga-ui-core-portals-modal.mjs +89 -0
  102. package/fesm2022/taiga-ui-core-portals-modal.mjs.map +1 -0
  103. package/fesm2022/{taiga-ui-core-directives-popup.mjs → taiga-ui-core-portals-popup.mjs} +11 -11
  104. package/fesm2022/taiga-ui-core-portals-popup.mjs.map +1 -0
  105. package/fesm2022/taiga-ui-core-portals.mjs +11 -0
  106. package/fesm2022/taiga-ui-core-portals.mjs.map +1 -0
  107. package/fesm2022/taiga-ui-core-services.mjs +15 -79
  108. package/fesm2022/taiga-ui-core-services.mjs.map +1 -1
  109. package/fesm2022/taiga-ui-core-tokens.mjs +34 -49
  110. package/fesm2022/taiga-ui-core-tokens.mjs.map +1 -1
  111. package/fesm2022/taiga-ui-core-utils-format.mjs +1 -23
  112. package/fesm2022/taiga-ui-core-utils-format.mjs.map +1 -1
  113. package/fesm2022/taiga-ui-core-utils-miscellaneous.mjs +19 -19
  114. package/fesm2022/taiga-ui-core-utils-miscellaneous.mjs.map +1 -1
  115. package/fesm2022/taiga-ui-core.mjs +1 -1
  116. package/index.d.ts +1 -1
  117. package/package.json +62 -87
  118. package/pipes/format-number/format-number.pipe.d.ts +1 -1
  119. package/pipes/index.d.ts +0 -7
  120. package/{components → portals}/dialog/dialog.service.d.ts +1 -1
  121. package/{directives → portals}/dropdown/dropdown-hover.directive.d.ts +5 -10
  122. package/{directives → portals}/dropdown/dropdown-manual.directive.d.ts +2 -2
  123. package/portals/dropdown/dropdown-open.directive.d.ts +30 -0
  124. package/{directives → portals}/dropdown/dropdown-options.directive.d.ts +0 -4
  125. package/{directives → portals}/dropdown/dropdown-position-sided.directive.d.ts +3 -3
  126. package/{directives → portals}/dropdown/dropdown-position.directive.d.ts +4 -4
  127. package/{directives → portals}/dropdown/dropdown-selection.directive.d.ts +4 -5
  128. package/{directives → portals}/dropdown/dropdown.bindings.d.ts +0 -1
  129. package/{directives → portals}/dropdown/dropdown.d.ts +1 -2
  130. package/{directives → portals}/dropdown/dropdown.directive.d.ts +5 -6
  131. package/{directives → portals}/dropdown/index.d.ts +0 -1
  132. package/{directives → portals}/hint/hint-position.directive.d.ts +3 -3
  133. package/{directives → portals}/hint/hint.directive.d.ts +1 -1
  134. package/portals/index.d.ts +6 -0
  135. package/services/index.d.ts +0 -3
  136. package/styles/components/appearance.less +5 -0
  137. package/styles/components/button.less +10 -20
  138. package/styles/components/icon.less +11 -0
  139. package/styles/components/icons.less +2 -1
  140. package/styles/components/label.less +3 -12
  141. package/styles/components/link.less +8 -24
  142. package/styles/components/notification.less +21 -22
  143. package/styles/components/textfield.less +129 -211
  144. package/styles/components/title.less +8 -8
  145. package/styles/mixins/appearance.less +9 -25
  146. package/styles/mixins/appearance.scss +8 -24
  147. package/styles/mixins/date-picker.less +1 -1
  148. package/styles/mixins/picker.less +1 -1
  149. package/styles/mixins/picker.scss +1 -1
  150. package/styles/mixins/slider.less +1 -1
  151. package/styles/mixins/slider.scss +2 -3
  152. package/styles/taiga-ui-local.less +0 -1
  153. package/styles/taiga-ui-local.scss +0 -1
  154. package/styles/taiga-ui-theme.less +0 -1
  155. package/styles/theme/appearance/outline.less +9 -18
  156. package/styles/theme/appearance/primary.less +2 -4
  157. package/styles/theme/appearance/secondary.less +6 -14
  158. package/styles/theme/appearance/status.less +0 -4
  159. package/styles/theme/appearance/table.less +36 -35
  160. package/styles/theme/appearance/textfield.less +30 -27
  161. package/styles/theme/appearance.less +0 -1
  162. package/styles/theme/variables.less +16 -17
  163. package/tokens/breakpoint.d.ts +4 -0
  164. package/tokens/common-icons.d.ts +2 -0
  165. package/tokens/icons.d.ts +0 -4
  166. package/tokens/index.d.ts +1 -4
  167. package/types/index.d.ts +0 -2
  168. package/types/point.d.ts +1 -1
  169. package/types/size.d.ts +0 -11
  170. package/utils/format/index.d.ts +0 -1
  171. package/utils/miscellaneous/font-scaling.d.ts +2 -1
  172. package/utils/miscellaneous/get-duration.d.ts +2 -0
  173. package/utils/miscellaneous/index.d.ts +1 -1
  174. package/animations/animations.d.ts +0 -109
  175. package/animations/index.d.ts +0 -1
  176. package/components/data-list/data-list.directive.d.ts +0 -7
  177. package/components/data-list/option/option-content.d.ts +0 -16
  178. package/components/data-list/option/option-legacy.component.d.ts +0 -24
  179. package/components/data-list/option/option.directive.d.ts +0 -26
  180. package/components/link/link.options.d.ts +0 -10
  181. package/components/textfield/textfield.directive.d.ts +0 -35
  182. package/directives/dropdown/dropdown-open-legacy.directive.d.ts +0 -12
  183. package/directives/dropdown/dropdown-open.directive.d.ts +0 -33
  184. package/fesm2022/taiga-ui-core-animations.mjs +0 -370
  185. package/fesm2022/taiga-ui-core-animations.mjs.map +0 -1
  186. package/fesm2022/taiga-ui-core-components-dialog.mjs +0 -158
  187. package/fesm2022/taiga-ui-core-components-dialog.mjs.map +0 -1
  188. package/fesm2022/taiga-ui-core-components-modal.mjs +0 -89
  189. package/fesm2022/taiga-ui-core-components-modal.mjs.map +0 -1
  190. package/fesm2022/taiga-ui-core-directives-alert.mjs.map +0 -1
  191. package/fesm2022/taiga-ui-core-directives-dropdown.mjs.map +0 -1
  192. package/fesm2022/taiga-ui-core-directives-hint.mjs.map +0 -1
  193. package/fesm2022/taiga-ui-core-directives-popup.mjs.map +0 -1
  194. package/fesm2022/taiga-ui-core-pipes-auto-color.mjs +0 -24
  195. package/fesm2022/taiga-ui-core-pipes-auto-color.mjs.map +0 -1
  196. package/fesm2022/taiga-ui-core-pipes-calendar-sheet.mjs +0 -93
  197. package/fesm2022/taiga-ui-core-pipes-calendar-sheet.mjs.map +0 -1
  198. package/fesm2022/taiga-ui-core-pipes-flag.mjs +0 -31
  199. package/fesm2022/taiga-ui-core-pipes-flag.mjs.map +0 -1
  200. package/fesm2022/taiga-ui-core-pipes-format-date.mjs +0 -27
  201. package/fesm2022/taiga-ui-core-pipes-format-date.mjs.map +0 -1
  202. package/fesm2022/taiga-ui-core-pipes-initials.mjs +0 -28
  203. package/fesm2022/taiga-ui-core-pipes-initials.mjs.map +0 -1
  204. package/fesm2022/taiga-ui-core-pipes-month.mjs +0 -29
  205. package/fesm2022/taiga-ui-core-pipes-month.mjs.map +0 -1
  206. package/fesm2022/taiga-ui-core-pipes-order-week-days.mjs +0 -35
  207. package/fesm2022/taiga-ui-core-pipes-order-week-days.mjs.map +0 -1
  208. package/pipes/auto-color/auto-color.pipe.d.ts +0 -7
  209. package/pipes/auto-color/index.d.ts +0 -1
  210. package/pipes/calendar-sheet/index.d.ts +0 -1
  211. package/pipes/calendar-sheet/utils.d.ts +0 -20
  212. package/pipes/flag/flag.pipe.d.ts +0 -14
  213. package/pipes/flag/index.d.ts +0 -1
  214. package/pipes/format-date/format-date.pipe.d.ts +0 -9
  215. package/pipes/format-date/index.d.ts +0 -1
  216. package/pipes/initials/index.d.ts +0 -1
  217. package/pipes/initials/initials.pipe.d.ts +0 -7
  218. package/pipes/month/index.d.ts +0 -1
  219. package/pipes/month/month.pipe.d.ts +0 -10
  220. package/pipes/order-week-days/index.d.ts +0 -1
  221. package/services/breakpoint.service.d.ts +0 -16
  222. package/services/dark-theme.service.d.ts +0 -10
  223. package/services/format-date.service.d.ts +0 -8
  224. package/styles/mixins/wrapper.less +0 -64
  225. package/styles/mixins/wrapper.scss +0 -61
  226. package/styles/theme/appearance/opposite.less +0 -17
  227. package/styles/theme/wrapper.less +0 -211
  228. package/tokens/day-type-handler.d.ts +0 -7
  229. package/tokens/first-day-of-week.d.ts +0 -5
  230. package/tokens/scroll-ref.d.ts +0 -2
  231. package/tokens/spin-icons.d.ts +0 -6
  232. package/types/range-state.d.ts +0 -4
  233. package/types/value-content-context.d.ts +0 -4
  234. package/utils/format/string-hash-to-hsl.d.ts +0 -6
  235. package/utils/miscellaneous/to-animation-options.d.ts +0 -4
  236. /package/{directives → components}/title/index.d.ts +0 -0
  237. /package/{directives → components}/title/title.directive.d.ts +0 -0
  238. /package/{directives → portals}/alert/alert.directive.d.ts +0 -0
  239. /package/{directives → portals}/alert/alert.service.d.ts +0 -0
  240. /package/{directives → portals}/alert/index.d.ts +0 -0
  241. /package/{components → portals}/dialog/dialog.component.d.ts +0 -0
  242. /package/{components → portals}/dialog/dialog.directive.d.ts +0 -0
  243. /package/{components → portals}/dialog/dialog.factory.d.ts +0 -0
  244. /package/{components → portals}/dialog/dialog.options.d.ts +0 -0
  245. /package/{components → portals}/dialog/dialog.providers.d.ts +0 -0
  246. /package/{components → portals}/dialog/index.d.ts +0 -0
  247. /package/{directives → portals}/dropdown/dropdown-content.directive.d.ts +0 -0
  248. /package/{directives → portals}/dropdown/dropdown-context.directive.d.ts +0 -0
  249. /package/{directives → portals}/dropdown/dropdown-hover.options.d.ts +0 -0
  250. /package/{directives → portals}/dropdown/dropdown-limit-width.d.ts +0 -0
  251. /package/{directives → portals}/dropdown/dropdown.component.d.ts +0 -0
  252. /package/{directives → portals}/dropdown/dropdown.driver.d.ts +0 -0
  253. /package/{directives → portals}/dropdown/dropdown.providers.d.ts +0 -0
  254. /package/{directives → portals}/dropdown/with-dropdown-open.directive.d.ts +0 -0
  255. /package/{directives → portals}/hint/hint-describe.directive.d.ts +0 -0
  256. /package/{directives → portals}/hint/hint-driver.directive.d.ts +0 -0
  257. /package/{directives → portals}/hint/hint-host.directive.d.ts +0 -0
  258. /package/{directives → portals}/hint/hint-hover.directive.d.ts +0 -0
  259. /package/{directives → portals}/hint/hint-manual.directive.d.ts +0 -0
  260. /package/{directives → portals}/hint/hint-options.directive.d.ts +0 -0
  261. /package/{directives → portals}/hint/hint-overflow.directive.d.ts +0 -0
  262. /package/{directives → portals}/hint/hint-pointer.directive.d.ts +0 -0
  263. /package/{directives → portals}/hint/hint-unstyled.component.d.ts +0 -0
  264. /package/{directives → portals}/hint/hint.component.d.ts +0 -0
  265. /package/{directives → portals}/hint/hint.d.ts +0 -0
  266. /package/{directives → portals}/hint/hint.providers.d.ts +0 -0
  267. /package/{directives → portals}/hint/index.d.ts +0 -0
  268. /package/{components → portals}/modal/index.d.ts +0 -0
  269. /package/{components → portals}/modal/modal.component.d.ts +0 -0
  270. /package/{components → portals}/modal/modal.service.d.ts +0 -0
  271. /package/{directives → portals}/popup/index.d.ts +0 -0
  272. /package/{directives → portals}/popup/popup.directive.d.ts +0 -0
  273. /package/{directives → portals}/popup/popup.service.d.ts +0 -0
  274. /package/{directives → portals}/popup/popups.component.d.ts +0 -0
@@ -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
  }
@@ -2,7 +2,7 @@
2
2
 
3
3
  /**
4
4
  * @name Notification
5
- * @selector tui-notification, [tuiNotification]
5
+ * @selector [tuiNotification]
6
6
  *
7
7
  * @description
8
8
  * A colored rounded block of information with optional icon, title, subtitle and actions
@@ -11,17 +11,16 @@
11
11
  * data-size — size (default: 'l') ('s' | 'm' | 'l')
12
12
  *
13
13
  * @example
14
- * <tui-notification tuiAppearance data-appearance="negative">
14
+ * <div tuiNotification tuiAppearance data-appearance="negative">
15
15
  * <span tuiTitle>
16
16
  * Error
17
17
  * <span tuiSubtitle>Something went wrong</span>
18
18
  * </span>
19
- * </tui-notification>
19
+ * </div>
20
20
  *
21
21
  * @see-also
22
22
  * Icons, Appearance
23
23
  */
24
- tui-notification,
25
24
  [tuiNotification] {
26
25
  .button-clear();
27
26
 
@@ -30,7 +29,7 @@ tui-notification,
30
29
  max-block-size: 100%;
31
30
  color: var(--tui-text-primary);
32
31
  padding: 1rem;
33
- font: var(--tui-font-text-m);
32
+ font: var(--tui-font-body-m);
34
33
  line-height: 1.5rem;
35
34
  border-radius: var(--tui-radius-l);
36
35
  box-sizing: border-box;
@@ -39,14 +38,18 @@ tui-notification,
39
38
  border-inline-start: var(--t-start) solid transparent;
40
39
  border-inline-end: var(--t-end) solid transparent;
41
40
 
41
+ .interactive({
42
+ cursor: pointer;
43
+ });
44
+
42
45
  --t-start: 0;
43
46
  --t-end: 0;
44
47
 
45
- &[style*='--t-icon-start:'] {
48
+ &[data-icon-start] {
46
49
  --t-start: 2rem;
47
50
  }
48
51
 
49
- &[style*='--t-icon-end:'] {
52
+ &[data-icon-end] {
50
53
  --t-end: 1.5rem;
51
54
  }
52
55
 
@@ -74,11 +77,11 @@ tui-notification,
74
77
 
75
78
  &[data-size='s'] {
76
79
  padding: 0.375rem 0.625rem;
77
- font: var(--tui-font-text-s);
80
+ font: var(--tui-font-body-s);
78
81
  line-height: 1.25rem;
79
82
  border-radius: var(--tui-radius-m);
80
83
 
81
- &[style*='--t-icon-start:'] {
84
+ &[data-icon-start] {
82
85
  --t-start: 1.5rem;
83
86
  }
84
87
 
@@ -103,12 +106,12 @@ tui-notification,
103
106
  }
104
107
 
105
108
  [tuiTitle] {
106
- font: var(--tui-font-text-s);
109
+ font: var(--tui-font-body-s);
107
110
  font-weight: bold;
108
111
  }
109
112
 
110
113
  [tuiSubtitle] {
111
- font: var(--tui-font-text-s);
114
+ font: var(--tui-font-body-s);
112
115
  }
113
116
 
114
117
  [tuiSubtitle] + * {
@@ -129,11 +132,11 @@ tui-notification,
129
132
 
130
133
  &[data-size='m'] {
131
134
  padding: 0.75rem;
132
- font: var(--tui-font-text-s);
135
+ font: var(--tui-font-body-s);
133
136
  line-height: 1.25rem;
134
137
  border-radius: var(--tui-radius-m);
135
138
 
136
- &[style*='--t-icon-start:'] {
139
+ &[data-icon-start] {
137
140
  --t-start: 1.625rem;
138
141
  }
139
142
 
@@ -157,12 +160,12 @@ tui-notification,
157
160
  }
158
161
 
159
162
  [tuiTitle] {
160
- font: var(--tui-font-text-ui-m);
163
+ font: var(--tui-font-ui-m);
161
164
  font-weight: bold;
162
165
  }
163
166
 
164
167
  [tuiSubtitle] {
165
- font: var(--tui-font-text-s);
168
+ font: var(--tui-font-body-s);
166
169
  }
167
170
 
168
171
  [tuiSubtitle] + * {
@@ -183,19 +186,19 @@ tui-notification,
183
186
 
184
187
  [tuiTitle] {
185
188
  gap: 0.125rem;
186
- font: var(--tui-font-text-ui-l);
189
+ font: var(--tui-font-ui-l);
187
190
  font-weight: bold;
188
191
  }
189
192
 
190
193
  [tuiSubtitle] {
191
- font: var(--tui-font-text-m);
194
+ font: var(--tui-font-body-m);
192
195
 
193
196
  + * {
194
197
  display: flex;
195
198
  align-items: center;
196
199
  gap: 1.25rem;
197
200
  margin-block-start: 0.625rem;
198
- font: var(--tui-font-text-s);
201
+ font: var(--tui-font-body-s);
199
202
  }
200
203
  }
201
204
 
@@ -212,7 +215,3 @@ tui-notification,
212
215
  }
213
216
  }
214
217
  }
215
-
216
- [tuiNotification] {
217
- cursor: pointer;
218
- }