@ankhorage/zora 21.0.22 → 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.
- package/CHANGELOG.md +20 -0
- package/README.md +40 -184
- package/dist/features/authoring/allowedChildren.d.ts +5 -2
- package/dist/features/authoring/allowedChildren.d.ts.map +1 -1
- package/dist/features/authoring/allowedChildren.js +13 -2
- package/dist/features/authoring/allowedChildren.js.map +1 -1
- package/dist/features/authoring/componentMeta.d.ts.map +1 -1
- package/dist/features/authoring/componentMeta.js +21 -0
- package/dist/features/authoring/componentMeta.js.map +1 -1
- package/dist/features/authoring/constants.d.ts +3 -0
- package/dist/features/authoring/constants.d.ts.map +1 -1
- package/dist/features/authoring/constants.js +3 -0
- package/dist/features/authoring/constants.js.map +1 -1
- package/dist/features/button/adapters/inbound/Button.d.ts +0 -4
- package/dist/features/button/adapters/inbound/Button.d.ts.map +1 -1
- package/dist/features/button/adapters/inbound/Button.js +0 -4
- package/dist/features/button/adapters/inbound/Button.js.map +1 -1
- package/dist/features/card/adapters/inbound/Card.d.ts +0 -4
- package/dist/features/card/adapters/inbound/Card.d.ts.map +1 -1
- package/dist/features/card/adapters/inbound/Card.js +0 -4
- package/dist/features/card/adapters/inbound/Card.js.map +1 -1
- package/dist/features/card/cardMeta.d.ts +1 -1
- package/dist/features/card/cardMeta.d.ts.map +1 -1
- package/dist/features/card/cardMeta.js +7 -2
- package/dist/features/card/cardMeta.js.map +1 -1
- package/dist/features/chess/adapters/inbound/ChessBoard.d.ts +5 -0
- package/dist/features/chess/adapters/inbound/ChessBoard.d.ts.map +1 -0
- package/dist/features/chess/adapters/inbound/ChessBoard.js +119 -0
- package/dist/features/chess/adapters/inbound/ChessBoard.js.map +1 -0
- package/dist/features/chess/adapters/inbound/OpeningBook.d.ts +5 -0
- package/dist/features/chess/adapters/inbound/OpeningBook.d.ts.map +1 -0
- package/dist/features/chess/adapters/inbound/OpeningBook.js +94 -0
- package/dist/features/chess/adapters/inbound/OpeningBook.js.map +1 -0
- package/dist/features/chess/meta.d.ts +219 -0
- package/dist/features/chess/meta.d.ts.map +1 -0
- package/dist/features/chess/meta.js +165 -0
- package/dist/features/chess/meta.js.map +1 -0
- package/dist/features/chess/public.d.ts +12 -0
- package/dist/features/chess/public.d.ts.map +1 -0
- package/dist/features/chess/public.js +10 -0
- package/dist/features/chess/public.js.map +1 -0
- package/dist/features/chess/utils/chessSquares.d.ts +4 -0
- package/dist/features/chess/utils/chessSquares.d.ts.map +1 -0
- package/dist/features/chess/utils/chessSquares.js +3 -0
- package/dist/features/chess/utils/chessSquares.js.map +1 -0
- package/dist/features/chess/utils/createBoardSquares.d.ts +4 -0
- package/dist/features/chess/utils/createBoardSquares.d.ts.map +1 -0
- package/dist/features/chess/utils/createBoardSquares.js +9 -0
- package/dist/features/chess/utils/createBoardSquares.js.map +1 -0
- package/dist/features/chess/utils/createChessBoardColorScheme.d.ts +35 -0
- package/dist/features/chess/utils/createChessBoardColorScheme.d.ts.map +1 -0
- package/dist/features/chess/utils/createChessBoardColorScheme.js +26 -0
- package/dist/features/chess/utils/createChessBoardColorScheme.js.map +1 -0
- package/dist/features/chess/utils/createOpeningBookColorScheme.d.ts +11 -0
- package/dist/features/chess/utils/createOpeningBookColorScheme.d.ts.map +1 -0
- package/dist/features/chess/utils/createOpeningBookColorScheme.js +21 -0
- package/dist/features/chess/utils/createOpeningBookColorScheme.js.map +1 -0
- package/dist/features/chess/utils/getSquareFile.d.ts +4 -0
- package/dist/features/chess/utils/getSquareFile.d.ts.map +1 -0
- package/dist/features/chess/utils/getSquareFile.js +5 -0
- package/dist/features/chess/utils/getSquareFile.js.map +1 -0
- package/dist/features/chess/utils/getSquareRank.d.ts +4 -0
- package/dist/features/chess/utils/getSquareRank.d.ts.map +1 -0
- package/dist/features/chess/utils/getSquareRank.js +5 -0
- package/dist/features/chess/utils/getSquareRank.js.map +1 -0
- package/dist/features/chess/utils/isLightSquare.d.ts +4 -0
- package/dist/features/chess/utils/isLightSquare.d.ts.map +1 -0
- package/dist/features/chess/utils/isLightSquare.js +6 -0
- package/dist/features/chess/utils/isLightSquare.js.map +1 -0
- package/dist/features/empty-state/adapters/inbound/EmptyState.d.ts +0 -4
- package/dist/features/empty-state/adapters/inbound/EmptyState.d.ts.map +1 -1
- package/dist/features/empty-state/adapters/inbound/EmptyState.js +0 -4
- package/dist/features/empty-state/adapters/inbound/EmptyState.js.map +1 -1
- package/dist/features/form/text-input/adapters/inbound/TextInput.d.ts +0 -4
- package/dist/features/form/text-input/adapters/inbound/TextInput.d.ts.map +1 -1
- package/dist/features/form/text-input/adapters/inbound/TextInput.js +0 -4
- package/dist/features/form/text-input/adapters/inbound/TextInput.js.map +1 -1
- package/dist/features/game/adapters/inbound/Game.d.ts +5 -0
- package/dist/features/game/adapters/inbound/Game.d.ts.map +1 -0
- package/dist/features/game/adapters/inbound/Game.js +24 -0
- package/dist/features/game/adapters/inbound/Game.js.map +1 -0
- package/dist/features/game/adapters/inbound/GameEntity.d.ts +5 -0
- package/dist/features/game/adapters/inbound/GameEntity.d.ts.map +1 -0
- package/dist/features/game/adapters/inbound/GameEntity.js +29 -0
- package/dist/features/game/adapters/inbound/GameEntity.js.map +1 -0
- package/dist/features/game/adapters/inbound/GameField.d.ts +4 -0
- package/dist/features/game/adapters/inbound/GameField.d.ts.map +1 -0
- package/dist/features/game/adapters/inbound/GameField.js +32 -0
- package/dist/features/game/adapters/inbound/GameField.js.map +1 -0
- package/dist/features/game/adapters/inbound/GameInputZone.d.ts +4 -0
- package/dist/features/game/adapters/inbound/GameInputZone.d.ts.map +1 -0
- package/dist/features/game/adapters/inbound/GameInputZone.js +50 -0
- package/dist/features/game/adapters/inbound/GameInputZone.js.map +1 -0
- package/dist/features/game/adapters/inbound/GameMeasurementProbe.d.ts +4 -0
- package/dist/features/game/adapters/inbound/GameMeasurementProbe.d.ts.map +1 -0
- package/dist/features/game/adapters/inbound/GameMeasurementProbe.js +54 -0
- package/dist/features/game/adapters/inbound/GameMeasurementProbe.js.map +1 -0
- package/dist/features/game/adapters/inbound/GameOverlay.d.ts +4 -0
- package/dist/features/game/adapters/inbound/GameOverlay.d.ts.map +1 -0
- package/dist/features/game/adapters/inbound/GameOverlay.js +39 -0
- package/dist/features/game/adapters/inbound/GameOverlay.js.map +1 -0
- package/dist/features/game/adapters/inbound/createGameKeyboardEvent.d.ts +16 -0
- package/dist/features/game/adapters/inbound/createGameKeyboardEvent.d.ts.map +1 -0
- package/dist/features/game/adapters/inbound/createGameKeyboardEvent.js +16 -0
- package/dist/features/game/adapters/inbound/createGameKeyboardEvent.js.map +1 -0
- package/dist/features/game/adapters/inbound/createGameMeasurementEvent.d.ts +14 -0
- package/dist/features/game/adapters/inbound/createGameMeasurementEvent.d.ts.map +1 -0
- package/dist/features/game/adapters/inbound/createGameMeasurementEvent.js +25 -0
- package/dist/features/game/adapters/inbound/createGameMeasurementEvent.js.map +1 -0
- package/dist/features/game/adapters/inbound/createGamePointerEvent.d.ts +17 -0
- package/dist/features/game/adapters/inbound/createGamePointerEvent.d.ts.map +1 -0
- package/dist/features/game/adapters/inbound/createGamePointerEvent.js +20 -0
- package/dist/features/game/adapters/inbound/createGamePointerEvent.js.map +1 -0
- package/dist/features/game/adapters/inbound/measureGameEntity.d.ts +5 -0
- package/dist/features/game/adapters/inbound/measureGameEntity.d.ts.map +1 -0
- package/dist/features/game/adapters/inbound/measureGameEntity.js +22 -0
- package/dist/features/game/adapters/inbound/measureGameEntity.js.map +1 -0
- package/dist/features/game/adapters/inbound/useGameInputZoneResponder.d.ts +15 -0
- package/dist/features/game/adapters/inbound/useGameInputZoneResponder.d.ts.map +1 -0
- package/dist/features/game/adapters/inbound/useGameInputZoneResponder.js +67 -0
- package/dist/features/game/adapters/inbound/useGameInputZoneResponder.js.map +1 -0
- package/dist/features/game/composition/GameRuntimeContext.d.ts +5 -0
- package/dist/features/game/composition/GameRuntimeContext.d.ts.map +1 -0
- package/dist/features/game/composition/GameRuntimeContext.js +4 -0
- package/dist/features/game/composition/GameRuntimeContext.js.map +1 -0
- package/dist/features/game/composition/createGameBindingContext.d.ts +4 -0
- package/dist/features/game/composition/createGameBindingContext.d.ts.map +1 -0
- package/dist/features/game/composition/createGameBindingContext.js +10 -0
- package/dist/features/game/composition/createGameBindingContext.js.map +1 -0
- package/dist/features/game/composition/createGameMeasurementRegistry.d.ts +4 -0
- package/dist/features/game/composition/createGameMeasurementRegistry.d.ts.map +1 -0
- package/dist/features/game/composition/createGameMeasurementRegistry.js +15 -0
- package/dist/features/game/composition/createGameMeasurementRegistry.js.map +1 -0
- package/dist/features/game/composition/useGameRuntime.d.ts +5 -0
- package/dist/features/game/composition/useGameRuntime.d.ts.map +1 -0
- package/dist/features/game/composition/useGameRuntime.js +117 -0
- package/dist/features/game/composition/useGameRuntime.js.map +1 -0
- package/dist/features/game/composition/useGameScheduledEffects.d.ts +17 -0
- package/dist/features/game/composition/useGameScheduledEffects.d.ts.map +1 -0
- package/dist/features/game/composition/useGameScheduledEffects.js +40 -0
- package/dist/features/game/composition/useGameScheduledEffects.js.map +1 -0
- package/dist/features/game/meta/gameEntityMeta.d.ts +403 -0
- package/dist/features/game/meta/gameEntityMeta.d.ts.map +1 -0
- package/dist/features/game/meta/gameEntityMeta.js +224 -0
- package/dist/features/game/meta/gameEntityMeta.js.map +1 -0
- package/dist/features/game/meta/gameFieldMeta.d.ts +61 -0
- package/dist/features/game/meta/gameFieldMeta.d.ts.map +1 -0
- package/dist/features/game/meta/gameFieldMeta.js +48 -0
- package/dist/features/game/meta/gameFieldMeta.js.map +1 -0
- package/dist/features/game/meta/gameInputZoneMeta.d.ts +163 -0
- package/dist/features/game/meta/gameInputZoneMeta.d.ts.map +1 -0
- package/dist/features/game/meta/gameInputZoneMeta.js +138 -0
- package/dist/features/game/meta/gameInputZoneMeta.js.map +1 -0
- package/dist/features/game/meta/gameMeasurementProbeMeta.d.ts +112 -0
- package/dist/features/game/meta/gameMeasurementProbeMeta.d.ts.map +1 -0
- package/dist/features/game/meta/gameMeasurementProbeMeta.js +70 -0
- package/dist/features/game/meta/gameMeasurementProbeMeta.js.map +1 -0
- package/dist/features/game/meta/gameMeta.d.ts +130 -0
- package/dist/features/game/meta/gameMeta.d.ts.map +1 -0
- package/dist/features/game/meta/gameMeta.js +113 -0
- package/dist/features/game/meta/gameMeta.js.map +1 -0
- package/dist/features/game/meta/gameOverlayMeta.d.ts +55 -0
- package/dist/features/game/meta/gameOverlayMeta.d.ts.map +1 -0
- package/dist/features/game/meta/gameOverlayMeta.js +65 -0
- package/dist/features/game/meta/gameOverlayMeta.js.map +1 -0
- package/dist/features/game/public.d.ts +8 -0
- package/dist/features/game/public.d.ts.map +1 -0
- package/dist/features/game/public.js +7 -0
- package/dist/features/game/public.js.map +1 -0
- package/dist/features/game/utils/clampGamePercentage.d.ts +3 -0
- package/dist/features/game/utils/clampGamePercentage.d.ts.map +1 -0
- package/dist/features/game/utils/clampGamePercentage.js +5 -0
- package/dist/features/game/utils/clampGamePercentage.js.map +1 -0
- package/dist/features/game/utils/resolveGameEntityMotionPlan.d.ts +15 -0
- package/dist/features/game/utils/resolveGameEntityMotionPlan.d.ts.map +1 -0
- package/dist/features/game/utils/resolveGameEntityMotionPlan.js +31 -0
- package/dist/features/game/utils/resolveGameEntityMotionPlan.js.map +1 -0
- package/dist/features/game/utils/toGamePercentage.d.ts +3 -0
- package/dist/features/game/utils/toGamePercentage.d.ts.map +1 -0
- package/dist/features/game/utils/toGamePercentage.js +6 -0
- package/dist/features/game/utils/toGamePercentage.js.map +1 -0
- package/dist/features/game/utils/useAnimatedGameEntityValue.d.ts +5 -0
- package/dist/features/game/utils/useAnimatedGameEntityValue.d.ts.map +1 -0
- package/dist/features/game/utils/useAnimatedGameEntityValue.js +33 -0
- package/dist/features/game/utils/useAnimatedGameEntityValue.js.map +1 -0
- package/dist/features/game/utils/useGameEntityAnimatedStyle.d.ts +16 -0
- package/dist/features/game/utils/useGameEntityAnimatedStyle.d.ts.map +1 -0
- package/dist/features/game/utils/useGameEntityAnimatedStyle.js +52 -0
- package/dist/features/game/utils/useGameEntityAnimatedStyle.js.map +1 -0
- package/dist/features/game/utils/useGameEntityMeasurement.d.ts +5 -0
- package/dist/features/game/utils/useGameEntityMeasurement.d.ts.map +1 -0
- package/dist/features/game/utils/useGameEntityMeasurement.js +14 -0
- package/dist/features/game/utils/useGameEntityMeasurement.js.map +1 -0
- package/dist/features/game/utils/useGameEntityMotionProgress.d.ts +5 -0
- package/dist/features/game/utils/useGameEntityMotionProgress.d.ts.map +1 -0
- package/dist/features/game/utils/useGameEntityMotionProgress.js +87 -0
- package/dist/features/game/utils/useGameEntityMotionProgress.js.map +1 -0
- package/dist/features/game/utils/useGameReducedMotion.d.ts +3 -0
- package/dist/features/game/utils/useGameReducedMotion.d.ts.map +1 -0
- package/dist/features/game/utils/useGameReducedMotion.js +13 -0
- package/dist/features/game/utils/useGameReducedMotion.js.map +1 -0
- package/dist/features/graph-view/adapters/inbound/web-artifact/GraphView.d.ts +5 -5
- package/dist/features/graph-view/adapters/inbound/web-artifact/GraphView.js +5 -5
- package/dist/features/graph-view/adapters/inbound/web-artifact/GraphView.js.map +1 -1
- package/dist/features/graph-view/adapters/inbound/web-artifact/compactGraphSpacing.d.ts +1 -1
- package/dist/features/graph-view/adapters/inbound/web-artifact/compactGraphSpacing.js +1 -1
- package/dist/features/graph-view/adapters/inbound/web-artifact/compactGraphSpacing.js.map +1 -1
- package/dist/features/graph-view/adapters/inbound/web-artifact/createGraphController.js +1 -1
- package/dist/features/graph-view/adapters/inbound/web-artifact/createGraphController.js.map +1 -1
- package/dist/features/graph-view/adapters/inbound/web-artifact/createGraphLoopSizer.d.ts +1 -1
- package/dist/features/graph-view/adapters/inbound/web-artifact/createGraphLoopSizer.js +1 -1
- package/dist/features/graph-view/adapters/inbound/web-artifact/createGraphLoopSizer.js.map +1 -1
- package/dist/features/graph-view/adapters/inbound/web-artifact/createGraphRuntime.js +7 -7
- package/dist/features/graph-view/adapters/inbound/web-artifact/createGraphRuntime.js.map +1 -1
- package/dist/features/graph-view/adapters/inbound/web-artifact/getGraphGeometryKey.d.ts +0 -1
- package/dist/features/graph-view/adapters/inbound/web-artifact/getGraphGeometryKey.d.ts.map +1 -1
- package/dist/features/graph-view/adapters/inbound/web-artifact/getGraphGeometryKey.js +0 -1
- package/dist/features/graph-view/adapters/inbound/web-artifact/getGraphGeometryKey.js.map +1 -1
- package/dist/features/graph-view/adapters/inbound/web-artifact/getGraphTopologyKey.d.ts +1 -1
- package/dist/features/graph-view/adapters/inbound/web-artifact/getGraphTopologyKey.js +1 -1
- package/dist/features/graph-view/adapters/inbound/web-artifact/getGraphTopologyKey.js.map +1 -1
- package/dist/features/graph-view/adapters/inbound/web-artifact/hasGraphLayoutChanged.d.ts +0 -1
- package/dist/features/graph-view/adapters/inbound/web-artifact/hasGraphLayoutChanged.d.ts.map +1 -1
- package/dist/features/graph-view/adapters/inbound/web-artifact/hasGraphLayoutChanged.js +0 -1
- package/dist/features/graph-view/adapters/inbound/web-artifact/hasGraphLayoutChanged.js.map +1 -1
- package/dist/features/graph-view/adapters/inbound/web-artifact/runDetachedGraphLayout.d.ts +1 -1
- package/dist/features/graph-view/adapters/inbound/web-artifact/runDetachedGraphLayout.js +1 -1
- package/dist/features/graph-view/adapters/inbound/web-artifact/runDetachedGraphLayout.js.map +1 -1
- package/dist/features/graph-view/adapters/inbound/web-artifact/sizeGraphNodesToLabels.d.ts +1 -1
- package/dist/features/graph-view/adapters/inbound/web-artifact/sizeGraphNodesToLabels.js +1 -1
- package/dist/features/graph-view/adapters/inbound/web-artifact/sizeGraphNodesToLabels.js.map +1 -1
- package/dist/features/graph-view/adapters/inbound/web-artifact/syncGraphElements.d.ts +0 -1
- package/dist/features/graph-view/adapters/inbound/web-artifact/syncGraphElements.d.ts.map +1 -1
- package/dist/features/graph-view/adapters/inbound/web-artifact/syncGraphElements.js +0 -1
- package/dist/features/graph-view/adapters/inbound/web-artifact/syncGraphElements.js.map +1 -1
- package/dist/features/layout/gridMeta.d.ts +1 -1
- package/dist/features/layout/gridMeta.d.ts.map +1 -1
- package/dist/features/layout/gridMeta.js +7 -2
- package/dist/features/layout/gridMeta.js.map +1 -1
- package/dist/features/layout/screenMeta.d.ts +1 -1
- package/dist/features/layout/viewMeta.d.ts +1 -1
- package/dist/features/layout/viewMeta.d.ts.map +1 -1
- package/dist/features/layout/viewMeta.js +6 -2
- package/dist/features/layout/viewMeta.js.map +1 -1
- package/dist/features/registry/ZORA_COMPONENT_REGISTRY.d.ts.map +1 -1
- package/dist/features/registry/ZORA_COMPONENT_REGISTRY.js +16 -0
- package/dist/features/registry/ZORA_COMPONENT_REGISTRY.js.map +1 -1
- package/dist/features/section/screenSectionMeta.d.ts +1 -1
- package/dist/features/tabletop/adapters/inbound/CardBack.d.ts +5 -0
- package/dist/features/tabletop/adapters/inbound/CardBack.d.ts.map +1 -0
- package/dist/features/tabletop/adapters/inbound/CardBack.js +47 -0
- package/dist/features/tabletop/adapters/inbound/CardBack.js.map +1 -0
- package/dist/features/tabletop/adapters/inbound/CardHand.d.ts +5 -0
- package/dist/features/tabletop/adapters/inbound/CardHand.d.ts.map +1 -0
- package/dist/features/tabletop/adapters/inbound/CardHand.js +28 -0
- package/dist/features/tabletop/adapters/inbound/CardHand.js.map +1 -0
- package/dist/features/tabletop/adapters/inbound/PlayingCard.d.ts +5 -0
- package/dist/features/tabletop/adapters/inbound/PlayingCard.d.ts.map +1 -0
- package/dist/features/tabletop/adapters/inbound/PlayingCard.js +64 -0
- package/dist/features/tabletop/adapters/inbound/PlayingCard.js.map +1 -0
- package/dist/features/tabletop/adapters/inbound/PokerTrainingTable.d.ts +5 -0
- package/dist/features/tabletop/adapters/inbound/PokerTrainingTable.d.ts.map +1 -0
- package/dist/features/tabletop/adapters/inbound/PokerTrainingTable.js +12 -0
- package/dist/features/tabletop/adapters/inbound/PokerTrainingTable.js.map +1 -0
- package/dist/features/tabletop/adapters/inbound/TabletopTable.d.ts +5 -0
- package/dist/features/tabletop/adapters/inbound/TabletopTable.d.ts.map +1 -0
- package/dist/features/tabletop/adapters/inbound/TabletopTable.js +206 -0
- package/dist/features/tabletop/adapters/inbound/TabletopTable.js.map +1 -0
- package/dist/features/tabletop/meta.d.ts +353 -0
- package/dist/features/tabletop/meta.d.ts.map +1 -0
- package/dist/features/tabletop/meta.js +252 -0
- package/dist/features/tabletop/meta.js.map +1 -0
- package/dist/features/tabletop/public.d.ts +10 -0
- package/dist/features/tabletop/public.d.ts.map +1 -0
- package/dist/features/tabletop/public.js +9 -0
- package/dist/features/tabletop/public.js.map +1 -0
- package/dist/features/tabletop/utils/createPokerTrainingTableState.d.ts +13 -0
- package/dist/features/tabletop/utils/createPokerTrainingTableState.d.ts.map +1 -0
- package/dist/features/tabletop/utils/createPokerTrainingTableState.js +112 -0
- package/dist/features/tabletop/utils/createPokerTrainingTableState.js.map +1 -0
- package/dist/features/tabletop/utils/createTabletopColorScheme.d.ts +36 -0
- package/dist/features/tabletop/utils/createTabletopColorScheme.d.ts.map +1 -0
- package/dist/features/tabletop/utils/createTabletopColorScheme.js +144 -0
- package/dist/features/tabletop/utils/createTabletopColorScheme.js.map +1 -0
- package/dist/features/tabletop/utils/createTabletopGameSeats.d.ts +13 -0
- package/dist/features/tabletop/utils/createTabletopGameSeats.d.ts.map +1 -0
- package/dist/features/tabletop/utils/createTabletopGameSeats.js +22 -0
- package/dist/features/tabletop/utils/createTabletopGameSeats.js.map +1 -0
- package/dist/features/tabletop/utils/getPlayingCardLabel.d.ts +4 -0
- package/dist/features/tabletop/utils/getPlayingCardLabel.d.ts.map +1 -0
- package/dist/features/tabletop/utils/getPlayingCardLabel.js +6 -0
- package/dist/features/tabletop/utils/getPlayingCardLabel.js.map +1 -0
- package/dist/features/tabletop/utils/getTabletopCardDimensions.d.ts +12 -0
- package/dist/features/tabletop/utils/getTabletopCardDimensions.d.ts.map +1 -0
- package/dist/features/tabletop/utils/getTabletopCardDimensions.js +35 -0
- package/dist/features/tabletop/utils/getTabletopCardDimensions.js.map +1 -0
- package/dist/features/tabletop/utils/getTabletopSeatPosition.d.ts +9 -0
- package/dist/features/tabletop/utils/getTabletopSeatPosition.d.ts.map +1 -0
- package/dist/features/tabletop/utils/getTabletopSeatPosition.js +88 -0
- package/dist/features/tabletop/utils/getTabletopSeatPosition.js.map +1 -0
- package/dist/features/tree-view/adapters/inbound/TreeView.d.ts +1 -1
- package/dist/features/tree-view/adapters/inbound/TreeView.js +1 -1
- package/dist/features/tree-view/adapters/inbound/TreeView.js.map +1 -1
- package/dist/features/tree-view/adapters/inbound/web-artifact/TreeView.d.ts +1 -1
- package/dist/features/tree-view/adapters/inbound/web-artifact/TreeView.js +1 -1
- package/dist/features/tree-view/adapters/inbound/web-artifact/TreeView.js.map +1 -1
- package/dist/features/typography/adapters/inbound/Heading.d.ts +0 -4
- package/dist/features/typography/adapters/inbound/Heading.d.ts.map +1 -1
- package/dist/features/typography/adapters/inbound/Heading.js +0 -4
- package/dist/features/typography/adapters/inbound/Heading.js.map +1 -1
- package/dist/features/typography/adapters/inbound/Text.d.ts +0 -4
- package/dist/features/typography/adapters/inbound/Text.d.ts.map +1 -1
- package/dist/features/typography/adapters/inbound/Text.js +0 -4
- package/dist/features/typography/adapters/inbound/Text.js.map +1 -1
- package/dist/index.d.ts +8 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/types/chess.d.ts +83 -0
- package/dist/types/chess.d.ts.map +1 -0
- package/dist/types/chess.js +2 -0
- package/dist/types/chess.js.map +1 -0
- package/dist/types/gamePresentation.d.ts +94 -0
- package/dist/types/gamePresentation.d.ts.map +1 -0
- package/dist/types/gamePresentation.js +2 -0
- package/dist/types/gamePresentation.js.map +1 -0
- package/dist/types/gameRuntime.d.ts +29 -0
- package/dist/types/gameRuntime.d.ts.map +1 -0
- package/dist/types/gameRuntime.js +2 -0
- package/dist/types/gameRuntime.js.map +1 -0
- package/dist/types/tabletop.d.ts +129 -0
- package/dist/types/tabletop.d.ts.map +1 -0
- package/dist/types/tabletop.js +2 -0
- package/dist/types/tabletop.js.map +1 -0
- package/package.json +6 -7
- package/src/features/authoring/allowedChildren.ts +15 -2
- package/src/features/authoring/componentMeta.test.ts +93 -0
- package/src/features/authoring/componentMeta.ts +27 -0
- package/src/features/authoring/constants.ts +3 -0
- package/src/features/button/adapters/inbound/Button.tsx +0 -4
- package/src/features/card/adapters/inbound/Card.tsx +0 -4
- package/src/features/card/cardMeta.ts +12 -2
- package/src/features/chess/adapters/inbound/ChessBoard.tsx +169 -0
- package/src/features/chess/adapters/inbound/OpeningBook.tsx +131 -0
- package/src/features/chess/meta.ts +168 -0
- package/src/features/chess/public.test.tsx +165 -0
- package/src/features/chess/public.ts +27 -0
- package/src/features/chess/utils/chessSquares.ts +6 -0
- package/src/features/chess/utils/createBoardSquares.ts +13 -0
- package/src/features/chess/utils/createChessBoardColorScheme.ts +55 -0
- package/src/features/chess/utils/createOpeningBookColorScheme.ts +26 -0
- package/src/features/chess/utils/getSquareFile.ts +6 -0
- package/src/features/chess/utils/getSquareRank.ts +6 -0
- package/src/features/chess/utils/isLightSquare.ts +8 -0
- package/src/features/chessTabletopOwnership.test.ts +71 -0
- package/src/features/empty-state/adapters/inbound/EmptyState.tsx +0 -4
- package/src/features/form/text-input/adapters/inbound/TextInput.tsx +0 -4
- package/src/features/game/adapters/inbound/Game.tsx +43 -0
- package/src/features/game/adapters/inbound/GameEntity.tsx +44 -0
- package/src/features/game/adapters/inbound/GameField.tsx +52 -0
- package/src/features/game/adapters/inbound/GameInputZone.tsx +99 -0
- package/src/features/game/adapters/inbound/GameMeasurementProbe.tsx +83 -0
- package/src/features/game/adapters/inbound/GameOverlay.tsx +58 -0
- package/src/features/game/adapters/inbound/createGameKeyboardEvent.test.ts +51 -0
- package/src/features/game/adapters/inbound/createGameKeyboardEvent.ts +33 -0
- package/src/features/game/adapters/inbound/createGameMeasurementEvent.test.ts +56 -0
- package/src/features/game/adapters/inbound/createGameMeasurementEvent.ts +38 -0
- package/src/features/game/adapters/inbound/createGamePointerEvent.test.ts +56 -0
- package/src/features/game/adapters/inbound/createGamePointerEvent.ts +39 -0
- package/src/features/game/adapters/inbound/measureGameEntity.ts +28 -0
- package/src/features/game/adapters/inbound/useGameInputZoneResponder.ts +85 -0
- package/src/features/game/composition/GameRuntimeContext.ts +6 -0
- package/src/features/game/composition/createGameBindingContext.test.ts +66 -0
- package/src/features/game/composition/createGameBindingContext.ts +11 -0
- package/src/features/game/composition/createGameMeasurementRegistry.test.ts +35 -0
- package/src/features/game/composition/createGameMeasurementRegistry.ts +16 -0
- package/src/features/game/composition/useGameRuntime.test.tsx +173 -0
- package/src/features/game/composition/useGameRuntime.ts +200 -0
- package/src/features/game/composition/useGameScheduledEffects.ts +85 -0
- package/src/features/game/meta/gameEntityMeta.ts +226 -0
- package/src/features/game/meta/gameFieldMeta.ts +49 -0
- package/src/features/game/meta/gameInputZoneMeta.ts +140 -0
- package/src/features/game/meta/gameMeasurementProbeMeta.ts +72 -0
- package/src/features/game/meta/gameMeta.ts +115 -0
- package/src/features/game/meta/gameOverlayMeta.ts +66 -0
- package/src/features/game/public.test.tsx +64 -0
- package/src/features/game/public.ts +19 -0
- package/src/features/game/utils/clampGamePercentage.ts +4 -0
- package/src/features/game/utils/resolveGameEntityMotionPlan.test.ts +63 -0
- package/src/features/game/utils/resolveGameEntityMotionPlan.ts +53 -0
- package/src/features/game/utils/toGamePercentage.ts +6 -0
- package/src/features/game/utils/useAnimatedGameEntityValue.ts +41 -0
- package/src/features/game/utils/useGameEntityAnimatedStyle.ts +87 -0
- package/src/features/game/utils/useGameEntityMeasurement.ts +19 -0
- package/src/features/game/utils/useGameEntityMotionProgress.ts +114 -0
- package/src/features/game/utils/useGameReducedMotion.ts +15 -0
- package/src/features/graph-view/adapters/inbound/web-artifact/GraphView.tsx +5 -5
- package/src/features/graph-view/adapters/inbound/web-artifact/compactGraphSpacing.ts +1 -1
- package/src/features/graph-view/adapters/inbound/web-artifact/createGraphController.ts +1 -1
- package/src/features/graph-view/adapters/inbound/web-artifact/createGraphLoopSizer.ts +1 -1
- package/src/features/graph-view/adapters/inbound/web-artifact/createGraphRuntime.ts +7 -7
- package/src/features/graph-view/adapters/inbound/web-artifact/getGraphGeometryKey.ts +0 -1
- package/src/features/graph-view/adapters/inbound/web-artifact/getGraphTopologyKey.ts +1 -1
- package/src/features/graph-view/adapters/inbound/web-artifact/hasGraphLayoutChanged.ts +0 -1
- package/src/features/graph-view/adapters/inbound/web-artifact/runDetachedGraphLayout.ts +1 -1
- package/src/features/graph-view/adapters/inbound/web-artifact/sizeGraphNodesToLabels.ts +1 -1
- package/src/features/graph-view/adapters/inbound/web-artifact/syncGraphElements.ts +0 -1
- package/src/features/layout/gridMeta.ts +12 -2
- package/src/features/layout/viewMeta.ts +10 -2
- package/src/features/registry/ZORA_COMPONENT_REGISTRY.ts +29 -0
- package/src/features/tabletop/adapters/inbound/CardBack.tsx +70 -0
- package/src/features/tabletop/adapters/inbound/CardHand.tsx +61 -0
- package/src/features/tabletop/adapters/inbound/PlayingCard.tsx +95 -0
- package/src/features/tabletop/adapters/inbound/PokerTrainingTable.tsx +34 -0
- package/src/features/tabletop/adapters/inbound/TabletopTable.tsx +264 -0
- package/src/features/tabletop/meta.ts +254 -0
- package/src/features/tabletop/public.test.tsx +127 -0
- package/src/features/tabletop/public.ts +32 -0
- package/src/features/tabletop/utils/createPokerTrainingTableState.ts +152 -0
- package/src/features/tabletop/utils/createTabletopColorScheme.ts +232 -0
- package/src/features/tabletop/utils/createTabletopGameSeats.ts +31 -0
- package/src/features/tabletop/utils/getPlayingCardLabel.ts +8 -0
- package/src/features/tabletop/utils/getTabletopCardDimensions.ts +45 -0
- package/src/features/tabletop/utils/getTabletopSeatPosition.ts +100 -0
- package/src/features/tree-view/adapters/inbound/TreeView.tsx +1 -1
- package/src/features/tree-view/adapters/inbound/web-artifact/TreeView.tsx +1 -1
- package/src/features/typography/adapters/inbound/Heading.tsx +0 -4
- package/src/features/typography/adapters/inbound/Text.tsx +0 -4
- package/src/index.ts +83 -0
- package/src/types/chess.ts +95 -0
- package/src/types/gamePresentation.ts +103 -0
- package/src/types/gameRuntime.ts +34 -0
- package/src/types/tabletop.ts +131 -0
- package/web-dist/chunks/{Accordion-cscmtcn8.js → Accordion-0txegc16.js} +1 -1
- package/web-dist/chunks/{Accordion-06588rzn.js → Accordion-10xw59gm.js} +1 -1
- package/web-dist/chunks/{Accordion-8kgtg62g.js → Accordion-2zh15wt9.js} +6 -6
- package/web-dist/chunks/{Accordion-pkqj4g3r.js → Accordion-481bknsd.js} +5 -5
- package/web-dist/chunks/{Accordion-grfbz6f2.js → Accordion-4fkjn6r5.js} +1 -1
- package/web-dist/chunks/{Accordion-ftjkdjqs.js → Accordion-4gx45mn0.js} +3 -3
- package/web-dist/chunks/{Accordion-fjnck2tg.js → Accordion-4s69xvqy.js} +6 -6
- package/web-dist/chunks/{Accordion-jh7nxehr.js → Accordion-50jz5nhg.js} +1 -1
- package/web-dist/chunks/{Accordion-t6sdgmbz.js → Accordion-52xke54s.js} +1 -1
- package/web-dist/chunks/{Accordion-far6szrp.js → Accordion-6npzmbgk.js} +5 -5
- package/web-dist/chunks/{Accordion-q7c1ryf2.js → Accordion-6z4npcgf.js} +4 -4
- package/web-dist/chunks/{Accordion-gbba10rg.js → Accordion-8gw5tkfw.js} +6 -6
- package/web-dist/chunks/{Accordion-fmxygyb6.js → Accordion-8qteyww0.js} +4 -4
- package/web-dist/chunks/{Accordion-1pp37dtg.js → Accordion-9h5dx3ck.js} +4 -4
- package/web-dist/chunks/{Accordion-paha5aje.js → Accordion-9mmqf3wr.js} +2 -2
- package/web-dist/chunks/{Accordion-f5swy5bs.js → Accordion-b21zrnzj.js} +1 -1
- package/web-dist/chunks/{Accordion-ars389m1.js → Accordion-b8qd23hr.js} +3 -3
- package/web-dist/chunks/{Accordion-hxfa71g9.js → Accordion-c79y8g44.js} +7 -7
- package/web-dist/chunks/Accordion-ca2csh5r.js +321 -0
- package/web-dist/chunks/{Accordion-49gf1zb8.js → Accordion-cjht9dyv.js} +1 -1
- package/web-dist/chunks/{Accordion-sz21xsf4.js → Accordion-cq6hn45r.js} +1 -1
- package/web-dist/chunks/{Accordion-33rd76r7.js → Accordion-d90g9wcb.js} +8 -8
- package/web-dist/chunks/{Accordion-crx58d5n.js → Accordion-f5jb299b.js} +2 -2
- package/web-dist/chunks/{Accordion-h95wvyn5.js → Accordion-fe6vmbpf.js} +2 -2
- package/web-dist/chunks/{Accordion-jzbq36ec.js → Accordion-fqm027n3.js} +8 -8
- package/web-dist/chunks/{Accordion-0jkm3y3w.js → Accordion-gpccarct.js} +1 -1
- package/web-dist/chunks/{Accordion-v6ykq9hv.js → Accordion-h95h3xdb.js} +10 -10
- package/web-dist/chunks/{Accordion-t3p4ykg7.js → Accordion-j8ab9k8k.js} +8 -8
- package/web-dist/chunks/{Accordion-qpwhmqzd.js → Accordion-k5z591wx.js} +13 -13
- package/web-dist/chunks/{Accordion-rrpej6sv.js → Accordion-kdncjvc7.js} +7 -7
- package/web-dist/chunks/{Accordion-f05a7r28.js → Accordion-ks4a1c6w.js} +5 -5
- package/web-dist/chunks/{Accordion-x0j8b2by.js → Accordion-ma1sfe5z.js} +5 -5
- package/web-dist/chunks/{Accordion-2dws3778.js → Accordion-mhtyce1k.js} +4 -4
- package/web-dist/chunks/{Accordion-1vewf8aa.js → Accordion-n7gtb5ec.js} +2 -2
- package/web-dist/chunks/{Accordion-0psdn97s.js → Accordion-p42mm8rr.js} +1 -1
- package/web-dist/chunks/{Accordion-3404tth9.js → Accordion-panw5f0q.js} +7 -7
- package/web-dist/chunks/{Accordion-4a6wj3ez.js → Accordion-pxq8gfgg.js} +9 -9
- package/web-dist/chunks/{Accordion-xshn7k8f.js → Accordion-qwbshc4s.js} +4 -4
- package/web-dist/chunks/{Accordion-395r3wra.js → Accordion-r51wsmvy.js} +2 -2
- package/web-dist/chunks/Accordion-rt13cqr7.js +830 -0
- package/web-dist/chunks/{Accordion-hz4xaqjf.js → Accordion-s1f9hb5a.js} +9 -9
- package/web-dist/chunks/{Accordion-7ja4mtbz.js → Accordion-sv87mbqa.js} +1 -1
- package/web-dist/chunks/{Accordion-r4c9k9y7.js → Accordion-t4k9egq6.js} +2 -2
- package/web-dist/chunks/{Accordion-96cqeekv.js → Accordion-t64m1kca.js} +5 -5
- package/web-dist/chunks/Accordion-wg31jkvp.js +1559 -0
- package/web-dist/chunks/{Accordion-ch67q4t0.js → Accordion-y9zr4x2x.js} +4 -4
- package/web-dist/chunks/{Accordion-31aeqxak.js → Accordion-ye3k55r7.js} +3 -3
- package/web-dist/chunks/{Accordion-s42wwh6m.js → Accordion-z29agann.js} +6 -6
- package/web-dist/chunks/{Accordion-f1h2f05v.js → Accordion-ze26effy.js} +5 -5
- package/web-dist/chunks/{Accordion-tx78txec.js → Accordion-zqzcagxz.js} +5 -5
- package/web-dist/components/accordion/Accordion.js +12 -12
- package/web-dist/components/accordion-item/AccordionItem.js +12 -12
- package/web-dist/components/activity-indicator/ActivityIndicator.js +3 -3
- package/web-dist/components/app-bar/AppBar.js +19 -19
- package/web-dist/components/app-shell/AppShell.js +6 -6
- package/web-dist/components/avatar/Avatar.js +12 -12
- package/web-dist/components/avatar-group/AvatarGroup.js +12 -12
- package/web-dist/components/badge/Badge.js +7 -7
- package/web-dist/components/barcode-scanner-view/BarcodeScannerView.js +20 -20
- package/web-dist/components/bottom-sheet/BottomSheet.js +8 -8
- package/web-dist/components/bottom-sheet-flat-list/BottomSheetFlatList.js +8 -8
- package/web-dist/components/bottom-sheet-scroll-view/BottomSheetScrollView.js +8 -8
- package/web-dist/components/bottom-sheet-section-list/BottomSheetSectionList.js +8 -8
- package/web-dist/components/bottom-sheet-view/BottomSheetView.js +8 -8
- package/web-dist/components/bottom-sheet-virtualized-list/BottomSheetVirtualizedList.js +8 -8
- package/web-dist/components/breadcrumbs/Breadcrumbs.js +15 -15
- package/web-dist/components/button/Button.js +12 -12
- package/web-dist/components/button-group/ButtonGroup.js +12 -12
- package/web-dist/components/camera-permission-view/CameraPermissionView.js +20 -20
- package/web-dist/components/card/Card.js +19 -19
- package/web-dist/components/card-back/CardBack.d.ts +7 -0
- package/web-dist/components/card-back/CardBack.js +19 -0
- package/web-dist/components/card-back/index.d.ts +1 -0
- package/web-dist/components/card-back/index.js +2 -0
- package/web-dist/components/card-hand/CardHand.d.ts +7 -0
- package/web-dist/components/card-hand/CardHand.js +19 -0
- package/web-dist/components/card-hand/index.d.ts +1 -0
- package/web-dist/components/card-hand/index.js +2 -0
- package/web-dist/components/chat-list-item/ChatListItem.js +16 -16
- package/web-dist/components/checkbox/Checkbox.js +12 -12
- package/web-dist/components/checkbox-group/CheckboxGroup.js +12 -12
- package/web-dist/components/chess-board/ChessBoard.d.ts +4 -0
- package/web-dist/components/chess-board/ChessBoard.js +13 -0
- package/web-dist/components/chess-board/index.d.ts +1 -0
- package/web-dist/components/chess-board/index.js +2 -0
- package/web-dist/components/chip/Chip.js +13 -13
- package/web-dist/components/chip-group/ChipGroup.js +13 -13
- package/web-dist/components/collection-editor/CollectionEditor.js +19 -19
- package/web-dist/components/content-rail/ContentRail.js +13 -13
- package/web-dist/components/data-table/DataTable.js +26 -26
- package/web-dist/components/date-picker/DatePicker.js +17 -17
- package/web-dist/components/dialog/Dialog.js +12 -12
- package/web-dist/components/divider/Divider.js +6 -6
- package/web-dist/components/empty-state/EmptyState.js +20 -20
- package/web-dist/components/field/Field.js +12 -12
- package/web-dist/components/flat-list/FlatList.js +13 -13
- package/web-dist/components/forgot-password-form/ForgotPasswordForm.js +18 -18
- package/web-dist/components/form/Form.js +16 -16
- package/web-dist/components/form-actions/FormActions.js +16 -16
- package/web-dist/components/form-error/FormError.js +16 -16
- package/web-dist/components/game/Game.d.ts +8 -0
- package/web-dist/components/game/Game.js +25 -0
- package/web-dist/components/game/index.d.ts +1 -0
- package/web-dist/components/game/index.js +2 -0
- package/web-dist/components/game-entity/GameEntity.d.ts +8 -0
- package/web-dist/components/game-entity/GameEntity.js +25 -0
- package/web-dist/components/game-entity/index.d.ts +1 -0
- package/web-dist/components/game-entity/index.js +2 -0
- package/web-dist/components/game-field/GameField.d.ts +8 -0
- package/web-dist/components/game-field/GameField.js +25 -0
- package/web-dist/components/game-field/index.d.ts +1 -0
- package/web-dist/components/game-field/index.js +2 -0
- package/web-dist/components/game-input-zone/GameInputZone.d.ts +8 -0
- package/web-dist/components/game-input-zone/GameInputZone.js +25 -0
- package/web-dist/components/game-input-zone/index.d.ts +1 -0
- package/web-dist/components/game-input-zone/index.js +2 -0
- package/web-dist/components/game-measurement-probe/GameMeasurementProbe.d.ts +8 -0
- package/web-dist/components/game-measurement-probe/GameMeasurementProbe.js +25 -0
- package/web-dist/components/game-measurement-probe/index.d.ts +1 -0
- package/web-dist/components/game-measurement-probe/index.js +2 -0
- package/web-dist/components/game-overlay/GameOverlay.d.ts +8 -0
- package/web-dist/components/game-overlay/GameOverlay.js +25 -0
- package/web-dist/components/game-overlay/index.d.ts +1 -0
- package/web-dist/components/game-overlay/index.js +2 -0
- package/web-dist/components/gradient/Gradient.js +7 -7
- package/web-dist/components/gradient-renderer-provider/GradientRendererProvider.js +7 -7
- package/web-dist/components/graph-view/GraphView.d.ts +5 -5
- package/web-dist/components/grid/Grid.js +6 -6
- package/web-dist/components/heading/Heading.js +6 -6
- package/web-dist/components/hero/Hero.js +19 -19
- package/web-dist/components/icon/Icon.js +4 -4
- package/web-dist/components/icon-button/IconButton.js +12 -12
- package/web-dist/components/image/Image.js +10 -10
- package/web-dist/components/keyboard-avoiding-view/KeyboardAvoidingView.js +2 -2
- package/web-dist/components/list/List.js +13 -13
- package/web-dist/components/list-item/ListItem.js +13 -13
- package/web-dist/components/list-section/ListSection.js +13 -13
- package/web-dist/components/media-card/MediaCard.js +19 -19
- package/web-dist/components/message-bubble/MessageBubble.js +16 -16
- package/web-dist/components/metric-card/MetricCard.js +19 -19
- package/web-dist/components/missing-element/MissingElement.js +11 -11
- package/web-dist/components/o-auth-provider-button/OAuthProviderButton.js +18 -18
- package/web-dist/components/o-auth-provider-list/OAuthProviderList.js +18 -18
- package/web-dist/components/opening-book/OpeningBook.d.ts +4 -0
- package/web-dist/components/opening-book/OpeningBook.js +13 -0
- package/web-dist/components/opening-book/index.d.ts +1 -0
- package/web-dist/components/opening-book/index.js +2 -0
- package/web-dist/components/otp-form/OtpForm.js +18 -18
- package/web-dist/components/pagination/Pagination.js +13 -13
- package/web-dist/components/palette-item/PaletteItem.js +19 -19
- package/web-dist/components/playing-card/PlayingCard.d.ts +7 -0
- package/web-dist/components/playing-card/PlayingCard.js +19 -0
- package/web-dist/components/playing-card/index.d.ts +1 -0
- package/web-dist/components/playing-card/index.js +2 -0
- package/web-dist/components/poker-training-table/PokerTrainingTable.d.ts +7 -0
- package/web-dist/components/poker-training-table/PokerTrainingTable.js +19 -0
- package/web-dist/components/poker-training-table/index.d.ts +1 -0
- package/web-dist/components/poker-training-table/index.js +2 -0
- package/web-dist/components/popover-menu/PopoverMenu.js +14 -14
- package/web-dist/components/post-card/PostCard.js +19 -19
- package/web-dist/components/product-card/ProductCard.js +19 -19
- package/web-dist/components/progress/Progress.js +10 -10
- package/web-dist/components/progress-ring/ProgressRing.js +10 -10
- package/web-dist/components/radio/Radio.js +14 -14
- package/web-dist/components/radio-group/RadioGroup.js +14 -14
- package/web-dist/components/rating/Rating.js +9 -9
- package/web-dist/components/reader-surface/ReaderSurface.js +21 -21
- package/web-dist/components/scan-overlay/ScanOverlay.js +20 -20
- package/web-dist/components/screen/Screen.js +6 -6
- package/web-dist/components/screen-section/ScreenSection.js +10 -10
- package/web-dist/components/scroll-view/ScrollView.js +6 -6
- package/web-dist/components/search-input/SearchInput.js +13 -13
- package/web-dist/components/section-header/SectionHeader.js +10 -10
- package/web-dist/components/section-list/SectionList.js +13 -13
- package/web-dist/components/select/Select.js +16 -16
- package/web-dist/components/selectable-item/SelectableItem.js +5 -5
- package/web-dist/components/selection-provider/SelectionProvider.js +5 -5
- package/web-dist/components/sign-in-form/SignInForm.js +18 -18
- package/web-dist/components/sign-up-form/SignUpForm.js +18 -18
- package/web-dist/components/skeleton/Skeleton.js +22 -22
- package/web-dist/components/skeleton-card/SkeletonCard.js +22 -22
- package/web-dist/components/skeleton-list/SkeletonList.js +22 -22
- package/web-dist/components/skeleton-text/SkeletonText.js +22 -22
- package/web-dist/components/surface/Surface.js +7 -7
- package/web-dist/components/switch/Switch.js +7 -7
- package/web-dist/components/tab/Tab.js +7 -7
- package/web-dist/components/tab-list/TabList.js +7 -7
- package/web-dist/components/tab-panel/TabPanel.js +7 -7
- package/web-dist/components/tabletop-table/TabletopTable.d.ts +7 -0
- package/web-dist/components/tabletop-table/TabletopTable.js +19 -0
- package/web-dist/components/tabletop-table/index.d.ts +1 -0
- package/web-dist/components/tabletop-table/index.js +2 -0
- package/web-dist/components/tabs/Tabs.js +7 -7
- package/web-dist/components/text/Text.js +6 -6
- package/web-dist/components/text-input/TextInput.js +13 -13
- package/web-dist/components/time-picker/TimePicker.js +17 -17
- package/web-dist/components/timeline/Timeline.js +11 -11
- package/web-dist/components/toast/Toast.js +9 -9
- package/web-dist/components/toast-provider/ToastProvider.js +9 -9
- package/web-dist/components/toolbar/Toolbar.js +19 -19
- package/web-dist/components/tree-item/TreeItem.js +16 -16
- package/web-dist/components/tree-view/TreeView.d.ts +1 -1
- package/web-dist/components/uploader/Uploader.js +22 -22
- package/web-dist/components/view/View.js +6 -6
- package/web-dist/manifest.json +1650 -1379
- package/web-dist/runtime/ZoraProvider.js +8 -8
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import type { GameDefinition, GameInput, GameOutput } from '@ankhorage/game';
|
|
2
|
+
import type { InteractionPolicyProps } from '@ankhorage/surface';
|
|
3
|
+
import type React from 'react';
|
|
4
|
+
type GameOverlayCornerPlacement = 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right';
|
|
5
|
+
export type GamePointerEvents = 'auto' | 'box-none' | 'box-only' | 'none';
|
|
6
|
+
export type GameEntityEasing = 'linear' | 'ease-in' | 'ease-out' | 'ease-in-out';
|
|
7
|
+
export interface GameEntityMotionProps {
|
|
8
|
+
readonly transitionDurationMs?: number;
|
|
9
|
+
readonly transitionEasing?: GameEntityEasing;
|
|
10
|
+
readonly motionOffsetX?: number;
|
|
11
|
+
readonly motionOffsetY?: number;
|
|
12
|
+
readonly motionOpacityDelta?: number;
|
|
13
|
+
readonly motionScaleDelta?: number;
|
|
14
|
+
readonly motionRotationDelta?: number;
|
|
15
|
+
readonly motionDurationMs?: number;
|
|
16
|
+
readonly motionDelayMs?: number;
|
|
17
|
+
readonly motionEasing?: GameEntityEasing;
|
|
18
|
+
readonly motionRepeat?: boolean;
|
|
19
|
+
readonly motionAlternate?: boolean;
|
|
20
|
+
readonly motionPaused?: boolean;
|
|
21
|
+
readonly motionEssential?: boolean;
|
|
22
|
+
}
|
|
23
|
+
export type GameOverlayPlacement = 'fill' | 'center' | 'top' | 'bottom' | GameOverlayCornerPlacement;
|
|
24
|
+
export interface GameFieldProps extends InteractionPolicyProps {
|
|
25
|
+
readonly children?: React.ReactNode;
|
|
26
|
+
readonly aspectRatio?: number;
|
|
27
|
+
readonly minHeight?: number;
|
|
28
|
+
readonly fill?: boolean;
|
|
29
|
+
readonly clip?: boolean;
|
|
30
|
+
readonly accessibilityLabel?: string;
|
|
31
|
+
readonly testID?: string;
|
|
32
|
+
}
|
|
33
|
+
export interface GameEntityProps extends GameEntityMotionProps, InteractionPolicyProps {
|
|
34
|
+
readonly children?: React.ReactNode;
|
|
35
|
+
readonly x?: number;
|
|
36
|
+
readonly y?: number;
|
|
37
|
+
readonly width?: number;
|
|
38
|
+
readonly height?: number;
|
|
39
|
+
readonly opacity?: number;
|
|
40
|
+
readonly scale?: number;
|
|
41
|
+
readonly rotation?: number;
|
|
42
|
+
readonly zIndex?: number;
|
|
43
|
+
readonly hidden?: boolean;
|
|
44
|
+
readonly pointerEvents?: GamePointerEvents;
|
|
45
|
+
readonly measurementId?: string;
|
|
46
|
+
readonly accessibilityLabel?: string;
|
|
47
|
+
readonly testID?: string;
|
|
48
|
+
}
|
|
49
|
+
export interface GameKeyboardBinding {
|
|
50
|
+
readonly key: string;
|
|
51
|
+
readonly eventType?: string;
|
|
52
|
+
readonly entityId?: string;
|
|
53
|
+
readonly preventDefault?: boolean;
|
|
54
|
+
}
|
|
55
|
+
export interface GameInputZoneProps extends InteractionPolicyProps {
|
|
56
|
+
readonly eventType: string;
|
|
57
|
+
readonly entityId?: string;
|
|
58
|
+
readonly x?: number;
|
|
59
|
+
readonly y?: number;
|
|
60
|
+
readonly width?: number;
|
|
61
|
+
readonly height?: number;
|
|
62
|
+
readonly zIndex?: number;
|
|
63
|
+
readonly enabled?: boolean;
|
|
64
|
+
readonly continuous?: boolean;
|
|
65
|
+
readonly keyboardBindings?: readonly GameKeyboardBinding[];
|
|
66
|
+
readonly accessibilityLabel?: string;
|
|
67
|
+
readonly testID?: string;
|
|
68
|
+
}
|
|
69
|
+
export interface GameMeasurementProbeProps extends InteractionPolicyProps {
|
|
70
|
+
readonly sourceId: string;
|
|
71
|
+
readonly targetId: string;
|
|
72
|
+
readonly eventType?: string;
|
|
73
|
+
readonly entityId?: string;
|
|
74
|
+
readonly delayMs?: number;
|
|
75
|
+
readonly enabled?: boolean;
|
|
76
|
+
}
|
|
77
|
+
export interface GameOverlayProps extends InteractionPolicyProps {
|
|
78
|
+
readonly children?: React.ReactNode;
|
|
79
|
+
readonly placement?: GameOverlayPlacement;
|
|
80
|
+
readonly blocking?: boolean;
|
|
81
|
+
readonly padding?: number;
|
|
82
|
+
readonly accessibilityLabel?: string;
|
|
83
|
+
readonly testID?: string;
|
|
84
|
+
}
|
|
85
|
+
export interface GameProps extends GameFieldProps {
|
|
86
|
+
readonly definition: GameDefinition;
|
|
87
|
+
readonly input?: GameInput;
|
|
88
|
+
readonly seed?: number;
|
|
89
|
+
readonly resetKey?: string;
|
|
90
|
+
readonly autoAdvanceTime?: boolean;
|
|
91
|
+
readonly onOutput?: (output: GameOutput) => void;
|
|
92
|
+
}
|
|
93
|
+
export {};
|
|
94
|
+
//# sourceMappingURL=gamePresentation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gamePresentation.d.ts","sourceRoot":"","sources":["../../src/types/gamePresentation.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gamePresentation.js","sourceRoot":"","sources":["../../src/types/gamePresentation.ts"],"names":[],"mappings":"","sourcesContent":["import type { GameDefinition, GameInput, GameOutput } from '@ankhorage/game';\nimport type { InteractionPolicyProps } from '@ankhorage/surface';\nimport type React from 'react';\n\ntype GameOverlayCornerPlacement = 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right';\n\nexport type GamePointerEvents = 'auto' | 'box-none' | 'box-only' | 'none';\nexport type GameEntityEasing = 'linear' | 'ease-in' | 'ease-out' | 'ease-in-out';\n\nexport interface GameEntityMotionProps {\n readonly transitionDurationMs?: number;\n readonly transitionEasing?: GameEntityEasing;\n readonly motionOffsetX?: number;\n readonly motionOffsetY?: number;\n readonly motionOpacityDelta?: number;\n readonly motionScaleDelta?: number;\n readonly motionRotationDelta?: number;\n readonly motionDurationMs?: number;\n readonly motionDelayMs?: number;\n readonly motionEasing?: GameEntityEasing;\n readonly motionRepeat?: boolean;\n readonly motionAlternate?: boolean;\n readonly motionPaused?: boolean;\n readonly motionEssential?: boolean;\n}\nexport type GameOverlayPlacement =\n 'fill' | 'center' | 'top' | 'bottom' | GameOverlayCornerPlacement;\n\nexport interface GameFieldProps extends InteractionPolicyProps {\n readonly children?: React.ReactNode;\n readonly aspectRatio?: number;\n readonly minHeight?: number;\n readonly fill?: boolean;\n readonly clip?: boolean;\n readonly accessibilityLabel?: string;\n readonly testID?: string;\n}\n\nexport interface GameEntityProps extends GameEntityMotionProps, InteractionPolicyProps {\n readonly children?: React.ReactNode;\n readonly x?: number;\n readonly y?: number;\n readonly width?: number;\n readonly height?: number;\n readonly opacity?: number;\n readonly scale?: number;\n readonly rotation?: number;\n readonly zIndex?: number;\n readonly hidden?: boolean;\n readonly pointerEvents?: GamePointerEvents;\n readonly measurementId?: string;\n readonly accessibilityLabel?: string;\n readonly testID?: string;\n}\n\nexport interface GameKeyboardBinding {\n readonly key: string;\n readonly eventType?: string;\n readonly entityId?: string;\n readonly preventDefault?: boolean;\n}\n\nexport interface GameInputZoneProps extends InteractionPolicyProps {\n readonly eventType: string;\n readonly entityId?: string;\n readonly x?: number;\n readonly y?: number;\n readonly width?: number;\n readonly height?: number;\n readonly zIndex?: number;\n readonly enabled?: boolean;\n readonly continuous?: boolean;\n readonly keyboardBindings?: readonly GameKeyboardBinding[];\n readonly accessibilityLabel?: string;\n readonly testID?: string;\n}\n\nexport interface GameMeasurementProbeProps extends InteractionPolicyProps {\n readonly sourceId: string;\n readonly targetId: string;\n readonly eventType?: string;\n readonly entityId?: string;\n readonly delayMs?: number;\n readonly enabled?: boolean;\n}\n\nexport interface GameOverlayProps extends InteractionPolicyProps {\n readonly children?: React.ReactNode;\n readonly placement?: GameOverlayPlacement;\n readonly blocking?: boolean;\n readonly padding?: number;\n readonly accessibilityLabel?: string;\n readonly testID?: string;\n}\n\nexport interface GameProps extends GameFieldProps {\n readonly definition: GameDefinition;\n readonly input?: GameInput;\n readonly seed?: number;\n readonly resetKey?: string;\n readonly autoAdvanceTime?: boolean;\n readonly onOutput?: (output: GameOutput) => void;\n}\n"]}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { GameEvent, GameOutput, GameSession } from '@ankhorage/game';
|
|
2
|
+
import type { InteractionPolicy } from '@ankhorage/surface';
|
|
3
|
+
export interface GameMeasurementBounds {
|
|
4
|
+
readonly left: number;
|
|
5
|
+
readonly right: number;
|
|
6
|
+
readonly top: number;
|
|
7
|
+
readonly bottom: number;
|
|
8
|
+
readonly width: number;
|
|
9
|
+
readonly height: number;
|
|
10
|
+
}
|
|
11
|
+
export type GameMeasurementReader = () => Promise<GameMeasurementBounds | undefined>;
|
|
12
|
+
export interface GameMeasurementRegistry {
|
|
13
|
+
readonly registerMeasurement: (id: string, reader: GameMeasurementReader) => () => void;
|
|
14
|
+
readonly measure: (id: string) => Promise<GameMeasurementBounds | undefined>;
|
|
15
|
+
}
|
|
16
|
+
export interface GameRuntimeValue {
|
|
17
|
+
readonly session: GameSession;
|
|
18
|
+
readonly dispatch: (event: GameEvent) => void;
|
|
19
|
+
}
|
|
20
|
+
export interface GameRuntimeContextValue extends GameRuntimeValue, GameMeasurementRegistry {
|
|
21
|
+
readonly interactionPolicy?: InteractionPolicy;
|
|
22
|
+
}
|
|
23
|
+
export interface GameRuntimeState {
|
|
24
|
+
readonly key: string;
|
|
25
|
+
readonly session: GameSession;
|
|
26
|
+
readonly outputs: readonly GameOutput[];
|
|
27
|
+
readonly revision: number;
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=gameRuntime.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gameRuntime.d.ts","sourceRoot":"","sources":["../../src/types/gameRuntime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC1E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAE5D,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,MAAM,qBAAqB,GAAG,MAAM,OAAO,CAAC,qBAAqB,GAAG,SAAS,CAAC,CAAC;AAErF,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,mBAAmB,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,qBAAqB,KAAK,MAAM,IAAI,CAAC;IACxF,QAAQ,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,qBAAqB,GAAG,SAAS,CAAC,CAAC;CAC9E;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC;IAC9B,QAAQ,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,CAAC;CAC/C;AAED,MAAM,WAAW,uBAAwB,SAAQ,gBAAgB,EAAE,uBAAuB;IACxF,QAAQ,CAAC,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;CAChD;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC;IAC9B,QAAQ,CAAC,OAAO,EAAE,SAAS,UAAU,EAAE,CAAC;IACxC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gameRuntime.js","sourceRoot":"","sources":["../../src/types/gameRuntime.ts"],"names":[],"mappings":"","sourcesContent":["import type { GameEvent, GameOutput, GameSession } from '@ankhorage/game';\nimport type { InteractionPolicy } from '@ankhorage/surface';\n\nexport interface GameMeasurementBounds {\n readonly left: number;\n readonly right: number;\n readonly top: number;\n readonly bottom: number;\n readonly width: number;\n readonly height: number;\n}\n\nexport type GameMeasurementReader = () => Promise<GameMeasurementBounds | undefined>;\n\nexport interface GameMeasurementRegistry {\n readonly registerMeasurement: (id: string, reader: GameMeasurementReader) => () => void;\n readonly measure: (id: string) => Promise<GameMeasurementBounds | undefined>;\n}\n\nexport interface GameRuntimeValue {\n readonly session: GameSession;\n readonly dispatch: (event: GameEvent) => void;\n}\n\nexport interface GameRuntimeContextValue extends GameRuntimeValue, GameMeasurementRegistry {\n readonly interactionPolicy?: InteractionPolicy;\n}\n\nexport interface GameRuntimeState {\n readonly key: string;\n readonly session: GameSession;\n readonly outputs: readonly GameOutput[];\n readonly revision: number;\n}\n"]}
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
import type React from 'react';
|
|
2
|
+
import type { ZoraBaseProps } from './base';
|
|
3
|
+
export type PlayingCardSuit = 'clubs' | 'diamonds' | 'hearts' | 'spades';
|
|
4
|
+
export type TabletopCardSize = 'large' | 'medium' | 'small';
|
|
5
|
+
export type TabletopShape = 'circle' | 'oval' | 'rounded';
|
|
6
|
+
export type TabletopSeatCount = 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10;
|
|
7
|
+
export interface PlayingCardValue {
|
|
8
|
+
readonly rank: string;
|
|
9
|
+
readonly suit: PlayingCardSuit;
|
|
10
|
+
}
|
|
11
|
+
export interface TabletopSeatState {
|
|
12
|
+
readonly id: string;
|
|
13
|
+
readonly label: React.ReactNode;
|
|
14
|
+
readonly sublabel?: React.ReactNode;
|
|
15
|
+
readonly cards?: readonly PlayingCardValue[];
|
|
16
|
+
readonly faceDownCards?: number;
|
|
17
|
+
readonly selected?: boolean;
|
|
18
|
+
readonly muted?: boolean;
|
|
19
|
+
readonly disabled?: boolean;
|
|
20
|
+
readonly tokenLabel?: React.ReactNode;
|
|
21
|
+
readonly accessibilityLabel?: string;
|
|
22
|
+
}
|
|
23
|
+
export type TabletopGameSeatPresentation = Omit<TabletopSeatState, 'id'>;
|
|
24
|
+
export interface TabletopGameSeatDefinition {
|
|
25
|
+
readonly id: string;
|
|
26
|
+
readonly defaultState: TabletopGameSeatPresentation;
|
|
27
|
+
}
|
|
28
|
+
export interface TabletopGameParticipantState {
|
|
29
|
+
readonly seatId: string;
|
|
30
|
+
readonly state: Partial<TabletopGameSeatPresentation>;
|
|
31
|
+
}
|
|
32
|
+
export interface CreateTabletopGameSeatsInput {
|
|
33
|
+
readonly seats: readonly TabletopGameSeatDefinition[];
|
|
34
|
+
readonly participants: readonly TabletopGameParticipantState[];
|
|
35
|
+
readonly missingParticipantState?: Partial<TabletopGameSeatPresentation>;
|
|
36
|
+
}
|
|
37
|
+
export interface TabletopColorScheme {
|
|
38
|
+
readonly cardBack: string;
|
|
39
|
+
readonly cardBackBorder: string;
|
|
40
|
+
readonly cardBorder: string;
|
|
41
|
+
readonly cardSurface: string;
|
|
42
|
+
readonly cardText: string;
|
|
43
|
+
readonly mutedText: string;
|
|
44
|
+
readonly redSuitText: string;
|
|
45
|
+
readonly seatBorder: string;
|
|
46
|
+
readonly seatMutedText: string;
|
|
47
|
+
readonly seatSelectedBorder: string;
|
|
48
|
+
readonly seatSurface: string;
|
|
49
|
+
readonly seatText: string;
|
|
50
|
+
readonly tableBorder: string;
|
|
51
|
+
readonly tableFelt: string;
|
|
52
|
+
readonly tableInnerBorder: string;
|
|
53
|
+
readonly tableMutedText: string;
|
|
54
|
+
readonly tableText: string;
|
|
55
|
+
readonly tokenSurface: string;
|
|
56
|
+
readonly tokenText: string;
|
|
57
|
+
}
|
|
58
|
+
export type TabletopColorOverrides = Partial<TabletopColorScheme>;
|
|
59
|
+
export interface CardBackProps extends ZoraBaseProps {
|
|
60
|
+
readonly size?: TabletopCardSize;
|
|
61
|
+
readonly muted?: boolean;
|
|
62
|
+
readonly accessibilityLabel?: string;
|
|
63
|
+
readonly colorScheme?: TabletopColorOverrides;
|
|
64
|
+
}
|
|
65
|
+
export interface CardHandProps extends ZoraBaseProps {
|
|
66
|
+
readonly cards?: readonly PlayingCardValue[];
|
|
67
|
+
readonly faceDownCards?: number;
|
|
68
|
+
readonly size?: TabletopCardSize;
|
|
69
|
+
readonly muted?: boolean;
|
|
70
|
+
readonly colorScheme?: TabletopColorOverrides;
|
|
71
|
+
readonly accessibilityLabel?: string;
|
|
72
|
+
}
|
|
73
|
+
export interface PlayingCardProps extends ZoraBaseProps {
|
|
74
|
+
readonly card: PlayingCardValue;
|
|
75
|
+
readonly size?: TabletopCardSize;
|
|
76
|
+
readonly selected?: boolean;
|
|
77
|
+
readonly muted?: boolean;
|
|
78
|
+
readonly accessibilityLabel?: string;
|
|
79
|
+
readonly colorScheme?: TabletopColorOverrides;
|
|
80
|
+
}
|
|
81
|
+
export interface TabletopTableProps extends ZoraBaseProps {
|
|
82
|
+
readonly seats: readonly TabletopSeatState[];
|
|
83
|
+
readonly centerCards?: readonly PlayingCardValue[];
|
|
84
|
+
readonly centerLabel?: React.ReactNode;
|
|
85
|
+
readonly centerSublabel?: React.ReactNode;
|
|
86
|
+
readonly shape?: TabletopShape;
|
|
87
|
+
readonly seatCount?: TabletopSeatCount;
|
|
88
|
+
readonly cardSize?: TabletopCardSize;
|
|
89
|
+
readonly disabled?: boolean;
|
|
90
|
+
readonly colorScheme?: TabletopColorOverrides;
|
|
91
|
+
readonly accessibilityLabel?: string;
|
|
92
|
+
}
|
|
93
|
+
export interface PokerTrainingPlayer {
|
|
94
|
+
readonly position: string;
|
|
95
|
+
readonly stack?: number;
|
|
96
|
+
readonly bet?: number;
|
|
97
|
+
readonly cards?: readonly PlayingCardValue[];
|
|
98
|
+
readonly folded?: boolean;
|
|
99
|
+
readonly isHero?: boolean;
|
|
100
|
+
}
|
|
101
|
+
export type PokerTrainingTableSize = '6max' | '9max';
|
|
102
|
+
export interface PokerTrainingTaskTableData {
|
|
103
|
+
readonly tableSize?: PokerTrainingTableSize;
|
|
104
|
+
readonly blinds?: {
|
|
105
|
+
readonly small: number;
|
|
106
|
+
readonly big: number;
|
|
107
|
+
};
|
|
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<TabletopTableProps, 'seatCount' | 'seats' | 'centerCards' | 'centerLabel' | 'centerSublabel'> {
|
|
115
|
+
readonly task?: PokerTrainingTaskTableData;
|
|
116
|
+
readonly defaultStackBigBlinds?: number;
|
|
117
|
+
}
|
|
118
|
+
export interface CreatePokerTrainingTableStateOptions {
|
|
119
|
+
readonly defaultStackBigBlinds?: number;
|
|
120
|
+
}
|
|
121
|
+
export interface PokerTrainingTableState {
|
|
122
|
+
readonly seatCount: TabletopSeatCount;
|
|
123
|
+
readonly seats: readonly TabletopSeatState[];
|
|
124
|
+
readonly centerCards: readonly PlayingCardValue[];
|
|
125
|
+
readonly centerLabel?: string;
|
|
126
|
+
readonly centerSublabel?: string;
|
|
127
|
+
readonly accessibilityLabel: string;
|
|
128
|
+
}
|
|
129
|
+
//# sourceMappingURL=tabletop.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tabletop.d.ts","sourceRoot":"","sources":["../../src/types/tabletop.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tabletop.js","sourceRoot":"","sources":["../../src/types/tabletop.ts"],"names":[],"mappings":"","sourcesContent":["import type React from 'react';\n\nimport type { ZoraBaseProps } from './base';\n\nexport type PlayingCardSuit = 'clubs' | 'diamonds' | 'hearts' | 'spades';\nexport type TabletopCardSize = 'large' | 'medium' | 'small';\nexport type TabletopShape = 'circle' | 'oval' | 'rounded';\nexport type TabletopSeatCount = 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10;\n\nexport interface PlayingCardValue {\n readonly rank: string;\n readonly suit: PlayingCardSuit;\n}\nexport interface TabletopSeatState {\n readonly id: string;\n readonly label: React.ReactNode;\n readonly sublabel?: React.ReactNode;\n readonly cards?: readonly PlayingCardValue[];\n readonly faceDownCards?: number;\n readonly selected?: boolean;\n readonly muted?: boolean;\n readonly disabled?: boolean;\n readonly tokenLabel?: React.ReactNode;\n readonly accessibilityLabel?: string;\n}\nexport type TabletopGameSeatPresentation = Omit<TabletopSeatState, 'id'>;\nexport interface TabletopGameSeatDefinition {\n readonly id: string;\n readonly defaultState: TabletopGameSeatPresentation;\n}\nexport interface TabletopGameParticipantState {\n readonly seatId: string;\n readonly state: Partial<TabletopGameSeatPresentation>;\n}\nexport interface CreateTabletopGameSeatsInput {\n readonly seats: readonly TabletopGameSeatDefinition[];\n readonly participants: readonly TabletopGameParticipantState[];\n readonly missingParticipantState?: Partial<TabletopGameSeatPresentation>;\n}\nexport interface TabletopColorScheme {\n readonly cardBack: string;\n readonly cardBackBorder: string;\n readonly cardBorder: string;\n readonly cardSurface: string;\n readonly cardText: string;\n readonly mutedText: string;\n readonly redSuitText: string;\n readonly seatBorder: string;\n readonly seatMutedText: string;\n readonly seatSelectedBorder: string;\n readonly seatSurface: string;\n readonly seatText: string;\n readonly tableBorder: string;\n readonly tableFelt: string;\n readonly tableInnerBorder: string;\n readonly tableMutedText: string;\n readonly tableText: string;\n readonly tokenSurface: string;\n readonly tokenText: string;\n}\nexport type TabletopColorOverrides = Partial<TabletopColorScheme>;\nexport interface CardBackProps extends ZoraBaseProps {\n readonly size?: TabletopCardSize;\n readonly muted?: boolean;\n readonly accessibilityLabel?: string;\n readonly colorScheme?: TabletopColorOverrides;\n}\nexport interface CardHandProps extends ZoraBaseProps {\n readonly cards?: readonly PlayingCardValue[];\n readonly faceDownCards?: number;\n readonly size?: TabletopCardSize;\n readonly muted?: boolean;\n readonly colorScheme?: TabletopColorOverrides;\n readonly accessibilityLabel?: string;\n}\nexport interface PlayingCardProps extends ZoraBaseProps {\n readonly card: PlayingCardValue;\n readonly size?: TabletopCardSize;\n readonly selected?: boolean;\n readonly muted?: boolean;\n readonly accessibilityLabel?: string;\n readonly colorScheme?: TabletopColorOverrides;\n}\nexport interface TabletopTableProps extends ZoraBaseProps {\n readonly seats: readonly TabletopSeatState[];\n readonly centerCards?: readonly PlayingCardValue[];\n readonly centerLabel?: React.ReactNode;\n readonly centerSublabel?: React.ReactNode;\n readonly shape?: TabletopShape;\n readonly seatCount?: TabletopSeatCount;\n readonly cardSize?: TabletopCardSize;\n readonly disabled?: boolean;\n readonly colorScheme?: TabletopColorOverrides;\n readonly accessibilityLabel?: string;\n}\nexport interface PokerTrainingPlayer {\n readonly position: string;\n readonly stack?: number;\n readonly bet?: number;\n readonly cards?: readonly PlayingCardValue[];\n readonly folded?: boolean;\n readonly isHero?: boolean;\n}\nexport type PokerTrainingTableSize = '6max' | '9max';\nexport interface PokerTrainingTaskTableData {\n readonly tableSize?: PokerTrainingTableSize;\n readonly blinds?: { readonly small: number; readonly big: number };\n readonly heroPosition?: string;\n readonly heroCards?: readonly PlayingCardValue[];\n readonly communityCards?: readonly PlayingCardValue[];\n readonly pot?: number;\n readonly players?: readonly PokerTrainingPlayer[];\n}\nexport interface PokerTrainingTableProps extends Omit<\n TabletopTableProps,\n 'seatCount' | 'seats' | 'centerCards' | 'centerLabel' | 'centerSublabel'\n> {\n readonly task?: PokerTrainingTaskTableData;\n readonly defaultStackBigBlinds?: number;\n}\nexport interface CreatePokerTrainingTableStateOptions {\n readonly defaultStackBigBlinds?: number;\n}\nexport interface PokerTrainingTableState {\n readonly seatCount: TabletopSeatCount;\n readonly seats: readonly TabletopSeatState[];\n readonly centerCards: readonly PlayingCardValue[];\n readonly centerLabel?: string;\n readonly centerSublabel?: string;\n readonly accessibilityLabel: string;\n}\n"]}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ankhorage/zora",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "21.0
|
|
4
|
+
"version": "21.1.0",
|
|
5
5
|
"description": "Opinionated React Native and React Native Web UI kit built on @ankhorage/surface.",
|
|
6
6
|
"homepage": "https://github.com/ankhorage/zora#readme",
|
|
7
7
|
"bugs": {
|
|
@@ -42,8 +42,10 @@
|
|
|
42
42
|
"dependencies": {
|
|
43
43
|
"@ankhorage/color-theory": "^0.3.1",
|
|
44
44
|
"@ankhorage/contracts": "^22.8.2",
|
|
45
|
+
"@ankhorage/game": "^0.1.2",
|
|
46
|
+
"@ankhorage/runtime": "^3.0.25",
|
|
45
47
|
"@ankhorage/surface": "^9.1.7",
|
|
46
|
-
"@ankhorage/utility": "^1.8.
|
|
48
|
+
"@ankhorage/utility": "^1.8.1",
|
|
47
49
|
"expo-document-picker": "~57.0.1",
|
|
48
50
|
"expo-image-picker": "~57.0.16"
|
|
49
51
|
},
|
|
@@ -117,13 +119,12 @@
|
|
|
117
119
|
"format:check": "ankhorage-prettier --check .",
|
|
118
120
|
"prepack": "bun run build",
|
|
119
121
|
"test": "bun run build && bun test src",
|
|
120
|
-
"test:next-materialization": "bun scripts/web-artifacts/verifyNextWebMaterialization.ts",
|
|
121
122
|
"typecheck": "bun x tsc --noEmit -p tsconfig.json && bun x tsc --noEmit -p tsconfig.scripts.json",
|
|
122
123
|
"version-packages": "ankhorage-changeset version"
|
|
123
124
|
},
|
|
124
125
|
"devDependencies": {
|
|
125
|
-
"@ankhorage/devtools": "^
|
|
126
|
-
"@ankhorage/paradox": "^0.
|
|
126
|
+
"@ankhorage/devtools": "^2.0.0",
|
|
127
|
+
"@ankhorage/paradox": "^0.2.6",
|
|
127
128
|
"@react-native-vector-icons/fontawesome": "^13.1.3",
|
|
128
129
|
"@react-native-vector-icons/fontawesome5": "^13.1.3",
|
|
129
130
|
"@react-native-vector-icons/fontawesome6": "^13.1.3",
|
|
@@ -136,8 +137,6 @@
|
|
|
136
137
|
"cytoscape": "^3.34.3",
|
|
137
138
|
"cytoscape-elk": "^2.3.0",
|
|
138
139
|
"happy-dom": "^20.11.6",
|
|
139
|
-
"next": "16.3.5",
|
|
140
|
-
"playwright-core": "^1.58.2",
|
|
141
140
|
"react": "19.2.3",
|
|
142
141
|
"react-dom": "19.2.3",
|
|
143
142
|
"react-native": "0.86.3",
|
|
@@ -63,6 +63,11 @@ export const CONTAINER_ALLOWED_CHILDREN = [
|
|
|
63
63
|
'MissingElement',
|
|
64
64
|
] as const;
|
|
65
65
|
|
|
66
|
+
export const GAME_ALLOWED_CHILDREN = ['Game', 'GameField'] as const;
|
|
67
|
+
|
|
68
|
+
export const CHESS_ALLOWED_CHILDREN = ['ChessBoard', 'OpeningBook'] as const;
|
|
69
|
+
export const TABLETOP_ALLOWED_CHILDREN = ['TabletopTable', 'PokerTrainingTable'] as const;
|
|
70
|
+
|
|
66
71
|
export const CONTENT_RAIL_ALLOWED_CHILDREN = [
|
|
67
72
|
'Chip',
|
|
68
73
|
'ChipGroup',
|
|
@@ -84,6 +89,14 @@ export const CONTENT_RAIL_ALLOWED_CHILDREN = [
|
|
|
84
89
|
'MissingElement',
|
|
85
90
|
] as const;
|
|
86
91
|
|
|
87
|
-
export const SCREEN_SECTION_ALLOWED_CHILDREN = [
|
|
92
|
+
export const SCREEN_SECTION_ALLOWED_CHILDREN = [
|
|
93
|
+
...CONTAINER_ALLOWED_CHILDREN,
|
|
94
|
+
...CHESS_ALLOWED_CHILDREN,
|
|
95
|
+
...GAME_ALLOWED_CHILDREN,
|
|
96
|
+
...TABLETOP_ALLOWED_CHILDREN,
|
|
97
|
+
] as const;
|
|
88
98
|
|
|
89
|
-
export const SCREEN_ALLOWED_CHILDREN = [
|
|
99
|
+
export const SCREEN_ALLOWED_CHILDREN = [
|
|
100
|
+
'ScreenSection',
|
|
101
|
+
...SCREEN_SECTION_ALLOWED_CHILDREN,
|
|
102
|
+
] as const;
|
|
@@ -17,6 +17,32 @@ describe('ZORA_COMPONENT_META public API', () => {
|
|
|
17
17
|
});
|
|
18
18
|
|
|
19
19
|
describe('ZORA_COMPONENT_META registry coverage', () => {
|
|
20
|
+
test('registers the six Game components and their canonical placements', () => {
|
|
21
|
+
const names = [
|
|
22
|
+
'Game',
|
|
23
|
+
'GameField',
|
|
24
|
+
'GameEntity',
|
|
25
|
+
'GameInputZone',
|
|
26
|
+
'GameMeasurementProbe',
|
|
27
|
+
'GameOverlay',
|
|
28
|
+
] as const;
|
|
29
|
+
const gameMetadata = Object.values(ZORA_COMPONENT_META).filter((meta) =>
|
|
30
|
+
names.some((name) => name === meta.name),
|
|
31
|
+
);
|
|
32
|
+
expect(gameMetadata).toHaveLength(names.length);
|
|
33
|
+
for (const meta of gameMetadata) expect(meta.directManifestNode).toBe(true);
|
|
34
|
+
expect(ZORA_COMPONENT_META.Screen.allowedChildren).toContain('Game');
|
|
35
|
+
expect(ZORA_COMPONENT_META.ScreenSection.allowedChildren).toContain('GameField');
|
|
36
|
+
expect(ZORA_COMPONENT_META.Game.allowedChildren).toContain('GameInputZone');
|
|
37
|
+
expect(ZORA_COMPONENT_META.Game.allowedChildren).toContain('GameMeasurementProbe');
|
|
38
|
+
expect(ZORA_COMPONENT_META.GameField.allowedChildren).toContain('GameEntity');
|
|
39
|
+
expect(ZORA_COMPONENT_META.GameField.allowedChildren).toContain('GameOverlay');
|
|
40
|
+
expect(ZORA_COMPONENT_META.Game.bindings?.props?.definition?.value.type).toBe('object');
|
|
41
|
+
expect(ZORA_COMPONENT_META.Game.bindings?.events?.output?.payload.eventType).toBe(
|
|
42
|
+
'game.output',
|
|
43
|
+
);
|
|
44
|
+
});
|
|
45
|
+
|
|
20
46
|
test('covers every public UI React component export (foundation/components/patterns/layout)', async () => {
|
|
21
47
|
const source = await Bun.file('src/index.ts').text();
|
|
22
48
|
const componentExports = Array.from(
|
|
@@ -185,6 +211,10 @@ describe('ZORA_COMPONENT_META invariants', () => {
|
|
|
185
211
|
'Divider',
|
|
186
212
|
'ChatListItem',
|
|
187
213
|
'CameraPermissionView',
|
|
214
|
+
'ChessBoard',
|
|
215
|
+
'GameInputZone',
|
|
216
|
+
'GameMeasurementProbe',
|
|
217
|
+
'OpeningBook',
|
|
188
218
|
'ScanOverlay',
|
|
189
219
|
'ProductCard',
|
|
190
220
|
'Progress',
|
|
@@ -192,6 +222,8 @@ describe('ZORA_COMPONENT_META invariants', () => {
|
|
|
192
222
|
'ReaderSurface',
|
|
193
223
|
'MissingElement',
|
|
194
224
|
'TimePicker',
|
|
225
|
+
'TabletopTable',
|
|
226
|
+
'PokerTrainingTable',
|
|
195
227
|
]);
|
|
196
228
|
|
|
197
229
|
const expectedContainerNodes = new Set([
|
|
@@ -200,6 +232,10 @@ describe('ZORA_COMPONENT_META invariants', () => {
|
|
|
200
232
|
'Dialog',
|
|
201
233
|
'Form',
|
|
202
234
|
'Gradient',
|
|
235
|
+
'Game',
|
|
236
|
+
'GameEntity',
|
|
237
|
+
'GameField',
|
|
238
|
+
'GameOverlay',
|
|
203
239
|
'Surface',
|
|
204
240
|
'MediaCard',
|
|
205
241
|
'FlatList',
|
|
@@ -254,6 +290,63 @@ describe('ZORA_COMPONENT_META invariants', () => {
|
|
|
254
290
|
expect(ZORA_COMPONENT_META.Tabs.events?.valueChange?.eventType).toBe('tabs.valueChange');
|
|
255
291
|
});
|
|
256
292
|
|
|
293
|
+
test('Chess and Tabletop retain their direct placement hierarchy without exposing card subprimitives', () => {
|
|
294
|
+
for (const name of ['CardBack', 'CardHand', 'PlayingCard']) {
|
|
295
|
+
expect(
|
|
296
|
+
Object.values(ZORA_COMPONENT_META).find((meta) => meta.name === name)?.directManifestNode,
|
|
297
|
+
).toBe(false);
|
|
298
|
+
for (const meta of Object.values(ZORA_COMPONENT_META)) {
|
|
299
|
+
expect(meta.allowedChildren).not.toContain(name);
|
|
300
|
+
}
|
|
301
|
+
}
|
|
302
|
+
for (const parent of [
|
|
303
|
+
ZORA_COMPONENT_META.Card,
|
|
304
|
+
ZORA_COMPONENT_META.Grid,
|
|
305
|
+
ZORA_COMPONENT_META.Screen,
|
|
306
|
+
ZORA_COMPONENT_META.ScreenSection,
|
|
307
|
+
]) {
|
|
308
|
+
for (const name of ['ChessBoard', 'OpeningBook', 'TabletopTable', 'PokerTrainingTable']) {
|
|
309
|
+
expect(parent.allowedChildren).toContain(name);
|
|
310
|
+
}
|
|
311
|
+
}
|
|
312
|
+
expect(ZORA_COMPONENT_META.View.allowedChildren).toContain('ChessBoard');
|
|
313
|
+
expect(ZORA_COMPONENT_META.View.allowedChildren).not.toContain('TabletopTable');
|
|
314
|
+
expect(ZORA_COMPONENT_META.ScrollView.allowedChildren).not.toContain('PokerTrainingTable');
|
|
315
|
+
});
|
|
316
|
+
|
|
317
|
+
test('Chess and Tabletop presentation bindings retain typed inputs and interaction intents', () => {
|
|
318
|
+
expect(ZORA_COMPONENT_META.ChessBoard.bindings?.props?.pieces?.value).toEqual({
|
|
319
|
+
type: 'array',
|
|
320
|
+
itemType: 'object',
|
|
321
|
+
});
|
|
322
|
+
expect(ZORA_COMPONENT_META.ChessBoard.bindings?.props?.legalTargets?.value).toEqual({
|
|
323
|
+
type: 'array',
|
|
324
|
+
itemType: 'string',
|
|
325
|
+
});
|
|
326
|
+
expect(ZORA_COMPONENT_META.OpeningBook.bindings?.props?.moves?.value).toEqual({
|
|
327
|
+
type: 'array',
|
|
328
|
+
itemType: 'object',
|
|
329
|
+
});
|
|
330
|
+
expect(ZORA_COMPONENT_META.OpeningBook.bindings?.events?.movePress?.payload.eventType).toBe(
|
|
331
|
+
'chess.openingMovePress',
|
|
332
|
+
);
|
|
333
|
+
expect(ZORA_COMPONENT_META.TabletopTable.bindings?.props?.seats?.value).toEqual({
|
|
334
|
+
type: 'array',
|
|
335
|
+
itemType: 'object',
|
|
336
|
+
});
|
|
337
|
+
expect(ZORA_COMPONENT_META.PokerTrainingTable.bindings?.props?.task?.value).toMatchObject({
|
|
338
|
+
type: 'object',
|
|
339
|
+
fields: [
|
|
340
|
+
{ path: 'blinds' },
|
|
341
|
+
{ path: 'heroPosition' },
|
|
342
|
+
{ path: 'heroCards' },
|
|
343
|
+
{ path: 'communityCards' },
|
|
344
|
+
{ path: 'pot' },
|
|
345
|
+
{ path: 'players' },
|
|
346
|
+
],
|
|
347
|
+
});
|
|
348
|
+
});
|
|
349
|
+
|
|
257
350
|
test('Accordion constrains authored items to its canonical hierarchy', () => {
|
|
258
351
|
expect(ZORA_COMPONENT_META.Accordion.directManifestNode).toBe(true);
|
|
259
352
|
expect(ZORA_COMPONENT_META.Accordion.allowedChildren).toEqual(['AccordionItem']);
|
|
@@ -24,6 +24,7 @@ import { postCardMeta } from '../card/postCardMeta';
|
|
|
24
24
|
import { productCardMeta } from '../card/productCardMeta';
|
|
25
25
|
import { chatListItemMeta } from '../chat/chatListItemMeta';
|
|
26
26
|
import { messageBubbleMeta } from '../chat/messageBubbleMeta';
|
|
27
|
+
import { chessBoardMeta, openingBookMeta } from '../chess/meta';
|
|
27
28
|
import { chipGroupMeta } from '../chip/chipGroupMeta';
|
|
28
29
|
import { chipMeta } from '../chip/chipMeta';
|
|
29
30
|
import { collectionEditorMeta } from '../collection-editor/meta';
|
|
@@ -42,6 +43,12 @@ import { searchInputMeta } from '../form/search-input/searchInputMeta';
|
|
|
42
43
|
import { selectMeta } from '../form/select/selectMeta';
|
|
43
44
|
import { switchMeta } from '../form/switch/switchMeta';
|
|
44
45
|
import { textInputMeta } from '../form/text-input/textInputMeta';
|
|
46
|
+
import { gameEntityMeta } from '../game/meta/gameEntityMeta';
|
|
47
|
+
import { gameFieldMeta } from '../game/meta/gameFieldMeta';
|
|
48
|
+
import { gameInputZoneMeta } from '../game/meta/gameInputZoneMeta';
|
|
49
|
+
import { gameMeasurementProbeMeta } from '../game/meta/gameMeasurementProbeMeta';
|
|
50
|
+
import { gameMeta } from '../game/meta/gameMeta';
|
|
51
|
+
import { gameOverlayMeta } from '../game/meta/gameOverlayMeta';
|
|
45
52
|
import { gradientMeta } from '../gradient/gradientMeta';
|
|
46
53
|
import { heroMeta } from '../hero/heroMeta';
|
|
47
54
|
import { iconMeta } from '../icon/iconMeta';
|
|
@@ -74,6 +81,13 @@ import {
|
|
|
74
81
|
skeletonTextMeta,
|
|
75
82
|
} from '../skeleton/skeletonMeta';
|
|
76
83
|
import { surfaceMeta } from '../surface/surfaceMeta';
|
|
84
|
+
import {
|
|
85
|
+
cardBackMeta,
|
|
86
|
+
cardHandMeta,
|
|
87
|
+
playingCardMeta,
|
|
88
|
+
pokerTrainingTableMeta,
|
|
89
|
+
tabletopTableMeta,
|
|
90
|
+
} from '../tabletop/meta';
|
|
77
91
|
import { tabListMeta } from '../tabs/tabListMeta';
|
|
78
92
|
import { tabMeta } from '../tabs/tabMeta';
|
|
79
93
|
import { tabPanelMeta } from '../tabs/tabPanelMeta';
|
|
@@ -119,6 +133,12 @@ export const ZORA_COMPONENT_META: ZoraComponentMetaRegistry = finalizeFeatureMet
|
|
|
119
133
|
FormError: formErrorMeta,
|
|
120
134
|
Field: fieldMeta,
|
|
121
135
|
Gradient: gradientMeta,
|
|
136
|
+
Game: gameMeta,
|
|
137
|
+
GameField: gameFieldMeta,
|
|
138
|
+
GameEntity: gameEntityMeta,
|
|
139
|
+
GameInputZone: gameInputZoneMeta,
|
|
140
|
+
GameMeasurementProbe: gameMeasurementProbeMeta,
|
|
141
|
+
GameOverlay: gameOverlayMeta,
|
|
122
142
|
Heading: headingMeta,
|
|
123
143
|
Icon: iconMeta,
|
|
124
144
|
IconButton: iconButtonMeta,
|
|
@@ -165,6 +185,7 @@ export const ZORA_COMPONENT_META: ZoraComponentMetaRegistry = finalizeFeatureMet
|
|
|
165
185
|
SignInForm: signInFormMeta,
|
|
166
186
|
SignUpForm: signUpFormMeta,
|
|
167
187
|
ChatListItem: chatListItemMeta,
|
|
188
|
+
ChessBoard: chessBoardMeta,
|
|
168
189
|
CollectionEditor: collectionEditorMeta,
|
|
169
190
|
ContentRail: contentRailMeta,
|
|
170
191
|
EmptyState: emptyStateMeta,
|
|
@@ -173,6 +194,7 @@ export const ZORA_COMPONENT_META: ZoraComponentMetaRegistry = finalizeFeatureMet
|
|
|
173
194
|
ListItem: listItemMeta,
|
|
174
195
|
ListSection: listSectionMeta,
|
|
175
196
|
MessageBubble: messageBubbleMeta,
|
|
197
|
+
OpeningBook: openingBookMeta,
|
|
176
198
|
MissingElement: missingElementMeta,
|
|
177
199
|
PostCard: postCardMeta,
|
|
178
200
|
ProductCard: productCardMeta,
|
|
@@ -185,6 +207,11 @@ export const ZORA_COMPONENT_META: ZoraComponentMetaRegistry = finalizeFeatureMet
|
|
|
185
207
|
SelectionProvider: selectionProviderMeta,
|
|
186
208
|
PaletteItem: paletteItemMeta,
|
|
187
209
|
Timeline: timelineMeta,
|
|
210
|
+
CardBack: cardBackMeta,
|
|
211
|
+
CardHand: cardHandMeta,
|
|
212
|
+
PlayingCard: playingCardMeta,
|
|
213
|
+
TabletopTable: tabletopTableMeta,
|
|
214
|
+
PokerTrainingTable: pokerTrainingTableMeta,
|
|
188
215
|
TreeItem: treeItemMeta,
|
|
189
216
|
TreeView: treeViewMeta,
|
|
190
217
|
});
|
|
@@ -42,6 +42,9 @@ export const FEATURE_MANIFEST_ELEMENTS = {
|
|
|
42
42
|
'time-picker': ['TimePicker'],
|
|
43
43
|
uploader: ['Uploader'],
|
|
44
44
|
'bottom-sheet': ['BottomSheet'],
|
|
45
|
+
chess: ['ChessBoard', 'OpeningBook'],
|
|
46
|
+
game: ['Game', 'GameField', 'GameEntity', 'GameInputZone', 'GameMeasurementProbe', 'GameOverlay'],
|
|
47
|
+
tabletop: ['TabletopTable', 'PokerTrainingTable'],
|
|
45
48
|
} as const;
|
|
46
49
|
|
|
47
50
|
export const ZORA_THEME_TOKEN_FAMILIES = [
|
|
@@ -11,10 +11,6 @@ import { resolveButtonThemeRecipe } from '../../utils/resolveButtonThemeRecipe';
|
|
|
11
11
|
* Use `Button` for explicit user actions that should follow ZORA's semantic color,
|
|
12
12
|
* variant, and size recipes across React Native and React Native Web.
|
|
13
13
|
*
|
|
14
|
-
* @example Basic action
|
|
15
|
-
* ```tsx
|
|
16
|
-
* <Button color="primary" variant="solid" onPress={save}>Save</Button>
|
|
17
|
-
* ```
|
|
18
14
|
*/
|
|
19
15
|
export const Button = withZoraThemeScope(ButtonInner);
|
|
20
16
|
|
|
@@ -15,10 +15,6 @@ import { resolveCardVariant } from '../../utils/resolveCardVariant';
|
|
|
15
15
|
* Use `Card` for reusable content blocks that should inherit ZORA spacing,
|
|
16
16
|
* radius, tone, and responsive header layout without hand-assembling primitives.
|
|
17
17
|
*
|
|
18
|
-
* @example Content card
|
|
19
|
-
* ```tsx
|
|
20
|
-
* <Card title="Project" description="Latest activity">...</Card>
|
|
21
|
-
* ```
|
|
22
18
|
*/
|
|
23
19
|
export const Card = withZoraThemeScope(CardInner);
|
|
24
20
|
|