@dxos/plugin-chess 0.7.5-main.9d26e3a → 0.7.5-main.e9bb01b

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (110) hide show
  1. package/dist/lib/browser/ChessContainer-LPMACR6Y.mjs +106 -0
  2. package/dist/lib/browser/ChessContainer-LPMACR6Y.mjs.map +7 -0
  3. package/dist/lib/browser/{chunk-3UQBTNX5.mjs → chunk-SINRYD72.mjs} +18 -5
  4. package/dist/lib/browser/chunk-SINRYD72.mjs.map +7 -0
  5. package/dist/lib/browser/index.mjs +49 -561
  6. package/dist/lib/browser/index.mjs.map +4 -4
  7. package/dist/lib/browser/intent-resolver-F36MGVEQ.mjs +22 -0
  8. package/dist/lib/browser/intent-resolver-F36MGVEQ.mjs.map +7 -0
  9. package/dist/lib/browser/meta.json +1 -1
  10. package/dist/lib/browser/react-surface-ADVIWGEE.mjs +30 -0
  11. package/dist/lib/browser/react-surface-ADVIWGEE.mjs.map +7 -0
  12. package/dist/lib/browser/types/index.mjs +1 -2
  13. package/dist/lib/node/ChessContainer-ZFOCAXZL.cjs +131 -0
  14. package/dist/lib/node/ChessContainer-ZFOCAXZL.cjs.map +7 -0
  15. package/dist/lib/node/{chunk-URYVXDF3.cjs → chunk-NALFH4J4.cjs} +22 -8
  16. package/dist/lib/node/chunk-NALFH4J4.cjs.map +7 -0
  17. package/dist/lib/node/index.cjs +50 -540
  18. package/dist/lib/node/index.cjs.map +4 -4
  19. package/dist/lib/node/{meta.cjs → intent-resolver-QLRGQQ2C.cjs} +18 -11
  20. package/dist/lib/node/intent-resolver-QLRGQQ2C.cjs.map +7 -0
  21. package/dist/lib/node/meta.json +1 -1
  22. package/dist/lib/node/react-surface-FRGCWHDU.cjs +51 -0
  23. package/dist/lib/node/react-surface-FRGCWHDU.cjs.map +7 -0
  24. package/dist/lib/node/types/index.cjs +5 -6
  25. package/dist/lib/node/types/index.cjs.map +2 -2
  26. package/dist/lib/node-esm/ChessContainer-DF6IFM2R.mjs +108 -0
  27. package/dist/lib/node-esm/ChessContainer-DF6IFM2R.mjs.map +7 -0
  28. package/dist/lib/node-esm/{chunk-IE2S5YZ2.mjs → chunk-R2ZZTB5A.mjs} +18 -4
  29. package/dist/lib/node-esm/chunk-R2ZZTB5A.mjs.map +7 -0
  30. package/dist/lib/node-esm/index.mjs +49 -561
  31. package/dist/lib/node-esm/index.mjs.map +4 -4
  32. package/dist/lib/node-esm/intent-resolver-OGWCQJZ2.mjs +23 -0
  33. package/dist/lib/node-esm/intent-resolver-OGWCQJZ2.mjs.map +7 -0
  34. package/dist/lib/node-esm/meta.json +1 -1
  35. package/dist/lib/node-esm/react-surface-SFBGDWJD.mjs +31 -0
  36. package/dist/lib/node-esm/react-surface-SFBGDWJD.mjs.map +7 -0
  37. package/dist/lib/node-esm/types/index.mjs +1 -2
  38. package/dist/types/src/ChessPlugin.d.ts +1 -3
  39. package/dist/types/src/ChessPlugin.d.ts.map +1 -1
  40. package/dist/types/src/capabilities/index.d.ts +3 -0
  41. package/dist/types/src/capabilities/index.d.ts.map +1 -0
  42. package/dist/types/src/capabilities/intent-resolver.d.ts +4 -0
  43. package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -0
  44. package/dist/types/src/capabilities/react-surface.d.ts +4 -0
  45. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -0
  46. package/dist/types/src/components/ChessContainer.d.ts +4 -3
  47. package/dist/types/src/components/ChessContainer.d.ts.map +1 -1
  48. package/dist/types/src/components/ChessPanel.d.ts +11 -0
  49. package/dist/types/src/components/ChessPanel.d.ts.map +1 -0
  50. package/dist/types/src/components/Chessboard.stories.d.ts +8 -0
  51. package/dist/types/src/components/Chessboard.stories.d.ts.map +1 -0
  52. package/dist/types/src/components/{Chess.d.ts → PlayerSelector.d.ts} +4 -5
  53. package/dist/types/src/components/PlayerSelector.d.ts.map +1 -0
  54. package/dist/types/src/components/index.d.ts +2 -1
  55. package/dist/types/src/components/index.d.ts.map +1 -1
  56. package/dist/types/src/index.d.ts +1 -2
  57. package/dist/types/src/index.d.ts.map +1 -1
  58. package/dist/types/src/meta.d.ts +2 -2
  59. package/dist/types/src/meta.d.ts.map +1 -1
  60. package/dist/types/src/types/types.d.ts +0 -4
  61. package/dist/types/src/types/types.d.ts.map +1 -1
  62. package/dist/types/tsconfig.tsbuildinfo +1 -1
  63. package/package.json +19 -27
  64. package/src/ChessPlugin.tsx +37 -40
  65. package/src/capabilities/index.ts +8 -0
  66. package/src/capabilities/intent-resolver.ts +21 -0
  67. package/src/capabilities/react-surface.tsx +22 -0
  68. package/src/components/ChessContainer.tsx +44 -6
  69. package/src/components/ChessPanel.tsx +67 -0
  70. package/src/components/Chessboard.stories.tsx +39 -0
  71. package/src/components/{Chess.tsx → PlayerSelector.tsx} +2 -49
  72. package/src/index.ts +1 -4
  73. package/src/meta.ts +3 -2
  74. package/src/types/types.ts +0 -15
  75. package/dist/lib/browser/chunk-2H2BTWYT.mjs +0 -15
  76. package/dist/lib/browser/chunk-2H2BTWYT.mjs.map +0 -7
  77. package/dist/lib/browser/chunk-3UQBTNX5.mjs.map +0 -7
  78. package/dist/lib/browser/meta.mjs +0 -9
  79. package/dist/lib/browser/meta.mjs.map +0 -7
  80. package/dist/lib/node/chunk-Q4NVPVPX.cjs +0 -38
  81. package/dist/lib/node/chunk-Q4NVPVPX.cjs.map +0 -7
  82. package/dist/lib/node/chunk-URYVXDF3.cjs.map +0 -7
  83. package/dist/lib/node/meta.cjs.map +0 -7
  84. package/dist/lib/node-esm/chunk-IE2S5YZ2.mjs.map +0 -7
  85. package/dist/lib/node-esm/chunk-WNE2FPQW.mjs +0 -17
  86. package/dist/lib/node-esm/chunk-WNE2FPQW.mjs.map +0 -7
  87. package/dist/lib/node-esm/meta.mjs +0 -10
  88. package/dist/lib/node-esm/meta.mjs.map +0 -7
  89. package/dist/types/src/components/Chess.d.ts.map +0 -1
  90. package/dist/types/src/components/Chessboard/Chessboard.d.ts +0 -37
  91. package/dist/types/src/components/Chessboard/Chessboard.d.ts.map +0 -1
  92. package/dist/types/src/components/Chessboard/Chessboard.stories.d.ts +0 -13
  93. package/dist/types/src/components/Chessboard/Chessboard.stories.d.ts.map +0 -1
  94. package/dist/types/src/components/Chessboard/index.d.ts +0 -2
  95. package/dist/types/src/components/Chessboard/index.d.ts.map +0 -1
  96. package/dist/types/src/components/Chessboard/pieces/custom.d.ts +0 -3
  97. package/dist/types/src/components/Chessboard/pieces/custom.d.ts.map +0 -1
  98. package/dist/types/src/components/Chessboard/pieces/index.d.ts +0 -4
  99. package/dist/types/src/components/Chessboard/pieces/index.d.ts.map +0 -1
  100. package/dist/types/src/components/Chessboard/pieces/phosphor.d.ts +0 -3
  101. package/dist/types/src/components/Chessboard/pieces/phosphor.d.ts.map +0 -1
  102. package/dist/types/src/components/Chessboard/pieces/riohacha.d.ts +0 -3
  103. package/dist/types/src/components/Chessboard/pieces/riohacha.d.ts.map +0 -1
  104. package/src/components/Chessboard/Chessboard.stories.tsx +0 -43
  105. package/src/components/Chessboard/Chessboard.tsx +0 -170
  106. package/src/components/Chessboard/index.ts +0 -5
  107. package/src/components/Chessboard/pieces/custom.tsx +0 -82
  108. package/src/components/Chessboard/pieces/index.ts +0 -7
  109. package/src/components/Chessboard/pieces/phosphor.tsx +0 -71
  110. package/src/components/Chessboard/pieces/riohacha.tsx +0 -166
@@ -0,0 +1,106 @@
1
+ // packages/plugins/plugin-chess/src/components/ChessContainer.tsx
2
+ import { Chess } from "chess.js";
3
+ import React2, { useCallback, useEffect, useMemo } from "react";
4
+ import { getSpace } from "@dxos/react-client/echo";
5
+ import { ChessModel, Board, Chessboard } from "@dxos/react-ui-gameboard";
6
+ import { StackItem } from "@dxos/react-ui-stack";
7
+
8
+ // packages/plugins/plugin-chess/src/components/PlayerSelector.tsx
9
+ import { CrownCross } from "@phosphor-icons/react";
10
+ import React from "react";
11
+ import { generateName } from "@dxos/display-name";
12
+ import { useMembers } from "@dxos/react-client/echo";
13
+ import { Input, Select, useThemeContext } from "@dxos/react-ui";
14
+ import { getSize, mx } from "@dxos/react-ui-theme";
15
+ var PlayerSelector = ({ game, space }) => {
16
+ const members = useMembers(space.key);
17
+ return /* @__PURE__ */ React.createElement("div", {
18
+ role: "none",
19
+ className: "grid grid-cols-2 gap-8"
20
+ }, /* @__PURE__ */ React.createElement("div", {
21
+ role: "none",
22
+ className: "flex flex-row-reverse items-center gap-2"
23
+ }, /* @__PURE__ */ React.createElement(PlayerSelect, {
24
+ side: "white",
25
+ value: game.playerWhite,
26
+ onValueChange: (player) => game.playerWhite = player,
27
+ members
28
+ })), /* @__PURE__ */ React.createElement("div", {
29
+ role: "none",
30
+ className: "flex flex-row items-center gap-2"
31
+ }, /* @__PURE__ */ React.createElement(PlayerSelect, {
32
+ side: "black",
33
+ value: game.playerBlack,
34
+ onValueChange: (player) => game.playerBlack = player,
35
+ members
36
+ })));
37
+ };
38
+ var PlayerSelect = ({ side, value, onValueChange, members }) => {
39
+ const { themeMode } = useThemeContext();
40
+ const iconFillMode = side === "black" && themeMode === "light" || side === "white" && themeMode === "dark" ? "fill" : void 0;
41
+ return /* @__PURE__ */ React.createElement(Input.Root, null, /* @__PURE__ */ React.createElement(Input.Label, null, /* @__PURE__ */ React.createElement(CrownCross, {
42
+ className: mx(getSize(6)),
43
+ weight: iconFillMode,
44
+ "aria-label": `Chess icon for side ${side}`
45
+ })), /* @__PURE__ */ React.createElement(Select.Root, {
46
+ value,
47
+ onValueChange
48
+ }, /* @__PURE__ */ React.createElement(Select.TriggerButton, {
49
+ placeholder: "Select player"
50
+ }), /* @__PURE__ */ React.createElement(Select.Portal, null, /* @__PURE__ */ React.createElement(Select.Content, null, /* @__PURE__ */ React.createElement(Select.Viewport, null, members.map((member) => {
51
+ const memberKey = member.identity.identityKey.toHex();
52
+ const displayName = member.identity?.profile?.displayName || generateName(memberKey);
53
+ return /* @__PURE__ */ React.createElement(Select.Option, {
54
+ key: memberKey,
55
+ value: memberKey
56
+ }, displayName);
57
+ }))))));
58
+ };
59
+
60
+ // packages/plugins/plugin-chess/src/components/ChessContainer.tsx
61
+ var ChessContainer = ({ game }) => {
62
+ const model = useMemo(() => new ChessModel(), []);
63
+ useEffect(() => {
64
+ if (!model || game.pgn !== model?.game.pgn()) {
65
+ const chess = new Chess();
66
+ if (game.pgn) {
67
+ chess.loadPgn(game.pgn);
68
+ }
69
+ model.initialize(chess.fen());
70
+ }
71
+ }, [
72
+ game.pgn
73
+ ]);
74
+ const space = getSpace(game);
75
+ if (!space) {
76
+ return null;
77
+ }
78
+ const handleDrop = useCallback((move) => {
79
+ if (model.makeMove(move)) {
80
+ game.pgn = model.game.pgn();
81
+ return true;
82
+ }
83
+ return false;
84
+ }, [
85
+ model
86
+ ]);
87
+ return /* @__PURE__ */ React2.createElement(StackItem.Content, {
88
+ toolbar: false
89
+ }, /* @__PURE__ */ React2.createElement("div", {
90
+ role: "none",
91
+ className: "grid grid-rows-[60px_1fr_60px] grow overflow-hidden"
92
+ }, /* @__PURE__ */ React2.createElement("div", null), /* @__PURE__ */ React2.createElement("div", {
93
+ className: "flex m-4 overflow-hidden"
94
+ }, /* @__PURE__ */ React2.createElement(Board.Root, {
95
+ model,
96
+ onDrop: handleDrop
97
+ }, /* @__PURE__ */ React2.createElement(Chessboard, null))), /* @__PURE__ */ React2.createElement(PlayerSelector, {
98
+ space,
99
+ game
100
+ })));
101
+ };
102
+ var ChessContainer_default = ChessContainer;
103
+ export {
104
+ ChessContainer_default as default
105
+ };
106
+ //# sourceMappingURL=ChessContainer-LPMACR6Y.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/components/ChessContainer.tsx", "../../../src/components/PlayerSelector.tsx"],
4
+ "sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nimport { Chess } from 'chess.js';\nimport React, { useCallback, useEffect, useMemo } from 'react';\n\nimport { getSpace } from '@dxos/react-client/echo';\nimport { ChessModel, Board, Chessboard, type BoardRootProps } from '@dxos/react-ui-gameboard';\nimport { StackItem } from '@dxos/react-ui-stack';\n\nimport { PlayerSelector } from './PlayerSelector';\nimport { type GameType } from '../types';\n\nconst ChessContainer = ({ game }: { game: GameType; role?: string }) => {\n const model = useMemo(() => new ChessModel(), []);\n useEffect(() => {\n if (!model || game.pgn !== model?.game.pgn()) {\n const chess = new Chess();\n if (game.pgn) {\n chess.loadPgn(game.pgn);\n }\n\n model.initialize(chess.fen());\n }\n }, [game.pgn]);\n\n const space = getSpace(game);\n if (!space) {\n return null;\n }\n\n const handleDrop = useCallback<NonNullable<BoardRootProps['onDrop']>>(\n (move) => {\n if (model.makeMove(move)) {\n game.pgn = model.game.pgn();\n return true;\n }\n\n return false;\n },\n [model],\n );\n\n return (\n <StackItem.Content toolbar={false}>\n <div role='none' className='grid grid-rows-[60px_1fr_60px] grow overflow-hidden'>\n <div />\n\n <div className='flex m-4 overflow-hidden'>\n <Board.Root model={model} onDrop={handleDrop}>\n <Chessboard />\n </Board.Root>\n </div>\n\n <PlayerSelector space={space} game={game} />\n </div>\n </StackItem.Content>\n );\n};\n\nexport default ChessContainer;\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { CrownCross } from '@phosphor-icons/react';\nimport React from 'react';\n\nimport { generateName } from '@dxos/display-name';\nimport { useMembers, type Space, type SpaceMember } from '@dxos/react-client/echo';\nimport { Input, Select, useThemeContext } from '@dxos/react-ui';\nimport { getSize, mx } from '@dxos/react-ui-theme';\n\nimport { type GameType } from '../types';\n\nexport const 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"],
5
+ "mappings": ";AAIA,SAASA,aAAa;AACtB,OAAOC,UAASC,aAAaC,WAAWC,eAAe;AAEvD,SAASC,gBAAgB;AACzB,SAASC,YAAYC,OAAOC,kBAAuC;AACnE,SAASC,iBAAiB;;;ACL1B,SAASC,kBAAkB;AAC3B,OAAOC,WAAW;AAElB,SAASC,oBAAoB;AAC7B,SAASC,kBAAgD;AACzD,SAASC,OAAOC,QAAQC,uBAAuB;AAC/C,SAASC,SAASC,UAAU;AAIrB,IAAMC,iBAAiB,CAAC,EAAEC,MAAMC,MAAK,MAAoC;AAC9E,QAAMC,UAAUC,WAAWF,MAAMG,GAAG;AAEpC,SACE,sBAAA,cAACC,OAAAA;IAAIC,MAAK;IAAOC,WAAU;KACzB,sBAAA,cAACF,OAAAA;IAAIC,MAAK;IAAOC,WAAU;KACzB,sBAAA,cAACC,cAAAA;IACCC,MAAK;IACLC,OAAOV,KAAKW;IACZC,eAAe,CAACC,WAAYb,KAAKW,cAAcE;IAC/CX;OAGJ,sBAAA,cAACG,OAAAA;IAAIC,MAAK;IAAOC,WAAU;KACzB,sBAAA,cAACC,cAAAA;IACCC,MAAK;IACLC,OAAOV,KAAKc;IACZF,eAAe,CAACC,WAAYb,KAAKc,cAAcD;IAC/CX;;AAKV;AAEA,IAAMM,eAAe,CAAC,EACpBC,MACAC,OACAE,eACAV,QAAO,MAMR;AACC,QAAM,EAAEa,UAAS,IAAKC,gBAAAA;AACtB,QAAMC,eACHR,SAAS,WAAWM,cAAc,WAAaN,SAAS,WAAWM,cAAc,SAAU,SAASG;AAEvG,SACE,sBAAA,cAACC,MAAMC,MAAI,MACT,sBAAA,cAACD,MAAME,OAAK,MACV,sBAAA,cAACC,YAAAA;IAAWf,WAAWgB,GAAGC,QAAQ,CAAA,CAAA;IAAKC,QAAQR;IAAcS,cAAY,uBAAuBjB,IAAAA;OAElG,sBAAA,cAACkB,OAAOP,MAAI;IAACV;IAAcE;KACzB,sBAAA,cAACe,OAAOC,eAAa;IAACC,aAAa;MACnC,sBAAA,cAACF,OAAOG,QAAM,MACZ,sBAAA,cAACH,OAAOI,SAAO,MACb,sBAAA,cAACJ,OAAOK,UAAQ,MACb9B,QAAQ+B,IAAI,CAACC,WAAAA;AACZ,UAAMC,YAAYD,OAAOE,SAASC,YAAYC,MAAK;AACnD,UAAMC,cAAcL,OAAOE,UAAUI,SAASD,eAAeE,aAAaN,SAAAA;AAC1E,WACE,sBAAA,cAACR,OAAOe,QAAM;MAACtC,KAAK+B;MAAWzB,OAAOyB;OACnCI,WAAAA;EAGP,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAOd;;;ADjEA,IAAMI,iBAAiB,CAAC,EAAEC,KAAI,MAAqC;AACjE,QAAMC,QAAQC,QAAQ,MAAM,IAAIC,WAAAA,GAAc,CAAA,CAAE;AAChDC,YAAU,MAAA;AACR,QAAI,CAACH,SAASD,KAAKK,QAAQJ,OAAOD,KAAKK,IAAAA,GAAO;AAC5C,YAAMC,QAAQ,IAAIC,MAAAA;AAClB,UAAIP,KAAKK,KAAK;AACZC,cAAME,QAAQR,KAAKK,GAAG;MACxB;AAEAJ,YAAMQ,WAAWH,MAAMI,IAAG,CAAA;IAC5B;EACF,GAAG;IAACV,KAAKK;GAAI;AAEb,QAAMM,QAAQC,SAASZ,IAAAA;AACvB,MAAI,CAACW,OAAO;AACV,WAAO;EACT;AAEA,QAAME,aAAaC,YACjB,CAACC,SAAAA;AACC,QAAId,MAAMe,SAASD,IAAAA,GAAO;AACxBf,WAAKK,MAAMJ,MAAMD,KAAKK,IAAG;AACzB,aAAO;IACT;AAEA,WAAO;EACT,GACA;IAACJ;GAAM;AAGT,SACE,gBAAAgB,OAAA,cAACC,UAAUC,SAAO;IAACC,SAAS;KAC1B,gBAAAH,OAAA,cAACI,OAAAA;IAAIC,MAAK;IAAOC,WAAU;KACzB,gBAAAN,OAAA,cAACI,OAAAA,IAAAA,GAED,gBAAAJ,OAAA,cAACI,OAAAA;IAAIE,WAAU;KACb,gBAAAN,OAAA,cAACO,MAAMC,MAAI;IAACxB;IAAcyB,QAAQb;KAChC,gBAAAI,OAAA,cAACU,YAAAA,IAAAA,CAAAA,CAAAA,GAIL,gBAAAV,OAAA,cAACW,gBAAAA;IAAejB;IAAcX;;AAItC;AAEA,IAAA,yBAAeD;",
6
+ "names": ["Chess", "React", "useCallback", "useEffect", "useMemo", "getSpace", "ChessModel", "Board", "Chessboard", "StackItem", "CrownCross", "React", "generateName", "useMembers", "Input", "Select", "useThemeContext", "getSize", "mx", "PlayerSelector", "game", "space", "members", "useMembers", "key", "div", "role", "className", "PlayerSelect", "side", "value", "playerWhite", "onValueChange", "player", "playerBlack", "themeMode", "useThemeContext", "iconFillMode", "undefined", "Input", "Root", "Label", "CrownCross", "mx", "getSize", "weight", "aria-label", "Select", "TriggerButton", "placeholder", "Portal", "Content", "Viewport", "map", "member", "memberKey", "identity", "identityKey", "toHex", "displayName", "profile", "generateName", "Option", "ChessContainer", "game", "model", "useMemo", "ChessModel", "useEffect", "pgn", "chess", "Chess", "loadPgn", "initialize", "fen", "space", "getSpace", "handleDrop", "useCallback", "move", "makeMove", "React", "StackItem", "Content", "toolbar", "div", "role", "className", "Board", "Root", "onDrop", "Chessboard", "PlayerSelector"]
7
+ }
@@ -1,7 +1,3 @@
1
- import {
2
- CHESS_PLUGIN
3
- } from "./chunk-2H2BTWYT.mjs";
4
-
5
1
  // packages/plugins/plugin-chess/src/types/schema.ts
6
2
  import { S, TypedObject } from "@dxos/echo-schema";
7
3
  var MoveSchema = S.mutable(S.partial(S.Struct({
@@ -26,6 +22,21 @@ var GameType = class extends TypedObject({
26
22
  // packages/plugins/plugin-chess/src/types/types.ts
27
23
  import { S as S2 } from "@dxos/echo-schema";
28
24
  import { isReactiveObject } from "@dxos/live-object";
25
+
26
+ // packages/plugins/plugin-chess/src/meta.ts
27
+ var CHESS_PLUGIN = "dxos.org/plugin/chess";
28
+ var meta = {
29
+ id: CHESS_PLUGIN,
30
+ name: "Chess",
31
+ description: `Chess is a simple plugin which allows you to render an interactive chessboard inside of a plank. This chessboard can be used for collaborative chess games, or for practice experiments with the LLM. `,
32
+ icon: "ph--shield-chevron--regular",
33
+ source: "https://github.com/dxos/dxos/tree/main/packages/plugins/plugin-chess",
34
+ screenshots: [
35
+ "https://dxos.network/plugin-details-chess-dark.png"
36
+ ]
37
+ };
38
+
39
+ // packages/plugins/plugin-chess/src/types/types.ts
29
40
  var ChessAction;
30
41
  (function(ChessAction2) {
31
42
  const CHESS_ACTION = `${CHESS_PLUGIN}/action`;
@@ -47,7 +58,9 @@ var isObject = (object) => {
47
58
  export {
48
59
  MoveSchema,
49
60
  GameType,
61
+ CHESS_PLUGIN,
62
+ meta,
50
63
  ChessAction,
51
64
  isObject
52
65
  };
53
- //# sourceMappingURL=chunk-3UQBTNX5.mjs.map
66
+ //# sourceMappingURL=chunk-SINRYD72.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/types/schema.ts", "../../../src/types/types.ts", "../../../src/meta.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nimport { S, TypedObject } from '@dxos/echo-schema';\n\nexport const MoveSchema = S.mutable(\n S.partial(\n S.Struct({\n source: S.String,\n target: S.String,\n piece: S.String,\n }),\n ),\n);\n\nexport class GameType extends TypedObject({ typename: 'dxos.org/type/Chess', version: '0.1.0' })(\n {\n name: S.optional(S.String),\n playerWhite: S.String,\n playerBlack: S.String,\n moves: S.mutable(S.Array(S.String)),\n pgn: S.String,\n },\n { partial: true },\n) {}\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { S } from '@dxos/echo-schema';\nimport { isReactiveObject } from '@dxos/live-object';\n\nimport { GameType } from './schema';\nimport { CHESS_PLUGIN } from '../meta';\n\nexport namespace ChessAction {\n const CHESS_ACTION = `${CHESS_PLUGIN}/action`;\n\n export class Create extends S.TaggedClass<Create>()(`${CHESS_ACTION}/create`, {\n input: S.Struct({\n name: S.optional(S.String),\n }),\n output: S.Struct({\n object: GameType,\n }),\n }) {}\n}\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 { type PluginMeta } from '@dxos/app-framework';\n\nexport const CHESS_PLUGIN = 'dxos.org/plugin/chess';\n\nexport const meta = {\n id: CHESS_PLUGIN,\n name: 'Chess',\n description: `Chess is a simple plugin which allows you to render an interactive chessboard inside of a plank. This chessboard can be used for collaborative chess games, or for practice experiments with the LLM. `,\n icon: 'ph--shield-chevron--regular',\n source: 'https://github.com/dxos/dxos/tree/main/packages/plugins/plugin-chess',\n screenshots: ['https://dxos.network/plugin-details-chess-dark.png'],\n} satisfies PluginMeta;\n"],
5
+ "mappings": ";AAIA,SAASA,GAAGC,mBAAmB;AAExB,IAAMC,aAAaC,EAAEC,QAC1BD,EAAEE,QACAF,EAAEG,OAAO;EACPC,QAAQJ,EAAEK;EACVC,QAAQN,EAAEK;EACVE,OAAOP,EAAEK;AACX,CAAA,CAAA,CAAA;AAIG,IAAMG,WAAN,cAAuBC,YAAY;EAAEC,UAAU;EAAuBC,SAAS;AAAQ,CAAA,EAC5F;EACEC,MAAMZ,EAAEa,SAASb,EAAEK,MAAM;EACzBS,aAAad,EAAEK;EACfU,aAAaf,EAAEK;EACfW,OAAOhB,EAAEC,QAAQD,EAAEiB,MAAMjB,EAAEK,MAAM,CAAA;EACjCa,KAAKlB,EAAEK;AACT,GACA;EAAEH,SAAS;AAAK,CAAA,EAAA;AACf;;;ACrBH,SAASiB,KAAAA,UAAS;AAClB,SAASC,wBAAwB;;;ACC1B,IAAMC,eAAe;AAErB,IAAMC,OAAO;EAClBC,IAAIF;EACJG,MAAM;EACNC,aAAa;EACbC,MAAM;EACNC,QAAQ;EACRC,aAAa;IAAC;;AAChB;;;;UDLiBC,cAAAA;AACf,QAAMC,eAAe,GAAGC,YAAAA;EAEjB,MAAMC,eAAeC,GAAEC,YAAW,EAAW,GAAGJ,YAAAA,WAAuB;IAC5EK,OAAOF,GAAEG,OAAO;MACdC,MAAMJ,GAAEK,SAASL,GAAEM,MAAM;IAC3B,CAAA;IACAC,QAAQP,GAAEG,OAAO;MACfK,QAAQC;IACV,CAAA;EACF,CAAA,EAAA;EAAI;eAPSV,SAAAA;AAQf,GAXiBH,gBAAAA,cAAAA,CAAAA,EAAAA;AAaV,IAAMc,WAAW,CAACF,WAAAA;AACvB,SAAOG,iBAAiBH,MAAAA,KAAWA,kBAAkBC;AACvD;",
6
+ "names": ["S", "TypedObject", "MoveSchema", "S", "mutable", "partial", "Struct", "source", "String", "target", "piece", "GameType", "TypedObject", "typename", "version", "name", "optional", "playerWhite", "playerBlack", "moves", "Array", "pgn", "S", "isReactiveObject", "CHESS_PLUGIN", "meta", "id", "name", "description", "icon", "source", "screenshots", "ChessAction", "CHESS_ACTION", "CHESS_PLUGIN", "Create", "S", "TaggedClass", "input", "Struct", "name", "optional", "String", "output", "object", "GameType", "isObject", "isReactiveObject"]
7
+ }