@ankhorage/zora 0.10.0 → 0.11.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 (443) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/README.md +23 -2
  3. package/dist/components/badge/Badge.d.ts +1 -1
  4. package/dist/components/badge/Badge.d.ts.map +1 -1
  5. package/dist/components/badge/Badge.js +3 -1
  6. package/dist/components/badge/Badge.js.map +1 -1
  7. package/dist/components/badge/types.d.ts +2 -1
  8. package/dist/components/badge/types.d.ts.map +1 -1
  9. package/dist/components/badge/types.js.map +1 -1
  10. package/dist/components/button/Button.d.ts +1 -1
  11. package/dist/components/button/Button.d.ts.map +1 -1
  12. package/dist/components/card/Card.d.ts +1 -1
  13. package/dist/components/card/Card.d.ts.map +1 -1
  14. package/dist/components/checkbox/Checkbox.d.ts +4 -0
  15. package/dist/components/checkbox/Checkbox.d.ts.map +1 -0
  16. package/dist/components/checkbox/Checkbox.js +8 -0
  17. package/dist/components/checkbox/Checkbox.js.map +1 -0
  18. package/dist/components/checkbox/CheckboxGroup.d.ts +1 -1
  19. package/dist/components/checkbox/CheckboxGroup.d.ts.map +1 -1
  20. package/dist/components/checkbox/CheckboxGroup.js +3 -1
  21. package/dist/components/checkbox/CheckboxGroup.js.map +1 -1
  22. package/dist/components/checkbox/index.d.ts +2 -3
  23. package/dist/components/checkbox/index.d.ts.map +1 -1
  24. package/dist/components/checkbox/index.js +1 -1
  25. package/dist/components/checkbox/index.js.map +1 -1
  26. package/dist/components/checkbox/types.d.ts +5 -2
  27. package/dist/components/checkbox/types.d.ts.map +1 -1
  28. package/dist/components/checkbox/types.js.map +1 -1
  29. package/dist/components/drawer/Drawer.d.ts +1 -1
  30. package/dist/components/drawer/Drawer.d.ts.map +1 -1
  31. package/dist/components/drawer/Drawer.js +3 -1
  32. package/dist/components/drawer/Drawer.js.map +1 -1
  33. package/dist/components/drawer/types.d.ts +2 -1
  34. package/dist/components/drawer/types.d.ts.map +1 -1
  35. package/dist/components/drawer/types.js.map +1 -1
  36. package/dist/components/form/Form.d.ts +1 -1
  37. package/dist/components/form/Form.d.ts.map +1 -1
  38. package/dist/components/form/Form.js +3 -1
  39. package/dist/components/form/Form.js.map +1 -1
  40. package/dist/components/form/FormActions.d.ts +1 -1
  41. package/dist/components/form/FormActions.d.ts.map +1 -1
  42. package/dist/components/form/FormActions.js +3 -1
  43. package/dist/components/form/FormActions.js.map +1 -1
  44. package/dist/components/form/FormError.d.ts +1 -1
  45. package/dist/components/form/FormError.d.ts.map +1 -1
  46. package/dist/components/form/FormError.js +6 -3
  47. package/dist/components/form/FormError.js.map +1 -1
  48. package/dist/components/form/FormField.d.ts +1 -1
  49. package/dist/components/form/FormField.d.ts.map +1 -1
  50. package/dist/components/form/FormField.js +5 -3
  51. package/dist/components/form/FormField.js.map +1 -1
  52. package/dist/components/form/types.d.ts +6 -9
  53. package/dist/components/form/types.d.ts.map +1 -1
  54. package/dist/components/form/types.js.map +1 -1
  55. package/dist/components/heading/Heading.d.ts +1 -1
  56. package/dist/components/heading/Heading.d.ts.map +1 -1
  57. package/dist/components/icon/Icon.d.ts +2 -2
  58. package/dist/components/icon/Icon.d.ts.map +1 -1
  59. package/dist/components/icon/Icon.js.map +1 -1
  60. package/dist/components/icon-button/IconButton.d.ts +1 -1
  61. package/dist/components/icon-button/IconButton.d.ts.map +1 -1
  62. package/dist/components/input/Input.d.ts +1 -1
  63. package/dist/components/input/Input.d.ts.map +1 -1
  64. package/dist/components/input/Input.js +5 -2
  65. package/dist/components/input/Input.js.map +1 -1
  66. package/dist/components/input/types.d.ts +2 -1
  67. package/dist/components/input/types.d.ts.map +1 -1
  68. package/dist/components/input/types.js.map +1 -1
  69. package/dist/components/modal/Modal.d.ts +1 -1
  70. package/dist/components/modal/Modal.d.ts.map +1 -1
  71. package/dist/components/modal/Modal.js +3 -1
  72. package/dist/components/modal/Modal.js.map +1 -1
  73. package/dist/components/modal/types.d.ts +2 -1
  74. package/dist/components/modal/types.d.ts.map +1 -1
  75. package/dist/components/modal/types.js.map +1 -1
  76. package/dist/components/radio/Radio.d.ts +4 -0
  77. package/dist/components/radio/Radio.d.ts.map +1 -0
  78. package/dist/components/radio/Radio.js +8 -0
  79. package/dist/components/radio/Radio.js.map +1 -0
  80. package/dist/components/radio/RadioGroup.d.ts +1 -1
  81. package/dist/components/radio/RadioGroup.d.ts.map +1 -1
  82. package/dist/components/radio/RadioGroup.js +3 -1
  83. package/dist/components/radio/RadioGroup.js.map +1 -1
  84. package/dist/components/radio/index.d.ts +2 -3
  85. package/dist/components/radio/index.d.ts.map +1 -1
  86. package/dist/components/radio/index.js +1 -1
  87. package/dist/components/radio/index.js.map +1 -1
  88. package/dist/components/radio/types.d.ts +5 -2
  89. package/dist/components/radio/types.d.ts.map +1 -1
  90. package/dist/components/radio/types.js.map +1 -1
  91. package/dist/components/select/Select.d.ts +1 -1
  92. package/dist/components/select/Select.d.ts.map +1 -1
  93. package/dist/components/select/Select.js +6 -3
  94. package/dist/components/select/Select.js.map +1 -1
  95. package/dist/components/select/types.d.ts +2 -2
  96. package/dist/components/select/types.d.ts.map +1 -1
  97. package/dist/components/select/types.js.map +1 -1
  98. package/dist/components/tabs/Tabs.d.ts +1 -1
  99. package/dist/components/tabs/Tabs.d.ts.map +1 -1
  100. package/dist/components/tabs/Tabs.js +6 -3
  101. package/dist/components/tabs/Tabs.js.map +1 -1
  102. package/dist/components/tabs/types.d.ts +2 -2
  103. package/dist/components/tabs/types.d.ts.map +1 -1
  104. package/dist/components/tabs/types.js.map +1 -1
  105. package/dist/components/text/Text.d.ts +1 -1
  106. package/dist/components/text/Text.d.ts.map +1 -1
  107. package/dist/components/textarea/Textarea.d.ts +1 -1
  108. package/dist/components/textarea/Textarea.d.ts.map +1 -1
  109. package/dist/components/textarea/Textarea.js +5 -2
  110. package/dist/components/textarea/Textarea.js.map +1 -1
  111. package/dist/components/textarea/types.d.ts +2 -1
  112. package/dist/components/textarea/types.d.ts.map +1 -1
  113. package/dist/components/textarea/types.js.map +1 -1
  114. package/dist/components/toolbar/Toolbar.d.ts +1 -1
  115. package/dist/components/toolbar/Toolbar.d.ts.map +1 -1
  116. package/dist/components/toolbar/Toolbar.js +3 -1
  117. package/dist/components/toolbar/Toolbar.js.map +1 -1
  118. package/dist/components/toolbar/ToolbarAction.d.ts +1 -1
  119. package/dist/components/toolbar/ToolbarAction.d.ts.map +1 -1
  120. package/dist/components/toolbar/ToolbarAction.js +3 -1
  121. package/dist/components/toolbar/ToolbarAction.js.map +1 -1
  122. package/dist/components/toolbar/types.d.ts +3 -4
  123. package/dist/components/toolbar/types.d.ts.map +1 -1
  124. package/dist/components/toolbar/types.js.map +1 -1
  125. package/dist/foundation/Box.d.ts +7 -0
  126. package/dist/foundation/Box.d.ts.map +1 -0
  127. package/dist/foundation/Box.js +8 -0
  128. package/dist/foundation/Box.js.map +1 -0
  129. package/dist/foundation/Center.d.ts +7 -0
  130. package/dist/foundation/Center.d.ts.map +1 -0
  131. package/dist/foundation/Center.js +8 -0
  132. package/dist/foundation/Center.js.map +1 -0
  133. package/dist/foundation/Container.d.ts +7 -0
  134. package/dist/foundation/Container.d.ts.map +1 -0
  135. package/dist/foundation/Container.js +8 -0
  136. package/dist/foundation/Container.js.map +1 -0
  137. package/dist/foundation/Divider.d.ts +7 -0
  138. package/dist/foundation/Divider.d.ts.map +1 -0
  139. package/dist/foundation/Divider.js +8 -0
  140. package/dist/foundation/Divider.js.map +1 -0
  141. package/dist/foundation/Grid.d.ts +7 -0
  142. package/dist/foundation/Grid.d.ts.map +1 -0
  143. package/dist/foundation/Grid.js +8 -0
  144. package/dist/foundation/Grid.js.map +1 -0
  145. package/dist/foundation/Inline.d.ts +7 -0
  146. package/dist/foundation/Inline.d.ts.map +1 -0
  147. package/dist/foundation/Inline.js +8 -0
  148. package/dist/foundation/Inline.js.map +1 -0
  149. package/dist/foundation/Show.d.ts +7 -0
  150. package/dist/foundation/Show.d.ts.map +1 -0
  151. package/dist/foundation/Show.js +8 -0
  152. package/dist/foundation/Show.js.map +1 -0
  153. package/dist/foundation/Spacer.d.ts +7 -0
  154. package/dist/foundation/Spacer.d.ts.map +1 -0
  155. package/dist/foundation/Spacer.js +8 -0
  156. package/dist/foundation/Spacer.js.map +1 -0
  157. package/dist/foundation/Stack.d.ts +7 -0
  158. package/dist/foundation/Stack.d.ts.map +1 -0
  159. package/dist/foundation/Stack.js +8 -0
  160. package/dist/foundation/Stack.js.map +1 -0
  161. package/dist/foundation/Surface.d.ts +8 -0
  162. package/dist/foundation/Surface.d.ts.map +1 -0
  163. package/dist/foundation/Surface.js +8 -0
  164. package/dist/foundation/Surface.js.map +1 -0
  165. package/dist/foundation/index.d.ts +20 -2
  166. package/dist/foundation/index.d.ts.map +1 -1
  167. package/dist/foundation/index.js +10 -1
  168. package/dist/foundation/index.js.map +1 -1
  169. package/dist/layout/app-shell/AppShell.d.ts +1 -1
  170. package/dist/layout/app-shell/AppShell.d.ts.map +1 -1
  171. package/dist/layout/app-shell/AppShell.js +3 -1
  172. package/dist/layout/app-shell/AppShell.js.map +1 -1
  173. package/dist/layout/app-shell/types.d.ts +2 -2
  174. package/dist/layout/app-shell/types.d.ts.map +1 -1
  175. package/dist/layout/app-shell/types.js.map +1 -1
  176. package/dist/layout/auth-layout/AuthLayout.d.ts +1 -1
  177. package/dist/layout/auth-layout/AuthLayout.d.ts.map +1 -1
  178. package/dist/layout/auth-layout/AuthLayout.js +3 -1
  179. package/dist/layout/auth-layout/AuthLayout.js.map +1 -1
  180. package/dist/layout/auth-layout/types.d.ts +2 -2
  181. package/dist/layout/auth-layout/types.d.ts.map +1 -1
  182. package/dist/layout/auth-layout/types.js.map +1 -1
  183. package/dist/layout/page/Page.d.ts +1 -1
  184. package/dist/layout/page/Page.d.ts.map +1 -1
  185. package/dist/layout/page/Page.js +3 -1
  186. package/dist/layout/page/Page.js.map +1 -1
  187. package/dist/layout/page/types.d.ts +2 -2
  188. package/dist/layout/page/types.d.ts.map +1 -1
  189. package/dist/layout/page/types.js.map +1 -1
  190. package/dist/layout/page-header/PageHeader.d.ts +1 -1
  191. package/dist/layout/page-header/PageHeader.d.ts.map +1 -1
  192. package/dist/layout/page-header/PageHeader.js +3 -1
  193. package/dist/layout/page-header/PageHeader.js.map +1 -1
  194. package/dist/layout/page-header/types.d.ts +2 -2
  195. package/dist/layout/page-header/types.d.ts.map +1 -1
  196. package/dist/layout/page-header/types.js.map +1 -1
  197. package/dist/layout/page-section/PageSection.d.ts +1 -1
  198. package/dist/layout/page-section/PageSection.d.ts.map +1 -1
  199. package/dist/layout/page-section/PageSection.js +3 -1
  200. package/dist/layout/page-section/PageSection.js.map +1 -1
  201. package/dist/layout/page-section/types.d.ts +2 -2
  202. package/dist/layout/page-section/types.d.ts.map +1 -1
  203. package/dist/layout/page-section/types.js.map +1 -1
  204. package/dist/layout/settings-layout/SettingsLayout.d.ts +1 -1
  205. package/dist/layout/settings-layout/SettingsLayout.d.ts.map +1 -1
  206. package/dist/layout/settings-layout/SettingsLayout.js +3 -1
  207. package/dist/layout/settings-layout/SettingsLayout.js.map +1 -1
  208. package/dist/layout/settings-layout/types.d.ts +2 -2
  209. package/dist/layout/settings-layout/types.d.ts.map +1 -1
  210. package/dist/layout/settings-layout/types.js.map +1 -1
  211. package/dist/layout/sidebar-layout/SidebarLayout.d.ts +1 -1
  212. package/dist/layout/sidebar-layout/SidebarLayout.d.ts.map +1 -1
  213. package/dist/layout/sidebar-layout/SidebarLayout.js +3 -1
  214. package/dist/layout/sidebar-layout/SidebarLayout.js.map +1 -1
  215. package/dist/layout/sidebar-layout/types.d.ts +2 -2
  216. package/dist/layout/sidebar-layout/types.d.ts.map +1 -1
  217. package/dist/layout/sidebar-layout/types.js.map +1 -1
  218. package/dist/layout/topbar-layout/TopbarLayout.d.ts +1 -1
  219. package/dist/layout/topbar-layout/TopbarLayout.d.ts.map +1 -1
  220. package/dist/layout/topbar-layout/TopbarLayout.js +3 -1
  221. package/dist/layout/topbar-layout/TopbarLayout.js.map +1 -1
  222. package/dist/layout/topbar-layout/types.d.ts +2 -2
  223. package/dist/layout/topbar-layout/types.d.ts.map +1 -1
  224. package/dist/layout/topbar-layout/types.js.map +1 -1
  225. package/dist/patterns/auth/ForgotPasswordForm.d.ts +1 -1
  226. package/dist/patterns/auth/ForgotPasswordForm.d.ts.map +1 -1
  227. package/dist/patterns/auth/ForgotPasswordForm.js +3 -1
  228. package/dist/patterns/auth/ForgotPasswordForm.js.map +1 -1
  229. package/dist/patterns/auth/OtpForm.d.ts +1 -1
  230. package/dist/patterns/auth/OtpForm.d.ts.map +1 -1
  231. package/dist/patterns/auth/OtpForm.js +3 -1
  232. package/dist/patterns/auth/OtpForm.js.map +1 -1
  233. package/dist/patterns/auth/SignInForm.d.ts +1 -1
  234. package/dist/patterns/auth/SignInForm.d.ts.map +1 -1
  235. package/dist/patterns/auth/SignInForm.js +3 -1
  236. package/dist/patterns/auth/SignInForm.js.map +1 -1
  237. package/dist/patterns/auth/SignUpForm.d.ts +1 -1
  238. package/dist/patterns/auth/SignUpForm.d.ts.map +1 -1
  239. package/dist/patterns/auth/SignUpForm.js +3 -1
  240. package/dist/patterns/auth/SignUpForm.js.map +1 -1
  241. package/dist/patterns/auth/types.d.ts +2 -2
  242. package/dist/patterns/auth/types.d.ts.map +1 -1
  243. package/dist/patterns/auth/types.js.map +1 -1
  244. package/dist/patterns/collection-editor/CollectionEditor.d.ts +1 -1
  245. package/dist/patterns/collection-editor/CollectionEditor.d.ts.map +1 -1
  246. package/dist/patterns/collection-editor/CollectionEditor.js +3 -1
  247. package/dist/patterns/collection-editor/CollectionEditor.js.map +1 -1
  248. package/dist/patterns/collection-editor/types.d.ts +2 -2
  249. package/dist/patterns/collection-editor/types.d.ts.map +1 -1
  250. package/dist/patterns/collection-editor/types.js.map +1 -1
  251. package/dist/patterns/confirm-dialog/ConfirmDialog.d.ts +1 -1
  252. package/dist/patterns/confirm-dialog/ConfirmDialog.d.ts.map +1 -1
  253. package/dist/patterns/confirm-dialog/ConfirmDialog.js +3 -1
  254. package/dist/patterns/confirm-dialog/ConfirmDialog.js.map +1 -1
  255. package/dist/patterns/confirm-dialog/types.d.ts +2 -2
  256. package/dist/patterns/confirm-dialog/types.d.ts.map +1 -1
  257. package/dist/patterns/confirm-dialog/types.js.map +1 -1
  258. package/dist/patterns/disclosure-section/DisclosureSection.d.ts +1 -1
  259. package/dist/patterns/disclosure-section/DisclosureSection.d.ts.map +1 -1
  260. package/dist/patterns/disclosure-section/DisclosureSection.js +3 -1
  261. package/dist/patterns/disclosure-section/DisclosureSection.js.map +1 -1
  262. package/dist/patterns/disclosure-section/types.d.ts +2 -2
  263. package/dist/patterns/disclosure-section/types.d.ts.map +1 -1
  264. package/dist/patterns/disclosure-section/types.js.map +1 -1
  265. package/dist/patterns/empty-state/EmptyState.d.ts +1 -1
  266. package/dist/patterns/empty-state/EmptyState.d.ts.map +1 -1
  267. package/dist/patterns/empty-state/EmptyState.js +3 -1
  268. package/dist/patterns/empty-state/EmptyState.js.map +1 -1
  269. package/dist/patterns/empty-state/types.d.ts +2 -2
  270. package/dist/patterns/empty-state/types.d.ts.map +1 -1
  271. package/dist/patterns/empty-state/types.js.map +1 -1
  272. package/dist/patterns/form-field/FormField.d.ts +1 -1
  273. package/dist/patterns/form-field/FormField.d.ts.map +1 -1
  274. package/dist/patterns/form-field/FormField.js +3 -1
  275. package/dist/patterns/form-field/FormField.js.map +1 -1
  276. package/dist/patterns/form-field/types.d.ts +2 -1
  277. package/dist/patterns/form-field/types.d.ts.map +1 -1
  278. package/dist/patterns/form-field/types.js.map +1 -1
  279. package/dist/patterns/inspector-field/InspectorField.d.ts +1 -1
  280. package/dist/patterns/inspector-field/InspectorField.d.ts.map +1 -1
  281. package/dist/patterns/inspector-field/InspectorField.js +3 -1
  282. package/dist/patterns/inspector-field/InspectorField.js.map +1 -1
  283. package/dist/patterns/inspector-field/types.d.ts +2 -2
  284. package/dist/patterns/inspector-field/types.d.ts.map +1 -1
  285. package/dist/patterns/inspector-field/types.js.map +1 -1
  286. package/dist/patterns/notice/Notice.d.ts +1 -1
  287. package/dist/patterns/notice/Notice.d.ts.map +1 -1
  288. package/dist/patterns/notice/Notice.js +3 -1
  289. package/dist/patterns/notice/Notice.js.map +1 -1
  290. package/dist/patterns/notice/types.d.ts +2 -2
  291. package/dist/patterns/notice/types.d.ts.map +1 -1
  292. package/dist/patterns/notice/types.js.map +1 -1
  293. package/dist/patterns/panel/Panel.d.ts +1 -1
  294. package/dist/patterns/panel/Panel.d.ts.map +1 -1
  295. package/dist/patterns/responsive-panel/ResponsivePanel.d.ts +1 -1
  296. package/dist/patterns/responsive-panel/ResponsivePanel.d.ts.map +1 -1
  297. package/dist/patterns/responsive-panel/ResponsivePanel.js +3 -1
  298. package/dist/patterns/responsive-panel/ResponsivePanel.js.map +1 -1
  299. package/dist/patterns/responsive-panel/types.d.ts +2 -2
  300. package/dist/patterns/responsive-panel/types.d.ts.map +1 -1
  301. package/dist/patterns/responsive-panel/types.js.map +1 -1
  302. package/dist/patterns/section-header/SectionHeader.d.ts +1 -1
  303. package/dist/patterns/section-header/SectionHeader.d.ts.map +1 -1
  304. package/dist/patterns/section-header/SectionHeader.js +3 -1
  305. package/dist/patterns/section-header/SectionHeader.js.map +1 -1
  306. package/dist/patterns/section-header/types.d.ts +2 -2
  307. package/dist/patterns/section-header/types.d.ts.map +1 -1
  308. package/dist/patterns/section-header/types.js.map +1 -1
  309. package/dist/patterns/settings-row/SettingsRow.d.ts +1 -1
  310. package/dist/patterns/settings-row/SettingsRow.d.ts.map +1 -1
  311. package/dist/patterns/settings-row/SettingsRow.js +3 -1
  312. package/dist/patterns/settings-row/SettingsRow.js.map +1 -1
  313. package/dist/patterns/settings-row/types.d.ts +2 -2
  314. package/dist/patterns/settings-row/types.d.ts.map +1 -1
  315. package/dist/patterns/settings-row/types.js.map +1 -1
  316. package/dist/patterns/switch-field/SwitchField.d.ts +1 -1
  317. package/dist/patterns/switch-field/SwitchField.d.ts.map +1 -1
  318. package/dist/patterns/switch-field/SwitchField.js +3 -1
  319. package/dist/patterns/switch-field/SwitchField.js.map +1 -1
  320. package/dist/patterns/switch-field/types.d.ts +2 -2
  321. package/dist/patterns/switch-field/types.d.ts.map +1 -1
  322. package/dist/patterns/switch-field/types.js.map +1 -1
  323. package/dist/patterns/tile-grid/PaletteItem.d.ts +1 -1
  324. package/dist/patterns/tile-grid/PaletteItem.d.ts.map +1 -1
  325. package/dist/patterns/tile-grid/PaletteItem.js +6 -3
  326. package/dist/patterns/tile-grid/PaletteItem.js.map +1 -1
  327. package/dist/patterns/tile-grid/TileGrid.d.ts +1 -1
  328. package/dist/patterns/tile-grid/TileGrid.d.ts.map +1 -1
  329. package/dist/patterns/tile-grid/TileGrid.js +3 -1
  330. package/dist/patterns/tile-grid/TileGrid.js.map +1 -1
  331. package/dist/patterns/tile-grid/types.d.ts +3 -4
  332. package/dist/patterns/tile-grid/types.d.ts.map +1 -1
  333. package/dist/patterns/tile-grid/types.js.map +1 -1
  334. package/dist/patterns/tree-view/TreeItem.d.ts +3 -2
  335. package/dist/patterns/tree-view/TreeItem.d.ts.map +1 -1
  336. package/dist/patterns/tree-view/TreeItem.js +4 -2
  337. package/dist/patterns/tree-view/TreeItem.js.map +1 -1
  338. package/dist/patterns/tree-view/TreeView.d.ts +1 -1
  339. package/dist/patterns/tree-view/TreeView.d.ts.map +1 -1
  340. package/dist/patterns/tree-view/TreeView.js +3 -1
  341. package/dist/patterns/tree-view/TreeView.js.map +1 -1
  342. package/dist/patterns/tree-view/types.d.ts +2 -2
  343. package/dist/patterns/tree-view/types.d.ts.map +1 -1
  344. package/dist/patterns/tree-view/types.js.map +1 -1
  345. package/dist/theme/withZoraThemeScope.d.ts +1 -1
  346. package/dist/theme/withZoraThemeScope.d.ts.map +1 -1
  347. package/dist/theme/withZoraThemeScope.js +2 -2
  348. package/dist/theme/withZoraThemeScope.js.map +1 -1
  349. package/package.json +1 -1
  350. package/src/components/badge/Badge.tsx +12 -1
  351. package/src/components/badge/types.ts +5 -4
  352. package/src/components/checkbox/Checkbox.tsx +11 -0
  353. package/src/components/checkbox/CheckboxGroup.tsx +6 -1
  354. package/src/components/checkbox/index.ts +2 -3
  355. package/src/components/checkbox/types.ts +13 -5
  356. package/src/components/drawer/Drawer.tsx +13 -1
  357. package/src/components/drawer/types.ts +9 -4
  358. package/src/components/form/Form.tsx +6 -1
  359. package/src/components/form/FormActions.tsx +6 -1
  360. package/src/components/form/FormError.tsx +7 -3
  361. package/src/components/form/FormField.tsx +24 -3
  362. package/src/components/form/types.ts +12 -12
  363. package/src/components/icon/Icon.tsx +1 -1
  364. package/src/components/input/Input.tsx +13 -2
  365. package/src/components/input/types.ts +8 -4
  366. package/src/components/modal/Modal.tsx +6 -1
  367. package/src/components/modal/types.ts +5 -4
  368. package/src/components/radio/Radio.tsx +11 -0
  369. package/src/components/radio/RadioGroup.tsx +6 -1
  370. package/src/components/radio/index.ts +2 -3
  371. package/src/components/radio/types.ts +12 -5
  372. package/src/components/select/Select.tsx +9 -3
  373. package/src/components/select/types.ts +3 -2
  374. package/src/components/tabs/Tabs.tsx +9 -3
  375. package/src/components/tabs/types.ts +2 -2
  376. package/src/components/textarea/Textarea.tsx +13 -2
  377. package/src/components/textarea/types.ts +8 -4
  378. package/src/components/toolbar/Toolbar.tsx +6 -1
  379. package/src/components/toolbar/ToolbarAction.tsx +9 -1
  380. package/src/components/toolbar/types.ts +4 -4
  381. package/src/foundation/Box.tsx +13 -0
  382. package/src/foundation/Center.tsx +16 -0
  383. package/src/foundation/Container.tsx +17 -0
  384. package/src/foundation/Divider.tsx +17 -0
  385. package/src/foundation/Grid.tsx +13 -0
  386. package/src/foundation/Inline.tsx +16 -0
  387. package/src/foundation/Show.tsx +13 -0
  388. package/src/foundation/Spacer.tsx +16 -0
  389. package/src/foundation/Stack.tsx +13 -0
  390. package/src/foundation/Surface.tsx +20 -0
  391. package/src/foundation/index.test.ts +2 -2
  392. package/src/foundation/index.ts +20 -25
  393. package/src/layout/app-shell/AppShell.tsx +6 -1
  394. package/src/layout/app-shell/types.ts +3 -2
  395. package/src/layout/auth-layout/AuthLayout.tsx +6 -1
  396. package/src/layout/auth-layout/types.ts +3 -2
  397. package/src/layout/page/Page.tsx +12 -1
  398. package/src/layout/page/types.ts +2 -2
  399. package/src/layout/page-header/PageHeader.tsx +6 -1
  400. package/src/layout/page-header/types.ts +3 -2
  401. package/src/layout/page-section/PageSection.tsx +12 -1
  402. package/src/layout/page-section/types.ts +3 -2
  403. package/src/layout/settings-layout/SettingsLayout.tsx +6 -1
  404. package/src/layout/settings-layout/types.ts +3 -2
  405. package/src/layout/sidebar-layout/SidebarLayout.tsx +6 -1
  406. package/src/layout/sidebar-layout/types.ts +3 -2
  407. package/src/layout/topbar-layout/TopbarLayout.tsx +11 -1
  408. package/src/layout/topbar-layout/types.ts +3 -2
  409. package/src/patterns/auth/ForgotPasswordForm.tsx +6 -1
  410. package/src/patterns/auth/OtpForm.tsx +6 -1
  411. package/src/patterns/auth/SignInForm.tsx +6 -1
  412. package/src/patterns/auth/SignUpForm.tsx +6 -1
  413. package/src/patterns/auth/types.ts +2 -2
  414. package/src/patterns/collection-editor/CollectionEditor.tsx +6 -1
  415. package/src/patterns/collection-editor/types.ts +3 -2
  416. package/src/patterns/confirm-dialog/ConfirmDialog.tsx +6 -1
  417. package/src/patterns/confirm-dialog/types.ts +2 -2
  418. package/src/patterns/disclosure-section/DisclosureSection.tsx +6 -1
  419. package/src/patterns/disclosure-section/types.ts +3 -2
  420. package/src/patterns/empty-state/EmptyState.tsx +6 -1
  421. package/src/patterns/empty-state/types.ts +2 -2
  422. package/src/patterns/form-field/FormField.tsx +12 -1
  423. package/src/patterns/form-field/types.ts +9 -4
  424. package/src/patterns/inspector-field/InspectorField.tsx +11 -1
  425. package/src/patterns/inspector-field/types.ts +3 -2
  426. package/src/patterns/notice/Notice.tsx +6 -1
  427. package/src/patterns/notice/types.ts +2 -2
  428. package/src/patterns/responsive-panel/ResponsivePanel.tsx +6 -1
  429. package/src/patterns/responsive-panel/types.ts +3 -2
  430. package/src/patterns/section-header/SectionHeader.tsx +6 -1
  431. package/src/patterns/section-header/types.ts +3 -2
  432. package/src/patterns/settings-row/SettingsRow.tsx +6 -1
  433. package/src/patterns/settings-row/types.ts +3 -2
  434. package/src/patterns/switch-field/SwitchField.tsx +6 -1
  435. package/src/patterns/switch-field/types.ts +3 -2
  436. package/src/patterns/tile-grid/PaletteItem.tsx +9 -3
  437. package/src/patterns/tile-grid/TileGrid.tsx +6 -1
  438. package/src/patterns/tile-grid/types.ts +4 -4
  439. package/src/patterns/tree-view/TreeItem.tsx +10 -3
  440. package/src/patterns/tree-view/TreeView.tsx +6 -1
  441. package/src/patterns/tree-view/types.ts +3 -2
  442. package/src/theme/themeScopeStructure.test.ts +186 -65
  443. package/src/theme/withZoraThemeScope.tsx +8 -7
@@ -1,10 +1,15 @@
1
1
  import type { DrawerProps as SurfaceDrawerProps } from '@ankhorage/surface';
2
2
  import type React from 'react';
3
3
 
4
- export interface DrawerProps extends Pick<
5
- SurfaceDrawerProps,
6
- 'closeOnBackdrop' | 'onDismiss' | 'position' | 'testID' | 'visible'
7
- > {
4
+ import type { ZoraBaseProps } from '../../theme/ZoraBaseProps';
5
+
6
+ export interface DrawerProps
7
+ extends
8
+ ZoraBaseProps,
9
+ Pick<
10
+ Omit<SurfaceDrawerProps, 'mode' | 'themeId'>,
11
+ 'closeOnBackdrop' | 'onDismiss' | 'position' | 'visible'
12
+ > {
8
13
  children?: React.ReactNode;
9
14
  title?: React.ReactNode;
10
15
  description?: React.ReactNode;
@@ -1,13 +1,16 @@
1
1
  import { Box, Stack } from '@ankhorage/surface';
2
2
  import React from 'react';
3
3
 
4
+ import { withZoraThemeScope } from '../../theme/withZoraThemeScope';
4
5
  import { FormActions } from './FormActions';
5
6
  import { FormError } from './FormError';
6
7
  import { FormField } from './FormField';
7
8
  import type { FormProps } from './types';
8
9
  import { useFormController } from './useFormController';
9
10
 
10
- export function Form<TName extends string = string>({
11
+ function FormInner<TName extends string = string>({
12
+ themeId: _themeId,
13
+ mode: _mode,
11
14
  fields,
12
15
  values,
13
16
  onChange,
@@ -59,3 +62,5 @@ export function Form<TName extends string = string>({
59
62
  </Stack>
60
63
  );
61
64
  }
65
+
66
+ export const Form = withZoraThemeScope(FormInner);
@@ -1,10 +1,13 @@
1
1
  import { Box, Stack } from '@ankhorage/surface';
2
2
  import React from 'react';
3
3
 
4
+ import { withZoraThemeScope } from '../../theme/withZoraThemeScope';
4
5
  import { Button } from '../button';
5
6
  import type { FormActionsProps } from './types';
6
7
 
7
- export function FormActions({
8
+ function FormActionsInner({
9
+ themeId: _themeId,
10
+ mode: _mode,
8
11
  submitLabel = 'Submit',
9
12
  loading = false,
10
13
  disabled = false,
@@ -21,3 +24,5 @@ export function FormActions({
21
24
  </Stack>
22
25
  );
23
26
  }
27
+
28
+ export const FormActions = withZoraThemeScope(FormActionsInner);
@@ -1,11 +1,13 @@
1
- import { Box, useTheme } from '@ankhorage/surface';
1
+ import { Box } from '@ankhorage/surface';
2
2
  import React from 'react';
3
3
 
4
+ import { useZoraTheme } from '../../theme/useZoraTheme';
5
+ import { withZoraThemeScope } from '../../theme/withZoraThemeScope';
4
6
  import { Text } from '../text';
5
7
  import type { FormErrorProps } from './types';
6
8
 
7
- export function FormError({ error, testID }: FormErrorProps) {
8
- const { theme } = useTheme();
9
+ function FormErrorInner({ themeId: _themeId, mode: _mode, error, testID }: FormErrorProps) {
10
+ const { theme } = useZoraTheme();
9
11
 
10
12
  if (!error) {
11
13
  return null;
@@ -19,3 +21,5 @@ export function FormError({ error, testID }: FormErrorProps) {
19
21
  </Box>
20
22
  );
21
23
  }
24
+
25
+ export const FormError = withZoraThemeScope(FormErrorInner);
@@ -1,6 +1,7 @@
1
1
  import { Field, Stack } from '@ankhorage/surface';
2
2
  import React from 'react';
3
3
 
4
+ import { withZoraThemeScope } from '../../theme/withZoraThemeScope';
4
5
  import { Input } from '../input';
5
6
  import { Text } from '../text';
6
7
  import type { FormFieldConfig, FormFieldControlProps, FormFieldProps } from './types';
@@ -83,9 +84,17 @@ function renderLabel(label: React.ReactNode, description: React.ReactNode | unde
83
84
  );
84
85
  }
85
86
 
86
- export function FormField<TName extends string = string>(props: FormFieldProps<TName>) {
87
+ function FormFieldInner<TName extends string = string>(props: FormFieldProps<TName>) {
87
88
  if (!isControlFieldProps(props)) {
88
- const { label, description, helperText, children, ...fieldProps } = props;
89
+ const {
90
+ themeId: _themeId,
91
+ mode: _mode,
92
+ label,
93
+ description,
94
+ helperText,
95
+ children,
96
+ ...fieldProps
97
+ } = props;
89
98
 
90
99
  return (
91
100
  <Field {...fieldProps} helperText={helperText} label={renderLabel(label, description)}>
@@ -94,7 +103,17 @@ export function FormField<TName extends string = string>(props: FormFieldProps<T
94
103
  );
95
104
  }
96
105
 
97
- const { field, value, error, disabled = false, loading = false, onChange, testID } = props;
106
+ const {
107
+ themeId: _themeId,
108
+ mode: _mode,
109
+ field,
110
+ value,
111
+ error,
112
+ disabled = false,
113
+ loading = false,
114
+ onChange,
115
+ testID,
116
+ } = props;
98
117
  const fieldDisabled = disabled || loading || field.disabled;
99
118
  const required = field.required ?? hasRequiredRule(field.rules);
100
119
 
@@ -127,3 +146,5 @@ export function FormField<TName extends string = string>(props: FormFieldProps<T
127
146
  </Field>
128
147
  );
129
148
  }
149
+
150
+ export const FormField = withZoraThemeScope(FormFieldInner);
@@ -1,6 +1,7 @@
1
1
  import type { FieldProps as SurfaceFieldProps } from '@ankhorage/surface';
2
2
  import type React from 'react';
3
3
 
4
+ import type { ZoraBaseProps } from '../../theme/ZoraBaseProps';
4
5
  import type { InputProps } from '../input';
5
6
 
6
7
  export type ValidationRule =
@@ -36,44 +37,44 @@ export interface FormFieldConfig<TName extends string = string> {
36
37
  testID?: string;
37
38
  }
38
39
 
39
- export interface FormFieldWrapperProps extends Pick<
40
- SurfaceFieldProps,
41
- 'children' | 'disabled' | 'errorText' | 'invalid' | 'readOnly' | 'required' | 'testID'
42
- > {
40
+ export interface FormFieldWrapperProps
41
+ extends
42
+ ZoraBaseProps,
43
+ Pick<
44
+ Omit<SurfaceFieldProps, 'mode' | 'themeId'>,
45
+ 'children' | 'disabled' | 'errorText' | 'invalid' | 'readOnly' | 'required'
46
+ > {
43
47
  label: React.ReactNode;
44
48
  description?: React.ReactNode;
45
49
  helperText?: React.ReactNode;
46
50
  }
47
51
 
48
- export interface FormFieldControlProps<TName extends string = string> {
52
+ export interface FormFieldControlProps<TName extends string = string> extends ZoraBaseProps {
49
53
  field: FormFieldConfig<TName>;
50
54
  value: FormFieldValue;
51
55
  onChange: (name: TName, value: FormFieldValue) => void;
52
56
  error?: React.ReactNode;
53
57
  disabled?: boolean;
54
58
  loading?: boolean;
55
- testID?: string;
56
59
  }
57
60
 
58
61
  export type FormFieldProps<TName extends string = string> =
59
62
  | FormFieldControlProps<TName>
60
63
  | FormFieldWrapperProps;
61
64
 
62
- export interface FormActionsProps {
65
+ export interface FormActionsProps extends ZoraBaseProps {
63
66
  submitLabel?: React.ReactNode;
64
67
  loading?: boolean;
65
68
  disabled?: boolean;
66
69
  onSubmit?: () => void;
67
70
  children?: React.ReactNode;
68
- testID?: string;
69
71
  }
70
72
 
71
- export interface FormErrorProps {
73
+ export interface FormErrorProps extends ZoraBaseProps {
72
74
  error?: React.ReactNode;
73
- testID?: string;
74
75
  }
75
76
 
76
- export interface FormProps<TName extends string = string> {
77
+ export interface FormProps<TName extends string = string> extends ZoraBaseProps {
77
78
  fields: readonly FormFieldConfig<TName>[];
78
79
  values: FormValues<TName>;
79
80
  onChange: (values: FormValues<TName>) => void;
@@ -86,7 +87,6 @@ export interface FormProps<TName extends string = string> {
86
87
  actions?: React.ReactNode;
87
88
  footer?: React.ReactNode;
88
89
  validateOnChange?: boolean;
89
- testID?: string;
90
90
  }
91
91
 
92
92
  export interface FormValidationResult<TName extends string = string> {
@@ -4,7 +4,7 @@ import React from 'react';
4
4
  import { withZoraThemeScope } from '../../theme/withZoraThemeScope';
5
5
  import type { ZoraBaseProps } from '../../theme/ZoraBaseProps';
6
6
 
7
- export interface IconProps extends ZoraBaseProps, SurfaceIconProps {}
7
+ export interface IconProps extends ZoraBaseProps, Omit<SurfaceIconProps, 'mode' | 'themeId'> {}
8
8
 
9
9
  function IconInner({ themeId: _themeId, mode: _mode, ...props }: IconProps) {
10
10
  return <SurfaceIcon {...props} />;
@@ -2,10 +2,19 @@ import * as Surface from '@ankhorage/surface';
2
2
  import React from 'react';
3
3
 
4
4
  import { resolveIconSize } from '../../internal/recipes';
5
+ import { useZoraTheme } from '../../theme/useZoraTheme';
6
+ import { withZoraThemeScope } from '../../theme/withZoraThemeScope';
5
7
  import type { InputProps } from './types';
6
8
 
7
- export function Input({ size = 'l', leadingIcon, trailingIcon, ...props }: InputProps) {
8
- const { theme } = Surface.useTheme();
9
+ function InputInner({
10
+ themeId: _themeId,
11
+ mode: _mode,
12
+ size = 'l',
13
+ leadingIcon,
14
+ trailingIcon,
15
+ ...props
16
+ }: InputProps) {
17
+ const { theme } = useZoraTheme();
9
18
  const iconSize = resolveIconSize(size);
10
19
  const iconColor = theme.semantics.content.muted;
11
20
 
@@ -36,3 +45,5 @@ export function Input({ size = 'l', leadingIcon, trailingIcon, ...props }: Input
36
45
  />
37
46
  );
38
47
  }
48
+
49
+ export const Input = withZoraThemeScope(InputInner);
@@ -1,11 +1,15 @@
1
1
  import type * as Surface from '@ankhorage/surface';
2
2
 
3
3
  import type { ZoraControlSize } from '../../internal/recipes';
4
+ import type { ZoraBaseProps } from '../../theme/ZoraBaseProps';
4
5
 
5
- export interface InputProps extends Omit<
6
- Surface.TextInputProps,
7
- 'leadingAccessory' | 'size' | 'trailingAccessory'
8
- > {
6
+ export interface InputProps
7
+ extends
8
+ ZoraBaseProps,
9
+ Omit<
10
+ Surface.TextInputProps,
11
+ 'leadingAccessory' | 'size' | 'trailingAccessory' | 'mode' | 'themeId'
12
+ > {
9
13
  size?: ZoraControlSize;
10
14
  leadingIcon?: Surface.ButtonIconSpec;
11
15
  trailingIcon?: Surface.ButtonIconSpec;
@@ -2,6 +2,7 @@ import { Box, Modal as SurfaceModal, Stack } from '@ankhorage/surface';
2
2
  import React, { useCallback, useEffect, useRef } from 'react';
3
3
 
4
4
  import { resolveDialogWidth } from '../../internal/recipes';
5
+ import { withZoraThemeScope } from '../../theme/withZoraThemeScope';
5
6
  import { Heading } from '../heading';
6
7
  import { Text } from '../text';
7
8
  import type { ModalProps } from './types';
@@ -18,7 +19,9 @@ function useStableCallback(callback: (() => void) | undefined): (() => void) | u
18
19
  }, []);
19
20
  }
20
21
 
21
- export function Modal({
22
+ function ModalInner({
23
+ themeId: _themeId,
24
+ mode: _mode,
22
25
  children,
23
26
  title,
24
27
  description,
@@ -51,3 +54,5 @@ export function Modal({
51
54
  </SurfaceModal>
52
55
  );
53
56
  }
57
+
58
+ export const Modal = withZoraThemeScope(ModalInner);
@@ -2,11 +2,12 @@ import type { ModalProps as SurfaceModalProps } from '@ankhorage/surface';
2
2
  import type React from 'react';
3
3
 
4
4
  import type { ZoraContentWidth } from '../../internal/recipes';
5
+ import type { ZoraBaseProps } from '../../theme/ZoraBaseProps';
5
6
 
6
- export interface ModalProps extends Pick<
7
- SurfaceModalProps,
8
- 'closeOnBackdrop' | 'onDismiss' | 'testID' | 'visible'
9
- > {
7
+ export interface ModalProps
8
+ extends
9
+ ZoraBaseProps,
10
+ Pick<Omit<SurfaceModalProps, 'mode' | 'themeId'>, 'closeOnBackdrop' | 'onDismiss' | 'visible'> {
10
11
  children?: React.ReactNode;
11
12
  title?: React.ReactNode;
12
13
  description?: React.ReactNode;
@@ -0,0 +1,11 @@
1
+ import { Radio as SurfaceRadio } from '@ankhorage/surface';
2
+ import React from 'react';
3
+
4
+ import { withZoraThemeScope } from '../../theme/withZoraThemeScope';
5
+ import type { RadioProps } from './types';
6
+
7
+ function RadioInner({ themeId: _themeId, mode: _mode, ...props }: RadioProps) {
8
+ return <SurfaceRadio {...props} />;
9
+ }
10
+
11
+ export const Radio = withZoraThemeScope(RadioInner);
@@ -2,10 +2,13 @@ import { Radio, Stack } from '@ankhorage/surface';
2
2
  import React from 'react';
3
3
  import { View } from 'react-native';
4
4
 
5
+ import { withZoraThemeScope } from '../../theme/withZoraThemeScope';
5
6
  import { Text } from '../text';
6
7
  import type { RadioGroupOption, RadioGroupProps } from './types';
7
8
 
8
- export function RadioGroup<TValue extends string>({
9
+ function RadioGroupInner<TValue extends string>({
10
+ themeId: _themeId,
11
+ mode: _mode,
9
12
  value,
10
13
  onValueChange,
11
14
  options,
@@ -52,6 +55,8 @@ export function RadioGroup<TValue extends string>({
52
55
  );
53
56
  }
54
57
 
58
+ export const RadioGroup = withZoraThemeScope(RadioGroupInner);
59
+
55
60
  function RadioGroupItem<TValue extends string>({
56
61
  option,
57
62
  checked,
@@ -1,4 +1,3 @@
1
+ export { Radio } from './Radio';
1
2
  export { RadioGroup } from './RadioGroup';
2
- export type { RadioGroupOption, RadioGroupProps } from './types';
3
- export type { RadioProps } from '@ankhorage/surface';
4
- export { Radio } from '@ankhorage/surface';
3
+ export type { RadioGroupOption, RadioGroupProps, RadioProps } from './types';
@@ -1,6 +1,10 @@
1
- import type { RadioProps } from '@ankhorage/surface';
1
+ import type { RadioProps as SurfaceRadioProps } from '@ankhorage/surface';
2
2
  import type React from 'react';
3
3
 
4
+ import type { ZoraBaseProps } from '../../theme/ZoraBaseProps';
5
+
6
+ export interface RadioProps extends ZoraBaseProps, Omit<SurfaceRadioProps, 'mode' | 'themeId'> {}
7
+
4
8
  export interface RadioGroupOption<TValue extends string> {
5
9
  value: TValue;
6
10
  label: React.ReactNode;
@@ -9,10 +13,13 @@ export interface RadioGroupOption<TValue extends string> {
9
13
  testID?: string;
10
14
  }
11
15
 
12
- export interface RadioGroupProps<TValue extends string> extends Pick<
13
- RadioProps,
14
- 'tone' | 'size' | 'invalid' | 'readOnly' | 'disabled' | 'testID'
15
- > {
16
+ export interface RadioGroupProps<TValue extends string>
17
+ extends
18
+ ZoraBaseProps,
19
+ Pick<
20
+ Omit<SurfaceRadioProps, 'mode' | 'themeId'>,
21
+ 'tone' | 'size' | 'invalid' | 'readOnly' | 'disabled'
22
+ > {
16
23
  value: TValue;
17
24
  onValueChange: (value: TValue) => void;
18
25
  options: readonly RadioGroupOption<TValue>[];
@@ -1,10 +1,14 @@
1
- import { Box, useTheme } from '@ankhorage/surface';
1
+ import { Box } from '@ankhorage/surface';
2
2
  import { Picker } from '@react-native-picker/picker';
3
3
  import React from 'react';
4
4
 
5
+ import { useZoraTheme } from '../../theme/useZoraTheme';
6
+ import { withZoraThemeScope } from '../../theme/withZoraThemeScope';
5
7
  import type { SelectProps } from './types';
6
8
 
7
- export function Select<TValue extends string = string>({
9
+ function SelectInner<TValue extends string = string>({
10
+ themeId: _themeId,
11
+ mode: _mode,
8
12
  value,
9
13
  options,
10
14
  onValueChange,
@@ -12,7 +16,7 @@ export function Select<TValue extends string = string>({
12
16
  invalid,
13
17
  testID,
14
18
  }: SelectProps<TValue>) {
15
- const { theme } = useTheme();
19
+ const { theme } = useZoraTheme();
16
20
 
17
21
  return (
18
22
  <Box
@@ -47,3 +51,5 @@ export function Select<TValue extends string = string>({
47
51
  </Box>
48
52
  );
49
53
  }
54
+
55
+ export const Select = withZoraThemeScope(SelectInner);
@@ -1,14 +1,15 @@
1
+ import type { ZoraBaseProps } from '../../theme/ZoraBaseProps';
2
+
1
3
  export interface SelectOption<TValue extends string = string> {
2
4
  value: TValue;
3
5
  label: string;
4
6
  disabled?: boolean;
5
7
  }
6
8
 
7
- export interface SelectProps<TValue extends string = string> {
9
+ export interface SelectProps<TValue extends string = string> extends ZoraBaseProps {
8
10
  value: TValue;
9
11
  options: readonly SelectOption<TValue>[];
10
12
  onValueChange: (value: TValue) => void;
11
13
  disabled?: boolean;
12
14
  invalid?: boolean;
13
- testID?: string;
14
15
  }
@@ -1,11 +1,15 @@
1
- import { Box, Stack, useTheme } from '@ankhorage/surface';
1
+ import { Box, Stack } from '@ankhorage/surface';
2
2
  import React from 'react';
3
3
 
4
+ import { useZoraTheme } from '../../theme/useZoraTheme';
5
+ import { withZoraThemeScope } from '../../theme/withZoraThemeScope';
4
6
  import { Button } from '../button';
5
7
  import { Text } from '../text';
6
8
  import type { TabItem, TabsProps } from './types';
7
9
 
8
- export function Tabs<TValue extends string = string>({
10
+ function TabsInner<TValue extends string = string>({
11
+ themeId: _themeId,
12
+ mode: _mode,
9
13
  value,
10
14
  items,
11
15
  onValueChange,
@@ -14,7 +18,7 @@ export function Tabs<TValue extends string = string>({
14
18
  disabled: tabsDisabled,
15
19
  testID,
16
20
  }: TabsProps<TValue>) {
17
- const { theme } = useTheme();
21
+ const { theme } = useZoraTheme();
18
22
 
19
23
  const renderTab = (item: TabItem<TValue>) => {
20
24
  const isActive = item.value === value;
@@ -98,3 +102,5 @@ export function Tabs<TValue extends string = string>({
98
102
  </Stack>
99
103
  );
100
104
  }
105
+
106
+ export const Tabs = withZoraThemeScope(TabsInner);
@@ -2,6 +2,7 @@ import type { ButtonIconSpec } from '@ankhorage/surface';
2
2
  import type { ReactNode } from 'react';
3
3
 
4
4
  import type { ZoraControlSize } from '../../internal/recipes';
5
+ import type { ZoraBaseProps } from '../../theme/ZoraBaseProps';
5
6
 
6
7
  export interface TabItem<TValue extends string = string> {
7
8
  value: TValue;
@@ -14,12 +15,11 @@ export interface TabItem<TValue extends string = string> {
14
15
 
15
16
  export type TabsVariant = 'underline' | 'pill' | 'segmented';
16
17
 
17
- export interface TabsProps<TValue extends string = string> {
18
+ export interface TabsProps<TValue extends string = string> extends ZoraBaseProps {
18
19
  value: TValue;
19
20
  items: readonly TabItem<TValue>[];
20
21
  onValueChange: (value: TValue) => void;
21
22
  variant?: TabsVariant;
22
23
  size?: ZoraControlSize;
23
24
  disabled?: boolean;
24
- testID?: string;
25
25
  }
@@ -2,10 +2,19 @@ import * as Surface from '@ankhorage/surface';
2
2
  import React from 'react';
3
3
 
4
4
  import { resolveIconSize } from '../../internal/recipes';
5
+ import { useZoraTheme } from '../../theme/useZoraTheme';
6
+ import { withZoraThemeScope } from '../../theme/withZoraThemeScope';
5
7
  import type { TextareaProps } from './types';
6
8
 
7
- export function Textarea({ size = 'l', leadingIcon, trailingIcon, ...props }: TextareaProps) {
8
- const { theme } = Surface.useTheme();
9
+ function TextareaInner({
10
+ themeId: _themeId,
11
+ mode: _mode,
12
+ size = 'l',
13
+ leadingIcon,
14
+ trailingIcon,
15
+ ...props
16
+ }: TextareaProps) {
17
+ const { theme } = useZoraTheme();
9
18
  const iconSize = resolveIconSize(size);
10
19
  const iconColor = theme.semantics.content.muted;
11
20
 
@@ -36,3 +45,5 @@ export function Textarea({ size = 'l', leadingIcon, trailingIcon, ...props }: Te
36
45
  />
37
46
  );
38
47
  }
48
+
49
+ export const Textarea = withZoraThemeScope(TextareaInner);
@@ -1,11 +1,15 @@
1
1
  import type * as Surface from '@ankhorage/surface';
2
2
 
3
3
  import type { ZoraControlSize } from '../../internal/recipes';
4
+ import type { ZoraBaseProps } from '../../theme/ZoraBaseProps';
4
5
 
5
- export interface TextareaProps extends Omit<
6
- Surface.TextareaProps,
7
- 'leadingAccessory' | 'size' | 'trailingAccessory'
8
- > {
6
+ export interface TextareaProps
7
+ extends
8
+ ZoraBaseProps,
9
+ Omit<
10
+ Surface.TextareaProps,
11
+ 'leadingAccessory' | 'size' | 'trailingAccessory' | 'mode' | 'themeId'
12
+ > {
9
13
  size?: ZoraControlSize;
10
14
  leadingIcon?: Surface.ButtonIconSpec;
11
15
  trailingIcon?: Surface.ButtonIconSpec;
@@ -1,10 +1,13 @@
1
1
  import { Stack } from '@ankhorage/surface';
2
2
  import React from 'react';
3
3
 
4
+ import { withZoraThemeScope } from '../../theme/withZoraThemeScope';
4
5
  import { Card } from '../card';
5
6
  import type { ToolbarProps } from './types';
6
7
 
7
- export function Toolbar({
8
+ function ToolbarInner({
9
+ themeId: _themeId,
10
+ mode: _mode,
8
11
  children,
9
12
  position = 'inline',
10
13
  floating = false,
@@ -35,3 +38,5 @@ export function Toolbar({
35
38
  </Card>
36
39
  );
37
40
  }
41
+
42
+ export const Toolbar = withZoraThemeScope(ToolbarInner);
@@ -1,9 +1,15 @@
1
1
  import React from 'react';
2
2
 
3
+ import { withZoraThemeScope } from '../../theme/withZoraThemeScope';
3
4
  import { IconButton } from '../icon-button';
4
5
  import type { ToolbarActionProps } from './types';
5
6
 
6
- export function ToolbarAction({ active, ...props }: ToolbarActionProps) {
7
+ function ToolbarActionInner({
8
+ themeId: _themeId,
9
+ mode: _mode,
10
+ active,
11
+ ...props
12
+ }: ToolbarActionProps) {
7
13
  return (
8
14
  <IconButton
9
15
  {...props}
@@ -13,3 +19,5 @@ export function ToolbarAction({ active, ...props }: ToolbarActionProps) {
13
19
  />
14
20
  );
15
21
  }
22
+
23
+ export const ToolbarAction = withZoraThemeScope(ToolbarActionInner);
@@ -3,19 +3,19 @@ import type React from 'react';
3
3
 
4
4
  export type ToolbarPosition = 'top' | 'bottom' | 'inline';
5
5
 
6
- export interface ToolbarProps {
6
+ import type { ZoraBaseProps } from '../../theme/ZoraBaseProps';
7
+
8
+ export interface ToolbarProps extends ZoraBaseProps {
7
9
  children?: React.ReactNode;
8
10
  position?: ToolbarPosition;
9
11
  floating?: boolean;
10
12
  compact?: boolean;
11
- testID?: string;
12
13
  }
13
14
 
14
- export interface ToolbarActionProps {
15
+ export interface ToolbarActionProps extends ZoraBaseProps {
15
16
  label: string;
16
17
  icon: ButtonIconSpec;
17
18
  active?: boolean;
18
19
  disabled?: boolean;
19
20
  onPress?: () => void;
20
- testID?: string;
21
21
  }
@@ -0,0 +1,13 @@
1
+ import { Box as SurfaceBox, type BoxProps as SurfaceBoxProps } from '@ankhorage/surface';
2
+ import React from 'react';
3
+
4
+ import { withZoraThemeScope } from '../theme/withZoraThemeScope';
5
+ import type { ZoraBaseProps } from '../theme/ZoraBaseProps';
6
+
7
+ export interface BoxProps extends ZoraBaseProps, Omit<SurfaceBoxProps, 'mode' | 'themeId'> {}
8
+
9
+ function BoxInner({ themeId: _themeId, mode: _mode, ...props }: BoxProps) {
10
+ return <SurfaceBox {...props} />;
11
+ }
12
+
13
+ export const Box = withZoraThemeScope(BoxInner);
@@ -0,0 +1,16 @@
1
+ import {
2
+ Center as SurfaceCenter,
3
+ type CenterProps as SurfaceCenterProps,
4
+ } from '@ankhorage/surface';
5
+ import React from 'react';
6
+
7
+ import { withZoraThemeScope } from '../theme/withZoraThemeScope';
8
+ import type { ZoraBaseProps } from '../theme/ZoraBaseProps';
9
+
10
+ export interface CenterProps extends ZoraBaseProps, Omit<SurfaceCenterProps, 'mode' | 'themeId'> {}
11
+
12
+ function CenterInner({ themeId: _themeId, mode: _mode, ...props }: CenterProps) {
13
+ return <SurfaceCenter {...props} />;
14
+ }
15
+
16
+ export const Center = withZoraThemeScope(CenterInner);