@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 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/patterns/settings-row/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,UAAU,oBAAoB;IAC5B,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC9B,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,UAAU,yBAAyB;IACjC,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,OAAO,CAAC,EAAE,KAAK,CAAC;CACjB;AAED,UAAU,0BAA0B;IAClC,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB,OAAO,CAAC,EAAE,KAAK,CAAC;CACjB;AAED,UAAU,sBAAsB;IAC9B,OAAO,CAAC,EAAE,KAAK,CAAC;IAChB,OAAO,CAAC,EAAE,KAAK,CAAC;CACjB;AAED,MAAM,MAAM,gBAAgB,GAAG,oBAAoB,GACjD,CAAC,yBAAyB,GAAG,0BAA0B,GAAG,sBAAsB,CAAC,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/patterns/settings-row/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAE/D,UAAU,oBAAqB,SAAQ,aAAa;IAClD,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC9B,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,UAAU,yBAAyB;IACjC,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,OAAO,CAAC,EAAE,KAAK,CAAC;CACjB;AAED,UAAU,0BAA0B;IAClC,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB,OAAO,CAAC,EAAE,KAAK,CAAC;CACjB;AAED,UAAU,sBAAsB;IAC9B,OAAO,CAAC,EAAE,KAAK,CAAC;IAChB,OAAO,CAAC,EAAE,KAAK,CAAC;CACjB;AAED,MAAM,MAAM,gBAAgB,GAAG,oBAAoB,GACjD,CAAC,yBAAyB,GAAG,0BAA0B,GAAG,sBAAsB,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/patterns/settings-row/types.ts"],"names":[],"mappings":"","sourcesContent":["import type React from 'react';\n\ninterface SettingsRowBaseProps {\n title: React.ReactNode;\n description?: React.ReactNode;\n meta?: React.ReactNode;\n disabled?: boolean;\n testID?: string;\n}\n\ninterface SettingsRowPressableProps {\n onPress: () => void;\n control?: never;\n}\n\ninterface SettingsRowControlledProps {\n control: React.ReactNode;\n onPress?: never;\n}\n\ninterface SettingsRowStaticProps {\n control?: never;\n onPress?: never;\n}\n\nexport type SettingsRowProps = SettingsRowBaseProps &\n (SettingsRowPressableProps | SettingsRowControlledProps | SettingsRowStaticProps);\n"]}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/patterns/settings-row/types.ts"],"names":[],"mappings":"","sourcesContent":["import type React from 'react';\n\nimport type { ZoraBaseProps } from '../../theme/ZoraBaseProps';\n\ninterface SettingsRowBaseProps extends ZoraBaseProps {\n title: React.ReactNode;\n description?: React.ReactNode;\n meta?: React.ReactNode;\n disabled?: boolean;\n}\n\ninterface SettingsRowPressableProps {\n onPress: () => void;\n control?: never;\n}\n\ninterface SettingsRowControlledProps {\n control: React.ReactNode;\n onPress?: never;\n}\n\ninterface SettingsRowStaticProps {\n control?: never;\n onPress?: never;\n}\n\nexport type SettingsRowProps = SettingsRowBaseProps &\n (SettingsRowPressableProps | SettingsRowControlledProps | SettingsRowStaticProps);\n"]}
@@ -1,4 +1,4 @@
1
1
  import React from 'react';
2
2
  import type { SwitchFieldProps } from './types';
3
- export declare function SwitchField({ label, description, value, onValueChange, disabled, testID, }: SwitchFieldProps): React.JSX.Element;
3
+ export declare const SwitchField: (props: SwitchFieldProps) => React.ReactElement | null;
4
4
  //# sourceMappingURL=SwitchField.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SwitchField.d.ts","sourceRoot":"","sources":["../../../src/patterns/switch-field/SwitchField.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAEhD,wBAAgB,WAAW,CAAC,EAC1B,KAAK,EACL,WAAW,EACX,KAAK,EACL,aAAa,EACb,QAAQ,EACR,MAAM,GACP,EAAE,gBAAgB,qBAUlB"}
1
+ {"version":3,"file":"SwitchField.d.ts","sourceRoot":"","sources":["../../../src/patterns/switch-field/SwitchField.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAuBhD,eAAO,MAAM,WAAW,wDAAuC,CAAC"}
@@ -1,7 +1,9 @@
1
1
  import { Switch } from '@ankhorage/surface';
2
2
  import React from 'react';
3
+ import { withZoraThemeScope } from '../../theme/withZoraThemeScope';
3
4
  import { SettingsRow } from '../settings-row';
4
- export function SwitchField({ label, description, value, onValueChange, disabled, testID, }) {
5
+ function SwitchFieldInner({ themeId: _themeId, mode: _mode, label, description, value, onValueChange, disabled, testID, }) {
5
6
  return (<SettingsRow title={label} description={description} disabled={disabled} testID={testID} control={<Switch checked={value} onCheckedChange={onValueChange} disabled={disabled}/>}/>);
6
7
  }
8
+ export const SwitchField = withZoraThemeScope(SwitchFieldInner);
7
9
  //# sourceMappingURL=SwitchField.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SwitchField.js","sourceRoot":"","sources":["../../../src/patterns/switch-field/SwitchField.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAG9C,MAAM,UAAU,WAAW,CAAC,EAC1B,KAAK,EACL,WAAW,EACX,KAAK,EACL,aAAa,EACb,QAAQ,EACR,MAAM,GACW;IACjB,OAAO,CACL,CAAC,WAAW,CACV,KAAK,CAAC,CAAC,KAAK,CAAC,CACb,WAAW,CAAC,CAAC,WAAW,CAAC,CACzB,QAAQ,CAAC,CAAC,QAAQ,CAAC,CACnB,MAAM,CAAC,CAAC,MAAM,CAAC,CACf,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,eAAe,CAAC,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,EAAG,CAAC,EACxF,CACH,CAAC;AACJ,CAAC","sourcesContent":["import { Switch } from '@ankhorage/surface';\nimport React from 'react';\n\nimport { SettingsRow } from '../settings-row';\nimport type { SwitchFieldProps } from './types';\n\nexport function SwitchField({\n label,\n description,\n value,\n onValueChange,\n disabled,\n testID,\n}: SwitchFieldProps) {\n return (\n <SettingsRow\n title={label}\n description={description}\n disabled={disabled}\n testID={testID}\n control={<Switch checked={value} onCheckedChange={onValueChange} disabled={disabled} />}\n />\n );\n}\n"]}
1
+ {"version":3,"file":"SwitchField.js","sourceRoot":"","sources":["../../../src/patterns/switch-field/SwitchField.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAG9C,SAAS,gBAAgB,CAAC,EACxB,OAAO,EAAE,QAAQ,EACjB,IAAI,EAAE,KAAK,EACX,KAAK,EACL,WAAW,EACX,KAAK,EACL,aAAa,EACb,QAAQ,EACR,MAAM,GACW;IACjB,OAAO,CACL,CAAC,WAAW,CACV,KAAK,CAAC,CAAC,KAAK,CAAC,CACb,WAAW,CAAC,CAAC,WAAW,CAAC,CACzB,QAAQ,CAAC,CAAC,QAAQ,CAAC,CACnB,MAAM,CAAC,CAAC,MAAM,CAAC,CACf,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,eAAe,CAAC,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,EAAG,CAAC,EACxF,CACH,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,WAAW,GAAG,kBAAkB,CAAC,gBAAgB,CAAC,CAAC","sourcesContent":["import { Switch } from '@ankhorage/surface';\nimport React from 'react';\n\nimport { withZoraThemeScope } from '../../theme/withZoraThemeScope';\nimport { SettingsRow } from '../settings-row';\nimport type { SwitchFieldProps } from './types';\n\nfunction SwitchFieldInner({\n themeId: _themeId,\n mode: _mode,\n label,\n description,\n value,\n onValueChange,\n disabled,\n testID,\n}: SwitchFieldProps) {\n return (\n <SettingsRow\n title={label}\n description={description}\n disabled={disabled}\n testID={testID}\n control={<Switch checked={value} onCheckedChange={onValueChange} disabled={disabled} />}\n />\n );\n}\n\nexport const SwitchField = withZoraThemeScope(SwitchFieldInner);\n"]}
@@ -1,10 +1,10 @@
1
1
  import type { ReactNode } from 'react';
2
- export interface SwitchFieldProps {
2
+ import type { ZoraBaseProps } from '../../theme/ZoraBaseProps';
3
+ export interface SwitchFieldProps extends ZoraBaseProps {
3
4
  label: ReactNode;
4
5
  description?: ReactNode;
5
6
  value: boolean;
6
7
  onValueChange: (value: boolean) => void;
7
8
  disabled?: boolean;
8
- testID?: string;
9
9
  }
10
10
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/patterns/switch-field/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,SAAS,CAAC;IACjB,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,KAAK,EAAE,OAAO,CAAC;IACf,aAAa,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACxC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/patterns/switch-field/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAE/D,MAAM,WAAW,gBAAiB,SAAQ,aAAa;IACrD,KAAK,EAAE,SAAS,CAAC;IACjB,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,KAAK,EAAE,OAAO,CAAC;IACf,aAAa,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACxC,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/patterns/switch-field/types.ts"],"names":[],"mappings":"","sourcesContent":["import type { ReactNode } from 'react';\n\nexport interface SwitchFieldProps {\n label: ReactNode;\n description?: ReactNode;\n value: boolean;\n onValueChange: (value: boolean) => void;\n disabled?: boolean;\n testID?: string;\n}\n"]}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/patterns/switch-field/types.ts"],"names":[],"mappings":"","sourcesContent":["import type { ReactNode } from 'react';\n\nimport type { ZoraBaseProps } from '../../theme/ZoraBaseProps';\n\nexport interface SwitchFieldProps extends ZoraBaseProps {\n label: ReactNode;\n description?: ReactNode;\n value: boolean;\n onValueChange: (value: boolean) => void;\n disabled?: boolean;\n}\n"]}
@@ -1,4 +1,4 @@
1
1
  import React from 'react';
2
2
  import type { PaletteItemProps } from './types';
3
- export declare function PaletteItem({ title, description, icon, badge, selected, disabled, onPress, testID, }: PaletteItemProps): React.JSX.Element;
3
+ export declare const PaletteItem: (props: PaletteItemProps) => React.ReactElement | null;
4
4
  //# sourceMappingURL=PaletteItem.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PaletteItem.d.ts","sourceRoot":"","sources":["../../../src/patterns/tile-grid/PaletteItem.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAK1B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAEhD,wBAAgB,WAAW,CAAC,EAC1B,KAAK,EACL,WAAW,EACX,IAAI,EACJ,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,MAAM,GACP,EAAE,gBAAgB,qBAiClB"}
1
+ {"version":3,"file":"PaletteItem.d.ts","sourceRoot":"","sources":["../../../src/patterns/tile-grid/PaletteItem.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAO1B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAgDhD,eAAO,MAAM,WAAW,wDAAuC,CAAC"}
@@ -1,10 +1,12 @@
1
- import { Box, useTheme } from '@ankhorage/surface';
1
+ import { Box } from '@ankhorage/surface';
2
2
  import React from 'react';
3
3
  import { Card } from '../../components/card';
4
4
  import { Heading } from '../../components/heading';
5
5
  import { Text } from '../../components/text';
6
- export function PaletteItem({ title, description, icon, badge, selected, disabled, onPress, testID, }) {
7
- const { theme } = useTheme();
6
+ import { useZoraTheme } from '../../theme/useZoraTheme';
7
+ import { withZoraThemeScope } from '../../theme/withZoraThemeScope';
8
+ function PaletteItemInner({ themeId: _themeId, mode: _mode, title, description, icon, badge, selected, disabled, onPress, testID, }) {
9
+ const { theme } = useZoraTheme();
8
10
  return (<Card compact disabled={disabled} onPress={onPress} testID={testID} tone={selected ? 'default' : 'subtle'} style={selected
9
11
  ? {
10
12
  borderColor: theme.colors.primary,
@@ -23,4 +25,5 @@ export function PaletteItem({ title, description, icon, badge, selected, disable
23
25
  </Box>
24
26
  </Card>);
25
27
  }
28
+ export const PaletteItem = withZoraThemeScope(PaletteItemInner);
26
29
  //# sourceMappingURL=PaletteItem.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PaletteItem.js","sourceRoot":"","sources":["../../../src/patterns/tile-grid/PaletteItem.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAG7C,MAAM,UAAU,WAAW,CAAC,EAC1B,KAAK,EACL,WAAW,EACX,IAAI,EACJ,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,MAAM,GACW;IACjB,MAAM,EAAE,KAAK,EAAE,GAAG,QAAQ,EAAE,CAAC;IAE7B,OAAO,CACL,CAAC,IAAI,CACH,OAAO,CACP,QAAQ,CAAC,CAAC,QAAQ,CAAC,CACnB,OAAO,CAAC,CAAC,OAAO,CAAC,CACjB,MAAM,CAAC,CAAC,MAAM,CAAC,CACf,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CACtC,KAAK,CAAC,CACJ,QAAQ;YACN,CAAC,CAAC;gBACE,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO;gBACjC,WAAW,EAAE,CAAC;aACf;YACH,CAAC,CAAC,SACN,CAAC,CAED;MAAA,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,CAC1C;QAAA,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,oBAAoB,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CACvD;QAAA,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAC/B;UAAA,CAAC,KAAK,CACR;QAAA,EAAE,OAAO,CACT;QAAA,CAAC,WAAW,CAAC,CAAC,CAAC,CACb,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CACjD;YAAA,CAAC,WAAW,CACd;UAAA,EAAE,IAAI,CAAC,CACR,CAAC,CAAC,CAAC,IAAI,CACR;QAAA,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAC5C;MAAA,EAAE,GAAG,CACP;IAAA,EAAE,IAAI,CAAC,CACR,CAAC;AACJ,CAAC","sourcesContent":["import { Box, useTheme } from '@ankhorage/surface';\nimport React from 'react';\n\nimport { Card } from '../../components/card';\nimport { Heading } from '../../components/heading';\nimport { Text } from '../../components/text';\nimport type { PaletteItemProps } from './types';\n\nexport function PaletteItem({\n title,\n description,\n icon,\n badge,\n selected,\n disabled,\n onPress,\n testID,\n}: PaletteItemProps) {\n const { theme } = useTheme();\n\n return (\n <Card\n compact\n disabled={disabled}\n onPress={onPress}\n testID={testID}\n tone={selected ? 'default' : 'subtle'}\n style={\n selected\n ? {\n borderColor: theme.colors.primary,\n borderWidth: 2,\n }\n : undefined\n }\n >\n <Box p=\"xs\" style={{ alignItems: 'center' }}>\n {icon ? <Box pb=\"s\">{/* Icon spec here */}</Box> : null}\n <Heading level={5} align=\"center\">\n {title}\n </Heading>\n {description ? (\n <Text align=\"center\" tone=\"muted\" variant=\"caption\">\n {description}\n </Text>\n ) : null}\n {badge ? <Box pt=\"xs\">{badge}</Box> : null}\n </Box>\n </Card>\n );\n}\n"]}
1
+ {"version":3,"file":"PaletteItem.js","sourceRoot":"","sources":["../../../src/patterns/tile-grid/PaletteItem.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAC;AACzC,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAGpE,SAAS,gBAAgB,CAAC,EACxB,OAAO,EAAE,QAAQ,EACjB,IAAI,EAAE,KAAK,EACX,KAAK,EACL,WAAW,EACX,IAAI,EACJ,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,MAAM,GACW;IACjB,MAAM,EAAE,KAAK,EAAE,GAAG,YAAY,EAAE,CAAC;IAEjC,OAAO,CACL,CAAC,IAAI,CACH,OAAO,CACP,QAAQ,CAAC,CAAC,QAAQ,CAAC,CACnB,OAAO,CAAC,CAAC,OAAO,CAAC,CACjB,MAAM,CAAC,CAAC,MAAM,CAAC,CACf,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CACtC,KAAK,CAAC,CACJ,QAAQ;YACN,CAAC,CAAC;gBACE,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO;gBACjC,WAAW,EAAE,CAAC;aACf;YACH,CAAC,CAAC,SACN,CAAC,CAED;MAAA,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,CAC1C;QAAA,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,oBAAoB,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CACvD;QAAA,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAC/B;UAAA,CAAC,KAAK,CACR;QAAA,EAAE,OAAO,CACT;QAAA,CAAC,WAAW,CAAC,CAAC,CAAC,CACb,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CACjD;YAAA,CAAC,WAAW,CACd;UAAA,EAAE,IAAI,CAAC,CACR,CAAC,CAAC,CAAC,IAAI,CACR;QAAA,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAC5C;MAAA,EAAE,GAAG,CACP;IAAA,EAAE,IAAI,CAAC,CACR,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,WAAW,GAAG,kBAAkB,CAAC,gBAAgB,CAAC,CAAC","sourcesContent":["import { Box } from '@ankhorage/surface';\nimport React from 'react';\n\nimport { Card } from '../../components/card';\nimport { Heading } from '../../components/heading';\nimport { Text } from '../../components/text';\nimport { useZoraTheme } from '../../theme/useZoraTheme';\nimport { withZoraThemeScope } from '../../theme/withZoraThemeScope';\nimport type { PaletteItemProps } from './types';\n\nfunction PaletteItemInner({\n themeId: _themeId,\n mode: _mode,\n title,\n description,\n icon,\n badge,\n selected,\n disabled,\n onPress,\n testID,\n}: PaletteItemProps) {\n const { theme } = useZoraTheme();\n\n return (\n <Card\n compact\n disabled={disabled}\n onPress={onPress}\n testID={testID}\n tone={selected ? 'default' : 'subtle'}\n style={\n selected\n ? {\n borderColor: theme.colors.primary,\n borderWidth: 2,\n }\n : undefined\n }\n >\n <Box p=\"xs\" style={{ alignItems: 'center' }}>\n {icon ? <Box pb=\"s\">{/* Icon spec here */}</Box> : null}\n <Heading level={5} align=\"center\">\n {title}\n </Heading>\n {description ? (\n <Text align=\"center\" tone=\"muted\" variant=\"caption\">\n {description}\n </Text>\n ) : null}\n {badge ? <Box pt=\"xs\">{badge}</Box> : null}\n </Box>\n </Card>\n );\n}\n\nexport const PaletteItem = withZoraThemeScope(PaletteItemInner);\n"]}
@@ -1,4 +1,4 @@
1
1
  import React from 'react';
2
2
  import type { TileGridProps } from './types';
3
- export declare function TileGrid({ children, columns, compact, testID, }: TileGridProps): React.JSX.Element;
3
+ export declare const TileGrid: (props: TileGridProps) => React.ReactElement | null;
4
4
  //# sourceMappingURL=TileGrid.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TileGrid.d.ts","sourceRoot":"","sources":["../../../src/patterns/tile-grid/TileGrid.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAE7C,wBAAgB,QAAQ,CAAC,EACvB,QAAQ,EACR,OAAsB,EACtB,OAAe,EACf,MAAM,GACP,EAAE,aAAa,qBAiCf"}
1
+ {"version":3,"file":"TileGrid.d.ts","sourceRoot":"","sources":["../../../src/patterns/tile-grid/TileGrid.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AA4C7C,eAAO,MAAM,QAAQ,qDAAoC,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import { Box } from '@ankhorage/surface';
2
2
  import React from 'react';
3
- export function TileGrid({ children, columns = 'responsive', compact = false, testID, }) {
3
+ import { withZoraThemeScope } from '../../theme/withZoraThemeScope';
4
+ function TileGridInner({ themeId: _themeId, mode: _mode, children, columns = 'responsive', compact = false, testID, }) {
4
5
  return (<Box testID={testID} style={{
5
6
  flexDirection: 'row',
6
7
  flexWrap: 'wrap',
@@ -23,4 +24,5 @@ export function TileGrid({ children, columns = 'responsive', compact = false, te
23
24
  })}
24
25
  </Box>);
25
26
  }
27
+ export const TileGrid = withZoraThemeScope(TileGridInner);
26
28
  //# sourceMappingURL=TileGrid.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TileGrid.js","sourceRoot":"","sources":["../../../src/patterns/tile-grid/TileGrid.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAC;AACzC,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,MAAM,UAAU,QAAQ,CAAC,EACvB,QAAQ,EACR,OAAO,GAAG,YAAY,EACtB,OAAO,GAAG,KAAK,EACf,MAAM,GACQ;IACd,OAAO,CACL,CAAC,GAAG,CACF,MAAM,CAAC,CAAC,MAAM,CAAC,CACf,KAAK,CAAC,CAAC;YACL,aAAa,EAAE,KAAK;YACpB,QAAQ,EAAE,MAAM;YAChB,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;SACtB,CAAC,CAEF;MAAA,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;YACtC,IAAI,CAAC,KAAK;gBAAE,OAAO,IAAI,CAAC;YAExB,OAAO,CACL,CAAC,GAAG,CACF,KAAK,CAAC,CACJ,OAAO,KAAK,YAAY;oBACtB,CAAC,CAAC;wBACE,SAAS,EAAE,KAAK;wBAChB,QAAQ,EAAE,CAAC;wBACX,QAAQ,EAAE,GAAG;qBACd;oBACH,CAAC,CAAC;wBACE,KAAK,EAAE,GAAG,GAAG,GAAG,OAAO,GAAG;qBAElC,CAAC,CAED;YAAA,CAAC,KAAK,CACR;UAAA,EAAE,GAAG,CAAC,CACP,CAAC;QACJ,CAAC,CAAC,CACJ;IAAA,EAAE,GAAG,CAAC,CACP,CAAC;AACJ,CAAC","sourcesContent":["import { Box } from '@ankhorage/surface';\nimport React from 'react';\n\nimport type { TileGridProps } from './types';\n\nexport function TileGrid({\n children,\n columns = 'responsive',\n compact = false,\n testID,\n}: TileGridProps) {\n return (\n <Box\n testID={testID}\n style={{\n flexDirection: 'row',\n flexWrap: 'wrap',\n gap: compact ? 8 : 16,\n }}\n >\n {React.Children.map(children, (child) => {\n if (!child) return null;\n\n return (\n <Box\n style={\n columns === 'responsive'\n ? {\n flexBasis: '30%',\n flexGrow: 1,\n minWidth: 120,\n }\n : {\n width: `${100 / columns}%`,\n }\n }\n >\n {child}\n </Box>\n );\n })}\n </Box>\n );\n}\n"]}
1
+ {"version":3,"file":"TileGrid.js","sourceRoot":"","sources":["../../../src/patterns/tile-grid/TileGrid.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAC;AACzC,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAGpE,SAAS,aAAa,CAAC,EACrB,OAAO,EAAE,QAAQ,EACjB,IAAI,EAAE,KAAK,EACX,QAAQ,EACR,OAAO,GAAG,YAAY,EACtB,OAAO,GAAG,KAAK,EACf,MAAM,GACQ;IACd,OAAO,CACL,CAAC,GAAG,CACF,MAAM,CAAC,CAAC,MAAM,CAAC,CACf,KAAK,CAAC,CAAC;YACL,aAAa,EAAE,KAAK;YACpB,QAAQ,EAAE,MAAM;YAChB,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;SACtB,CAAC,CAEF;MAAA,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;YACtC,IAAI,CAAC,KAAK;gBAAE,OAAO,IAAI,CAAC;YAExB,OAAO,CACL,CAAC,GAAG,CACF,KAAK,CAAC,CACJ,OAAO,KAAK,YAAY;oBACtB,CAAC,CAAC;wBACE,SAAS,EAAE,KAAK;wBAChB,QAAQ,EAAE,CAAC;wBACX,QAAQ,EAAE,GAAG;qBACd;oBACH,CAAC,CAAC;wBACE,KAAK,EAAE,GAAG,GAAG,GAAG,OAAO,GAAG;qBAElC,CAAC,CAED;YAAA,CAAC,KAAK,CACR;UAAA,EAAE,GAAG,CAAC,CACP,CAAC;QACJ,CAAC,CAAC,CACJ;IAAA,EAAE,GAAG,CAAC,CACP,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,QAAQ,GAAG,kBAAkB,CAAC,aAAa,CAAC,CAAC","sourcesContent":["import { Box } from '@ankhorage/surface';\nimport React from 'react';\n\nimport { withZoraThemeScope } from '../../theme/withZoraThemeScope';\nimport type { TileGridProps } from './types';\n\nfunction TileGridInner({\n themeId: _themeId,\n mode: _mode,\n children,\n columns = 'responsive',\n compact = false,\n testID,\n}: TileGridProps) {\n return (\n <Box\n testID={testID}\n style={{\n flexDirection: 'row',\n flexWrap: 'wrap',\n gap: compact ? 8 : 16,\n }}\n >\n {React.Children.map(children, (child) => {\n if (!child) return null;\n\n return (\n <Box\n style={\n columns === 'responsive'\n ? {\n flexBasis: '30%',\n flexGrow: 1,\n minWidth: 120,\n }\n : {\n width: `${100 / columns}%`,\n }\n }\n >\n {child}\n </Box>\n );\n })}\n </Box>\n );\n}\n\nexport const TileGrid = withZoraThemeScope(TileGridInner);\n"]}
@@ -1,12 +1,12 @@
1
1
  import type { ButtonIconSpec } from '@ankhorage/surface';
2
2
  import type { ReactNode } from 'react';
3
- export interface TileGridProps {
3
+ import type { ZoraBaseProps } from '../../theme/ZoraBaseProps';
4
+ export interface TileGridProps extends ZoraBaseProps {
4
5
  children?: ReactNode;
5
6
  columns?: number | 'responsive';
6
7
  compact?: boolean;
7
- testID?: string;
8
8
  }
9
- export interface PaletteItemProps {
9
+ export interface PaletteItemProps extends ZoraBaseProps {
10
10
  title: ReactNode;
11
11
  description?: ReactNode;
12
12
  icon?: ButtonIconSpec;
@@ -14,6 +14,5 @@ export interface PaletteItemProps {
14
14
  selected?: boolean;
15
15
  disabled?: boolean;
16
16
  onPress?: () => void;
17
- testID?: string;
18
17
  }
19
18
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/patterns/tile-grid/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,GAAG,YAAY,CAAC;IAChC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,SAAS,CAAC;IACjB,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/patterns/tile-grid/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAE/D,MAAM,WAAW,aAAc,SAAQ,aAAa;IAClD,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,GAAG,YAAY,CAAC;IAChC,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,gBAAiB,SAAQ,aAAa;IACrD,KAAK,EAAE,SAAS,CAAC;IACjB,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/patterns/tile-grid/types.ts"],"names":[],"mappings":"","sourcesContent":["import type { ButtonIconSpec } from '@ankhorage/surface';\nimport type { ReactNode } from 'react';\n\nexport interface TileGridProps {\n children?: ReactNode;\n columns?: number | 'responsive';\n compact?: boolean;\n testID?: string;\n}\n\nexport interface PaletteItemProps {\n title: ReactNode;\n description?: ReactNode;\n icon?: ButtonIconSpec;\n badge?: ReactNode;\n selected?: boolean;\n disabled?: boolean;\n onPress?: () => void;\n testID?: string;\n}\n"]}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/patterns/tile-grid/types.ts"],"names":[],"mappings":"","sourcesContent":["import type { ButtonIconSpec } from '@ankhorage/surface';\nimport type { ReactNode } from 'react';\n\nimport type { ZoraBaseProps } from '../../theme/ZoraBaseProps';\n\nexport interface TileGridProps extends ZoraBaseProps {\n children?: ReactNode;\n columns?: number | 'responsive';\n compact?: boolean;\n}\n\nexport interface PaletteItemProps extends ZoraBaseProps {\n title: ReactNode;\n description?: ReactNode;\n icon?: ButtonIconSpec;\n badge?: ReactNode;\n selected?: boolean;\n disabled?: boolean;\n onPress?: () => void;\n}\n"]}
@@ -1,6 +1,7 @@
1
1
  import React from 'react';
2
+ import type { ZoraBaseProps } from '../../theme/ZoraBaseProps';
2
3
  import type { TreeItemNode, TreeItemRenderProps } from './types';
3
- interface TreeItemProps<TId extends string = string> {
4
+ interface TreeItemProps<TId extends string = string> extends ZoraBaseProps {
4
5
  node: TreeItemNode<TId>;
5
6
  depth: number;
6
7
  selectedId?: TId;
@@ -9,6 +10,6 @@ interface TreeItemProps<TId extends string = string> {
9
10
  onToggleExpand: (id: TId) => void;
10
11
  renderItem?: (props: TreeItemRenderProps<TId>) => React.ReactNode;
11
12
  }
12
- export declare function TreeItem<TId extends string = string>({ node, depth, selectedId, expandedIds, onSelect, onToggleExpand, renderItem, }: TreeItemProps<TId>): React.JSX.Element;
13
+ export declare const TreeItem: <TId extends string = string>(props: TreeItemProps<TId>) => React.ReactElement | null;
13
14
  export {};
14
15
  //# sourceMappingURL=TreeItem.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TreeItem.d.ts","sourceRoot":"","sources":["../../../src/patterns/tree-view/TreeItem.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,KAAK,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAEjE,UAAU,aAAa,CAAC,GAAG,SAAS,MAAM,GAAG,MAAM;IACjD,IAAI,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,GAAG,CAAC;IACjB,WAAW,EAAE,SAAS,GAAG,EAAE,CAAC;IAC5B,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,KAAK,IAAI,CAAC;IAC7B,cAAc,EAAE,CAAC,EAAE,EAAE,GAAG,KAAK,IAAI,CAAC;IAClC,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,mBAAmB,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,SAAS,CAAC;CACnE;AAED,wBAAgB,QAAQ,CAAC,GAAG,SAAS,MAAM,GAAG,MAAM,EAAE,EACpD,IAAI,EACJ,KAAK,EACL,UAAU,EACV,WAAW,EACX,QAAQ,EACR,cAAc,EACd,UAAU,GACX,EAAE,aAAa,CAAC,GAAG,CAAC,qBA4DpB"}
1
+ {"version":3,"file":"TreeItem.d.ts","sourceRoot":"","sources":["../../../src/patterns/tree-view/TreeItem.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAE/D,OAAO,KAAK,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAEjE,UAAU,aAAa,CAAC,GAAG,SAAS,MAAM,GAAG,MAAM,CAAE,SAAQ,aAAa;IACxE,IAAI,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,GAAG,CAAC;IACjB,WAAW,EAAE,SAAS,GAAG,EAAE,CAAC;IAC5B,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,KAAK,IAAI,CAAC;IAC7B,cAAc,EAAE,CAAC,EAAE,EAAE,GAAG,KAAK,IAAI,CAAC;IAClC,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,mBAAmB,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,SAAS,CAAC;CACnE;AA2ED,eAAO,MAAM,QAAQ,GAzEE,GAAG,SAAS,MAAM,kEAyEgB,CAAC"}
@@ -1,8 +1,9 @@
1
1
  import { Box, Stack } from '@ankhorage/surface';
2
2
  import React from 'react';
3
3
  import { IconButton } from '../../components/icon-button';
4
+ import { withZoraThemeScope } from '../../theme/withZoraThemeScope';
4
5
  import { SettingsRow } from '../settings-row';
5
- export function TreeItem({ node, depth, selectedId, expandedIds, onSelect, onToggleExpand, renderItem, }) {
6
+ function TreeItemInner({ themeId: _themeId, mode: _mode, node, depth, selectedId, expandedIds, onSelect, onToggleExpand, renderItem, testID, }) {
6
7
  const hasChildren = node.children !== undefined && node.children.length > 0;
7
8
  const isExpanded = expandedIds.includes(node.id);
8
9
  const isSelected = selectedId === node.id;
@@ -21,11 +22,12 @@ export function TreeItem({ node, depth, selectedId, expandedIds, onSelect, onTog
21
22
  {hasChildren ? (<IconButton icon={{ name: isExpanded ? 'chevron-down-outline' : 'chevron-forward-outline' }} label={isExpanded ? 'Collapse' : 'Expand'} onPress={() => onToggleExpand(node.id)} size="s" emphasis="ghost"/>) : null}
22
23
  </Stack>} meta={node.meta} disabled={node.disabled}/>);
23
24
  };
24
- return (<Box>
25
+ return (<Box testID={testID}>
25
26
  <Box style={{ paddingLeft: depth * 16 }}>{renderContent()}</Box>
26
27
  {hasChildren && isExpanded ? (<Box>
27
28
  {node.children?.map((child) => (<TreeItem key={child.id} depth={depth + 1} expandedIds={expandedIds} node={child} onSelect={onSelect} onToggleExpand={onToggleExpand} renderItem={renderItem} selectedId={selectedId}/>))}
28
29
  </Box>) : null}
29
30
  </Box>);
30
31
  }
32
+ export const TreeItem = withZoraThemeScope(TreeItemInner);
31
33
  //# sourceMappingURL=TreeItem.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TreeItem.js","sourceRoot":"","sources":["../../../src/patterns/tree-view/TreeItem.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Box, Stack } from '@ankhorage/surface';\nimport React from 'react';\n\nimport { IconButton } from '../../components/icon-button';\nimport { SettingsRow } from '../settings-row';\nimport type { TreeItemNode, TreeItemRenderProps } from './types';\n\ninterface TreeItemProps<TId extends string = string> {\n node: TreeItemNode<TId>;\n depth: number;\n selectedId?: TId;\n expandedIds: readonly TId[];\n onSelect?: (id: TId) => void;\n onToggleExpand: (id: TId) => void;\n renderItem?: (props: TreeItemRenderProps<TId>) => React.ReactNode;\n}\n\nexport function TreeItem<TId extends string = string>({\n node,\n depth,\n selectedId,\n expandedIds,\n onSelect,\n onToggleExpand,\n renderItem,\n}: TreeItemProps<TId>) {\n const hasChildren = node.children !== undefined && node.children.length > 0;\n const isExpanded = expandedIds.includes(node.id);\n const isSelected = selectedId === node.id;\n\n const renderContent = () => {\n if (renderItem) {\n return renderItem({\n node,\n depth,\n selected: isSelected,\n expanded: isExpanded,\n hasChildren,\n });\n }\n\n return (\n <SettingsRow\n title={node.label}\n control={\n <Stack direction=\"row\" gap=\"xs\" align=\"center\">\n {node.actions}\n {hasChildren ? (\n <IconButton\n icon={{ name: isExpanded ? 'chevron-down-outline' : 'chevron-forward-outline' }}\n label={isExpanded ? 'Collapse' : 'Expand'}\n onPress={() => onToggleExpand(node.id)}\n size=\"s\"\n emphasis=\"ghost\"\n />\n ) : null}\n </Stack>\n }\n meta={node.meta}\n disabled={node.disabled}\n />\n );\n };\n\n return (\n <Box>\n <Box style={{ paddingLeft: depth * 16 }}>{renderContent()}</Box>\n {hasChildren && isExpanded ? (\n <Box>\n {node.children?.map((child) => (\n <TreeItem\n key={child.id}\n depth={depth + 1}\n expandedIds={expandedIds}\n node={child}\n onSelect={onSelect}\n onToggleExpand={onToggleExpand}\n renderItem={renderItem}\n selectedId={selectedId}\n />\n ))}\n </Box>\n ) : null}\n </Box>\n );\n}\n"]}
1
+ {"version":3,"file":"TreeItem.js","sourceRoot":"","sources":["../../../src/patterns/tree-view/TreeItem.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Box, Stack } from '@ankhorage/surface';\nimport React from 'react';\n\nimport { IconButton } from '../../components/icon-button';\nimport { withZoraThemeScope } from '../../theme/withZoraThemeScope';\nimport type { ZoraBaseProps } from '../../theme/ZoraBaseProps';\nimport { SettingsRow } from '../settings-row';\nimport type { TreeItemNode, TreeItemRenderProps } from './types';\n\ninterface TreeItemProps<TId extends string = string> extends ZoraBaseProps {\n node: TreeItemNode<TId>;\n depth: number;\n selectedId?: TId;\n expandedIds: readonly TId[];\n onSelect?: (id: TId) => void;\n onToggleExpand: (id: TId) => void;\n renderItem?: (props: TreeItemRenderProps<TId>) => React.ReactNode;\n}\n\nfunction TreeItemInner<TId extends string = string>({\n themeId: _themeId,\n mode: _mode,\n node,\n depth,\n selectedId,\n expandedIds,\n onSelect,\n onToggleExpand,\n renderItem,\n testID,\n}: TreeItemProps<TId>) {\n const hasChildren = node.children !== undefined && node.children.length > 0;\n const isExpanded = expandedIds.includes(node.id);\n const isSelected = selectedId === node.id;\n\n const renderContent = () => {\n if (renderItem) {\n return renderItem({\n node,\n depth,\n selected: isSelected,\n expanded: isExpanded,\n hasChildren,\n });\n }\n\n return (\n <SettingsRow\n title={node.label}\n control={\n <Stack direction=\"row\" gap=\"xs\" align=\"center\">\n {node.actions}\n {hasChildren ? (\n <IconButton\n icon={{ name: isExpanded ? 'chevron-down-outline' : 'chevron-forward-outline' }}\n label={isExpanded ? 'Collapse' : 'Expand'}\n onPress={() => onToggleExpand(node.id)}\n size=\"s\"\n emphasis=\"ghost\"\n />\n ) : null}\n </Stack>\n }\n meta={node.meta}\n disabled={node.disabled}\n />\n );\n };\n\n return (\n <Box testID={testID}>\n <Box style={{ paddingLeft: depth * 16 }}>{renderContent()}</Box>\n {hasChildren && isExpanded ? (\n <Box>\n {node.children?.map((child) => (\n <TreeItem\n key={child.id}\n depth={depth + 1}\n expandedIds={expandedIds}\n node={child}\n onSelect={onSelect}\n onToggleExpand={onToggleExpand}\n renderItem={renderItem}\n selectedId={selectedId}\n />\n ))}\n </Box>\n ) : null}\n </Box>\n );\n}\n\nexport const TreeItem = withZoraThemeScope(TreeItemInner);\n"]}
@@ -1,4 +1,4 @@
1
1
  import React from 'react';
2
2
  import type { TreeViewProps } from './types';
3
- export declare function TreeView<TId extends string = string>({ nodes, selectedId, expandedIds: controlledExpandedIds, defaultExpandedIds, onSelect, onExpandedChange, renderItem, testID, }: TreeViewProps<TId>): React.JSX.Element;
3
+ export declare const TreeView: <TId extends string = string>(props: TreeViewProps<TId>) => React.ReactElement | null;
4
4
  //# sourceMappingURL=TreeView.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TreeView.d.ts","sourceRoot":"","sources":["../../../src/patterns/tree-view/TreeView.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAE7C,wBAAgB,QAAQ,CAAC,GAAG,SAAS,MAAM,GAAG,MAAM,EAAE,EACpD,KAAK,EACL,UAAU,EACV,WAAW,EAAE,qBAAqB,EAClC,kBAAkB,EAClB,QAAQ,EACR,gBAAgB,EAChB,UAAU,EACV,MAAM,GACP,EAAE,aAAa,CAAC,GAAG,CAAC,qBAkCpB"}
1
+ {"version":3,"file":"TreeView.d.ts","sourceRoot":"","sources":["../../../src/patterns/tree-view/TreeView.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAiD7C,eAAO,MAAM,QAAQ,GA/CE,GAAG,SAAS,MAAM,kEA+CgB,CAAC"}
@@ -1,7 +1,8 @@
1
1
  import { Stack } from '@ankhorage/surface';
2
2
  import React from 'react';
3
+ import { withZoraThemeScope } from '../../theme/withZoraThemeScope';
3
4
  import { TreeItem } from './TreeItem';
4
- export function TreeView({ nodes, selectedId, expandedIds: controlledExpandedIds, defaultExpandedIds, onSelect, onExpandedChange, renderItem, testID, }) {
5
+ function TreeViewInner({ themeId: _themeId, mode: _mode, nodes, selectedId, expandedIds: controlledExpandedIds, defaultExpandedIds, onSelect, onExpandedChange, renderItem, testID, }) {
5
6
  const [internalExpandedIds, setInternalExpandedIds] = React.useState(defaultExpandedIds ?? []);
6
7
  const isControlled = controlledExpandedIds !== undefined;
7
8
  const expandedIds = isControlled ? controlledExpandedIds : internalExpandedIds;
@@ -17,4 +18,5 @@ export function TreeView({ nodes, selectedId, expandedIds: controlledExpandedIds
17
18
  {nodes.map((node) => (<TreeItem key={node.id} depth={0} expandedIds={expandedIds} node={node} onSelect={onSelect} onToggleExpand={handleToggleExpand} renderItem={renderItem} selectedId={selectedId}/>))}
18
19
  </Stack>);
19
20
  }
21
+ export const TreeView = withZoraThemeScope(TreeViewInner);
20
22
  //# sourceMappingURL=TreeView.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TreeView.js","sourceRoot":"","sources":["../../../src/patterns/tree-view/TreeView.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAGtC,MAAM,UAAU,QAAQ,CAA8B,EACpD,KAAK,EACL,UAAU,EACV,WAAW,EAAE,qBAAqB,EAClC,kBAAkB,EAClB,QAAQ,EACR,gBAAgB,EAChB,UAAU,EACV,MAAM,GACa;IACnB,MAAM,CAAC,mBAAmB,EAAE,sBAAsB,CAAC,GAAG,KAAK,CAAC,QAAQ,CAClE,kBAAkB,IAAI,EAAE,CACzB,CAAC;IAEF,MAAM,YAAY,GAAG,qBAAqB,KAAK,SAAS,CAAC;IACzD,MAAM,WAAW,GAAG,YAAY,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,mBAAmB,CAAC;IAE/E,MAAM,kBAAkB,GAAG,CAAC,EAAO,EAAE,EAAE;QACrC,MAAM,UAAU,GAAG,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAC5C,MAAM,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,WAAW,EAAE,EAAE,CAAC,CAAC;QAE3F,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,sBAAsB,CAAC,MAAM,CAAC,CAAC;QACjC,CAAC;QACD,gBAAgB,EAAE,CAAC,MAAM,CAAC,CAAC;IAC7B,CAAC,CAAC;IAEF,OAAO,CACL,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAC/B;MAAA,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CACnB,CAAC,QAAQ,CACP,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CACb,KAAK,CAAC,CAAC,CAAC,CAAC,CACT,WAAW,CAAC,CAAC,WAAW,CAAC,CACzB,IAAI,CAAC,CAAC,IAAI,CAAC,CACX,QAAQ,CAAC,CAAC,QAAQ,CAAC,CACnB,cAAc,CAAC,CAAC,kBAAkB,CAAC,CACnC,UAAU,CAAC,CAAC,UAAU,CAAC,CACvB,UAAU,CAAC,CAAC,UAAU,CAAC,EACvB,CACH,CAAC,CACJ;IAAA,EAAE,KAAK,CAAC,CACT,CAAC;AACJ,CAAC","sourcesContent":["import { Stack } from '@ankhorage/surface';\nimport React from 'react';\n\nimport { TreeItem } from './TreeItem';\nimport type { TreeViewProps } from './types';\n\nexport function TreeView<TId extends string = string>({\n nodes,\n selectedId,\n expandedIds: controlledExpandedIds,\n defaultExpandedIds,\n onSelect,\n onExpandedChange,\n renderItem,\n testID,\n}: TreeViewProps<TId>) {\n const [internalExpandedIds, setInternalExpandedIds] = React.useState<readonly TId[]>(\n defaultExpandedIds ?? [],\n );\n\n const isControlled = controlledExpandedIds !== undefined;\n const expandedIds = isControlled ? controlledExpandedIds : internalExpandedIds;\n\n const handleToggleExpand = (id: TId) => {\n const isExpanded = expandedIds.includes(id);\n const newIds = isExpanded ? expandedIds.filter((eid) => eid !== id) : [...expandedIds, id];\n\n if (!isControlled) {\n setInternalExpandedIds(newIds);\n }\n onExpandedChange?.(newIds);\n };\n\n return (\n <Stack gap=\"none\" testID={testID}>\n {nodes.map((node) => (\n <TreeItem\n key={node.id}\n depth={0}\n expandedIds={expandedIds}\n node={node}\n onSelect={onSelect}\n onToggleExpand={handleToggleExpand}\n renderItem={renderItem}\n selectedId={selectedId}\n />\n ))}\n </Stack>\n );\n}\n"]}
1
+ {"version":3,"file":"TreeView.js","sourceRoot":"","sources":["../../../src/patterns/tree-view/TreeView.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAGtC,SAAS,aAAa,CAA8B,EAClD,OAAO,EAAE,QAAQ,EACjB,IAAI,EAAE,KAAK,EACX,KAAK,EACL,UAAU,EACV,WAAW,EAAE,qBAAqB,EAClC,kBAAkB,EAClB,QAAQ,EACR,gBAAgB,EAChB,UAAU,EACV,MAAM,GACa;IACnB,MAAM,CAAC,mBAAmB,EAAE,sBAAsB,CAAC,GAAG,KAAK,CAAC,QAAQ,CAClE,kBAAkB,IAAI,EAAE,CACzB,CAAC;IAEF,MAAM,YAAY,GAAG,qBAAqB,KAAK,SAAS,CAAC;IACzD,MAAM,WAAW,GAAG,YAAY,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,mBAAmB,CAAC;IAE/E,MAAM,kBAAkB,GAAG,CAAC,EAAO,EAAE,EAAE;QACrC,MAAM,UAAU,GAAG,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAC5C,MAAM,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,WAAW,EAAE,EAAE,CAAC,CAAC;QAE3F,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,sBAAsB,CAAC,MAAM,CAAC,CAAC;QACjC,CAAC;QACD,gBAAgB,EAAE,CAAC,MAAM,CAAC,CAAC;IAC7B,CAAC,CAAC;IAEF,OAAO,CACL,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAC/B;MAAA,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CACnB,CAAC,QAAQ,CACP,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CACb,KAAK,CAAC,CAAC,CAAC,CAAC,CACT,WAAW,CAAC,CAAC,WAAW,CAAC,CACzB,IAAI,CAAC,CAAC,IAAI,CAAC,CACX,QAAQ,CAAC,CAAC,QAAQ,CAAC,CACnB,cAAc,CAAC,CAAC,kBAAkB,CAAC,CACnC,UAAU,CAAC,CAAC,UAAU,CAAC,CACvB,UAAU,CAAC,CAAC,UAAU,CAAC,EACvB,CACH,CAAC,CACJ;IAAA,EAAE,KAAK,CAAC,CACT,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,QAAQ,GAAG,kBAAkB,CAAC,aAAa,CAAC,CAAC","sourcesContent":["import { Stack } from '@ankhorage/surface';\nimport React from 'react';\n\nimport { withZoraThemeScope } from '../../theme/withZoraThemeScope';\nimport { TreeItem } from './TreeItem';\nimport type { TreeViewProps } from './types';\n\nfunction TreeViewInner<TId extends string = string>({\n themeId: _themeId,\n mode: _mode,\n nodes,\n selectedId,\n expandedIds: controlledExpandedIds,\n defaultExpandedIds,\n onSelect,\n onExpandedChange,\n renderItem,\n testID,\n}: TreeViewProps<TId>) {\n const [internalExpandedIds, setInternalExpandedIds] = React.useState<readonly TId[]>(\n defaultExpandedIds ?? [],\n );\n\n const isControlled = controlledExpandedIds !== undefined;\n const expandedIds = isControlled ? controlledExpandedIds : internalExpandedIds;\n\n const handleToggleExpand = (id: TId) => {\n const isExpanded = expandedIds.includes(id);\n const newIds = isExpanded ? expandedIds.filter((eid) => eid !== id) : [...expandedIds, id];\n\n if (!isControlled) {\n setInternalExpandedIds(newIds);\n }\n onExpandedChange?.(newIds);\n };\n\n return (\n <Stack gap=\"none\" testID={testID}>\n {nodes.map((node) => (\n <TreeItem\n key={node.id}\n depth={0}\n expandedIds={expandedIds}\n node={node}\n onSelect={onSelect}\n onToggleExpand={handleToggleExpand}\n renderItem={renderItem}\n selectedId={selectedId}\n />\n ))}\n </Stack>\n );\n}\n\nexport const TreeView = withZoraThemeScope(TreeViewInner);\n"]}
@@ -1,5 +1,6 @@
1
1
  import type { ButtonIconSpec } from '@ankhorage/surface';
2
2
  import type { ReactNode } from 'react';
3
+ import type { ZoraBaseProps } from '../../theme/ZoraBaseProps';
3
4
  export interface TreeItemNode<TId extends string = string> {
4
5
  id: TId;
5
6
  label: ReactNode;
@@ -16,7 +17,7 @@ export interface TreeItemRenderProps<TId extends string = string> {
16
17
  expanded: boolean;
17
18
  hasChildren: boolean;
18
19
  }
19
- export interface TreeViewProps<TId extends string = string> {
20
+ export interface TreeViewProps<TId extends string = string> extends ZoraBaseProps {
20
21
  nodes: readonly TreeItemNode<TId>[];
21
22
  selectedId?: TId;
22
23
  expandedIds?: readonly TId[];
@@ -24,6 +25,5 @@ export interface TreeViewProps<TId extends string = string> {
24
25
  onSelect?: (id: TId) => void;
25
26
  onExpandedChange?: (ids: readonly TId[]) => void;
26
27
  renderItem?: (props: TreeItemRenderProps<TId>) => ReactNode;
27
- testID?: string;
28
28
  }
29
29
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/patterns/tree-view/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,MAAM,WAAW,YAAY,CAAC,GAAG,SAAS,MAAM,GAAG,MAAM;IACvD,EAAE,EAAE,GAAG,CAAC;IACR,KAAK,EAAE,SAAS,CAAC;IACjB,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB,QAAQ,CAAC,EAAE,SAAS,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC;IACxC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,OAAO,CAAC,EAAE,SAAS,CAAC;CACrB;AAED,MAAM,WAAW,mBAAmB,CAAC,GAAG,SAAS,MAAM,GAAG,MAAM;IAC9D,IAAI,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,aAAa,CAAC,GAAG,SAAS,MAAM,GAAG,MAAM;IACxD,KAAK,EAAE,SAAS,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC;IACpC,UAAU,CAAC,EAAE,GAAG,CAAC;IACjB,WAAW,CAAC,EAAE,SAAS,GAAG,EAAE,CAAC;IAC7B,kBAAkB,CAAC,EAAE,SAAS,GAAG,EAAE,CAAC;IACpC,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,KAAK,IAAI,CAAC;IAC7B,gBAAgB,CAAC,EAAE,CAAC,GAAG,EAAE,SAAS,GAAG,EAAE,KAAK,IAAI,CAAC;IACjD,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,mBAAmB,CAAC,GAAG,CAAC,KAAK,SAAS,CAAC;IAC5D,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/patterns/tree-view/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAE/D,MAAM,WAAW,YAAY,CAAC,GAAG,SAAS,MAAM,GAAG,MAAM;IACvD,EAAE,EAAE,GAAG,CAAC;IACR,KAAK,EAAE,SAAS,CAAC;IACjB,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB,QAAQ,CAAC,EAAE,SAAS,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC;IACxC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,OAAO,CAAC,EAAE,SAAS,CAAC;CACrB;AAED,MAAM,WAAW,mBAAmB,CAAC,GAAG,SAAS,MAAM,GAAG,MAAM;IAC9D,IAAI,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,aAAa,CAAC,GAAG,SAAS,MAAM,GAAG,MAAM,CAAE,SAAQ,aAAa;IAC/E,KAAK,EAAE,SAAS,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC;IACpC,UAAU,CAAC,EAAE,GAAG,CAAC;IACjB,WAAW,CAAC,EAAE,SAAS,GAAG,EAAE,CAAC;IAC7B,kBAAkB,CAAC,EAAE,SAAS,GAAG,EAAE,CAAC;IACpC,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,KAAK,IAAI,CAAC;IAC7B,gBAAgB,CAAC,EAAE,CAAC,GAAG,EAAE,SAAS,GAAG,EAAE,KAAK,IAAI,CAAC;IACjD,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,mBAAmB,CAAC,GAAG,CAAC,KAAK,SAAS,CAAC;CAC7D"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/patterns/tree-view/types.ts"],"names":[],"mappings":"","sourcesContent":["import type { ButtonIconSpec } from '@ankhorage/surface';\nimport type { ReactNode } from 'react';\n\nexport interface TreeItemNode<TId extends string = string> {\n id: TId;\n label: ReactNode;\n icon?: ButtonIconSpec;\n children?: readonly TreeItemNode<TId>[];\n disabled?: boolean;\n meta?: ReactNode;\n actions?: ReactNode;\n}\n\nexport interface TreeItemRenderProps<TId extends string = string> {\n node: TreeItemNode<TId>;\n depth: number;\n selected: boolean;\n expanded: boolean;\n hasChildren: boolean;\n}\n\nexport interface TreeViewProps<TId extends string = string> {\n nodes: readonly TreeItemNode<TId>[];\n selectedId?: TId;\n expandedIds?: readonly TId[];\n defaultExpandedIds?: readonly TId[];\n onSelect?: (id: TId) => void;\n onExpandedChange?: (ids: readonly TId[]) => void;\n renderItem?: (props: TreeItemRenderProps<TId>) => ReactNode;\n testID?: string;\n}\n"]}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/patterns/tree-view/types.ts"],"names":[],"mappings":"","sourcesContent":["import type { ButtonIconSpec } from '@ankhorage/surface';\nimport type { ReactNode } from 'react';\n\nimport type { ZoraBaseProps } from '../../theme/ZoraBaseProps';\n\nexport interface TreeItemNode<TId extends string = string> {\n id: TId;\n label: ReactNode;\n icon?: ButtonIconSpec;\n children?: readonly TreeItemNode<TId>[];\n disabled?: boolean;\n meta?: ReactNode;\n actions?: ReactNode;\n}\n\nexport interface TreeItemRenderProps<TId extends string = string> {\n node: TreeItemNode<TId>;\n depth: number;\n selected: boolean;\n expanded: boolean;\n hasChildren: boolean;\n}\n\nexport interface TreeViewProps<TId extends string = string> extends ZoraBaseProps {\n nodes: readonly TreeItemNode<TId>[];\n selectedId?: TId;\n expandedIds?: readonly TId[];\n defaultExpandedIds?: readonly TId[];\n onSelect?: (id: TId) => void;\n onExpandedChange?: (ids: readonly TId[]) => void;\n renderItem?: (props: TreeItemRenderProps<TId>) => ReactNode;\n}\n"]}
@@ -1,4 +1,4 @@
1
1
  import React from 'react';
2
2
  import type { ZoraBaseProps } from './ZoraBaseProps';
3
- export declare function withZoraThemeScope<P extends ZoraBaseProps>(Component: React.ComponentType<P>): React.FC<P>;
3
+ export declare function withZoraThemeScope<P extends ZoraBaseProps>(Component: (props: P) => React.ReactElement | null): (props: P) => React.ReactElement | null;
4
4
  //# sourceMappingURL=withZoraThemeScope.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"withZoraThemeScope.d.ts","sourceRoot":"","sources":["../../src/theme/withZoraThemeScope.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGrD,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,aAAa,EACxD,SAAS,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,GAChC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAiBb"}
1
+ {"version":3,"file":"withZoraThemeScope.d.ts","sourceRoot":"","sources":["../../src/theme/withZoraThemeScope.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGrD,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,aAAa,EACxD,SAAS,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,KAAK,CAAC,YAAY,GAAG,IAAI,GACjD,CAAC,KAAK,EAAE,CAAC,KAAK,KAAK,CAAC,YAAY,GAAG,IAAI,CAkBzC"}
@@ -3,10 +3,10 @@ import { ZoraThemeScope } from './ZoraThemeScope';
3
3
  export function withZoraThemeScope(Component) {
4
4
  const Wrapped = (props) => {
5
5
  if (props.mode === undefined && props.themeId === undefined) {
6
- return <Component {...props}/>;
6
+ return React.createElement(Component, props);
7
7
  }
8
8
  return (<ZoraThemeScope mode={props.mode} themeId={props.themeId}>
9
- <Component {...props}/>
9
+ {React.createElement(Component, props)}
10
10
  </ZoraThemeScope>);
11
11
  };
12
12
  const name = Component.displayName ?? (Component.name || 'Component');
@@ -1 +1 @@
1
- {"version":3,"file":"withZoraThemeScope.js","sourceRoot":"","sources":["../../src/theme/withZoraThemeScope.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,MAAM,UAAU,kBAAkB,CAChC,SAAiC;IAEjC,MAAM,OAAO,GAAgB,CAAC,KAAK,EAAE,EAAE;QACrC,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YAC5D,OAAO,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,EAAG,CAAC;QAClC,CAAC;QAED,OAAO,CACL,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CACvD;QAAA,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,EACvB;MAAA,EAAE,cAAc,CAAC,CAClB,CAAC;IACJ,CAAC,CAAC;IAEF,MAAM,IAAI,GAAG,SAAS,CAAC,WAAW,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,WAAW,CAAC,CAAC;IACtE,OAAO,CAAC,WAAW,GAAG,sBAAsB,IAAI,GAAG,CAAC;IAEpD,OAAO,OAAO,CAAC;AACjB,CAAC","sourcesContent":["import React from 'react';\n\nimport type { ZoraBaseProps } from './ZoraBaseProps';\nimport { ZoraThemeScope } from './ZoraThemeScope';\n\nexport function withZoraThemeScope<P extends ZoraBaseProps>(\n Component: React.ComponentType<P>,\n): React.FC<P> {\n const Wrapped: React.FC<P> = (props) => {\n if (props.mode === undefined && props.themeId === undefined) {\n return <Component {...props} />;\n }\n\n return (\n <ZoraThemeScope mode={props.mode} themeId={props.themeId}>\n <Component {...props} />\n </ZoraThemeScope>\n );\n };\n\n const name = Component.displayName ?? (Component.name || 'Component');\n Wrapped.displayName = `withZoraThemeScope(${name})`;\n\n return Wrapped;\n}\n"]}
1
+ {"version":3,"file":"withZoraThemeScope.js","sourceRoot":"","sources":["../../src/theme/withZoraThemeScope.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,MAAM,UAAU,kBAAkB,CAChC,SAAkD;IAElD,MAAM,OAAO,GAAG,CAAC,KAAQ,EAAE,EAAE;QAC3B,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YAC5D,OAAO,KAAK,CAAC,aAAa,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAC/C,CAAC;QAED,OAAO,CACL,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CACvD;QAAA,CAAC,KAAK,CAAC,aAAa,CAAC,SAAS,EAAE,KAAK,CAAC,CACxC;MAAA,EAAE,cAAc,CAAC,CAClB,CAAC;IACJ,CAAC,CAAC;IAEF,MAAM,IAAI,GACP,SAAsC,CAAC,WAAW,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,WAAW,CAAC,CAAC;IACxF,OAAoC,CAAC,WAAW,GAAG,sBAAsB,IAAI,GAAG,CAAC;IAElF,OAAO,OAAO,CAAC;AACjB,CAAC","sourcesContent":["import React from 'react';\n\nimport type { ZoraBaseProps } from './ZoraBaseProps';\nimport { ZoraThemeScope } from './ZoraThemeScope';\n\nexport function withZoraThemeScope<P extends ZoraBaseProps>(\n Component: (props: P) => React.ReactElement | null,\n): (props: P) => React.ReactElement | null {\n const Wrapped = (props: P) => {\n if (props.mode === undefined && props.themeId === undefined) {\n return React.createElement(Component, props);\n }\n\n return (\n <ZoraThemeScope mode={props.mode} themeId={props.themeId}>\n {React.createElement(Component, props)}\n </ZoraThemeScope>\n );\n };\n\n const name =\n (Component as { displayName?: string }).displayName ?? (Component.name || 'Component');\n (Wrapped as { displayName?: string }).displayName = `withZoraThemeScope(${name})`;\n\n return Wrapped;\n}\n"]}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@ankhorage/zora",
3
3
  "type": "module",
4
- "version": "0.10.0",
4
+ "version": "0.11.0",
5
5
  "description": "Opinionated React Native and React Native Web UI kit built on @ankhorage/surface.",
6
6
  "homepage": "https://github.com/ankhorage/zora#readme",
7
7
  "bugs": {
@@ -2,9 +2,18 @@ import { Badge as SurfaceBadge } from '@ankhorage/surface';
2
2
  import React from 'react';
3
3
 
4
4
  import { resolveBadgeRecipe } from '../../internal/recipes';
5
+ import { withZoraThemeScope } from '../../theme/withZoraThemeScope';
5
6
  import type { BadgeProps } from './types';
6
7
 
7
- export function Badge({ children, tone, emphasis, size, ...props }: BadgeProps) {
8
+ function BadgeInner({
9
+ themeId: _themeId,
10
+ mode: _mode,
11
+ children,
12
+ tone,
13
+ emphasis,
14
+ size,
15
+ ...props
16
+ }: BadgeProps) {
8
17
  const recipe = resolveBadgeRecipe({ tone, emphasis, size });
9
18
 
10
19
  return (
@@ -17,3 +26,5 @@ export function Badge({ children, tone, emphasis, size, ...props }: BadgeProps)
17
26
  />
18
27
  );
19
28
  }
29
+
30
+ export const Badge = withZoraThemeScope(BadgeInner);
@@ -2,11 +2,12 @@ import type { BadgeProps as SurfaceBadgeProps } from '@ankhorage/surface';
2
2
  import type React from 'react';
3
3
 
4
4
  import type { ZoraBadgeEmphasis, ZoraControlSize, ZoraTone } from '../../internal/recipes';
5
+ import type { ZoraBaseProps } from '../../theme/ZoraBaseProps';
5
6
 
6
- export interface BadgeProps extends Omit<
7
- SurfaceBadgeProps,
8
- 'content' | 'size' | 'tone' | 'variant'
9
- > {
7
+ export interface BadgeProps
8
+ extends
9
+ ZoraBaseProps,
10
+ Omit<SurfaceBadgeProps, 'content' | 'size' | 'tone' | 'variant' | 'mode' | 'themeId'> {
10
11
  children?: React.ReactNode;
11
12
  tone?: ZoraTone;
12
13
  emphasis?: ZoraBadgeEmphasis;
@@ -0,0 +1,11 @@
1
+ import { Checkbox as SurfaceCheckbox } from '@ankhorage/surface';
2
+ import React from 'react';
3
+
4
+ import { withZoraThemeScope } from '../../theme/withZoraThemeScope';
5
+ import type { CheckboxProps } from './types';
6
+
7
+ function CheckboxInner({ themeId: _themeId, mode: _mode, ...props }: CheckboxProps) {
8
+ return <SurfaceCheckbox {...props} />;
9
+ }
10
+
11
+ export const Checkbox = withZoraThemeScope(CheckboxInner);
@@ -2,10 +2,13 @@ import { Checkbox, 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 { CheckboxGroupOption, CheckboxGroupProps } from './types';
7
8
 
8
- export function CheckboxGroup<TValue extends string>({
9
+ function CheckboxGroupInner<TValue extends string>({
10
+ themeId: _themeId,
11
+ mode: _mode,
9
12
  value,
10
13
  onValueChange,
11
14
  options,
@@ -53,6 +56,8 @@ export function CheckboxGroup<TValue extends string>({
53
56
  );
54
57
  }
55
58
 
59
+ export const CheckboxGroup = withZoraThemeScope(CheckboxGroupInner);
60
+
56
61
  function CheckboxGroupItem<TValue extends string>({
57
62
  option,
58
63
  checked,
@@ -1,4 +1,3 @@
1
+ export { Checkbox } from './Checkbox';
1
2
  export { CheckboxGroup } from './CheckboxGroup';
2
- export type { CheckboxGroupOption, CheckboxGroupProps } from './types';
3
- export type { CheckboxProps } from '@ankhorage/surface';
4
- export { Checkbox } from '@ankhorage/surface';
3
+ export type { CheckboxGroupOption, CheckboxGroupProps, CheckboxProps } from './types';
@@ -1,6 +1,11 @@
1
- import type { CheckboxProps } from '@ankhorage/surface';
1
+ import type { CheckboxProps as SurfaceCheckboxProps } from '@ankhorage/surface';
2
2
  import type React from 'react';
3
3
 
4
+ import type { ZoraBaseProps } from '../../theme/ZoraBaseProps';
5
+
6
+ export interface CheckboxProps
7
+ extends ZoraBaseProps, Omit<SurfaceCheckboxProps, 'mode' | 'themeId'> {}
8
+
4
9
  export interface CheckboxGroupOption<TValue extends string> {
5
10
  value: TValue;
6
11
  label: React.ReactNode;
@@ -9,10 +14,13 @@ export interface CheckboxGroupOption<TValue extends string> {
9
14
  testID?: string;
10
15
  }
11
16
 
12
- export interface CheckboxGroupProps<TValue extends string> extends Pick<
13
- CheckboxProps,
14
- 'tone' | 'size' | 'invalid' | 'readOnly' | 'disabled' | 'testID'
15
- > {
17
+ export interface CheckboxGroupProps<TValue extends string>
18
+ extends
19
+ ZoraBaseProps,
20
+ Pick<
21
+ Omit<SurfaceCheckboxProps, 'mode' | 'themeId'>,
22
+ 'tone' | 'size' | 'invalid' | 'readOnly' | 'disabled'
23
+ > {
16
24
  value: readonly TValue[];
17
25
  onValueChange: (value: TValue[]) => void;
18
26
  options: readonly CheckboxGroupOption<TValue>[];
@@ -1,6 +1,7 @@
1
1
  import { Box, Drawer as SurfaceDrawer, Stack } from '@ankhorage/surface';
2
2
  import React, { useCallback, useEffect, useRef } from 'react';
3
3
 
4
+ import { withZoraThemeScope } from '../../theme/withZoraThemeScope';
4
5
  import { Heading } from '../heading';
5
6
  import { Text } from '../text';
6
7
  import type { DrawerProps } from './types';
@@ -17,7 +18,16 @@ function useStableCallback(callback: (() => void) | undefined): (() => void) | u
17
18
  }, []);
18
19
  }
19
20
 
20
- export function Drawer({ children, title, description, footer, onDismiss, ...props }: DrawerProps) {
21
+ function DrawerInner({
22
+ themeId: _themeId,
23
+ mode: _mode,
24
+ children,
25
+ title,
26
+ description,
27
+ footer,
28
+ onDismiss,
29
+ ...props
30
+ }: DrawerProps) {
21
31
  const hasHeader = title != null || description != null;
22
32
  const stableOnDismiss = useStableCallback(onDismiss);
23
33
 
@@ -40,3 +50,5 @@ export function Drawer({ children, title, description, footer, onDismiss, ...pro
40
50
  </SurfaceDrawer>
41
51
  );
42
52
  }
53
+
54
+ export const Drawer = withZoraThemeScope(DrawerInner);