@dreamboard-games/sdk 0.2.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/LICENSE.md +96 -0
- package/README.md +12 -0
- package/dist/HandView-ncJIVLhN.d.ts +193 -0
- package/dist/ResourceCounter-CTREyF73.d.ts +102 -0
- package/dist/ThemeProvider-fy0_QzgO.d.ts +99 -0
- package/dist/bundle-TIZcw8LB.d.ts +281 -0
- package/dist/cards-Sl3b40Mv.d.ts +13 -0
- package/dist/chunk-7YAHLYBR.js +481 -0
- package/dist/chunk-7YAHLYBR.js.map +1 -0
- package/dist/chunk-FDNZTDD6.js +8085 -0
- package/dist/chunk-FDNZTDD6.js.map +1 -0
- package/dist/chunk-GKKBPPSW.js +598 -0
- package/dist/chunk-GKKBPPSW.js.map +1 -0
- package/dist/chunk-I46YJSOD.js +1 -0
- package/dist/chunk-I46YJSOD.js.map +1 -0
- package/dist/chunk-KAELH4KC.js +104 -0
- package/dist/chunk-KAELH4KC.js.map +1 -0
- package/dist/chunk-PZ5AY32C.js +10 -0
- package/dist/chunk-PZ5AY32C.js.map +1 -0
- package/dist/chunk-T3ZKNUZ7.js +1 -0
- package/dist/chunk-T3ZKNUZ7.js.map +1 -0
- package/dist/chunk-T52J5RMF.js +1 -0
- package/dist/chunk-T52J5RMF.js.map +1 -0
- package/dist/chunk-TDSWKVZ4.js +5401 -0
- package/dist/chunk-TDSWKVZ4.js.map +1 -0
- package/dist/chunk-U5C6BONG.js +34 -0
- package/dist/chunk-U5C6BONG.js.map +1 -0
- package/dist/chunk-VDXOF4FW.js +69 -0
- package/dist/chunk-VDXOF4FW.js.map +1 -0
- package/dist/chunk-VFTAA4WO.js +115 -0
- package/dist/chunk-VFTAA4WO.js.map +1 -0
- package/dist/chunk-WN74KVNY.js +17 -0
- package/dist/chunk-WN74KVNY.js.map +1 -0
- package/dist/chunk-WYPQ3GG5.js +10990 -0
- package/dist/chunk-WYPQ3GG5.js.map +1 -0
- package/dist/components-D5ZRE2Hl.d.ts +1451 -0
- package/dist/generated/runtime/primitives.d.ts +12 -0
- package/dist/generated/runtime/primitives.js +180 -0
- package/dist/generated/runtime/primitives.js.map +1 -0
- package/dist/generated/runtime-api.d.ts +3 -0
- package/dist/generated/runtime-api.js +2 -0
- package/dist/generated/runtime-api.js.map +1 -0
- package/dist/generated/runtime.d.ts +14 -0
- package/dist/generated/runtime.js +18 -0
- package/dist/generated/runtime.js.map +1 -0
- package/dist/generated/workspace-contract.d.ts +14 -0
- package/dist/generated/workspace-contract.js +14 -0
- package/dist/generated/workspace-contract.js.map +1 -0
- package/dist/hex-board-view-D_07hO6O.d.ts +933 -0
- package/dist/hex-color-MhOyuY-o.d.ts +8 -0
- package/dist/index-BwqPQtBu.d.ts +1433 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +12 -0
- package/dist/index.js.map +1 -0
- package/dist/infrastructure/reducer-bundle-abi.d.ts +1083 -0
- package/dist/infrastructure/reducer-bundle-abi.js +14 -0
- package/dist/infrastructure/reducer-bundle-abi.js.map +1 -0
- package/dist/infrastructure/workspace-codegen.d.ts +53 -0
- package/dist/infrastructure/workspace-codegen.js +44 -0
- package/dist/infrastructure/workspace-codegen.js.map +1 -0
- package/dist/manifest-contract-BNHVGFtU.d.ts +9 -0
- package/dist/package-set.d.ts +13 -0
- package/dist/package-set.js +12 -0
- package/dist/package-set.js.map +1 -0
- package/dist/primitive-props-DpKs-GCr.d.ts +11 -0
- package/dist/reducer.d.ts +3786 -0
- package/dist/reducer.js +8131 -0
- package/dist/reducer.js.map +1 -0
- package/dist/runtime/primitives.d.ts +226 -0
- package/dist/runtime/primitives.js +180 -0
- package/dist/runtime/primitives.js.map +1 -0
- package/dist/runtime/types/runtime-api.d.ts +1 -0
- package/dist/runtime/types/runtime-api.js +2 -0
- package/dist/runtime/types/runtime-api.js.map +1 -0
- package/dist/runtime/workspace-contract.d.ts +172 -0
- package/dist/runtime/workspace-contract.js +14 -0
- package/dist/runtime/workspace-contract.js.map +1 -0
- package/dist/runtime-api-3dshj6kK.d.ts +101 -0
- package/dist/runtime-api-DWxvTr-O.d.ts +379 -0
- package/dist/runtime.d.ts +58 -0
- package/dist/runtime.js +13 -0
- package/dist/runtime.js.map +1 -0
- package/dist/slots-1GPGihk8.d.ts +8 -0
- package/dist/testing.d.ts +149 -0
- package/dist/testing.js +513 -0
- package/dist/testing.js.map +1 -0
- package/dist/types.d.ts +496 -0
- package/dist/types.js +28 -0
- package/dist/types.js.map +1 -0
- package/dist/ui/components.d.ts +16 -0
- package/dist/ui/components.js +192 -0
- package/dist/ui/components.js.map +1 -0
- package/dist/ui/defaults.d.ts +19 -0
- package/dist/ui/defaults.js +104 -0
- package/dist/ui/defaults.js.map +1 -0
- package/dist/ui/plugin-styles.css +250 -0
- package/dist/ui/types/player-state.d.ts +365 -0
- package/dist/ui/types/player-state.js +1 -0
- package/dist/ui/types/player-state.js.map +1 -0
- package/dist/ui-contract-iQfTtUSL.d.ts +1161 -0
- package/dist/ui.d.ts +320 -0
- package/dist/ui.js +253 -0
- package/dist/ui.js.map +1 -0
- package/package.json +199 -0
- package/src/generated/reducer-contract/builders.ts +90 -0
- package/src/generated/reducer-contract/version.ts +9 -0
- package/src/generated/reducer-contract/wire.ts +100 -0
- package/src/generated/reducer-contract/zod.ts +101 -0
- package/src/generated/runtime/primitives.ts +2 -0
- package/src/generated/runtime-api.ts +5 -0
- package/src/generated/runtime.ts +35 -0
- package/src/generated/workspace-contract.ts +2 -0
- package/src/index.ts +7 -0
- package/src/infrastructure/reducer-bundle-abi.ts +8 -0
- package/src/infrastructure/reducer-contract/bundle.ts +37 -0
- package/src/infrastructure/workspace-codegen/hex-geometry.ts +69 -0
- package/src/infrastructure/workspace-codegen/index.ts +64 -0
- package/src/infrastructure/workspace-codegen/manifest-contract.ts +6632 -0
- package/src/infrastructure/workspace-codegen/manifest-validation.ts +795 -0
- package/src/infrastructure/workspace-codegen/ownership.ts +131 -0
- package/src/infrastructure/workspace-codegen/preset-card-sets.ts +169 -0
- package/src/infrastructure/workspace-codegen/seeds.ts +1705 -0
- package/src/infrastructure/workspace-codegen.ts +1 -0
- package/src/package-set.ts +19 -0
- package/src/reducer/authoring/contract.ts +157 -0
- package/src/reducer/authoring/effect.ts +224 -0
- package/src/reducer/authoring/game.ts +23 -0
- package/src/reducer/authoring/interaction.ts +98 -0
- package/src/reducer/authoring/phase.ts +300 -0
- package/src/reducer/authoring/types.ts +70 -0
- package/src/reducer/authoring/validation.ts +382 -0
- package/src/reducer/authoring/view-stage.ts +68 -0
- package/src/reducer/authoring.ts +29 -0
- package/src/reducer/bundle/ingress-bundle.ts +491 -0
- package/src/reducer/bundle/trusted/engine-instruction-resolver.ts +254 -0
- package/src/reducer/bundle/trusted/flow-instruction-resolver.ts +73 -0
- package/src/reducer/bundle/trusted/instruction-runner.ts +414 -0
- package/src/reducer/bundle/trusted/interaction-authorization.ts +137 -0
- package/src/reducer/bundle/trusted/interaction-collectors.ts +859 -0
- package/src/reducer/bundle/trusted/interaction-decision.ts +747 -0
- package/src/reducer/bundle/trusted/interaction-resolver.ts +95 -0
- package/src/reducer/bundle/trusted/interaction-types.ts +171 -0
- package/src/reducer/bundle/trusted/lifecycle-runner.ts +427 -0
- package/src/reducer/bundle/trusted/projection-builder.ts +356 -0
- package/src/reducer/bundle/trusted/projection-context.ts +39 -0
- package/src/reducer/bundle/trusted/rng-sampler.ts +150 -0
- package/src/reducer/bundle/trusted/runtime-registry.ts +120 -0
- package/src/reducer/bundle/trusted/runtime-scope.ts +336 -0
- package/src/reducer/bundle/trusted/simultaneous-player.ts +97 -0
- package/src/reducer/bundle/trusted/stage-resolver.ts +87 -0
- package/src/reducer/bundle/trusted/static-projection.ts +116 -0
- package/src/reducer/bundle/trusted/trusted-runtime-args.ts +97 -0
- package/src/reducer/bundle/trusted/trusted-runtime-result.ts +39 -0
- package/src/reducer/bundle/trusted/trusted-setup-profiles.ts +43 -0
- package/src/reducer/bundle/trusted/trusted-state-codec.ts +48 -0
- package/src/reducer/bundle/trusted-bundle.ts +97 -0
- package/src/reducer/bundle/types.ts +171 -0
- package/src/reducer/bundle.ts +2 -0
- package/src/reducer/client-param-schemas.ts +57 -0
- package/src/reducer/compose.ts +34 -0
- package/src/reducer/core/runtime-input.ts +30 -0
- package/src/reducer/core/runtime-instruction.ts +59 -0
- package/src/reducer/core/types.ts +62 -0
- package/src/reducer/definition-index.ts +277 -0
- package/src/reducer/derived.ts +106 -0
- package/src/reducer/effects.ts +92 -0
- package/src/reducer/engine/runtime-instruction-engine.ts +155 -0
- package/src/reducer/ingress/decode-runtime-input.ts +7 -0
- package/src/reducer/ingress/decode-session-state.ts +9 -0
- package/src/reducer/ingress/encode-session-state.ts +6 -0
- package/src/reducer/ingress/input-codec.ts +18 -0
- package/src/reducer/ingress/phase-schemas.ts +62 -0
- package/src/reducer/ingress/raw-types.ts +107 -0
- package/src/reducer/ingress/runtime-codec.ts +14 -0
- package/src/reducer/ingress/runtime-payload.ts +13 -0
- package/src/reducer/ingress/session-codec.ts +392 -0
- package/src/reducer/ingress/types.ts +6 -0
- package/src/reducer/inputs/boardInput.ts +217 -0
- package/src/reducer/inputs/boardTarget.ts +190 -0
- package/src/reducer/inputs/cardInput.ts +86 -0
- package/src/reducer/inputs/cardTarget.ts +101 -0
- package/src/reducer/inputs/choiceTarget.ts +104 -0
- package/src/reducer/inputs/defineInputs.ts +71 -0
- package/src/reducer/inputs/formInput.ts +809 -0
- package/src/reducer/inputs/many.ts +120 -0
- package/src/reducer/inputs/promptInput.ts +87 -0
- package/src/reducer/inputs/rngInput.ts +58 -0
- package/src/reducer/inputs/targetRule.ts +123 -0
- package/src/reducer/inputs.ts +41 -0
- package/src/reducer/model/definition.ts +1072 -0
- package/src/reducer/model/extract.ts +745 -0
- package/src/reducer/model/manifest.ts +570 -0
- package/src/reducer/model/queries.ts +641 -0
- package/src/reducer/model/runtime.ts +264 -0
- package/src/reducer/model/spec.ts +1386 -0
- package/src/reducer/model/table.ts +260 -0
- package/src/reducer/model.ts +7 -0
- package/src/reducer/ops.ts +1034 -0
- package/src/reducer/parse-utils.ts +28 -0
- package/src/reducer/per-player.ts +422 -0
- package/src/reducer/rng.ts +69 -0
- package/src/reducer/schema-helpers.ts +185 -0
- package/src/reducer/setup-bootstrap-helpers.ts +171 -0
- package/src/reducer/setup-bootstrap.ts +481 -0
- package/src/reducer/table-ops.ts +2671 -0
- package/src/reducer/table-queries.ts +372 -0
- package/src/reducer/transaction.ts +120 -0
- package/src/reducer.ts +314 -0
- package/src/runtime/primitives.ts +1 -0
- package/src/runtime/types/runtime-api.ts +1 -0
- package/src/runtime/workspace-contract.ts +32 -0
- package/src/runtime-internal/components/InteractionForm.tsx +1309 -0
- package/src/runtime-internal/components/PluginRuntime.tsx +103 -0
- package/src/runtime-internal/components/board/target-layer.ts +70 -0
- package/src/runtime-internal/context/ClientParamSchemaContext.tsx +44 -0
- package/src/runtime-internal/context/InteractionDraftContext.tsx +279 -0
- package/src/runtime-internal/context/PluginSessionContext.tsx +47 -0
- package/src/runtime-internal/context/PluginStateContext.tsx +262 -0
- package/src/runtime-internal/context/RuntimeContext.tsx +96 -0
- package/src/runtime-internal/defaults/components.tsx +409 -0
- package/src/runtime-internal/defaults/index.ts +11 -0
- package/src/runtime-internal/errors/ValidationError.ts +29 -0
- package/src/runtime-internal/hooks/useActivePlayers.ts +33 -0
- package/src/runtime-internal/hooks/useBoardInteractions.ts +665 -0
- package/src/runtime-internal/hooks/useGameSelector.ts +105 -0
- package/src/runtime-internal/hooks/useGameView.ts +9 -0
- package/src/runtime-internal/hooks/useInteractionByKey.ts +354 -0
- package/src/runtime-internal/hooks/useInteractionHandle.ts +438 -0
- package/src/runtime-internal/hooks/useIsMyTurn.ts +20 -0
- package/src/runtime-internal/hooks/useLobby.ts +76 -0
- package/src/runtime-internal/hooks/useMe.ts +48 -0
- package/src/runtime-internal/hooks/usePlayerInfo.ts +28 -0
- package/src/runtime-internal/hooks/usePlayerTurnOrder.ts +23 -0
- package/src/runtime-internal/hooks/usePluginRuntime.ts +147 -0
- package/src/runtime-internal/hooks/useSeatInbox.ts +61 -0
- package/src/runtime-internal/hooks/useSimultaneousPhase.ts +10 -0
- package/src/runtime-internal/index.ts +42 -0
- package/src/runtime-internal/internal.ts +43 -0
- package/src/runtime-internal/plugin-styles.css +250 -0
- package/src/runtime-internal/primitives/board.tsx +459 -0
- package/src/runtime-internal/primitives/dialog-lifecycle.ts +58 -0
- package/src/runtime-internal/primitives/dice.tsx +79 -0
- package/src/runtime-internal/primitives/game-ui-provider.tsx +35 -0
- package/src/runtime-internal/primitives/game.tsx +387 -0
- package/src/runtime-internal/primitives/hand-intent-adapter.ts +147 -0
- package/src/runtime-internal/primitives/hand-surface.tsx +594 -0
- package/src/runtime-internal/primitives/index.ts +196 -0
- package/src/runtime-internal/primitives/interaction-form-binding.tsx +56 -0
- package/src/runtime-internal/primitives/interaction-submit.ts +90 -0
- package/src/runtime-internal/primitives/interaction.tsx +987 -0
- package/src/runtime-internal/primitives/phase.tsx +43 -0
- package/src/runtime-internal/primitives/player-roster.tsx +302 -0
- package/src/runtime-internal/primitives/primitive-props.tsx +101 -0
- package/src/runtime-internal/primitives/prompt.tsx +255 -0
- package/src/runtime-internal/primitives/ui.tsx +60 -0
- package/src/runtime-internal/primitives/zone.tsx +791 -0
- package/src/runtime-internal/reducer.ts +30 -0
- package/src/runtime-internal/runtime/createPluginRuntimeAPI.ts +605 -0
- package/src/runtime-internal/types/plugin-state.ts +508 -0
- package/src/runtime-internal/types/reducer-state.ts +24 -0
- package/src/runtime-internal/types/runtime-api.ts +114 -0
- package/src/runtime-internal/ui-contract.ts +519 -0
- package/src/runtime-internal/utils/card-intent-adapter.ts +546 -0
- package/src/runtime-internal/utils/interaction-inputs.ts +492 -0
- package/src/runtime-internal/utils/interaction-labels.ts +23 -0
- package/src/runtime-internal/utils/interaction-router.ts +273 -0
- package/src/runtime-internal/utils/interaction-status.ts +74 -0
- package/src/runtime-internal/workspace-contract.ts +1170 -0
- package/src/runtime.ts +34 -0
- package/src/testing/create-expect-api.ts +352 -0
- package/src/testing/create-test-runtime.ts +381 -0
- package/src/testing/definitions.ts +127 -0
- package/src/testing/index.ts +3 -0
- package/src/testing.ts +1 -0
- package/src/type-stubs/manifest-contract.d.ts +42 -0
- package/src/type-stubs/manifest-contract.js +72 -0
- package/src/type-stubs/ui-contract.d.ts +5 -0
- package/src/type-stubs/ui-contract.js +1 -0
- package/src/types/authoring-card-properties.type-test.ts +266 -0
- package/src/types/authoring.ts +1282 -0
- package/src/types/cards.ts +19 -0
- package/src/types/contracts.ts +1550 -0
- package/src/types/generated-helpers.ts +35 -0
- package/src/types/index.ts +147 -0
- package/src/types/slots.ts +11 -0
- package/src/types.ts +1 -0
- package/src/ui/components/ActionButton.tsx +97 -0
- package/src/ui/components/ActionPanel.tsx +315 -0
- package/src/ui/components/Card.tsx +378 -0
- package/src/ui/components/CardDragSurface.tsx +1076 -0
- package/src/ui/components/ChromeSuppressionContext.tsx +70 -0
- package/src/ui/components/CostDisplay.tsx +145 -0
- package/src/ui/components/DiceRoller.tsx +581 -0
- package/src/ui/components/Drawer.tsx +180 -0
- package/src/ui/components/ErrorBoundary.tsx +275 -0
- package/src/ui/components/GameEndDisplay.tsx +398 -0
- package/src/ui/components/GameSkeleton.tsx +260 -0
- package/src/ui/components/Hand.tsx +468 -0
- package/src/ui/components/HandDock.tsx +299 -0
- package/src/ui/components/HandView.tsx +441 -0
- package/src/ui/components/MobileHandTray.tsx +381 -0
- package/src/ui/components/MoreActions.tsx +143 -0
- package/src/ui/components/PhaseIndicator.tsx +341 -0
- package/src/ui/components/PlayArea.tsx +146 -0
- package/src/ui/components/PrimaryActionButton.tsx +336 -0
- package/src/ui/components/PrimaryButton.tsx +45 -0
- package/src/ui/components/ResourceCounter.tsx +270 -0
- package/src/ui/components/StagingZone.tsx +134 -0
- package/src/ui/components/ThemedButton.tsx +113 -0
- package/src/ui/components/Toast.tsx +264 -0
- package/src/ui/components/board/HexGrid.tsx +1294 -0
- package/src/ui/components/board/NetworkGraph.tsx +476 -0
- package/src/ui/components/board/SlotSystem.tsx +388 -0
- package/src/ui/components/board/SquareGrid.tsx +1165 -0
- package/src/ui/components/board/TrackBoard.tsx +496 -0
- package/src/ui/components/board/ZoneMap.tsx +448 -0
- package/src/ui/components/board/hex-board-view.ts +123 -0
- package/src/ui/components/board/index.ts +142 -0
- package/src/ui/components/board/interaction-accessibility.ts +21 -0
- package/src/ui/components/board/target-layer.ts +66 -0
- package/src/ui/components/card-render-content.type-test.ts +27 -0
- package/src/ui/components/hand-layout-math.ts +163 -0
- package/src/ui/components/hand-pointer-engine.ts +413 -0
- package/src/ui/components/index.ts +245 -0
- package/src/ui/components.ts +1 -0
- package/src/ui/defaults/components.tsx +106 -0
- package/src/ui/defaults/index.ts +8 -0
- package/src/ui/defaults.ts +1 -0
- package/src/ui/errors/ValidationError.ts +29 -0
- package/src/ui/helpers/cards.ts +19 -0
- package/src/ui/helpers/track-board.ts +211 -0
- package/src/ui/hooks/useBoardTopology.ts +316 -0
- package/src/ui/hooks/useCards.ts +10 -0
- package/src/ui/hooks/useHandCardPointer.ts +381 -0
- package/src/ui/hooks/useHandLayout.ts +378 -0
- package/src/ui/hooks/useHandPresentation.ts +121 -0
- package/src/ui/hooks/useHexBoard.ts +74 -0
- package/src/ui/hooks/useHexGrid.ts +185 -0
- package/src/ui/hooks/useIsMobile.ts +35 -0
- package/src/ui/hooks/usePanZoom.ts +278 -0
- package/src/ui/hooks/useSquareBoard.ts +124 -0
- package/src/ui/hooks/useSquareGrid.ts +328 -0
- package/src/ui/index.ts +98 -0
- package/src/ui/internal/ui/alert.tsx +51 -0
- package/src/ui/internal/ui/button.tsx +58 -0
- package/src/ui/internal/ui/dialog.tsx +134 -0
- package/src/ui/internal/ui/input.tsx +21 -0
- package/src/ui/internal/ui/label.tsx +21 -0
- package/src/ui/internal/ui/select.tsx +129 -0
- package/src/ui/internal/ui/tooltip.tsx +54 -0
- package/src/ui/internal/ui/utils.ts +5 -0
- package/src/ui/plugin-styles.css +250 -0
- package/src/ui/primitives/dialog-lifecycle.ts +58 -0
- package/src/ui/primitives/dice.tsx +79 -0
- package/src/ui/primitives/primitive-props.tsx +101 -0
- package/src/ui/theme/ThemeProvider.tsx +252 -0
- package/src/ui/theme/board.ts +61 -0
- package/src/ui/theme/css-vars.ts +105 -0
- package/src/ui/theme/derive.ts +240 -0
- package/src/ui/theme/index.ts +61 -0
- package/src/ui/theme/presets/arcade.ts +261 -0
- package/src/ui/theme/presets/studio.ts +261 -0
- package/src/ui/theme/presets/tabletop.ts +266 -0
- package/src/ui/theme/tokens.ts +392 -0
- package/src/ui/types/hex-color.ts +20 -0
- package/src/ui/types/player-state.ts +463 -0
- package/src/ui/types/tiled-board.ts +785 -0
- package/src/ui/types/visual-state.ts +137 -0
- package/src/ui.ts +1 -0
|
@@ -0,0 +1,196 @@
|
|
|
1
|
+
export { UI, UIRoot, type UIRootProps } from "./ui.js";
|
|
2
|
+
export {
|
|
3
|
+
HandSurfaceView,
|
|
4
|
+
dropTargetIdFor,
|
|
5
|
+
descriptorsHaveDestinationInput,
|
|
6
|
+
type HandSurfaceViewProps,
|
|
7
|
+
type RuntimeDropTarget,
|
|
8
|
+
} from "./hand-surface.js";
|
|
9
|
+
export {
|
|
10
|
+
decodeAuthoredCardIntent,
|
|
11
|
+
useCardIntentAdapter,
|
|
12
|
+
type AuthoredCardIntent,
|
|
13
|
+
type RuntimeCardIntentResult,
|
|
14
|
+
type UseCardIntentAdapterOptions,
|
|
15
|
+
} from "./hand-intent-adapter.js";
|
|
16
|
+
export {
|
|
17
|
+
Board,
|
|
18
|
+
BoardEdgeTarget,
|
|
19
|
+
BoardHexGrid,
|
|
20
|
+
BoardHexView,
|
|
21
|
+
BoardRoot,
|
|
22
|
+
BoardSpaceTarget,
|
|
23
|
+
BoardState,
|
|
24
|
+
BoardTarget,
|
|
25
|
+
BoardVertexTarget,
|
|
26
|
+
useBoardPrimitiveContext,
|
|
27
|
+
type BoardEdgeTargetProps,
|
|
28
|
+
type BoardHexGridInteractionFilter,
|
|
29
|
+
type BoardHexGridInteractions,
|
|
30
|
+
type BoardHexGridProps,
|
|
31
|
+
type BoardHexViewProps,
|
|
32
|
+
type BoardRootProps,
|
|
33
|
+
type BoardSpaceTargetProps,
|
|
34
|
+
type BoardStateProps,
|
|
35
|
+
type BoardTargetExtraInputs,
|
|
36
|
+
type BoardTargetProps,
|
|
37
|
+
type BoardVertexTargetProps,
|
|
38
|
+
} from "./board.js";
|
|
39
|
+
export {
|
|
40
|
+
Game,
|
|
41
|
+
GameChrome,
|
|
42
|
+
GameRoot,
|
|
43
|
+
useGameActionError,
|
|
44
|
+
type GameActiveActionState,
|
|
45
|
+
type GameChromeProps,
|
|
46
|
+
type GameChromeState,
|
|
47
|
+
type GameMeState,
|
|
48
|
+
type GamePendingInputState,
|
|
49
|
+
type GamePlayer,
|
|
50
|
+
type GamePlayerEntry,
|
|
51
|
+
type GamePlayersState,
|
|
52
|
+
type GameRenderState,
|
|
53
|
+
type GameRootProps,
|
|
54
|
+
type GameTurnState,
|
|
55
|
+
} from "./game.js";
|
|
56
|
+
export {
|
|
57
|
+
Interaction,
|
|
58
|
+
InteractionCardInput,
|
|
59
|
+
InteractionDescription,
|
|
60
|
+
InteractionDialog,
|
|
61
|
+
InteractionFormPrimitive,
|
|
62
|
+
InteractionInput,
|
|
63
|
+
InteractionLabel,
|
|
64
|
+
InteractionRoot,
|
|
65
|
+
InteractionRoutes,
|
|
66
|
+
InteractionState,
|
|
67
|
+
InteractionSubmit,
|
|
68
|
+
InteractionSwitch,
|
|
69
|
+
InteractionTrigger,
|
|
70
|
+
InteractionUnavailableMessage,
|
|
71
|
+
InteractionValidationMessage,
|
|
72
|
+
useInteractionPrimitiveContext,
|
|
73
|
+
useResolvedCardTargetValue,
|
|
74
|
+
type InteractionCardInputProps,
|
|
75
|
+
type InteractionCardInputRenderState,
|
|
76
|
+
type InteractionDialogProps,
|
|
77
|
+
type InteractionDialogRenderState,
|
|
78
|
+
type InteractionDialogState,
|
|
79
|
+
type InteractionFieldPrimitiveProps,
|
|
80
|
+
type InteractionFormPrimitiveProps,
|
|
81
|
+
type InteractionInputProps,
|
|
82
|
+
type InteractionPartProps,
|
|
83
|
+
type InteractionRoute,
|
|
84
|
+
type InteractionRoutesMap,
|
|
85
|
+
type InteractionRoutesProps,
|
|
86
|
+
type InteractionRootProps,
|
|
87
|
+
type InteractionStateProps,
|
|
88
|
+
type InteractionStateSnapshot,
|
|
89
|
+
type InteractionSubmitProps,
|
|
90
|
+
type InteractionSwitchRouteMap,
|
|
91
|
+
type InteractionSwitchProps,
|
|
92
|
+
type InteractionSwitchRenderState,
|
|
93
|
+
type InteractionTriggerProps,
|
|
94
|
+
} from "./interaction.js";
|
|
95
|
+
export {
|
|
96
|
+
Phase,
|
|
97
|
+
PhaseSwitch,
|
|
98
|
+
type PhaseFallback,
|
|
99
|
+
type PhaseRouteMap,
|
|
100
|
+
type PhaseSwitchProps,
|
|
101
|
+
} from "./phase.js";
|
|
102
|
+
export {
|
|
103
|
+
PlayerRoster,
|
|
104
|
+
PlayerRosterBadges,
|
|
105
|
+
PlayerRosterEmpty,
|
|
106
|
+
PlayerRosterList,
|
|
107
|
+
PlayerRosterName,
|
|
108
|
+
PlayerRosterRoot,
|
|
109
|
+
PlayerRosterScore,
|
|
110
|
+
PlayerRosterSwitchButton,
|
|
111
|
+
type PlayerRosterBadge,
|
|
112
|
+
type PlayerRosterComponents,
|
|
113
|
+
type PlayerRosterEntry,
|
|
114
|
+
type PlayerRosterListProps,
|
|
115
|
+
type PlayerRosterPartProps,
|
|
116
|
+
type PlayerRosterRootProps,
|
|
117
|
+
type PlayerRosterSwitchButtonProps,
|
|
118
|
+
} from "./player-roster.js";
|
|
119
|
+
export {
|
|
120
|
+
Prompt,
|
|
121
|
+
PromptInbox,
|
|
122
|
+
PromptInboxEmpty,
|
|
123
|
+
PromptInboxItems,
|
|
124
|
+
PromptInboxRoot,
|
|
125
|
+
PromptDialog,
|
|
126
|
+
PromptMessage,
|
|
127
|
+
PromptOption,
|
|
128
|
+
PromptOptions,
|
|
129
|
+
PromptRoot,
|
|
130
|
+
PromptTitle,
|
|
131
|
+
type PromptDialogProps,
|
|
132
|
+
type PromptDialogRenderState,
|
|
133
|
+
type PromptDialogState,
|
|
134
|
+
type PromptInboxItemsProps,
|
|
135
|
+
type PromptOptionRenderItem,
|
|
136
|
+
type PromptOptionProps,
|
|
137
|
+
type PromptOptionsProps,
|
|
138
|
+
type PromptRootProps,
|
|
139
|
+
} from "./prompt.js";
|
|
140
|
+
export {
|
|
141
|
+
composeEventHandlers,
|
|
142
|
+
renderPrimitive,
|
|
143
|
+
type PrimitiveCommonProps,
|
|
144
|
+
type PrimitiveDataAttributes,
|
|
145
|
+
} from "./primitive-props.js";
|
|
146
|
+
export {
|
|
147
|
+
Dice,
|
|
148
|
+
DiceRoot,
|
|
149
|
+
DiceValues,
|
|
150
|
+
normalizeDiceState,
|
|
151
|
+
useDicePrimitiveContext,
|
|
152
|
+
type DiceComponents,
|
|
153
|
+
type DiceRootProps,
|
|
154
|
+
type DiceState,
|
|
155
|
+
type DiceValue,
|
|
156
|
+
type DiceValuesProps,
|
|
157
|
+
} from "./dice.js";
|
|
158
|
+
export {
|
|
159
|
+
Zone,
|
|
160
|
+
ZoneCardAt,
|
|
161
|
+
ZoneCardAction,
|
|
162
|
+
ZoneItem,
|
|
163
|
+
ZoneList,
|
|
164
|
+
ZonePileCards,
|
|
165
|
+
ZonePileCount,
|
|
166
|
+
ZonePileDescription,
|
|
167
|
+
ZonePileLabel,
|
|
168
|
+
ZonePileRoot,
|
|
169
|
+
ZonePileTrigger,
|
|
170
|
+
ZoneRoot,
|
|
171
|
+
ZoneTopCard,
|
|
172
|
+
createZoneCardRenderItem,
|
|
173
|
+
useOptionalZonePrimitiveContext,
|
|
174
|
+
useZoneCards,
|
|
175
|
+
useZoneCardContext,
|
|
176
|
+
useZonePileContext,
|
|
177
|
+
useZonePrimitiveContext,
|
|
178
|
+
type UseZoneCardsOptions,
|
|
179
|
+
type UseZoneCardsResult,
|
|
180
|
+
type ZoneCardAtProps,
|
|
181
|
+
type ZoneCardActionExtraInputs,
|
|
182
|
+
type ZoneCardActionProps,
|
|
183
|
+
type ZoneCardActionResult,
|
|
184
|
+
type ZoneCardRenderItem,
|
|
185
|
+
type ZonePileCardsProps,
|
|
186
|
+
type ZonePileContextValue,
|
|
187
|
+
type ZonePileCountProps,
|
|
188
|
+
type ZonePileDescriptionProps,
|
|
189
|
+
type ZonePileLabelProps,
|
|
190
|
+
type ZonePileRootProps,
|
|
191
|
+
type ZonePileTriggerProps,
|
|
192
|
+
type ZoneItemProps,
|
|
193
|
+
type ZoneListProps,
|
|
194
|
+
type ZoneRootProps,
|
|
195
|
+
type ZoneTopCardProps,
|
|
196
|
+
} from "./zone.js";
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import {
|
|
2
|
+
InteractionForm,
|
|
3
|
+
type InteractionFormProps,
|
|
4
|
+
} from "../components/InteractionForm.js";
|
|
5
|
+
import type {
|
|
6
|
+
InteractionHandle,
|
|
7
|
+
InteractionParamsShape,
|
|
8
|
+
} from "../hooks/useInteractionHandle.js";
|
|
9
|
+
import type { InteractionDescriptor } from "../types/plugin-state.js";
|
|
10
|
+
|
|
11
|
+
export type BoundInteractionFormProps<
|
|
12
|
+
Params extends InteractionParamsShape = InteractionParamsShape,
|
|
13
|
+
DefaultedKeys extends keyof Params & string = never,
|
|
14
|
+
> = Omit<InteractionFormProps<Params, DefaultedKeys>, "descriptor" | "handle">;
|
|
15
|
+
|
|
16
|
+
export function castInteractionHandle<
|
|
17
|
+
Params extends InteractionParamsShape = InteractionParamsShape,
|
|
18
|
+
DefaultedKeys extends keyof Params & string = never,
|
|
19
|
+
>(handle: InteractionHandle): InteractionHandle<Params, DefaultedKeys> {
|
|
20
|
+
return handle as InteractionHandle<Params, DefaultedKeys>;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
export function castInteractionDraft<
|
|
24
|
+
Params extends InteractionParamsShape = InteractionParamsShape,
|
|
25
|
+
DefaultedKeys extends keyof Params & string = never,
|
|
26
|
+
>(
|
|
27
|
+
draft: Record<string, unknown>,
|
|
28
|
+
): InteractionHandle<Params, DefaultedKeys>["draft"] {
|
|
29
|
+
return draft as InteractionHandle<Params, DefaultedKeys>["draft"];
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
export function castInteractionFields<
|
|
33
|
+
Params extends InteractionParamsShape = InteractionParamsShape,
|
|
34
|
+
>(fields: readonly string[]): ReadonlyArray<keyof Params & string> {
|
|
35
|
+
return fields as ReadonlyArray<keyof Params & string>;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
export function BoundInteractionForm<
|
|
39
|
+
Params extends InteractionParamsShape = InteractionParamsShape,
|
|
40
|
+
DefaultedKeys extends keyof Params & string = never,
|
|
41
|
+
>({
|
|
42
|
+
descriptor,
|
|
43
|
+
handle,
|
|
44
|
+
...props
|
|
45
|
+
}: BoundInteractionFormProps<Params, DefaultedKeys> & {
|
|
46
|
+
descriptor: InteractionDescriptor;
|
|
47
|
+
handle: InteractionHandle;
|
|
48
|
+
}) {
|
|
49
|
+
return (
|
|
50
|
+
<InteractionForm<Params, DefaultedKeys>
|
|
51
|
+
descriptor={descriptor}
|
|
52
|
+
handle={castInteractionHandle<Params, DefaultedKeys>(handle)}
|
|
53
|
+
{...props}
|
|
54
|
+
/>
|
|
55
|
+
);
|
|
56
|
+
}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import type {
|
|
2
|
+
InteractionHandle,
|
|
3
|
+
InteractionParamsShape,
|
|
4
|
+
} from "../hooks/useInteractionHandle.js";
|
|
5
|
+
|
|
6
|
+
type UnhandledInteractionError = "throw" | "log" | "ignore";
|
|
7
|
+
|
|
8
|
+
interface RunInteractionActionOptions<Result> {
|
|
9
|
+
onSuccess?: (result: Result) => void;
|
|
10
|
+
onError?: (error: unknown) => void;
|
|
11
|
+
unhandledError?: UnhandledInteractionError;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
export interface InteractionSubmitCallbacks {
|
|
15
|
+
onSubmitSuccess?: () => void;
|
|
16
|
+
onSubmitError?: (error: unknown) => void;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export async function runInteractionAction<Result>(
|
|
20
|
+
action: () => Promise<Result>,
|
|
21
|
+
{
|
|
22
|
+
onSuccess,
|
|
23
|
+
onError,
|
|
24
|
+
unhandledError = "throw",
|
|
25
|
+
}: RunInteractionActionOptions<Result> = {},
|
|
26
|
+
): Promise<void> {
|
|
27
|
+
try {
|
|
28
|
+
const result = await action();
|
|
29
|
+
onSuccess?.(result);
|
|
30
|
+
} catch (error) {
|
|
31
|
+
if (onError) {
|
|
32
|
+
onError(error);
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
if (unhandledError === "log") {
|
|
36
|
+
console.error(error);
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
if (unhandledError === "ignore") {
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
throw error;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
export function submitInteractionDraft<
|
|
47
|
+
Params extends InteractionParamsShape = InteractionParamsShape,
|
|
48
|
+
DefaultedKeys extends keyof Params & string = never,
|
|
49
|
+
>(
|
|
50
|
+
handle: InteractionHandle<Params, DefaultedKeys>,
|
|
51
|
+
callbacks: InteractionSubmitCallbacks = {},
|
|
52
|
+
options: { unhandledError?: UnhandledInteractionError } = {},
|
|
53
|
+
): Promise<void> {
|
|
54
|
+
return runInteractionAction(() => handle.submitDraft(), {
|
|
55
|
+
onSuccess: callbacks.onSubmitSuccess,
|
|
56
|
+
onError: callbacks.onSubmitError,
|
|
57
|
+
unhandledError: options.unhandledError,
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
export function submitInteraction<
|
|
62
|
+
Params extends InteractionParamsShape = InteractionParamsShape,
|
|
63
|
+
DefaultedKeys extends keyof Params & string = never,
|
|
64
|
+
>(
|
|
65
|
+
handle: InteractionHandle<Params, DefaultedKeys>,
|
|
66
|
+
callbacks: InteractionSubmitCallbacks = {},
|
|
67
|
+
options: { unhandledError?: UnhandledInteractionError } = {},
|
|
68
|
+
): Promise<void> {
|
|
69
|
+
return runInteractionAction(() => handle.submit(), {
|
|
70
|
+
onSuccess: callbacks.onSubmitSuccess,
|
|
71
|
+
onError: callbacks.onSubmitError,
|
|
72
|
+
unhandledError: options.unhandledError,
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
export function submitInteractionParams<
|
|
77
|
+
Params extends InteractionParamsShape = InteractionParamsShape,
|
|
78
|
+
DefaultedKeys extends keyof Params & string = never,
|
|
79
|
+
>(
|
|
80
|
+
handle: InteractionHandle<Params, DefaultedKeys>,
|
|
81
|
+
params: Params,
|
|
82
|
+
callbacks: InteractionSubmitCallbacks = {},
|
|
83
|
+
options: { unhandledError?: UnhandledInteractionError } = {},
|
|
84
|
+
): Promise<void> {
|
|
85
|
+
return runInteractionAction(() => handle.submit(params), {
|
|
86
|
+
onSuccess: callbacks.onSubmitSuccess,
|
|
87
|
+
onError: callbacks.onSubmitError,
|
|
88
|
+
unhandledError: options.unhandledError,
|
|
89
|
+
});
|
|
90
|
+
}
|