@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,226 @@
|
|
|
1
|
+
import { bf as ZoneCardRenderItem } from '../ui-contract-iQfTtUSL.js';
|
|
2
|
+
export { B as Board, a as BoardEdgeTarget, b as BoardEdgeTargetProps, c as BoardHexGrid, d as BoardHexGridInteractionFilter, e as BoardHexGridInteractions, f as BoardHexGridProps, g as BoardHexView, h as BoardHexViewProps, i as BoardRoot, j as BoardRootProps, k as BoardSpaceTarget, l as BoardSpaceTargetProps, m as BoardState, n as BoardStateProps, o as BoardTarget, p as BoardTargetExtraInputs, q as BoardTargetProps, r as BoardVertexTarget, s as BoardVertexTargetProps, D as Dice, t as DiceComponents, u as DiceRoot, v as DiceRootProps, w as DiceState, x as DiceValue, y as DiceValues, z as DiceValuesProps, G as Game, C as GameActiveActionState, E as GameChrome, F as GameChromeProps, H as GameChromeState, I as GameMeState, J as GamePendingInputState, K as GamePlayer, L as GamePlayerEntry, M as GamePlayersState, N as GameRenderState, O as GameRoot, P as GameRootProps, Q as GameTurnState, R as Interaction, S as InteractionCardInput, T as InteractionCardInputProps, U as InteractionCardInputRenderState, V as InteractionDescription, W as InteractionDialog, X as InteractionDialogProps, Y as InteractionDialogRenderState, Z as InteractionDialogState, _ as InteractionFieldPrimitiveProps, $ as InteractionFormPrimitive, a0 as InteractionFormPrimitiveProps, a1 as InteractionInput, a2 as InteractionInputProps, a3 as InteractionLabel, a4 as InteractionPartProps, a5 as InteractionRoot, a6 as InteractionRootProps, a7 as InteractionRoute, a8 as InteractionRoutes, a9 as InteractionRoutesMap, aa as InteractionRoutesProps, ab as InteractionState, ac as InteractionStateProps, ad as InteractionStateSnapshot, ae as InteractionSubmit, af as InteractionSubmitProps, ag as InteractionSwitch, ah as InteractionSwitchProps, ai as InteractionSwitchRenderState, aj as InteractionSwitchRouteMap, ak as InteractionTrigger, al as InteractionTriggerProps, am as InteractionUnavailableMessage, an as InteractionValidationMessage, ao as Phase, ap as PhaseFallback, aq as PhaseRouteMap, ar as PhaseSwitch, as as PhaseSwitchProps, at as PlayerRoster, au as PlayerRosterBadge, av as PlayerRosterBadges, aw as PlayerRosterComponents, ax as PlayerRosterEmpty, ay as PlayerRosterEntry, az as PlayerRosterList, aA as PlayerRosterListProps, aB as PlayerRosterName, aC as PlayerRosterPartProps, aD as PlayerRosterRoot, aE as PlayerRosterRootProps, aF as PlayerRosterScore, aG as PlayerRosterSwitchButton, aH as PlayerRosterSwitchButtonProps, aI as PrimitiveCommonProps, aJ as PrimitiveDataAttributes, aK as Prompt, aL as PromptDialog, aM as PromptDialogProps, aN as PromptDialogRenderState, aO as PromptDialogState, aP as PromptInbox, aQ as PromptInboxEmpty, aR as PromptInboxItems, aS as PromptInboxItemsProps, aT as PromptInboxRoot, aU as PromptMessage, aV as PromptOption, aW as PromptOptionProps, aX as PromptOptionRenderItem, aY as PromptOptions, aZ as PromptOptionsProps, a_ as PromptRoot, a$ as PromptRootProps, b0 as PromptTitle, b2 as UI, b4 as UIRoot, b5 as UIRootProps, b6 as UseZoneCardsOptions, b7 as UseZoneCardsResult, b8 as Zone, b9 as ZoneCardAction, ba as ZoneCardActionExtraInputs, bb as ZoneCardActionProps, bc as ZoneCardActionResult, bd as ZoneCardAt, be as ZoneCardAtProps, bg as ZoneItem, bh as ZoneItemProps, bi as ZoneList, bj as ZoneListProps, bk as ZonePileCards, bl as ZonePileCardsProps, bm as ZonePileContextValue, bn as ZonePileCount, bo as ZonePileCountProps, bp as ZonePileDescription, bq as ZonePileDescriptionProps, br as ZonePileLabel, bs as ZonePileLabelProps, bt as ZonePileRoot, bu as ZonePileRootProps, bv as ZonePileTrigger, bw as ZonePileTriggerProps, bx as ZoneRoot, by as ZoneRootProps, bz as ZoneTopCard, bA as ZoneTopCardProps, bB as composeEventHandlers, bC as createZoneCardRenderItem, bD as normalizeDiceState, bE as renderPrimitive, bF as useBoardPrimitiveContext, bG as useDicePrimitiveContext, bH as useGameActionError, bI as useInteractionPrimitiveContext, bJ as useOptionalZonePrimitiveContext, bK as useResolvedCardTargetValue, bL as useZoneCardContext, bM as useZoneCards, bN as useZonePileContext, bO as useZonePrimitiveContext } from '../ui-contract-iQfTtUSL.js';
|
|
3
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
4
|
+
import { ReactNode } from 'react';
|
|
5
|
+
import { a as CardIntent, I as InteractionVisualState, b as HandLayoutKind, c as HandLayoutPolicy, H as HandInteractionPolicy, C as CardDropTargetVisualState } from '../HandView-ncJIVLhN.js';
|
|
6
|
+
import { a as InteractionDescriptor, P as PluginStateSnapshot } from '../runtime-api-DWxvTr-O.js';
|
|
7
|
+
import '../hex-board-view-D_07hO6O.js';
|
|
8
|
+
import '../ui/types/player-state.js';
|
|
9
|
+
import '../cards-Sl3b40Mv.js';
|
|
10
|
+
import '../hex-color-MhOyuY-o.js';
|
|
11
|
+
import '../ThemeProvider-fy0_QzgO.js';
|
|
12
|
+
import '../runtime-api-3dshj6kK.js';
|
|
13
|
+
|
|
14
|
+
interface InteractionDraftReadiness {
|
|
15
|
+
values: Record<string, unknown>;
|
|
16
|
+
missingInputs: readonly string[];
|
|
17
|
+
readyFrontier: readonly string[];
|
|
18
|
+
blockedInputs: readonly string[];
|
|
19
|
+
fieldErrors: Partial<Record<string, readonly string[]>>;
|
|
20
|
+
ready: boolean;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
type RuntimeDropTargetKind = "card" | "space" | "edge" | "vertex" | "tile";
|
|
24
|
+
type CardIntentResult = {
|
|
25
|
+
status: "ignored";
|
|
26
|
+
reason: CardIntentIgnoredReason;
|
|
27
|
+
} | {
|
|
28
|
+
status: "pending";
|
|
29
|
+
descriptor: InteractionDescriptor;
|
|
30
|
+
readiness: InteractionDraftReadiness;
|
|
31
|
+
params: Record<string, unknown>;
|
|
32
|
+
} | {
|
|
33
|
+
status: "submitted";
|
|
34
|
+
descriptor: InteractionDescriptor;
|
|
35
|
+
readiness: InteractionDraftReadiness;
|
|
36
|
+
params: Record<string, unknown>;
|
|
37
|
+
} | {
|
|
38
|
+
status: "submitting";
|
|
39
|
+
descriptor: InteractionDescriptor;
|
|
40
|
+
readiness: InteractionDraftReadiness;
|
|
41
|
+
params: Record<string, unknown>;
|
|
42
|
+
} | {
|
|
43
|
+
status: "error";
|
|
44
|
+
descriptor: InteractionDescriptor;
|
|
45
|
+
error: unknown;
|
|
46
|
+
};
|
|
47
|
+
type CardIntentIgnoredReason = "no-descriptor" | "interaction-unavailable" | "no-card-input" | "card-not-eligible" | "drop-target-not-decodable" | "drop-target-input-unknown" | "drop-target-not-eligible" | "ambiguous-drop" | "already-submitting";
|
|
48
|
+
|
|
49
|
+
type RuntimeCardIntentResult = CardIntentResult;
|
|
50
|
+
/**
|
|
51
|
+
* Author-facing card intent. Mirrors the SDK shape, but for `drop` intents
|
|
52
|
+
* `targetId` is the manifest id (e.g. `"hex-a"`) — the runtime adapter
|
|
53
|
+
* decodes the opaque SDK target id before invoking author callbacks. This
|
|
54
|
+
* matches the type the generated `hand.Hand` facade declares.
|
|
55
|
+
*/
|
|
56
|
+
type AuthoredCardIntent = {
|
|
57
|
+
type: "activate";
|
|
58
|
+
cardId: string;
|
|
59
|
+
source: "tap" | "keyboard";
|
|
60
|
+
} | {
|
|
61
|
+
type: "previewStart";
|
|
62
|
+
cardId: string;
|
|
63
|
+
} | {
|
|
64
|
+
type: "previewEnd";
|
|
65
|
+
cardId: string;
|
|
66
|
+
} | {
|
|
67
|
+
type: "drop";
|
|
68
|
+
cardId: string;
|
|
69
|
+
targetId: string;
|
|
70
|
+
source: "pointer" | "keyboard";
|
|
71
|
+
};
|
|
72
|
+
/**
|
|
73
|
+
* Translate a raw SDK `CardIntent` into the author-facing
|
|
74
|
+
* `AuthoredCardIntent` shape. For drop intents the opaque encoded
|
|
75
|
+
* `targetId` is decoded into its manifest value; non-decodable target
|
|
76
|
+
* ids fall through unchanged so authors can detect and ignore them.
|
|
77
|
+
*/
|
|
78
|
+
declare function decodeAuthoredCardIntent(intent: CardIntent): AuthoredCardIntent;
|
|
79
|
+
interface UseCardIntentAdapterOptions {
|
|
80
|
+
/** Zone the hand is rendering. Used for snapshot lookup. */
|
|
81
|
+
zone: string;
|
|
82
|
+
/**
|
|
83
|
+
* Optional hook for the host to react to the runtime classification of an
|
|
84
|
+
* intent. Useful for confirmation animations or analytics. The intent is
|
|
85
|
+
* already routed by the time this fires. Receives the decoded
|
|
86
|
+
* authored-shape intent so `targetId` is the manifest id, not the SDK
|
|
87
|
+
* opaque encoding.
|
|
88
|
+
*/
|
|
89
|
+
onResult?: (intent: AuthoredCardIntent, result: RuntimeCardIntentResult) => void;
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Bind SDK card intent emission to the canonical runtime collector pipeline.
|
|
93
|
+
*
|
|
94
|
+
* The returned callback accepts the SDK `CardIntent` shape unchanged. The
|
|
95
|
+
* adapter looks up the descriptor for the originating card, atomically
|
|
96
|
+
* applies the card and any decoded drop-target inputs, and routes
|
|
97
|
+
* pending/submitting/submitted classifications through the runtime API.
|
|
98
|
+
*
|
|
99
|
+
* Preview intents are forwarded to the optional `onResult` callback as
|
|
100
|
+
* `ignored` results so authors can attach analytics without owning the
|
|
101
|
+
* routing logic themselves.
|
|
102
|
+
*/
|
|
103
|
+
declare function useCardIntentAdapter({ zone, onResult, }: UseCardIntentAdapterOptions): (intent: CardIntent) => Promise<RuntimeCardIntentResult>;
|
|
104
|
+
|
|
105
|
+
interface RuntimeDropTarget {
|
|
106
|
+
/** Stable opaque id; runtime adapter encodes the inputKey + value here. */
|
|
107
|
+
targetId: string;
|
|
108
|
+
/** Plain text label used by the SDK live-region announcements. */
|
|
109
|
+
label: string;
|
|
110
|
+
/** Optional `CardDropTargetVisualState` overrides. */
|
|
111
|
+
visualState?: CardDropTargetVisualState;
|
|
112
|
+
/** Visible content inside the drop target. */
|
|
113
|
+
render: (state: CardDropTargetVisualState) => ReactNode;
|
|
114
|
+
/** ARIA role override. Defaults to "button". */
|
|
115
|
+
role?: string;
|
|
116
|
+
/** Extra container className. */
|
|
117
|
+
className?: string;
|
|
118
|
+
/** Order hint for keyboard traversal. */
|
|
119
|
+
order?: number;
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Per-hand summary projected alongside the card list. Authors can render
|
|
123
|
+
* counts ("3 of 5 selected") without re-deriving selection state.
|
|
124
|
+
*/
|
|
125
|
+
interface HandSelectionSummary {
|
|
126
|
+
/** How many cards in this hand are part of the active many-select draft. */
|
|
127
|
+
selectedCount: number;
|
|
128
|
+
/** Card ids currently in the many-select draft, in iteration order. */
|
|
129
|
+
selectedIds: readonly string[];
|
|
130
|
+
/**
|
|
131
|
+
* Whether at least one descriptor in this zone has form-side validation
|
|
132
|
+
* errors against the current draft. Authors can use this to render an
|
|
133
|
+
* inline hint without inspecting individual fields.
|
|
134
|
+
*/
|
|
135
|
+
hasInvalidSelection: boolean;
|
|
136
|
+
}
|
|
137
|
+
interface HandSurfaceViewProps<Card extends ZoneCardRenderItem> {
|
|
138
|
+
zone: string;
|
|
139
|
+
cards: readonly Card[];
|
|
140
|
+
/** Visual surface for a single card. */
|
|
141
|
+
renderCard: (card: Card, state: InteractionVisualState, index: number) => ReactNode;
|
|
142
|
+
/**
|
|
143
|
+
* Render-safe slot for selection summary content. Fires during render
|
|
144
|
+
* with the latest projected summary so authors can compose count chrome
|
|
145
|
+
* (e.g. "3 of 5 selected") inline. The returned node is hoisted above
|
|
146
|
+
* the hand region. Use this for visible UI; use `onSelectionSummary`
|
|
147
|
+
* only for analytics or external state mirrors that need an effect.
|
|
148
|
+
*/
|
|
149
|
+
renderSummary?: (summary: HandSelectionSummary) => ReactNode;
|
|
150
|
+
/**
|
|
151
|
+
* Optional selection summary observer. Invoked from a layout effect so
|
|
152
|
+
* consumers may safely call `setState` in response. Use `renderSummary`
|
|
153
|
+
* for inline rendering instead — that path avoids effect-timing
|
|
154
|
+
* surprises.
|
|
155
|
+
*/
|
|
156
|
+
onSelectionSummary?: (summary: HandSelectionSummary) => void;
|
|
157
|
+
/**
|
|
158
|
+
* Render-safe slot for the hand's commit/action chrome (e.g. a submit
|
|
159
|
+
* button for a many-select interaction). Receives the same live summary as
|
|
160
|
+
* `renderSummary`. Rendered below the hand inline on desktop and pinned as a
|
|
161
|
+
* sticky footer inside the mobile dock, so the action stays reachable while
|
|
162
|
+
* the hand is docked. Use this instead of anchoring the action elsewhere on
|
|
163
|
+
* the board, where the dock would otherwise hide it.
|
|
164
|
+
*/
|
|
165
|
+
renderActions?: (summary: HandSelectionSummary) => ReactNode;
|
|
166
|
+
/** Layout policy forwarded to the SDK HandView. */
|
|
167
|
+
layout?: HandLayoutKind | HandLayoutPolicy;
|
|
168
|
+
/** Mobile interaction policy. Defaults to `direct-activate`. */
|
|
169
|
+
mobileInteraction?: HandInteractionPolicy;
|
|
170
|
+
/**
|
|
171
|
+
* Drop targets to render around the hand. When provided, the hand renders
|
|
172
|
+
* inside a `CardDragSurface` so SDK `drop` intents arrive with an opaque
|
|
173
|
+
* target id that the runtime adapter can decode.
|
|
174
|
+
*/
|
|
175
|
+
dropTargets?: readonly RuntimeDropTarget[];
|
|
176
|
+
/**
|
|
177
|
+
* Optional outer chrome around the drop targets, when `dropTargets` is
|
|
178
|
+
* provided. Defaults to a flex row above the hand.
|
|
179
|
+
*/
|
|
180
|
+
renderDropTargets?: (children: ReactNode) => ReactNode;
|
|
181
|
+
/** Card width hint forwarded to the SDK HandView. */
|
|
182
|
+
cardSize?: "sm" | "md" | "lg";
|
|
183
|
+
/** Extra empty-state slot. */
|
|
184
|
+
renderEmpty?: () => ReactNode;
|
|
185
|
+
/** ARIA label for the hand region. */
|
|
186
|
+
ariaLabel?: string;
|
|
187
|
+
/**
|
|
188
|
+
* Optional analytics hook. Receives the decoded authored intent (so
|
|
189
|
+
* `targetId` is the manifest value, not the SDK opaque encoding) plus
|
|
190
|
+
* the runtime classification.
|
|
191
|
+
*/
|
|
192
|
+
onIntentRouted?: (intent: AuthoredCardIntent, result: RuntimeCardIntentResult) => void;
|
|
193
|
+
className?: string;
|
|
194
|
+
}
|
|
195
|
+
/**
|
|
196
|
+
* Generated hand presentation entry point.
|
|
197
|
+
*
|
|
198
|
+
* Lives in `ui-runtime` because it owns:
|
|
199
|
+
*
|
|
200
|
+
* - mapping descriptor/draft state into SDK `InteractionVisualState`
|
|
201
|
+
* - hiding selected cards from the visible hand layout while the runtime keeps
|
|
202
|
+
* the actual zone snapshot intact
|
|
203
|
+
* - forwarding SDK `CardIntent` through the canonical collector adapter
|
|
204
|
+
*
|
|
205
|
+
* The component is intentionally Dreamboard-aware. The presentational
|
|
206
|
+
* pieces (`HandView`, `CardDragSurface`, `CardDropTargetView`) come from
|
|
207
|
+
* `@dreamboard-games/sdk/ui` and stay descriptor/draft unaware.
|
|
208
|
+
*/
|
|
209
|
+
declare function HandSurfaceView<Card extends ZoneCardRenderItem>({ zone, cards, renderCard, layout, mobileInteraction, dropTargets, renderDropTargets, cardSize, renderEmpty, ariaLabel, onIntentRouted, onSelectionSummary, renderSummary, renderActions, className, }: HandSurfaceViewProps<Card>): react_jsx_runtime.JSX.Element;
|
|
210
|
+
/**
|
|
211
|
+
* Convenience helper for builders of generated hand surfaces. Encodes a
|
|
212
|
+
* typed target kind plus value into the opaque `targetId` that the SDK
|
|
213
|
+
* presents to its drop pipeline. The runtime adapter resolves the kind to
|
|
214
|
+
* the matching descriptor input at drop time, so authors never need to
|
|
215
|
+
* know collector input names. Generated typed targets call this internally.
|
|
216
|
+
*/
|
|
217
|
+
declare function dropTargetIdFor(kind: RuntimeDropTargetKind, value: string): string;
|
|
218
|
+
/**
|
|
219
|
+
* Determine whether any descriptor in the available list expects a board or
|
|
220
|
+
* card destination input alongside a card target. Used by generated facades
|
|
221
|
+
* to decide whether to mount a drag surface even before the author wires
|
|
222
|
+
* dropTargets.
|
|
223
|
+
*/
|
|
224
|
+
declare function descriptorsHaveDestinationInput(state: PluginStateSnapshot): boolean;
|
|
225
|
+
|
|
226
|
+
export { type AuthoredCardIntent, HandSurfaceView, type HandSurfaceViewProps, type RuntimeCardIntentResult, type RuntimeDropTarget, type UseCardIntentAdapterOptions, ZoneCardRenderItem, decodeAuthoredCardIntent, descriptorsHaveDestinationInput, dropTargetIdFor, useCardIntentAdapter };
|
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
import "../chunk-T52J5RMF.js";
|
|
2
|
+
import {
|
|
3
|
+
Board,
|
|
4
|
+
BoardEdgeTarget,
|
|
5
|
+
BoardHexGrid,
|
|
6
|
+
BoardHexView,
|
|
7
|
+
BoardRoot,
|
|
8
|
+
BoardSpaceTarget,
|
|
9
|
+
BoardState,
|
|
10
|
+
BoardTarget,
|
|
11
|
+
BoardVertexTarget,
|
|
12
|
+
Dice,
|
|
13
|
+
DiceRoot,
|
|
14
|
+
DiceValues,
|
|
15
|
+
Game,
|
|
16
|
+
GameChrome,
|
|
17
|
+
GameRoot,
|
|
18
|
+
HandSurfaceView,
|
|
19
|
+
Interaction,
|
|
20
|
+
InteractionCardInput,
|
|
21
|
+
InteractionDescription,
|
|
22
|
+
InteractionDialog,
|
|
23
|
+
InteractionFormPrimitive,
|
|
24
|
+
InteractionInput,
|
|
25
|
+
InteractionLabel,
|
|
26
|
+
InteractionRoot,
|
|
27
|
+
InteractionRoutes,
|
|
28
|
+
InteractionState,
|
|
29
|
+
InteractionSubmit,
|
|
30
|
+
InteractionSwitch,
|
|
31
|
+
InteractionTrigger,
|
|
32
|
+
InteractionUnavailableMessage,
|
|
33
|
+
InteractionValidationMessage,
|
|
34
|
+
Phase,
|
|
35
|
+
PhaseSwitch,
|
|
36
|
+
PlayerRoster,
|
|
37
|
+
PlayerRosterBadges,
|
|
38
|
+
PlayerRosterEmpty,
|
|
39
|
+
PlayerRosterList,
|
|
40
|
+
PlayerRosterName,
|
|
41
|
+
PlayerRosterRoot,
|
|
42
|
+
PlayerRosterScore,
|
|
43
|
+
PlayerRosterSwitchButton,
|
|
44
|
+
Prompt,
|
|
45
|
+
PromptDialog,
|
|
46
|
+
PromptInbox,
|
|
47
|
+
PromptInboxEmpty,
|
|
48
|
+
PromptInboxItems,
|
|
49
|
+
PromptInboxRoot,
|
|
50
|
+
PromptMessage,
|
|
51
|
+
PromptOption,
|
|
52
|
+
PromptOptions,
|
|
53
|
+
PromptRoot,
|
|
54
|
+
PromptTitle,
|
|
55
|
+
UI,
|
|
56
|
+
UIRoot,
|
|
57
|
+
Zone,
|
|
58
|
+
ZoneCardAction,
|
|
59
|
+
ZoneCardAt,
|
|
60
|
+
ZoneItem,
|
|
61
|
+
ZoneList,
|
|
62
|
+
ZonePileCards,
|
|
63
|
+
ZonePileCount,
|
|
64
|
+
ZonePileDescription,
|
|
65
|
+
ZonePileLabel,
|
|
66
|
+
ZonePileRoot,
|
|
67
|
+
ZonePileTrigger,
|
|
68
|
+
ZoneRoot,
|
|
69
|
+
ZoneTopCard,
|
|
70
|
+
composeEventHandlers,
|
|
71
|
+
createZoneCardRenderItem,
|
|
72
|
+
decodeAuthoredCardIntent,
|
|
73
|
+
descriptorsHaveDestinationInput,
|
|
74
|
+
dropTargetIdFor,
|
|
75
|
+
normalizeDiceState,
|
|
76
|
+
renderPrimitive,
|
|
77
|
+
useBoardPrimitiveContext,
|
|
78
|
+
useCardIntentAdapter,
|
|
79
|
+
useDicePrimitiveContext,
|
|
80
|
+
useGameActionError,
|
|
81
|
+
useInteractionPrimitiveContext,
|
|
82
|
+
useOptionalZonePrimitiveContext,
|
|
83
|
+
useResolvedCardTargetValue,
|
|
84
|
+
useZoneCardContext,
|
|
85
|
+
useZoneCards,
|
|
86
|
+
useZonePileContext,
|
|
87
|
+
useZonePrimitiveContext
|
|
88
|
+
} from "../chunk-TDSWKVZ4.js";
|
|
89
|
+
import "../chunk-KAELH4KC.js";
|
|
90
|
+
import "../chunk-WYPQ3GG5.js";
|
|
91
|
+
import "../chunk-VDXOF4FW.js";
|
|
92
|
+
import "../chunk-PZ5AY32C.js";
|
|
93
|
+
export {
|
|
94
|
+
Board,
|
|
95
|
+
BoardEdgeTarget,
|
|
96
|
+
BoardHexGrid,
|
|
97
|
+
BoardHexView,
|
|
98
|
+
BoardRoot,
|
|
99
|
+
BoardSpaceTarget,
|
|
100
|
+
BoardState,
|
|
101
|
+
BoardTarget,
|
|
102
|
+
BoardVertexTarget,
|
|
103
|
+
Dice,
|
|
104
|
+
DiceRoot,
|
|
105
|
+
DiceValues,
|
|
106
|
+
Game,
|
|
107
|
+
GameChrome,
|
|
108
|
+
GameRoot,
|
|
109
|
+
HandSurfaceView,
|
|
110
|
+
Interaction,
|
|
111
|
+
InteractionCardInput,
|
|
112
|
+
InteractionDescription,
|
|
113
|
+
InteractionDialog,
|
|
114
|
+
InteractionFormPrimitive,
|
|
115
|
+
InteractionInput,
|
|
116
|
+
InteractionLabel,
|
|
117
|
+
InteractionRoot,
|
|
118
|
+
InteractionRoutes,
|
|
119
|
+
InteractionState,
|
|
120
|
+
InteractionSubmit,
|
|
121
|
+
InteractionSwitch,
|
|
122
|
+
InteractionTrigger,
|
|
123
|
+
InteractionUnavailableMessage,
|
|
124
|
+
InteractionValidationMessage,
|
|
125
|
+
Phase,
|
|
126
|
+
PhaseSwitch,
|
|
127
|
+
PlayerRoster,
|
|
128
|
+
PlayerRosterBadges,
|
|
129
|
+
PlayerRosterEmpty,
|
|
130
|
+
PlayerRosterList,
|
|
131
|
+
PlayerRosterName,
|
|
132
|
+
PlayerRosterRoot,
|
|
133
|
+
PlayerRosterScore,
|
|
134
|
+
PlayerRosterSwitchButton,
|
|
135
|
+
Prompt,
|
|
136
|
+
PromptDialog,
|
|
137
|
+
PromptInbox,
|
|
138
|
+
PromptInboxEmpty,
|
|
139
|
+
PromptInboxItems,
|
|
140
|
+
PromptInboxRoot,
|
|
141
|
+
PromptMessage,
|
|
142
|
+
PromptOption,
|
|
143
|
+
PromptOptions,
|
|
144
|
+
PromptRoot,
|
|
145
|
+
PromptTitle,
|
|
146
|
+
UI,
|
|
147
|
+
UIRoot,
|
|
148
|
+
Zone,
|
|
149
|
+
ZoneCardAction,
|
|
150
|
+
ZoneCardAt,
|
|
151
|
+
ZoneItem,
|
|
152
|
+
ZoneList,
|
|
153
|
+
ZonePileCards,
|
|
154
|
+
ZonePileCount,
|
|
155
|
+
ZonePileDescription,
|
|
156
|
+
ZonePileLabel,
|
|
157
|
+
ZonePileRoot,
|
|
158
|
+
ZonePileTrigger,
|
|
159
|
+
ZoneRoot,
|
|
160
|
+
ZoneTopCard,
|
|
161
|
+
composeEventHandlers,
|
|
162
|
+
createZoneCardRenderItem,
|
|
163
|
+
decodeAuthoredCardIntent,
|
|
164
|
+
descriptorsHaveDestinationInput,
|
|
165
|
+
dropTargetIdFor,
|
|
166
|
+
normalizeDiceState,
|
|
167
|
+
renderPrimitive,
|
|
168
|
+
useBoardPrimitiveContext,
|
|
169
|
+
useCardIntentAdapter,
|
|
170
|
+
useDicePrimitiveContext,
|
|
171
|
+
useGameActionError,
|
|
172
|
+
useInteractionPrimitiveContext,
|
|
173
|
+
useOptionalZonePrimitiveContext,
|
|
174
|
+
useResolvedCardTargetValue,
|
|
175
|
+
useZoneCardContext,
|
|
176
|
+
useZoneCards,
|
|
177
|
+
useZonePileContext,
|
|
178
|
+
useZonePrimitiveContext
|
|
179
|
+
};
|
|
180
|
+
//# sourceMappingURL=primitives.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { a as PluginSessionState, R as RuntimeAPI, S as SubmissionError, V as ValidationResult } from '../../runtime-api-3dshj6kK.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
export { DreamboardUI, TypedGame, UIContract } from '../runtime.js';
|
|
2
|
+
import { l as BoardSpaceTargetProps, bj as ZoneListProps, b3 as UIContract } from '../ui-contract-iQfTtUSL.js';
|
|
3
|
+
export { f as BoardHexGridProps, h as BoardHexViewProps, I as GameMeState, M as GamePlayersState, N as GameRenderState, Q as GameTurnState, b5 as UIRootProps, bf as ZoneCardRenderItem } from '../ui-contract-iQfTtUSL.js';
|
|
4
|
+
import { H as HandRole } from '../ResourceCounter-CTREyF73.js';
|
|
5
|
+
export { b as ResourceCounterComponents } from '../ResourceCounter-CTREyF73.js';
|
|
6
|
+
import '../runtime-api-DWxvTr-O.js';
|
|
7
|
+
import { ReactNode, ReactElement, ButtonHTMLAttributes } from 'react';
|
|
8
|
+
import 'react/jsx-runtime';
|
|
9
|
+
import '../hex-board-view-D_07hO6O.js';
|
|
10
|
+
import '../ui/types/player-state.js';
|
|
11
|
+
import '../cards-Sl3b40Mv.js';
|
|
12
|
+
import '../hex-color-MhOyuY-o.js';
|
|
13
|
+
import '../ThemeProvider-fy0_QzgO.js';
|
|
14
|
+
import '../runtime-api-3dshj6kK.js';
|
|
15
|
+
import '../primitive-props-DpKs-GCr.js';
|
|
16
|
+
|
|
17
|
+
interface ClientParamSchema {
|
|
18
|
+
safeParse: (value: unknown) => {
|
|
19
|
+
success: true;
|
|
20
|
+
data: Record<string, unknown>;
|
|
21
|
+
} | {
|
|
22
|
+
success: false;
|
|
23
|
+
error: {
|
|
24
|
+
issues: ReadonlyArray<{
|
|
25
|
+
path: readonly PropertyKey[];
|
|
26
|
+
message: string;
|
|
27
|
+
}>;
|
|
28
|
+
};
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
type ClientParamSchemaMap = Readonly<Record<string, Readonly<Record<string, ClientParamSchema>>>>;
|
|
32
|
+
|
|
33
|
+
type WorkspaceInteractionSlotComponent<Props = object> = (props: Props extends {
|
|
34
|
+
children: unknown;
|
|
35
|
+
} ? Props : Props & {
|
|
36
|
+
children?: ReactNode;
|
|
37
|
+
}) => ReactElement | null;
|
|
38
|
+
interface WorkspaceFormInputSlot<Input extends string = string> {
|
|
39
|
+
readonly Field: WorkspaceInteractionSlotComponent;
|
|
40
|
+
readonly Options: WorkspaceInteractionSlotComponent<{
|
|
41
|
+
children?: (option: {
|
|
42
|
+
value: unknown;
|
|
43
|
+
label: string;
|
|
44
|
+
}) => ReactNode;
|
|
45
|
+
}>;
|
|
46
|
+
readonly Value: WorkspaceInteractionSlotComponent<{
|
|
47
|
+
children: (value: unknown | undefined) => ReactNode;
|
|
48
|
+
}>;
|
|
49
|
+
readonly Default: WorkspaceInteractionSlotComponent;
|
|
50
|
+
readonly __input?: Input;
|
|
51
|
+
}
|
|
52
|
+
interface WorkspaceCardInputSlot<Card extends string = string> {
|
|
53
|
+
readonly Card: WorkspaceInteractionSlotComponent<{
|
|
54
|
+
value: Card;
|
|
55
|
+
} & Omit<ButtonHTMLAttributes<HTMLButtonElement>, "children" | "disabled" | "aria-disabled" | "aria-pressed" | "onClick" | "type" | "value">>;
|
|
56
|
+
readonly Cards: WorkspaceInteractionSlotComponent<{
|
|
57
|
+
children: (card: {
|
|
58
|
+
id: Card;
|
|
59
|
+
}) => ReactNode;
|
|
60
|
+
}>;
|
|
61
|
+
readonly Value: WorkspaceInteractionSlotComponent<{
|
|
62
|
+
children: (value: unknown | undefined) => ReactNode;
|
|
63
|
+
}>;
|
|
64
|
+
readonly Default: WorkspaceInteractionSlotComponent;
|
|
65
|
+
}
|
|
66
|
+
interface WorkspaceBoardTargetInputSlot<Kind extends "space" | "edge" | "vertex" | "tile", Target extends string = string> {
|
|
67
|
+
readonly Target: WorkspaceInteractionSlotComponent<{
|
|
68
|
+
value: Target;
|
|
69
|
+
} & Omit<ButtonHTMLAttributes<HTMLButtonElement>, "children" | "disabled" | "aria-disabled" | "aria-pressed" | "onClick" | "type" | "value">>;
|
|
70
|
+
readonly Value: WorkspaceInteractionSlotComponent<{
|
|
71
|
+
children: (value: unknown | undefined) => ReactNode;
|
|
72
|
+
}>;
|
|
73
|
+
readonly Default: WorkspaceInteractionSlotComponent;
|
|
74
|
+
readonly __kind?: Kind;
|
|
75
|
+
}
|
|
76
|
+
interface WorkspaceBoardSurface<Space extends string = string, Edge extends string = string, Vertex extends string = string, Tile extends string = string> {
|
|
77
|
+
readonly Root: WorkspaceInteractionSlotComponent;
|
|
78
|
+
readonly Space: <Target extends Space>(props: BoardSpaceTargetProps<Target>) => ReactElement | null;
|
|
79
|
+
readonly slot: {
|
|
80
|
+
readonly space: WorkspaceBoardTargetInputSlot<"space", Space>;
|
|
81
|
+
readonly playerSpace: WorkspaceBoardTargetInputSlot<"space", Space>;
|
|
82
|
+
readonly edge: WorkspaceBoardTargetInputSlot<"edge", Edge>;
|
|
83
|
+
readonly vertex: WorkspaceBoardTargetInputSlot<"vertex", Vertex>;
|
|
84
|
+
readonly tile: WorkspaceBoardTargetInputSlot<"tile", Tile>;
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
type WorkspaceZoneCardsComponent<Card> = WorkspaceInteractionSlotComponent<Omit<ZoneListProps, "children" | "empty"> & {
|
|
88
|
+
empty?: ReactNode;
|
|
89
|
+
children: (card: Card) => ReactNode;
|
|
90
|
+
}>;
|
|
91
|
+
type WorkspaceZoneCardComponent<Card> = WorkspaceInteractionSlotComponent<Omit<ButtonHTMLAttributes<HTMLButtonElement>, "type" | "value"> & {
|
|
92
|
+
card: Card;
|
|
93
|
+
}>;
|
|
94
|
+
type WorkspaceZoneStagingComponent<Card> = WorkspaceInteractionSlotComponent<{
|
|
95
|
+
children: (card: Card) => ReactNode;
|
|
96
|
+
label?: ReactNode;
|
|
97
|
+
renderEmptySlot?: (index: number) => ReactNode;
|
|
98
|
+
cardSize?: "sm" | "md" | "lg";
|
|
99
|
+
ariaLabel?: string;
|
|
100
|
+
className?: string;
|
|
101
|
+
}>;
|
|
102
|
+
interface WorkspaceHandSurface<Zone extends string, Card> {
|
|
103
|
+
readonly Hand: WorkspaceZoneCardsComponent<Card>;
|
|
104
|
+
readonly Card: WorkspaceZoneCardComponent<Card>;
|
|
105
|
+
readonly Staging: WorkspaceZoneStagingComponent<Card>;
|
|
106
|
+
readonly slot: {
|
|
107
|
+
readonly card: WorkspaceCardInputSlot<Zone>;
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
interface WorkspacePileSurface<Card> {
|
|
111
|
+
readonly Pile: WorkspaceZoneCardsComponent<Card>;
|
|
112
|
+
readonly Card: WorkspaceZoneCardComponent<Card>;
|
|
113
|
+
}
|
|
114
|
+
interface WorkspaceCardCollectionSurface<Zone extends string, Card> {
|
|
115
|
+
readonly Collection: WorkspaceZoneCardsComponent<Card>;
|
|
116
|
+
readonly Card: WorkspaceZoneCardComponent<Card>;
|
|
117
|
+
readonly slot: {
|
|
118
|
+
readonly card: WorkspaceCardInputSlot<Zone>;
|
|
119
|
+
};
|
|
120
|
+
}
|
|
121
|
+
interface WorkspaceBoardSurfaceDescriptor<Board extends string = string> {
|
|
122
|
+
readonly kind: "board";
|
|
123
|
+
readonly board: Board;
|
|
124
|
+
}
|
|
125
|
+
interface WorkspaceHandSurfaceDescriptor<Zone extends string = string> {
|
|
126
|
+
readonly kind: "hand";
|
|
127
|
+
readonly zone: Zone;
|
|
128
|
+
readonly role: HandRole;
|
|
129
|
+
readonly label: string;
|
|
130
|
+
readonly order?: number;
|
|
131
|
+
}
|
|
132
|
+
interface WorkspacePileSurfaceDescriptor<Zone extends string = string> {
|
|
133
|
+
readonly kind: "pile";
|
|
134
|
+
readonly zone: Zone;
|
|
135
|
+
}
|
|
136
|
+
interface WorkspacePilesSurfaceDescriptor<Zones extends readonly string[] = readonly string[]> {
|
|
137
|
+
readonly kind: "piles";
|
|
138
|
+
readonly zones: Zones;
|
|
139
|
+
}
|
|
140
|
+
interface WorkspaceCardCollectionSurfaceDescriptor<Zones extends readonly string[] = readonly string[]> {
|
|
141
|
+
readonly kind: "cardCollection";
|
|
142
|
+
readonly zones: Zones;
|
|
143
|
+
readonly mode?: "all" | "top-card";
|
|
144
|
+
}
|
|
145
|
+
interface WorkspaceInteractionFormsDescriptor<Interactions extends Readonly<Record<string, string>> = Readonly<Record<string, string>>> {
|
|
146
|
+
readonly kind: "forms";
|
|
147
|
+
readonly interactions: Interactions;
|
|
148
|
+
}
|
|
149
|
+
interface WorkspaceInteractionFormDescriptor<Interaction extends string = string> {
|
|
150
|
+
readonly kind: "form";
|
|
151
|
+
readonly interaction: Interaction;
|
|
152
|
+
}
|
|
153
|
+
type WorkspaceSurfaceDescriptor = WorkspaceBoardSurfaceDescriptor | WorkspaceHandSurfaceDescriptor | WorkspacePileSurfaceDescriptor | WorkspacePilesSurfaceDescriptor | WorkspaceCardCollectionSurfaceDescriptor | WorkspaceInteractionFormDescriptor | WorkspaceInteractionFormsDescriptor;
|
|
154
|
+
interface WorkspaceSurfaceSpec {
|
|
155
|
+
readonly [key: string]: WorkspaceSurfaceDescriptor | WorkspaceSurfaceSpec;
|
|
156
|
+
}
|
|
157
|
+
interface WorkspaceContractOptions<Contract extends UIContract, Resource extends string, Card, HexBoards extends Record<string, unknown>> {
|
|
158
|
+
readonly uiContract: Contract;
|
|
159
|
+
readonly clientParamSchemasByPhase?: ClientParamSchemaMap;
|
|
160
|
+
readonly formInputKeysForInteraction: (interaction: string) => ReadonlySet<string>;
|
|
161
|
+
readonly resourceIds: readonly Resource[];
|
|
162
|
+
readonly resourcePresentationById?: Partial<Record<string, {
|
|
163
|
+
label?: string;
|
|
164
|
+
icon?: string;
|
|
165
|
+
}>>;
|
|
166
|
+
readonly hexStaticBoards: HexBoards;
|
|
167
|
+
readonly cardIdFromZoneCard: (card: Card) => string;
|
|
168
|
+
readonly zoneIdFromZoneCard: (card: Card) => string;
|
|
169
|
+
}
|
|
170
|
+
declare function createWorkspaceUIContract<WorkspaceUI, Contract extends UIContract, Resource extends string, Card, HexBoards extends Record<string, unknown>>(options: WorkspaceContractOptions<Contract, Resource, Card, HexBoards>): WorkspaceUI;
|
|
171
|
+
|
|
172
|
+
export { BoardSpaceTargetProps, type ClientParamSchemaMap, type WorkspaceBoardSurface, type WorkspaceBoardSurfaceDescriptor, type WorkspaceBoardTargetInputSlot, type WorkspaceCardCollectionSurface, type WorkspaceCardCollectionSurfaceDescriptor, type WorkspaceCardInputSlot, type WorkspaceFormInputSlot, type WorkspaceHandSurface, type WorkspaceHandSurfaceDescriptor, type WorkspaceInteractionFormDescriptor, type WorkspaceInteractionFormsDescriptor, type WorkspaceInteractionSlotComponent, type WorkspacePileSurface, type WorkspacePileSurfaceDescriptor, type WorkspacePilesSurfaceDescriptor, type WorkspaceSurfaceSpec, ZoneListProps, createWorkspaceUIContract };
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import {
|
|
2
|
+
createWorkspaceUIContract
|
|
3
|
+
} from "../chunk-GKKBPPSW.js";
|
|
4
|
+
import "../chunk-T3ZKNUZ7.js";
|
|
5
|
+
import "../chunk-U5C6BONG.js";
|
|
6
|
+
import "../chunk-TDSWKVZ4.js";
|
|
7
|
+
import "../chunk-KAELH4KC.js";
|
|
8
|
+
import "../chunk-WYPQ3GG5.js";
|
|
9
|
+
import "../chunk-VDXOF4FW.js";
|
|
10
|
+
import "../chunk-PZ5AY32C.js";
|
|
11
|
+
export {
|
|
12
|
+
createWorkspaceUIContract
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=workspace-contract.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|