banhaten 0.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 (201) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +361 -0
  3. package/banhaten.config.example.json +13 -0
  4. package/package.json +59 -0
  5. package/registry/assets/activity-feed-avatar.png +0 -0
  6. package/registry/assets/avatars/avatar-01.jpg +0 -0
  7. package/registry/assets/avatars/avatar-02.jpg +0 -0
  8. package/registry/assets/avatars/avatar-03.jpg +0 -0
  9. package/registry/assets/avatars/avatar-04.jpg +0 -0
  10. package/registry/assets/avatars/avatar-05.jpg +0 -0
  11. package/registry/assets/avatars/avatar-06.jpg +0 -0
  12. package/registry/assets/avatars/avatar-07.jpg +0 -0
  13. package/registry/assets/avatars/avatar-08.jpg +0 -0
  14. package/registry/assets/avatars/avatar-09.jpg +0 -0
  15. package/registry/assets/avatars/avatar-10.jpg +0 -0
  16. package/registry/assets/avatars/avatar-11.jpg +0 -0
  17. package/registry/assets/avatars/avatar-12.jpg +0 -0
  18. package/registry/assets/avatars/avatar-13.jpg +0 -0
  19. package/registry/assets/avatars/avatar-14.jpg +0 -0
  20. package/registry/assets/avatars/avatar-15.jpg +0 -0
  21. package/registry/assets/avatars/avatar-16.jpg +0 -0
  22. package/registry/assets/avatars/avatar-17.jpg +0 -0
  23. package/registry/assets/avatars/avatar-18.jpg +0 -0
  24. package/registry/assets/avatars/avatar-19.jpg +0 -0
  25. package/registry/assets/avatars/avatar-20.jpg +0 -0
  26. package/registry/assets/avatars/avatar-21.jpg +0 -0
  27. package/registry/assets/avatars/avatar-22.jpg +0 -0
  28. package/registry/assets/avatars/avatar-23.jpg +0 -0
  29. package/registry/assets/avatars/avatar-24.jpg +0 -0
  30. package/registry/assets/avatars/avatar-25.jpg +0 -0
  31. package/registry/assets/avatars/avatar-26.jpg +0 -0
  32. package/registry/assets/avatars/avatar-27.jpg +0 -0
  33. package/registry/assets/avatars/avatar-28.jpg +0 -0
  34. package/registry/assets/avatars/avatar-29.jpg +0 -0
  35. package/registry/assets/avatars/avatar-30.jpg +0 -0
  36. package/registry/assets/avatars/avatar-31.jpg +0 -0
  37. package/registry/assets/avatars/avatar-32.jpg +0 -0
  38. package/registry/assets/avatars/avatar-33.jpg +0 -0
  39. package/registry/assets/avatars/avatar-34.jpg +0 -0
  40. package/registry/assets/avatars/avatar-35.jpg +0 -0
  41. package/registry/assets/image-assets.json +744 -0
  42. package/registry/assets/images/art-01.jpg +0 -0
  43. package/registry/assets/images/art-02.jpg +0 -0
  44. package/registry/assets/images/art-03.jpg +0 -0
  45. package/registry/assets/images/art-04.jpg +0 -0
  46. package/registry/assets/images/art-05.jpg +0 -0
  47. package/registry/assets/images/art-06.jpg +0 -0
  48. package/registry/assets/images/art-07.jpg +0 -0
  49. package/registry/assets/images/art-08.jpg +0 -0
  50. package/registry/assets/images/art-09.jpg +0 -0
  51. package/registry/assets/images/art-10.jpg +0 -0
  52. package/registry/assets/images/art-11.jpg +0 -0
  53. package/registry/assets/images/art-12.jpg +0 -0
  54. package/registry/assets/images/art-13.jpg +0 -0
  55. package/registry/assets/images/art-14.jpg +0 -0
  56. package/registry/assets/images/art-15.jpg +0 -0
  57. package/registry/assets/images/art-16.jpg +0 -0
  58. package/registry/assets/images/art-17.jpg +0 -0
  59. package/registry/assets/images/art-18.jpg +0 -0
  60. package/registry/assets/images/art-19.jpg +0 -0
  61. package/registry/assets/images/art-20.jpg +0 -0
  62. package/registry/assets/images/art-21.jpg +0 -0
  63. package/registry/assets/images/art-22.jpg +0 -0
  64. package/registry/assets/images/art-23.jpg +0 -0
  65. package/registry/assets/images/art-24.jpg +0 -0
  66. package/registry/assets/images/art-25.jpg +0 -0
  67. package/registry/assets/images/art-26.jpg +0 -0
  68. package/registry/assets/images/art-27.jpg +0 -0
  69. package/registry/assets/images/nature-01.jpg +0 -0
  70. package/registry/assets/images/nature-02.jpg +0 -0
  71. package/registry/assets/images/nature-03.jpg +0 -0
  72. package/registry/assets/images/nature-04.jpg +0 -0
  73. package/registry/assets/images/nature-05.jpg +0 -0
  74. package/registry/assets/images/nature-06.jpg +0 -0
  75. package/registry/assets/images/nature-07.jpg +0 -0
  76. package/registry/assets/images/nature-08.jpg +0 -0
  77. package/registry/assets/images/nature-09.jpg +0 -0
  78. package/registry/assets/images/nature-10.jpg +0 -0
  79. package/registry/assets/images/nature-11.jpg +0 -0
  80. package/registry/assets/images/nature-12.jpg +0 -0
  81. package/registry/assets/images/nature-13.jpg +0 -0
  82. package/registry/assets/images/nature-14.jpg +0 -0
  83. package/registry/assets/images/nature-15.jpg +0 -0
  84. package/registry/assets/images/nature-16.jpg +0 -0
  85. package/registry/assets/images/nature-17.jpg +0 -0
  86. package/registry/assets/images/nature-18.jpg +0 -0
  87. package/registry/assets/images/nature-19.jpg +0 -0
  88. package/registry/assets/images/nature-20.jpg +0 -0
  89. package/registry/components/accordion.tsx +119 -0
  90. package/registry/components/alert.tsx +282 -0
  91. package/registry/components/attribute.tsx +452 -0
  92. package/registry/components/avatar.tsx +142 -0
  93. package/registry/components/badge.tsx +567 -0
  94. package/registry/components/button-group.tsx +246 -0
  95. package/registry/components/button.tsx +102 -0
  96. package/registry/components/card.tsx +613 -0
  97. package/registry/components/checkbox.tsx +244 -0
  98. package/registry/components/date-picker.tsx +1143 -0
  99. package/registry/components/divider.tsx +82 -0
  100. package/registry/components/expanded/ActivityFeed.tsx +226 -0
  101. package/registry/components/expanded/Banner.tsx +145 -0
  102. package/registry/components/expanded/BannerBoard.tsx +225 -0
  103. package/registry/components/expanded/Breadcrumbs.tsx +156 -0
  104. package/registry/components/expanded/CatalogComponentsShowcase.tsx +211 -0
  105. package/registry/components/expanded/CatalogDivider.tsx +48 -0
  106. package/registry/components/expanded/CatalogTag.tsx +92 -0
  107. package/registry/components/expanded/CommandBar.tsx +406 -0
  108. package/registry/components/expanded/FileUpload.tsx +231 -0
  109. package/registry/components/expanded/IconExplorer.tsx +612 -0
  110. package/registry/components/expanded/OnboardingStepListItem.tsx +67 -0
  111. package/registry/components/expanded/PageHeader.tsx +184 -0
  112. package/registry/components/expanded/Slideout.tsx +514 -0
  113. package/registry/components/expanded/Steps.tsx +266 -0
  114. package/registry/components/expanded/Table.tsx +1014 -0
  115. package/registry/components/expanded/Tabs.tsx +86 -0
  116. package/registry/components/expanded/Timeline.tsx +235 -0
  117. package/registry/components/expanded/TimelineShowcase.tsx +158 -0
  118. package/registry/components/expanded/activityFeed.css +292 -0
  119. package/registry/components/expanded/banner.css +312 -0
  120. package/registry/components/expanded/breadcrumbs.css +140 -0
  121. package/registry/components/expanded/catalogComponentsShowcase.css +87 -0
  122. package/registry/components/expanded/commandBar.css +473 -0
  123. package/registry/components/expanded/divider.css +75 -0
  124. package/registry/components/expanded/fileUpload.css +228 -0
  125. package/registry/components/expanded/iconExplorer.css +764 -0
  126. package/registry/components/expanded/iconPacks.ts +866 -0
  127. package/registry/components/expanded/onboardingStepListItem.css +126 -0
  128. package/registry/components/expanded/pageHeader.css +287 -0
  129. package/registry/components/expanded/slideout.css +955 -0
  130. package/registry/components/expanded/steps.css +329 -0
  131. package/registry/components/expanded/table.css +607 -0
  132. package/registry/components/expanded/tabs.css +197 -0
  133. package/registry/components/expanded/tag.css +148 -0
  134. package/registry/components/expanded/timeline.css +282 -0
  135. package/registry/components/input-content.ts +106 -0
  136. package/registry/components/input.tsx +866 -0
  137. package/registry/components/menu.tsx +758 -0
  138. package/registry/components/modal.tsx +799 -0
  139. package/registry/components/pagination.tsx +543 -0
  140. package/registry/components/progress-slider.tsx +216 -0
  141. package/registry/components/progress.tsx +367 -0
  142. package/registry/components/radio-card.tsx +654 -0
  143. package/registry/components/radio-group.tsx +570 -0
  144. package/registry/components/select-content.tsx +313 -0
  145. package/registry/components/select.tsx +871 -0
  146. package/registry/components/slider.tsx +380 -0
  147. package/registry/components/social-button.tsx +360 -0
  148. package/registry/components/spinner.tsx +31 -0
  149. package/registry/components/tag.tsx +423 -0
  150. package/registry/components/textarea.tsx +625 -0
  151. package/registry/components/toggle.tsx +272 -0
  152. package/registry/components/toolbar.tsx +467 -0
  153. package/registry/components/tooltip.tsx +427 -0
  154. package/registry/examples/accordion-demo.tsx +34 -0
  155. package/registry/examples/alert-demo.tsx +14 -0
  156. package/registry/examples/attribute-demo.tsx +65 -0
  157. package/registry/examples/avatar-demo.tsx +74 -0
  158. package/registry/examples/badge-demo.tsx +53 -0
  159. package/registry/examples/button-demo.tsx +83 -0
  160. package/registry/examples/button-group-demo.tsx +42 -0
  161. package/registry/examples/card-demo.tsx +48 -0
  162. package/registry/examples/checkbox-demo.tsx +67 -0
  163. package/registry/examples/date-picker-demo.tsx +74 -0
  164. package/registry/examples/divider-demo.tsx +17 -0
  165. package/registry/examples/expanded/activity-feed-demo.tsx +22 -0
  166. package/registry/examples/expanded/banner-demo.tsx +23 -0
  167. package/registry/examples/expanded/catalog-components-demo.tsx +5 -0
  168. package/registry/examples/expanded/command-bar-demo.tsx +10 -0
  169. package/registry/examples/expanded/icons-demo.tsx +5 -0
  170. package/registry/examples/expanded/onboarding-step-demo.tsx +11 -0
  171. package/registry/examples/expanded/page-header-demo.tsx +19 -0
  172. package/registry/examples/expanded/slideout-demo.tsx +15 -0
  173. package/registry/examples/expanded/steps-demo.tsx +18 -0
  174. package/registry/examples/expanded/tabs-demo.tsx +13 -0
  175. package/registry/examples/expanded/timeline-demo.tsx +18 -0
  176. package/registry/examples/input-demo.tsx +87 -0
  177. package/registry/examples/menu-demo.tsx +109 -0
  178. package/registry/examples/modal-demo.tsx +16 -0
  179. package/registry/examples/pagination-demo.tsx +17 -0
  180. package/registry/examples/progress-demo.tsx +37 -0
  181. package/registry/examples/progress-slider-demo.tsx +29 -0
  182. package/registry/examples/radio-card-demo.tsx +51 -0
  183. package/registry/examples/radio-group-demo.tsx +62 -0
  184. package/registry/examples/select-demo.tsx +73 -0
  185. package/registry/examples/slider-demo.tsx +31 -0
  186. package/registry/examples/social-button-demo.tsx +51 -0
  187. package/registry/examples/tag-demo.tsx +29 -0
  188. package/registry/examples/textarea-demo.tsx +79 -0
  189. package/registry/examples/toggle-demo.tsx +59 -0
  190. package/registry/examples/toolbar-demo.tsx +80 -0
  191. package/registry/examples/tooltip-demo.tsx +115 -0
  192. package/registry/hooks/use-direction.ts +27 -0
  193. package/registry/index.json +1213 -0
  194. package/registry/styles/globals.css +4600 -0
  195. package/registry/utils/cn.ts +6 -0
  196. package/src/cli/index.js +826 -0
  197. package/tokens/Color mode.zip +0 -0
  198. package/tokens/Numbers.zip +0 -0
  199. package/tokens/Radius.zip +0 -0
  200. package/tokens/Theme.zip +0 -0
  201. package/tokens/banhaten.tokens.json +5525 -0
@@ -0,0 +1,607 @@
1
+ .ds-data-table {
2
+ box-sizing: border-box;
3
+ width: 100%;
4
+ min-width: 0;
5
+ display: grid;
6
+ gap: var(--bh-space-xl-12);
7
+ color: var(--bh-content-default);
8
+ font-family: var(--bh-font-family);
9
+ letter-spacing: 0;
10
+ }
11
+
12
+ .ds-data-table *,
13
+ .ds-data-table *::before,
14
+ .ds-data-table *::after {
15
+ box-sizing: border-box;
16
+ }
17
+
18
+ .ds-data-table__header {
19
+ display: flex;
20
+ align-items: flex-start;
21
+ justify-content: space-between;
22
+ gap: var(--bh-space-3xl-16);
23
+ flex-wrap: wrap;
24
+ }
25
+
26
+ .ds-data-table__heading {
27
+ min-width: 0;
28
+ flex: 1 1 var(--bh-space-19xl-384);
29
+ display: grid;
30
+ gap: var(--bh-space-xs-4);
31
+ }
32
+
33
+ .ds-data-table__heading h2,
34
+ .ds-data-table__heading p {
35
+ margin: 0;
36
+ }
37
+
38
+ .ds-data-table__heading h2 {
39
+ color: var(--bh-content-default);
40
+ font-size: var(--bh-text-body-lg-semibold-font-size);
41
+ font-weight: var(--bh-text-body-lg-semibold-font-weight);
42
+ line-height: var(--bh-text-body-lg-semibold-line-height);
43
+ }
44
+
45
+ .ds-data-table__heading p {
46
+ color: var(--bh-content-subtle);
47
+ font-size: var(--bh-text-body-sm-regular-font-size);
48
+ font-weight: var(--bh-text-body-sm-regular-font-weight);
49
+ line-height: var(--bh-text-body-sm-regular-line-height);
50
+ }
51
+
52
+ .ds-data-table__actions,
53
+ .ds-data-table__state-action {
54
+ display: flex;
55
+ align-items: center;
56
+ justify-content: flex-end;
57
+ gap: var(--bh-space-md-8);
58
+ flex-wrap: wrap;
59
+ }
60
+
61
+ .ds-data-table__toolbar {
62
+ min-width: 0;
63
+ align-items: center;
64
+ }
65
+
66
+ .ds-data-table__toolbar [data-slot="toolbar-section"] {
67
+ min-width: 0;
68
+ }
69
+
70
+ .ds-data-table__toolbar [data-slot="toolbar-search"] {
71
+ flex: 1 1 var(--bh-space-19xl-384);
72
+ min-width: var(--bh-space-16xl-256);
73
+ }
74
+
75
+ .ds-data-table__body {
76
+ min-width: 0;
77
+ display: grid;
78
+ }
79
+
80
+ .ds-data-table__state {
81
+ min-height: var(--bh-space-12xl-128);
82
+ display: grid;
83
+ place-items: center;
84
+ gap: var(--bh-space-xl-12);
85
+ border: var(--bh-space-xxxs-1) solid var(--bh-border-subtle);
86
+ border-top: 0;
87
+ border-radius: 0 0 var(--bh-radius-lg-8) var(--bh-radius-lg-8);
88
+ margin-top: calc(-1 * var(--bh-space-xxxs-1));
89
+ background: var(--bh-bg-default);
90
+ padding: var(--bh-space-6xl-32);
91
+ text-align: center;
92
+ }
93
+
94
+ .ds-data-table__state-copy {
95
+ min-width: 0;
96
+ display: grid;
97
+ justify-items: center;
98
+ gap: var(--bh-space-xs-4);
99
+ color: var(--bh-content-subtle);
100
+ }
101
+
102
+ .ds-data-table__state-copy strong {
103
+ color: var(--bh-content-default);
104
+ font-size: var(--bh-text-body-md-semibold-font-size);
105
+ font-weight: var(--bh-text-body-md-semibold-font-weight);
106
+ line-height: var(--bh-text-body-md-semibold-line-height);
107
+ }
108
+
109
+ .ds-data-table__state-copy p {
110
+ max-width: var(--bh-space-19xl-384);
111
+ margin: 0;
112
+ color: var(--bh-content-subtle);
113
+ font-size: var(--bh-text-body-sm-regular-font-size);
114
+ line-height: var(--bh-text-body-sm-regular-line-height);
115
+ }
116
+
117
+ .ds-data-table__state--danger .ds-data-table__state-copy strong {
118
+ color: var(--bh-content-danger-strong);
119
+ }
120
+
121
+ .ds-data-table__spinner {
122
+ width: var(--bh-space-4xl-20);
123
+ height: var(--bh-space-4xl-20);
124
+ }
125
+
126
+ .ds-data-table__footer {
127
+ min-width: 0;
128
+ display: flex;
129
+ align-items: center;
130
+ justify-content: space-between;
131
+ gap: var(--bh-space-3xl-16);
132
+ flex-wrap: wrap;
133
+ }
134
+
135
+ .ds-table-wrap {
136
+ box-sizing: border-box;
137
+ width: 100%;
138
+ overflow: auto;
139
+ border: var(--bh-space-xxxs-1) solid var(--bh-border-subtle);
140
+ border-radius: var(--bh-radius-lg-8);
141
+ background: var(--bh-bg-default);
142
+ color: var(--bh-content-default);
143
+ font-family: var(--bh-font-family);
144
+ letter-spacing: 0;
145
+ }
146
+
147
+ .ds-table-wrap *,
148
+ .ds-table-wrap *::before,
149
+ .ds-table-wrap *::after {
150
+ box-sizing: border-box;
151
+ }
152
+
153
+ .ds-table {
154
+ width: 100%;
155
+ min-width: var(--bh-table-min-width);
156
+ border-collapse: collapse;
157
+ table-layout: fixed;
158
+ }
159
+
160
+ .ds-table th {
161
+ height: calc(var(--bh-space-7xl-40) + var(--bh-space-xs-4));
162
+ background: var(--bh-bg-muted);
163
+ color: var(--bh-content-subtle);
164
+ font-size: var(--bh-text-body-xs-regular-font-size);
165
+ font-weight: var(--bh-font-weight-semibold);
166
+ line-height: var(--bh-text-body-sm-regular-line-height);
167
+ text-align: start;
168
+ }
169
+
170
+ .ds-table td {
171
+ height: var(--bh-space-8xl-48);
172
+ border-top: var(--bh-space-xxxs-1) solid var(--bh-border-subtle);
173
+ color: var(--bh-content-default);
174
+ font-size: var(--bh-text-body-sm-regular-font-size);
175
+ line-height: var(--bh-text-body-sm-regular-line-height);
176
+ }
177
+
178
+ .ds-table-wrap--lg .ds-table td {
179
+ height: calc(var(--bh-space-8xl-48) + var(--bh-space-md-8));
180
+ }
181
+
182
+ .ds-table__cell {
183
+ overflow: hidden;
184
+ padding: 0 var(--bh-space-md-8);
185
+ vertical-align: middle;
186
+ }
187
+
188
+ .ds-table__cell--fill {
189
+ width: auto;
190
+ }
191
+
192
+ .ds-table__cell--selection,
193
+ .ds-table__cell--actions {
194
+ text-align: center;
195
+ }
196
+
197
+ .ds-table__cell--center {
198
+ text-align: center;
199
+ }
200
+
201
+ .ds-table__cell--end {
202
+ text-align: end;
203
+ }
204
+
205
+ .ds-table__row:hover:not(.ds-table__row--disabled) {
206
+ background: var(--bh-interactive-ghost-hover);
207
+ }
208
+
209
+ .ds-table__row--selected {
210
+ background: var(--bh-bg-brand-soft);
211
+ }
212
+
213
+ .ds-table__row--disabled {
214
+ color: var(--bh-content-muted);
215
+ opacity: var(--bh-opacity-muted);
216
+ }
217
+
218
+ .ds-table__sort {
219
+ width: 100%;
220
+ min-height: var(--bh-space-6xl-32);
221
+ border: 0;
222
+ display: inline-flex;
223
+ align-items: center;
224
+ justify-content: flex-start;
225
+ gap: var(--bh-space-xs-4);
226
+ background: transparent;
227
+ color: inherit;
228
+ padding: 0;
229
+ font: inherit;
230
+ cursor: pointer;
231
+ }
232
+
233
+ .ds-table__sort svg {
234
+ width: var(--bh-space-3xl-16);
235
+ height: var(--bh-space-3xl-16);
236
+ flex: 0 0 auto;
237
+ color: var(--bh-content-muted);
238
+ }
239
+
240
+ .ds-table__sort--asc,
241
+ .ds-table__sort--desc {
242
+ color: var(--bh-content-default);
243
+ }
244
+
245
+ .ds-table__sort--asc svg,
246
+ .ds-table__sort--desc svg {
247
+ color: var(--bh-content-brand-default);
248
+ }
249
+
250
+ .ds-table__sort--static {
251
+ cursor: default;
252
+ }
253
+
254
+ .ds-table__sort--static svg {
255
+ color: var(--bh-content-muted);
256
+ }
257
+
258
+ .ds-table-checkbox {
259
+ position: relative;
260
+ width: calc(var(--bh-space-3xl-16) + var(--bh-space-xxs-2));
261
+ height: calc(var(--bh-space-3xl-16) + var(--bh-space-xxs-2));
262
+ display: inline-grid;
263
+ place-items: center;
264
+ color: var(--bh-content-on-brand);
265
+ }
266
+
267
+ .ds-table-checkbox input {
268
+ position: absolute;
269
+ inset: 0;
270
+ width: calc(var(--bh-space-3xl-16) + var(--bh-space-xxs-2));
271
+ height: calc(var(--bh-space-3xl-16) + var(--bh-space-xxs-2));
272
+ margin: 0;
273
+ opacity: var(--bh-opacity-0);
274
+ cursor: pointer;
275
+ }
276
+
277
+ .ds-table-checkbox span {
278
+ width: calc(var(--bh-space-3xl-16) + var(--bh-space-xxs-2));
279
+ height: calc(var(--bh-space-3xl-16) + var(--bh-space-xxs-2));
280
+ border: var(--bh-space-xxxs-1) solid var(--bh-border-default);
281
+ border-radius: var(--bh-radius-sm-4);
282
+ display: grid;
283
+ place-items: center;
284
+ background: var(--bh-bg-default);
285
+ }
286
+
287
+ .ds-table-checkbox svg {
288
+ width: var(--bh-space-2xl-14);
289
+ height: var(--bh-space-2xl-14);
290
+ opacity: var(--bh-opacity-0);
291
+ }
292
+
293
+ .ds-table-checkbox input:checked + span,
294
+ .ds-table-checkbox input:indeterminate + span {
295
+ border-color: var(--bh-border-brand-strong);
296
+ background: var(--bh-bg-brand-default);
297
+ }
298
+
299
+ .ds-table-checkbox input:checked + span svg,
300
+ .ds-table-checkbox input:indeterminate + span svg {
301
+ opacity: var(--bh-opacity-100);
302
+ }
303
+
304
+ .ds-table-checkbox input:focus-visible + span {
305
+ outline: var(--bh-space-xxs-2) solid var(--bh-border-focus);
306
+ outline-offset: var(--bh-space-xxs-2);
307
+ }
308
+
309
+ .ds-table-item-text,
310
+ .ds-table-avatar-text,
311
+ .ds-table-icon-label {
312
+ min-width: 0;
313
+ overflow: hidden;
314
+ text-overflow: ellipsis;
315
+ white-space: nowrap;
316
+ }
317
+
318
+ .ds-table-item-text--subtle {
319
+ color: var(--bh-content-subtle);
320
+ }
321
+
322
+ .ds-table-item-text--medium {
323
+ font-weight: var(--bh-font-weight-semibold);
324
+ }
325
+
326
+ .ds-table-avatar-text,
327
+ .ds-table-icon-label {
328
+ display: inline-flex;
329
+ align-items: center;
330
+ gap: var(--bh-space-md-8);
331
+ }
332
+
333
+ .ds-table-avatar-text > span:last-child {
334
+ min-width: 0;
335
+ display: grid;
336
+ gap: var(--bh-space-xxxs-1);
337
+ }
338
+
339
+ .ds-table-avatar-text strong {
340
+ overflow: hidden;
341
+ font-size: var(--bh-text-body-sm-regular-font-size);
342
+ font-weight: var(--bh-font-weight-semibold);
343
+ line-height: var(--bh-text-body-sm-regular-line-height);
344
+ text-overflow: ellipsis;
345
+ white-space: nowrap;
346
+ }
347
+
348
+ .ds-table-avatar-text em {
349
+ overflow: hidden;
350
+ color: var(--bh-content-muted);
351
+ font-size: var(--bh-text-body-2xs-regular-font-size);
352
+ font-style: normal;
353
+ line-height: var(--bh-text-body-2xs-regular-line-height);
354
+ text-overflow: ellipsis;
355
+ white-space: nowrap;
356
+ }
357
+
358
+ .ds-table-avatar {
359
+ width: calc(var(--bh-space-5xl-24) + var(--bh-space-xs-4));
360
+ height: calc(var(--bh-space-5xl-24) + var(--bh-space-xs-4));
361
+ flex: 0 0 auto;
362
+ display: inline-grid;
363
+ place-items: center;
364
+ border-radius: var(--bh-radius-full);
365
+ background: var(--bh-bg-brand-soft);
366
+ color: var(--bh-content-brand-default);
367
+ font-size: var(--bh-text-body-3xs-regular-font-size);
368
+ font-weight: var(--bh-font-weight-bold);
369
+ }
370
+
371
+ img.ds-table-avatar {
372
+ object-fit: cover;
373
+ }
374
+
375
+ .ds-table-badges,
376
+ .ds-table-tags,
377
+ .ds-table-action-group,
378
+ .ds-table-avatar-stack {
379
+ display: inline-flex;
380
+ align-items: center;
381
+ gap: var(--bh-space-xs-4);
382
+ max-width: 100%;
383
+ }
384
+
385
+ .ds-table-badge,
386
+ .ds-table-tags span {
387
+ min-height: var(--bh-space-5xl-24);
388
+ display: inline-flex;
389
+ align-items: center;
390
+ gap: calc(var(--bh-space-xs-4) + var(--bh-space-xxxs-1));
391
+ border: var(--bh-space-xxxs-1) solid var(--bh-border-subtle);
392
+ border-radius: var(--bh-radius-full);
393
+ background: var(--bh-bg-default);
394
+ color: var(--bh-content-subtle);
395
+ padding: 0 var(--bh-space-md-8);
396
+ font-size: var(--bh-text-body-3xs-regular-font-size);
397
+ font-weight: var(--bh-font-weight-semibold);
398
+ line-height: var(--bh-text-body-3xs-regular-line-height);
399
+ }
400
+
401
+ .ds-table-badge i {
402
+ width: var(--bh-space-sm-6);
403
+ height: var(--bh-space-sm-6);
404
+ border-radius: var(--bh-radius-full);
405
+ background: currentColor;
406
+ }
407
+
408
+ .ds-table-badge--blue {
409
+ background: var(--bh-bg-brand-soft);
410
+ color: var(--bh-content-brand-default);
411
+ }
412
+
413
+ .ds-table-badge--success {
414
+ background: var(--bh-bg-success-subtle);
415
+ color: var(--bh-content-success-default);
416
+ }
417
+
418
+ .ds-table-badge--amber {
419
+ background: var(--bh-bg-warning-subtle);
420
+ color: var(--bh-content-warning-strong);
421
+ }
422
+
423
+ .ds-table-badge--warning {
424
+ background: var(--bh-bg-accent-amber-subtle);
425
+ color: var(--bh-content-accent-amber-strong);
426
+ }
427
+
428
+ .ds-table-badge--danger {
429
+ background: var(--bh-bg-danger-subtle);
430
+ color: var(--bh-content-danger-strong);
431
+ }
432
+
433
+ .ds-table-badge--fuchsia {
434
+ background: var(--bh-bg-accent-fuchsia-subtle);
435
+ color: var(--bh-content-accent-fuchsia-strong);
436
+ }
437
+
438
+ .ds-table-badge--neutral {
439
+ background: var(--bh-bg-neutral-subtle);
440
+ color: var(--bh-content-subtle);
441
+ }
442
+
443
+ .ds-table-progress {
444
+ min-width: var(--bh-table-selection-column-min-width);
445
+ display: inline-grid;
446
+ grid-template-columns: minmax(0, 1fr) auto;
447
+ align-items: center;
448
+ gap: var(--bh-space-md-8);
449
+ }
450
+
451
+ .ds-table-progress > span {
452
+ height: var(--bh-space-md-8);
453
+ overflow: hidden;
454
+ border-radius: var(--bh-radius-full);
455
+ background: var(--bh-bg-muted);
456
+ }
457
+
458
+ .ds-table-progress i {
459
+ height: 100%;
460
+ display: block;
461
+ border-radius: inherit;
462
+ background: var(--bh-content-success-default);
463
+ }
464
+
465
+ .ds-table-progress--brand i {
466
+ background: var(--bh-bg-brand-default);
467
+ }
468
+
469
+ .ds-table-progress em {
470
+ color: var(--bh-content-subtle);
471
+ font-size: var(--bh-text-body-2xs-regular-font-size);
472
+ font-style: normal;
473
+ font-weight: var(--bh-font-weight-semibold);
474
+ }
475
+
476
+ .ds-table-toggle {
477
+ width: calc(var(--bh-space-6xl-32) + var(--bh-space-xxs-2));
478
+ height: var(--bh-space-4xl-20);
479
+ border: 0;
480
+ border-radius: var(--bh-radius-full);
481
+ display: inline-flex;
482
+ align-items: center;
483
+ background: var(--bh-bg-neutral-soft);
484
+ padding: var(--bh-space-xxs-2);
485
+ cursor: pointer;
486
+ }
487
+
488
+ .ds-table-toggle span {
489
+ width: var(--bh-space-3xl-16);
490
+ height: var(--bh-space-3xl-16);
491
+ display: block;
492
+ border-radius: var(--bh-radius-full);
493
+ background: var(--bh-bg-raised);
494
+ transform: translateX(0);
495
+ transition: transform var(--bh-duration-fast) var(--bh-easing-standard);
496
+ }
497
+
498
+ .ds-table-toggle[aria-pressed="true"] {
499
+ background: var(--bh-bg-brand-default);
500
+ }
501
+
502
+ .ds-table-toggle[aria-pressed="true"] span {
503
+ transform: translateX(var(--bh-space-2xl-14));
504
+ }
505
+
506
+ .ds-table-toggle:disabled {
507
+ cursor: not-allowed;
508
+ opacity: var(--bh-opacity-muted);
509
+ }
510
+
511
+ .ds-table-icon-button {
512
+ width: calc(var(--bh-space-5xl-24) + var(--bh-space-xs-4));
513
+ height: calc(var(--bh-space-5xl-24) + var(--bh-space-xs-4));
514
+ border: 0;
515
+ border-radius: var(--bh-control-default);
516
+ display: inline-grid;
517
+ place-items: center;
518
+ background: transparent;
519
+ color: var(--bh-content-subtle);
520
+ padding: 0;
521
+ cursor: pointer;
522
+ }
523
+
524
+ .ds-table-icon-button:hover {
525
+ background: var(--bh-interactive-ghost-hover);
526
+ }
527
+
528
+ .ds-table-icon-button svg,
529
+ .ds-table-icon-label svg {
530
+ width: var(--bh-space-4xl-20);
531
+ height: var(--bh-space-4xl-20);
532
+ }
533
+
534
+ .ds-table-icon-label > span:first-child {
535
+ flex: 0 0 auto;
536
+ display: inline-grid;
537
+ place-items: center;
538
+ }
539
+
540
+ .ds-table-icon-label > span:last-child {
541
+ min-width: 0;
542
+ overflow: hidden;
543
+ text-overflow: ellipsis;
544
+ }
545
+
546
+ .ds-table-icon-label img {
547
+ width: calc(var(--bh-space-5xl-24) + var(--bh-space-xs-4));
548
+ height: calc(var(--bh-space-5xl-24) + var(--bh-space-xs-4));
549
+ border-radius: var(--bh-radius-md-6);
550
+ object-fit: cover;
551
+ }
552
+
553
+ .ds-table-brand-icon,
554
+ .ds-table-payment-icon {
555
+ width: calc(var(--bh-space-4xl-20) + var(--bh-space-xxs-2));
556
+ height: calc(var(--bh-space-4xl-20) + var(--bh-space-xxs-2));
557
+ display: inline-block;
558
+ border-radius: var(--bh-radius-md-6);
559
+ }
560
+
561
+ .ds-table-brand-icon {
562
+ background: linear-gradient(135deg, var(--bh-bg-brand-default), var(--bh-bg-success-default));
563
+ }
564
+
565
+ .ds-table-payment-icon {
566
+ background:
567
+ radial-gradient(circle at 35% 50%, var(--bh-bg-warning-default) 0 37%, transparent 38%),
568
+ radial-gradient(circle at 65% 50%, var(--bh-bg-accent-golden-default) 0 37%, transparent 38%);
569
+ }
570
+
571
+ .ds-table-rating {
572
+ color: var(--bh-bg-neutral-medium);
573
+ letter-spacing: var(--bh-space-xxxs-1);
574
+ }
575
+
576
+ .ds-table-rating .is-filled {
577
+ color: var(--bh-bg-accent-golden-default);
578
+ }
579
+
580
+ .ds-table-avatar-stack .ds-table-avatar {
581
+ margin-inline-end: calc(-1 * var(--bh-space-md-8));
582
+ border: var(--bh-space-xxs-2) solid var(--bh-bg-raised);
583
+ }
584
+
585
+ .ds-table-avatar--count,
586
+ .ds-table-avatar-stack button {
587
+ width: calc(var(--bh-space-5xl-24) + var(--bh-space-xs-4));
588
+ height: calc(var(--bh-space-5xl-24) + var(--bh-space-xs-4));
589
+ border: var(--bh-space-xxs-2) solid var(--bh-bg-raised);
590
+ border-radius: var(--bh-radius-full);
591
+ background: var(--bh-bg-muted);
592
+ color: var(--bh-content-subtle);
593
+ font-size: var(--bh-text-body-3xs-regular-font-size);
594
+ font-weight: var(--bh-font-weight-bold);
595
+ }
596
+
597
+ .ds-table-wrap[dir="rtl"] {
598
+ font-family: var(--bh-font-family);
599
+ }
600
+
601
+ .ds-table-wrap[dir="rtl"] .ds-table-progress i {
602
+ margin-inline-start: auto;
603
+ }
604
+
605
+ .ds-table-wrap[dir="rtl"] .ds-table-toggle[aria-pressed="true"] span {
606
+ transform: translateX(calc(-1 * var(--bh-space-2xl-14)));
607
+ }