@taiga-ui/core 5.0.0-rc.2 → 5.0.0-rc.4

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 (138) hide show
  1. package/components/calendar/calendar-sheet.component.d.ts +8 -15
  2. package/components/calendar/calendar-spin.component.d.ts +5 -8
  3. package/components/calendar/calendar-year.component.d.ts +11 -19
  4. package/components/calendar/calendar.component.d.ts +7 -9
  5. package/components/checkbox/checkbox.component.d.ts +10 -0
  6. package/components/checkbox/checkbox.options.d.ts +10 -0
  7. package/components/checkbox/index.d.ts +2 -0
  8. package/components/data-list/data-list.component.d.ts +1 -0
  9. package/components/index.d.ts +3 -0
  10. package/components/input/input.directive.d.ts +2 -0
  11. package/components/loader/loader.component.d.ts +0 -2
  12. package/components/radio/index.d.ts +4 -0
  13. package/components/radio/radio.component.d.ts +18 -0
  14. package/components/radio/radio.d.ts +3 -0
  15. package/components/radio/radio.directive.d.ts +8 -0
  16. package/components/radio/radio.options.d.ts +7 -0
  17. package/components/slider/helpers/key-steps.d.ts +27 -0
  18. package/components/slider/helpers/slider-key-steps.directive.d.ts +32 -0
  19. package/components/slider/helpers/slider-readonly.directive.d.ts +15 -0
  20. package/components/slider/helpers/slider-thumb-label.component.d.ts +13 -0
  21. package/components/slider/index.d.ts +6 -0
  22. package/components/slider/slider.component.d.ts +22 -0
  23. package/components/slider/slider.d.ts +5 -0
  24. package/components/textfield/index.d.ts +0 -1
  25. package/components/textfield/textfield.component.d.ts +1 -0
  26. package/directives/items-handlers/items-handlers.validator.d.ts +1 -0
  27. package/fesm2022/taiga-ui-core-components-button.mjs +2 -2
  28. package/fesm2022/taiga-ui-core-components-button.mjs.map +1 -1
  29. package/fesm2022/taiga-ui-core-components-calendar.mjs +84 -174
  30. package/fesm2022/taiga-ui-core-components-calendar.mjs.map +1 -1
  31. package/fesm2022/taiga-ui-core-components-cell.mjs +2 -2
  32. package/fesm2022/taiga-ui-core-components-cell.mjs.map +1 -1
  33. package/fesm2022/taiga-ui-core-components-checkbox.mjs +37 -0
  34. package/fesm2022/taiga-ui-core-components-checkbox.mjs.map +1 -0
  35. package/fesm2022/taiga-ui-core-components-data-list.mjs +10 -4
  36. package/fesm2022/taiga-ui-core-components-data-list.mjs.map +1 -1
  37. package/fesm2022/taiga-ui-core-components-error.mjs +3 -3
  38. package/fesm2022/taiga-ui-core-components-error.mjs.map +1 -1
  39. package/fesm2022/taiga-ui-core-components-icon.mjs +2 -2
  40. package/fesm2022/taiga-ui-core-components-icon.mjs.map +1 -1
  41. package/fesm2022/taiga-ui-core-components-input.mjs +4 -2
  42. package/fesm2022/taiga-ui-core-components-input.mjs.map +1 -1
  43. package/fesm2022/taiga-ui-core-components-label.mjs +3 -3
  44. package/fesm2022/taiga-ui-core-components-label.mjs.map +1 -1
  45. package/fesm2022/taiga-ui-core-components-link.mjs +2 -2
  46. package/fesm2022/taiga-ui-core-components-link.mjs.map +1 -1
  47. package/fesm2022/taiga-ui-core-components-loader.mjs +5 -8
  48. package/fesm2022/taiga-ui-core-components-loader.mjs.map +1 -1
  49. package/fesm2022/taiga-ui-core-components-notification.mjs +2 -2
  50. package/fesm2022/taiga-ui-core-components-notification.mjs.map +1 -1
  51. package/fesm2022/taiga-ui-core-components-radio.mjs +91 -0
  52. package/fesm2022/taiga-ui-core-components-radio.mjs.map +1 -0
  53. package/fesm2022/taiga-ui-core-components-root.mjs +2 -2
  54. package/fesm2022/taiga-ui-core-components-root.mjs.map +1 -1
  55. package/fesm2022/taiga-ui-core-components-slider.mjs +337 -0
  56. package/fesm2022/taiga-ui-core-components-slider.mjs.map +1 -0
  57. package/fesm2022/taiga-ui-core-components-spin-button.mjs +2 -2
  58. package/fesm2022/taiga-ui-core-components-spin-button.mjs.map +1 -1
  59. package/fesm2022/taiga-ui-core-components-textfield.mjs +20 -21
  60. package/fesm2022/taiga-ui-core-components-textfield.mjs.map +1 -1
  61. package/fesm2022/taiga-ui-core-components-title.mjs +3 -3
  62. package/fesm2022/taiga-ui-core-components-title.mjs.map +1 -1
  63. package/fesm2022/taiga-ui-core-components.mjs +3 -0
  64. package/fesm2022/taiga-ui-core-components.mjs.map +1 -1
  65. package/fesm2022/taiga-ui-core-directives-appearance.mjs +3 -3
  66. package/fesm2022/taiga-ui-core-directives-appearance.mjs.map +1 -1
  67. package/fesm2022/taiga-ui-core-directives-group.mjs +3 -3
  68. package/fesm2022/taiga-ui-core-directives-group.mjs.map +1 -1
  69. package/fesm2022/taiga-ui-core-directives-icons.mjs +3 -3
  70. package/fesm2022/taiga-ui-core-directives-icons.mjs.map +1 -1
  71. package/fesm2022/taiga-ui-core-directives-items-handlers.mjs +7 -1
  72. package/fesm2022/taiga-ui-core-directives-items-handlers.mjs.map +1 -1
  73. package/fesm2022/taiga-ui-core-portals-alert.mjs +2 -2
  74. package/fesm2022/taiga-ui-core-portals-alert.mjs.map +1 -1
  75. package/fesm2022/taiga-ui-core-portals-dialog.mjs +2 -2
  76. package/fesm2022/taiga-ui-core-portals-dialog.mjs.map +1 -1
  77. package/fesm2022/taiga-ui-core-portals-dropdown.mjs +167 -115
  78. package/fesm2022/taiga-ui-core-portals-dropdown.mjs.map +1 -1
  79. package/fesm2022/taiga-ui-core-portals-hint.mjs +3 -3
  80. package/fesm2022/taiga-ui-core-portals-hint.mjs.map +1 -1
  81. package/fesm2022/taiga-ui-core-portals-modal.mjs +2 -2
  82. package/fesm2022/taiga-ui-core-portals-modal.mjs.map +1 -1
  83. package/fesm2022/taiga-ui-core-portals-popup.mjs +2 -2
  84. package/fesm2022/taiga-ui-core-portals-popup.mjs.map +1 -1
  85. package/fesm2022/taiga-ui-core-tokens.mjs +1 -1
  86. package/fesm2022/taiga-ui-core-tokens.mjs.map +1 -1
  87. package/fesm2022/taiga-ui-core-utils-miscellaneous.mjs.map +1 -1
  88. package/package.json +32 -20
  89. package/portals/dropdown/dropdown-a11y.directive.d.ts +10 -0
  90. package/portals/dropdown/dropdown-close.directive.d.ts +3 -3
  91. package/portals/dropdown/dropdown-open.directive.d.ts +4 -3
  92. package/portals/dropdown/dropdown-selection.directive.d.ts +1 -0
  93. package/portals/dropdown/dropdown.d.ts +2 -1
  94. package/portals/dropdown/dropdown.directive.d.ts +5 -5
  95. package/portals/dropdown/index.d.ts +1 -0
  96. package/utils/miscellaneous/font-scaling.d.ts +2 -2
  97. package/components/textfield/textfield-icon.d.ts +0 -6
  98. package/styles/components/appearance.less +0 -51
  99. package/styles/components/button.less +0 -134
  100. package/styles/components/group.less +0 -172
  101. package/styles/components/icon.less +0 -83
  102. package/styles/components/icons.less +0 -79
  103. package/styles/components/label.less +0 -51
  104. package/styles/components/link.less +0 -69
  105. package/styles/components/notification.less +0 -184
  106. package/styles/components/textfield.less +0 -358
  107. package/styles/components/title.less +0 -80
  108. package/styles/mixins/appearance.less +0 -56
  109. package/styles/mixins/appearance.scss +0 -57
  110. package/styles/mixins/browsers.less +0 -23
  111. package/styles/mixins/browsers.scss +0 -23
  112. package/styles/mixins/date-picker.less +0 -152
  113. package/styles/mixins/mixins.less +0 -168
  114. package/styles/mixins/mixins.scss +0 -161
  115. package/styles/mixins/picker.less +0 -200
  116. package/styles/mixins/picker.scss +0 -199
  117. package/styles/mixins/slider.less +0 -67
  118. package/styles/mixins/slider.scss +0 -67
  119. package/styles/taiga-ui-fonts.less +0 -4
  120. package/styles/taiga-ui-local.less +0 -7
  121. package/styles/taiga-ui-local.scss +0 -6
  122. package/styles/taiga-ui-theme.less +0 -4
  123. package/styles/theme/appearance/accent.less +0 -14
  124. package/styles/theme/appearance/action.less +0 -38
  125. package/styles/theme/appearance/flat.less +0 -23
  126. package/styles/theme/appearance/floating.less +0 -21
  127. package/styles/theme/appearance/glass.less +0 -30
  128. package/styles/theme/appearance/outline.less +0 -78
  129. package/styles/theme/appearance/primary.less +0 -48
  130. package/styles/theme/appearance/secondary.less +0 -77
  131. package/styles/theme/appearance/status.less +0 -125
  132. package/styles/theme/appearance/table.less +0 -68
  133. package/styles/theme/appearance/textfield.less +0 -80
  134. package/styles/theme/appearance.less +0 -12
  135. package/styles/theme/palette.less +0 -161
  136. package/styles/theme/variables.less +0 -42
  137. package/styles/variables/media.less +0 -23
  138. package/styles/variables/media.scss +0 -23
@@ -1,79 +0,0 @@
1
- /**
2
- * @name Icons
3
- * @selector [tuiIcons]
4
- *
5
- * @description
6
- * Icons directive applies styles to ::before and ::after pseudo elements
7
- *
8
- * @vars
9
- * --t-icon-start — depending on the data-icon-start, it can serve as either a mask (`svg`),
10
- a background (`img`), or content (`font`) for the ::before element
11
- * --t-icon-end — depending on the data-icon-end, it can serve as either a mask (`svg`),
12
- a background (`img`), or content (`font`) for the ::after element
13
- *
14
- * @example
15
- * <button tuiIcons style="--t-icon-start: url('icon.svg')"></button>
16
- *
17
- * @see-also
18
- * Button, Icon, Link
19
- */
20
- [tuiIcons]:where(*&) {
21
- --t-icon-start: none;
22
- --t-icon-end: none;
23
-
24
- &::before,
25
- &::after {
26
- content: '';
27
- inline-size: 1em;
28
- block-size: 1em;
29
- line-height: 1em;
30
- font-size: var(--tui-icon-size, 1.5rem);
31
- flex-shrink: 0;
32
- box-sizing: content-box;
33
- background: currentColor;
34
- zoom: ~'calc(100% * (min(max(var(--tui-font-offset) - 10px, 0px), 1px) / 0.8px))';
35
- }
36
-
37
- &::before {
38
- display: var(--t-icon-start);
39
- mask:
40
- var(--t-icon-start) no-repeat center / calc(~'min(1em, 100%)' + 10 * var(--tui-stroke-width, 0.125rem))
41
- ~'min(1em, 100%)',
42
- 100% padding-box;
43
- }
44
-
45
- &::after {
46
- display: var(--t-icon-end);
47
- mask: var(--t-icon-end) no-repeat center / calc(~'min(1em, 100%)' + 10 * var(--tui-stroke-width, 0.125rem))
48
- ~'min(1em, 100%)' padding-box;
49
- }
50
-
51
- &[data-icon-start='img']::before {
52
- mask: none;
53
- background: var(--t-icon-start) no-repeat center / 1em padding-box;
54
- }
55
-
56
- &[data-icon-end='img']::after {
57
- mask: none;
58
- background: var(--t-icon-end) no-repeat center / 1em padding-box;
59
- }
60
-
61
- &[data-icon-start='font']::before,
62
- &[data-icon-end='font']::after {
63
- display: grid;
64
- mask: none;
65
- background: none;
66
- font: 1.5em / 1 var(--tui-font-icon, inherit);
67
- text-align: center;
68
- place-content: center;
69
- text-transform: none;
70
- }
71
-
72
- &[data-icon-start='font']::before {
73
- content: var(--t-icon-start);
74
- }
75
-
76
- &[data-icon-end='font']::after {
77
- content: var(--t-icon-end);
78
- }
79
- }
@@ -1,51 +0,0 @@
1
- @import '@taiga-ui/core/styles/taiga-ui-local.less';
2
-
3
- /**
4
- * @name Label
5
- * @selector [tuiLabel]
6
- *
7
- * @description
8
- * Easy to use label ready for horizontal orientation for checkbox/radio/switch
9
- * and vertical for input, select and textarea
10
- *
11
- * @example
12
- * <label tuiLabel><input type="checkbox" /> Click me</tui-icon>
13
- *
14
- * @see-also
15
- * Checkbox, Radio, Title
16
- */
17
- [tuiLabel]:where(*&) {
18
- display: flex;
19
- gap: 0.25rem;
20
- flex-direction: column;
21
- font: var(--tui-font-body-s);
22
- color: var(--tui-text-primary);
23
-
24
- &:not([data-orientation='vertical']) {
25
- flex-direction: row;
26
- inline-size: fit-content;
27
- font: var(--tui-font-body-m);
28
- }
29
-
30
- input[type='checkbox'],
31
- input[type='radio'] {
32
- margin-inline-end: 0.5rem;
33
-
34
- &[data-size='s'] {
35
- margin-inline-end: 0.25rem;
36
- margin-block-start: 0.125rem;
37
- }
38
- }
39
-
40
- small {
41
- font: var(--tui-font-body-s);
42
- }
43
-
44
- [tuiTitle] {
45
- margin-block-start: 0.125rem;
46
- }
47
-
48
- [tuiSubtitle] {
49
- color: var(--tui-text-secondary);
50
- }
51
- }
@@ -1,69 +0,0 @@
1
- @import '@taiga-ui/core/styles/taiga-ui-local.less';
2
-
3
- /**
4
- * @name Link
5
- * @selector [tuiLink]
6
- *
7
- * @description
8
- * Plain link design, applicable to both links and buttons
9
- *
10
- * @example
11
- * <a tuiLink>Click me</a>
12
- *
13
- * @see-also
14
- * Icons, Appearance, Button
15
- */
16
- [tuiLink]:where(*&) {
17
- .transition(~'color, text-decoration, opacity');
18
-
19
- padding: 0;
20
- background: transparent;
21
- border: none;
22
- cursor: pointer;
23
- font: inherit;
24
- color: inherit;
25
- border-radius: 0.125rem;
26
- outline-width: 1px;
27
- outline-offset: -1px;
28
- text-underline-offset: 0.2em;
29
- text-decoration: none dashed currentColor 1px;
30
- text-decoration-color: color-mix(in lch, currentColor, transparent);
31
-
32
- &::before {
33
- margin-inline-end: 0.25rem;
34
- }
35
-
36
- &::after {
37
- margin-inline-start: 0.25rem;
38
- }
39
-
40
- &[tuiIcons]::before,
41
- &[tuiIcons]::after {
42
- content: '\2060';
43
- padding: calc(var(--tui-icon-size, 1rem) / 2);
44
- vertical-align: super;
45
- font-size: 0;
46
- line-height: 0;
47
- box-sizing: border-box;
48
- mask-size: calc(100% + 10 * var(--tui-stroke-width, 0.125rem)) 100%;
49
- transition: none;
50
- }
51
-
52
- &[tuiChevron]::after {
53
- display: inline-block;
54
- vertical-align: initial;
55
- }
56
-
57
- .appearance-hover({
58
- text-decoration-color: currentColor;
59
- });
60
-
61
- .appearance-active({
62
- text-decoration-color: currentColor;
63
- });
64
-
65
- &[data-appearance=''] {
66
- text-decoration-line: underline;
67
- text-decoration-style: solid;
68
- }
69
- }
@@ -1,184 +0,0 @@
1
- @import '@taiga-ui/core/styles/taiga-ui-local.less';
2
-
3
- /**
4
- * @name Notification
5
- * @selector [tuiNotification]
6
- *
7
- * @description
8
- * A colored rounded block of information with optional icon, title, subtitle and actions
9
- *
10
- * @attributes
11
- * data-size — size (default: 'l') ('s' | 'm' | 'l')
12
- *
13
- * @example
14
- * <div tuiNotification tuiAppearance data-appearance="negative">
15
- * <span tuiTitle>
16
- * Error
17
- * <span tuiSubtitle>Something went wrong</span>
18
- * </span>
19
- * </div>
20
- *
21
- * @see-also
22
- * Icons, Appearance
23
- */
24
- [tuiNotification]:where(*&) {
25
- .button-clear();
26
-
27
- position: relative;
28
- display: flow-root;
29
- max-block-size: 100%;
30
- color: var(--tui-text-primary);
31
- padding: 1rem;
32
- font: var(--tui-font-body-m);
33
- line-height: 1.5rem;
34
- border-radius: var(--tui-radius-l);
35
- box-sizing: border-box;
36
- text-align: start;
37
- text-decoration: none;
38
- border-inline-start: var(--t-start) solid transparent;
39
- border-inline-end: var(--t-end) solid transparent;
40
-
41
- .interactive({
42
- cursor: pointer;
43
- });
44
-
45
- --t-start: 0;
46
- --t-end: 0;
47
-
48
- &[data-icon-start] {
49
- --t-start: 2rem;
50
- }
51
-
52
- &[data-icon-end] {
53
- --t-end: 1.5rem;
54
- }
55
-
56
- &::before {
57
- position: absolute;
58
- inset-inline-start: -1rem;
59
- }
60
-
61
- &::after {
62
- .center-top();
63
-
64
- inset-inline-end: -0.5rem;
65
- font-size: 1rem;
66
- margin: 0;
67
- margin-inline-end: -0.25rem;
68
- margin-inline-start: auto;
69
- color: var(--tui-text-tertiary) !important;
70
- }
71
-
72
- &[data-size='s'] {
73
- padding: 0.375rem 0.625rem;
74
- font: var(--tui-font-body-s);
75
- line-height: 1.25rem;
76
- border-radius: var(--tui-radius-m);
77
-
78
- &[data-icon-start] {
79
- --t-start: 1.5rem;
80
- }
81
-
82
- &::before {
83
- inset-block-start: 0.5rem;
84
- inset-inline-start: -0.875rem;
85
- font-size: 1rem;
86
- }
87
-
88
- &::after {
89
- inset-inline-end: -0.875rem;
90
- }
91
-
92
- tui-icon {
93
- font-size: 1rem;
94
- }
95
-
96
- [tuiTitle] {
97
- font: var(--tui-font-body-s);
98
- font-weight: bold;
99
- }
100
-
101
- [tuiSubtitle] {
102
- font: var(--tui-font-body-s);
103
- }
104
-
105
- [tuiSubtitle] + * {
106
- gap: 1rem;
107
- margin: 0.375rem 0 0.25rem;
108
- }
109
-
110
- > [tuiIconButton] {
111
- inset-block-start: 0;
112
- inset-inline-end: 0;
113
- }
114
- }
115
-
116
- &[data-size='m'] {
117
- padding: 0.75rem;
118
- font: var(--tui-font-body-s);
119
- line-height: 1.25rem;
120
- border-radius: var(--tui-radius-m);
121
-
122
- &[data-icon-start] {
123
- --t-start: 1.625rem;
124
- }
125
-
126
- &::before {
127
- inset-inline-start: -0.875rem;
128
- font-size: 1.25rem;
129
- }
130
-
131
- &::after {
132
- inset-inline-end: -0.75rem;
133
- }
134
-
135
- tui-icon {
136
- font-size: 1.25rem;
137
- }
138
-
139
- [tuiTitle] {
140
- font: var(--tui-font-ui-m);
141
- font-weight: bold;
142
- }
143
-
144
- [tuiSubtitle] {
145
- font: var(--tui-font-body-s);
146
- }
147
-
148
- [tuiSubtitle] + * {
149
- gap: 1rem;
150
- margin: 0.625rem 0 0.25rem;
151
- }
152
-
153
- > [tuiIconButton] {
154
- inset-block-start: 0.375rem;
155
- inset-inline-end: 0.5rem;
156
- }
157
- }
158
-
159
- [tuiTitle] {
160
- gap: 0.125rem;
161
- font: var(--tui-font-ui-l);
162
- font-weight: bold;
163
- }
164
-
165
- [tuiSubtitle] {
166
- font: var(--tui-font-body-m);
167
-
168
- + * {
169
- display: flex;
170
- align-items: center;
171
- gap: 1.25rem;
172
- margin-block-start: 0.625rem;
173
- font: var(--tui-font-body-s);
174
- }
175
- }
176
-
177
- > [tuiIconButton] {
178
- position: absolute;
179
- inset-block-start: 0.75rem;
180
- inset-inline-end: 0.75rem;
181
- box-shadow: none !important;
182
- background: transparent !important;
183
- }
184
- }