@ankhorage/zora 21.0.23 → 21.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 (554) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/README.md +6 -2
  3. package/dist/features/authoring/allowedChildren.d.ts +5 -2
  4. package/dist/features/authoring/allowedChildren.d.ts.map +1 -1
  5. package/dist/features/authoring/allowedChildren.js +13 -2
  6. package/dist/features/authoring/allowedChildren.js.map +1 -1
  7. package/dist/features/authoring/componentMeta.d.ts.map +1 -1
  8. package/dist/features/authoring/componentMeta.js +21 -0
  9. package/dist/features/authoring/componentMeta.js.map +1 -1
  10. package/dist/features/authoring/constants.d.ts +3 -0
  11. package/dist/features/authoring/constants.d.ts.map +1 -1
  12. package/dist/features/authoring/constants.js +3 -0
  13. package/dist/features/authoring/constants.js.map +1 -1
  14. package/dist/features/card/cardMeta.d.ts +1 -1
  15. package/dist/features/card/cardMeta.d.ts.map +1 -1
  16. package/dist/features/card/cardMeta.js +7 -2
  17. package/dist/features/card/cardMeta.js.map +1 -1
  18. package/dist/features/chess/adapters/inbound/ChessBoard.d.ts +5 -0
  19. package/dist/features/chess/adapters/inbound/ChessBoard.d.ts.map +1 -0
  20. package/dist/features/chess/adapters/inbound/ChessBoard.js +119 -0
  21. package/dist/features/chess/adapters/inbound/ChessBoard.js.map +1 -0
  22. package/dist/features/chess/adapters/inbound/OpeningBook.d.ts +5 -0
  23. package/dist/features/chess/adapters/inbound/OpeningBook.d.ts.map +1 -0
  24. package/dist/features/chess/adapters/inbound/OpeningBook.js +94 -0
  25. package/dist/features/chess/adapters/inbound/OpeningBook.js.map +1 -0
  26. package/dist/features/chess/meta.d.ts +219 -0
  27. package/dist/features/chess/meta.d.ts.map +1 -0
  28. package/dist/features/chess/meta.js +165 -0
  29. package/dist/features/chess/meta.js.map +1 -0
  30. package/dist/features/chess/public.d.ts +12 -0
  31. package/dist/features/chess/public.d.ts.map +1 -0
  32. package/dist/features/chess/public.js +10 -0
  33. package/dist/features/chess/public.js.map +1 -0
  34. package/dist/features/chess/utils/chessSquares.d.ts +4 -0
  35. package/dist/features/chess/utils/chessSquares.d.ts.map +1 -0
  36. package/dist/features/chess/utils/chessSquares.js +3 -0
  37. package/dist/features/chess/utils/chessSquares.js.map +1 -0
  38. package/dist/features/chess/utils/createBoardSquares.d.ts +4 -0
  39. package/dist/features/chess/utils/createBoardSquares.d.ts.map +1 -0
  40. package/dist/features/chess/utils/createBoardSquares.js +9 -0
  41. package/dist/features/chess/utils/createBoardSquares.js.map +1 -0
  42. package/dist/features/chess/utils/createChessBoardColorScheme.d.ts +35 -0
  43. package/dist/features/chess/utils/createChessBoardColorScheme.d.ts.map +1 -0
  44. package/dist/features/chess/utils/createChessBoardColorScheme.js +26 -0
  45. package/dist/features/chess/utils/createChessBoardColorScheme.js.map +1 -0
  46. package/dist/features/chess/utils/createOpeningBookColorScheme.d.ts +11 -0
  47. package/dist/features/chess/utils/createOpeningBookColorScheme.d.ts.map +1 -0
  48. package/dist/features/chess/utils/createOpeningBookColorScheme.js +21 -0
  49. package/dist/features/chess/utils/createOpeningBookColorScheme.js.map +1 -0
  50. package/dist/features/chess/utils/getSquareFile.d.ts +4 -0
  51. package/dist/features/chess/utils/getSquareFile.d.ts.map +1 -0
  52. package/dist/features/chess/utils/getSquareFile.js +5 -0
  53. package/dist/features/chess/utils/getSquareFile.js.map +1 -0
  54. package/dist/features/chess/utils/getSquareRank.d.ts +4 -0
  55. package/dist/features/chess/utils/getSquareRank.d.ts.map +1 -0
  56. package/dist/features/chess/utils/getSquareRank.js +5 -0
  57. package/dist/features/chess/utils/getSquareRank.js.map +1 -0
  58. package/dist/features/chess/utils/isLightSquare.d.ts +4 -0
  59. package/dist/features/chess/utils/isLightSquare.d.ts.map +1 -0
  60. package/dist/features/chess/utils/isLightSquare.js +6 -0
  61. package/dist/features/chess/utils/isLightSquare.js.map +1 -0
  62. package/dist/features/game/adapters/inbound/Game.d.ts +5 -0
  63. package/dist/features/game/adapters/inbound/Game.d.ts.map +1 -0
  64. package/dist/features/game/adapters/inbound/Game.js +24 -0
  65. package/dist/features/game/adapters/inbound/Game.js.map +1 -0
  66. package/dist/features/game/adapters/inbound/GameEntity.d.ts +5 -0
  67. package/dist/features/game/adapters/inbound/GameEntity.d.ts.map +1 -0
  68. package/dist/features/game/adapters/inbound/GameEntity.js +29 -0
  69. package/dist/features/game/adapters/inbound/GameEntity.js.map +1 -0
  70. package/dist/features/game/adapters/inbound/GameField.d.ts +4 -0
  71. package/dist/features/game/adapters/inbound/GameField.d.ts.map +1 -0
  72. package/dist/features/game/adapters/inbound/GameField.js +32 -0
  73. package/dist/features/game/adapters/inbound/GameField.js.map +1 -0
  74. package/dist/features/game/adapters/inbound/GameInputZone.d.ts +4 -0
  75. package/dist/features/game/adapters/inbound/GameInputZone.d.ts.map +1 -0
  76. package/dist/features/game/adapters/inbound/GameInputZone.js +50 -0
  77. package/dist/features/game/adapters/inbound/GameInputZone.js.map +1 -0
  78. package/dist/features/game/adapters/inbound/GameMeasurementProbe.d.ts +4 -0
  79. package/dist/features/game/adapters/inbound/GameMeasurementProbe.d.ts.map +1 -0
  80. package/dist/features/game/adapters/inbound/GameMeasurementProbe.js +54 -0
  81. package/dist/features/game/adapters/inbound/GameMeasurementProbe.js.map +1 -0
  82. package/dist/features/game/adapters/inbound/GameOverlay.d.ts +4 -0
  83. package/dist/features/game/adapters/inbound/GameOverlay.d.ts.map +1 -0
  84. package/dist/features/game/adapters/inbound/GameOverlay.js +39 -0
  85. package/dist/features/game/adapters/inbound/GameOverlay.js.map +1 -0
  86. package/dist/features/game/adapters/inbound/createGameKeyboardEvent.d.ts +16 -0
  87. package/dist/features/game/adapters/inbound/createGameKeyboardEvent.d.ts.map +1 -0
  88. package/dist/features/game/adapters/inbound/createGameKeyboardEvent.js +16 -0
  89. package/dist/features/game/adapters/inbound/createGameKeyboardEvent.js.map +1 -0
  90. package/dist/features/game/adapters/inbound/createGameMeasurementEvent.d.ts +14 -0
  91. package/dist/features/game/adapters/inbound/createGameMeasurementEvent.d.ts.map +1 -0
  92. package/dist/features/game/adapters/inbound/createGameMeasurementEvent.js +25 -0
  93. package/dist/features/game/adapters/inbound/createGameMeasurementEvent.js.map +1 -0
  94. package/dist/features/game/adapters/inbound/createGamePointerEvent.d.ts +17 -0
  95. package/dist/features/game/adapters/inbound/createGamePointerEvent.d.ts.map +1 -0
  96. package/dist/features/game/adapters/inbound/createGamePointerEvent.js +20 -0
  97. package/dist/features/game/adapters/inbound/createGamePointerEvent.js.map +1 -0
  98. package/dist/features/game/adapters/inbound/measureGameEntity.d.ts +5 -0
  99. package/dist/features/game/adapters/inbound/measureGameEntity.d.ts.map +1 -0
  100. package/dist/features/game/adapters/inbound/measureGameEntity.js +22 -0
  101. package/dist/features/game/adapters/inbound/measureGameEntity.js.map +1 -0
  102. package/dist/features/game/adapters/inbound/useGameInputZoneResponder.d.ts +15 -0
  103. package/dist/features/game/adapters/inbound/useGameInputZoneResponder.d.ts.map +1 -0
  104. package/dist/features/game/adapters/inbound/useGameInputZoneResponder.js +67 -0
  105. package/dist/features/game/adapters/inbound/useGameInputZoneResponder.js.map +1 -0
  106. package/dist/features/game/composition/GameRuntimeContext.d.ts +5 -0
  107. package/dist/features/game/composition/GameRuntimeContext.d.ts.map +1 -0
  108. package/dist/features/game/composition/GameRuntimeContext.js +4 -0
  109. package/dist/features/game/composition/GameRuntimeContext.js.map +1 -0
  110. package/dist/features/game/composition/createGameBindingContext.d.ts +4 -0
  111. package/dist/features/game/composition/createGameBindingContext.d.ts.map +1 -0
  112. package/dist/features/game/composition/createGameBindingContext.js +10 -0
  113. package/dist/features/game/composition/createGameBindingContext.js.map +1 -0
  114. package/dist/features/game/composition/createGameMeasurementRegistry.d.ts +4 -0
  115. package/dist/features/game/composition/createGameMeasurementRegistry.d.ts.map +1 -0
  116. package/dist/features/game/composition/createGameMeasurementRegistry.js +15 -0
  117. package/dist/features/game/composition/createGameMeasurementRegistry.js.map +1 -0
  118. package/dist/features/game/composition/useGameRuntime.d.ts +5 -0
  119. package/dist/features/game/composition/useGameRuntime.d.ts.map +1 -0
  120. package/dist/features/game/composition/useGameRuntime.js +117 -0
  121. package/dist/features/game/composition/useGameRuntime.js.map +1 -0
  122. package/dist/features/game/composition/useGameScheduledEffects.d.ts +17 -0
  123. package/dist/features/game/composition/useGameScheduledEffects.d.ts.map +1 -0
  124. package/dist/features/game/composition/useGameScheduledEffects.js +40 -0
  125. package/dist/features/game/composition/useGameScheduledEffects.js.map +1 -0
  126. package/dist/features/game/meta/gameEntityMeta.d.ts +403 -0
  127. package/dist/features/game/meta/gameEntityMeta.d.ts.map +1 -0
  128. package/dist/features/game/meta/gameEntityMeta.js +224 -0
  129. package/dist/features/game/meta/gameEntityMeta.js.map +1 -0
  130. package/dist/features/game/meta/gameFieldMeta.d.ts +61 -0
  131. package/dist/features/game/meta/gameFieldMeta.d.ts.map +1 -0
  132. package/dist/features/game/meta/gameFieldMeta.js +48 -0
  133. package/dist/features/game/meta/gameFieldMeta.js.map +1 -0
  134. package/dist/features/game/meta/gameInputZoneMeta.d.ts +163 -0
  135. package/dist/features/game/meta/gameInputZoneMeta.d.ts.map +1 -0
  136. package/dist/features/game/meta/gameInputZoneMeta.js +138 -0
  137. package/dist/features/game/meta/gameInputZoneMeta.js.map +1 -0
  138. package/dist/features/game/meta/gameMeasurementProbeMeta.d.ts +112 -0
  139. package/dist/features/game/meta/gameMeasurementProbeMeta.d.ts.map +1 -0
  140. package/dist/features/game/meta/gameMeasurementProbeMeta.js +70 -0
  141. package/dist/features/game/meta/gameMeasurementProbeMeta.js.map +1 -0
  142. package/dist/features/game/meta/gameMeta.d.ts +130 -0
  143. package/dist/features/game/meta/gameMeta.d.ts.map +1 -0
  144. package/dist/features/game/meta/gameMeta.js +113 -0
  145. package/dist/features/game/meta/gameMeta.js.map +1 -0
  146. package/dist/features/game/meta/gameOverlayMeta.d.ts +55 -0
  147. package/dist/features/game/meta/gameOverlayMeta.d.ts.map +1 -0
  148. package/dist/features/game/meta/gameOverlayMeta.js +65 -0
  149. package/dist/features/game/meta/gameOverlayMeta.js.map +1 -0
  150. package/dist/features/game/public.d.ts +8 -0
  151. package/dist/features/game/public.d.ts.map +1 -0
  152. package/dist/features/game/public.js +7 -0
  153. package/dist/features/game/public.js.map +1 -0
  154. package/dist/features/game/utils/clampGamePercentage.d.ts +3 -0
  155. package/dist/features/game/utils/clampGamePercentage.d.ts.map +1 -0
  156. package/dist/features/game/utils/clampGamePercentage.js +5 -0
  157. package/dist/features/game/utils/clampGamePercentage.js.map +1 -0
  158. package/dist/features/game/utils/resolveGameEntityMotionPlan.d.ts +15 -0
  159. package/dist/features/game/utils/resolveGameEntityMotionPlan.d.ts.map +1 -0
  160. package/dist/features/game/utils/resolveGameEntityMotionPlan.js +31 -0
  161. package/dist/features/game/utils/resolveGameEntityMotionPlan.js.map +1 -0
  162. package/dist/features/game/utils/toGamePercentage.d.ts +3 -0
  163. package/dist/features/game/utils/toGamePercentage.d.ts.map +1 -0
  164. package/dist/features/game/utils/toGamePercentage.js +6 -0
  165. package/dist/features/game/utils/toGamePercentage.js.map +1 -0
  166. package/dist/features/game/utils/useAnimatedGameEntityValue.d.ts +5 -0
  167. package/dist/features/game/utils/useAnimatedGameEntityValue.d.ts.map +1 -0
  168. package/dist/features/game/utils/useAnimatedGameEntityValue.js +33 -0
  169. package/dist/features/game/utils/useAnimatedGameEntityValue.js.map +1 -0
  170. package/dist/features/game/utils/useGameEntityAnimatedStyle.d.ts +16 -0
  171. package/dist/features/game/utils/useGameEntityAnimatedStyle.d.ts.map +1 -0
  172. package/dist/features/game/utils/useGameEntityAnimatedStyle.js +52 -0
  173. package/dist/features/game/utils/useGameEntityAnimatedStyle.js.map +1 -0
  174. package/dist/features/game/utils/useGameEntityMeasurement.d.ts +5 -0
  175. package/dist/features/game/utils/useGameEntityMeasurement.d.ts.map +1 -0
  176. package/dist/features/game/utils/useGameEntityMeasurement.js +14 -0
  177. package/dist/features/game/utils/useGameEntityMeasurement.js.map +1 -0
  178. package/dist/features/game/utils/useGameEntityMotionProgress.d.ts +5 -0
  179. package/dist/features/game/utils/useGameEntityMotionProgress.d.ts.map +1 -0
  180. package/dist/features/game/utils/useGameEntityMotionProgress.js +87 -0
  181. package/dist/features/game/utils/useGameEntityMotionProgress.js.map +1 -0
  182. package/dist/features/game/utils/useGameReducedMotion.d.ts +3 -0
  183. package/dist/features/game/utils/useGameReducedMotion.d.ts.map +1 -0
  184. package/dist/features/game/utils/useGameReducedMotion.js +13 -0
  185. package/dist/features/game/utils/useGameReducedMotion.js.map +1 -0
  186. package/dist/features/layout/gridMeta.d.ts +1 -1
  187. package/dist/features/layout/gridMeta.d.ts.map +1 -1
  188. package/dist/features/layout/gridMeta.js +7 -2
  189. package/dist/features/layout/gridMeta.js.map +1 -1
  190. package/dist/features/layout/screenMeta.d.ts +1 -1
  191. package/dist/features/layout/viewMeta.d.ts +1 -1
  192. package/dist/features/layout/viewMeta.d.ts.map +1 -1
  193. package/dist/features/layout/viewMeta.js +6 -2
  194. package/dist/features/layout/viewMeta.js.map +1 -1
  195. package/dist/features/registry/ZORA_COMPONENT_REGISTRY.d.ts.map +1 -1
  196. package/dist/features/registry/ZORA_COMPONENT_REGISTRY.js +16 -0
  197. package/dist/features/registry/ZORA_COMPONENT_REGISTRY.js.map +1 -1
  198. package/dist/features/section/screenSectionMeta.d.ts +1 -1
  199. package/dist/features/tabletop/adapters/inbound/CardBack.d.ts +5 -0
  200. package/dist/features/tabletop/adapters/inbound/CardBack.d.ts.map +1 -0
  201. package/dist/features/tabletop/adapters/inbound/CardBack.js +47 -0
  202. package/dist/features/tabletop/adapters/inbound/CardBack.js.map +1 -0
  203. package/dist/features/tabletop/adapters/inbound/CardHand.d.ts +5 -0
  204. package/dist/features/tabletop/adapters/inbound/CardHand.d.ts.map +1 -0
  205. package/dist/features/tabletop/adapters/inbound/CardHand.js +28 -0
  206. package/dist/features/tabletop/adapters/inbound/CardHand.js.map +1 -0
  207. package/dist/features/tabletop/adapters/inbound/PlayingCard.d.ts +5 -0
  208. package/dist/features/tabletop/adapters/inbound/PlayingCard.d.ts.map +1 -0
  209. package/dist/features/tabletop/adapters/inbound/PlayingCard.js +64 -0
  210. package/dist/features/tabletop/adapters/inbound/PlayingCard.js.map +1 -0
  211. package/dist/features/tabletop/adapters/inbound/PokerTrainingTable.d.ts +5 -0
  212. package/dist/features/tabletop/adapters/inbound/PokerTrainingTable.d.ts.map +1 -0
  213. package/dist/features/tabletop/adapters/inbound/PokerTrainingTable.js +12 -0
  214. package/dist/features/tabletop/adapters/inbound/PokerTrainingTable.js.map +1 -0
  215. package/dist/features/tabletop/adapters/inbound/TabletopTable.d.ts +5 -0
  216. package/dist/features/tabletop/adapters/inbound/TabletopTable.d.ts.map +1 -0
  217. package/dist/features/tabletop/adapters/inbound/TabletopTable.js +206 -0
  218. package/dist/features/tabletop/adapters/inbound/TabletopTable.js.map +1 -0
  219. package/dist/features/tabletop/meta.d.ts +353 -0
  220. package/dist/features/tabletop/meta.d.ts.map +1 -0
  221. package/dist/features/tabletop/meta.js +252 -0
  222. package/dist/features/tabletop/meta.js.map +1 -0
  223. package/dist/features/tabletop/public.d.ts +10 -0
  224. package/dist/features/tabletop/public.d.ts.map +1 -0
  225. package/dist/features/tabletop/public.js +9 -0
  226. package/dist/features/tabletop/public.js.map +1 -0
  227. package/dist/features/tabletop/utils/createPokerTrainingTableState.d.ts +13 -0
  228. package/dist/features/tabletop/utils/createPokerTrainingTableState.d.ts.map +1 -0
  229. package/dist/features/tabletop/utils/createPokerTrainingTableState.js +112 -0
  230. package/dist/features/tabletop/utils/createPokerTrainingTableState.js.map +1 -0
  231. package/dist/features/tabletop/utils/createTabletopColorScheme.d.ts +36 -0
  232. package/dist/features/tabletop/utils/createTabletopColorScheme.d.ts.map +1 -0
  233. package/dist/features/tabletop/utils/createTabletopColorScheme.js +144 -0
  234. package/dist/features/tabletop/utils/createTabletopColorScheme.js.map +1 -0
  235. package/dist/features/tabletop/utils/createTabletopGameSeats.d.ts +13 -0
  236. package/dist/features/tabletop/utils/createTabletopGameSeats.d.ts.map +1 -0
  237. package/dist/features/tabletop/utils/createTabletopGameSeats.js +22 -0
  238. package/dist/features/tabletop/utils/createTabletopGameSeats.js.map +1 -0
  239. package/dist/features/tabletop/utils/getPlayingCardLabel.d.ts +4 -0
  240. package/dist/features/tabletop/utils/getPlayingCardLabel.d.ts.map +1 -0
  241. package/dist/features/tabletop/utils/getPlayingCardLabel.js +6 -0
  242. package/dist/features/tabletop/utils/getPlayingCardLabel.js.map +1 -0
  243. package/dist/features/tabletop/utils/getTabletopCardDimensions.d.ts +12 -0
  244. package/dist/features/tabletop/utils/getTabletopCardDimensions.d.ts.map +1 -0
  245. package/dist/features/tabletop/utils/getTabletopCardDimensions.js +35 -0
  246. package/dist/features/tabletop/utils/getTabletopCardDimensions.js.map +1 -0
  247. package/dist/features/tabletop/utils/getTabletopSeatPosition.d.ts +9 -0
  248. package/dist/features/tabletop/utils/getTabletopSeatPosition.d.ts.map +1 -0
  249. package/dist/features/tabletop/utils/getTabletopSeatPosition.js +88 -0
  250. package/dist/features/tabletop/utils/getTabletopSeatPosition.js.map +1 -0
  251. package/dist/index.d.ts +8 -0
  252. package/dist/index.d.ts.map +1 -1
  253. package/dist/index.js +4 -0
  254. package/dist/index.js.map +1 -1
  255. package/dist/types/chess.d.ts +83 -0
  256. package/dist/types/chess.d.ts.map +1 -0
  257. package/dist/types/chess.js +2 -0
  258. package/dist/types/chess.js.map +1 -0
  259. package/dist/types/gamePresentation.d.ts +94 -0
  260. package/dist/types/gamePresentation.d.ts.map +1 -0
  261. package/dist/types/gamePresentation.js +2 -0
  262. package/dist/types/gamePresentation.js.map +1 -0
  263. package/dist/types/gameRuntime.d.ts +29 -0
  264. package/dist/types/gameRuntime.d.ts.map +1 -0
  265. package/dist/types/gameRuntime.js +2 -0
  266. package/dist/types/gameRuntime.js.map +1 -0
  267. package/dist/types/tabletop.d.ts +129 -0
  268. package/dist/types/tabletop.d.ts.map +1 -0
  269. package/dist/types/tabletop.js +2 -0
  270. package/dist/types/tabletop.js.map +1 -0
  271. package/package.json +3 -1
  272. package/src/features/authoring/allowedChildren.ts +15 -2
  273. package/src/features/authoring/componentMeta.test.ts +93 -0
  274. package/src/features/authoring/componentMeta.ts +27 -0
  275. package/src/features/authoring/constants.ts +3 -0
  276. package/src/features/card/cardMeta.ts +12 -2
  277. package/src/features/chess/adapters/inbound/ChessBoard.tsx +169 -0
  278. package/src/features/chess/adapters/inbound/OpeningBook.tsx +131 -0
  279. package/src/features/chess/meta.ts +168 -0
  280. package/src/features/chess/public.test.tsx +165 -0
  281. package/src/features/chess/public.ts +27 -0
  282. package/src/features/chess/utils/chessSquares.ts +6 -0
  283. package/src/features/chess/utils/createBoardSquares.ts +13 -0
  284. package/src/features/chess/utils/createChessBoardColorScheme.ts +55 -0
  285. package/src/features/chess/utils/createOpeningBookColorScheme.ts +26 -0
  286. package/src/features/chess/utils/getSquareFile.ts +6 -0
  287. package/src/features/chess/utils/getSquareRank.ts +6 -0
  288. package/src/features/chess/utils/isLightSquare.ts +8 -0
  289. package/src/features/chessTabletopOwnership.test.ts +71 -0
  290. package/src/features/game/adapters/inbound/Game.tsx +43 -0
  291. package/src/features/game/adapters/inbound/GameEntity.tsx +44 -0
  292. package/src/features/game/adapters/inbound/GameField.tsx +52 -0
  293. package/src/features/game/adapters/inbound/GameInputZone.tsx +99 -0
  294. package/src/features/game/adapters/inbound/GameMeasurementProbe.tsx +83 -0
  295. package/src/features/game/adapters/inbound/GameOverlay.tsx +58 -0
  296. package/src/features/game/adapters/inbound/createGameKeyboardEvent.test.ts +51 -0
  297. package/src/features/game/adapters/inbound/createGameKeyboardEvent.ts +33 -0
  298. package/src/features/game/adapters/inbound/createGameMeasurementEvent.test.ts +56 -0
  299. package/src/features/game/adapters/inbound/createGameMeasurementEvent.ts +38 -0
  300. package/src/features/game/adapters/inbound/createGamePointerEvent.test.ts +56 -0
  301. package/src/features/game/adapters/inbound/createGamePointerEvent.ts +39 -0
  302. package/src/features/game/adapters/inbound/measureGameEntity.ts +28 -0
  303. package/src/features/game/adapters/inbound/useGameInputZoneResponder.ts +85 -0
  304. package/src/features/game/composition/GameRuntimeContext.ts +6 -0
  305. package/src/features/game/composition/createGameBindingContext.test.ts +66 -0
  306. package/src/features/game/composition/createGameBindingContext.ts +11 -0
  307. package/src/features/game/composition/createGameMeasurementRegistry.test.ts +35 -0
  308. package/src/features/game/composition/createGameMeasurementRegistry.ts +16 -0
  309. package/src/features/game/composition/useGameRuntime.test.tsx +173 -0
  310. package/src/features/game/composition/useGameRuntime.ts +200 -0
  311. package/src/features/game/composition/useGameScheduledEffects.ts +85 -0
  312. package/src/features/game/meta/gameEntityMeta.ts +226 -0
  313. package/src/features/game/meta/gameFieldMeta.ts +49 -0
  314. package/src/features/game/meta/gameInputZoneMeta.ts +140 -0
  315. package/src/features/game/meta/gameMeasurementProbeMeta.ts +72 -0
  316. package/src/features/game/meta/gameMeta.ts +115 -0
  317. package/src/features/game/meta/gameOverlayMeta.ts +66 -0
  318. package/src/features/game/public.test.tsx +64 -0
  319. package/src/features/game/public.ts +19 -0
  320. package/src/features/game/utils/clampGamePercentage.ts +4 -0
  321. package/src/features/game/utils/resolveGameEntityMotionPlan.test.ts +63 -0
  322. package/src/features/game/utils/resolveGameEntityMotionPlan.ts +53 -0
  323. package/src/features/game/utils/toGamePercentage.ts +6 -0
  324. package/src/features/game/utils/useAnimatedGameEntityValue.ts +41 -0
  325. package/src/features/game/utils/useGameEntityAnimatedStyle.ts +87 -0
  326. package/src/features/game/utils/useGameEntityMeasurement.ts +19 -0
  327. package/src/features/game/utils/useGameEntityMotionProgress.ts +114 -0
  328. package/src/features/game/utils/useGameReducedMotion.ts +15 -0
  329. package/src/features/layout/gridMeta.ts +12 -2
  330. package/src/features/layout/viewMeta.ts +10 -2
  331. package/src/features/registry/ZORA_COMPONENT_REGISTRY.ts +29 -0
  332. package/src/features/tabletop/adapters/inbound/CardBack.tsx +70 -0
  333. package/src/features/tabletop/adapters/inbound/CardHand.tsx +61 -0
  334. package/src/features/tabletop/adapters/inbound/PlayingCard.tsx +95 -0
  335. package/src/features/tabletop/adapters/inbound/PokerTrainingTable.tsx +34 -0
  336. package/src/features/tabletop/adapters/inbound/TabletopTable.tsx +264 -0
  337. package/src/features/tabletop/meta.ts +254 -0
  338. package/src/features/tabletop/public.test.tsx +127 -0
  339. package/src/features/tabletop/public.ts +32 -0
  340. package/src/features/tabletop/utils/createPokerTrainingTableState.ts +152 -0
  341. package/src/features/tabletop/utils/createTabletopColorScheme.ts +232 -0
  342. package/src/features/tabletop/utils/createTabletopGameSeats.ts +31 -0
  343. package/src/features/tabletop/utils/getPlayingCardLabel.ts +8 -0
  344. package/src/features/tabletop/utils/getTabletopCardDimensions.ts +45 -0
  345. package/src/features/tabletop/utils/getTabletopSeatPosition.ts +100 -0
  346. package/src/index.ts +83 -0
  347. package/src/types/chess.ts +95 -0
  348. package/src/types/gamePresentation.ts +103 -0
  349. package/src/types/gameRuntime.ts +34 -0
  350. package/src/types/tabletop.ts +131 -0
  351. package/web-dist/chunks/{Accordion-cscmtcn8.js → Accordion-0txegc16.js} +1 -1
  352. package/web-dist/chunks/{Accordion-06588rzn.js → Accordion-10xw59gm.js} +1 -1
  353. package/web-dist/chunks/{Accordion-8kgtg62g.js → Accordion-2zh15wt9.js} +6 -6
  354. package/web-dist/chunks/{Accordion-pkqj4g3r.js → Accordion-481bknsd.js} +5 -5
  355. package/web-dist/chunks/{Accordion-grfbz6f2.js → Accordion-4fkjn6r5.js} +1 -1
  356. package/web-dist/chunks/{Accordion-ftjkdjqs.js → Accordion-4gx45mn0.js} +3 -3
  357. package/web-dist/chunks/{Accordion-fjnck2tg.js → Accordion-4s69xvqy.js} +6 -6
  358. package/web-dist/chunks/{Accordion-jh7nxehr.js → Accordion-50jz5nhg.js} +1 -1
  359. package/web-dist/chunks/{Accordion-t6sdgmbz.js → Accordion-52xke54s.js} +1 -1
  360. package/web-dist/chunks/{Accordion-far6szrp.js → Accordion-6npzmbgk.js} +5 -5
  361. package/web-dist/chunks/{Accordion-q7c1ryf2.js → Accordion-6z4npcgf.js} +4 -4
  362. package/web-dist/chunks/{Accordion-gbba10rg.js → Accordion-8gw5tkfw.js} +6 -6
  363. package/web-dist/chunks/{Accordion-fmxygyb6.js → Accordion-8qteyww0.js} +4 -4
  364. package/web-dist/chunks/{Accordion-1pp37dtg.js → Accordion-9h5dx3ck.js} +4 -4
  365. package/web-dist/chunks/{Accordion-paha5aje.js → Accordion-9mmqf3wr.js} +2 -2
  366. package/web-dist/chunks/{Accordion-f5swy5bs.js → Accordion-b21zrnzj.js} +1 -1
  367. package/web-dist/chunks/{Accordion-ars389m1.js → Accordion-b8qd23hr.js} +3 -3
  368. package/web-dist/chunks/{Accordion-hxfa71g9.js → Accordion-c79y8g44.js} +7 -7
  369. package/web-dist/chunks/Accordion-ca2csh5r.js +321 -0
  370. package/web-dist/chunks/{Accordion-49gf1zb8.js → Accordion-cjht9dyv.js} +1 -1
  371. package/web-dist/chunks/{Accordion-sz21xsf4.js → Accordion-cq6hn45r.js} +1 -1
  372. package/web-dist/chunks/{Accordion-33rd76r7.js → Accordion-d90g9wcb.js} +8 -8
  373. package/web-dist/chunks/{Accordion-crx58d5n.js → Accordion-f5jb299b.js} +2 -2
  374. package/web-dist/chunks/{Accordion-h95wvyn5.js → Accordion-fe6vmbpf.js} +2 -2
  375. package/web-dist/chunks/{Accordion-jzbq36ec.js → Accordion-fqm027n3.js} +8 -8
  376. package/web-dist/chunks/{Accordion-0jkm3y3w.js → Accordion-gpccarct.js} +1 -1
  377. package/web-dist/chunks/{Accordion-v6ykq9hv.js → Accordion-h95h3xdb.js} +10 -10
  378. package/web-dist/chunks/{Accordion-t3p4ykg7.js → Accordion-j8ab9k8k.js} +8 -8
  379. package/web-dist/chunks/{Accordion-qpwhmqzd.js → Accordion-k5z591wx.js} +13 -13
  380. package/web-dist/chunks/{Accordion-rrpej6sv.js → Accordion-kdncjvc7.js} +7 -7
  381. package/web-dist/chunks/{Accordion-f05a7r28.js → Accordion-ks4a1c6w.js} +5 -5
  382. package/web-dist/chunks/{Accordion-x0j8b2by.js → Accordion-ma1sfe5z.js} +5 -5
  383. package/web-dist/chunks/{Accordion-2dws3778.js → Accordion-mhtyce1k.js} +4 -4
  384. package/web-dist/chunks/{Accordion-1vewf8aa.js → Accordion-n7gtb5ec.js} +2 -2
  385. package/web-dist/chunks/{Accordion-0psdn97s.js → Accordion-p42mm8rr.js} +1 -1
  386. package/web-dist/chunks/{Accordion-3404tth9.js → Accordion-panw5f0q.js} +7 -7
  387. package/web-dist/chunks/{Accordion-4a6wj3ez.js → Accordion-pxq8gfgg.js} +9 -9
  388. package/web-dist/chunks/{Accordion-xshn7k8f.js → Accordion-qwbshc4s.js} +4 -4
  389. package/web-dist/chunks/{Accordion-395r3wra.js → Accordion-r51wsmvy.js} +2 -2
  390. package/web-dist/chunks/Accordion-rt13cqr7.js +830 -0
  391. package/web-dist/chunks/{Accordion-hz4xaqjf.js → Accordion-s1f9hb5a.js} +9 -9
  392. package/web-dist/chunks/{Accordion-7ja4mtbz.js → Accordion-sv87mbqa.js} +1 -1
  393. package/web-dist/chunks/{Accordion-r4c9k9y7.js → Accordion-t4k9egq6.js} +2 -2
  394. package/web-dist/chunks/{Accordion-96cqeekv.js → Accordion-t64m1kca.js} +5 -5
  395. package/web-dist/chunks/Accordion-wg31jkvp.js +1559 -0
  396. package/web-dist/chunks/{Accordion-ch67q4t0.js → Accordion-y9zr4x2x.js} +4 -4
  397. package/web-dist/chunks/{Accordion-31aeqxak.js → Accordion-ye3k55r7.js} +3 -3
  398. package/web-dist/chunks/{Accordion-s42wwh6m.js → Accordion-z29agann.js} +6 -6
  399. package/web-dist/chunks/{Accordion-f1h2f05v.js → Accordion-ze26effy.js} +5 -5
  400. package/web-dist/chunks/{Accordion-tx78txec.js → Accordion-zqzcagxz.js} +5 -5
  401. package/web-dist/components/accordion/Accordion.js +12 -12
  402. package/web-dist/components/accordion-item/AccordionItem.js +12 -12
  403. package/web-dist/components/activity-indicator/ActivityIndicator.js +3 -3
  404. package/web-dist/components/app-bar/AppBar.js +19 -19
  405. package/web-dist/components/app-shell/AppShell.js +6 -6
  406. package/web-dist/components/avatar/Avatar.js +12 -12
  407. package/web-dist/components/avatar-group/AvatarGroup.js +12 -12
  408. package/web-dist/components/badge/Badge.js +7 -7
  409. package/web-dist/components/barcode-scanner-view/BarcodeScannerView.js +20 -20
  410. package/web-dist/components/bottom-sheet/BottomSheet.js +8 -8
  411. package/web-dist/components/bottom-sheet-flat-list/BottomSheetFlatList.js +8 -8
  412. package/web-dist/components/bottom-sheet-scroll-view/BottomSheetScrollView.js +8 -8
  413. package/web-dist/components/bottom-sheet-section-list/BottomSheetSectionList.js +8 -8
  414. package/web-dist/components/bottom-sheet-view/BottomSheetView.js +8 -8
  415. package/web-dist/components/bottom-sheet-virtualized-list/BottomSheetVirtualizedList.js +8 -8
  416. package/web-dist/components/breadcrumbs/Breadcrumbs.js +15 -15
  417. package/web-dist/components/button/Button.js +12 -12
  418. package/web-dist/components/button-group/ButtonGroup.js +12 -12
  419. package/web-dist/components/camera-permission-view/CameraPermissionView.js +20 -20
  420. package/web-dist/components/card/Card.js +19 -19
  421. package/web-dist/components/card-back/CardBack.d.ts +7 -0
  422. package/web-dist/components/card-back/CardBack.js +19 -0
  423. package/web-dist/components/card-back/index.d.ts +1 -0
  424. package/web-dist/components/card-back/index.js +2 -0
  425. package/web-dist/components/card-hand/CardHand.d.ts +7 -0
  426. package/web-dist/components/card-hand/CardHand.js +19 -0
  427. package/web-dist/components/card-hand/index.d.ts +1 -0
  428. package/web-dist/components/card-hand/index.js +2 -0
  429. package/web-dist/components/chat-list-item/ChatListItem.js +16 -16
  430. package/web-dist/components/checkbox/Checkbox.js +12 -12
  431. package/web-dist/components/checkbox-group/CheckboxGroup.js +12 -12
  432. package/web-dist/components/chess-board/ChessBoard.d.ts +4 -0
  433. package/web-dist/components/chess-board/ChessBoard.js +13 -0
  434. package/web-dist/components/chess-board/index.d.ts +1 -0
  435. package/web-dist/components/chess-board/index.js +2 -0
  436. package/web-dist/components/chip/Chip.js +13 -13
  437. package/web-dist/components/chip-group/ChipGroup.js +13 -13
  438. package/web-dist/components/collection-editor/CollectionEditor.js +19 -19
  439. package/web-dist/components/content-rail/ContentRail.js +13 -13
  440. package/web-dist/components/data-table/DataTable.js +26 -26
  441. package/web-dist/components/date-picker/DatePicker.js +17 -17
  442. package/web-dist/components/dialog/Dialog.js +12 -12
  443. package/web-dist/components/divider/Divider.js +6 -6
  444. package/web-dist/components/empty-state/EmptyState.js +20 -20
  445. package/web-dist/components/field/Field.js +12 -12
  446. package/web-dist/components/flat-list/FlatList.js +13 -13
  447. package/web-dist/components/forgot-password-form/ForgotPasswordForm.js +18 -18
  448. package/web-dist/components/form/Form.js +16 -16
  449. package/web-dist/components/form-actions/FormActions.js +16 -16
  450. package/web-dist/components/form-error/FormError.js +16 -16
  451. package/web-dist/components/game/Game.d.ts +8 -0
  452. package/web-dist/components/game/Game.js +25 -0
  453. package/web-dist/components/game/index.d.ts +1 -0
  454. package/web-dist/components/game/index.js +2 -0
  455. package/web-dist/components/game-entity/GameEntity.d.ts +8 -0
  456. package/web-dist/components/game-entity/GameEntity.js +25 -0
  457. package/web-dist/components/game-entity/index.d.ts +1 -0
  458. package/web-dist/components/game-entity/index.js +2 -0
  459. package/web-dist/components/game-field/GameField.d.ts +8 -0
  460. package/web-dist/components/game-field/GameField.js +25 -0
  461. package/web-dist/components/game-field/index.d.ts +1 -0
  462. package/web-dist/components/game-field/index.js +2 -0
  463. package/web-dist/components/game-input-zone/GameInputZone.d.ts +8 -0
  464. package/web-dist/components/game-input-zone/GameInputZone.js +25 -0
  465. package/web-dist/components/game-input-zone/index.d.ts +1 -0
  466. package/web-dist/components/game-input-zone/index.js +2 -0
  467. package/web-dist/components/game-measurement-probe/GameMeasurementProbe.d.ts +8 -0
  468. package/web-dist/components/game-measurement-probe/GameMeasurementProbe.js +25 -0
  469. package/web-dist/components/game-measurement-probe/index.d.ts +1 -0
  470. package/web-dist/components/game-measurement-probe/index.js +2 -0
  471. package/web-dist/components/game-overlay/GameOverlay.d.ts +8 -0
  472. package/web-dist/components/game-overlay/GameOverlay.js +25 -0
  473. package/web-dist/components/game-overlay/index.d.ts +1 -0
  474. package/web-dist/components/game-overlay/index.js +2 -0
  475. package/web-dist/components/gradient/Gradient.js +7 -7
  476. package/web-dist/components/gradient-renderer-provider/GradientRendererProvider.js +7 -7
  477. package/web-dist/components/grid/Grid.js +6 -6
  478. package/web-dist/components/heading/Heading.js +6 -6
  479. package/web-dist/components/hero/Hero.js +19 -19
  480. package/web-dist/components/icon/Icon.js +4 -4
  481. package/web-dist/components/icon-button/IconButton.js +12 -12
  482. package/web-dist/components/image/Image.js +10 -10
  483. package/web-dist/components/keyboard-avoiding-view/KeyboardAvoidingView.js +2 -2
  484. package/web-dist/components/list/List.js +13 -13
  485. package/web-dist/components/list-item/ListItem.js +13 -13
  486. package/web-dist/components/list-section/ListSection.js +13 -13
  487. package/web-dist/components/media-card/MediaCard.js +19 -19
  488. package/web-dist/components/message-bubble/MessageBubble.js +16 -16
  489. package/web-dist/components/metric-card/MetricCard.js +19 -19
  490. package/web-dist/components/missing-element/MissingElement.js +11 -11
  491. package/web-dist/components/o-auth-provider-button/OAuthProviderButton.js +18 -18
  492. package/web-dist/components/o-auth-provider-list/OAuthProviderList.js +18 -18
  493. package/web-dist/components/opening-book/OpeningBook.d.ts +4 -0
  494. package/web-dist/components/opening-book/OpeningBook.js +13 -0
  495. package/web-dist/components/opening-book/index.d.ts +1 -0
  496. package/web-dist/components/opening-book/index.js +2 -0
  497. package/web-dist/components/otp-form/OtpForm.js +18 -18
  498. package/web-dist/components/pagination/Pagination.js +13 -13
  499. package/web-dist/components/palette-item/PaletteItem.js +19 -19
  500. package/web-dist/components/playing-card/PlayingCard.d.ts +7 -0
  501. package/web-dist/components/playing-card/PlayingCard.js +19 -0
  502. package/web-dist/components/playing-card/index.d.ts +1 -0
  503. package/web-dist/components/playing-card/index.js +2 -0
  504. package/web-dist/components/poker-training-table/PokerTrainingTable.d.ts +7 -0
  505. package/web-dist/components/poker-training-table/PokerTrainingTable.js +19 -0
  506. package/web-dist/components/poker-training-table/index.d.ts +1 -0
  507. package/web-dist/components/poker-training-table/index.js +2 -0
  508. package/web-dist/components/popover-menu/PopoverMenu.js +14 -14
  509. package/web-dist/components/post-card/PostCard.js +19 -19
  510. package/web-dist/components/product-card/ProductCard.js +19 -19
  511. package/web-dist/components/progress/Progress.js +10 -10
  512. package/web-dist/components/progress-ring/ProgressRing.js +10 -10
  513. package/web-dist/components/radio/Radio.js +14 -14
  514. package/web-dist/components/radio-group/RadioGroup.js +14 -14
  515. package/web-dist/components/rating/Rating.js +9 -9
  516. package/web-dist/components/reader-surface/ReaderSurface.js +21 -21
  517. package/web-dist/components/scan-overlay/ScanOverlay.js +20 -20
  518. package/web-dist/components/screen/Screen.js +6 -6
  519. package/web-dist/components/screen-section/ScreenSection.js +10 -10
  520. package/web-dist/components/scroll-view/ScrollView.js +6 -6
  521. package/web-dist/components/search-input/SearchInput.js +13 -13
  522. package/web-dist/components/section-header/SectionHeader.js +10 -10
  523. package/web-dist/components/section-list/SectionList.js +13 -13
  524. package/web-dist/components/select/Select.js +16 -16
  525. package/web-dist/components/selectable-item/SelectableItem.js +5 -5
  526. package/web-dist/components/selection-provider/SelectionProvider.js +5 -5
  527. package/web-dist/components/sign-in-form/SignInForm.js +18 -18
  528. package/web-dist/components/sign-up-form/SignUpForm.js +18 -18
  529. package/web-dist/components/skeleton/Skeleton.js +22 -22
  530. package/web-dist/components/skeleton-card/SkeletonCard.js +22 -22
  531. package/web-dist/components/skeleton-list/SkeletonList.js +22 -22
  532. package/web-dist/components/skeleton-text/SkeletonText.js +22 -22
  533. package/web-dist/components/surface/Surface.js +7 -7
  534. package/web-dist/components/switch/Switch.js +7 -7
  535. package/web-dist/components/tab/Tab.js +7 -7
  536. package/web-dist/components/tab-list/TabList.js +7 -7
  537. package/web-dist/components/tab-panel/TabPanel.js +7 -7
  538. package/web-dist/components/tabletop-table/TabletopTable.d.ts +7 -0
  539. package/web-dist/components/tabletop-table/TabletopTable.js +19 -0
  540. package/web-dist/components/tabletop-table/index.d.ts +1 -0
  541. package/web-dist/components/tabletop-table/index.js +2 -0
  542. package/web-dist/components/tabs/Tabs.js +7 -7
  543. package/web-dist/components/text/Text.js +6 -6
  544. package/web-dist/components/text-input/TextInput.js +13 -13
  545. package/web-dist/components/time-picker/TimePicker.js +17 -17
  546. package/web-dist/components/timeline/Timeline.js +11 -11
  547. package/web-dist/components/toast/Toast.js +9 -9
  548. package/web-dist/components/toast-provider/ToastProvider.js +9 -9
  549. package/web-dist/components/toolbar/Toolbar.js +19 -19
  550. package/web-dist/components/tree-item/TreeItem.js +16 -16
  551. package/web-dist/components/uploader/Uploader.js +22 -22
  552. package/web-dist/components/view/View.js +6 -6
  553. package/web-dist/manifest.json +1650 -1379
  554. package/web-dist/runtime/ZoraProvider.js +8 -8
@@ -0,0 +1,103 @@
1
+ import type { GameDefinition, GameInput, GameOutput } from '@ankhorage/game';
2
+ import type { InteractionPolicyProps } from '@ankhorage/surface';
3
+ import type React from 'react';
4
+
5
+ type GameOverlayCornerPlacement = 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right';
6
+
7
+ export type GamePointerEvents = 'auto' | 'box-none' | 'box-only' | 'none';
8
+ export type GameEntityEasing = 'linear' | 'ease-in' | 'ease-out' | 'ease-in-out';
9
+
10
+ export interface GameEntityMotionProps {
11
+ readonly transitionDurationMs?: number;
12
+ readonly transitionEasing?: GameEntityEasing;
13
+ readonly motionOffsetX?: number;
14
+ readonly motionOffsetY?: number;
15
+ readonly motionOpacityDelta?: number;
16
+ readonly motionScaleDelta?: number;
17
+ readonly motionRotationDelta?: number;
18
+ readonly motionDurationMs?: number;
19
+ readonly motionDelayMs?: number;
20
+ readonly motionEasing?: GameEntityEasing;
21
+ readonly motionRepeat?: boolean;
22
+ readonly motionAlternate?: boolean;
23
+ readonly motionPaused?: boolean;
24
+ readonly motionEssential?: boolean;
25
+ }
26
+ export type GameOverlayPlacement =
27
+ 'fill' | 'center' | 'top' | 'bottom' | GameOverlayCornerPlacement;
28
+
29
+ export interface GameFieldProps extends InteractionPolicyProps {
30
+ readonly children?: React.ReactNode;
31
+ readonly aspectRatio?: number;
32
+ readonly minHeight?: number;
33
+ readonly fill?: boolean;
34
+ readonly clip?: boolean;
35
+ readonly accessibilityLabel?: string;
36
+ readonly testID?: string;
37
+ }
38
+
39
+ export interface GameEntityProps extends GameEntityMotionProps, InteractionPolicyProps {
40
+ readonly children?: React.ReactNode;
41
+ readonly x?: number;
42
+ readonly y?: number;
43
+ readonly width?: number;
44
+ readonly height?: number;
45
+ readonly opacity?: number;
46
+ readonly scale?: number;
47
+ readonly rotation?: number;
48
+ readonly zIndex?: number;
49
+ readonly hidden?: boolean;
50
+ readonly pointerEvents?: GamePointerEvents;
51
+ readonly measurementId?: string;
52
+ readonly accessibilityLabel?: string;
53
+ readonly testID?: string;
54
+ }
55
+
56
+ export interface GameKeyboardBinding {
57
+ readonly key: string;
58
+ readonly eventType?: string;
59
+ readonly entityId?: string;
60
+ readonly preventDefault?: boolean;
61
+ }
62
+
63
+ export interface GameInputZoneProps extends InteractionPolicyProps {
64
+ readonly eventType: string;
65
+ readonly entityId?: string;
66
+ readonly x?: number;
67
+ readonly y?: number;
68
+ readonly width?: number;
69
+ readonly height?: number;
70
+ readonly zIndex?: number;
71
+ readonly enabled?: boolean;
72
+ readonly continuous?: boolean;
73
+ readonly keyboardBindings?: readonly GameKeyboardBinding[];
74
+ readonly accessibilityLabel?: string;
75
+ readonly testID?: string;
76
+ }
77
+
78
+ export interface GameMeasurementProbeProps extends InteractionPolicyProps {
79
+ readonly sourceId: string;
80
+ readonly targetId: string;
81
+ readonly eventType?: string;
82
+ readonly entityId?: string;
83
+ readonly delayMs?: number;
84
+ readonly enabled?: boolean;
85
+ }
86
+
87
+ export interface GameOverlayProps extends InteractionPolicyProps {
88
+ readonly children?: React.ReactNode;
89
+ readonly placement?: GameOverlayPlacement;
90
+ readonly blocking?: boolean;
91
+ readonly padding?: number;
92
+ readonly accessibilityLabel?: string;
93
+ readonly testID?: string;
94
+ }
95
+
96
+ export interface GameProps extends GameFieldProps {
97
+ readonly definition: GameDefinition;
98
+ readonly input?: GameInput;
99
+ readonly seed?: number;
100
+ readonly resetKey?: string;
101
+ readonly autoAdvanceTime?: boolean;
102
+ readonly onOutput?: (output: GameOutput) => void;
103
+ }
@@ -0,0 +1,34 @@
1
+ import type { GameEvent, GameOutput, GameSession } from '@ankhorage/game';
2
+ import type { InteractionPolicy } from '@ankhorage/surface';
3
+
4
+ export interface GameMeasurementBounds {
5
+ readonly left: number;
6
+ readonly right: number;
7
+ readonly top: number;
8
+ readonly bottom: number;
9
+ readonly width: number;
10
+ readonly height: number;
11
+ }
12
+
13
+ export type GameMeasurementReader = () => Promise<GameMeasurementBounds | undefined>;
14
+
15
+ export interface GameMeasurementRegistry {
16
+ readonly registerMeasurement: (id: string, reader: GameMeasurementReader) => () => void;
17
+ readonly measure: (id: string) => Promise<GameMeasurementBounds | undefined>;
18
+ }
19
+
20
+ export interface GameRuntimeValue {
21
+ readonly session: GameSession;
22
+ readonly dispatch: (event: GameEvent) => void;
23
+ }
24
+
25
+ export interface GameRuntimeContextValue extends GameRuntimeValue, GameMeasurementRegistry {
26
+ readonly interactionPolicy?: InteractionPolicy;
27
+ }
28
+
29
+ export interface GameRuntimeState {
30
+ readonly key: string;
31
+ readonly session: GameSession;
32
+ readonly outputs: readonly GameOutput[];
33
+ readonly revision: number;
34
+ }
@@ -0,0 +1,131 @@
1
+ import type React from 'react';
2
+
3
+ import type { ZoraBaseProps } from './base';
4
+
5
+ export type PlayingCardSuit = 'clubs' | 'diamonds' | 'hearts' | 'spades';
6
+ export type TabletopCardSize = 'large' | 'medium' | 'small';
7
+ export type TabletopShape = 'circle' | 'oval' | 'rounded';
8
+ export type TabletopSeatCount = 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10;
9
+
10
+ export interface PlayingCardValue {
11
+ readonly rank: string;
12
+ readonly suit: PlayingCardSuit;
13
+ }
14
+ export interface TabletopSeatState {
15
+ readonly id: string;
16
+ readonly label: React.ReactNode;
17
+ readonly sublabel?: React.ReactNode;
18
+ readonly cards?: readonly PlayingCardValue[];
19
+ readonly faceDownCards?: number;
20
+ readonly selected?: boolean;
21
+ readonly muted?: boolean;
22
+ readonly disabled?: boolean;
23
+ readonly tokenLabel?: React.ReactNode;
24
+ readonly accessibilityLabel?: string;
25
+ }
26
+ export type TabletopGameSeatPresentation = Omit<TabletopSeatState, 'id'>;
27
+ export interface TabletopGameSeatDefinition {
28
+ readonly id: string;
29
+ readonly defaultState: TabletopGameSeatPresentation;
30
+ }
31
+ export interface TabletopGameParticipantState {
32
+ readonly seatId: string;
33
+ readonly state: Partial<TabletopGameSeatPresentation>;
34
+ }
35
+ export interface CreateTabletopGameSeatsInput {
36
+ readonly seats: readonly TabletopGameSeatDefinition[];
37
+ readonly participants: readonly TabletopGameParticipantState[];
38
+ readonly missingParticipantState?: Partial<TabletopGameSeatPresentation>;
39
+ }
40
+ export interface TabletopColorScheme {
41
+ readonly cardBack: string;
42
+ readonly cardBackBorder: string;
43
+ readonly cardBorder: string;
44
+ readonly cardSurface: string;
45
+ readonly cardText: string;
46
+ readonly mutedText: string;
47
+ readonly redSuitText: string;
48
+ readonly seatBorder: string;
49
+ readonly seatMutedText: string;
50
+ readonly seatSelectedBorder: string;
51
+ readonly seatSurface: string;
52
+ readonly seatText: string;
53
+ readonly tableBorder: string;
54
+ readonly tableFelt: string;
55
+ readonly tableInnerBorder: string;
56
+ readonly tableMutedText: string;
57
+ readonly tableText: string;
58
+ readonly tokenSurface: string;
59
+ readonly tokenText: string;
60
+ }
61
+ export type TabletopColorOverrides = Partial<TabletopColorScheme>;
62
+ export interface CardBackProps extends ZoraBaseProps {
63
+ readonly size?: TabletopCardSize;
64
+ readonly muted?: boolean;
65
+ readonly accessibilityLabel?: string;
66
+ readonly colorScheme?: TabletopColorOverrides;
67
+ }
68
+ export interface CardHandProps extends ZoraBaseProps {
69
+ readonly cards?: readonly PlayingCardValue[];
70
+ readonly faceDownCards?: number;
71
+ readonly size?: TabletopCardSize;
72
+ readonly muted?: boolean;
73
+ readonly colorScheme?: TabletopColorOverrides;
74
+ readonly accessibilityLabel?: string;
75
+ }
76
+ export interface PlayingCardProps extends ZoraBaseProps {
77
+ readonly card: PlayingCardValue;
78
+ readonly size?: TabletopCardSize;
79
+ readonly selected?: boolean;
80
+ readonly muted?: boolean;
81
+ readonly accessibilityLabel?: string;
82
+ readonly colorScheme?: TabletopColorOverrides;
83
+ }
84
+ export interface TabletopTableProps extends ZoraBaseProps {
85
+ readonly seats: readonly TabletopSeatState[];
86
+ readonly centerCards?: readonly PlayingCardValue[];
87
+ readonly centerLabel?: React.ReactNode;
88
+ readonly centerSublabel?: React.ReactNode;
89
+ readonly shape?: TabletopShape;
90
+ readonly seatCount?: TabletopSeatCount;
91
+ readonly cardSize?: TabletopCardSize;
92
+ readonly disabled?: boolean;
93
+ readonly colorScheme?: TabletopColorOverrides;
94
+ readonly accessibilityLabel?: string;
95
+ }
96
+ export interface PokerTrainingPlayer {
97
+ readonly position: string;
98
+ readonly stack?: number;
99
+ readonly bet?: number;
100
+ readonly cards?: readonly PlayingCardValue[];
101
+ readonly folded?: boolean;
102
+ readonly isHero?: boolean;
103
+ }
104
+ export type PokerTrainingTableSize = '6max' | '9max';
105
+ export interface PokerTrainingTaskTableData {
106
+ readonly tableSize?: PokerTrainingTableSize;
107
+ readonly blinds?: { readonly small: number; readonly big: number };
108
+ readonly heroPosition?: string;
109
+ readonly heroCards?: readonly PlayingCardValue[];
110
+ readonly communityCards?: readonly PlayingCardValue[];
111
+ readonly pot?: number;
112
+ readonly players?: readonly PokerTrainingPlayer[];
113
+ }
114
+ export interface PokerTrainingTableProps extends Omit<
115
+ TabletopTableProps,
116
+ 'seatCount' | 'seats' | 'centerCards' | 'centerLabel' | 'centerSublabel'
117
+ > {
118
+ readonly task?: PokerTrainingTaskTableData;
119
+ readonly defaultStackBigBlinds?: number;
120
+ }
121
+ export interface CreatePokerTrainingTableStateOptions {
122
+ readonly defaultStackBigBlinds?: number;
123
+ }
124
+ export interface PokerTrainingTableState {
125
+ readonly seatCount: TabletopSeatCount;
126
+ readonly seats: readonly TabletopSeatState[];
127
+ readonly centerCards: readonly PlayingCardValue[];
128
+ readonly centerLabel?: string;
129
+ readonly centerSublabel?: string;
130
+ readonly accessibilityLabel: string;
131
+ }
@@ -7,7 +7,7 @@ import {
7
7
  } from "./Accordion-99cj85ez.js";
8
8
  import {
9
9
  require_cjs
10
- } from "./Accordion-49gf1zb8.js";
10
+ } from "./Accordion-cjht9dyv.js";
11
11
  import {
12
12
  __toESM
13
13
  } from "./Accordion-9qvmwkxe.js";
@@ -1,7 +1,7 @@
1
1
  'use client';
2
2
  import {
3
3
  Pressable
4
- } from "./Accordion-ftjkdjqs.js";
4
+ } from "./Accordion-4gx45mn0.js";
5
5
 
6
6
  // src/features/selection/adapters/inbound/SelectionProvider.tsx
7
7
  import React from "react";
@@ -1,25 +1,25 @@
1
1
  'use client';
2
2
  import {
3
3
  Button2
4
- } from "./Accordion-33rd76r7.js";
4
+ } from "./Accordion-d90g9wcb.js";
5
5
  import {
6
6
  withZoraThemeScope
7
- } from "./Accordion-grfbz6f2.js";
7
+ } from "./Accordion-4fkjn6r5.js";
8
8
  import {
9
9
  View2
10
- } from "./Accordion-96cqeekv.js";
10
+ } from "./Accordion-t64m1kca.js";
11
11
  import {
12
12
  FormActions2,
13
13
  FormError2,
14
14
  hasRequiredRule,
15
15
  useFormController
16
- } from "./Accordion-pkqj4g3r.js";
16
+ } from "./Accordion-481bknsd.js";
17
17
  import {
18
18
  Field2
19
- } from "./Accordion-ch67q4t0.js";
19
+ } from "./Accordion-y9zr4x2x.js";
20
20
  import {
21
21
  TextInput2
22
- } from "./Accordion-f1h2f05v.js";
22
+ } from "./Accordion-ze26effy.js";
23
23
 
24
24
  // src/features/auth/adapters/inbound/ForgotPasswordForm.tsx
25
25
  import React from "react";
@@ -1,19 +1,19 @@
1
1
  'use client';
2
2
  import {
3
3
  Button2
4
- } from "./Accordion-33rd76r7.js";
4
+ } from "./Accordion-d90g9wcb.js";
5
5
  import {
6
6
  withZoraThemeScope
7
- } from "./Accordion-grfbz6f2.js";
7
+ } from "./Accordion-4fkjn6r5.js";
8
8
  import {
9
9
  View2
10
- } from "./Accordion-96cqeekv.js";
10
+ } from "./Accordion-t64m1kca.js";
11
11
  import {
12
12
  Text2
13
- } from "./Accordion-f05a7r28.js";
13
+ } from "./Accordion-ks4a1c6w.js";
14
14
  import {
15
15
  useZoraTheme2
16
- } from "./Accordion-7ja4mtbz.js";
16
+ } from "./Accordion-sv87mbqa.js";
17
17
 
18
18
  // src/features/form/adapters/inbound/FormActions.tsx
19
19
  import { jsx, jsxs } from "react/jsx-runtime";
@@ -8,7 +8,7 @@ import {
8
8
  createTheme,
9
9
  ThemeRuntimeContext,
10
10
  useTheme
11
- } from "./Accordion-49gf1zb8.js";
11
+ } from "./Accordion-cjht9dyv.js";
12
12
  import {
13
13
  deepMerge
14
14
  } from "./Accordion-59pa0677.js";
@@ -1,18 +1,18 @@
1
1
  'use client';
2
2
  import {
3
3
  useResponsiveRuntime
4
- } from "./Accordion-jh7nxehr.js";
4
+ } from "./Accordion-50jz5nhg.js";
5
5
  import {
6
6
  require_cjs,
7
7
  useTheme
8
- } from "./Accordion-49gf1zb8.js";
8
+ } from "./Accordion-cjht9dyv.js";
9
9
  import {
10
10
  resolveFocusRingStyles,
11
11
  resolveInteractiveState
12
12
  } from "./Accordion-2d8xn32m.js";
13
13
  import {
14
14
  resolveViewStyles
15
- } from "./Accordion-f5swy5bs.js";
15
+ } from "./Accordion-b21zrnzj.js";
16
16
  import {
17
17
  __toESM
18
18
  } from "./Accordion-9qvmwkxe.js";
@@ -1,22 +1,22 @@
1
1
  'use client';
2
2
  import {
3
3
  withZoraThemeScope
4
- } from "./Accordion-grfbz6f2.js";
4
+ } from "./Accordion-4fkjn6r5.js";
5
5
  import {
6
6
  View2
7
- } from "./Accordion-96cqeekv.js";
7
+ } from "./Accordion-t64m1kca.js";
8
8
  import {
9
9
  ButtonGroup2
10
- } from "./Accordion-33rd76r7.js";
10
+ } from "./Accordion-d90g9wcb.js";
11
11
  import {
12
12
  Card2
13
- } from "./Accordion-qpwhmqzd.js";
13
+ } from "./Accordion-k5z591wx.js";
14
14
  import {
15
15
  List2
16
- } from "./Accordion-hz4xaqjf.js";
16
+ } from "./Accordion-s1f9hb5a.js";
17
17
  import {
18
18
  useZoraTheme2
19
- } from "./Accordion-7ja4mtbz.js";
19
+ } from "./Accordion-sv87mbqa.js";
20
20
 
21
21
  // src/features/skeleton/adapters/inbound/Skeleton.tsx
22
22
  import { jsx } from "react/jsx-runtime";
@@ -1,7 +1,7 @@
1
1
  'use client';
2
2
  import {
3
3
  require_cjs
4
- } from "./Accordion-49gf1zb8.js";
4
+ } from "./Accordion-cjht9dyv.js";
5
5
  import {
6
6
  __toESM
7
7
  } from "./Accordion-9qvmwkxe.js";
@@ -2,7 +2,7 @@
2
2
  import {
3
3
  require_cjs,
4
4
  useTheme
5
- } from "./Accordion-49gf1zb8.js";
5
+ } from "./Accordion-cjht9dyv.js";
6
6
  import {
7
7
  resolveToken
8
8
  } from "./Accordion-fre84yaq.js";
@@ -1,21 +1,21 @@
1
1
  'use client';
2
2
  import {
3
3
  require_cjs
4
- } from "./Accordion-49gf1zb8.js";
4
+ } from "./Accordion-cjht9dyv.js";
5
5
  import {
6
6
  withZoraThemeScope
7
- } from "./Accordion-grfbz6f2.js";
7
+ } from "./Accordion-4fkjn6r5.js";
8
8
  import {
9
9
  Icon2
10
- } from "./Accordion-paha5aje.js";
10
+ } from "./Accordion-9mmqf3wr.js";
11
11
  import {
12
12
  View2,
13
13
  Divider2
14
- } from "./Accordion-96cqeekv.js";
14
+ } from "./Accordion-t64m1kca.js";
15
15
  import {
16
16
  Heading2,
17
17
  Text2
18
- } from "./Accordion-f05a7r28.js";
18
+ } from "./Accordion-ks4a1c6w.js";
19
19
  import {
20
20
  __toESM
21
21
  } from "./Accordion-9qvmwkxe.js";
@@ -1,17 +1,17 @@
1
1
  'use client';
2
2
  import {
3
3
  View3
4
- } from "./Accordion-ars389m1.js";
4
+ } from "./Accordion-b8qd23hr.js";
5
5
  import {
6
6
  require_cjs,
7
7
  useTheme
8
- } from "./Accordion-49gf1zb8.js";
8
+ } from "./Accordion-cjht9dyv.js";
9
9
  import {
10
10
  Text3
11
- } from "./Accordion-0jkm3y3w.js";
11
+ } from "./Accordion-gpccarct.js";
12
12
  import {
13
13
  withZoraThemeScope
14
- } from "./Accordion-grfbz6f2.js";
14
+ } from "./Accordion-4fkjn6r5.js";
15
15
  import {
16
16
  useFocusManager
17
17
  } from "./Accordion-6zb9d92y.js";
@@ -1,22 +1,22 @@
1
1
  'use client';
2
2
  import {
3
3
  require_cjs
4
- } from "./Accordion-49gf1zb8.js";
4
+ } from "./Accordion-cjht9dyv.js";
5
5
  import {
6
6
  withZoraThemeScope
7
- } from "./Accordion-grfbz6f2.js";
7
+ } from "./Accordion-4fkjn6r5.js";
8
8
  import {
9
9
  Icon2
10
- } from "./Accordion-paha5aje.js";
10
+ } from "./Accordion-9mmqf3wr.js";
11
11
  import {
12
12
  View2
13
- } from "./Accordion-96cqeekv.js";
13
+ } from "./Accordion-t64m1kca.js";
14
14
  import {
15
15
  Text2
16
- } from "./Accordion-f05a7r28.js";
16
+ } from "./Accordion-ks4a1c6w.js";
17
17
  import {
18
18
  useZoraTheme2
19
- } from "./Accordion-7ja4mtbz.js";
19
+ } from "./Accordion-sv87mbqa.js";
20
20
  import {
21
21
  __toESM
22
22
  } from "./Accordion-9qvmwkxe.js";
@@ -4,16 +4,16 @@ import {
4
4
  } from "./Accordion-kcx57mk5.js";
5
5
  import {
6
6
  require_cjs
7
- } from "./Accordion-49gf1zb8.js";
7
+ } from "./Accordion-cjht9dyv.js";
8
8
  import {
9
9
  withZoraThemeScope
10
- } from "./Accordion-grfbz6f2.js";
10
+ } from "./Accordion-4fkjn6r5.js";
11
11
  import {
12
12
  View2
13
- } from "./Accordion-96cqeekv.js";
13
+ } from "./Accordion-t64m1kca.js";
14
14
  import {
15
15
  useZoraTheme2
16
- } from "./Accordion-7ja4mtbz.js";
16
+ } from "./Accordion-sv87mbqa.js";
17
17
  import {
18
18
  __toESM
19
19
  } from "./Accordion-9qvmwkxe.js";
@@ -1,16 +1,16 @@
1
1
  'use client';
2
2
  import {
3
3
  View3
4
- } from "./Accordion-ars389m1.js";
4
+ } from "./Accordion-b8qd23hr.js";
5
5
  import {
6
6
  useTheme
7
- } from "./Accordion-49gf1zb8.js";
7
+ } from "./Accordion-cjht9dyv.js";
8
8
  import {
9
9
  Text3
10
- } from "./Accordion-0jkm3y3w.js";
10
+ } from "./Accordion-gpccarct.js";
11
11
  import {
12
12
  withZoraThemeScope
13
- } from "./Accordion-grfbz6f2.js";
13
+ } from "./Accordion-4fkjn6r5.js";
14
14
  import {
15
15
  resolveControlSize,
16
16
  resolveButtonColors
@@ -1,10 +1,10 @@
1
1
  'use client';
2
2
  import {
3
3
  Icon3
4
- } from "./Accordion-t6sdgmbz.js";
4
+ } from "./Accordion-52xke54s.js";
5
5
  import {
6
6
  withZoraThemeScope
7
- } from "./Accordion-grfbz6f2.js";
7
+ } from "./Accordion-4fkjn6r5.js";
8
8
 
9
9
  // src/features/icon/adapters/inbound/Icon.tsx
10
10
  import { jsx } from "react/jsx-runtime";
@@ -1,7 +1,7 @@
1
1
  'use client';
2
2
  import {
3
3
  resolveResponsive
4
- } from "./Accordion-jh7nxehr.js";
4
+ } from "./Accordion-50jz5nhg.js";
5
5
  import {
6
6
  resolveToken
7
7
  } from "./Accordion-fre84yaq.js";
@@ -1,14 +1,14 @@
1
1
  'use client';
2
2
  import {
3
3
  useResponsiveRuntime
4
- } from "./Accordion-jh7nxehr.js";
4
+ } from "./Accordion-50jz5nhg.js";
5
5
  import {
6
6
  require_cjs,
7
7
  useTheme
8
- } from "./Accordion-49gf1zb8.js";
8
+ } from "./Accordion-cjht9dyv.js";
9
9
  import {
10
10
  resolveViewStyles
11
- } from "./Accordion-f5swy5bs.js";
11
+ } from "./Accordion-b21zrnzj.js";
12
12
  import {
13
13
  __toESM
14
14
  } from "./Accordion-9qvmwkxe.js";
@@ -4,25 +4,25 @@ import {
4
4
  } from "./Accordion-mnac2z83.js";
5
5
  import {
6
6
  View3
7
- } from "./Accordion-ars389m1.js";
7
+ } from "./Accordion-b8qd23hr.js";
8
8
  import {
9
9
  useTheme
10
- } from "./Accordion-49gf1zb8.js";
10
+ } from "./Accordion-cjht9dyv.js";
11
11
  import {
12
12
  Pressable
13
- } from "./Accordion-ftjkdjqs.js";
13
+ } from "./Accordion-4gx45mn0.js";
14
14
  import {
15
15
  Text3
16
- } from "./Accordion-0jkm3y3w.js";
16
+ } from "./Accordion-gpccarct.js";
17
17
  import {
18
18
  withZoraThemeScope
19
- } from "./Accordion-grfbz6f2.js";
19
+ } from "./Accordion-4fkjn6r5.js";
20
20
  import {
21
21
  View2
22
- } from "./Accordion-96cqeekv.js";
22
+ } from "./Accordion-t64m1kca.js";
23
23
  import {
24
24
  Text2
25
- } from "./Accordion-f05a7r28.js";
25
+ } from "./Accordion-ks4a1c6w.js";
26
26
  import {
27
27
  resolveFieldState,
28
28
  resolveIndicatorSize,