@ankhorage/surface 0.0.1 → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (411) hide show
  1. package/CHANGELOG.md +28 -0
  2. package/README.md +163 -49
  3. package/dist/components/badge/Badge.d.ts +4 -0
  4. package/dist/components/badge/Badge.d.ts.map +1 -0
  5. package/dist/components/badge/Badge.js +30 -0
  6. package/dist/components/badge/Badge.js.map +1 -0
  7. package/dist/components/badge/index.d.ts +3 -0
  8. package/dist/components/badge/index.d.ts.map +1 -0
  9. package/dist/components/badge/index.js +2 -0
  10. package/dist/components/badge/index.js.map +1 -0
  11. package/dist/components/badge/types.d.ts +12 -0
  12. package/dist/components/badge/types.d.ts.map +1 -0
  13. package/dist/components/badge/types.js +2 -0
  14. package/dist/components/badge/types.js.map +1 -0
  15. package/dist/components/button/Button.d.ts +4 -0
  16. package/dist/components/button/Button.d.ts.map +1 -0
  17. package/dist/components/button/Button.js +50 -0
  18. package/dist/components/button/Button.js.map +1 -0
  19. package/dist/components/button/index.d.ts +3 -0
  20. package/dist/components/button/index.d.ts.map +1 -0
  21. package/dist/components/button/index.js +2 -0
  22. package/dist/components/button/index.js.map +1 -0
  23. package/dist/components/button/types.d.ts +21 -0
  24. package/dist/components/button/types.d.ts.map +1 -0
  25. package/dist/components/button/types.js +2 -0
  26. package/dist/components/button/types.js.map +1 -0
  27. package/dist/components/card/Card.d.ts +4 -0
  28. package/dist/components/card/Card.d.ts.map +1 -0
  29. package/dist/components/card/Card.js +46 -0
  30. package/dist/components/card/Card.js.map +1 -0
  31. package/dist/components/card/index.d.ts +3 -0
  32. package/dist/components/card/index.d.ts.map +1 -0
  33. package/dist/components/card/index.js +2 -0
  34. package/dist/components/card/index.js.map +1 -0
  35. package/dist/components/card/types.d.ts +10 -0
  36. package/dist/components/card/types.d.ts.map +1 -0
  37. package/dist/components/card/types.js +2 -0
  38. package/dist/components/card/types.js.map +1 -0
  39. package/dist/components/checkbox/Checkbox.d.ts +4 -0
  40. package/dist/components/checkbox/Checkbox.d.ts.map +1 -0
  41. package/dist/components/checkbox/Checkbox.js +61 -0
  42. package/dist/components/checkbox/Checkbox.js.map +1 -0
  43. package/dist/components/checkbox/index.d.ts +3 -0
  44. package/dist/components/checkbox/index.d.ts.map +1 -0
  45. package/dist/components/checkbox/index.js +2 -0
  46. package/dist/components/checkbox/index.js.map +1 -0
  47. package/dist/components/checkbox/types.d.ts +15 -0
  48. package/dist/components/checkbox/types.d.ts.map +1 -0
  49. package/dist/components/checkbox/types.js +2 -0
  50. package/dist/components/checkbox/types.js.map +1 -0
  51. package/dist/components/drawer/Drawer.d.ts +4 -0
  52. package/dist/components/drawer/Drawer.d.ts.map +1 -0
  53. package/dist/components/drawer/Drawer.js +56 -0
  54. package/dist/components/drawer/Drawer.js.map +1 -0
  55. package/dist/components/drawer/index.d.ts +3 -0
  56. package/dist/components/drawer/index.d.ts.map +1 -0
  57. package/dist/components/drawer/index.js +2 -0
  58. package/dist/components/drawer/index.js.map +1 -0
  59. package/dist/components/drawer/types.d.ts +10 -0
  60. package/dist/components/drawer/types.d.ts.map +1 -0
  61. package/dist/components/drawer/types.js +2 -0
  62. package/dist/components/drawer/types.js.map +1 -0
  63. package/dist/components/field/Field.d.ts +4 -0
  64. package/dist/components/field/Field.d.ts.map +1 -0
  65. package/dist/components/field/Field.js +25 -0
  66. package/dist/components/field/Field.js.map +1 -0
  67. package/dist/components/field/index.d.ts +3 -0
  68. package/dist/components/field/index.d.ts.map +1 -0
  69. package/dist/components/field/index.js +2 -0
  70. package/dist/components/field/index.js.map +1 -0
  71. package/dist/components/field/types.d.ts +13 -0
  72. package/dist/components/field/types.d.ts.map +1 -0
  73. package/dist/components/field/types.js +2 -0
  74. package/dist/components/field/types.js.map +1 -0
  75. package/dist/components/helper-text/HelperText.d.ts +4 -0
  76. package/dist/components/helper-text/HelperText.d.ts.map +1 -0
  77. package/dist/components/helper-text/HelperText.js +10 -0
  78. package/dist/components/helper-text/HelperText.js.map +1 -0
  79. package/dist/components/helper-text/index.d.ts +3 -0
  80. package/dist/components/helper-text/index.d.ts.map +1 -0
  81. package/dist/components/helper-text/index.js +2 -0
  82. package/dist/components/helper-text/index.js.map +1 -0
  83. package/dist/components/helper-text/types.d.ts +7 -0
  84. package/dist/components/helper-text/types.d.ts.map +1 -0
  85. package/dist/components/helper-text/types.js +2 -0
  86. package/dist/components/helper-text/types.js.map +1 -0
  87. package/dist/components/icon-button/IconButton.d.ts +4 -0
  88. package/dist/components/icon-button/IconButton.d.ts.map +1 -0
  89. package/dist/components/icon-button/IconButton.js +28 -0
  90. package/dist/components/icon-button/IconButton.js.map +1 -0
  91. package/dist/components/icon-button/index.d.ts +3 -0
  92. package/dist/components/icon-button/index.d.ts.map +1 -0
  93. package/dist/components/icon-button/index.js +2 -0
  94. package/dist/components/icon-button/index.js.map +1 -0
  95. package/dist/components/icon-button/types.d.ts +16 -0
  96. package/dist/components/icon-button/types.d.ts.map +1 -0
  97. package/dist/components/icon-button/types.js +2 -0
  98. package/dist/components/icon-button/types.js.map +1 -0
  99. package/dist/components/label/Label.d.ts +4 -0
  100. package/dist/components/label/Label.d.ts.map +1 -0
  101. package/dist/components/label/Label.js +13 -0
  102. package/dist/components/label/Label.js.map +1 -0
  103. package/dist/components/label/index.d.ts +3 -0
  104. package/dist/components/label/index.d.ts.map +1 -0
  105. package/dist/components/label/index.js +2 -0
  106. package/dist/components/label/index.js.map +1 -0
  107. package/dist/components/label/types.d.ts +8 -0
  108. package/dist/components/label/types.d.ts.map +1 -0
  109. package/dist/components/label/types.js +2 -0
  110. package/dist/components/label/types.js.map +1 -0
  111. package/dist/components/list-item/ListItem.d.ts +4 -0
  112. package/dist/components/list-item/ListItem.d.ts.map +1 -0
  113. package/dist/components/list-item/ListItem.js +43 -0
  114. package/dist/components/list-item/ListItem.js.map +1 -0
  115. package/dist/components/list-item/index.d.ts +3 -0
  116. package/dist/components/list-item/index.d.ts.map +1 -0
  117. package/dist/components/list-item/index.js +2 -0
  118. package/dist/components/list-item/index.js.map +1 -0
  119. package/dist/components/list-item/types.d.ts +11 -0
  120. package/dist/components/list-item/types.d.ts.map +1 -0
  121. package/dist/components/list-item/types.js +2 -0
  122. package/dist/components/list-item/types.js.map +1 -0
  123. package/dist/components/menu/Menu.d.ts +4 -0
  124. package/dist/components/menu/Menu.d.ts.map +1 -0
  125. package/dist/components/menu/Menu.js +125 -0
  126. package/dist/components/menu/Menu.js.map +1 -0
  127. package/dist/components/menu/index.d.ts +3 -0
  128. package/dist/components/menu/index.d.ts.map +1 -0
  129. package/dist/components/menu/index.js +2 -0
  130. package/dist/components/menu/index.js.map +1 -0
  131. package/dist/components/menu/navigation.d.ts +4 -0
  132. package/dist/components/menu/navigation.d.ts.map +1 -0
  133. package/dist/components/menu/navigation.js +25 -0
  134. package/dist/components/menu/navigation.js.map +1 -0
  135. package/dist/components/menu/types.d.ts +15 -0
  136. package/dist/components/menu/types.d.ts.map +1 -0
  137. package/dist/components/menu/types.js +2 -0
  138. package/dist/components/menu/types.js.map +1 -0
  139. package/dist/components/modal/Modal.d.ts +4 -0
  140. package/dist/components/modal/Modal.d.ts.map +1 -0
  141. package/dist/components/modal/Modal.js +52 -0
  142. package/dist/components/modal/Modal.js.map +1 -0
  143. package/dist/components/modal/index.d.ts +3 -0
  144. package/dist/components/modal/index.d.ts.map +1 -0
  145. package/dist/components/modal/index.js +2 -0
  146. package/dist/components/modal/index.js.map +1 -0
  147. package/dist/components/modal/types.d.ts +9 -0
  148. package/dist/components/modal/types.d.ts.map +1 -0
  149. package/dist/components/modal/types.js +2 -0
  150. package/dist/components/modal/types.js.map +1 -0
  151. package/dist/components/radio/Radio.d.ts +4 -0
  152. package/dist/components/radio/Radio.d.ts.map +1 -0
  153. package/dist/components/radio/Radio.js +63 -0
  154. package/dist/components/radio/Radio.js.map +1 -0
  155. package/dist/components/radio/index.d.ts +3 -0
  156. package/dist/components/radio/index.d.ts.map +1 -0
  157. package/dist/components/radio/index.js +2 -0
  158. package/dist/components/radio/index.js.map +1 -0
  159. package/dist/components/radio/types.d.ts +15 -0
  160. package/dist/components/radio/types.d.ts.map +1 -0
  161. package/dist/components/radio/types.js +2 -0
  162. package/dist/components/radio/types.js.map +1 -0
  163. package/dist/components/switch/Switch.d.ts +4 -0
  164. package/dist/components/switch/Switch.d.ts.map +1 -0
  165. package/dist/components/switch/Switch.js +65 -0
  166. package/dist/components/switch/Switch.js.map +1 -0
  167. package/dist/components/switch/index.d.ts +3 -0
  168. package/dist/components/switch/index.d.ts.map +1 -0
  169. package/dist/components/switch/index.js +2 -0
  170. package/dist/components/switch/index.js.map +1 -0
  171. package/dist/components/switch/types.d.ts +15 -0
  172. package/dist/components/switch/types.d.ts.map +1 -0
  173. package/dist/components/switch/types.js +2 -0
  174. package/dist/components/switch/types.js.map +1 -0
  175. package/dist/components/tabs/Tab.d.ts +4 -0
  176. package/dist/components/tabs/Tab.d.ts.map +1 -0
  177. package/dist/components/tabs/Tab.js +43 -0
  178. package/dist/components/tabs/Tab.js.map +1 -0
  179. package/dist/components/tabs/TabList.d.ts +4 -0
  180. package/dist/components/tabs/TabList.d.ts.map +1 -0
  181. package/dist/components/tabs/TabList.js +37 -0
  182. package/dist/components/tabs/TabList.js.map +1 -0
  183. package/dist/components/tabs/TabPanel.d.ts +4 -0
  184. package/dist/components/tabs/TabPanel.d.ts.map +1 -0
  185. package/dist/components/tabs/TabPanel.js +13 -0
  186. package/dist/components/tabs/TabPanel.js.map +1 -0
  187. package/dist/components/tabs/Tabs.d.ts +4 -0
  188. package/dist/components/tabs/Tabs.d.ts.map +1 -0
  189. package/dist/components/tabs/Tabs.js +51 -0
  190. package/dist/components/tabs/Tabs.js.map +1 -0
  191. package/dist/components/tabs/context.d.ts +18 -0
  192. package/dist/components/tabs/context.d.ts.map +1 -0
  193. package/dist/components/tabs/context.js +10 -0
  194. package/dist/components/tabs/context.js.map +1 -0
  195. package/dist/components/tabs/index.d.ts +6 -0
  196. package/dist/components/tabs/index.d.ts.map +1 -0
  197. package/dist/components/tabs/index.js +5 -0
  198. package/dist/components/tabs/index.js.map +1 -0
  199. package/dist/components/tabs/navigation.d.ts +3 -0
  200. package/dist/components/tabs/navigation.d.ts.map +1 -0
  201. package/dist/components/tabs/navigation.js +21 -0
  202. package/dist/components/tabs/navigation.js.map +1 -0
  203. package/dist/components/tabs/types.d.ts +24 -0
  204. package/dist/components/tabs/types.d.ts.map +1 -0
  205. package/dist/components/tabs/types.js +2 -0
  206. package/dist/components/tabs/types.js.map +1 -0
  207. package/dist/components/text-input/TextInput.d.ts +4 -0
  208. package/dist/components/text-input/TextInput.d.ts.map +1 -0
  209. package/dist/components/text-input/TextInput.js +66 -0
  210. package/dist/components/text-input/TextInput.js.map +1 -0
  211. package/dist/components/text-input/index.d.ts +3 -0
  212. package/dist/components/text-input/index.d.ts.map +1 -0
  213. package/dist/components/text-input/index.js +2 -0
  214. package/dist/components/text-input/index.js.map +1 -0
  215. package/dist/components/text-input/types.d.ts +18 -0
  216. package/dist/components/text-input/types.d.ts.map +1 -0
  217. package/dist/components/text-input/types.js +2 -0
  218. package/dist/components/text-input/types.js.map +1 -0
  219. package/dist/components/textarea/Textarea.d.ts +4 -0
  220. package/dist/components/textarea/Textarea.d.ts.map +1 -0
  221. package/dist/components/textarea/Textarea.js +6 -0
  222. package/dist/components/textarea/Textarea.js.map +1 -0
  223. package/dist/components/textarea/index.d.ts +3 -0
  224. package/dist/components/textarea/index.d.ts.map +1 -0
  225. package/dist/components/textarea/index.js +2 -0
  226. package/dist/components/textarea/index.js.map +1 -0
  227. package/dist/components/textarea/types.d.ts +5 -0
  228. package/dist/components/textarea/types.d.ts.map +1 -0
  229. package/dist/components/textarea/types.js +2 -0
  230. package/dist/components/textarea/types.js.map +1 -0
  231. package/dist/components/toast/Toast.d.ts +4 -0
  232. package/dist/components/toast/Toast.d.ts.map +1 -0
  233. package/dist/components/toast/Toast.js +34 -0
  234. package/dist/components/toast/Toast.js.map +1 -0
  235. package/dist/components/toast/ToastProvider.d.ts +13 -0
  236. package/dist/components/toast/ToastProvider.d.ts.map +1 -0
  237. package/dist/components/toast/ToastProvider.js +69 -0
  238. package/dist/components/toast/ToastProvider.js.map +1 -0
  239. package/dist/components/toast/index.d.ts +4 -0
  240. package/dist/components/toast/index.d.ts.map +1 -0
  241. package/dist/components/toast/index.js +3 -0
  242. package/dist/components/toast/index.js.map +1 -0
  243. package/dist/components/toast/types.d.ts +14 -0
  244. package/dist/components/toast/types.d.ts.map +1 -0
  245. package/dist/components/toast/types.js +2 -0
  246. package/dist/components/toast/types.js.map +1 -0
  247. package/dist/components/tooltip/Tooltip.d.ts +4 -0
  248. package/dist/components/tooltip/Tooltip.d.ts.map +1 -0
  249. package/dist/components/tooltip/Tooltip.js +69 -0
  250. package/dist/components/tooltip/Tooltip.js.map +1 -0
  251. package/dist/components/tooltip/index.d.ts +3 -0
  252. package/dist/components/tooltip/index.d.ts.map +1 -0
  253. package/dist/components/tooltip/index.js +2 -0
  254. package/dist/components/tooltip/index.js.map +1 -0
  255. package/dist/components/tooltip/types.d.ts +9 -0
  256. package/dist/components/tooltip/types.d.ts.map +1 -0
  257. package/dist/components/tooltip/types.js +2 -0
  258. package/dist/components/tooltip/types.js.map +1 -0
  259. package/dist/context/FontContext.d.ts.map +1 -1
  260. package/dist/context/FontContext.js +3 -1
  261. package/dist/context/FontContext.js.map +1 -1
  262. package/dist/index.d.ts +42 -0
  263. package/dist/index.d.ts.map +1 -1
  264. package/dist/index.js +21 -0
  265. package/dist/index.js.map +1 -1
  266. package/dist/internal/focus/FocusScope.d.ts +9 -0
  267. package/dist/internal/focus/FocusScope.d.ts.map +1 -0
  268. package/dist/internal/focus/FocusScope.js +44 -0
  269. package/dist/internal/focus/FocusScope.js.map +1 -0
  270. package/dist/internal/focus/useFocusManager.d.ts +14 -0
  271. package/dist/internal/focus/useFocusManager.d.ts.map +1 -0
  272. package/dist/internal/focus/useFocusManager.js +74 -0
  273. package/dist/internal/focus/useFocusManager.js.map +1 -0
  274. package/dist/internal/overlay/OverlayProvider.d.ts +5 -0
  275. package/dist/internal/overlay/OverlayProvider.d.ts.map +1 -0
  276. package/dist/internal/overlay/OverlayProvider.js +47 -0
  277. package/dist/internal/overlay/OverlayProvider.js.map +1 -0
  278. package/dist/internal/overlay/Portal.d.ts +9 -0
  279. package/dist/internal/overlay/Portal.d.ts.map +1 -0
  280. package/dist/internal/overlay/Portal.js +24 -0
  281. package/dist/internal/overlay/Portal.js.map +1 -0
  282. package/dist/internal/overlay/useOverlayStack.d.ts +23 -0
  283. package/dist/internal/overlay/useOverlayStack.d.ts.map +1 -0
  284. package/dist/internal/overlay/useOverlayStack.js +30 -0
  285. package/dist/internal/overlay/useOverlayStack.js.map +1 -0
  286. package/dist/internal/resolvers/index.d.ts +14 -0
  287. package/dist/internal/resolvers/index.d.ts.map +1 -0
  288. package/dist/internal/resolvers/index.js +14 -0
  289. package/dist/internal/resolvers/index.js.map +1 -0
  290. package/dist/internal/resolvers/resolveControlSize.d.ts +12 -0
  291. package/dist/internal/resolvers/resolveControlSize.d.ts.map +1 -0
  292. package/dist/internal/resolvers/resolveControlSize.js +33 -0
  293. package/dist/internal/resolvers/resolveControlSize.js.map +1 -0
  294. package/dist/internal/resolvers/resolveFieldState.d.ts +10 -0
  295. package/dist/internal/resolvers/resolveFieldState.d.ts.map +1 -0
  296. package/dist/internal/resolvers/resolveFieldState.js +23 -0
  297. package/dist/internal/resolvers/resolveFieldState.js.map +1 -0
  298. package/dist/internal/resolvers/resolveFocusRingStyles.d.ts +3 -0
  299. package/dist/internal/resolvers/resolveFocusRingStyles.d.ts.map +1 -0
  300. package/dist/internal/resolvers/resolveFocusRingStyles.js +12 -0
  301. package/dist/internal/resolvers/resolveFocusRingStyles.js.map +1 -0
  302. package/dist/internal/resolvers/resolveIconSize.d.ts +4 -0
  303. package/dist/internal/resolvers/resolveIconSize.d.ts.map +1 -0
  304. package/dist/internal/resolvers/resolveIconSize.js +5 -0
  305. package/dist/internal/resolvers/resolveIconSize.js.map +1 -0
  306. package/dist/internal/resolvers/resolveIndicatorSize.d.ts +12 -0
  307. package/dist/internal/resolvers/resolveIndicatorSize.d.ts.map +1 -0
  308. package/dist/internal/resolvers/resolveIndicatorSize.js +36 -0
  309. package/dist/internal/resolvers/resolveIndicatorSize.js.map +1 -0
  310. package/dist/internal/resolvers/resolveInteractiveColors.d.ts +20 -0
  311. package/dist/internal/resolvers/resolveInteractiveColors.d.ts.map +1 -0
  312. package/dist/internal/resolvers/resolveInteractiveColors.js +101 -0
  313. package/dist/internal/resolvers/resolveInteractiveColors.js.map +1 -0
  314. package/dist/internal/resolvers/resolveInteractiveState.d.ts +8 -0
  315. package/dist/internal/resolvers/resolveInteractiveState.d.ts.map +1 -0
  316. package/dist/internal/resolvers/resolveInteractiveState.js +9 -0
  317. package/dist/internal/resolvers/resolveInteractiveState.js.map +1 -0
  318. package/dist/internal/resolvers/resolveOverlayAnimation.d.ts +9 -0
  319. package/dist/internal/resolvers/resolveOverlayAnimation.d.ts.map +1 -0
  320. package/dist/internal/resolvers/resolveOverlayAnimation.js +16 -0
  321. package/dist/internal/resolvers/resolveOverlayAnimation.js.map +1 -0
  322. package/dist/internal/resolvers/resolveOverlayZIndex.d.ts +3 -0
  323. package/dist/internal/resolvers/resolveOverlayZIndex.d.ts.map +1 -0
  324. package/dist/internal/resolvers/resolveOverlayZIndex.js +11 -0
  325. package/dist/internal/resolvers/resolveOverlayZIndex.js.map +1 -0
  326. package/dist/internal/resolvers/resolveSelectionControlColors.d.ts +20 -0
  327. package/dist/internal/resolvers/resolveSelectionControlColors.d.ts.map +1 -0
  328. package/dist/internal/resolvers/resolveSelectionControlColors.js +51 -0
  329. package/dist/internal/resolvers/resolveSelectionControlColors.js.map +1 -0
  330. package/dist/internal/resolvers/resolveTextColor.d.ts +5 -0
  331. package/dist/internal/resolvers/resolveTextColor.d.ts.map +1 -0
  332. package/dist/internal/resolvers/resolveTextColor.js +18 -0
  333. package/dist/internal/resolvers/resolveTextColor.js.map +1 -0
  334. package/dist/internal/resolvers/resolveTextStyles.d.ts +13 -0
  335. package/dist/internal/resolvers/resolveTextStyles.d.ts.map +1 -0
  336. package/dist/internal/resolvers/resolveTextStyles.js +69 -0
  337. package/dist/internal/resolvers/resolveTextStyles.js.map +1 -0
  338. package/dist/internal/resolvers/resolveTone.d.ts +4 -0
  339. package/dist/internal/resolvers/resolveTone.d.ts.map +1 -0
  340. package/dist/internal/resolvers/resolveTone.js +16 -0
  341. package/dist/internal/resolvers/resolveTone.js.map +1 -0
  342. package/dist/internal/useControllableState.d.ts +6 -0
  343. package/dist/internal/useControllableState.d.ts.map +1 -0
  344. package/dist/internal/useControllableState.js +14 -0
  345. package/dist/internal/useControllableState.js.map +1 -0
  346. package/dist/layout/Box.js.map +1 -1
  347. package/dist/layout/Center.d.ts +7 -0
  348. package/dist/layout/Center.d.ts.map +1 -0
  349. package/dist/layout/Center.js +12 -0
  350. package/dist/layout/Center.js.map +1 -0
  351. package/dist/layout/Divider.d.ts +10 -0
  352. package/dist/layout/Divider.d.ts.map +1 -0
  353. package/dist/layout/Divider.js +6 -0
  354. package/dist/layout/Divider.js.map +1 -0
  355. package/dist/layout/Inline.d.ts +5 -0
  356. package/dist/layout/Inline.d.ts.map +1 -0
  357. package/dist/layout/Inline.js +6 -0
  358. package/dist/layout/Inline.js.map +1 -0
  359. package/dist/layout/Spacer.d.ts +9 -0
  360. package/dist/layout/Spacer.d.ts.map +1 -0
  361. package/dist/layout/Spacer.js +12 -0
  362. package/dist/layout/Spacer.js.map +1 -0
  363. package/dist/layout/Surface.d.ts +8 -0
  364. package/dist/layout/Surface.d.ts.map +1 -0
  365. package/dist/layout/Surface.js +48 -0
  366. package/dist/layout/Surface.js.map +1 -0
  367. package/dist/layout/helpers.js.map +1 -1
  368. package/dist/layout/index.d.ts +10 -0
  369. package/dist/layout/index.d.ts.map +1 -1
  370. package/dist/layout/index.js +5 -0
  371. package/dist/layout/index.js.map +1 -1
  372. package/dist/primitives/button-base/ButtonBase.d.ts +4 -0
  373. package/dist/primitives/button-base/ButtonBase.d.ts.map +1 -0
  374. package/dist/primitives/button-base/ButtonBase.js +40 -0
  375. package/dist/primitives/button-base/ButtonBase.js.map +1 -0
  376. package/dist/primitives/button-base/index.d.ts +3 -0
  377. package/dist/primitives/button-base/index.d.ts.map +1 -0
  378. package/dist/primitives/button-base/index.js +2 -0
  379. package/dist/primitives/button-base/index.js.map +1 -0
  380. package/dist/primitives/button-base/types.d.ts +15 -0
  381. package/dist/primitives/button-base/types.d.ts.map +1 -0
  382. package/dist/primitives/button-base/types.js +2 -0
  383. package/dist/primitives/button-base/types.js.map +1 -0
  384. package/dist/primitives/heading/resolveHeadingStyle.d.ts.map +1 -1
  385. package/dist/primitives/heading/resolveHeadingStyle.js +5 -16
  386. package/dist/primitives/heading/resolveHeadingStyle.js.map +1 -1
  387. package/dist/primitives/icon/resolveExpoIconComponent.d.ts.map +1 -1
  388. package/dist/primitives/icon/resolveExpoIconComponent.js +3 -1
  389. package/dist/primitives/icon/resolveExpoIconComponent.js.map +1 -1
  390. package/dist/primitives/text/Text.d.ts +4 -0
  391. package/dist/primitives/text/Text.d.ts.map +1 -0
  392. package/dist/primitives/text/Text.js +40 -0
  393. package/dist/primitives/text/Text.js.map +1 -0
  394. package/dist/primitives/text/index.d.ts +3 -0
  395. package/dist/primitives/text/index.d.ts.map +1 -0
  396. package/dist/primitives/text/index.js +2 -0
  397. package/dist/primitives/text/index.js.map +1 -0
  398. package/dist/primitives/text/types.d.ts +17 -0
  399. package/dist/primitives/text/types.d.ts.map +1 -0
  400. package/dist/primitives/text/types.js +2 -0
  401. package/dist/primitives/text/types.js.map +1 -0
  402. package/dist/theme/ThemeContext.d.ts.map +1 -1
  403. package/dist/theme/ThemeContext.js +10 -3
  404. package/dist/theme/ThemeContext.js.map +1 -1
  405. package/dist/theme/colorEngine.d.ts +2 -8
  406. package/dist/theme/colorEngine.d.ts.map +1 -1
  407. package/dist/theme/colorEngine.js +62 -9
  408. package/dist/theme/colorEngine.js.map +1 -1
  409. package/dist/theme/types.d.ts +36 -7
  410. package/dist/theme/types.d.ts.map +1 -1
  411. package/package.json +35 -11
package/CHANGELOG.md ADDED
@@ -0,0 +1,28 @@
1
+ # @ankhorage/surface
2
+
3
+ ## 0.1.0
4
+
5
+ ### Minor Changes
6
+
7
+ - Add Phase-1 design-system primitives and components, including shared semantic theme aliases,
8
+ internal UI resolvers, the `Text` and `ButtonBase` primitives, new layout helpers, and the
9
+ first reusable component wave: `Button`, `IconButton`, `Card`, `Badge`, `ListItem`, and
10
+ `TextInput`.
11
+ - Add the Phase-2 form and control layer, including unified field-state and selection-control
12
+ resolvers, form composition primitives (`Field`, `Label`, `HelperText`), `Textarea`, and the
13
+ selection controls `Checkbox`, `Radio`, and `Switch`.
14
+ - Add the Phase-3 overlay and navigation layer, including portal and overlay-stack
15
+ infrastructure, centralized focus management, and the new components `Modal`, `Drawer`,
16
+ `Tabs`, `Toast`, `Tooltip`, and `Menu`.
17
+ - Refine the Phase-3 overlay and navigation layer by fixing disabled-item keyboard navigation
18
+ in `Menu`, stabilizing tab registration in `Tabs`, recomputing overlay stack ordering after
19
+ removals, and correcting toast timer and dismiss behavior.
20
+ - Adopt Changesets-based release tracking for the package, align release access with the
21
+ public npm publish config, add GitHub Actions CI for lint, test, build, and changeset
22
+ validation, and add release automation for npm publishing.
23
+
24
+ ## 0.0.2
25
+
26
+ ### Patch Changes
27
+
28
+ - b556c63: Replace ESLint and Prettier with @ankhorage/devtools
package/README.md CHANGED
@@ -1,76 +1,190 @@
1
1
  # @ankhorage/surface
2
2
 
3
- `@ankhorage/surface` is the render-foundation package extracted from Ankhorage.
4
- It owns layout primitives, responsive helpers, theming, typography, generic font and
5
- translation bridges, and built-in Expo-backed icon rendering.
3
+ A cross-platform UI foundation for **React Native + Web**.
6
4
 
7
- It does not own manifest rendering, action execution, Studio authoring, plugin orchestration,
8
- or CLI generation. Those concerns stay in the Ankhorage monorepo.
5
+ Build consistent, themeable apps with:
6
+ - layout primitives
7
+ - design tokens & theming
8
+ - responsive helpers
9
+ - accessible components
10
+ - overlay + interaction systems
9
11
 
10
- ## Installation
12
+ ---
11
13
 
12
- Install Surface with its required shared contract package and React Native peers:
14
+ ## Why use this?
13
15
 
14
- ```bash
15
- bun add @ankhorage/surface @ankhorage/contracts
16
- bun add react react-native
17
- ```
16
+ React Native gives you primitives.
17
+ Surface gives you **a system**.
18
18
 
19
- If you use the built-in `Icon` primitive, install the Expo icon peers in the host app too:
19
+ - consistent spacing, typography, and colors
20
+ - unified interaction states (hover, press, focus)
21
+ - works across native + web
22
+ - no design-system setup required
23
+ - no runtime / no-code abstractions
24
+
25
+ ---
26
+
27
+ ## Quick start
20
28
 
21
29
  ```bash
22
- bun add @expo/vector-icons expo-font
30
+ bun add @ankhorage/surface @ankhorage/contracts
23
31
  ```
24
32
 
25
- ## Basic Usage
33
+ Wrap your app:
26
34
 
27
35
  ```tsx
28
- import { Box, Heading, Icon, Stack, ThemeProvider } from '@ankhorage/surface';
36
+ import { ThemeProvider } from '@ankhorage/surface'
29
37
 
30
- const theme = {
38
+ const themeConfig = {
31
39
  id: 'app',
32
40
  name: 'App',
33
- mode: 'light',
34
- colors: {
35
- primary: '#2563eb',
41
+ light: {
42
+ primaryColor: '#2563eb',
43
+ harmony: 'monochromatic',
44
+ systemTone: 'neutral',
45
+ },
46
+ dark: {
47
+ primaryColor: '#2563eb',
48
+ harmony: 'monochromatic',
49
+ systemTone: 'neutral',
36
50
  },
37
- };
51
+ }
38
52
 
39
- export function Example() {
53
+ export default function App() {
40
54
  return (
41
- <ThemeProvider initialConfig={theme}>
42
- <Stack gap="m">
43
- <Heading level={1}>Hello</Heading>
44
- <Box p="m">
45
- <Icon name="home" provider="Ionicons" />
46
- </Box>
47
- </Stack>
55
+ <ThemeProvider initialConfig={themeConfig}>
56
+ <Main />
48
57
  </ThemeProvider>
49
- );
58
+ )
50
59
  }
51
60
  ```
52
61
 
53
- ## Theming
62
+ Use components:
54
63
 
55
- Serialized theme configuration types are imported from `@ankhorage/contracts`.
56
- Surface owns theme creation, resolved runtime theme objects, token lookup, and component
57
- consumption of those tokens.
64
+ ```tsx
65
+ import { Stack, Text, Button, Card, TextInput } from '@ankhorage/surface'
58
66
 
59
- ## Scope
67
+ export function Example() {
68
+ return (
69
+ <Stack gap="m">
70
+ <Text variant="body">Welcome</Text>
60
71
 
61
- `@ankhorage/surface` includes:
72
+ <TextInput placeholder="Email" />
62
73
 
63
- - layout primitives
64
- - heading and icon primitives
65
- - theme creation and theme context
66
- - responsive utilities
67
- - generic font and translation bridges
68
- - render-only utilities
69
-
70
- `@ankhorage/surface` does not include:
71
-
72
- - manifest rendering
73
- - runtime action execution
74
- - Studio panels or authoring metadata
75
- - CLI or project scaffolding logic
76
- - low-code configuration workflows
74
+ <Button tone="primary">Sign in</Button>
75
+
76
+ <Card>
77
+ <Text variant="bodySmall">Content</Text>
78
+ </Card>
79
+ </Stack>
80
+ )
81
+ }
82
+ ```
83
+
84
+ ---
85
+
86
+ ## What you get
87
+
88
+ ### Layout
89
+ - `Box`, `Stack`, `Inline`, `Grid`, `Container`
90
+ - `Spacer`, `Divider`, `Center`, `Surface`
91
+
92
+ ### Typography
93
+ - `Text`, `Heading`
94
+
95
+ ### Actions
96
+ - `Button`, `IconButton`
97
+
98
+ ### Data / display
99
+ - `Card`, `Badge`, `ListItem`
100
+
101
+ ### Forms
102
+ - `TextInput`, `Textarea`
103
+ - `Field`, `Label`, `HelperText`
104
+ - `Checkbox`, `Radio`, `Switch`
105
+
106
+ ### Overlays
107
+ - `Modal`, `Drawer`
108
+ - `Tabs`, `Toast`
109
+ - `Tooltip`, `Menu`
110
+
111
+ ---
112
+
113
+ ## Core ideas
114
+
115
+ ### 1. Theme-driven
116
+ Everything uses semantic tokens:
117
+
118
+ ```tsx
119
+ <Button tone="primary" variant="solid" />
120
+ ```
121
+
122
+ No hardcoded colors.
123
+
124
+ ---
125
+
126
+ ### 2. Consistent states
127
+
128
+ All interactive components share:
129
+
130
+ - hover (web)
131
+ - press
132
+ - focus-visible
133
+ - disabled
134
+
135
+ No reimplementation per component.
136
+
137
+ ---
138
+
139
+ ### 3. Composable
140
+
141
+ Everything builds on primitives:
142
+
143
+ ```tsx
144
+ <Field label="Email">
145
+ <TextInput />
146
+ </Field>
147
+ ```
148
+
149
+ ---
150
+
151
+ ### 4. Cross-platform first
152
+
153
+ - React Native
154
+ - Expo
155
+ - React Native Web
156
+
157
+ Same API everywhere.
158
+
159
+ ---
160
+
161
+ ## What this is NOT
162
+
163
+ - ❌ Not a full design system / UI kit
164
+ - ❌ Not a form engine
165
+ - ❌ Not a router or app framework
166
+ - ❌ Not a low-code runtime
167
+
168
+ ---
169
+
170
+ ## When to use it
171
+
172
+ Use Surface if you want:
173
+
174
+ - a clean starting point for RN + Web apps
175
+ - consistent UI without reinventing components
176
+ - a scalable design foundation
177
+
178
+ ---
179
+
180
+ ## Status
181
+
182
+ - Phase 1: primitives + base components ✅
183
+ - Phase 2: form + control layer ✅
184
+ - Phase 3: overlays + navigation ✅
185
+
186
+ ---
187
+
188
+ ## License
189
+
190
+ MIT
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import type { BadgeProps } from './types';
3
+ export declare function Badge({ content, variant, tone, size, testID, }: BadgeProps): React.JSX.Element;
4
+ //# sourceMappingURL=Badge.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Badge.d.ts","sourceRoot":"","sources":["../../../src/components/badge/Badge.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAM1B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAE1C,wBAAgB,KAAK,CAAC,EACpB,OAAO,EACP,OAAgB,EAChB,IAAgB,EAChB,IAAU,EACV,MAAM,GACP,EAAE,UAAU,qBAgCZ"}
@@ -0,0 +1,30 @@
1
+ import React from 'react';
2
+ import { resolveButtonColors, resolveControlSize } from '../../internal/resolvers';
3
+ import { Box } from '../../layout';
4
+ import { Text } from '../../primitives/text';
5
+ import { useTheme } from '../../theme/ThemeContext';
6
+ export function Badge({ content, variant = 'soft', tone = 'primary', size = 's', testID, }) {
7
+ const { theme } = useTheme();
8
+ const controlSize = resolveControlSize(theme, size);
9
+ const colors = resolveButtonColors(theme, {
10
+ variant,
11
+ tone,
12
+ state: {
13
+ disabled: false,
14
+ focused: false,
15
+ hovered: false,
16
+ pressed: false,
17
+ },
18
+ });
19
+ return (<Box px={Math.max(theme.spacing.xs, controlSize.paddingHorizontal - 4)} py={Math.max(4, controlSize.paddingVertical - 2)} radius={controlSize.borderRadius} style={{
20
+ alignSelf: 'flex-start',
21
+ backgroundColor: colors.backgroundColor,
22
+ borderColor: colors.borderColor,
23
+ borderWidth: variant === 'solid' ? 0 : 1,
24
+ }} testID={testID}>
25
+ <Text color={colors.contentColor} variant="bodySmall" weight="medium">
26
+ {content}
27
+ </Text>
28
+ </Box>);
29
+ }
30
+ //# sourceMappingURL=Badge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Badge.js","sourceRoot":"","sources":["../../../src/components/badge/Badge.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AACnF,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AACnC,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAGpD,MAAM,UAAU,KAAK,CAAC,EACpB,OAAO,EACP,OAAO,GAAG,MAAM,EAChB,IAAI,GAAG,SAAS,EAChB,IAAI,GAAG,GAAG,EACV,MAAM,GACK;IACX,MAAM,EAAE,KAAK,EAAE,GAAG,QAAQ,EAAE,CAAC;IAC7B,MAAM,WAAW,GAAG,kBAAkB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACpD,MAAM,MAAM,GAAG,mBAAmB,CAAC,KAAK,EAAE;QACxC,OAAO;QACP,IAAI;QACJ,KAAK,EAAE;YACL,QAAQ,EAAE,KAAK;YACf,OAAO,EAAE,KAAK;YACd,OAAO,EAAE,KAAK;YACd,OAAO,EAAE,KAAK;SACf;KACF,CAAC,CAAC;IAEH,OAAO,CACL,CAAC,GAAG,CACF,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,EAAE,WAAW,CAAC,iBAAiB,GAAG,CAAC,CAAC,CAAC,CAClE,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,CAAC,eAAe,GAAG,CAAC,CAAC,CAAC,CACjD,MAAM,CAAC,CAAC,WAAW,CAAC,YAAY,CAAC,CACjC,KAAK,CAAC,CAAC;YACL,SAAS,EAAE,YAAY;YACvB,eAAe,EAAE,MAAM,CAAC,eAAe;YACvC,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,WAAW,EAAE,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SACzC,CAAC,CACF,MAAM,CAAC,CAAC,MAAM,CAAC,CAEf;MAAA,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,CACnE;QAAA,CAAC,OAAO,CACV;MAAA,EAAE,IAAI,CACR;IAAA,EAAE,GAAG,CAAC,CACP,CAAC;AACJ,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { Badge } from './Badge';
2
+ export type { BadgeProps } from './types';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/badge/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { Badge } from './Badge';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/badge/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC"}
@@ -0,0 +1,12 @@
1
+ import type React from 'react';
2
+ import type { ControlSize } from '../../internal/resolvers/resolveControlSize';
3
+ import type { ButtonVariant } from '../../internal/resolvers/resolveInteractiveColors';
4
+ import type { ComponentTone } from '../../internal/resolvers/resolveTone';
5
+ export interface BadgeProps {
6
+ content?: React.ReactNode;
7
+ variant?: Extract<ButtonVariant, 'solid' | 'soft' | 'outline'>;
8
+ tone?: Extract<ComponentTone, 'primary' | 'neutral' | 'danger' | 'success'>;
9
+ size?: ControlSize;
10
+ testID?: string;
11
+ }
12
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/badge/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6CAA6C,CAAC;AAC/E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mDAAmD,CAAC;AACvF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AAE1E,MAAM,WAAW,UAAU;IACzB,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,OAAO,CAAC,EAAE,OAAO,CAAC,aAAa,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAAC,CAAC;IAC/D,IAAI,CAAC,EAAE,OAAO,CAAC,aAAa,EAAE,SAAS,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,CAAC,CAAC;IAC5E,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/components/badge/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import type { ButtonProps } from './types';
3
+ export declare function Button({ children, variant, tone, size, disabled, loading, leadingIcon, trailingIcon, fullWidth, onPress, testID, ...props }: ButtonProps): React.JSX.Element;
4
+ //# sourceMappingURL=Button.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../../src/components/button/Button.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAS1B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE3C,wBAAgB,MAAM,CAAC,EACrB,QAAQ,EACR,OAAiB,EACjB,IAAgB,EAChB,IAAU,EACV,QAAgB,EAChB,OAAe,EACf,WAAW,EACX,YAAY,EACZ,SAAiB,EACjB,OAAO,EACP,MAAM,EACN,GAAG,KAAK,EACT,EAAE,WAAW,qBA+Eb"}
@@ -0,0 +1,50 @@
1
+ import React from 'react';
2
+ import { ActivityIndicator, View } from 'react-native';
3
+ import { resolveButtonColors, resolveControlSize, resolveIconSize } from '../../internal/resolvers';
4
+ import { Box } from '../../layout';
5
+ import { ButtonBase } from '../../primitives/button-base';
6
+ import { Icon } from '../../primitives/icon';
7
+ import { Text } from '../../primitives/text';
8
+ import { useTheme } from '../../theme/ThemeContext';
9
+ export function Button({ children, variant = 'solid', tone = 'primary', size = 'm', disabled = false, loading = false, leadingIcon, trailingIcon, fullWidth = false, onPress, testID, ...props }) {
10
+ const { theme } = useTheme();
11
+ const controlSize = resolveControlSize(theme, size);
12
+ return (<ButtonBase {...props} disabled={disabled || loading} onPress={onPress} style={[
13
+ {
14
+ alignSelf: fullWidth ? 'stretch' : 'flex-start',
15
+ },
16
+ ]} testID={testID}>
17
+ {(state) => {
18
+ const colors = resolveButtonColors(theme, {
19
+ variant,
20
+ tone,
21
+ state,
22
+ });
23
+ const iconSize = resolveIconSize(theme, size);
24
+ return (<Box px={controlSize.paddingHorizontal} py={controlSize.paddingVertical} radius={controlSize.borderRadius} style={{
25
+ minHeight: controlSize.minHeight,
26
+ width: fullWidth ? '100%' : undefined,
27
+ flexDirection: 'row',
28
+ alignItems: 'center',
29
+ justifyContent: 'center',
30
+ backgroundColor: colors.backgroundColor,
31
+ borderColor: colors.borderColor,
32
+ borderWidth: variant === 'solid' ? 0 : 1,
33
+ opacity: colors.opacity,
34
+ }}>
35
+ {loading ? (<ActivityIndicator color={colors.contentColor} size="small"/>) : (<>
36
+ {leadingIcon ? (<View style={{ marginRight: theme.spacing.s }}>
37
+ <Icon color={colors.contentColor} name={leadingIcon.name} provider={leadingIcon.provider} size={iconSize}/>
38
+ </View>) : null}
39
+ <Text color={colors.contentColor} variant={controlSize.textVariant} weight="semiBold">
40
+ {children}
41
+ </Text>
42
+ {trailingIcon ? (<View style={{ marginLeft: theme.spacing.s }}>
43
+ <Icon color={colors.contentColor} name={trailingIcon.name} provider={trailingIcon.provider} size={iconSize}/>
44
+ </View>) : null}
45
+ </>)}
46
+ </Box>);
47
+ }}
48
+ </ButtonBase>);
49
+ }
50
+ //# sourceMappingURL=Button.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Button.js","sourceRoot":"","sources":["../../../src/components/button/Button.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export { Button } from './Button';
2
+ export type { ButtonIconSpec, ButtonProps } from './types';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/button/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,YAAY,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { Button } from './Button';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/button/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC"}
@@ -0,0 +1,21 @@
1
+ import type React from 'react';
2
+ import type { ControlSize } from '../../internal/resolvers/resolveControlSize';
3
+ import type { ButtonVariant } from '../../internal/resolvers/resolveInteractiveColors';
4
+ import type { ComponentTone } from '../../internal/resolvers/resolveTone';
5
+ import type { ButtonBaseProps } from '../../primitives/button-base';
6
+ import type { IconProps } from '../../primitives/icon';
7
+ export interface ButtonIconSpec {
8
+ name: IconProps['name'];
9
+ provider?: IconProps['provider'];
10
+ }
11
+ export interface ButtonProps extends Omit<ButtonBaseProps, 'accessibilityLabel' | 'children' | 'style'> {
12
+ children?: React.ReactNode;
13
+ variant?: Exclude<ButtonVariant, 'soft'>;
14
+ tone?: Extract<ComponentTone, 'primary' | 'neutral' | 'danger'>;
15
+ size?: ControlSize;
16
+ loading?: boolean;
17
+ leadingIcon?: ButtonIconSpec;
18
+ trailingIcon?: ButtonIconSpec;
19
+ fullWidth?: boolean;
20
+ }
21
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/button/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6CAA6C,CAAC;AAC/E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mDAAmD,CAAC;AACvF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AAC1E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAEvD,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;IACxB,QAAQ,CAAC,EAAE,SAAS,CAAC,UAAU,CAAC,CAAC;CAClC;AAED,MAAM,WAAW,WAAY,SAAQ,IAAI,CACvC,eAAe,EACf,oBAAoB,GAAG,UAAU,GAAG,OAAO,CAC5C;IACC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;IACzC,IAAI,CAAC,EAAE,OAAO,CAAC,aAAa,EAAE,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAC,CAAC;IAChE,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,cAAc,CAAC;IAC7B,YAAY,CAAC,EAAE,cAAc,CAAC;IAC9B,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/components/button/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import type { CardProps } from './types';
3
+ export declare function Card({ children, variant, onPress, disabled, testID, style, ...props }: CardProps): React.JSX.Element;
4
+ //# sourceMappingURL=Card.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Card.d.ts","sourceRoot":"","sources":["../../../src/components/card/Card.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAK1B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAgCzC,wBAAgB,IAAI,CAAC,EACnB,QAAQ,EACR,OAAmB,EACnB,OAAO,EACP,QAAgB,EAChB,MAAM,EACN,KAAK,EACL,GAAG,KAAK,EACT,EAAE,SAAS,qBAmCX"}
@@ -0,0 +1,46 @@
1
+ import React from 'react';
2
+ import { Surface } from '../../layout';
3
+ import { ButtonBase } from '../../primitives/button-base';
4
+ import { useTheme } from '../../theme/ThemeContext';
5
+ function resolveCardStateBackground(variant, pressed, hovered, themeBackgrounds) {
6
+ if (variant === 'outline') {
7
+ return pressed ? themeBackgrounds.active : hovered ? themeBackgrounds.hover : 'transparent';
8
+ }
9
+ if (variant === 'subtle') {
10
+ return pressed
11
+ ? themeBackgrounds.active
12
+ : hovered
13
+ ? themeBackgrounds.hover
14
+ : themeBackgrounds.subtle;
15
+ }
16
+ return pressed
17
+ ? themeBackgrounds.active
18
+ : hovered
19
+ ? themeBackgrounds.hover
20
+ : themeBackgrounds.base;
21
+ }
22
+ export function Card({ children, variant = 'default', onPress, disabled = false, testID, style, ...props }) {
23
+ const { theme } = useTheme();
24
+ if (!onPress) {
25
+ return (<Surface {...props} style={style} testID={testID} variant={variant}>
26
+ {children}
27
+ </Surface>);
28
+ }
29
+ return (<ButtonBase accessibilityRole="button" disabled={disabled} onPress={onPress} testID={testID}>
30
+ {(state) => (<Surface {...props} style={[
31
+ {
32
+ backgroundColor: resolveCardStateBackground(variant, state.pressed, state.hovered, {
33
+ active: theme.semantics.neutral.surfaceActive,
34
+ base: theme.semantics.surface.default,
35
+ hover: theme.semantics.neutral.surfaceHover,
36
+ subtle: theme.semantics.surface.subtle,
37
+ }),
38
+ opacity: state.disabled ? 0.72 : 1,
39
+ },
40
+ style,
41
+ ]} variant={variant}>
42
+ {children}
43
+ </Surface>)}
44
+ </ButtonBase>);
45
+ }
46
+ //# sourceMappingURL=Card.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Card.js","sourceRoot":"","sources":["../../../src/components/card/Card.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAGpD,SAAS,0BAA0B,CACjC,OAA0C,EAC1C,OAAgB,EAChB,OAAgB,EAChB,gBAKC;IAED,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,OAAO,OAAO,CAAC,CAAC,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC;IAC9F,CAAC;IAED,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;QACzB,OAAO,OAAO;YACZ,CAAC,CAAC,gBAAgB,CAAC,MAAM;YACzB,CAAC,CAAC,OAAO;gBACP,CAAC,CAAC,gBAAgB,CAAC,KAAK;gBACxB,CAAC,CAAC,gBAAgB,CAAC,MAAM,CAAC;IAChC,CAAC;IAED,OAAO,OAAO;QACZ,CAAC,CAAC,gBAAgB,CAAC,MAAM;QACzB,CAAC,CAAC,OAAO;YACP,CAAC,CAAC,gBAAgB,CAAC,KAAK;YACxB,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC;AAC9B,CAAC;AAED,MAAM,UAAU,IAAI,CAAC,EACnB,QAAQ,EACR,OAAO,GAAG,SAAS,EACnB,OAAO,EACP,QAAQ,GAAG,KAAK,EAChB,MAAM,EACN,KAAK,EACL,GAAG,KAAK,EACE;IACV,MAAM,EAAE,KAAK,EAAE,GAAG,QAAQ,EAAE,CAAC;IAE7B,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,CACL,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CACjE;QAAA,CAAC,QAAQ,CACX;MAAA,EAAE,OAAO,CAAC,CACX,CAAC;IACJ,CAAC;IAED,OAAO,CACL,CAAC,UAAU,CAAC,iBAAiB,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAC1F;MAAA,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CACV,CAAC,OAAO,CACN,IAAI,KAAK,CAAC,CACV,KAAK,CAAC,CAAC;gBACL;oBACE,eAAe,EAAE,0BAA0B,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE;wBACjF,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,aAAa;wBAC7C,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO;wBACrC,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,YAAY;wBAC3C,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM;qBACvC,CAAC;oBACF,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;iBACnC;gBACD,KAAK;aACN,CAAC,CACF,OAAO,CAAC,CAAC,OAAO,CAAC,CAEjB;UAAA,CAAC,QAAQ,CACX;QAAA,EAAE,OAAO,CAAC,CACX,CACH;IAAA,EAAE,UAAU,CAAC,CACd,CAAC;AACJ,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { Card } from './Card';
2
+ export type { CardProps } from './types';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/card/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,YAAY,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { Card } from './Card';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/card/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC"}
@@ -0,0 +1,10 @@
1
+ import type React from 'react';
2
+ import type { SurfaceProps, SurfaceVariant } from '../../layout';
3
+ export interface CardProps extends Omit<SurfaceProps, 'children' | 'variant'> {
4
+ children?: React.ReactNode;
5
+ variant?: SurfaceVariant;
6
+ onPress?: (() => void) | undefined;
7
+ disabled?: boolean;
8
+ testID?: string;
9
+ }
10
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/card/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAEjE,MAAM,WAAW,SAAU,SAAQ,IAAI,CAAC,YAAY,EAAE,UAAU,GAAG,SAAS,CAAC;IAC3E,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,OAAO,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;IACnC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/components/card/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import type { CheckboxProps } from './types';
3
+ export declare function Checkbox({ children, checked, defaultChecked, onCheckedChange, tone, size, disabled, invalid, readOnly, accessibilityLabel, testID, ...props }: CheckboxProps): React.JSX.Element;
4
+ //# sourceMappingURL=Checkbox.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Checkbox.d.ts","sourceRoot":"","sources":["../../../src/components/checkbox/Checkbox.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAY1B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAE7C,wBAAgB,QAAQ,CAAC,EACvB,QAAQ,EACR,OAAO,EACP,cAAsB,EACtB,eAAe,EACf,IAAgB,EAChB,IAAU,EACV,QAAgB,EAChB,OAAe,EACf,QAAgB,EAChB,kBAAkB,EAClB,MAAM,EACN,GAAG,KAAK,EACT,EAAE,aAAa,qBA6Ef"}