banhaten 0.1.3 → 0.3.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 (275) hide show
  1. package/CHANGELOG.md +73 -0
  2. package/CONTRIBUTING.md +44 -0
  3. package/README.md +65 -13
  4. package/SECURITY.md +15 -0
  5. package/banhaten.config.example.json +0 -2
  6. package/docs/design-system/README.md +9 -0
  7. package/docs/design-system/adoption-quality-remediation.md +87 -0
  8. package/docs/design-system/agent-usage.md +13 -0
  9. package/docs/design-system/appearance-presets.md +6 -1
  10. package/docs/design-system/component-docs-pattern.md +81 -0
  11. package/docs/design-system/component-implementation-ownership-audit.md +244 -0
  12. package/docs/design-system/component-quality-audit-2026-08-20.md +223 -0
  13. package/docs/design-system/component-showcase-consistency-report.md +2 -0
  14. package/docs/design-system/component-token-consistency-audit.md +13 -3
  15. package/docs/design-system/components/README.md +4 -2
  16. package/docs/design-system/components/accordion.md +16 -0
  17. package/docs/design-system/components/activity-feed.md +17 -1
  18. package/docs/design-system/components/activity-heatmap.md +73 -0
  19. package/docs/design-system/components/alert-dialog.md +17 -0
  20. package/docs/design-system/components/alert.md +46 -14
  21. package/docs/design-system/components/aspect-ratio.md +15 -0
  22. package/docs/design-system/components/attribute.md +16 -0
  23. package/docs/design-system/components/autocomplete.md +19 -0
  24. package/docs/design-system/components/avatar.md +18 -0
  25. package/docs/design-system/components/badge.md +19 -0
  26. package/docs/design-system/components/banner.md +19 -1
  27. package/docs/design-system/components/breadcrumbs.md +17 -0
  28. package/docs/design-system/components/button-group.md +35 -0
  29. package/docs/design-system/components/button.md +18 -0
  30. package/docs/design-system/components/card.md +26 -1
  31. package/docs/design-system/components/carousel.md +20 -3
  32. package/docs/design-system/components/catalog-components.md +18 -1
  33. package/docs/design-system/components/chart.md +15 -0
  34. package/docs/design-system/components/checkbox.md +16 -0
  35. package/docs/design-system/components/collapsible.md +15 -0
  36. package/docs/design-system/components/command.md +15 -0
  37. package/docs/design-system/components/context-menu.md +15 -0
  38. package/docs/design-system/components/date-picker.md +21 -1
  39. package/docs/design-system/components/divider.md +16 -0
  40. package/docs/design-system/components/empty-state.md +17 -0
  41. package/docs/design-system/components/field.md +17 -0
  42. package/docs/design-system/components/file-upload.md +18 -0
  43. package/docs/design-system/components/hover-card.md +15 -0
  44. package/docs/design-system/components/input-group.md +17 -0
  45. package/docs/design-system/components/input-otp.md +18 -0
  46. package/docs/design-system/components/input.md +43 -7
  47. package/docs/design-system/components/item.md +72 -0
  48. package/docs/design-system/components/kbd.md +18 -0
  49. package/docs/design-system/components/label.md +16 -0
  50. package/docs/design-system/components/menu.md +17 -0
  51. package/docs/design-system/components/menubar.md +15 -0
  52. package/docs/design-system/components/modal.md +25 -4
  53. package/docs/design-system/components/native-select.md +18 -0
  54. package/docs/design-system/components/navigation-menu.md +15 -0
  55. package/docs/design-system/components/onboarding-step-list-item.md +16 -1
  56. package/docs/design-system/components/page-header.md +17 -1
  57. package/docs/design-system/components/pagination.md +31 -8
  58. package/docs/design-system/components/popover.md +19 -0
  59. package/docs/design-system/components/progress-slider.md +18 -0
  60. package/docs/design-system/components/progress.md +17 -0
  61. package/docs/design-system/components/radio-card.md +16 -0
  62. package/docs/design-system/components/radio-group.md +17 -0
  63. package/docs/design-system/components/resizable.md +15 -0
  64. package/docs/design-system/components/scroll-area.md +20 -1
  65. package/docs/design-system/components/segmented-control.md +71 -0
  66. package/docs/design-system/components/select.md +44 -7
  67. package/docs/design-system/components/sheet.md +17 -0
  68. package/docs/design-system/components/sidebar.md +17 -0
  69. package/docs/design-system/components/skeleton.md +18 -0
  70. package/docs/design-system/components/slideout.md +17 -0
  71. package/docs/design-system/components/slider.md +20 -0
  72. package/docs/design-system/components/social-button.md +21 -3
  73. package/docs/design-system/components/spinner.md +16 -0
  74. package/docs/design-system/components/steps.md +19 -0
  75. package/docs/design-system/components/table.md +36 -4
  76. package/docs/design-system/components/tabs.md +17 -0
  77. package/docs/design-system/components/tag.md +17 -0
  78. package/docs/design-system/components/textarea.md +16 -0
  79. package/docs/design-system/components/timeline.md +17 -0
  80. package/docs/design-system/components/toast.md +17 -0
  81. package/docs/design-system/components/toggle.md +17 -0
  82. package/docs/design-system/components/toolbar.md +21 -1
  83. package/docs/design-system/components/tooltip.md +18 -1
  84. package/docs/design-system/density-and-elevation.md +61 -0
  85. package/docs/design-system/direction-and-localization.md +23 -0
  86. package/docs/design-system/form-recipes.md +73 -0
  87. package/docs/design-system/gap-promotion-policy.md +21 -0
  88. package/docs/design-system/gap-promotion-report.md +100 -0
  89. package/docs/design-system/installation.md +68 -0
  90. package/docs/design-system/launch-comparison-shadcn.md +98 -0
  91. package/docs/design-system/registry-and-cli.md +30 -7
  92. package/docs/design-system/release-policy.md +30 -0
  93. package/docs/design-system/roadmap.md +14 -0
  94. package/docs/design-system/support-matrix.md +23 -0
  95. package/docs/design-system/tabs.md +1 -1
  96. package/docs/design-system/token-governance.md +23 -1
  97. package/package.json +30 -15
  98. package/registry/component-contract.json +40 -0
  99. package/registry/components/alert-dialog.tsx +2 -2
  100. package/registry/components/alert.tsx +101 -76
  101. package/registry/components/autocomplete.tsx +23 -9
  102. package/registry/components/avatar.tsx +14 -10
  103. package/registry/components/badge.tsx +18 -18
  104. package/registry/components/button-group.tsx +324 -5
  105. package/registry/components/button.tsx +38 -17
  106. package/registry/components/card.tsx +87 -62
  107. package/registry/components/carousel.tsx +67 -5
  108. package/registry/components/chart.tsx +36 -3
  109. package/registry/components/checkbox.tsx +3 -3
  110. package/registry/components/collapsible.tsx +1 -1
  111. package/registry/components/command.tsx +38 -4
  112. package/registry/components/context-menu.tsx +1 -1
  113. package/registry/components/date-picker.tsx +312 -135
  114. package/registry/components/expanded/ActivityFeed.tsx +9 -22
  115. package/registry/components/expanded/ActivityHeatmap.tsx +64 -0
  116. package/registry/components/expanded/Banner.tsx +3 -4
  117. package/registry/components/expanded/Breadcrumbs.tsx +8 -5
  118. package/registry/components/expanded/CatalogComponentsShowcase.tsx +16 -17
  119. package/registry/components/expanded/CatalogDivider.tsx +4 -3
  120. package/registry/components/expanded/EmptyState.tsx +1 -1
  121. package/registry/components/expanded/FileUpload.tsx +16 -7
  122. package/registry/components/expanded/OnboardingStepListItem.tsx +2 -6
  123. package/registry/components/expanded/PageHeader.tsx +47 -56
  124. package/registry/components/expanded/Slideout.tsx +29 -424
  125. package/registry/components/expanded/Steps.tsx +151 -13
  126. package/registry/components/expanded/Table.tsx +161 -82
  127. package/registry/components/expanded/Timeline.tsx +14 -27
  128. package/registry/components/expanded/activityFeed.css +9 -9
  129. package/registry/components/expanded/activityHeatmap.css +66 -0
  130. package/registry/components/expanded/banner.css +21 -11
  131. package/registry/components/expanded/breadcrumbs.css +2 -2
  132. package/registry/components/expanded/divider.css +1 -1
  133. package/registry/components/expanded/emptyState.css +1 -1
  134. package/registry/components/expanded/fileUpload.css +7 -7
  135. package/registry/components/expanded/onboardingStepListItem.css +2 -2
  136. package/registry/components/expanded/pageHeader.css +14 -11
  137. package/registry/components/expanded/slideout.css +10 -690
  138. package/registry/components/expanded/steps.css +78 -15
  139. package/registry/components/expanded/table.css +60 -69
  140. package/registry/components/expanded/timeline.css +19 -18
  141. package/registry/components/field.tsx +61 -8
  142. package/registry/components/input-content.ts +1 -0
  143. package/registry/components/input-otp.tsx +13 -3
  144. package/registry/components/input.tsx +68 -43
  145. package/registry/components/item.tsx +189 -0
  146. package/registry/components/kbd.tsx +111 -4
  147. package/registry/components/menu.tsx +87 -251
  148. package/registry/components/menubar.tsx +1 -1
  149. package/registry/components/modal.tsx +143 -103
  150. package/registry/components/native-select.tsx +2 -2
  151. package/registry/components/navigation-menu.tsx +1 -1
  152. package/registry/components/pagination.css +36 -0
  153. package/registry/components/pagination.tsx +88 -64
  154. package/registry/components/popover.tsx +162 -664
  155. package/registry/components/progress-slider.tsx +1 -1
  156. package/registry/components/radio-card.tsx +116 -87
  157. package/registry/components/resizable.tsx +36 -2
  158. package/registry/components/scroll-area.tsx +30 -6
  159. package/registry/components/segmented-control.tsx +87 -0
  160. package/registry/components/select-content.tsx +2 -2
  161. package/registry/components/select.tsx +86 -27
  162. package/registry/components/sheet.tsx +1 -1
  163. package/registry/components/sidebar.tsx +12 -6
  164. package/registry/components/skeleton.css +0 -3
  165. package/registry/components/social-button.tsx +59 -30
  166. package/registry/components/spinner.tsx +18 -55
  167. package/registry/components/table-elements.tsx +128 -0
  168. package/registry/components/tabs.css +1 -1
  169. package/registry/components/tabs.tsx +13 -14
  170. package/registry/components/tag.tsx +3 -3
  171. package/registry/components/textarea.tsx +3 -3
  172. package/registry/components/toast.tsx +16 -11
  173. package/registry/components/toggle.tsx +4 -4
  174. package/registry/components/toolbar.tsx +94 -22
  175. package/registry/components/tooltip.tsx +2 -2
  176. package/registry/examples/alert-demo.tsx +25 -5
  177. package/registry/examples/attribute-demo.tsx +1 -1
  178. package/registry/examples/autocomplete-demo.tsx +3 -3
  179. package/registry/examples/avatar-demo.tsx +14 -11
  180. package/registry/examples/badge-demo.tsx +1 -1
  181. package/registry/examples/button-demo.tsx +6 -6
  182. package/registry/examples/button-group-demo.tsx +23 -2
  183. package/registry/examples/card-demo.tsx +46 -8
  184. package/registry/examples/carousel-demo.tsx +20 -2
  185. package/registry/examples/chart-demo.tsx +1 -1
  186. package/registry/examples/checkbox-demo.tsx +5 -5
  187. package/registry/examples/collection-filter-bar-demo.tsx +135 -0
  188. package/registry/examples/command-demo.tsx +3 -3
  189. package/registry/examples/{expanded/command-bar-demo.tsx → command-palette-demo.tsx} +5 -15
  190. package/registry/examples/context-menu-demo.tsx +1 -1
  191. package/registry/examples/control-density-contract-demo.tsx +61 -0
  192. package/registry/examples/date-picker-demo.tsx +12 -12
  193. package/registry/examples/divider-demo.tsx +3 -3
  194. package/registry/examples/expanded/activity-heatmap-demo.tsx +29 -0
  195. package/registry/examples/expanded/banner-demo.tsx +1 -1
  196. package/registry/examples/expanded/breadcrumbs-demo.tsx +4 -4
  197. package/registry/examples/expanded/empty-state-demo.tsx +1 -1
  198. package/registry/examples/expanded/file-upload-demo.tsx +1 -1
  199. package/registry/examples/expanded/onboarding-step-demo.tsx +1 -1
  200. package/registry/examples/expanded/slideout-demo.tsx +2 -2
  201. package/registry/examples/expanded/steps-demo.tsx +1 -1
  202. package/registry/examples/expanded/tabs-demo.tsx +1 -1
  203. package/registry/examples/expanded/timeline-demo.tsx +1 -1
  204. package/registry/examples/hover-card-demo.tsx +2 -2
  205. package/registry/examples/input-demo.tsx +6 -6
  206. package/registry/examples/input-otp-demo.tsx +4 -4
  207. package/registry/examples/item-demo.tsx +46 -0
  208. package/registry/examples/kbd-demo.tsx +1 -1
  209. package/registry/examples/label-demo.tsx +1 -1
  210. package/registry/examples/menu-demo.tsx +1 -1
  211. package/registry/examples/modal-demo.tsx +67 -9
  212. package/registry/examples/navigation-menu-demo.tsx +1 -1
  213. package/registry/examples/pagination-demo.tsx +10 -7
  214. package/registry/examples/popover-demo.tsx +19 -19
  215. package/registry/examples/progress-demo.tsx +1 -1
  216. package/registry/examples/progress-slider-demo.tsx +1 -1
  217. package/registry/examples/radio-card-demo.tsx +4 -4
  218. package/registry/examples/radio-group-demo.tsx +2 -2
  219. package/registry/examples/resizable-demo.tsx +1 -1
  220. package/registry/examples/results-toolbar-demo.tsx +44 -0
  221. package/registry/examples/scroll-area-demo.tsx +3 -3
  222. package/registry/examples/segmented-control-demo.tsx +39 -0
  223. package/registry/examples/select-demo.tsx +1 -1
  224. package/registry/examples/sidebar-demo.tsx +5 -3
  225. package/registry/examples/slider-demo.tsx +3 -3
  226. package/registry/examples/social-button-demo.tsx +18 -8
  227. package/registry/examples/spinner-demo.tsx +13 -13
  228. package/registry/examples/tabs-demo.tsx +1 -1
  229. package/registry/examples/tag-demo.tsx +1 -1
  230. package/registry/examples/textarea-demo.tsx +4 -4
  231. package/registry/examples/toast-demo.tsx +1 -1
  232. package/registry/examples/toggle-demo.tsx +6 -6
  233. package/registry/examples/tooltip-demo.tsx +4 -4
  234. package/registry/guidance/USAGE.md +27 -0
  235. package/registry/hooks/use-direction.ts +193 -13
  236. package/registry/index.json +5668 -375
  237. package/registry/styles/globals.css +2404 -3999
  238. package/registry.json +156 -149
  239. package/schema/config.schema.json +11 -8
  240. package/schema/registry.schema.json +150 -45
  241. package/schema/tokens.schema.json +134 -34
  242. package/src/cli/command-line.js +194 -0
  243. package/src/cli/config-editors.js +9 -0
  244. package/src/cli/doctor.js +399 -0
  245. package/src/cli/file-transaction.js +295 -0
  246. package/src/cli/global-css.js +153 -0
  247. package/src/cli/index.js +567 -1613
  248. package/src/cli/install-plan.js +592 -0
  249. package/src/cli/install-receipt.js +171 -0
  250. package/src/cli/jsonc.js +203 -0
  251. package/src/cli/package-install-state.js +254 -0
  252. package/src/cli/package-manager.js +238 -0
  253. package/src/cli/package-plan.js +185 -0
  254. package/src/cli/package-version.js +97 -0
  255. package/src/cli/registry-query.js +207 -0
  256. package/src/cli/reporting.js +55 -0
  257. package/src/cli/schema-validation.js +19 -0
  258. package/src/cli/source-scanner.js +686 -0
  259. package/src/cli/vite-config.js +478 -0
  260. package/tokens/banhaten.tokens.json +4444 -331
  261. package/docs/design-system/components/command-bar.md +0 -57
  262. package/registry/components/expanded/BannerBoard.tsx +0 -225
  263. package/registry/components/expanded/CatalogTag.tsx +0 -85
  264. package/registry/components/expanded/CommandBar.tsx +0 -386
  265. package/registry/components/expanded/IconExplorer.tsx +0 -612
  266. package/registry/components/expanded/TimelineShowcase.tsx +0 -158
  267. package/registry/components/expanded/commandBar.css +0 -470
  268. package/registry/components/expanded/iconExplorer.css +0 -764
  269. package/registry/components/expanded/iconPacks.ts +0 -866
  270. package/registry/components/expanded/tag.css +0 -148
  271. package/registry/examples/expanded/icons-demo.tsx +0 -5
  272. package/tokens/Color mode.zip +0 -0
  273. package/tokens/Numbers.zip +0 -0
  274. package/tokens/Radius.zip +0 -0
  275. package/tokens/Theme.zip +0 -0
@@ -0,0 +1,66 @@
1
+ .ds-activity-heatmap {
2
+ --activity-heatmap-cell-size: var(--bh-space-3xl-16);
3
+ --activity-heatmap-gap: var(--bh-space-xs-4);
4
+ --activity-heatmap-radius: var(--bh-radius-sm-4);
5
+ --activity-heatmap-level-0: var(--bh-bg-neutral-medium);
6
+ --activity-heatmap-level-1: var(--bh-bg-accent-purple-subtle);
7
+ --activity-heatmap-level-2: var(--bh-bg-accent-purple-soft);
8
+ --activity-heatmap-level-3: var(--bh-bg-accent-purple-default);
9
+ --activity-heatmap-level-4: var(--bh-content-accent-purple-strong);
10
+
11
+ box-sizing: border-box;
12
+ width: 100%;
13
+ min-width: 0;
14
+ max-width: 100%;
15
+ overflow-x: auto;
16
+ overflow-y: hidden;
17
+ outline: none;
18
+ color: var(--bh-content-default);
19
+ font-family: var(--bh-font-family);
20
+ }
21
+
22
+ .ds-activity-heatmap:focus-visible {
23
+ box-shadow: var(--shadow-component-focus-ring);
24
+ }
25
+
26
+ .ds-activity-heatmap *,
27
+ .ds-activity-heatmap *::before,
28
+ .ds-activity-heatmap *::after {
29
+ box-sizing: border-box;
30
+ }
31
+
32
+ .ds-activity-heatmap__grid {
33
+ display: grid;
34
+ grid-auto-flow: column;
35
+ grid-auto-columns: var(--activity-heatmap-cell-size);
36
+ grid-template-rows: repeat(7, var(--activity-heatmap-cell-size));
37
+ justify-content: start;
38
+ gap: var(--activity-heatmap-gap);
39
+ width: max-content;
40
+ min-width: 100%;
41
+ }
42
+
43
+ .ds-activity-heatmap__cell {
44
+ display: block;
45
+ inline-size: var(--activity-heatmap-cell-size);
46
+ block-size: var(--activity-heatmap-cell-size);
47
+ aspect-ratio: 1;
48
+ border-radius: var(--activity-heatmap-radius);
49
+ background: var(--activity-heatmap-level-0);
50
+ }
51
+
52
+ .ds-activity-heatmap__cell[data-level="1"] {
53
+ background: var(--activity-heatmap-level-1);
54
+ }
55
+
56
+ .ds-activity-heatmap__cell[data-level="2"] {
57
+ background: var(--activity-heatmap-level-2);
58
+ }
59
+
60
+ .ds-activity-heatmap__cell[data-level="3"] {
61
+ background: var(--activity-heatmap-level-3);
62
+ }
63
+
64
+ .ds-activity-heatmap__cell[data-level="4"] {
65
+ background: var(--activity-heatmap-level-4);
66
+ }
@@ -1,10 +1,10 @@
1
1
  .ds-banner {
2
- --banner-bg-brand: var(--bh-bg-brand-default);
2
+ --banner-bg-brand: var(--bh-bg-brand-bold);
3
3
  --banner-bg-brand-soft: var(--bh-bg-brand-soft);
4
4
  --banner-bg-muted: var(--bh-bg-muted);
5
5
  --banner-border-subtle: var(--bh-border-subtle);
6
6
  --banner-content-default: var(--bh-content-default);
7
- --banner-content-inverse: var(--bh-content-inverse);
7
+ --banner-content-inverse: var(--bh-content-on-brand);
8
8
  --banner-content-link: var(--bh-content-link);
9
9
  --banner-radius-floating: var(--bh-radius-xl-10);
10
10
  --banner-space-xxs: var(--bh-space-xxs-2);
@@ -17,17 +17,18 @@
17
17
  --banner-height-default: calc(var(--bh-space-8xl-48) + var(--bh-space-xl-12));
18
18
  --banner-height-title: calc(var(--bh-space-8xl-48) + var(--bh-space-xs-4));
19
19
  --banner-input-width: var(--bh-input-width);
20
- --banner-shadow-floating: var(--shadow-component-default);
20
+ --banner-shadow-floating: var(--shadow-md);
21
21
 
22
22
  box-sizing: border-box;
23
23
  position: relative;
24
24
  display: flex;
25
+ flex-wrap: wrap;
25
26
  align-items: center;
26
27
  justify-content: center;
27
28
  gap: var(--banner-space-3xl);
28
29
  width: 100%;
29
30
  min-height: var(--banner-height-slim);
30
- height: 100%;
31
+ height: auto;
31
32
  padding: var(--banner-space-xl) var(--banner-space-3xl);
32
33
  border: var(--bh-space-xxxs-1) solid transparent;
33
34
  border-radius: 0;
@@ -104,6 +105,9 @@
104
105
  }
105
106
 
106
107
  .ds-banner__main {
108
+ max-width: 100%;
109
+ flex: 1 1 calc(var(--bh-space-19xl-384) - var(--bh-space-8xl-48));
110
+ flex-wrap: wrap;
107
111
  justify-content: center;
108
112
  gap: var(--banner-space-xl);
109
113
  }
@@ -114,11 +118,16 @@
114
118
  }
115
119
 
116
120
  .ds-banner__leading {
121
+ max-width: 100%;
122
+ flex: 1 1 var(--bh-space-17xl-288);
123
+ flex-wrap: wrap;
117
124
  gap: var(--banner-space-xl);
118
125
  }
119
126
 
120
127
  .ds-banner__tail {
121
- flex: 0 0 auto;
128
+ max-width: 100%;
129
+ flex: 0 1 auto;
130
+ flex-wrap: wrap;
122
131
  gap: var(--banner-space-3xl);
123
132
  }
124
133
 
@@ -157,7 +166,7 @@
157
166
  .ds-banner__separator,
158
167
  .ds-banner__description {
159
168
  letter-spacing: var(--bh-text-body-md-medium-letter-spacing);
160
- white-space: nowrap;
169
+ white-space: normal;
161
170
  word-break: break-word;
162
171
  }
163
172
 
@@ -220,26 +229,27 @@
220
229
 
221
230
  .ds-banner__input {
222
231
  flex: 0 1 var(--banner-input-width);
223
- width: var(--banner-input-width);
232
+ width: min(100%, var(--banner-input-width));
233
+ min-width: 0;
224
234
  }
225
235
 
226
- .ds-banner--rtl {
236
+ .ds-banner:dir(rtl) {
227
237
  font-family: var(--bh-font-family);
228
238
  }
229
239
 
230
- .ds-banner--rtl.ds-banner--title .ds-banner__title-only {
240
+ .ds-banner:dir(rtl).ds-banner--title .ds-banner__title-only {
231
241
  font-size: var(--bh-text-body-2xs-medium-font-size);
232
242
  font-weight: var(--bh-text-body-2xs-medium-font-weight);
233
243
  line-height: var(--bh-text-body-2xs-medium-line-height);
234
244
  text-align: right;
235
245
  }
236
246
 
237
- .ds-banner--rtl .ds-banner__description {
247
+ .ds-banner:dir(rtl) .ds-banner__description {
238
248
  font-size: var(--bh-text-body-2xs-medium-font-size);
239
249
  font-weight: var(--bh-text-body-2xs-medium-font-weight);
240
250
  line-height: var(--bh-text-body-2xs-medium-line-height);
241
251
  }
242
252
 
243
- .ds-banner--rtl .ds-banner__title {
253
+ .ds-banner:dir(rtl) .ds-banner__title {
244
254
  text-align: right;
245
255
  }
@@ -15,7 +15,7 @@
15
15
  font-family: var(--bh-font-family);
16
16
  font-size: var(--bh-text-body-md-font-size);
17
17
  font-weight: var(--bh-font-weight-medium);
18
- letter-spacing: 0;
18
+ letter-spacing: var(--bh-text-base-letter-spacing);
19
19
  line-height: var(--bh-text-body-md-line-height);
20
20
  }
21
21
 
@@ -123,7 +123,7 @@
123
123
  display: block;
124
124
  }
125
125
 
126
- .ds-breadcrumbs[dir="rtl"] .ds-breadcrumbs__separator svg {
126
+ .ds-breadcrumbs:dir(rtl) .ds-breadcrumbs__separator svg {
127
127
  transform: scaleX(-1);
128
128
  }
129
129
 
@@ -18,7 +18,7 @@
18
18
  gap: var(--bh-space-md-8);
19
19
  color: var(--bh-content-default);
20
20
  font-family: var(--bh-font-family);
21
- letter-spacing: 0;
21
+ letter-spacing: var(--bh-text-base-letter-spacing);
22
22
  }
23
23
 
24
24
  .ds-content-divider *,
@@ -11,7 +11,7 @@
11
11
  padding: var(--bh-space-6xl-32);
12
12
  color: var(--bh-content-default);
13
13
  font-family: var(--bh-font-family);
14
- letter-spacing: 0;
14
+ letter-spacing: var(--bh-text-base-letter-spacing);
15
15
  text-align: center;
16
16
  }
17
17
 
@@ -7,7 +7,7 @@
7
7
  gap: var(--bh-space-xl-12);
8
8
  color: var(--bh-content-default);
9
9
  font-family: var(--bh-font-family);
10
- letter-spacing: 0;
10
+ letter-spacing: var(--bh-text-base-letter-spacing);
11
11
  }
12
12
 
13
13
  .ds-file-upload *,
@@ -90,7 +90,7 @@
90
90
  .ds-file-upload__icon svg {
91
91
  width: var(--bh-space-5xl-24);
92
92
  height: var(--bh-space-5xl-24);
93
- stroke-width: 2;
93
+ stroke-width: var(--bh-icon-stroke-200);
94
94
  }
95
95
 
96
96
  .ds-file-upload__copy {
@@ -257,7 +257,7 @@
257
257
  font-family: var(--bh-font-family);
258
258
  font-size: calc(var(--bh-space-lg-10) - var(--bh-space-xxxs-1));
259
259
  font-weight: var(--bh-font-weight-bold);
260
- letter-spacing: 0;
260
+ letter-spacing: var(--bh-text-base-letter-spacing);
261
261
  line-height: 1;
262
262
  pointer-events: none;
263
263
  text-rendering: geometricPrecision;
@@ -352,7 +352,7 @@
352
352
  .ds-file-upload-row__status svg {
353
353
  width: var(--bh-space-3xl-16);
354
354
  height: var(--bh-space-3xl-16);
355
- stroke-width: 2.2;
355
+ stroke-width: var(--bh-icon-stroke-220);
356
356
  }
357
357
 
358
358
  .ds-file-upload-row__status--standalone {
@@ -372,7 +372,7 @@
372
372
  }
373
373
 
374
374
  .ds-file-upload-row__status--uploading svg {
375
- animation: ds-file-upload-spin 1s linear infinite;
375
+ animation: ds-file-upload-spin var(--bh-file-upload-spin-duration) linear infinite;
376
376
  }
377
377
 
378
378
  .ds-file-upload-row--error .ds-file-upload-row__state,
@@ -391,7 +391,7 @@
391
391
  font-weight: var(--bh-font-weight-medium);
392
392
  line-height: var(--bh-text-body-md-medium-line-height);
393
393
  text-decoration-line: underline;
394
- text-underline-offset: 0.125em;
394
+ text-underline-offset: var(--bh-underline-offset-default);
395
395
  cursor: pointer;
396
396
  }
397
397
 
@@ -446,7 +446,7 @@
446
446
  height: var(--bh-space-4xl-20);
447
447
  }
448
448
 
449
- .ds-file-upload[dir="rtl"] {
449
+ .ds-file-upload:dir(rtl) {
450
450
  font-family: var(--bh-font-family);
451
451
  }
452
452
 
@@ -56,7 +56,7 @@
56
56
  color: var(--onboarding-step-content-subtle);
57
57
  }
58
58
 
59
- .ds-onboarding-step--rtl {
59
+ .ds-onboarding-step:dir(rtl) {
60
60
  font-family: var(--bh-font-family);
61
61
  }
62
62
 
@@ -78,7 +78,7 @@
78
78
  word-break: break-word;
79
79
  }
80
80
 
81
- .ds-onboarding-step--rtl .ds-onboarding-step__label {
81
+ .ds-onboarding-step:dir(rtl) .ds-onboarding-step__label {
82
82
  text-align: right;
83
83
  }
84
84
 
@@ -36,7 +36,7 @@
36
36
  box-sizing: border-box;
37
37
  }
38
38
 
39
- .ds-page-header h1,
39
+ .ds-page-header__title,
40
40
  .ds-page-header p,
41
41
  .ds-page-header ol {
42
42
  margin: 0;
@@ -84,14 +84,16 @@
84
84
  color: var(--page-header-content-default);
85
85
  }
86
86
 
87
- .ds-page-header__breadcrumb-label {
87
+ .ds-page-header__breadcrumb-label,
88
+ .ds-page-header__breadcrumbs .ds-breadcrumbs__label {
88
89
  max-width: 20ch;
89
90
  overflow: hidden;
90
91
  text-overflow: ellipsis;
91
92
  white-space: nowrap;
92
93
  }
93
94
 
94
- .ds-page-header__breadcrumb-icon {
95
+ .ds-page-header__breadcrumb-icon,
96
+ .ds-page-header__breadcrumbs .ds-breadcrumbs__icon {
95
97
  width: var(--page-header-space-4xl);
96
98
  height: var(--page-header-space-4xl);
97
99
  display: inline-grid;
@@ -99,7 +101,8 @@
99
101
  color: currentColor;
100
102
  }
101
103
 
102
- .ds-page-header__breadcrumb-separator {
104
+ .ds-page-header__breadcrumb-separator,
105
+ .ds-page-header__breadcrumbs .ds-breadcrumbs__separator {
103
106
  width: var(--page-header-space-3xl);
104
107
  height: var(--page-header-space-3xl);
105
108
  display: inline-flex;
@@ -163,7 +166,7 @@
163
166
  display: block;
164
167
  }
165
168
 
166
- .ds-page-header h1 {
169
+ .ds-page-header__title {
167
170
  min-width: 0;
168
171
  color: var(--page-header-content-heading);
169
172
  font-size: var(--bh-text-heading-md-semibold-font-size);
@@ -235,15 +238,15 @@
235
238
  width: 100%;
236
239
  }
237
240
 
238
- .ds-page-header[dir="rtl"] {
241
+ .ds-page-header:dir(rtl) {
239
242
  font-family: var(--bh-font-family);
240
243
  }
241
244
 
242
- .ds-page-header[dir="rtl"] .ds-page-header__topline,
243
- .ds-page-header[dir="rtl"] .ds-page-header__heading-row,
244
- .ds-page-header[dir="rtl"] .ds-page-header__heading-main,
245
- .ds-page-header[dir="rtl"] .ds-page-header__actions,
246
- .ds-page-header[dir="rtl"] .ds-page-header__breadcrumbs ol {
245
+ .ds-page-header:dir(rtl) .ds-page-header__topline,
246
+ .ds-page-header:dir(rtl) .ds-page-header__heading-row,
247
+ .ds-page-header:dir(rtl) .ds-page-header__heading-main,
248
+ .ds-page-header:dir(rtl) .ds-page-header__actions,
249
+ .ds-page-header:dir(rtl) .ds-page-header__breadcrumbs ol {
247
250
  direction: rtl;
248
251
  }
249
252