@hanzo/ui 8.29.10 → 8.29.12

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 (391) hide show
  1. package/dist/agents/Attachments.cjs +1 -1
  2. package/dist/agents/Attachments.js +1 -1
  3. package/dist/agents/Attachments.js.map +1 -1
  4. package/dist/agents/Board.cjs +3 -2
  5. package/dist/agents/Board.d.ts.map +1 -1
  6. package/dist/agents/Board.js +3 -2
  7. package/dist/agents/Board.js.map +1 -1
  8. package/dist/agents/ChannelMembers.cjs +1 -1
  9. package/dist/agents/ChannelMembers.js +1 -1
  10. package/dist/agents/ChannelMembers.js.map +1 -1
  11. package/dist/agents/DirectoryModal.cjs +1 -1
  12. package/dist/agents/DirectoryModal.js +1 -1
  13. package/dist/agents/DirectoryModal.js.map +1 -1
  14. package/dist/agents/DriveViewer.cjs +6 -5
  15. package/dist/agents/DriveViewer.d.ts.map +1 -1
  16. package/dist/agents/DriveViewer.js +6 -5
  17. package/dist/agents/DriveViewer.js.map +1 -1
  18. package/dist/agents/FileTabs.cjs +5 -3
  19. package/dist/agents/FileTabs.d.ts.map +1 -1
  20. package/dist/agents/FileTabs.js +5 -3
  21. package/dist/agents/FileTabs.js.map +1 -1
  22. package/dist/agents/FileTree.cjs +3 -2
  23. package/dist/agents/FileTree.d.ts.map +1 -1
  24. package/dist/agents/FileTree.js +3 -2
  25. package/dist/agents/FileTree.js.map +1 -1
  26. package/dist/agents/LiveVoiceCall.cjs +1 -1
  27. package/dist/agents/LiveVoiceCall.js +1 -1
  28. package/dist/agents/LiveVoiceCall.js.map +1 -1
  29. package/dist/agents/Pane.cjs +1 -1
  30. package/dist/agents/Pane.js +1 -1
  31. package/dist/agents/Pane.js.map +1 -1
  32. package/dist/agents/Progress.cjs +2 -1
  33. package/dist/agents/Progress.d.ts.map +1 -1
  34. package/dist/agents/Progress.js +2 -1
  35. package/dist/agents/Progress.js.map +1 -1
  36. package/dist/agents/ShortcutsSheet.cjs +1 -1
  37. package/dist/agents/ShortcutsSheet.js +1 -1
  38. package/dist/agents/ShortcutsSheet.js.map +1 -1
  39. package/dist/agents/Workspace.cjs +6 -4
  40. package/dist/agents/Workspace.d.ts.map +1 -1
  41. package/dist/agents/Workspace.js +6 -4
  42. package/dist/agents/Workspace.js.map +1 -1
  43. package/dist/auth/SignIn.cjs +2 -1
  44. package/dist/auth/SignIn.d.ts.map +1 -1
  45. package/dist/auth/SignIn.js +2 -1
  46. package/dist/auth/SignIn.js.map +1 -1
  47. package/dist/backends/gui/alert.cjs +3 -3
  48. package/dist/backends/gui/alert.js +3 -3
  49. package/dist/backends/gui/alert.js.map +1 -1
  50. package/dist/backends/gui/avatar-group.cjs +2 -2
  51. package/dist/backends/gui/avatar-group.d.ts +1 -1
  52. package/dist/backends/gui/avatar-group.js +2 -2
  53. package/dist/backends/gui/avatar-group.js.map +1 -1
  54. package/dist/backends/gui/banner.cjs +3 -3
  55. package/dist/backends/gui/banner.js +3 -3
  56. package/dist/backends/gui/banner.js.map +1 -1
  57. package/dist/backends/gui/button-group.cjs +1 -1
  58. package/dist/backends/gui/button-group.js +1 -1
  59. package/dist/backends/gui/button-group.js.map +1 -1
  60. package/dist/backends/gui/calendar.cjs +4 -2
  61. package/dist/backends/gui/calendar.d.ts.map +1 -1
  62. package/dist/backends/gui/calendar.js +4 -2
  63. package/dist/backends/gui/calendar.js.map +1 -1
  64. package/dist/backends/gui/carousel.cjs +4 -3
  65. package/dist/backends/gui/carousel.d.ts.map +1 -1
  66. package/dist/backends/gui/carousel.js +4 -3
  67. package/dist/backends/gui/carousel.js.map +1 -1
  68. package/dist/backends/gui/chip.cjs +1 -1
  69. package/dist/backends/gui/chip.js +1 -1
  70. package/dist/backends/gui/chip.js.map +1 -1
  71. package/dist/backends/gui/choice.cjs +2 -2
  72. package/dist/backends/gui/choice.js +2 -2
  73. package/dist/backends/gui/choice.js.map +1 -1
  74. package/dist/backends/gui/code-block.cjs +25 -33
  75. package/dist/backends/gui/code-block.d.ts.map +1 -1
  76. package/dist/backends/gui/code-block.js +25 -33
  77. package/dist/backends/gui/code-block.js.map +1 -1
  78. package/dist/backends/gui/code-editor.cjs +26 -20
  79. package/dist/backends/gui/code-editor.d.ts +3 -3
  80. package/dist/backends/gui/code-editor.d.ts.map +1 -1
  81. package/dist/backends/gui/code-editor.js +26 -20
  82. package/dist/backends/gui/code-editor.js.map +1 -1
  83. package/dist/backends/gui/code-surface.cjs +65 -0
  84. package/dist/backends/gui/code-surface.d.ts +32 -0
  85. package/dist/backends/gui/code-surface.d.ts.map +1 -0
  86. package/dist/backends/gui/code-surface.js +60 -0
  87. package/dist/backends/gui/code-surface.js.map +1 -0
  88. package/dist/backends/gui/command.cjs +2 -1
  89. package/dist/backends/gui/command.d.ts.map +1 -1
  90. package/dist/backends/gui/command.js +2 -1
  91. package/dist/backends/gui/command.js.map +1 -1
  92. package/dist/backends/gui/context-menu.cjs +10 -9
  93. package/dist/backends/gui/context-menu.d.ts +1 -1
  94. package/dist/backends/gui/context-menu.d.ts.map +1 -1
  95. package/dist/backends/gui/context-menu.js +10 -9
  96. package/dist/backends/gui/context-menu.js.map +1 -1
  97. package/dist/backends/gui/country-select.cjs +2 -1
  98. package/dist/backends/gui/country-select.d.ts.map +1 -1
  99. package/dist/backends/gui/country-select.js +2 -1
  100. package/dist/backends/gui/country-select.js.map +1 -1
  101. package/dist/backends/gui/data-table.cjs +1 -1
  102. package/dist/backends/gui/data-table.js +1 -1
  103. package/dist/backends/gui/data-table.js.map +1 -1
  104. package/dist/backends/gui/dialog.cjs +1 -1
  105. package/dist/backends/gui/dialog.js +1 -1
  106. package/dist/backends/gui/dialog.js.map +1 -1
  107. package/dist/backends/gui/dir.cjs +67 -0
  108. package/dist/backends/gui/dir.d.ts +57 -0
  109. package/dist/backends/gui/dir.d.ts.map +1 -0
  110. package/dist/backends/gui/dir.js +61 -0
  111. package/dist/backends/gui/dir.js.map +1 -0
  112. package/dist/backends/gui/dropdown-menu.cjs +13 -12
  113. package/dist/backends/gui/dropdown-menu.d.ts +1 -1
  114. package/dist/backends/gui/dropdown-menu.d.ts.map +1 -1
  115. package/dist/backends/gui/dropdown-menu.js +13 -12
  116. package/dist/backends/gui/dropdown-menu.js.map +1 -1
  117. package/dist/backends/gui/field.cjs +1 -1
  118. package/dist/backends/gui/field.js +1 -1
  119. package/dist/backends/gui/field.js.map +1 -1
  120. package/dist/backends/gui/grip.cjs +20 -10
  121. package/dist/backends/gui/grip.d.ts +8 -5
  122. package/dist/backends/gui/grip.d.ts.map +1 -1
  123. package/dist/backends/gui/grip.js +20 -10
  124. package/dist/backends/gui/grip.js.map +1 -1
  125. package/dist/backends/gui/image-zoom.cjs +1 -1
  126. package/dist/backends/gui/image-zoom.js +1 -1
  127. package/dist/backends/gui/image-zoom.js.map +1 -1
  128. package/dist/backends/gui/input.cjs +7 -5
  129. package/dist/backends/gui/input.d.ts.map +1 -1
  130. package/dist/backends/gui/input.js +7 -5
  131. package/dist/backends/gui/input.js.map +1 -1
  132. package/dist/backends/gui/item.cjs +2 -1
  133. package/dist/backends/gui/item.d.ts.map +1 -1
  134. package/dist/backends/gui/item.js +2 -1
  135. package/dist/backends/gui/item.js.map +1 -1
  136. package/dist/backends/gui/json-tree.cjs +8 -6
  137. package/dist/backends/gui/json-tree.d.ts +1 -1
  138. package/dist/backends/gui/json-tree.d.ts.map +1 -1
  139. package/dist/backends/gui/json-tree.js +8 -6
  140. package/dist/backends/gui/json-tree.js.map +1 -1
  141. package/dist/backends/gui/kanban.cjs +1 -1
  142. package/dist/backends/gui/kanban.js +1 -1
  143. package/dist/backends/gui/kanban.js.map +1 -1
  144. package/dist/backends/gui/kbd.cjs +3 -2
  145. package/dist/backends/gui/kbd.d.ts.map +1 -1
  146. package/dist/backends/gui/kbd.js +3 -2
  147. package/dist/backends/gui/kbd.js.map +1 -1
  148. package/dist/backends/gui/limelight-nav.cjs +4 -2
  149. package/dist/backends/gui/limelight-nav.d.ts.map +1 -1
  150. package/dist/backends/gui/limelight-nav.js +4 -2
  151. package/dist/backends/gui/limelight-nav.js.map +1 -1
  152. package/dist/backends/gui/link.cjs +1 -1
  153. package/dist/backends/gui/link.js +1 -1
  154. package/dist/backends/gui/link.js.map +1 -1
  155. package/dist/backends/gui/menu-dock.cjs +1 -1
  156. package/dist/backends/gui/menu-dock.js +1 -1
  157. package/dist/backends/gui/menu-dock.js.map +1 -1
  158. package/dist/backends/gui/menubar.cjs +14 -10
  159. package/dist/backends/gui/menubar.d.ts +1 -1
  160. package/dist/backends/gui/menubar.d.ts.map +1 -1
  161. package/dist/backends/gui/menubar.js +14 -10
  162. package/dist/backends/gui/menubar.js.map +1 -1
  163. package/dist/backends/gui/message-dock.cjs +9 -5
  164. package/dist/backends/gui/message-dock.d.ts +2 -2
  165. package/dist/backends/gui/message-dock.d.ts.map +1 -1
  166. package/dist/backends/gui/message-dock.js +9 -5
  167. package/dist/backends/gui/message-dock.js.map +1 -1
  168. package/dist/backends/gui/navigation-bar.cjs +3 -2
  169. package/dist/backends/gui/navigation-bar.d.ts.map +1 -1
  170. package/dist/backends/gui/navigation-bar.js +3 -2
  171. package/dist/backends/gui/navigation-bar.js.map +1 -1
  172. package/dist/backends/gui/pagination.cjs +3 -2
  173. package/dist/backends/gui/pagination.d.ts.map +1 -1
  174. package/dist/backends/gui/pagination.js +3 -2
  175. package/dist/backends/gui/pagination.js.map +1 -1
  176. package/dist/backends/gui/phone-country-picker.cjs +2 -2
  177. package/dist/backends/gui/phone-country-picker.js +2 -2
  178. package/dist/backends/gui/phone-country-picker.js.map +1 -1
  179. package/dist/backends/gui/progress-ring.cjs +1 -1
  180. package/dist/backends/gui/progress-ring.js +1 -1
  181. package/dist/backends/gui/progress-ring.js.map +1 -1
  182. package/dist/backends/gui/resizable.cjs +8 -4
  183. package/dist/backends/gui/resizable.d.ts.map +1 -1
  184. package/dist/backends/gui/resizable.js +8 -4
  185. package/dist/backends/gui/resizable.js.map +1 -1
  186. package/dist/backends/gui/scroll-area.cjs +2 -2
  187. package/dist/backends/gui/scroll-area.d.ts.map +1 -1
  188. package/dist/backends/gui/scroll-area.js +2 -2
  189. package/dist/backends/gui/scroll-area.js.map +1 -1
  190. package/dist/backends/gui/search-list.cjs +1 -1
  191. package/dist/backends/gui/search-list.js +1 -1
  192. package/dist/backends/gui/search-list.js.map +1 -1
  193. package/dist/backends/gui/select.cjs +2 -2
  194. package/dist/backends/gui/select.js +2 -2
  195. package/dist/backends/gui/select.js.map +1 -1
  196. package/dist/backends/gui/sheet.cjs +9 -1
  197. package/dist/backends/gui/sheet.d.ts +6 -1
  198. package/dist/backends/gui/sheet.d.ts.map +1 -1
  199. package/dist/backends/gui/sheet.js +9 -1
  200. package/dist/backends/gui/sheet.js.map +1 -1
  201. package/dist/backends/gui/shortcut.cjs +3 -2
  202. package/dist/backends/gui/shortcut.d.ts.map +1 -1
  203. package/dist/backends/gui/shortcut.js +3 -2
  204. package/dist/backends/gui/shortcut.js.map +1 -1
  205. package/dist/backends/gui/snippet.cjs +24 -30
  206. package/dist/backends/gui/snippet.d.ts.map +1 -1
  207. package/dist/backends/gui/snippet.js +24 -30
  208. package/dist/backends/gui/snippet.js.map +1 -1
  209. package/dist/backends/gui/status.cjs +1 -1
  210. package/dist/backends/gui/status.js +1 -1
  211. package/dist/backends/gui/status.js.map +1 -1
  212. package/dist/backends/gui/step-indicator.cjs +3 -2
  213. package/dist/backends/gui/step-indicator.d.ts.map +1 -1
  214. package/dist/backends/gui/step-indicator.js +3 -2
  215. package/dist/backends/gui/step-indicator.js.map +1 -1
  216. package/dist/backends/gui/table.cjs +1 -1
  217. package/dist/backends/gui/table.js +1 -1
  218. package/dist/backends/gui/table.js.map +1 -1
  219. package/dist/backends/gui/tabs.cjs +2 -2
  220. package/dist/backends/gui/tabs.js +2 -2
  221. package/dist/backends/gui/tabs.js.map +1 -1
  222. package/dist/backends/gui/terminal.cjs +58 -41
  223. package/dist/backends/gui/terminal.d.ts +9 -4
  224. package/dist/backends/gui/terminal.d.ts.map +1 -1
  225. package/dist/backends/gui/terminal.js +59 -42
  226. package/dist/backends/gui/terminal.js.map +1 -1
  227. package/dist/backends/gui/timeline.cjs +5 -5
  228. package/dist/backends/gui/timeline.js +5 -5
  229. package/dist/backends/gui/timeline.js.map +1 -1
  230. package/dist/backends/gui/toaster.cjs +2 -2
  231. package/dist/backends/gui/toaster.js +2 -2
  232. package/dist/backends/gui/toaster.js.map +1 -1
  233. package/dist/catalog/Shelf.cjs +4 -2
  234. package/dist/catalog/Shelf.d.ts.map +1 -1
  235. package/dist/catalog/Shelf.js +4 -2
  236. package/dist/catalog/Shelf.js.map +1 -1
  237. package/dist/catalog/Tile.cjs +1 -1
  238. package/dist/catalog/Tile.js +1 -1
  239. package/dist/catalog/Tile.js.map +1 -1
  240. package/dist/chat/Composer.cjs +1 -1
  241. package/dist/chat/Composer.js +1 -1
  242. package/dist/chat/Composer.js.map +1 -1
  243. package/dist/chat/Header.cjs +3 -2
  244. package/dist/chat/Header.d.ts.map +1 -1
  245. package/dist/chat/Header.js +3 -2
  246. package/dist/chat/Header.js.map +1 -1
  247. package/dist/chat/SessionRail.cjs +3 -2
  248. package/dist/chat/SessionRail.d.ts.map +1 -1
  249. package/dist/chat/SessionRail.js +3 -2
  250. package/dist/chat/SessionRail.js.map +1 -1
  251. package/dist/chat/Sidebar.cjs +4 -3
  252. package/dist/chat/Sidebar.d.ts.map +1 -1
  253. package/dist/chat/Sidebar.js +4 -3
  254. package/dist/chat/Sidebar.js.map +1 -1
  255. package/dist/code-theme.cjs +78 -37
  256. package/dist/code-theme.d.ts +86 -34
  257. package/dist/code-theme.d.ts.map +1 -1
  258. package/dist/code-theme.js +77 -36
  259. package/dist/code-theme.js.map +1 -1
  260. package/dist/consent/Consent.cjs +1 -1
  261. package/dist/consent/Consent.js +1 -1
  262. package/dist/consent/Consent.js.map +1 -1
  263. package/dist/core/index.cjs +2 -1
  264. package/dist/core/index.d.ts +1 -1
  265. package/dist/core/index.d.ts.map +1 -1
  266. package/dist/core/index.js +1 -1
  267. package/dist/core/index.js.map +1 -1
  268. package/dist/corner/Corner.cjs +43 -19
  269. package/dist/corner/Corner.d.ts.map +1 -1
  270. package/dist/corner/Corner.js +45 -21
  271. package/dist/corner/Corner.js.map +1 -1
  272. package/dist/corner/logic.cjs +23 -0
  273. package/dist/corner/logic.d.ts +15 -0
  274. package/dist/corner/logic.d.ts.map +1 -1
  275. package/dist/corner/logic.js +22 -0
  276. package/dist/corner/logic.js.map +1 -1
  277. package/dist/framework/DocTypeDetail.cjs +3 -2
  278. package/dist/framework/DocTypeDetail.d.ts.map +1 -1
  279. package/dist/framework/DocTypeDetail.js +3 -2
  280. package/dist/framework/DocTypeDetail.js.map +1 -1
  281. package/dist/framework/RecordCards.cjs +2 -1
  282. package/dist/framework/RecordCards.d.ts.map +1 -1
  283. package/dist/framework/RecordCards.js +2 -1
  284. package/dist/framework/RecordCards.js.map +1 -1
  285. package/dist/gallery/feedback.cjs +9 -2
  286. package/dist/gallery/feedback.d.ts.map +1 -1
  287. package/dist/gallery/feedback.js +10 -3
  288. package/dist/gallery/feedback.js.map +1 -1
  289. package/dist/gallery/frames.cjs +1 -1
  290. package/dist/gallery/frames.js +1 -1
  291. package/dist/gallery/frames.js.map +1 -1
  292. package/dist/gallery.html +589 -286
  293. package/dist/gui-config.cjs +21 -18
  294. package/dist/gui-config.d.ts +8 -8
  295. package/dist/gui-config.d.ts.map +1 -1
  296. package/dist/gui-config.js +22 -19
  297. package/dist/gui-config.js.map +1 -1
  298. package/dist/index.cjs +6 -5
  299. package/dist/index.d.ts +1 -1
  300. package/dist/index.d.ts.map +1 -1
  301. package/dist/index.js +5 -5
  302. package/dist/index.js.map +1 -1
  303. package/dist/index.node.cjs +6 -5
  304. package/dist/index.node.js +5 -5
  305. package/dist/lang.css +143 -0
  306. package/dist/marketing/Footer.cjs +1 -1
  307. package/dist/marketing/Footer.js +1 -1
  308. package/dist/marketing/Footer.js.map +1 -1
  309. package/dist/marketing/Plans.cjs +1 -1
  310. package/dist/marketing/Plans.js +1 -1
  311. package/dist/marketing/Plans.js.map +1 -1
  312. package/dist/masthead/Masthead.cjs +5 -5
  313. package/dist/masthead/Masthead.js +5 -5
  314. package/dist/masthead/Masthead.js.map +1 -1
  315. package/dist/onboarding/frame.cjs +2 -1
  316. package/dist/onboarding/frame.d.ts.map +1 -1
  317. package/dist/onboarding/frame.js +2 -1
  318. package/dist/onboarding/frame.js.map +1 -1
  319. package/dist/product/Charts.cjs +2 -1
  320. package/dist/product/Charts.d.ts.map +1 -1
  321. package/dist/product/Charts.js +2 -1
  322. package/dist/product/Charts.js.map +1 -1
  323. package/dist/product/CommandMenu.cjs +3 -2
  324. package/dist/product/CommandMenu.d.ts.map +1 -1
  325. package/dist/product/CommandMenu.js +3 -2
  326. package/dist/product/CommandMenu.js.map +1 -1
  327. package/dist/product/ConnectionBadge.cjs +2 -1
  328. package/dist/product/ConnectionBadge.d.ts.map +1 -1
  329. package/dist/product/ConnectionBadge.js +2 -1
  330. package/dist/product/ConnectionBadge.js.map +1 -1
  331. package/dist/product/DetailPane.cjs +5 -4
  332. package/dist/product/DetailPane.d.ts.map +1 -1
  333. package/dist/product/DetailPane.js +5 -4
  334. package/dist/product/DetailPane.js.map +1 -1
  335. package/dist/product/EmptyState.cjs +2 -1
  336. package/dist/product/EmptyState.d.ts.map +1 -1
  337. package/dist/product/EmptyState.js +2 -1
  338. package/dist/product/EmptyState.js.map +1 -1
  339. package/dist/product/Filters.cjs +3 -1
  340. package/dist/product/Filters.d.ts.map +1 -1
  341. package/dist/product/Filters.js +3 -1
  342. package/dist/product/Filters.js.map +1 -1
  343. package/dist/product/MenuRow.cjs +3 -2
  344. package/dist/product/MenuRow.d.ts.map +1 -1
  345. package/dist/product/MenuRow.js +3 -2
  346. package/dist/product/MenuRow.js.map +1 -1
  347. package/dist/product/Pagination.cjs +2 -1
  348. package/dist/product/Pagination.d.ts.map +1 -1
  349. package/dist/product/Pagination.js +2 -1
  350. package/dist/product/Pagination.js.map +1 -1
  351. package/dist/product/Palette.cjs +1 -1
  352. package/dist/product/Palette.js +1 -1
  353. package/dist/product/Palette.js.map +1 -1
  354. package/dist/product/SiteFooter.cjs +1 -1
  355. package/dist/product/SiteFooter.js +1 -1
  356. package/dist/product/SiteFooter.js.map +1 -1
  357. package/dist/product/SiteNav.cjs +3 -3
  358. package/dist/product/SiteNav.js +3 -3
  359. package/dist/product/SiteNav.js.map +1 -1
  360. package/dist/product/SlideOver.cjs +12 -6
  361. package/dist/product/SlideOver.d.ts +9 -4
  362. package/dist/product/SlideOver.d.ts.map +1 -1
  363. package/dist/product/SlideOver.js +12 -6
  364. package/dist/product/SlideOver.js.map +1 -1
  365. package/dist/product/Split.cjs +9 -3
  366. package/dist/product/Split.d.ts.map +1 -1
  367. package/dist/product/Split.js +9 -3
  368. package/dist/product/Split.js.map +1 -1
  369. package/dist/product/Toast.cjs +2 -2
  370. package/dist/product/Toast.js +2 -2
  371. package/dist/product/Toast.js.map +1 -1
  372. package/dist/product/account.cjs +2 -1
  373. package/dist/product/account.d.ts.map +1 -1
  374. package/dist/product/account.js +2 -1
  375. package/dist/product/account.js.map +1 -1
  376. package/dist/product/menu/items.cjs +2 -1
  377. package/dist/product/menu/items.d.ts.map +1 -1
  378. package/dist/product/menu/items.js +2 -1
  379. package/dist/product/menu/items.js.map +1 -1
  380. package/dist/product/social/SocialResource.cjs +3 -2
  381. package/dist/product/social/SocialResource.d.ts.map +1 -1
  382. package/dist/product/social/SocialResource.js +3 -2
  383. package/dist/product/social/SocialResource.js.map +1 -1
  384. package/dist/settings/Settings.cjs +1 -1
  385. package/dist/settings/Settings.js +1 -1
  386. package/dist/settings/Settings.js.map +1 -1
  387. package/dist/styles/document.css +1 -1
  388. package/dist/styles/motion.css +25 -0
  389. package/dist/styles.css +456 -153
  390. package/dist/theme.css +238 -8
  391. package/package.json +6 -3
package/dist/theme.css CHANGED
@@ -802,9 +802,10 @@
802
802
  }
803
803
 
804
804
  /* ── tokens/fonts.css ─────────────────────────────────────── */
805
- /* Zen — the only family on Hanzo surfaces, sans and mono.
805
+ /* Zen — the family on Hanzo surfaces, sans and mono, and its Arabic companions.
806
806
  SELF-HOSTED. The faces ship inside this package (assets/fonts/*.woff2, two
807
- variable files, 141 KB total, SIL OFL-1.1 — see assets/fonts/LICENSE-Zen.txt).
807
+ variable files, 141 KB total, SIL OFL-1.1 — see assets/fonts/LICENSE-Zen.txt),
808
+ with two Arabic companions beside them (below).
808
809
 
809
810
  Zen is our own family, under the SIL Open Font License. The licence file
810
811
  beside the binaries carries every copyright the OFL requires; nothing else in
@@ -853,11 +854,51 @@
853
854
 
854
855
 
855
856
 
857
+ /* ARABIC. Zen draws Latin and Cyrillic and no Arabic, so an Arabic page used to
858
+ fall to whatever face each browser picked. @hanzo/font carries two Arabic
859
+ companions, variable over Zen's own weight axis and cut to the Arabic blocks,
860
+ and they are copied here with the Zen faces: Noto Kufi Arabic (the default,
861
+ geometric like Zen) and Noto Sans Arabic. Both draw every Arabic-script
862
+ language Hanzo ships. They are not ours and keep their names; their licence is
863
+ assets/fonts/LICENSE-Arabic.txt.
864
+
865
+ THE RANGE IS THE WHOLE TRICK. Each face covers the Arabic blocks only, so a
866
+ page with no Arabic on it never requests one, and Latin inside an Arabic page
867
+ is still Zen. The joiners (U+200C-200F) are drawn by the files but kept out of
868
+ the range: an English page with an emoji ZWJ sequence would otherwise fetch an
869
+ Arabic face for one invisible character.
870
+
871
+ Every stack below names `--font-arabic` FIRST. A family whose range excludes a
872
+ character is passed over without a download, so Latin falls through to Zen,
873
+ and the "first available font" a line box and `ch` are measured from is still
874
+ Zen (its range covers the space; the companion's does not). That is what makes
875
+ the choice one property: `@hanzo/appearance` writes `--font-arabic`, and sans,
876
+ mono and serif follow.
877
+
878
+ The default is ALSO declared under "Zen" and "Zen Mono", for anything that
879
+ names a family rather than a token. That only works because its descriptors
880
+ are Zen's exactly (weight 100 900, normal): faces in one family composite only
881
+ when everything but the range matches, and a companion declared at another
882
+ weight wins the weight match for Latin too, refuses every Latin letter, and
883
+ sends the page to the system sans with no font request to show for it.
884
+
885
+ `block` for the reason Zen has it: an Arabic page waits a moment for its face
886
+ rather than painting the platform's and repainting. */
887
+
888
+
889
+
890
+
891
+
856
892
  :root{
857
- --font-sans:Zen, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
893
+ /* The Arabic companions by what they are, and the one in use. A person's
894
+ choice replaces --font-arabic with one of the two names above it. */
895
+ --font-arabic-kufi:"Noto Kufi Arabic";
896
+ --font-arabic-sans:"Noto Sans Arabic";
897
+ --font-arabic:var(--font-arabic-kufi);
898
+ --font-sans:var(--font-arabic), Zen, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
858
899
  --font-display:var(--font-sans);
859
- --font-mono:Zen Mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
860
- --font-serif:Georgia,serif;
900
+ --font-mono:var(--font-arabic), Zen Mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
901
+ --font-serif:var(--font-arabic), Georgia, serif;
861
902
  /* The default is Zen as drawn, and that is a decision rather than an omission.
862
903
  `base.css` puts this on <body>, so whatever is here is the voice of every
863
904
  surface in the estate — which is exactly why it should not carry a brand's.
@@ -2115,7 +2156,12 @@
2115
2156
 
2116
2157
  @layer hanzo.font {
2117
2158
  :root {
2118
- --font-sans: var(--font-sans-provided, 'Zen', ui-sans-serif, system-ui, sans-serif);
2159
+ /* `--font-script` is the face for the page's writing system, which
2160
+ lang.css sets per :lang() — Arabic, Hebrew, Devanagari, Thai, CJK and the
2161
+ rest. It follows the brand face, so Latin keeps Zen and every glyph Zen
2162
+ lacks falls through to a face drawn for it. Unset, the stack is the one
2163
+ this always was. */
2164
+ --font-sans: var(--font-sans-provided, 'Zen'), var(--font-script, ui-sans-serif), system-ui, sans-serif;
2119
2165
  --font-mono: var(--font-mono-provided, 'Zen Mono', ui-monospace, monospace);
2120
2166
  }
2121
2167
  }
@@ -2328,14 +2374,15 @@
2328
2374
  color: var(--foreground);
2329
2375
  font-family: var(--font-sans), sans-serif;
2330
2376
  font-size: var(--text-base);
2331
- line-height: var(--leading-base, var(--leading-normal));
2377
+ /* `--leading-lang` opens the line for scripts with tall marks (lang.css). */
2378
+ line-height: calc(var(--leading-base, var(--leading-normal)) * var(--leading-lang, 1));
2332
2379
  }
2333
2380
 
2334
2381
  [data-slot='prose'] > h1, [data-slot='prose'] > h2, [data-slot='prose'] > h3,
2335
2382
  [data-slot='prose'] > h4, [data-slot='prose'] > h5, [data-slot='prose'] > h6 {
2336
2383
  font-family: var(--font-display, var(--font-sans)), sans-serif;
2337
2384
  font-weight: 606;
2338
- line-height: var(--leading-tight);
2385
+ line-height: calc(var(--leading-tight) * var(--leading-lang, 1));
2339
2386
  letter-spacing: var(--tracking-tight);
2340
2387
  margin: 0;
2341
2388
  }
@@ -2438,6 +2485,20 @@
2438
2485
  [data-slot='prose'][data-size='responsive'] > h2 { font-size: var(--text-5xl) }
2439
2486
  }
2440
2487
 
2488
+ /* DIRECTION. Sides are logical properties throughout, so a page follows
2489
+ <html dir="rtl"> with no rule here. An icon whose meaning is a direction along
2490
+ the line (back, forward, next, a drill-in chevron, send) carries
2491
+ `data-i18n-mirror` (the `mirror` helper) and turns with the line. `:dir()`
2492
+ rather than `html[dir]`, so an LTR island inside an RTL page keeps its
2493
+ arrows; the same declaration @hanzo/i18n's rtl.css and @hanzo/gui's base sheet
2494
+ state, so any number of them on one page mirror an icon once. */
2495
+ [data-i18n-mirror]:dir(rtl) { transform: scaleX(-1) }
2496
+
2497
+ /* Text whose order is not language (a shortcut, a key chord, an email or URL
2498
+ field) carries `data-i18n-ltr` (the `ltr` helper) and stays left to right,
2499
+ isolated so the line around it keeps its own order. */
2500
+ [data-i18n-ltr] { direction: ltr; unicode-bidi: isolate }
2501
+
2441
2502
  /* Glass — the material floating chrome is made of, and the ladder it stands on.
2442
2503
  *
2443
2504
  * import '@hanzo/ui/glass.css' // this slice alone
@@ -2839,6 +2900,16 @@
2839
2900
  will-change: transform;
2840
2901
  }
2841
2902
 
2903
+ /* Where a panel waits off screen, by the edge it slides from. A translate has no
2904
+ logical form, so the reading edges resolve here: `end` is off the right under
2905
+ LTR and off the left under RTL. */
2906
+ [data-slide-from='end'],
2907
+ [data-slide-from='right'] { --slide-off: 100%; }
2908
+ [data-slide-from='start'],
2909
+ [data-slide-from='left'] { --slide-off: -100%; }
2910
+ [data-slide-from='end']:dir(rtl) { --slide-off: -100%; }
2911
+ [data-slide-from='start']:dir(rtl) { --slide-off: 100%; }
2912
+
2842
2913
  [data-motion='drag'] {
2843
2914
  touch-action: none;
2844
2915
  transition: transform 180ms cubic-bezier(0.16, 1, 0.3, 1);
@@ -3018,6 +3089,16 @@
3018
3089
  animation: sweep var(--duration-loop, 1.5s) ease-in-out infinite;
3019
3090
  }
3020
3091
 
3092
+ /* Under RTL the bar starts at the right edge and crosses the way the line reads. */
3093
+ @keyframes sweep-rtl {
3094
+ from { transform: translateX(100%); }
3095
+ to { transform: translateX(-400%); }
3096
+ }
3097
+
3098
+ [data-motion='sweep']:dir(rtl) {
3099
+ animation-name: sweep-rtl;
3100
+ }
3101
+
3021
3102
  @keyframes orbit {
3022
3103
  from { transform: rotate(-90deg); }
3023
3104
  to { transform: rotate(270deg); }
@@ -3037,6 +3118,11 @@
3037
3118
  animation: drain var(--drain, 6000ms) linear forwards;
3038
3119
  }
3039
3120
 
3121
+ /* A fill empties toward the inline start: the right edge under RTL. */
3122
+ [data-motion='drain']:dir(rtl) {
3123
+ transform-origin: right center;
3124
+ }
3125
+
3040
3126
  [data-motion='drain'][data-paused] {
3041
3127
  animation-play-state: paused;
3042
3128
  }
@@ -3053,3 +3139,147 @@
3053
3139
  animation-play-state: paused;
3054
3140
  }
3055
3141
  }
3142
+
3143
+ /**
3144
+ * @hanzo/ui/lang.css — type for every writing system the interface ships in.
3145
+ *
3146
+ * import '@hanzo/ui/lang.css' (theme.css already carries it)
3147
+ *
3148
+ * Driven by the document's language, `<html lang>`, which @hanzo/i18n sets
3149
+ * together with `dir`. Direction itself lives in @hanzo/i18n's rtl.css and in
3150
+ * the components' logical properties; this file is the TYPE half:
3151
+ *
3152
+ * 1. a face per script (`--font-script`). theme.css puts it after the brand
3153
+ * face, so Latin stays Zen and every glyph Zen lacks falls through to a
3154
+ * face drawn for its script. Noto first, because it covers every script
3155
+ * here at one weight axis, then the face each platform ships, so a machine
3156
+ * without Noto still renders the script as its own people expect.
3157
+ * 2. line height for scripts whose marks stand above or hang below the
3158
+ * Latin line (`--leading-lang`, a multiplier the type ladder and prose
3159
+ * read). Latin, Cyrillic, Greek, Hebrew, Georgian, Armenian: 1.
3160
+ * 3. no letter-spacing on connected scripts. Arabic joins letter to letter
3161
+ * and the Indic headstroke runs across a word; tracking pulls both apart.
3162
+ * 4. no brand tweaks on Arabic-script text: the `ss01` stylistic set and
3163
+ * `text-transform` are Latin ideas (a single-storey a, capitals).
3164
+ * 5. numerals that line up in tables in every script.
3165
+ *
3166
+ * Every selector is `:lang()`, which matches by prefix: `:lang(fa)` takes fa-IR
3167
+ * and fa-AF, `:lang(pa-Arab)` takes pa-Arab-PK and leaves Gurmukhi pa alone.
3168
+ */
3169
+
3170
+ /* ── 1. Faces ──────────────────────────────────────────────────────────── */
3171
+
3172
+ /* Arabic script, Naskh: Arabic, Persian (Iran and Afghanistan), Pashto,
3173
+ Sorani Kurdish, Uyghur. Noto Sans Arabic for the interface, Noto Naskh Arabic
3174
+ behind it for the letters Sans lacks. */
3175
+ :is(:lang(ar), :lang(fa), :lang(prs), :lang(ps), :lang(ckb), :lang(ku-Arab), :lang(ug), :lang(ks), :lang(bal), :lang(glk), :lang(mzn)) {
3176
+ --font-script: 'Noto Sans Arabic', 'Noto Naskh Arabic', 'SF Arabic', 'Geeza Pro', 'Segoe UI', Tahoma, ui-sans-serif;
3177
+ }
3178
+
3179
+ /* Sindhi is set in Naskh, whose letter forms it was drawn in; Sans lacks
3180
+ several of its dotted letters. */
3181
+ :lang(sd) {
3182
+ --font-script: 'Noto Naskh Arabic', 'Noto Sans Arabic', 'Segoe UI', Tahoma, ui-sans-serif;
3183
+ }
3184
+
3185
+ /* Nastaliq: Urdu and Shahmukhi Punjabi read in it, and Naskh reads to them as
3186
+ Arabic. Naskh behind it for anything Nastaliq does not cover. */
3187
+ :is(:lang(ur), :lang(pa-Arab), :lang(pnb), :lang(skr)) {
3188
+ --font-script: 'Noto Nastaliq Urdu', 'Urdu Typesetting', 'Jameel Noori Nastaleeq', 'Noto Naskh Arabic', 'Noto Sans Arabic', 'Segoe UI', Tahoma, ui-sans-serif;
3189
+ }
3190
+
3191
+ :is(:lang(he), :lang(yi)) {
3192
+ --font-script: 'Noto Sans Hebrew', 'Arial Hebrew', 'Segoe UI', ui-sans-serif;
3193
+ }
3194
+
3195
+ :is(:lang(hi), :lang(mr), :lang(ne), :lang(sa), :lang(bho), :lang(mai), :lang(kok), :lang(doi)) {
3196
+ --font-script: 'Noto Sans Devanagari', 'Kohinoor Devanagari', 'Devanagari Sangam MN', 'Nirmala UI', 'Mangal', ui-sans-serif;
3197
+ }
3198
+ :is(:lang(bn), :lang(as), :lang(mni)) {
3199
+ --font-script: 'Noto Sans Bengali', 'Kohinoor Bangla', 'Bangla Sangam MN', 'Nirmala UI', 'Vrinda', ui-sans-serif;
3200
+ }
3201
+ :lang(ta) { --font-script: 'Noto Sans Tamil', 'Tamil Sangam MN', 'Nirmala UI', 'Latha', ui-sans-serif; }
3202
+ :lang(te) { --font-script: 'Noto Sans Telugu', 'Kohinoor Telugu', 'Telugu Sangam MN', 'Nirmala UI', 'Gautami', ui-sans-serif; }
3203
+ :lang(kn) { --font-script: 'Noto Sans Kannada', 'Kannada Sangam MN', 'Nirmala UI', 'Tunga', ui-sans-serif; }
3204
+ :lang(ml) { --font-script: 'Noto Sans Malayalam', 'Malayalam Sangam MN', 'Nirmala UI', 'Kartika', ui-sans-serif; }
3205
+ :lang(gu) { --font-script: 'Noto Sans Gujarati', 'Kohinoor Gujarati', 'Gujarati Sangam MN', 'Nirmala UI', 'Shruti', ui-sans-serif; }
3206
+ /* Gurmukhi is Punjabi's default script; Shahmukhi took pa-Arab above. */
3207
+ :is(:lang(pa), :lang(pa-Guru)):not(:lang(pa-Arab)) {
3208
+ --font-script: 'Noto Sans Gurmukhi', 'Gurmukhi Sangam MN', 'Nirmala UI', 'Raavi', ui-sans-serif;
3209
+ }
3210
+ :lang(si) { --font-script: 'Noto Sans Sinhala', 'Sinhala Sangam MN', 'Nirmala UI', 'Iskoola Pota', ui-sans-serif; }
3211
+ :lang(th) { --font-script: 'Noto Sans Thai', 'Thonburi', 'Leelawadee UI', 'Tahoma', ui-sans-serif; }
3212
+ :lang(lo) { --font-script: 'Noto Sans Lao', 'Lao Sangam MN', 'Leelawadee UI', 'Lao UI', ui-sans-serif; }
3213
+ :lang(km) { --font-script: 'Noto Sans Khmer', 'Khmer Sangam MN', 'Leelawadee UI', 'Khmer UI', ui-sans-serif; }
3214
+ :lang(my) { --font-script: 'Noto Sans Myanmar', 'Myanmar Sangam MN', 'Myanmar Text', ui-sans-serif; }
3215
+ :is(:lang(bo), :lang(dz)) { --font-script: 'Noto Serif Tibetan', 'Noto Sans Tibetan', 'Kailasa', 'Microsoft Himalaya', ui-sans-serif; }
3216
+ :lang(ka) { --font-script: 'Noto Sans Georgian', 'Helvetica Neue', 'Sylfaen', ui-sans-serif; }
3217
+ :lang(hy) { --font-script: 'Noto Sans Armenian', 'Mshtakan', 'Sylfaen', ui-sans-serif; }
3218
+ :is(:lang(am), :lang(ti), :lang(om-Ethi)) { --font-script: 'Noto Sans Ethiopic', 'Kefa', 'Nyala', 'Ebrima', ui-sans-serif; }
3219
+
3220
+ /* Han is unified across Chinese, Japanese and Korean, and each reads the
3221
+ others' forms of the same character as foreign. So the face is chosen by
3222
+ language, never by script alone. */
3223
+ :is(:lang(zh-Hans), :lang(zh-CN), :lang(zh-SG), :lang(zh)) {
3224
+ --font-script: 'Noto Sans SC', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', ui-sans-serif;
3225
+ }
3226
+ :is(:lang(zh-Hant), :lang(zh-TW)) {
3227
+ --font-script: 'Noto Sans TC', 'PingFang TC', 'Microsoft JhengHei', ui-sans-serif;
3228
+ }
3229
+ :is(:lang(zh-HK), :lang(zh-MO)) { --font-script: 'Noto Sans HK', 'PingFang HK', 'Microsoft JhengHei', ui-sans-serif; }
3230
+ :lang(ja) { --font-script: 'Noto Sans JP', 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', 'Yu Gothic UI', 'Meiryo', ui-sans-serif; }
3231
+ :lang(ko) { --font-script: 'Noto Sans KR', 'Apple SD Gothic Neo', 'Malgun Gothic', ui-sans-serif; }
3232
+
3233
+ /* ── 2. Line height ─────────────────────────────────────────────────────── */
3234
+
3235
+ /* Marks above and below the line: Arabic harakat, the Indic matras and
3236
+ conjuncts, Thai and Lao tone marks stacked over vowels, Khmer subscripts,
3237
+ Burmese medials, Tibetan stacks. Measured against the Latin ladder, which
3238
+ sets 14px on 20px: these need roughly 1.15x to 1.5x the space to keep one
3239
+ line's marks out of the next. */
3240
+ :is(:lang(ar), :lang(fa), :lang(prs), :lang(ps), :lang(ckb), :lang(ku-Arab), :lang(ug), :lang(sd), :lang(ks), :lang(bal), :lang(glk), :lang(mzn)) { --leading-lang: 1.15; }
3241
+ :is(:lang(hi), :lang(mr), :lang(ne), :lang(sa), :lang(bho), :lang(mai), :lang(kok), :lang(doi), :lang(bn), :lang(as), :lang(mni), :lang(gu), :lang(pa), :lang(ta), :lang(te), :lang(kn), :lang(ml), :lang(si)) { --leading-lang: 1.2; }
3242
+ :is(:lang(th), :lang(lo)) { --leading-lang: 1.25; }
3243
+ :is(:lang(km), :lang(my)) { --leading-lang: 1.35; }
3244
+ :is(:lang(bo), :lang(dz)) { --leading-lang: 1.4; }
3245
+ :is(:lang(zh), :lang(ja), :lang(ko), :lang(am), :lang(ti)) { --leading-lang: 1.1; }
3246
+ /* Nastaliq descends along a diagonal baseline; each word steps down from its
3247
+ first letter, so a line needs half again its Latin height. After the Naskh
3248
+ rule so pa-Arab takes this one rather than Gurmukhi's. */
3249
+ :is(:lang(ur), :lang(pa-Arab), :lang(pnb), :lang(skr)) { --leading-lang: 1.5; }
3250
+
3251
+ /* The body's own leading, for content that arrives as bare tags. Only where a
3252
+ script above asked for more, so a host that brings its own body leading and
3253
+ no tall script keeps it untouched. */
3254
+ :root:is(:lang(ar), :lang(fa), :lang(prs), :lang(ps), :lang(ckb), :lang(ku-Arab), :lang(ug), :lang(sd), :lang(ks), :lang(bal), :lang(glk), :lang(mzn), :lang(ur), :lang(pa-Arab), :lang(pnb), :lang(skr), :lang(hi), :lang(mr), :lang(ne), :lang(sa), :lang(bho), :lang(mai), :lang(kok), :lang(doi), :lang(bn), :lang(as), :lang(mni), :lang(gu), :lang(pa), :lang(ta), :lang(te), :lang(kn), :lang(ml), :lang(si), :lang(th), :lang(lo), :lang(km), :lang(my), :lang(bo), :lang(dz), :lang(zh), :lang(ja), :lang(ko), :lang(am), :lang(ti)) body {
3255
+ line-height: calc(var(--leading-base, 1.35rem) * var(--leading-lang));
3256
+ }
3257
+
3258
+ /* ── 3 and 4. Connected scripts: no tracking, no Latin tweaks ───────────── */
3259
+
3260
+ /* !important because the type ladder states its tracking as an atomic class
3261
+ on the element itself (-0.025em on headline rungs), and a class on the
3262
+ element beats anything inherited. Tracking a connected script is never a
3263
+ choice; it breaks the joins. */
3264
+ :is(:lang(ar), :lang(fa), :lang(prs), :lang(ps), :lang(ckb), :lang(ku-Arab), :lang(ug), :lang(sd), :lang(ks), :lang(bal), :lang(glk), :lang(mzn), :lang(ur), :lang(pa-Arab), :lang(pnb), :lang(skr), :lang(syr), :lang(nqo), :lang(mn-Mong)) {
3265
+ letter-spacing: 0 !important;
3266
+ /* `ss01` is the brand's single-storey a; in an Arabic face the same tag
3267
+ names an unrelated alternate, or a different letter entirely. */
3268
+ --font-feature-settings: normal;
3269
+ font-feature-settings: normal;
3270
+ text-transform: none !important;
3271
+ }
3272
+ /* The headstroke of Devanagari, Bengali and Gurmukhi is one line across a
3273
+ word; tracking breaks it into letters. */
3274
+ :is(:lang(hi), :lang(mr), :lang(ne), :lang(sa), :lang(bho), :lang(mai), :lang(kok), :lang(doi), :lang(bn), :lang(as), :lang(mni), :lang(pa)) {
3275
+ letter-spacing: 0 !important;
3276
+ }
3277
+
3278
+ /* ── 5. Numerals ────────────────────────────────────────────────────────── */
3279
+
3280
+ /* Tables and counters align digits whatever the language, and Persian and
3281
+ Arabic-Indic digits come in a tabular form in the same faces. Code, URLs and
3282
+ email stay left to right with their own numerals (rtl.css isolates them). */
3283
+ :is(:lang(ar), :lang(fa), :lang(prs), :lang(ps), :lang(ckb), :lang(ug), :lang(sd), :lang(ur), :lang(pa-Arab), :lang(pnb), :lang(he)) :where(td, th, data, time, output, meter, .hz-tnum, [data-numeric]) {
3284
+ font-variant-numeric: tabular-nums;
3285
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hanzo/ui",
3
- "version": "8.29.10",
3
+ "version": "8.29.12",
4
4
  "type": "module",
5
5
  "description": "Hanzo UI — the one canonical Hanzo component library, on @hanzo/gui + @hanzo/design. ONE substrate: every component renders through @hanzo/gui primitives, so the same import works on web, native (expo) and desktop (Tauri). Self-contained (theme.css), presentational, host-agnostic, clean-room.",
6
6
  "exports": {
@@ -85,6 +85,7 @@
85
85
  },
86
86
  "./theme.css": "./dist/theme.css",
87
87
  "./glass.css": "./dist/glass.css",
88
+ "./lang.css": "./dist/lang.css",
88
89
  "./glass": {
89
90
  "types": "./dist/glass.d.ts",
90
91
  "import": "./dist/glass.js",
@@ -314,9 +315,9 @@
314
315
  "@codemirror/language": "^6.12.4",
315
316
  "@codemirror/state": "^6.7.6",
316
317
  "@codemirror/view": "^6.43.13",
317
- "@hanzo/appearance": "0.2.7",
318
+ "@hanzo/appearance": "0.2.11",
318
319
  "@hanzo/brand": "1.4.8",
319
- "@hanzo/design": "0.5.35",
320
+ "@hanzo/design": "0.5.37",
320
321
  "@hanzo/font": "1.9.2",
321
322
  "@hanzo/tokens": "^1.1.1",
322
323
  "@hanzo/logo": "1.0.26",
@@ -434,6 +435,8 @@
434
435
  "test:responsive": "node scripts/responsive.mjs",
435
436
  "test:contain": "node scripts/contain.mjs",
436
437
  "test:corner": "node scripts/corner.mjs",
438
+ "test:code": "node scripts/code.mjs",
439
+ "test:rtl": "node scripts/compose-theme.mjs && node scripts/rtl.mjs",
437
440
  "test:consumer": "node scripts/consumer-test.mjs",
438
441
  "test:unit": "vitest run",
439
442
  "test:consumer:webpack": "node scripts/consumer-webpack.mjs"