tgui-core 1.8.4 → 2.0.1

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 (82) hide show
  1. package/dist/common/constants.d.ts +4 -0
  2. package/dist/common/constants.js +17 -0
  3. package/dist/common/hotkeys.js +48 -48
  4. package/dist/common/ui.d.ts +6 -0
  5. package/dist/common/ui.js +63 -59
  6. package/dist/components/AnimatedNumber.d.ts +1 -1
  7. package/dist/components/Button.d.ts +3 -3
  8. package/dist/components/Button.js +21 -22
  9. package/dist/components/Chart.d.ts +3 -15
  10. package/dist/components/Chart.js +68 -86
  11. package/dist/components/ColorBox.js +3 -3
  12. package/dist/components/Dialog.d.ts +16 -0
  13. package/dist/components/Dialog.js +5 -5
  14. package/dist/components/DmIcon.d.ts +1 -1
  15. package/dist/components/DraggableControl.d.ts +56 -0
  16. package/dist/components/DraggableControl.js +126 -176
  17. package/dist/components/Dropdown.d.ts +8 -6
  18. package/dist/components/Dropdown.js +137 -129
  19. package/dist/components/FitText.d.ts +1 -1
  20. package/dist/components/Floating.d.ts +75 -0
  21. package/dist/components/Floating.js +2235 -0
  22. package/dist/components/ImageButton.d.ts +2 -3
  23. package/dist/components/ImageButton.js +88 -98
  24. package/dist/components/InfinitePlane.d.ts +35 -32
  25. package/dist/components/InfinitePlane.js +123 -133
  26. package/dist/components/Knob.d.ts +22 -6
  27. package/dist/components/Knob.js +45 -46
  28. package/dist/components/MenuBar.js +81 -97
  29. package/dist/components/Modal.js +12 -12
  30. package/dist/components/NumberInput.d.ts +1 -1
  31. package/dist/components/Popper.d.ts +5 -1
  32. package/dist/components/Popper.js +1026 -121
  33. package/dist/components/ProgressBar.js +3 -3
  34. package/dist/components/RoundGauge.js +30 -30
  35. package/dist/components/Section.js +7 -7
  36. package/dist/components/Slider.d.ts +22 -6
  37. package/dist/components/Slider.js +55 -56
  38. package/dist/components/Stack.js +3 -3
  39. package/dist/components/Table.js +7 -7
  40. package/dist/components/Tabs.js +7 -7
  41. package/dist/components/TextArea.d.ts +17 -0
  42. package/dist/components/TextArea.js +35 -33
  43. package/dist/components/Tooltip.d.ts +3 -34
  44. package/dist/components/Tooltip.js +14 -77
  45. package/dist/components/TrackOutsideClicks.d.ts +1 -1
  46. package/dist/components/index.d.ts +1 -0
  47. package/dist/components/index.js +64 -62
  48. package/package.json +26 -27
  49. package/styles/base.scss +13 -11
  50. package/styles/colors.scss +63 -67
  51. package/styles/components/BlockQuote.scss +5 -8
  52. package/styles/components/Button.scss +123 -99
  53. package/styles/components/Dialog.scss +23 -30
  54. package/styles/components/Dimmer.scss +3 -8
  55. package/styles/components/Divider.scss +6 -7
  56. package/styles/components/Dropdown.scss +103 -51
  57. package/styles/components/Flex.scss +0 -1
  58. package/styles/components/Floating.scss +60 -0
  59. package/styles/components/ImageButton.scss +136 -192
  60. package/styles/components/Input.scss +24 -26
  61. package/styles/components/Knob.scss +37 -41
  62. package/styles/components/LabeledList.scss +8 -6
  63. package/styles/components/MenuBar.scss +17 -21
  64. package/styles/components/Modal.scss +8 -7
  65. package/styles/components/NoticeBox.scss +22 -26
  66. package/styles/components/NumberInput.scss +30 -28
  67. package/styles/components/ProgressBar.scss +27 -19
  68. package/styles/components/RoundGauge.scss +46 -26
  69. package/styles/components/Section.scss +17 -32
  70. package/styles/components/Slider.scss +18 -15
  71. package/styles/components/Stack.scss +8 -48
  72. package/styles/components/Table.scss +2 -2
  73. package/styles/components/Tabs.scss +92 -66
  74. package/styles/components/TextArea.scss +32 -36
  75. package/styles/components/Tooltip.scss +10 -13
  76. package/styles/functions.scss +1 -62
  77. package/styles/main.scss +6 -1
  78. package/styles/reset.scss +7 -11
  79. package/styles/vars-colors.scss +108 -0
  80. package/styles/vars-components.scss +162 -0
  81. package/styles/vars-values.scss +110 -0
  82. package/dist/popper-CiqSDJTE.js +0 -906
@@ -2,66 +2,118 @@
2
2
 
3
3
  .Dropdown {
4
4
  display: flex;
5
- align-items: flex-start;
6
- }
5
+ align-items: stretch;
6
+ gap: var(--space-s);
7
+ margin-right: var(--space-xs);
8
+ margin-bottom: var(--space-xs);
7
9
 
8
- .Dropdown__control {
9
- flex: 1;
10
- font-family: Verdana, sans-serif;
11
- font-size: base.em(12px);
12
- overflow: hidden;
13
- user-select: none;
14
- width: base.em(100px);
15
- }
10
+ &:last-child {
11
+ margin-right: 0;
12
+ margin-bottom: 0;
13
+ }
16
14
 
17
- .Dropdown__arrow-button {
18
- float: right;
19
- padding-left: 0.35em;
20
- width: 1.2em;
21
- border-left: base.em(1px) solid rgba(0, 0, 0, 0.25);
22
- }
15
+ // Override Button styles
16
+ .Button {
17
+ margin: 0;
18
+ align-content: center;
19
+ }
23
20
 
24
- .Dropdown__menu {
25
- overflow-y: auto;
26
- align-items: center;
27
- max-height: base.em(200px);
28
- border-radius: 0 0 base.em(2px) base.em(2px);
29
- color: hsl(0, 0%, 100%);
30
- background-color: hsl(0, 0%, 0%);
31
- background-color: hsla(0, 0%, 0%, 0.75);
32
- }
21
+ &__control {
22
+ display: flex;
23
+ overflow: hidden;
24
+ flex: 1;
25
+ font-family: var(--font-family);
26
+ font-size: base.em(12px);
27
+ line-height: base.em(16px);
28
+ height: base.em(22px);
29
+ border-radius: var(--button-border-radius);
30
+ }
33
31
 
34
- .Dropdown__menu-scroll {
35
- overflow-y: scroll;
36
- }
32
+ &__selected-text {
33
+ flex: 1;
34
+ display: inline-block;
35
+ align-content: center;
36
+ text-overflow: ellipsis;
37
+ white-space: nowrap;
38
+ height: 100%;
39
+ padding: var(--space-s) var(--space-m);
40
+ border-right: var(--border-thickness-tiny) solid var(--color-border-dark);
41
+ }
37
42
 
38
- .Dropdown__menuentry {
39
- padding: base.em(2px) base.em(4px);
40
- font-family: Verdana, sans-serif;
41
- font-size: base.em(12px);
42
- line-height: base.em(17px);
43
- transition: background-color 100ms ease-out;
43
+ &__icon {
44
+ display: inline-block;
45
+ align-content: center;
46
+ text-align: center;
47
+ height: 100%;
48
+ width: base.em(22px);
49
+ transition: transform var(--dropdown-transition);
44
50
 
45
- &.selected {
46
- background-color: rgba(255, 255, 255, 0.5) !important;
47
- transition: background-color 0ms;
48
- }
51
+ &--arrow {
52
+ &.open:not(.over),
53
+ &.over:not(.open) {
54
+ transform: rotate(180deg);
55
+ }
56
+ }
49
57
 
50
- &:hover {
51
- background-color: rgba(255, 255, 255, 0.2);
52
- transition: background-color 0ms;
58
+ // Move text closer to icon
59
+ ~ .Dropdown__selected-text {
60
+ padding-left: 0;
61
+ }
53
62
  }
54
- }
55
63
 
56
- .Dropdown__over {
57
- top: auto;
58
- bottom: 100%;
64
+ &__menu {
65
+ overflow-y: auto;
66
+ scrollbar-width: thin;
67
+ scrollbar-color: var(--color-scrollbar-thumb) transparent;
68
+ max-height: base.em(200px);
69
+ padding: var(--space-sm);
70
+
71
+ &--wrapper {
72
+ overflow: hidden;
73
+ background-color: var(--dropdown-menu-background);
74
+ color: var(--dropdown-menu-color);
75
+ border: var(--dropdown-menu-border);
76
+ border-radius: var(--dropdown-menu-border-radius);
77
+ backdrop-filter: var(--dropdown-menu-blur);
78
+ }
79
+
80
+ &--entry {
81
+ user-select: none;
82
+ overflow: hidden;
83
+ white-space: nowrap;
84
+ text-overflow: ellipsis;
85
+ font-family: var(--font-family);
86
+ font-size: base.em(12px);
87
+ line-height: base.em(16px);
88
+ padding: var(--space-xs) var(--space-m);
89
+ border-radius: var(--dropdown-entry-border-radius);
90
+ transition: background-color var(--dropdown-entry-transition);
91
+
92
+ &.selected {
93
+ background-color: var(--dropdown-entry-background-selected) !important;
94
+ transition-duration: 0s;
95
+ }
96
+
97
+ &:not(.selected) {
98
+ cursor: var(--cursor-pointer);
99
+
100
+ &:hover {
101
+ background-color: var(--dropdown-entry-background-hover);
102
+ transition-duration: 0s;
103
+ }
104
+
105
+ &:active {
106
+ background-color: var(--dropdown-entry-background-active);
107
+ transition-duration: 0s;
108
+ }
109
+ }
110
+ }
111
+ }
59
112
  }
60
113
 
61
- .Dropdown__selected-text {
62
- display: inline-block;
63
- text-overflow: ellipsis;
64
- white-space: nowrap;
65
- height: base.em(17px);
66
- width: calc(100% - 1.2em);
114
+ .Dropdown__control--icon-only {
115
+ align-items: center;
116
+ display: flex;
117
+ justify-content: center;
118
+ max-width: 2rem;
67
119
  }
@@ -1,5 +1,4 @@
1
1
  .Flex {
2
- display: -ms-flexbox;
3
2
  display: flex;
4
3
  }
5
4
 
@@ -0,0 +1,60 @@
1
+ .Floating {
2
+ z-index: 5;
3
+
4
+ &--animated {
5
+ &[data-transition="open"] {
6
+ opacity: 1;
7
+ transform: scale(1);
8
+ }
9
+
10
+ &[data-transition="close"],
11
+ &[data-transition="initial"] {
12
+ opacity: 0;
13
+ transform: scale(0.9);
14
+ }
15
+
16
+ &[data-transition="open"],
17
+ &[data-transition="close"] {
18
+ transition-duration: var(--floating-transition-time);
19
+ transition-timing-function: var(--floating-transition-timing);
20
+ transition-property: opacity, transform;
21
+ }
22
+ }
23
+
24
+ // MARK: Transform origin handling
25
+ &[data-position="top"] {
26
+ transform-origin: bottom;
27
+ }
28
+
29
+ &[data-position="top-start"],
30
+ &[data-position="right-end"] {
31
+ transform-origin: bottom left;
32
+ }
33
+
34
+ &[data-position="top-end"],
35
+ &[data-position="left-end"] {
36
+ transform-origin: bottom right;
37
+ }
38
+
39
+ &[data-position="bottom"] {
40
+ transform-origin: top;
41
+ }
42
+
43
+ &[data-position="bottom-start"],
44
+ &[data-position="right-start"] {
45
+ transform-origin: top left;
46
+ }
47
+
48
+ &[data-position="bottom-end"],
49
+ &[data-position="left-start"] {
50
+ transform-origin: top right;
51
+ }
52
+
53
+ &[data-position="right"] {
54
+ transform-origin: left;
55
+ }
56
+
57
+ &[data-position="left"] {
58
+ transform-origin: right;
59
+ }
60
+ }
@@ -1,159 +1,127 @@
1
- /**
2
- * @file
3
- * @copyright 2024 Aylong (https://github.com/AyIong)
4
- * @license MIT
5
- */
6
-
7
- @use "../base";
8
1
  @use "../colors";
9
- @use "../functions" as *;
10
-
11
- $color-default: colors.bg(base.$color-bg-section) !default;
12
- $color-disabled: hsl(0, 54.7%, 25.1%) !default;
13
- $color-selected: colors.bg(colors.$green) !default;
14
- $color-divider: rgba(255, 255, 255, 0.1) !default;
15
- $divider-thickness: base.em(2px) !default;
16
- $bg-map: colors.$bg-map !default;
17
-
18
- @mixin button-style(
19
- $color,
20
- $border-color: rgba(lighten($color, 50%), 0.2),
21
- $border-width: 1px 0 0 0,
22
- $opacity: 0.2,
23
- $hoverable: true,
24
- $transition-duration: 0.2s
25
- ) {
26
- $luminance: luminance($color);
27
- $text-color: if($luminance > 0.3, rgba(0, 0, 0, 1), rgba(255, 255, 255, 1));
28
-
29
- background-color: rgba($color, $opacity);
30
- color: $text-color;
31
- border: solid $border-color;
32
- border-width: $border-width;
33
- transition:
34
- background-color $transition-duration,
35
- border-color $transition-duration;
36
-
37
- @if $hoverable {
2
+
3
+ $bg-map: colors.$color-map !default;
4
+
5
+ @mixin button-style($color) {
6
+ background-color: hsl(
7
+ from $color h s calc(l - var(--adjust-color) * 2) / 0.2
8
+ );
9
+ border: 1px solid hsl(from $color h s calc(l + var(--adjust-color) * 2) / 0.2);
10
+
11
+ &:not(.ImageButton--disabled) {
38
12
  &:hover {
39
- background-color: rgba(lighten($color, 66%), $opacity);
13
+ background-color: hsl(
14
+ from $color h s calc(l - var(--adjust-color) + var(--adjust-hover)) /
15
+ 0.2
16
+ );
40
17
  }
41
- }
42
- }
43
18
 
44
- @each $color-name, $color-value in $bg-map {
45
- .ImageButton--color__#{$color-name} {
46
- @include button-style($color-value, $border-width: 1px);
47
- }
19
+ &:active {
20
+ box-shadow: inset var(--shadow-glow-small) hsl(from $color h s l / 0.5);
21
+ transition-duration: 0s;
22
+ }
48
23
 
49
- .ImageButton--contentColor__#{$color-name} {
50
- @include button-style(
51
- $color-value,
52
- $border-color: lighten($color-value, 25%),
53
- $opacity: 1,
54
- $hoverable: false
55
- );
24
+ /* Disable hover/active effects if hovered on buttons container */
25
+ &:hover,
26
+ &:active {
27
+ &:has(.ImageButton__buttons:hover),
28
+ &:has(.ImageButton__buttons:active) {
29
+ background-color: hsl(
30
+ from $color h s calc(l - var(--adjust-color) * 2) / 0.2
31
+ );
32
+ box-shadow: none;
33
+ }
34
+ }
56
35
  }
57
36
 
58
- .ImageButton--buttonsContainerColor__#{$color-name} {
59
- @include button-style(
60
- $color-value,
61
- $border-width: 1px 1px 1px 0,
62
- $opacity: 0.33,
63
- $hoverable: false,
64
- $transition-duration: 0
65
- );
37
+ /* Make non-fluid content opaque */
38
+ &:not(.ImageButton--fluid) .ImageButton__content {
39
+ background-color: hsl(from $color h s calc(l - var(--adjust-hover)));
40
+ border-top: var(--border-thickness-tiny) solid $color;
66
41
  }
67
42
  }
68
43
 
69
- .ImageButton--color__default {
70
- @include button-style(lighten($color-default, 85%), $border-width: 1px);
44
+ @each $color-name, $color-value in $bg-map {
45
+ .ImageButton__color--#{$color-name} {
46
+ @include button-style($color-value);
47
+ }
71
48
  }
72
49
 
73
- .ImageButton--disabled {
74
- background-color: rgba($color-disabled, 0.25) !important;
75
- border-color: rgba($color-disabled, 0.25) !important;
50
+ .ImageButton__color--default {
51
+ @include button-style(hsl(from var(--color-base) h s 30));
76
52
  }
77
53
 
78
54
  .ImageButton--selected {
79
- @include button-style(
80
- $color-selected,
81
- $border-color: rgba($color-selected, 0.25),
82
- $border-width: 1px
83
- );
55
+ @include button-style(var(--button-background-selected));
84
56
  }
85
57
 
86
- .ImageButton--contentColor__default {
87
- @include button-style(
88
- lighten($color-default, 80%),
89
- $border-color: lighten($color-default, 100%),
90
- $opacity: 1,
91
- $hoverable: false
92
- );
93
- }
94
-
95
- .ImageButton--contentDisabled {
96
- background-color: $color-disabled !important;
97
- border-top: 1px solid lighten($color-disabled, 25%) !important;
98
- }
58
+ .ImageButton--disabled {
59
+ .ImageButton__container {
60
+ cursor: var(--cursor-disabled);
61
+ opacity: 0.5;
62
+ }
99
63
 
100
- .ImageButton--contentSelected {
101
- @include button-style(
102
- $color-selected,
103
- $border-color: lighten($color-selected, 25%),
104
- $opacity: 1,
105
- $hoverable: false
106
- );
107
- }
64
+ &.ImageButton--fluid {
65
+ filter: contrast(75%);
108
66
 
109
- .ImageButton--buttonsContainerColor__default {
110
- @include button-style(
111
- lighten($color-default, 85%),
112
- $border-width: 1px 1px 1px 0,
113
- $hoverable: false,
114
- $transition-duration: 0
115
- );
67
+ .ImageButton__buttons {
68
+ filter: contrast(125%);
69
+ }
70
+ }
116
71
  }
117
72
 
118
73
  .ImageButton {
119
- /* Better replace via inline-flex after Byond 516 will be stable */
120
- display: inline-table;
74
+ overflow: hidden;
75
+ user-select: none;
121
76
  position: relative;
77
+ display: inline-flex;
122
78
  text-align: center;
123
79
  margin: 0.25em;
124
- user-select: none;
125
- -ms-user-select: none;
126
-
127
- .noAction {
128
- pointer-events: none;
129
- }
80
+ border-radius: var(--border-radius-medium);
81
+ transition-property: background-color, border-color, box-shadow;
82
+ transition-duration: var(--transition-time-medium);
83
+ border-width: 0;
130
84
 
131
- .container {
85
+ &__container {
86
+ cursor: var(--cursor-pointer);
132
87
  display: flex;
133
88
  flex-direction: column;
134
- border-radius: 0.33em;
89
+ transition: opacity var(--transition-time-medium);
90
+ border-color: inherit;
135
91
  }
136
92
 
137
- .image {
93
+ &__image {
138
94
  position: relative;
139
95
  align-self: center;
140
96
  pointer-events: none;
141
97
  overflow: hidden;
142
98
  line-height: 0;
143
- padding: 0.25em;
144
- border-radius: 0.33em;
99
+ padding: var(--space-s);
100
+ border: 1px solid;
101
+ border-bottom: 0;
102
+ border-color: inherit;
103
+ border-radius: var(--border-radius-medium) var(--border-radius-medium) 0 0;
104
+ }
105
+
106
+ &__content {
107
+ user-select: none;
108
+ overflow: hidden;
109
+ text-overflow: ellipsis;
110
+ white-space: nowrap;
111
+ padding: 0.25em 0.33em;
112
+ z-index: 2;
145
113
  }
146
114
 
147
- .buttonsContainer {
115
+ &__buttons {
148
116
  display: flex;
149
117
  position: absolute;
150
118
  overflow: hidden;
151
- left: 1px;
119
+ left: 0;
152
120
  bottom: 1.8em;
153
121
  max-width: 100%;
154
122
  z-index: 1;
155
123
 
156
- &.buttonsAltContainer {
124
+ &--alt {
157
125
  overflow: visible;
158
126
  flex-direction: column;
159
127
  pointer-events: none;
@@ -161,120 +129,96 @@ $bg-map: colors.$bg-map !default;
161
129
  bottom: inherit !important;
162
130
  /** Text outline. Sort of. */
163
131
  text-shadow:
164
- 0px 0px 4px base.$color-bg,
165
- 0px 0px 4px base.$color-bg,
166
- 0px 0px 4px base.$color-bg,
167
- 0px 0px 4px base.$color-bg;
168
- }
169
-
170
- &.buttonsEmpty {
171
- bottom: 1px;
132
+ 0px 1px 2px var(--color-base),
133
+ -1px 0px 2px var(--color-base),
134
+ 1px 0px 2px var(--color-base),
135
+ 0px -1px 2px var(--color-base);
172
136
  }
173
137
 
174
138
  & > * {
175
139
  /* I know !important is bad, but here's no other way */
176
140
  margin: 0 !important;
177
- padding: 0 0.2em !important;
141
+ padding: 0 !important;
178
142
  border-radius: 0 !important;
179
143
  }
180
144
  }
181
-
182
- .content {
183
- -ms-user-select: none;
184
- user-select: none;
185
- overflow: hidden;
186
- text-overflow: ellipsis;
187
- white-space: nowrap;
188
- padding: 0.25em 0.33em;
189
- margin: -1px;
190
- border-radius: 0 0 0.33em 0.33em;
191
- z-index: 2;
192
- }
193
145
  }
194
146
 
195
147
  .ImageButton--fluid {
196
148
  display: flex;
197
149
  flex-direction: row;
198
- position: relative;
199
- text-align: center;
200
150
  margin: 0 0 0.33em 0;
201
- user-select: none;
202
- -ms-user-select: none;
151
+ border-width: var(--border-thickness-tiny);
203
152
 
204
153
  &:last-child {
205
154
  margin-bottom: 0;
206
155
  }
207
156
 
208
- .info {
209
- display: flex;
210
- flex-direction: column;
211
- justify-content: center;
212
- flex: 1;
213
- }
157
+ .ImageButton {
158
+ &__container {
159
+ flex-direction: row;
160
+ flex: 1;
161
+ }
214
162
 
215
- .title {
216
- font-weight: bold;
217
- padding: 0.5em;
163
+ &__image {
164
+ padding: 0;
165
+ border: 0;
166
+ }
218
167
 
219
- &.divider {
168
+ &__content {
169
+ flex: 1;
170
+ display: flex;
171
+ flex-direction: column;
172
+ justify-content: center;
173
+ white-space: normal;
174
+ padding: 0;
220
175
  margin: 0 0.5em;
221
- border-bottom: $divider-thickness solid $color-divider;
222
- }
223
- }
176
+ color: var(--color-text);
224
177
 
225
- .contentFluid {
226
- padding: 0.5em;
227
- color: white;
228
- }
178
+ &--title {
179
+ font-weight: bold;
180
+ padding: 0.5em;
181
+ }
229
182
 
230
- .container {
231
- flex-direction: row;
232
- flex: 1;
183
+ &--divider {
184
+ border-bottom: var(--border-thickness-small) solid var(--color-border);
185
+ }
233
186
 
234
- &.hasButtons {
235
- border-radius: 0.33em 0 0 0.33em;
236
- border-width: 1px 0 1px 1px;
187
+ &--text {
188
+ padding: 0.5em;
189
+ }
237
190
  }
238
- }
239
191
 
240
- .image {
241
- padding: 0;
242
- }
243
-
244
- .buttonsContainer {
245
- position: relative;
246
- left: inherit;
247
- bottom: inherit;
248
- border-radius: 0 0.33em 0.33em 0;
249
-
250
- &.buttonsEmpty {
192
+ &__buttons {
193
+ position: relative;
194
+ left: inherit;
251
195
  bottom: inherit;
252
- }
196
+ background-color: inherit;
253
197
 
254
- &.buttonsAltContainer {
255
- overflow: hidden;
256
- pointer-events: auto;
257
- top: inherit;
258
- text-shadow: none;
198
+ &--alt {
199
+ pointer-events: all;
200
+ top: inherit;
201
+ text-shadow: none;
259
202
 
260
- & > * {
261
- border-top: 1px solid rgba(255, 255, 255, 0.075);
203
+ & > * {
204
+ border-top: 1px solid hsla(0, 0%, 100%, 0.075);
262
205
 
263
- &:first-child {
264
- border-top: 0;
206
+ &:first-child {
207
+ border-top: 0;
208
+ }
265
209
  }
266
210
  }
267
- }
268
211
 
269
- & > * {
270
- display: inline-flex;
271
- flex-direction: column;
272
- justify-content: center;
273
- text-align: center;
274
- white-space: pre-wrap;
275
- line-height: base.em(14px);
276
- height: 100%;
277
- border-left: 1px solid rgba(255, 255, 255, 0.075);
212
+ & > * {
213
+ display: inline-flex;
214
+ flex-direction: column;
215
+ justify-content: center;
216
+ text-align: center;
217
+ white-space: pre-wrap;
218
+ line-height: 1.15em;
219
+ height: 100%;
220
+ border-left: var(--border-thickness-tiny) solid var(--color-border);
221
+ }
278
222
  }
279
223
  }
280
224
  }