@dxos/plugin-chess 0.6.13-main.ed424a1 → 0.6.13
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/dist/lib/browser/chunk-HLCMCUXF.mjs +18 -0
- package/dist/lib/browser/chunk-HLCMCUXF.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +6 -14
- package/dist/lib/browser/index.mjs.map +3 -3
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/meta.mjs +1 -1
- package/dist/types/src/ChessPlugin.d.ts.map +1 -1
- package/dist/types/src/meta.d.ts +9 -3
- package/dist/types/src/meta.d.ts.map +1 -1
- package/dist/types/src/types.d.ts +1 -2
- package/dist/types/src/types.d.ts.map +1 -1
- package/package.json +20 -20
- package/src/ChessPlugin.tsx +5 -8
- package/src/meta.tsx +18 -0
- package/src/types.ts +1 -3
- package/dist/lib/browser/chunk-SP4YZROV.mjs +0 -14
- package/dist/lib/browser/chunk-SP4YZROV.mjs.map +0 -7
- package/src/meta.ts +0 -14
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
// packages/plugins/plugin-chess/src/meta.tsx
|
|
2
|
+
import { ShieldChevron } from "@phosphor-icons/react";
|
|
3
|
+
import React from "react";
|
|
4
|
+
import { pluginMeta } from "@dxos/app-framework";
|
|
5
|
+
var CHESS_PLUGIN = "dxos.org/plugin/chess";
|
|
6
|
+
var meta_default = pluginMeta({
|
|
7
|
+
id: CHESS_PLUGIN,
|
|
8
|
+
name: "Chess",
|
|
9
|
+
description: "Play chess.",
|
|
10
|
+
iconComponent: (props) => /* @__PURE__ */ React.createElement(ShieldChevron, props),
|
|
11
|
+
iconSymbol: "ph--shield-chevron--regular"
|
|
12
|
+
});
|
|
13
|
+
|
|
14
|
+
export {
|
|
15
|
+
CHESS_PLUGIN,
|
|
16
|
+
meta_default
|
|
17
|
+
};
|
|
18
|
+
//# sourceMappingURL=chunk-HLCMCUXF.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/meta.tsx"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { ShieldChevron, type IconProps } from '@phosphor-icons/react';\nimport React from 'react';\n\nimport { pluginMeta } from '@dxos/app-framework';\n\nexport const CHESS_PLUGIN = 'dxos.org/plugin/chess';\n\nexport default pluginMeta({\n id: CHESS_PLUGIN,\n name: 'Chess',\n description: 'Play chess.',\n iconComponent: (props: IconProps) => <ShieldChevron {...props} />,\n iconSymbol: 'ph--shield-chevron--regular',\n});\n"],
|
|
5
|
+
"mappings": ";AAIA,SAASA,qBAAqC;AAC9C,OAAOC,WAAW;AAElB,SAASC,kBAAkB;AAEpB,IAAMC,eAAe;AAE5B,IAAA,eAAeC,WAAW;EACxBC,IAAIF;EACJG,MAAM;EACNC,aAAa;EACbC,eAAe,CAACC,UAAqB,sBAAA,cAACC,eAAkBD,KAAAA;EACxDE,YAAY;AACd,CAAA;",
|
|
6
|
+
"names": ["ShieldChevron", "React", "pluginMeta", "CHESS_PLUGIN", "pluginMeta", "id", "name", "description", "iconComponent", "props", "ShieldChevron", "iconSymbol"]
|
|
7
|
+
}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import {
|
|
2
2
|
CHESS_PLUGIN,
|
|
3
3
|
meta_default
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-HLCMCUXF.mjs";
|
|
5
5
|
|
|
6
6
|
// packages/plugins/plugin-chess/src/ChessPlugin.tsx
|
|
7
|
+
import { ShieldChevron } from "@phosphor-icons/react";
|
|
7
8
|
import React3 from "react";
|
|
8
9
|
import { resolvePlugin, parseIntentPlugin, NavigationAction } from "@dxos/app-framework";
|
|
9
10
|
import { GameType as GameType2 } from "@dxos/chess-app";
|
|
@@ -186,7 +187,8 @@ var ChessPlugin = () => {
|
|
|
186
187
|
ns: CHESS_PLUGIN
|
|
187
188
|
}
|
|
188
189
|
],
|
|
189
|
-
icon:
|
|
190
|
+
icon: (props) => /* @__PURE__ */ React3.createElement(ShieldChevron, props),
|
|
191
|
+
iconSymbol: "ph--shield-chevron--regular"
|
|
190
192
|
}
|
|
191
193
|
}
|
|
192
194
|
},
|
|
@@ -195,17 +197,6 @@ var ChessPlugin = () => {
|
|
|
195
197
|
GameType2
|
|
196
198
|
]
|
|
197
199
|
},
|
|
198
|
-
space: {
|
|
199
|
-
onSpaceCreate: {
|
|
200
|
-
label: [
|
|
201
|
-
"create game label",
|
|
202
|
-
{
|
|
203
|
-
ns: CHESS_PLUGIN
|
|
204
|
-
}
|
|
205
|
-
],
|
|
206
|
-
action: ChessAction.CREATE
|
|
207
|
-
}
|
|
208
|
-
},
|
|
209
200
|
graph: {
|
|
210
201
|
builder: (plugins) => {
|
|
211
202
|
const client = resolvePlugin(plugins, parseClientPlugin)?.provides.client;
|
|
@@ -252,7 +243,8 @@ var ChessPlugin = () => {
|
|
|
252
243
|
ns: CHESS_PLUGIN
|
|
253
244
|
}
|
|
254
245
|
],
|
|
255
|
-
icon:
|
|
246
|
+
icon: (props) => /* @__PURE__ */ React3.createElement(ShieldChevron, props),
|
|
247
|
+
iconSymbol: "ph--shield-chevron--regular",
|
|
256
248
|
testId: "chessPlugin.createObject"
|
|
257
249
|
}
|
|
258
250
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/ChessPlugin.tsx", "../../../src/components/ChessContainer.tsx", "../../../src/components/Chess.tsx", "../../../src/translations.ts", "../../../src/types.ts", "../../../src/index.ts"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport React from 'react';\n\nimport { type PluginDefinition, resolvePlugin, parseIntentPlugin, NavigationAction } from '@dxos/app-framework';\nimport { GameType } from '@dxos/chess-app';\nimport { create } from '@dxos/echo-schema';\nimport { parseClientPlugin } from '@dxos/plugin-client';\nimport { type ActionGroup, createExtension, isActionGroup } from '@dxos/plugin-graph';\nimport { SpaceAction } from '@dxos/plugin-space';\n\nimport ChessContainer from './components/ChessContainer';\nimport meta, { CHESS_PLUGIN } from './meta';\nimport translations from './translations';\nimport { ChessAction, type ChessPluginProvides, isObject } from './types';\n\nexport const ChessPlugin = (): PluginDefinition<ChessPluginProvides> => {\n return {\n meta,\n provides: {\n metadata: {\n records: {\n [GameType.typename]: {\n placeholder: ['game title placeholder', { ns: CHESS_PLUGIN }],\n icon: 'ph--shield-chevron--regular',\n },\n },\n },\n echo: {\n schema: [GameType],\n },\n
|
|
5
|
-
"mappings": ";;;;;;AAIA,
|
|
6
|
-
"names": ["React", "resolvePlugin", "parseIntentPlugin", "NavigationAction", "GameType", "create", "parseClientPlugin", "createExtension", "isActionGroup", "SpaceAction", "React", "getSpace", "CrownCross", "Chess", "ChessJs", "React", "useEffect", "useState", "Chessboard", "generateName", "invariant", "useMembers", "Input", "Select", "useThemeContext", "getSize", "mx", "useChessModel", "game", "model", "setModel", "pgn", "chess", "loadPgn", "handleUpdate", "move", "space", "playerSelector", "div", "role", "className", "onUpdate", "PlayerSelector", "members", "key", "PlayerSelect", "side", "value", "playerWhite", "onValueChange", "player", "playerBlack", "themeMode", "iconFillMode", "undefined", "Root", "Label", "weight", "aria-label", "TriggerButton", "placeholder", "Portal", "Content", "Viewport", "map", "member", "memberKey", "identity", "identityKey", "toHex", "displayName", "profile", "Option", "ChessContainer", "game", "role", "space", "getSpace", "React", "div", "className", "Chess", "playerSelector", "CHESS_PLUGIN", "GameType", "isReactiveObject", "CHESS_ACTION", "CHESS_PLUGIN", "ChessAction", "isObject", "object", "isReactiveObject", "GameType", "ChessPlugin", "meta", "provides", "metadata", "records", "GameType", "typename", "placeholder", "ns", "CHESS_PLUGIN", "icon", "
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { type IconProps, ShieldChevron } from '@phosphor-icons/react';\nimport React from 'react';\n\nimport { type PluginDefinition, resolvePlugin, parseIntentPlugin, NavigationAction } from '@dxos/app-framework';\nimport { GameType } from '@dxos/chess-app';\nimport { create } from '@dxos/echo-schema';\nimport { parseClientPlugin } from '@dxos/plugin-client';\nimport { type ActionGroup, createExtension, isActionGroup } from '@dxos/plugin-graph';\nimport { SpaceAction } from '@dxos/plugin-space';\n\nimport ChessContainer from './components/ChessContainer';\nimport meta, { CHESS_PLUGIN } from './meta';\nimport translations from './translations';\nimport { ChessAction, type ChessPluginProvides, isObject } from './types';\n\nexport const ChessPlugin = (): PluginDefinition<ChessPluginProvides> => {\n return {\n meta,\n provides: {\n metadata: {\n records: {\n [GameType.typename]: {\n placeholder: ['game title placeholder', { ns: CHESS_PLUGIN }],\n icon: (props: IconProps) => <ShieldChevron {...props} />,\n iconSymbol: 'ph--shield-chevron--regular',\n },\n },\n },\n echo: {\n schema: [GameType],\n },\n graph: {\n builder: (plugins) => {\n const client = resolvePlugin(plugins, parseClientPlugin)?.provides.client;\n const dispatch = resolvePlugin(plugins, parseIntentPlugin)?.provides.intent.dispatch;\n if (!client || !dispatch) {\n return [];\n }\n\n return createExtension({\n id: ChessAction.CREATE,\n filter: (node): node is ActionGroup => isActionGroup(node) && node.id.startsWith(SpaceAction.ADD_OBJECT),\n actions: ({ node }) => {\n const id = node.id.split('/').at(-1);\n const [spaceId, objectId] = id?.split(':') ?? [];\n const space = client.spaces.get().find((space) => space.id === spaceId);\n const object = objectId && space?.db.getObjectById(objectId);\n const target = objectId ? object : space;\n if (!target) {\n return;\n }\n\n return [\n {\n id: `${CHESS_PLUGIN}/create/${node.id}`,\n data: async () => {\n await dispatch([\n { plugin: CHESS_PLUGIN, action: ChessAction.CREATE },\n { action: SpaceAction.ADD_OBJECT, data: { target } },\n { action: NavigationAction.OPEN },\n ]);\n },\n properties: {\n label: ['create game label', { ns: CHESS_PLUGIN }],\n icon: (props: IconProps) => <ShieldChevron {...props} />,\n iconSymbol: 'ph--shield-chevron--regular',\n testId: 'chessPlugin.createObject',\n },\n },\n ];\n },\n });\n },\n },\n translations,\n surface: {\n component: ({ data, role }) => {\n switch (role) {\n case 'article':\n case 'section':\n return isObject(data.object) ? <ChessContainer game={data.object} role={role} /> : null;\n default:\n return null;\n }\n },\n },\n intent: {\n resolver: (intent) => {\n switch (intent.action) {\n case ChessAction.CREATE: {\n return { data: create(GameType, {}) };\n }\n }\n },\n },\n },\n };\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport React, { type ComponentProps } from 'react';\n\nimport { getSpace } from '@dxos/react-client/echo';\n\nimport { Chess } from './Chess';\n\nconst ChessContainer = ({ game, role }: Pick<ComponentProps<typeof Chess>, 'game'> & { role?: string }) => {\n const space = getSpace(game);\n if (!space) {\n return null;\n }\n\n return (\n <div role='none' className='flex flex-col row-span-2 is-full overflow-hidden'>\n <Chess game={game} space={space} playerSelector={role === 'article'} />\n </div>\n );\n};\n\nexport default ChessContainer;\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { CrownCross } from '@phosphor-icons/react';\nimport { Chess as ChessJs } from 'chess.js';\nimport React, { useEffect, useState } from 'react';\n\nimport { Chessboard, type ChessModel, type ChessMove, type GameType } from '@dxos/chess-app';\nimport { generateName } from '@dxos/display-name';\nimport { invariant } from '@dxos/invariant';\nimport { type SpaceMember, useMembers, type Space } from '@dxos/react-client/echo';\nimport { Input, Select, useThemeContext } from '@dxos/react-ui';\nimport { getSize, mx } from '@dxos/react-ui-theme';\n\nconst useChessModel = (game: GameType) => {\n const [model, setModel] = useState<ChessModel>();\n\n useEffect(() => {\n if (!model || game.pgn !== model?.chess.pgn()) {\n const chess = new ChessJs();\n if (game.pgn) {\n chess.loadPgn(game.pgn);\n }\n\n setModel({ chess });\n }\n }, [game.pgn]);\n\n const handleUpdate = (move: ChessMove) => {\n invariant(model);\n if (model.chess.move(move)) {\n game!.pgn = model.chess.pgn();\n setModel({ ...model });\n }\n };\n\n return { model, handleUpdate };\n};\n\nexport const Chess = ({ space, game, playerSelector }: { space: Space; game: GameType; playerSelector?: boolean }) => {\n const { model, handleUpdate } = useChessModel(game);\n if (!model) {\n return null;\n }\n\n return (\n <div role='none' className='grid grid-rows-[60px_1fr_60px] grow overflow-hidden'>\n <div />\n <div className='flex grow justify-center overflow-hidden'>\n <div className='flex grow max-w-[600px] items-center overflow-hidden'>\n <Chessboard model={model} onUpdate={handleUpdate} />\n </div>\n </div>\n {playerSelector && <PlayerSelector game={game} space={space} />}\n </div>\n );\n};\n\nconst PlayerSelector = ({ game, space }: { game: GameType; space: Space }) => {\n const members = useMembers(space.key);\n\n return (\n <div role='none' className='grid grid-cols-2 gap-8'>\n <div role='none' className='flex flex-row-reverse items-center gap-2'>\n <PlayerSelect\n side='white'\n value={game.playerWhite}\n onValueChange={(player) => (game.playerWhite = player)}\n members={members}\n />\n </div>\n <div role='none' className='flex flex-row items-center gap-2'>\n <PlayerSelect\n side='black'\n value={game.playerBlack}\n onValueChange={(player) => (game.playerBlack = player)}\n members={members}\n />\n </div>\n </div>\n );\n};\n\nconst PlayerSelect = ({\n side,\n value,\n onValueChange,\n members,\n}: {\n side: 'white' | 'black';\n value: string | undefined;\n onValueChange: (player: string) => void;\n members: SpaceMember[];\n}) => {\n const { themeMode } = useThemeContext();\n const iconFillMode =\n (side === 'black' && themeMode === 'light') || (side === 'white' && themeMode === 'dark') ? 'fill' : undefined;\n\n return (\n <Input.Root>\n <Input.Label>\n <CrownCross className={mx(getSize(6))} weight={iconFillMode} aria-label={`Chess icon for side ${side}`} />\n </Input.Label>\n <Select.Root value={value} onValueChange={onValueChange}>\n <Select.TriggerButton placeholder={'Select player'} />\n <Select.Portal>\n <Select.Content>\n <Select.Viewport>\n {members.map((member) => {\n const memberKey = member.identity.identityKey.toHex();\n const displayName = member.identity?.profile?.displayName || generateName(memberKey);\n return (\n <Select.Option key={memberKey} value={memberKey}>\n {displayName}\n </Select.Option>\n );\n })}\n </Select.Viewport>\n </Select.Content>\n </Select.Portal>\n </Select.Root>\n </Input.Root>\n );\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { CHESS_PLUGIN } from './meta';\n\nexport default [\n {\n 'en-US': {\n [CHESS_PLUGIN]: {\n 'plugin name': 'Chess',\n 'game title placeholder': 'New game',\n 'create game label': 'Create game',\n 'delete game label': 'Delete',\n },\n },\n },\n];\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport type {\n GraphBuilderProvides,\n IntentResolverProvides,\n MetadataRecordsProvides,\n SurfaceProvides,\n TranslationsProvides,\n} from '@dxos/app-framework';\nimport { GameType } from '@dxos/chess-app';\nimport { isReactiveObject } from '@dxos/echo-schema';\nimport { type SchemaProvides } from '@dxos/plugin-client';\n\nimport { CHESS_PLUGIN } from './meta';\n\nconst CHESS_ACTION = `${CHESS_PLUGIN}/action`;\n\nexport enum ChessAction {\n CREATE = `${CHESS_ACTION}/create`,\n}\n\nexport type ChessProvides = {};\n\nexport type ChessPluginProvides = SurfaceProvides &\n IntentResolverProvides &\n GraphBuilderProvides &\n MetadataRecordsProvides &\n TranslationsProvides &\n SchemaProvides;\n\nexport const isObject = (object: unknown): object is GameType => {\n return isReactiveObject(object) && object instanceof GameType;\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { ChessPlugin } from './ChessPlugin';\n\nexport default ChessPlugin;\n\nexport * from './ChessPlugin';\n"],
|
|
5
|
+
"mappings": ";;;;;;AAIA,SAAyBA,qBAAqB;AAC9C,OAAOC,YAAW;AAElB,SAAgCC,eAAeC,mBAAmBC,wBAAwB;AAC1F,SAASC,YAAAA,iBAAgB;AACzB,SAASC,cAAc;AACvB,SAASC,yBAAyB;AAClC,SAA2BC,iBAAiBC,qBAAqB;AACjE,SAASC,mBAAmB;;;ACR5B,OAAOC,YAAoC;AAE3C,SAASC,gBAAgB;;;ACFzB,SAASC,kBAAkB;AAC3B,SAASC,SAASC,eAAe;AACjC,OAAOC,SAASC,WAAWC,gBAAgB;AAE3C,SAASC,kBAAkE;AAC3E,SAASC,oBAAoB;AAC7B,SAASC,iBAAiB;AAC1B,SAA2BC,kBAA8B;AACzD,SAASC,OAAOC,QAAQC,uBAAuB;AAC/C,SAASC,SAASC,UAAU;;AAE5B,IAAMC,gBAAgB,CAACC,SAAAA;AACrB,QAAM,CAACC,OAAOC,QAAAA,IAAYb,SAAAA;AAE1BD,YAAU,MAAA;AACR,QAAI,CAACa,SAASD,KAAKG,QAAQF,OAAOG,MAAMD,IAAAA,GAAO;AAC7C,YAAMC,QAAQ,IAAIlB,QAAAA;AAClB,UAAIc,KAAKG,KAAK;AACZC,cAAMC,QAAQL,KAAKG,GAAG;MACxB;AAEAD,eAAS;QAAEE;MAAM,CAAA;IACnB;EACF,GAAG;IAACJ,KAAKG;GAAI;AAEb,QAAMG,eAAe,CAACC,SAAAA;AACpBf,cAAUS,OAAAA,QAAAA;;;;;;;;;AACV,QAAIA,MAAMG,MAAMG,KAAKA,IAAAA,GAAO;AAC1BP,WAAMG,MAAMF,MAAMG,MAAMD,IAAG;AAC3BD,eAAS;QAAE,GAAGD;MAAM,CAAA;IACtB;EACF;AAEA,SAAO;IAAEA;IAAOK;EAAa;AAC/B;AAEO,IAAMrB,QAAQ,CAAC,EAAEuB,OAAOR,MAAMS,eAAc,MAA8D;AAC/G,QAAM,EAAER,OAAOK,aAAY,IAAKP,cAAcC,IAAAA;AAC9C,MAAI,CAACC,OAAO;AACV,WAAO;EACT;AAEA,SACE,sBAAA,cAACS,OAAAA;IAAIC,MAAK;IAAOC,WAAU;KACzB,sBAAA,cAACF,OAAAA,IAAAA,GACD,sBAAA,cAACA,OAAAA;IAAIE,WAAU;KACb,sBAAA,cAACF,OAAAA;IAAIE,WAAU;KACb,sBAAA,cAACtB,YAAAA;IAAWW;IAAcY,UAAUP;QAGvCG,kBAAkB,sBAAA,cAACK,gBAAAA;IAAed;IAAYQ;;AAGrD;AAEA,IAAMM,iBAAiB,CAAC,EAAEd,MAAMQ,MAAK,MAAoC;AACvE,QAAMO,UAAUtB,WAAWe,MAAMQ,GAAG;AAEpC,SACE,sBAAA,cAACN,OAAAA;IAAIC,MAAK;IAAOC,WAAU;KACzB,sBAAA,cAACF,OAAAA;IAAIC,MAAK;IAAOC,WAAU;KACzB,sBAAA,cAACK,cAAAA;IACCC,MAAK;IACLC,OAAOnB,KAAKoB;IACZC,eAAe,CAACC,WAAYtB,KAAKoB,cAAcE;IAC/CP;OAGJ,sBAAA,cAACL,OAAAA;IAAIC,MAAK;IAAOC,WAAU;KACzB,sBAAA,cAACK,cAAAA;IACCC,MAAK;IACLC,OAAOnB,KAAKuB;IACZF,eAAe,CAACC,WAAYtB,KAAKuB,cAAcD;IAC/CP;;AAKV;AAEA,IAAME,eAAe,CAAC,EACpBC,MACAC,OACAE,eACAN,QAAO,MAMR;AACC,QAAM,EAAES,UAAS,IAAK5B,gBAAAA;AACtB,QAAM6B,eACHP,SAAS,WAAWM,cAAc,WAAaN,SAAS,WAAWM,cAAc,SAAU,SAASE;AAEvG,SACE,sBAAA,cAAChC,MAAMiC,MAAI,MACT,sBAAA,cAACjC,MAAMkC,OAAK,MACV,sBAAA,cAAC5C,YAAAA;IAAW4B,WAAWd,GAAGD,QAAQ,CAAA,CAAA;IAAKgC,QAAQJ;IAAcK,cAAY,uBAAuBZ,IAAAA;OAElG,sBAAA,cAACvB,OAAOgC,MAAI;IAACR;IAAcE;KACzB,sBAAA,cAAC1B,OAAOoC,eAAa;IAACC,aAAa;MACnC,sBAAA,cAACrC,OAAOsC,QAAM,MACZ,sBAAA,cAACtC,OAAOuC,SAAO,MACb,sBAAA,cAACvC,OAAOwC,UAAQ,MACbpB,QAAQqB,IAAI,CAACC,WAAAA;AACZ,UAAMC,YAAYD,OAAOE,SAASC,YAAYC,MAAK;AACnD,UAAMC,cAAcL,OAAOE,UAAUI,SAASD,eAAenD,aAAa+C,SAAAA;AAC1E,WACE,sBAAA,cAAC3C,OAAOiD,QAAM;MAAC5B,KAAKsB;MAAWnB,OAAOmB;OACnCI,WAAAA;EAGP,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAOd;;;ADlHA,IAAMG,iBAAiB,CAAC,EAAEC,MAAMC,KAAI,MAAkE;AACpG,QAAMC,QAAQC,SAASH,IAAAA;AACvB,MAAI,CAACE,OAAO;AACV,WAAO;EACT;AAEA,SACE,gBAAAE,OAAA,cAACC,OAAAA;IAAIJ,MAAK;IAAOK,WAAU;KACzB,gBAAAF,OAAA,cAACG,OAAAA;IAAMP;IAAYE;IAAcM,gBAAgBP,SAAS;;AAGhE;AAEA,IAAA,yBAAeF;;;AEjBf,IAAA,uBAAe;EACb;IACE,SAAS;MACP,CAACU,YAAAA,GAAe;QACd,eAAe;QACf,0BAA0B;QAC1B,qBAAqB;QACrB,qBAAqB;MACvB;IACF;EACF;;;;ACLF,SAASC,gBAAgB;AACzB,SAASC,wBAAwB;AAKjC,IAAMC,eAAe,GAAGC,YAAAA;;UAEZC,cAAAA;wCACD,GAAGF,YAAAA,SAAqB,IAAA;GADvBE,gBAAAA,cAAAA,CAAAA,EAAAA;AAaL,IAAMC,WAAW,CAACC,WAAAA;AACvB,SAAOC,iBAAiBD,MAAAA,KAAWA,kBAAkBE;AACvD;;;AJfO,IAAMC,cAAc,MAAA;AACzB,SAAO;IACLC;IACAC,UAAU;MACRC,UAAU;QACRC,SAAS;UACP,CAACC,UAASC,QAAQ,GAAG;YACnBC,aAAa;cAAC;cAA0B;gBAAEC,IAAIC;cAAa;;YAC3DC,MAAM,CAACC,UAAqB,gBAAAC,OAAA,cAACC,eAAkBF,KAAAA;YAC/CG,YAAY;UACd;QACF;MACF;MACAC,MAAM;QACJC,QAAQ;UAACX;;MACX;MACAY,OAAO;QACLC,SAAS,CAACC,YAAAA;AACR,gBAAMC,SAASC,cAAcF,SAASG,iBAAAA,GAAoBpB,SAASkB;AACnE,gBAAMG,WAAWF,cAAcF,SAASK,iBAAAA,GAAoBtB,SAASuB,OAAOF;AAC5E,cAAI,CAACH,UAAU,CAACG,UAAU;AACxB,mBAAO,CAAA;UACT;AAEA,iBAAOG,gBAAgB;YACrBC,IAAIC,YAAYC;YAChBC,QAAQ,CAACC,SAA8BC,cAAcD,IAAAA,KAASA,KAAKJ,GAAGM,WAAWC,YAAYC,UAAU;YACvGC,SAAS,CAAC,EAAEL,KAAI,MAAE;AAChB,oBAAMJ,KAAKI,KAAKJ,GAAGU,MAAM,GAAA,EAAKC,GAAG,EAAC;AAClC,oBAAM,CAACC,SAASC,QAAAA,IAAYb,IAAIU,MAAM,GAAA,KAAQ,CAAA;AAC9C,oBAAMI,QAAQrB,OAAOsB,OAAOC,IAAG,EAAGC,KAAK,CAACH,WAAUA,OAAMd,OAAOY,OAAAA;AAC/D,oBAAMM,SAASL,YAAYC,OAAOK,GAAGC,cAAcP,QAAAA;AACnD,oBAAMQ,SAASR,WAAWK,SAASJ;AACnC,kBAAI,CAACO,QAAQ;AACX;cACF;AAEA,qBAAO;gBACL;kBACErB,IAAI,GAAGlB,YAAAA,WAAuBsB,KAAKJ,EAAE;kBACrCsB,MAAM,YAAA;AACJ,0BAAM1B,SAAS;sBACb;wBAAE2B,QAAQzC;wBAAc0C,QAAQvB,YAAYC;sBAAO;sBACnD;wBAAEsB,QAAQjB,YAAYC;wBAAYc,MAAM;0BAAED;wBAAO;sBAAE;sBACnD;wBAAEG,QAAQC,iBAAiBC;sBAAK;qBACjC;kBACH;kBACAC,YAAY;oBACVC,OAAO;sBAAC;sBAAqB;wBAAE/C,IAAIC;sBAAa;;oBAChDC,MAAM,CAACC,UAAqB,gBAAAC,OAAA,cAACC,eAAkBF,KAAAA;oBAC/CG,YAAY;oBACZ0C,QAAQ;kBACV;gBACF;;YAEJ;UACF,CAAA;QACF;MACF;MACAC;MACAC,SAAS;QACPC,WAAW,CAAC,EAAEV,MAAMW,KAAI,MAAE;AACxB,kBAAQA,MAAAA;YACN,KAAK;YACL,KAAK;AACH,qBAAOC,SAASZ,KAAKJ,MAAM,IAAI,gBAAAjC,OAAA,cAACkD,wBAAAA;gBAAeC,MAAMd,KAAKJ;gBAAQe;mBAAiB;YACrF;AACE,qBAAO;UACX;QACF;MACF;MACAnC,QAAQ;QACNuC,UAAU,CAACvC,WAAAA;AACT,kBAAQA,OAAO0B,QAAM;YACnB,KAAKvB,YAAYC,QAAQ;AACvB,qBAAO;gBAAEoB,MAAMgB,OAAO5D,WAAU,CAAC,CAAA;cAAG;YACtC;UACF;QACF;MACF;IACF;EACF;AACF;;;AK/FA,IAAA,cAAe6D;",
|
|
6
|
+
"names": ["ShieldChevron", "React", "resolvePlugin", "parseIntentPlugin", "NavigationAction", "GameType", "create", "parseClientPlugin", "createExtension", "isActionGroup", "SpaceAction", "React", "getSpace", "CrownCross", "Chess", "ChessJs", "React", "useEffect", "useState", "Chessboard", "generateName", "invariant", "useMembers", "Input", "Select", "useThemeContext", "getSize", "mx", "useChessModel", "game", "model", "setModel", "pgn", "chess", "loadPgn", "handleUpdate", "move", "space", "playerSelector", "div", "role", "className", "onUpdate", "PlayerSelector", "members", "key", "PlayerSelect", "side", "value", "playerWhite", "onValueChange", "player", "playerBlack", "themeMode", "iconFillMode", "undefined", "Root", "Label", "weight", "aria-label", "TriggerButton", "placeholder", "Portal", "Content", "Viewport", "map", "member", "memberKey", "identity", "identityKey", "toHex", "displayName", "profile", "Option", "ChessContainer", "game", "role", "space", "getSpace", "React", "div", "className", "Chess", "playerSelector", "CHESS_PLUGIN", "GameType", "isReactiveObject", "CHESS_ACTION", "CHESS_PLUGIN", "ChessAction", "isObject", "object", "isReactiveObject", "GameType", "ChessPlugin", "meta", "provides", "metadata", "records", "GameType", "typename", "placeholder", "ns", "CHESS_PLUGIN", "icon", "props", "React", "ShieldChevron", "iconSymbol", "echo", "schema", "graph", "builder", "plugins", "client", "resolvePlugin", "parseClientPlugin", "dispatch", "parseIntentPlugin", "intent", "createExtension", "id", "ChessAction", "CREATE", "filter", "node", "isActionGroup", "startsWith", "SpaceAction", "ADD_OBJECT", "actions", "split", "at", "spaceId", "objectId", "space", "spaces", "get", "find", "object", "db", "getObjectById", "target", "data", "plugin", "action", "NavigationAction", "OPEN", "properties", "label", "testId", "translations", "surface", "component", "role", "isObject", "ChessContainer", "game", "resolver", "create", "ChessPlugin"]
|
|
7
7
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"inputs":{"packages/plugins/plugin-chess/src/components/Chess.tsx":{"bytes":13998,"imports":[{"path":"@phosphor-icons/react","kind":"import-statement","external":true},{"path":"chess.js","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/chess-app","kind":"import-statement","external":true},{"path":"@dxos/display-name","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true}],"format":"esm"},"packages/plugins/plugin-chess/src/components/ChessContainer.tsx":{"bytes":2328,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-chess/src/components/Chess.tsx","kind":"import-statement","original":"./Chess"}],"format":"esm"},"packages/plugins/plugin-chess/src/meta.
|
|
1
|
+
{"inputs":{"packages/plugins/plugin-chess/src/components/Chess.tsx":{"bytes":13998,"imports":[{"path":"@phosphor-icons/react","kind":"import-statement","external":true},{"path":"chess.js","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/chess-app","kind":"import-statement","external":true},{"path":"@dxos/display-name","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true}],"format":"esm"},"packages/plugins/plugin-chess/src/components/ChessContainer.tsx":{"bytes":2328,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-chess/src/components/Chess.tsx","kind":"import-statement","original":"./Chess"}],"format":"esm"},"packages/plugins/plugin-chess/src/meta.tsx":{"bytes":1870,"imports":[{"path":"@phosphor-icons/react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true}],"format":"esm"},"packages/plugins/plugin-chess/src/translations.ts":{"bytes":1400,"imports":[{"path":"packages/plugins/plugin-chess/src/meta.tsx","kind":"import-statement","original":"./meta"}],"format":"esm"},"packages/plugins/plugin-chess/src/types.ts":{"bytes":2481,"imports":[{"path":"@dxos/chess-app","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-chess/src/meta.tsx","kind":"import-statement","original":"./meta"}],"format":"esm"},"packages/plugins/plugin-chess/src/ChessPlugin.tsx":{"bytes":14687,"imports":[{"path":"@phosphor-icons/react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/chess-app","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/plugin-client","kind":"import-statement","external":true},{"path":"@dxos/plugin-graph","kind":"import-statement","external":true},{"path":"@dxos/plugin-space","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-chess/src/components/ChessContainer.tsx","kind":"import-statement","original":"./components/ChessContainer"},{"path":"packages/plugins/plugin-chess/src/meta.tsx","kind":"import-statement","original":"./meta"},{"path":"packages/plugins/plugin-chess/src/translations.ts","kind":"import-statement","original":"./translations"},{"path":"packages/plugins/plugin-chess/src/types.ts","kind":"import-statement","original":"./types"}],"format":"esm"},"packages/plugins/plugin-chess/src/index.ts":{"bytes":769,"imports":[{"path":"packages/plugins/plugin-chess/src/ChessPlugin.tsx","kind":"import-statement","original":"./ChessPlugin"},{"path":"packages/plugins/plugin-chess/src/ChessPlugin.tsx","kind":"import-statement","original":"./ChessPlugin"}],"format":"esm"}},"outputs":{"packages/plugins/plugin-chess/dist/lib/browser/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":16715},"packages/plugins/plugin-chess/dist/lib/browser/index.mjs":{"imports":[{"path":"packages/plugins/plugin-chess/dist/lib/browser/chunk-HLCMCUXF.mjs","kind":"import-statement"},{"path":"@phosphor-icons/react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/chess-app","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/plugin-client","kind":"import-statement","external":true},{"path":"@dxos/plugin-graph","kind":"import-statement","external":true},{"path":"@dxos/plugin-space","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@phosphor-icons/react","kind":"import-statement","external":true},{"path":"chess.js","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/chess-app","kind":"import-statement","external":true},{"path":"@dxos/display-name","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"@dxos/chess-app","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true}],"exports":["ChessPlugin","default"],"entryPoint":"packages/plugins/plugin-chess/src/index.ts","inputs":{"packages/plugins/plugin-chess/src/ChessPlugin.tsx":{"bytesInOutput":3813},"packages/plugins/plugin-chess/src/components/ChessContainer.tsx":{"bytesInOutput":497},"packages/plugins/plugin-chess/src/components/Chess.tsx":{"bytesInOutput":3992},"packages/plugins/plugin-chess/src/translations.ts":{"bytesInOutput":253},"packages/plugins/plugin-chess/src/types.ts":{"bytesInOutput":400},"packages/plugins/plugin-chess/src/index.ts":{"bytesInOutput":31}},"bytes":9595},"packages/plugins/plugin-chess/dist/lib/browser/meta.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"packages/plugins/plugin-chess/dist/lib/browser/meta.mjs":{"imports":[{"path":"packages/plugins/plugin-chess/dist/lib/browser/chunk-HLCMCUXF.mjs","kind":"import-statement"}],"exports":["CHESS_PLUGIN","default"],"entryPoint":"packages/plugins/plugin-chess/src/meta.tsx","inputs":{},"bytes":159},"packages/plugins/plugin-chess/dist/lib/browser/chunk-HLCMCUXF.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":940},"packages/plugins/plugin-chess/dist/lib/browser/chunk-HLCMCUXF.mjs":{"imports":[{"path":"@phosphor-icons/react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true}],"exports":["CHESS_PLUGIN","meta_default"],"inputs":{"packages/plugins/plugin-chess/src/meta.tsx":{"bytesInOutput":410}},"bytes":544}}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChessPlugin.d.ts","sourceRoot":"","sources":["../../../src/ChessPlugin.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ChessPlugin.d.ts","sourceRoot":"","sources":["../../../src/ChessPlugin.tsx"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,gBAAgB,EAAsD,MAAM,qBAAqB,CAAC;AAUhH,OAAO,EAAe,KAAK,mBAAmB,EAAY,MAAM,SAAS,CAAC;AAE1E,eAAO,MAAM,WAAW,QAAO,gBAAgB,CAAC,mBAAmB,CAkFlE,CAAC"}
|
package/dist/types/src/meta.d.ts
CHANGED
|
@@ -1,9 +1,15 @@
|
|
|
1
|
+
import { type IconProps } from '@phosphor-icons/react';
|
|
2
|
+
import React from 'react';
|
|
1
3
|
export declare const CHESS_PLUGIN = "dxos.org/plugin/chess";
|
|
2
4
|
declare const _default: {
|
|
3
5
|
id: string;
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
6
|
+
shortId?: string;
|
|
7
|
+
name?: string;
|
|
8
|
+
description?: string;
|
|
9
|
+
homePage?: string;
|
|
10
|
+
tags?: string[];
|
|
11
|
+
iconComponent?: React.FC<IconProps>;
|
|
12
|
+
iconSymbol?: string;
|
|
7
13
|
};
|
|
8
14
|
export default _default;
|
|
9
15
|
//# sourceMappingURL=meta.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"meta.d.ts","sourceRoot":"","sources":["../../../src/meta.
|
|
1
|
+
{"version":3,"file":"meta.d.ts","sourceRoot":"","sources":["../../../src/meta.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAiB,KAAK,SAAS,EAAE,MAAM,uBAAuB,CAAC;AACtE,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,eAAO,MAAM,YAAY,0BAA0B,CAAC;;;;;;;;;;;AAEpD,wBAMG"}
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
import type { GraphBuilderProvides, IntentResolverProvides, MetadataRecordsProvides, SurfaceProvides, TranslationsProvides } from '@dxos/app-framework';
|
|
2
2
|
import { GameType } from '@dxos/chess-app';
|
|
3
3
|
import { type SchemaProvides } from '@dxos/plugin-client';
|
|
4
|
-
import { type SpaceInitProvides } from '@dxos/plugin-space';
|
|
5
4
|
export declare enum ChessAction {
|
|
6
5
|
CREATE = "dxos.org/plugin/chess/action/create"
|
|
7
6
|
}
|
|
8
7
|
export type ChessProvides = {};
|
|
9
|
-
export type ChessPluginProvides = SurfaceProvides & IntentResolverProvides & GraphBuilderProvides & MetadataRecordsProvides & TranslationsProvides & SchemaProvides
|
|
8
|
+
export type ChessPluginProvides = SurfaceProvides & IntentResolverProvides & GraphBuilderProvides & MetadataRecordsProvides & TranslationsProvides & SchemaProvides;
|
|
10
9
|
export declare const isObject: (object: unknown) => object is GameType;
|
|
11
10
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,oBAAoB,EACpB,sBAAsB,EACtB,uBAAuB,EACvB,eAAe,EACf,oBAAoB,EACrB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAE3C,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,oBAAoB,EACpB,sBAAsB,EACtB,uBAAuB,EACvB,eAAe,EACf,oBAAoB,EACrB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAE3C,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAM1D,oBAAY,WAAW;IACrB,MAAM,wCAA2B;CAClC;AAED,MAAM,MAAM,aAAa,GAAG,EAAE,CAAC;AAE/B,MAAM,MAAM,mBAAmB,GAAG,eAAe,GAC/C,sBAAsB,GACtB,oBAAoB,GACpB,uBAAuB,GACvB,oBAAoB,GACpB,cAAc,CAAC;AAEjB,eAAO,MAAM,QAAQ,WAAY,OAAO,KAAG,MAAM,IAAI,QAEpD,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dxos/plugin-chess",
|
|
3
|
-
"version": "0.6.13
|
|
3
|
+
"version": "0.6.13",
|
|
4
4
|
"description": "Chess for new plugin",
|
|
5
5
|
"homepage": "https://dxos.org",
|
|
6
6
|
"bugs": "https://github.com/dxos/dxos/issues",
|
|
@@ -31,16 +31,16 @@
|
|
|
31
31
|
"dependencies": {
|
|
32
32
|
"@preact/signals-core": "^1.6.0",
|
|
33
33
|
"chess.js": "^1.0.0-beta.8",
|
|
34
|
-
"@dxos/app-framework": "0.6.13
|
|
35
|
-
"@dxos/async": "0.6.13
|
|
36
|
-
"@dxos/chess-app": "0.6.13
|
|
37
|
-
"@dxos/
|
|
38
|
-
"@dxos/invariant": "0.6.13
|
|
39
|
-
"@dxos/
|
|
40
|
-
"@dxos/
|
|
41
|
-
"@dxos/plugin-graph": "0.6.13
|
|
42
|
-
"@dxos/plugin-space": "0.6.13
|
|
43
|
-
"@dxos/react-client": "0.6.13
|
|
34
|
+
"@dxos/app-framework": "0.6.13",
|
|
35
|
+
"@dxos/async": "0.6.13",
|
|
36
|
+
"@dxos/chess-app": "0.6.13",
|
|
37
|
+
"@dxos/display-name": "0.6.13",
|
|
38
|
+
"@dxos/invariant": "0.6.13",
|
|
39
|
+
"@dxos/echo-schema": "0.6.13",
|
|
40
|
+
"@dxos/plugin-client": "0.6.13",
|
|
41
|
+
"@dxos/plugin-graph": "0.6.13",
|
|
42
|
+
"@dxos/plugin-space": "0.6.13",
|
|
43
|
+
"@dxos/react-client": "0.6.13"
|
|
44
44
|
},
|
|
45
45
|
"devDependencies": {
|
|
46
46
|
"@phosphor-icons/react": "^2.1.5",
|
|
@@ -48,17 +48,17 @@
|
|
|
48
48
|
"@types/react-dom": "~18.2.0",
|
|
49
49
|
"react": "~18.2.0",
|
|
50
50
|
"react-dom": "~18.2.0",
|
|
51
|
-
"vite": "5.4
|
|
52
|
-
"@dxos/react-ui": "0.6.13
|
|
53
|
-
"@dxos/react-ui-theme": "0.6.13
|
|
54
|
-
"@dxos/storybook-utils": "0.6.13
|
|
51
|
+
"vite": "^5.3.4",
|
|
52
|
+
"@dxos/react-ui": "0.6.13",
|
|
53
|
+
"@dxos/react-ui-theme": "0.6.13",
|
|
54
|
+
"@dxos/storybook-utils": "0.6.13"
|
|
55
55
|
},
|
|
56
|
-
"
|
|
56
|
+
"optionalDependencies": {
|
|
57
57
|
"@phosphor-icons/react": "^2.1.5",
|
|
58
|
-
"react": "
|
|
59
|
-
"react-dom": "
|
|
60
|
-
"@dxos/react-ui": "0.6.13
|
|
61
|
-
"@dxos/react-ui-theme": "0.6.13
|
|
58
|
+
"react": "^18.0.0",
|
|
59
|
+
"react-dom": "^18.0.0",
|
|
60
|
+
"@dxos/react-ui": "0.6.13",
|
|
61
|
+
"@dxos/react-ui-theme": "0.6.13"
|
|
62
62
|
},
|
|
63
63
|
"publishConfig": {
|
|
64
64
|
"access": "public"
|
package/src/ChessPlugin.tsx
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
// Copyright 2023 DXOS.org
|
|
3
3
|
//
|
|
4
4
|
|
|
5
|
+
import { type IconProps, ShieldChevron } from '@phosphor-icons/react';
|
|
5
6
|
import React from 'react';
|
|
6
7
|
|
|
7
8
|
import { type PluginDefinition, resolvePlugin, parseIntentPlugin, NavigationAction } from '@dxos/app-framework';
|
|
@@ -24,19 +25,14 @@ export const ChessPlugin = (): PluginDefinition<ChessPluginProvides> => {
|
|
|
24
25
|
records: {
|
|
25
26
|
[GameType.typename]: {
|
|
26
27
|
placeholder: ['game title placeholder', { ns: CHESS_PLUGIN }],
|
|
27
|
-
icon:
|
|
28
|
+
icon: (props: IconProps) => <ShieldChevron {...props} />,
|
|
29
|
+
iconSymbol: 'ph--shield-chevron--regular',
|
|
28
30
|
},
|
|
29
31
|
},
|
|
30
32
|
},
|
|
31
33
|
echo: {
|
|
32
34
|
schema: [GameType],
|
|
33
35
|
},
|
|
34
|
-
space: {
|
|
35
|
-
onSpaceCreate: {
|
|
36
|
-
label: ['create game label', { ns: CHESS_PLUGIN }],
|
|
37
|
-
action: ChessAction.CREATE,
|
|
38
|
-
},
|
|
39
|
-
},
|
|
40
36
|
graph: {
|
|
41
37
|
builder: (plugins) => {
|
|
42
38
|
const client = resolvePlugin(plugins, parseClientPlugin)?.provides.client;
|
|
@@ -70,7 +66,8 @@ export const ChessPlugin = (): PluginDefinition<ChessPluginProvides> => {
|
|
|
70
66
|
},
|
|
71
67
|
properties: {
|
|
72
68
|
label: ['create game label', { ns: CHESS_PLUGIN }],
|
|
73
|
-
icon:
|
|
69
|
+
icon: (props: IconProps) => <ShieldChevron {...props} />,
|
|
70
|
+
iconSymbol: 'ph--shield-chevron--regular',
|
|
74
71
|
testId: 'chessPlugin.createObject',
|
|
75
72
|
},
|
|
76
73
|
},
|
package/src/meta.tsx
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
//
|
|
2
|
+
// Copyright 2023 DXOS.org
|
|
3
|
+
//
|
|
4
|
+
|
|
5
|
+
import { ShieldChevron, type IconProps } from '@phosphor-icons/react';
|
|
6
|
+
import React from 'react';
|
|
7
|
+
|
|
8
|
+
import { pluginMeta } from '@dxos/app-framework';
|
|
9
|
+
|
|
10
|
+
export const CHESS_PLUGIN = 'dxos.org/plugin/chess';
|
|
11
|
+
|
|
12
|
+
export default pluginMeta({
|
|
13
|
+
id: CHESS_PLUGIN,
|
|
14
|
+
name: 'Chess',
|
|
15
|
+
description: 'Play chess.',
|
|
16
|
+
iconComponent: (props: IconProps) => <ShieldChevron {...props} />,
|
|
17
|
+
iconSymbol: 'ph--shield-chevron--regular',
|
|
18
|
+
});
|
package/src/types.ts
CHANGED
|
@@ -12,7 +12,6 @@ import type {
|
|
|
12
12
|
import { GameType } from '@dxos/chess-app';
|
|
13
13
|
import { isReactiveObject } from '@dxos/echo-schema';
|
|
14
14
|
import { type SchemaProvides } from '@dxos/plugin-client';
|
|
15
|
-
import { type SpaceInitProvides } from '@dxos/plugin-space';
|
|
16
15
|
|
|
17
16
|
import { CHESS_PLUGIN } from './meta';
|
|
18
17
|
|
|
@@ -29,8 +28,7 @@ export type ChessPluginProvides = SurfaceProvides &
|
|
|
29
28
|
GraphBuilderProvides &
|
|
30
29
|
MetadataRecordsProvides &
|
|
31
30
|
TranslationsProvides &
|
|
32
|
-
SchemaProvides
|
|
33
|
-
SpaceInitProvides;
|
|
31
|
+
SchemaProvides;
|
|
34
32
|
|
|
35
33
|
export const isObject = (object: unknown): object is GameType => {
|
|
36
34
|
return isReactiveObject(object) && object instanceof GameType;
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
// packages/plugins/plugin-chess/src/meta.ts
|
|
2
|
-
var CHESS_PLUGIN = "dxos.org/plugin/chess";
|
|
3
|
-
var meta_default = {
|
|
4
|
-
id: CHESS_PLUGIN,
|
|
5
|
-
name: "Chess",
|
|
6
|
-
description: "Play chess.",
|
|
7
|
-
icon: "ph--shield-chevron--regular"
|
|
8
|
-
};
|
|
9
|
-
|
|
10
|
-
export {
|
|
11
|
-
CHESS_PLUGIN,
|
|
12
|
-
meta_default
|
|
13
|
-
};
|
|
14
|
-
//# sourceMappingURL=chunk-SP4YZROV.mjs.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/meta.ts"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { type PluginMeta } from '@dxos/app-framework';\n\nexport const CHESS_PLUGIN = 'dxos.org/plugin/chess';\n\nexport default {\n id: CHESS_PLUGIN,\n name: 'Chess',\n description: 'Play chess.',\n icon: 'ph--shield-chevron--regular',\n} satisfies PluginMeta;\n"],
|
|
5
|
-
"mappings": ";AAMO,IAAMA,eAAe;AAE5B,IAAA,eAAe;EACbC,IAAID;EACJE,MAAM;EACNC,aAAa;EACbC,MAAM;AACR;",
|
|
6
|
-
"names": ["CHESS_PLUGIN", "id", "name", "description", "icon"]
|
|
7
|
-
}
|
package/src/meta.ts
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
//
|
|
2
|
-
// Copyright 2023 DXOS.org
|
|
3
|
-
//
|
|
4
|
-
|
|
5
|
-
import { type PluginMeta } from '@dxos/app-framework';
|
|
6
|
-
|
|
7
|
-
export const CHESS_PLUGIN = 'dxos.org/plugin/chess';
|
|
8
|
-
|
|
9
|
-
export default {
|
|
10
|
-
id: CHESS_PLUGIN,
|
|
11
|
-
name: 'Chess',
|
|
12
|
-
description: 'Play chess.',
|
|
13
|
-
icon: 'ph--shield-chevron--regular',
|
|
14
|
-
} satisfies PluginMeta;
|