@taiga-ui/styles 4.70.0 → 5.0.0-rc.3

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 (72) hide show
  1. package/components/appearance.less +51 -0
  2. package/components/avatar.less +188 -0
  3. package/components/badge.less +128 -0
  4. package/components/block.less +118 -0
  5. package/components/button.less +135 -0
  6. package/components/checkbox.less +84 -0
  7. package/components/chip.less +131 -0
  8. package/components/comment.less +64 -0
  9. package/components/compass.less +49 -0
  10. package/components/group.less +172 -0
  11. package/components/icon.less +83 -0
  12. package/components/icons.less +79 -0
  13. package/components/label.less +51 -0
  14. package/components/like.less +67 -0
  15. package/components/link.less +69 -0
  16. package/components/message.less +33 -0
  17. package/components/notification.less +184 -0
  18. package/components/pin.less +164 -0
  19. package/components/progress-bar.less +117 -0
  20. package/components/radio.less +59 -0
  21. package/components/status.less +40 -0
  22. package/components/switch.less +103 -0
  23. package/components/textfield.less +362 -0
  24. package/components/title.less +80 -0
  25. package/components/toast.less +44 -0
  26. package/mixins/appearance.less +56 -0
  27. package/mixins/appearance.scss +57 -0
  28. package/mixins/browsers.less +23 -0
  29. package/mixins/browsers.scss +23 -0
  30. package/mixins/date-picker.less +152 -0
  31. package/mixins/miscellaneous.less +168 -0
  32. package/mixins/miscellaneous.scss +161 -0
  33. package/mixins/picker.less +200 -0
  34. package/mixins/picker.scss +199 -0
  35. package/mixins/slider.less +67 -0
  36. package/mixins/slider.scss +67 -0
  37. package/package.json +9 -2
  38. package/taiga-ui-fonts.less +4 -0
  39. package/taiga-ui-theme.less +4 -0
  40. package/theme/appearance/accent.less +14 -0
  41. package/theme/appearance/action.less +38 -0
  42. package/theme/appearance/flat.less +23 -0
  43. package/theme/appearance/floating.less +21 -0
  44. package/theme/appearance/glass.less +30 -0
  45. package/theme/appearance/outline.less +78 -0
  46. package/theme/appearance/primary.less +48 -0
  47. package/theme/appearance/secondary.less +77 -0
  48. package/theme/appearance/status.less +125 -0
  49. package/theme/appearance/table.less +68 -0
  50. package/theme/appearance/textfield.less +80 -0
  51. package/theme/appearance.less +12 -0
  52. package/theme/palette.less +161 -0
  53. package/theme/variables.less +57 -0
  54. package/utils.less +7 -0
  55. package/utils.scss +6 -0
  56. package/variables/media.less +23 -0
  57. package/variables/media.scss +23 -0
  58. package/basic/keyframes.less +0 -19
  59. package/basic/main.less +0 -80
  60. package/markup/tui-container.less +0 -64
  61. package/markup/tui-form.less +0 -145
  62. package/markup/tui-island.less +0 -200
  63. package/markup/tui-list.less +0 -136
  64. package/markup/tui-mobile-only.less +0 -5
  65. package/markup/tui-required.less +0 -13
  66. package/markup/tui-row.less +0 -139
  67. package/markup/tui-skeleton.less +0 -43
  68. package/markup/tui-space.less +0 -52
  69. package/markup/tui-table.less +0 -184
  70. package/markup/tui-text.less +0 -61
  71. package/project.json +0 -35
  72. package/taiga-ui-global.less +0 -14
@@ -1,64 +0,0 @@
1
- // width - conscious choice
2
- /* stylelint-disable order/order */
3
- .tui-container {
4
- margin-inline-end: auto;
5
- margin-inline-start: auto;
6
-
7
- &.tui-container_adaptive {
8
- @media @tui-desktop-lg-min {
9
- inline-size: 69rem;
10
- }
11
-
12
- @media @tui-desktop {
13
- inline-size: 51.5rem;
14
- }
15
-
16
- @media @tui-mobile {
17
- inline-size: 100%;
18
- padding: 0 1rem;
19
- box-sizing: border-box;
20
- }
21
- }
22
-
23
- @media @tui-desktop-lg-min {
24
- inline-size: 69rem;
25
- }
26
-
27
- @media @tui-desktop {
28
- inline-size: 51.5rem;
29
- padding: 0 3rem;
30
- }
31
-
32
- &_menu {
33
- @media @tui-desktop-lg-min {
34
- inline-size: 69rem;
35
- }
36
-
37
- @media @tui-desktop-interval {
38
- inline-size: 51.5rem;
39
- }
40
-
41
- @media @tui-mobile {
42
- inline-size: auto;
43
- padding: 0 1rem;
44
- box-sizing: border-box;
45
- }
46
- }
47
-
48
- &_fullwidth {
49
- inline-size: auto;
50
- padding: 0 1.5rem;
51
-
52
- @media @tui-mobile {
53
- padding: 0 1rem;
54
- box-sizing: border-box;
55
- }
56
- }
57
-
58
- &_fixed {
59
- @media @tui-desktop {
60
- inline-size: 69rem;
61
- }
62
- }
63
- }
64
- /* stylelint-enable order/order */
@@ -1,145 +0,0 @@
1
- @fields-space: 1.25rem;
2
- @fields-space-mobile: 1rem;
3
- @fields-space-large: 2rem;
4
- @fields-space-large-mobile: 1.5rem;
5
-
6
- .tui-form {
7
- /* stylelint-disable */
8
- &__header {
9
- font: var(--tui-font-heading-5);
10
- margin-block-start: @fields-space-large;
11
- margin-block-end: @fields-space;
12
-
13
- @media @tui-mobile {
14
- font: var(--tui-font-text-l);
15
- font-weight: bold;
16
- margin-block-end: @fields-space-mobile;
17
- }
18
-
19
- &_margin-top_none, // TODO: drop in v5
20
- &_margin-block-start_none {
21
- margin-block-start: 0;
22
- }
23
-
24
- &_margin-bottom_none, // TODO: drop in v5
25
- &_margin-block-end_none {
26
- margin-block-end: 0;
27
- }
28
-
29
- &_margin-bottom_small, // TODO: drop in v5
30
- &_margin-block-end_small {
31
- margin-block-end: @fields-space - 0.25rem;
32
-
33
- @media @tui-mobile {
34
- margin-block-end: @fields-space-mobile - 0.25rem;
35
- }
36
- }
37
- }
38
- /* stylelint-enable */
39
-
40
- &__row {
41
- margin-block-start: @fields-space;
42
-
43
- &:first-child {
44
- margin-block-start: 0;
45
- }
46
-
47
- &_multi-fields {
48
- display: flex;
49
-
50
- @media @tui-mobile {
51
- flex-wrap: wrap;
52
- }
53
- }
54
-
55
- &_half-width {
56
- inline-size: ~'calc(50% - (@{fields-space} / 2))';
57
-
58
- @media @tui-mobile {
59
- inline-size: 100%;
60
- }
61
- }
62
-
63
- &_checkboxes {
64
- display: flex;
65
- flex-wrap: wrap;
66
- }
67
-
68
- @media @tui-mobile {
69
- margin-block-start: @fields-space-mobile;
70
- }
71
- }
72
-
73
- &__multi-field {
74
- flex: 1 1 0;
75
- min-inline-size: 0;
76
- margin-inline-start: @fields-space;
77
-
78
- &:first-child {
79
- margin-inline-start: 0;
80
- }
81
-
82
- @media @tui-mobile {
83
- flex-basis: 100%;
84
- margin-block-start: @fields-space-mobile;
85
- margin-inline-start: 0;
86
-
87
- &:first-child {
88
- margin-block-start: 0;
89
- }
90
- }
91
- }
92
-
93
- &__field-note {
94
- font: var(--tui-font-text-s);
95
- margin-block-start: 0.25rem;
96
- color: var(--tui-text-secondary);
97
- }
98
-
99
- &__field-checkbox {
100
- margin-block-start: 0.5rem;
101
- }
102
-
103
- &__checkbox {
104
- flex: ~'1 1 calc(50% - 0.625rem)';
105
-
106
- &:nth-child(even) {
107
- margin-inline-start: 1.25rem;
108
- }
109
-
110
- &:nth-child(n + 3) {
111
- margin-block-start: 1rem;
112
- }
113
- }
114
-
115
- &__buttons {
116
- display: flex;
117
- margin-block-start: @fields-space-large;
118
-
119
- &_align_end {
120
- justify-content: flex-end;
121
- }
122
-
123
- &_align_center {
124
- justify-content: center;
125
- }
126
-
127
- @media @tui-mobile {
128
- flex-direction: column;
129
- margin-block-start: @fields-space-large-mobile;
130
- }
131
- }
132
-
133
- &__button {
134
- margin-inline-start: 0.75rem;
135
-
136
- &:first-child {
137
- margin-inline-start: 0;
138
- }
139
-
140
- @media @tui-mobile {
141
- margin-block-start: 0.5rem;
142
- margin-inline-start: 0;
143
- }
144
- }
145
- }
@@ -1,200 +0,0 @@
1
- @padding: 1rem;
2
- @padding-large: 1.25rem;
3
-
4
- .tui-island {
5
- position: relative;
6
- display: block;
7
- border-radius: var(--tui-radius-xl);
8
- background-color: var(--tui-background-base);
9
- overflow-wrap: break-word;
10
- text-decoration: none;
11
- color: var(--tui-text-primary);
12
- outline: none;
13
- box-sizing: content-box;
14
-
15
- &:not(&_hoverable)::before {
16
- .fullsize();
17
-
18
- content: '';
19
- box-sizing: border-box;
20
- border: 1px solid var(--tui-border-normal);
21
- border-radius: inherit;
22
- pointer-events: none;
23
- }
24
-
25
- &:focus,
26
- &:hover:focus {
27
- &::before {
28
- border-color: var(--tui-border-focus);
29
- }
30
- }
31
-
32
- &_hoverable {
33
- .transition();
34
-
35
- background: var(--tui-background-elevation-2);
36
- box-shadow: var(--tui-shadow-small);
37
- cursor: pointer;
38
- transition-property: transform, box-shadow;
39
- will-change: transform, box-shadow;
40
-
41
- &:hover {
42
- box-shadow: var(--tui-shadow-small-hover);
43
- transform: translateY(-0.25rem);
44
- }
45
- }
46
-
47
- &_transparent {
48
- background-color: transparent;
49
- }
50
-
51
- &_size_s {
52
- --tui-radius-xl: calc(4 * var(--tui-radius-l) / 3);
53
-
54
- font: var(--tui-font-text-s);
55
- padding: @padding;
56
- }
57
-
58
- &_size_m {
59
- --tui-radius-xl: calc(5 * var(--tui-radius-l) / 3);
60
-
61
- font: var(--tui-font-text-m);
62
- padding: @padding;
63
- }
64
-
65
- &_size_l {
66
- font: var(--tui-font-text-m);
67
- padding: @padding-large;
68
- }
69
-
70
- &_text-align_left {
71
- text-align: start;
72
- }
73
-
74
- &_text-align_center {
75
- text-align: center;
76
- }
77
-
78
- &_text-align_right {
79
- text-align: end;
80
- }
81
-
82
- &__content {
83
- display: flex;
84
- justify-content: space-between;
85
-
86
- .tui-island_text-align_center & {
87
- display: block;
88
- }
89
-
90
- & > * {
91
- min-inline-size: 0;
92
- }
93
- }
94
-
95
- &__category {
96
- font-size: 0.6875rem;
97
- line-height: 1rem;
98
- text-transform: uppercase;
99
- letter-spacing: 0.075em;
100
- margin: 0 0 0.5rem;
101
- color: var(--tui-text-secondary);
102
-
103
- .tui-island_size_l & {
104
- margin: 0 0 0.75rem;
105
- }
106
- }
107
-
108
- &__title {
109
- font: var(--tui-font-text-m);
110
- margin: 0 0 0.5rem;
111
-
112
- .tui-island_size_m & {
113
- font: var(--tui-font-heading-6);
114
- margin: 0 0 0.75rem;
115
- }
116
-
117
- .tui-island_size_l & {
118
- font: var(--tui-font-heading-6);
119
- }
120
- }
121
-
122
- &__paragraph {
123
- margin: 0;
124
- color: var(--tui-text-secondary);
125
-
126
- &_link.tui-island__paragraph {
127
- margin-block-start: 1rem;
128
-
129
- .tui-island_size_l & {
130
- margin: 1rem 0 0;
131
- }
132
- }
133
-
134
- &_button.tui-island__paragraph {
135
- margin-block-start: 1.25rem;
136
-
137
- .tui-island_size_l & {
138
- margin: 1.25rem 0 0;
139
- }
140
- }
141
- }
142
-
143
- &__figure {
144
- display: flex;
145
- justify-content: center;
146
- order: 1;
147
- flex-shrink: 0;
148
- margin: 0 0 0 1rem;
149
-
150
- .tui-island_size_l & {
151
- margin-inline-start: 2.25rem;
152
- }
153
-
154
- .tui-island_text-align_center & {
155
- margin: 0 0 0.75rem;
156
- }
157
- }
158
-
159
- &__carousel-controls {
160
- display: flex;
161
- padding-block-end: 1rem;
162
- margin-block-end: 1rem;
163
- border-block-end: 1px solid var(--tui-border-normal);
164
- white-space: nowrap;
165
- }
166
-
167
- &__carousel-pages {
168
- margin-inline-start: auto;
169
- color: var(--tui-text-secondary);
170
- }
171
-
172
- &__carousel-button {
173
- margin-inline-end: 0.5rem;
174
- }
175
-
176
- .tui-island &__footer-button {
177
- display: block;
178
- max-inline-size: unset;
179
- inline-size: ~'calc(100% + 1.875rem);'; // margin compensation
180
- margin: @padding calc(-1rem + 1px) calc(-1rem + 1px); // 1px is compensations of border
181
- border-block-start: 1px solid var(--tui-border-normal);
182
- border-radius: 0 0 var(--tui-radius-xl) var(--tui-radius-xl);
183
- }
184
-
185
- .tui-island_size_l &__footer-button {
186
- inline-size: ~'calc(100% + 2.375rem);'; // margin compensation
187
- margin: @padding-large calc(-1.25rem + 1px) calc(-1.25rem + 1px); // 1px is compensations of border
188
- }
189
-
190
- &__marker {
191
- &:first-child:not(:only-child) {
192
- margin-inline-end: 1.25rem;
193
- }
194
-
195
- &:not(:first-child),
196
- &:only-child {
197
- margin-inline-start: 1.25rem;
198
- }
199
- }
200
- }
@@ -1,136 +0,0 @@
1
- .tui-list {
2
- font: var(--tui-font-text-m);
3
- line-height: 1.5rem;
4
- list-style-type: none;
5
- color: var(--tui-text-primary);
6
-
7
- &_large {
8
- font: var(--tui-font-text-l);
9
- line-height: 1.75rem;
10
- }
11
-
12
- &_small,
13
- &_extra-small {
14
- font: var(--tui-font-text-s);
15
- line-height: 1.25rem;
16
- }
17
-
18
- &_nested {
19
- margin: 0.75rem 0 0.75rem 1.25rem;
20
- color: var(--tui-text-secondary);
21
-
22
- .tui-list_large & {
23
- margin-inline-start: 0.75rem;
24
- }
25
-
26
- .tui-list_small & {
27
- margin-block-start: 0.5rem;
28
- margin-block-end: 0.5rem;
29
- }
30
- }
31
-
32
- &_ordered {
33
- counter-reset: counter;
34
- }
35
-
36
- &__item {
37
- position: relative;
38
- padding-inline-start: 1.5rem;
39
- overflow-wrap: break-word;
40
- margin-block-start: 0.75rem;
41
-
42
- &:first-child {
43
- margin-block-start: 0;
44
- }
45
-
46
- &::before {
47
- content: '';
48
- position: absolute;
49
- left: 0;
50
- top: 0.5rem;
51
- inline-size: 0.5rem;
52
- block-size: 0.5rem;
53
- border-radius: 100%;
54
- background-color: var(--tui-background-accent-1);
55
-
56
- .tui-list_large > & {
57
- top: 0.625rem;
58
- }
59
-
60
- .tui-list_small > & {
61
- top: 0.375rem;
62
- }
63
- }
64
-
65
- .tui-list_extra-small > & {
66
- margin-block-start: 0.5rem;
67
- }
68
-
69
- .tui-list_linear & {
70
- padding-inline-start: 1.75rem;
71
-
72
- &::before {
73
- content: '\2014';
74
- left: 0;
75
- top: auto;
76
- inline-size: auto;
77
- block-size: auto;
78
- background-color: transparent;
79
- }
80
- }
81
-
82
- .tui-list_ordered & {
83
- padding-inline-start: 1.25rem;
84
-
85
- &::before {
86
- content: counter(counter) '.';
87
- left: 0;
88
- top: auto;
89
- counter-increment: counter;
90
- inline-size: auto;
91
- block-size: auto;
92
- color: var(--tui-text-tertiary);
93
- background-color: transparent;
94
- }
95
- }
96
-
97
- .tui-list_triangle > & {
98
- padding-inline-start: 1.75rem;
99
-
100
- &::before {
101
- content: '\25E4'; // represent symbol '◤'
102
- left: 0;
103
- top: 1px;
104
- inline-size: auto;
105
- block-size: auto;
106
- background-color: transparent;
107
- color: var(--tui-text-tertiary);
108
- font-size: 0.75rem;
109
- }
110
- }
111
- }
112
-
113
- &__item-title {
114
- font: var(--tui-font-heading-5);
115
- margin: 0;
116
-
117
- .tui-list_small & {
118
- line-height: 1.25rem;
119
- font-weight: bold;
120
- }
121
- }
122
-
123
- &__description {
124
- margin: 0.5rem 0 0;
125
- color: var(--tui-text-secondary);
126
-
127
- .tui-list_small & {
128
- margin-block-start: 0.25rem;
129
- }
130
-
131
- .tui-list_large & {
132
- line-height: 1.75rem;
133
- margin-block-start: 0.75rem;
134
- }
135
- }
136
- }
@@ -1,5 +0,0 @@
1
- @media not @tui-mobile {
2
- .tui-mobile-only {
3
- display: none !important;
4
- }
5
- }
@@ -1,13 +0,0 @@
1
- .tui-required {
2
- &::after {
3
- content: '*';
4
- }
5
-
6
- &_float::after {
7
- position: absolute;
8
- }
9
-
10
- &_spacing::after {
11
- content: '\0000a0*';
12
- }
13
- }
@@ -1,139 +0,0 @@
1
- @space-small: 0.5rem;
2
- @space-normal: 1.25rem;
3
- @space-large: 1.5rem;
4
-
5
- /* stylelint-disable order/order */
6
- .generate-columns(@infix, @n, @padding, @i: 1) when (@i =< @n) {
7
- &_@{infix}-@{i} {
8
- inline-size: (@i * 100% / @n);
9
- padding-inline-start: @padding;
10
- padding-inline-end: @padding;
11
- box-sizing: border-box;
12
- }
13
-
14
- .generate-columns(@infix, @n, @padding, (@i + 1));
15
- }
16
-
17
- .generate-offset-columns(@infix, @n, @i: 1) when (@i =< @n) {
18
- &_@{infix}-@{i} {
19
- margin-inline-start: (@i * 100% / @n);
20
- }
21
-
22
- .generate-offset-columns(@infix, @n, (@i + 1));
23
- }
24
-
25
- .generate-sme-columns(@n, @padding, @i: 1) when (@i =< @n) {
26
- &_@{i} {
27
- inline-size: (@i * 100% / @n);
28
- padding-inline-start: @padding;
29
- padding-inline-end: @padding;
30
- box-sizing: border-box;
31
- }
32
-
33
- .generate-sme-columns(@n, @padding, (@i + 1));
34
- }
35
-
36
- .generate-sme-offset-columns(@n, @i: 1) when (@i =< @n) {
37
- &_@{i} {
38
- margin-inline-start: (@i * 100% / @n);
39
- }
40
-
41
- .generate-sme-offset-columns(@n, (@i + 1));
42
- }
43
- /* stylelint-enable order/order */
44
-
45
- .tui-row {
46
- display: flex;
47
- flex-wrap: wrap;
48
-
49
- &_align_center {
50
- align-items: center;
51
- }
52
-
53
- &_align_start {
54
- align-items: flex-start;
55
- }
56
-
57
- &_align_end {
58
- align-items: flex-end;
59
- }
60
-
61
- &_adaptive.tui-row {
62
- @media @tui-desktop-lg-min {
63
- margin-inline-start: -@space-large;
64
- margin-inline-end: -@space-large;
65
- }
66
-
67
- @media @tui-desktop {
68
- margin-inline-start: -@space-normal;
69
- margin-inline-end: -@space-normal;
70
- }
71
-
72
- @media @tui-mobile {
73
- margin-inline-start: -@space-small;
74
- margin-inline-end: -@space-small;
75
- }
76
- }
77
-
78
- &_temporary.tui-row {
79
- margin-inline-start: -@space-normal;
80
- margin-inline-end: -@space-normal;
81
- }
82
-
83
- @media @tui-desktop-lg-min {
84
- margin-inline-start: -@space-large;
85
- margin-inline-end: -@space-large;
86
- }
87
-
88
- @media @tui-desktop {
89
- margin-inline-start: -@space-normal;
90
- margin-inline-end: -@space-normal;
91
- }
92
- }
93
-
94
- .tui-col {
95
- .generate-sme-columns(12, @space-normal);
96
- .generate-columns(md, 12, @space-normal);
97
-
98
- &_stretch {
99
- display: flex;
100
- }
101
-
102
- .tui-row_adaptive & {
103
- @media @tui-desktop-lg-min {
104
- .generate-columns(lg, 12, @space-large);
105
- }
106
-
107
- @media @tui-desktop {
108
- .generate-columns(md, 12, @space-normal);
109
- }
110
-
111
- @media @tui-mobile {
112
- .generate-columns(xs, 12, @space-small);
113
- }
114
- }
115
-
116
- .tui-row_temporary & {
117
- .generate-sme-columns(12, @space-normal);
118
- }
119
-
120
- @media @tui-desktop-lg-min {
121
- .generate-sme-columns(12, @space-large);
122
- }
123
- }
124
-
125
- .tui-col-offset {
126
- .generate-sme-offset-columns(12);
127
-
128
- @media @tui-mobile-interval {
129
- .generate-offset-columns(xs, 12);
130
- }
131
-
132
- @media @tui-desktop {
133
- .generate-offset-columns(md, 12);
134
- }
135
-
136
- @media @tui-desktop-lg-min {
137
- .generate-offset-columns(lg, 12);
138
- }
139
- }