@trebired/frontend 0.5.0 → 1.1.0

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 (189) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/README.md +56 -84
  3. package/dist/config/fonts.d.ts +5 -0
  4. package/dist/config/fonts.d.ts.map +1 -0
  5. package/dist/config/fonts.js +158 -0
  6. package/dist/config/fonts.js.map +1 -0
  7. package/dist/config/index.d.ts +1 -1
  8. package/dist/config/index.d.ts.map +1 -1
  9. package/dist/config/module.js +1 -1
  10. package/dist/config/module.js.map +1 -1
  11. package/dist/config/normalize.d.ts +1 -2
  12. package/dist/config/normalize.d.ts.map +1 -1
  13. package/dist/config/normalize.js +30 -13
  14. package/dist/config/normalize.js.map +1 -1
  15. package/dist/config/palette.d.ts +8 -0
  16. package/dist/config/palette.d.ts.map +1 -0
  17. package/dist/config/palette.js +104 -0
  18. package/dist/config/palette.js.map +1 -0
  19. package/dist/config/scales-css.d.ts +8 -0
  20. package/dist/config/scales-css.d.ts.map +1 -0
  21. package/dist/config/scales-css.js +103 -0
  22. package/dist/config/scales-css.js.map +1 -0
  23. package/dist/config/scales.d.ts +4 -0
  24. package/dist/config/scales.d.ts.map +1 -0
  25. package/dist/config/scales.js +55 -0
  26. package/dist/config/scales.js.map +1 -0
  27. package/dist/config/scss.d.ts.map +1 -1
  28. package/dist/config/scss.js +61 -7
  29. package/dist/config/scss.js.map +1 -1
  30. package/dist/config/types.d.ts +97 -2
  31. package/dist/config/types.d.ts.map +1 -1
  32. package/dist/flash/dialogs.d.ts +20 -2
  33. package/dist/flash/dialogs.d.ts.map +1 -1
  34. package/dist/flash/dialogs.js +185 -17
  35. package/dist/flash/dialogs.js.map +1 -1
  36. package/dist/flash/elements.d.ts +1 -1
  37. package/dist/flash/elements.d.ts.map +1 -1
  38. package/dist/flash/elements.js +17 -4
  39. package/dist/flash/elements.js.map +1 -1
  40. package/dist/flash/index.d.ts +5 -4
  41. package/dist/flash/index.d.ts.map +1 -1
  42. package/dist/flash/index.js +21 -3
  43. package/dist/flash/index.js.map +1 -1
  44. package/dist/flash/stack.d.ts.map +1 -1
  45. package/dist/flash/stack.js +26 -1
  46. package/dist/flash/stack.js.map +1 -1
  47. package/dist/flash/styles/index.scss +54 -2
  48. package/dist/flash/toast.d.ts +10 -1
  49. package/dist/flash/toast.d.ts.map +1 -1
  50. package/dist/flash/toast.js +23 -4
  51. package/dist/flash/toast.js.map +1 -1
  52. package/dist/flash/types.d.ts +38 -2
  53. package/dist/flash/types.d.ts.map +1 -1
  54. package/dist/fullscreen/components/index.d.ts +20 -0
  55. package/dist/fullscreen/components/index.d.ts.map +1 -0
  56. package/dist/fullscreen/components/index.js +19 -0
  57. package/dist/fullscreen/components/index.js.map +1 -0
  58. package/dist/fullscreen/index.d.ts +24 -3
  59. package/dist/fullscreen/index.d.ts.map +1 -1
  60. package/dist/fullscreen/index.js +268 -7
  61. package/dist/fullscreen/index.js.map +1 -1
  62. package/dist/fullscreen/styles/index.scss +71 -0
  63. package/dist/index.d.ts +7 -1
  64. package/dist/index.d.ts.map +1 -1
  65. package/dist/index.js +9 -1
  66. package/dist/index.js.map +1 -1
  67. package/dist/layout/components/index.d.ts +43 -0
  68. package/dist/layout/components/index.d.ts.map +1 -0
  69. package/dist/layout/components/index.js +53 -0
  70. package/dist/layout/components/index.js.map +1 -0
  71. package/dist/layout/index.d.ts +27 -0
  72. package/dist/layout/index.d.ts.map +1 -0
  73. package/dist/layout/index.js +80 -0
  74. package/dist/layout/index.js.map +1 -0
  75. package/dist/layout/styles/index.scss +137 -0
  76. package/dist/react/index.d.ts +14 -0
  77. package/dist/react/index.d.ts.map +1 -1
  78. package/dist/react/index.js +14 -0
  79. package/dist/react/index.js.map +1 -1
  80. package/dist/server/index.d.ts +5 -0
  81. package/dist/server/index.d.ts.map +1 -0
  82. package/dist/server/index.js +5 -0
  83. package/dist/server/index.js.map +1 -0
  84. package/dist/sidebar/components/index.d.ts +35 -0
  85. package/dist/sidebar/components/index.d.ts.map +1 -0
  86. package/dist/sidebar/components/index.js +49 -0
  87. package/dist/sidebar/components/index.js.map +1 -0
  88. package/dist/sidebar/index.d.ts +62 -0
  89. package/dist/sidebar/index.d.ts.map +1 -0
  90. package/dist/sidebar/index.js +247 -0
  91. package/dist/sidebar/index.js.map +1 -0
  92. package/dist/sidebar/styles/index.scss +205 -0
  93. package/dist/src/config/fonts.d.ts +5 -0
  94. package/dist/src/config/fonts.d.ts.map +1 -0
  95. package/dist/src/config/fonts.js +158 -0
  96. package/dist/src/config/fonts.js.map +1 -0
  97. package/dist/src/config/index.d.ts +1 -1
  98. package/dist/src/config/index.d.ts.map +1 -1
  99. package/dist/src/config/module.js +1 -1
  100. package/dist/src/config/module.js.map +1 -1
  101. package/dist/src/config/normalize.d.ts +1 -2
  102. package/dist/src/config/normalize.d.ts.map +1 -1
  103. package/dist/src/config/normalize.js +30 -13
  104. package/dist/src/config/normalize.js.map +1 -1
  105. package/dist/src/config/palette.d.ts +8 -0
  106. package/dist/src/config/palette.d.ts.map +1 -0
  107. package/dist/src/config/palette.js +104 -0
  108. package/dist/src/config/palette.js.map +1 -0
  109. package/dist/src/config/scales-css.d.ts +8 -0
  110. package/dist/src/config/scales-css.d.ts.map +1 -0
  111. package/dist/src/config/scales-css.js +103 -0
  112. package/dist/src/config/scales-css.js.map +1 -0
  113. package/dist/src/config/scales.d.ts +4 -0
  114. package/dist/src/config/scales.d.ts.map +1 -0
  115. package/dist/src/config/scales.js +55 -0
  116. package/dist/src/config/scales.js.map +1 -0
  117. package/dist/src/config/scss.d.ts.map +1 -1
  118. package/dist/src/config/scss.js +61 -7
  119. package/dist/src/config/scss.js.map +1 -1
  120. package/dist/src/config/types.d.ts +97 -2
  121. package/dist/src/config/types.d.ts.map +1 -1
  122. package/dist/src/flash/dialogs.d.ts +20 -2
  123. package/dist/src/flash/dialogs.d.ts.map +1 -1
  124. package/dist/src/flash/dialogs.js +185 -17
  125. package/dist/src/flash/dialogs.js.map +1 -1
  126. package/dist/src/flash/elements.d.ts +1 -1
  127. package/dist/src/flash/elements.d.ts.map +1 -1
  128. package/dist/src/flash/elements.js +17 -4
  129. package/dist/src/flash/elements.js.map +1 -1
  130. package/dist/src/flash/index.d.ts +5 -4
  131. package/dist/src/flash/index.d.ts.map +1 -1
  132. package/dist/src/flash/index.js +21 -3
  133. package/dist/src/flash/index.js.map +1 -1
  134. package/dist/src/flash/stack.d.ts.map +1 -1
  135. package/dist/src/flash/stack.js +26 -1
  136. package/dist/src/flash/stack.js.map +1 -1
  137. package/dist/src/flash/toast.d.ts +10 -1
  138. package/dist/src/flash/toast.d.ts.map +1 -1
  139. package/dist/src/flash/toast.js +23 -4
  140. package/dist/src/flash/toast.js.map +1 -1
  141. package/dist/src/flash/types.d.ts +38 -2
  142. package/dist/src/flash/types.d.ts.map +1 -1
  143. package/dist/src/fullscreen/components/index.d.ts +20 -0
  144. package/dist/src/fullscreen/components/index.d.ts.map +1 -0
  145. package/dist/src/fullscreen/components/index.js +19 -0
  146. package/dist/src/fullscreen/components/index.js.map +1 -0
  147. package/dist/src/fullscreen/index.d.ts +24 -3
  148. package/dist/src/fullscreen/index.d.ts.map +1 -1
  149. package/dist/src/fullscreen/index.js +268 -7
  150. package/dist/src/fullscreen/index.js.map +1 -1
  151. package/dist/src/index.d.ts +7 -1
  152. package/dist/src/index.d.ts.map +1 -1
  153. package/dist/src/index.js +9 -1
  154. package/dist/src/index.js.map +1 -1
  155. package/dist/src/layout/components/index.d.ts +43 -0
  156. package/dist/src/layout/components/index.d.ts.map +1 -0
  157. package/dist/src/layout/components/index.js +53 -0
  158. package/dist/src/layout/components/index.js.map +1 -0
  159. package/dist/src/layout/index.d.ts +27 -0
  160. package/dist/src/layout/index.d.ts.map +1 -0
  161. package/dist/src/layout/index.js +80 -0
  162. package/dist/src/layout/index.js.map +1 -0
  163. package/dist/src/react/index.d.ts +14 -0
  164. package/dist/src/react/index.d.ts.map +1 -1
  165. package/dist/src/react/index.js +14 -0
  166. package/dist/src/react/index.js.map +1 -1
  167. package/dist/src/server/index.d.ts +5 -0
  168. package/dist/src/server/index.d.ts.map +1 -0
  169. package/dist/src/server/index.js +5 -0
  170. package/dist/src/server/index.js.map +1 -0
  171. package/dist/src/sidebar/components/index.d.ts +35 -0
  172. package/dist/src/sidebar/components/index.d.ts.map +1 -0
  173. package/dist/src/sidebar/components/index.js +49 -0
  174. package/dist/src/sidebar/components/index.js.map +1 -0
  175. package/dist/src/sidebar/index.d.ts +62 -0
  176. package/dist/src/sidebar/index.d.ts.map +1 -0
  177. package/dist/src/sidebar/index.js +247 -0
  178. package/dist/src/sidebar/index.js.map +1 -0
  179. package/dist/styles/tokens.scss +61 -9
  180. package/dist/styles/utils.scss +479 -0
  181. package/package.json +4 -167
  182. package/dist/src/styles/index.d.ts +0 -3
  183. package/dist/src/styles/index.d.ts.map +0 -1
  184. package/dist/src/styles/index.js +0 -15
  185. package/dist/src/styles/index.js.map +0 -1
  186. package/dist/styles/index.d.ts +0 -3
  187. package/dist/styles/index.d.ts.map +0 -1
  188. package/dist/styles/index.js +0 -15
  189. package/dist/styles/index.js.map +0 -1
@@ -1,22 +1,74 @@
1
1
  :root {
2
+ --border-width: 1px;
3
+ --outline-width: 2px;
4
+ --icon-gap: 5px;
5
+ --header-height: 80px;
6
+ --viewport-scrollbar-gap-inline-end: 0px;
7
+ --viewport-scrollbar-gap-block-end: 0px;
8
+ --transition-1: 120ms;
9
+ --transition-2: 180ms;
10
+ --transition-3: 240ms;
11
+ --transition-4: 320ms;
12
+ --theme-switch-duration: var(--transition-2, 180ms);
13
+ --theme-switch-easing: ease;
14
+ --height-input: var(--height-xs4, 35px);
15
+ --click-brightness: 0.85;
16
+ --brightness-1: var(--click-brightness);
17
+ --brightness-2: 0.75;
18
+ --brightness-3: 0.65;
19
+ --shadow-overlay-lg:
20
+ 0 8px 24px rgba(0, 0, 0, 0.2),
21
+ 0 2px 6px rgba(0, 0, 0, 0.08);
22
+ --shadow-overlay-sm:
23
+ 0 6px 18px rgba(0, 0, 0, 0.18),
24
+ 0 2px 4px rgba(0, 0, 0, 0.08);
25
+ --dot-grid:
26
+ var(--gray-950, #1a1a1b)
27
+ radial-gradient(var(--gray-700, #303031) 2px, transparent 0) -5px -5px / 30px 30px;
28
+ --z-bottom-bar: var(--z-index-xs, 900);
29
+ --z-header-secondary: 910;
30
+ --z-header-primary: 920;
31
+ --z-scrollbar-gutter-border: 925;
32
+ --z-mobile-nav: 930;
33
+ --z-fullscreen: var(--z-index-sm, 1000);
34
+ --z-modal: var(--z-index-md, 1010);
35
+ --z-floating-ui: var(--z-index-lg, 1020);
36
+ --z-tooltip: var(--z-index-xl, 1100);
2
37
  --tbf-radius: var(--radius-md, 0);
3
38
  --tbf-radius-sm: var(--radius-sm, 0);
4
39
  --tbf-border-width: var(--border-width, 1px);
5
- --tbf-border: var(--border-surface-1, #000);
6
- --tbf-surface: var(--surface-1, #fff);
7
- --tbf-surface-muted: var(--surface-2, #fff);
8
- --tbf-text: var(--text-color, #000);
9
- --tbf-text-muted: var(--text-color-muted, #000);
40
+ --tbf-border: var(--border-surface-1, var(--gray-750, #000));
41
+ --tbf-surface: var(--surface-1, var(--background-surface-1, #fff));
42
+ --tbf-surface-muted: var(--surface-2, var(--background-surface-2, #fff));
43
+ --tbf-text: var(--text-color, var(--gray-100, #000));
44
+ --tbf-text-muted: var(--text-color-muted, var(--gray-300, #000));
10
45
  --tbf-focus: var(--focus-color, #000);
11
46
  --tbf-shadow: var(--shadow-overlay-lg, 0 0 0 1px #000);
12
47
  --tbf-overlay: color-mix(in srgb, var(--tbf-text) 48%, transparent);
13
48
  --tbf-transition-fast: var(--transition-2, 180ms);
14
49
  --tbf-transition-normal: var(--transition-3, 240ms);
15
- --tbf-gap-xs: var(--space-xs, 4px);
16
- --tbf-gap-sm: var(--space-sm, 8px);
17
- --tbf-gap-md: var(--space-md, 12px);
18
- --tbf-gap-lg: var(--space-lg, 16px);
50
+ --tbf-gap-xs2: var(--space-xs2, 4px);
51
+ --tbf-gap-xs: var(--space-xs, 8px);
52
+ --tbf-gap-sm: var(--space-sm, 12px);
53
+ --tbf-gap-md: var(--space-md, 24px);
54
+ --tbf-gap-lg: var(--space-lg, 40px);
55
+ --tbf-canvas-bg: var(--dot-grid);
19
56
  --tbf-z-layer: var(--z-layer-root, 1000);
57
+ --tbf-z-bottom-bar: var(--z-bottom-bar, 900);
58
+ --tbf-z-header: var(--z-header-primary, 920);
59
+ --tbf-z-secondary-header: var(--z-header-secondary, 910);
60
+ --tbf-z-sidebar: var(--z-index-xs, 900);
61
+ --tbf-z-fullscreen: var(--z-fullscreen, var(--z-index-sm, 1000));
62
+ --tbf-z-modal: var(--z-modal, var(--z-index-md, 1010));
63
+ --tbf-z-floating-ui: var(--z-floating-ui, var(--z-index-lg, 1020));
64
+ --tbf-z-tooltip: var(--z-tooltip, var(--z-index-xl, 1100));
20
65
  --tbf-z-progress: var(--z-progress, 99999);
21
66
  --tbf-z-confetti: var(--z-confetti, 99998);
22
67
  }
68
+
69
+ :root[data-tbf-theme="light"],
70
+ body[data-tbf-theme="light"] {
71
+ --dot-grid:
72
+ var(--gray-950, #f8f8f9)
73
+ radial-gradient(var(--gray-700, #dbdbdc) 2px, transparent 0) -5px -5px / 30px 30px;
74
+ }
@@ -1,3 +1,198 @@
1
+ .tbf-root,
2
+ [data-tbf-layout-document],
3
+ html,
4
+ body {
5
+ min-width: 0;
6
+ }
7
+
8
+ [data-scrollbar-gap="y"],
9
+ [data-scrollbar-gap="both"] {
10
+ scrollbar-gutter: stable;
11
+ }
12
+
13
+ *,
14
+ *::before,
15
+ *::after {
16
+ box-sizing: border-box;
17
+ -webkit-tap-highlight-color: transparent;
18
+ }
19
+
20
+ html,
21
+ body {
22
+ margin: 0;
23
+ padding: 0;
24
+ scroll-behavior: smooth;
25
+ overscroll-behavior-y: none;
26
+ color: var(--tbf-text, #000);
27
+ background-color: var(--background-page, var(--tbf-surface, #fff));
28
+ transition:
29
+ background-color 0.3s ease,
30
+ border-color 0.3s ease,
31
+ box-shadow 0.3s ease;
32
+ }
33
+
34
+ html[data-theme-switching="true"],
35
+ html[data-theme-switching="true"] *,
36
+ html[data-theme-switching="true"] *::before,
37
+ html[data-theme-switching="true"] *::after,
38
+ html[data-theme-switching="true"] body::after {
39
+ transition: none !important;
40
+ animation: none !important;
41
+ }
42
+
43
+ body {
44
+ display: flex;
45
+ min-height: 100vh;
46
+ flex-direction: column;
47
+ font-family: var(--tbf-font-sans, "Inter", sans-serif);
48
+ line-height: var(--tbf-body-line-height, var(--lh-sm, 1.4));
49
+ }
50
+
51
+ body::after {
52
+ content: "";
53
+ position: fixed;
54
+ top: 0;
55
+ right: var(--viewport-scrollbar-gap-inline-end, 0px);
56
+ bottom: 0;
57
+ width: var(--tbf-border-width, 1px);
58
+ background: var(--tbf-border, #000);
59
+ pointer-events: none;
60
+ z-index: var(--z-scrollbar-gutter-border, 925);
61
+ }
62
+
63
+ body[data-mobile-sidebar-open="true"],
64
+ body[data-tbf-sidebar-open="true"] {
65
+ overflow: hidden;
66
+ }
67
+
68
+ ::selection {
69
+ color: var(--tbf-selection-text, var(--gray-200, #fff));
70
+ background-color: var(--tbf-selection-bg, color-mix(in srgb, var(--gray-500, #888) 50%, transparent)) !important;
71
+ }
72
+
73
+ h1,
74
+ h2,
75
+ h3,
76
+ h4,
77
+ h5,
78
+ h6 {
79
+ margin: 0 !important;
80
+ font-family: var(--tbf-font-sans, "Inter", sans-serif);
81
+ font-weight: var(--tbf-heading-font-weight, 500) !important;
82
+ cursor: default;
83
+ }
84
+
85
+ h1 {
86
+ font-size: 2.25rem !important;
87
+ }
88
+
89
+ h2 {
90
+ font-size: 1.8rem !important;
91
+ }
92
+
93
+ h3 {
94
+ font-size: 1.55rem !important;
95
+ }
96
+
97
+ h4 {
98
+ font-size: 1.35rem !important;
99
+ }
100
+
101
+ h5 {
102
+ font-size: 1.15rem !important;
103
+ }
104
+
105
+ h6 {
106
+ font-size: 0.95rem !important;
107
+ }
108
+
109
+ @media (max-width: 640px) {
110
+ h1 {
111
+ font-size: 2rem !important;
112
+ }
113
+
114
+ h2 {
115
+ font-size: 1.65rem !important;
116
+ }
117
+
118
+ h3 {
119
+ font-size: 1.45rem !important;
120
+ }
121
+
122
+ h4 {
123
+ font-size: 1.25rem !important;
124
+ }
125
+ }
126
+
127
+ p {
128
+ font-size: 16px;
129
+ font-weight: 400;
130
+ cursor: default;
131
+ }
132
+
133
+ @media (max-width: 769px) {
134
+ p {
135
+ font-size: 15px;
136
+ }
137
+ }
138
+
139
+ span {
140
+ color: inherit;
141
+ }
142
+
143
+ hr {
144
+ width: 100%;
145
+ height: var(--tbf-border-width, 1px);
146
+ border: 0;
147
+ background-color: var(--tbf-border, #000);
148
+ }
149
+
150
+ a {
151
+ color: var(--tbf-link-color, var(--tbf-text, #000));
152
+ text-decoration: none;
153
+ }
154
+
155
+ img {
156
+ -webkit-user-drag: none;
157
+ pointer-events: auto;
158
+ }
159
+
160
+ form {
161
+ transition:
162
+ background-color 0.3s ease,
163
+ border-color 0.3s ease,
164
+ box-shadow 0.3s ease;
165
+ }
166
+
167
+ i {
168
+ font-weight: 100 !important;
169
+ }
170
+
171
+ .icon-glyph {
172
+ display: inline-flex;
173
+ flex-shrink: 0;
174
+ align-items: center;
175
+ justify-content: center;
176
+ line-height: 1;
177
+ vertical-align: middle;
178
+ }
179
+
180
+ .icon-glyph > svg {
181
+ display: block;
182
+ width: 1em;
183
+ height: 1em;
184
+ }
185
+
186
+ summary {
187
+ cursor: pointer;
188
+ -webkit-user-select: none;
189
+ user-select: none;
190
+ }
191
+
192
+ ul {
193
+ list-style-type: none;
194
+ }
195
+
1
196
  .is-hidden,
2
197
  [hidden] {
3
198
  display: none !important;
@@ -30,6 +225,9 @@
30
225
  --tbf-scroll-min-size: 6px;
31
226
  --tbf-scroll-min-track: var(--scroll-track, #fff);
32
227
  --tbf-scroll-min-thumb: var(--scroll-thumb, #000);
228
+ --tbf-scroll-min-thumb-hover: var(--scroll-thumb-hover, var(--tbf-scroll-min-thumb));
229
+ --scroll-min-horizontal-gap: 6px;
230
+ --scroll-min-size: var(--tbf-scroll-min-size);
33
231
 
34
232
  &::-webkit-scrollbar {
35
233
  width: var(--tbf-scroll-min-size);
@@ -44,6 +242,16 @@
44
242
  border-radius: var(--tbf-radius, 0);
45
243
  background-color: var(--tbf-scroll-min-thumb);
46
244
  }
245
+
246
+ &::-webkit-scrollbar-thumb:hover {
247
+ background-color: var(--tbf-scroll-min-thumb-hover);
248
+ }
249
+
250
+ &[data-scroll-overflow-x="true"] {
251
+ padding-bottom: calc(
252
+ var(--scroll-min-padding-bottom, 0px) + var(--scroll-min-horizontal-gap)
253
+ );
254
+ }
47
255
  }
48
256
 
49
257
  .inline-row {
@@ -58,6 +266,10 @@
58
266
  max-width: 100%;
59
267
  }
60
268
 
269
+ &.wrap {
270
+ flex-wrap: wrap;
271
+ }
272
+
61
273
  &.top {
62
274
  align-items: flex-start;
63
275
  }
@@ -74,6 +286,10 @@
74
286
  }
75
287
  }
76
288
 
289
+ &.between {
290
+ justify-content: space-between;
291
+ }
292
+
77
293
  &.scroll-x {
78
294
  @extend .scroll-min;
79
295
 
@@ -84,6 +300,11 @@
84
300
  > * {
85
301
  flex: 0 0 auto;
86
302
  }
303
+
304
+ > :where(.input, input, textarea, select, [data-dropdown]) {
305
+ width: var(--inline-row-scroll-field-width, 18rem);
306
+ min-width: var(--inline-row-scroll-field-width, 18rem);
307
+ }
87
308
  }
88
309
 
89
310
  > .right {
@@ -100,6 +321,14 @@
100
321
  }
101
322
  }
102
323
 
324
+ .align-center {
325
+ align-items: center;
326
+ }
327
+
328
+ .justify-between {
329
+ justify-content: space-between;
330
+ }
331
+
103
332
  .column {
104
333
  display: flex;
105
334
  min-width: 0;
@@ -138,6 +367,10 @@
138
367
  }
139
368
  }
140
369
 
370
+ .gap-xs2 {
371
+ gap: var(--tbf-gap-xs2);
372
+ }
373
+
141
374
  .gap-xs {
142
375
  gap: var(--tbf-gap-xs);
143
376
  }
@@ -158,6 +391,10 @@
158
391
  margin-top: var(--tbf-gap-xs);
159
392
  }
160
393
 
394
+ .mt-xs2 {
395
+ margin-top: var(--tbf-gap-xs2);
396
+ }
397
+
161
398
  .mt-sm {
162
399
  margin-top: var(--tbf-gap-sm);
163
400
  }
@@ -174,6 +411,10 @@
174
411
  margin-bottom: var(--tbf-gap-xs);
175
412
  }
176
413
 
414
+ .mb-xs2 {
415
+ margin-bottom: var(--tbf-gap-xs2);
416
+ }
417
+
177
418
  .mb-sm {
178
419
  margin-bottom: var(--tbf-gap-sm);
179
420
  }
@@ -200,6 +441,23 @@
200
441
  color: var(--tbf-text-muted, #000);
201
442
  }
202
443
 
444
+ .text-xs {
445
+ font-size: 12px;
446
+ }
447
+
448
+ .text-sm,
449
+ .text-small {
450
+ font-size: 14px;
451
+ }
452
+
453
+ .text-md {
454
+ font-size: 16px;
455
+ }
456
+
457
+ .text-lg {
458
+ font-size: 20px;
459
+ }
460
+
203
461
  .text-break {
204
462
  min-width: 0;
205
463
  max-width: 100%;
@@ -218,3 +476,224 @@
218
476
  -webkit-user-select: none;
219
477
  user-select: none;
220
478
  }
479
+
480
+ .ml-xs {
481
+ margin-left: var(--tbf-gap-xs);
482
+ }
483
+
484
+ .ml-xs2 {
485
+ margin-left: var(--tbf-gap-xs2);
486
+ }
487
+
488
+ .ml-sm {
489
+ margin-left: var(--tbf-gap-sm);
490
+ }
491
+
492
+ .ml-md {
493
+ margin-left: var(--tbf-gap-md);
494
+ }
495
+
496
+ .ml-lg {
497
+ margin-left: var(--tbf-gap-lg);
498
+ }
499
+
500
+ .mr-xs {
501
+ margin-right: var(--tbf-gap-xs);
502
+ }
503
+
504
+ .mr-xs2 {
505
+ margin-right: var(--tbf-gap-xs2);
506
+ }
507
+
508
+ .mr-sm {
509
+ margin-right: var(--tbf-gap-sm);
510
+ }
511
+
512
+ .mr-md {
513
+ margin-right: var(--tbf-gap-md);
514
+ }
515
+
516
+ .mr-lg {
517
+ margin-right: var(--tbf-gap-lg);
518
+ }
519
+
520
+ .border {
521
+ border: var(--tbf-border-width) solid var(--tbf-border);
522
+ }
523
+
524
+ .border-0 {
525
+ border: 0;
526
+ }
527
+
528
+ .border-top {
529
+ border-top: var(--tbf-border-width) solid var(--tbf-border);
530
+ }
531
+
532
+ .border-bottom {
533
+ border-bottom: var(--tbf-border-width) solid var(--tbf-border);
534
+ }
535
+
536
+ .border-left {
537
+ border-left: var(--tbf-border-width) solid var(--tbf-border);
538
+ }
539
+
540
+ .border-right {
541
+ border-right: var(--tbf-border-width) solid var(--tbf-border);
542
+ }
543
+
544
+ .border-block {
545
+ border-block: var(--tbf-border-width) solid var(--tbf-border);
546
+ }
547
+
548
+ .border-inline {
549
+ border-inline: var(--tbf-border-width) solid var(--tbf-border);
550
+ }
551
+
552
+ $tbf-hor-alignments: (
553
+ left: flex-start,
554
+ center: center,
555
+ right: flex-end,
556
+ );
557
+
558
+ @each $name, $value in $tbf-hor-alignments {
559
+ .hor-#{$name} {
560
+ justify-content: $value;
561
+
562
+ &.column,
563
+ &.left-column,
564
+ &.right-column,
565
+ &.middle-column {
566
+ align-items: $value;
567
+ justify-content: flex-start;
568
+ }
569
+ }
570
+
571
+ .hor-#{$name}-child {
572
+ @if $name == left {
573
+ align-self: flex-start;
574
+ margin-right: auto;
575
+ } @else if $name == center {
576
+ align-self: center;
577
+ margin-left: auto;
578
+ margin-right: auto;
579
+ } @else if $name == right {
580
+ align-self: flex-end;
581
+ margin-left: auto;
582
+ }
583
+ }
584
+ }
585
+
586
+ .hor-apart {
587
+ justify-content: space-between;
588
+ }
589
+
590
+ .ver-center {
591
+ display: flex;
592
+ align-items: center;
593
+ }
594
+
595
+ .ver-bottom {
596
+ display: flex;
597
+ align-items: flex-end;
598
+ }
599
+
600
+ .ver-center-child {
601
+ margin-top: auto;
602
+ margin-bottom: auto;
603
+ }
604
+
605
+ .ver-bottom-child {
606
+ margin-top: auto;
607
+ }
608
+
609
+ .ver-xs {
610
+ margin-top: var(--tbf-gap-xs2);
611
+ }
612
+
613
+ .ver-sm {
614
+ margin-top: var(--tbf-gap-xs);
615
+ }
616
+
617
+ .ver-md {
618
+ margin-top: var(--tbf-gap-sm);
619
+ }
620
+
621
+ .ver-lg {
622
+ margin-top: var(--tbf-gap-md);
623
+ }
624
+
625
+ .no-stretch {
626
+ flex: 0 0 auto;
627
+ width: auto;
628
+ max-width: fit-content;
629
+ }
630
+
631
+ .no-shrink {
632
+ flex-shrink: 0;
633
+ }
634
+
635
+ @media (max-width: 900px) {
636
+ .inline-row.mobile-wrap {
637
+ flex-wrap: wrap;
638
+
639
+ > .column {
640
+ flex-basis: 100%;
641
+ width: 100%;
642
+ }
643
+ }
644
+ }
645
+
646
+ .text-break-word {
647
+ min-width: 0;
648
+ max-width: 100%;
649
+ white-space: normal;
650
+ overflow-wrap: break-word;
651
+ word-break: normal;
652
+ hyphens: auto;
653
+ }
654
+
655
+ .font-italic {
656
+ font-style: italic;
657
+ }
658
+
659
+ .font-mono {
660
+ font-family:
661
+ ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono",
662
+ "Courier New", monospace;
663
+ word-break: break-all;
664
+ }
665
+
666
+ .font-bold {
667
+ font-weight: bold;
668
+ }
669
+
670
+ .label {
671
+ color: var(--tbf-text-muted, #000);
672
+ font-size: 14px;
673
+ }
674
+
675
+ .bg-canvas {
676
+ background: var(--tbf-canvas-bg, var(--dot-grid)) !important;
677
+ }
678
+
679
+ .pre-wrap {
680
+ white-space: pre-wrap !important;
681
+ }
682
+
683
+ .bg-transparent {
684
+ background-color: transparent;
685
+ }
686
+
687
+ .cursor-pointer {
688
+ cursor: pointer;
689
+ }
690
+
691
+ .cursor-auto {
692
+ cursor: auto;
693
+ }
694
+
695
+ .cursor-disabled,
696
+ .disabled,
697
+ [disabled] {
698
+ cursor: not-allowed;
699
+ }