@dxos/shell 0.7.5-labs.e27f9b9 → 0.7.5-main.2567c87
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/bundle/shell.mjs +57515 -56513
- package/dist/bundle/shell.mjs.map +1 -1
- package/dist/bundle/shell.umd.js +146 -148
- package/dist/bundle/shell.umd.js.map +1 -1
- package/dist/bundle/style.css +1 -1
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/react.css +7 -0
- package/dist/lib/browser/react.css.map +7 -0
- package/dist/lib/browser/react.mjs +782 -518
- package/dist/lib/browser/react.mjs.map +4 -4
- package/dist/lib/node/meta.json +1 -1
- package/dist/lib/node/react.cjs +879 -615
- package/dist/lib/node/react.cjs.map +4 -4
- package/dist/lib/node/react.css +7 -0
- package/dist/lib/node/react.css.map +7 -0
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/lib/node-esm/react.css +7 -0
- package/dist/lib/node-esm/react.css.map +7 -0
- package/dist/lib/node-esm/react.mjs +782 -518
- package/dist/lib/node-esm/react.mjs.map +4 -4
- package/dist/types/src/components/AgentConfig.js +1 -1
- package/dist/types/src/components/AgentConfig.js.map +1 -1
- package/dist/types/src/components/DeviceList/DeviceList.js +1 -1
- package/dist/types/src/components/DeviceList/DeviceList.js.map +1 -1
- package/dist/types/src/components/EmojiPicker.d.ts +19 -0
- package/dist/types/src/components/EmojiPicker.d.ts.map +1 -0
- package/dist/types/src/components/EmojiPicker.js +146 -0
- package/dist/types/src/components/EmojiPicker.js.map +1 -0
- package/dist/types/src/components/HuePicker.d.ts +18 -0
- package/dist/types/src/components/HuePicker.d.ts.map +1 -0
- package/dist/types/src/components/HuePicker.js +133 -0
- package/dist/types/src/components/HuePicker.js.map +1 -0
- package/dist/types/src/components/index.d.ts +2 -0
- package/dist/types/src/components/index.d.ts.map +1 -1
- package/dist/types/src/components/index.js +2 -0
- package/dist/types/src/components/index.js.map +1 -1
- package/dist/types/src/panels/IdentityPanel/IdentityPanel.d.ts.map +1 -1
- package/dist/types/src/panels/IdentityPanel/IdentityPanel.js +2 -3
- package/dist/types/src/panels/IdentityPanel/IdentityPanel.js.map +1 -1
- package/dist/types/src/panels/IdentityPanel/IdentityPanel.stories.d.ts.map +1 -1
- package/dist/types/src/panels/IdentityPanel/IdentityPanel.stories.js +0 -2
- package/dist/types/src/panels/IdentityPanel/IdentityPanel.stories.js.map +1 -1
- package/dist/types/src/panels/IdentityPanel/steps/ProfileForm.d.ts.map +1 -1
- package/dist/types/src/panels/IdentityPanel/steps/ProfileForm.js +2 -3
- package/dist/types/src/panels/IdentityPanel/steps/ProfileForm.js.map +1 -1
- package/dist/types/src/panels/JoinPanel/steps/IdentityInput.js +1 -1
- package/dist/types/src/panels/JoinPanel/steps/IdentityInput.js.map +1 -1
- package/dist/types/src/panels/SpacePanel/SpacePanel.stories.d.ts.map +1 -1
- package/dist/types/src/panels/SpacePanel/SpacePanel.stories.js +0 -5
- package/dist/types/src/panels/SpacePanel/SpacePanel.stories.js.map +1 -1
- package/dist/types/src/testing/fixtures/identities.d.ts.map +1 -1
- package/dist/types/src/testing/fixtures/identities.js +0 -2
- package/dist/types/src/testing/fixtures/identities.js.map +1 -1
- package/package.json +30 -31
- package/src/components/AgentConfig.tsx +1 -1
- package/src/components/DeviceList/DeviceList.tsx +1 -1
- package/src/components/EmojiPicker.tsx +187 -0
- package/src/components/HuePicker.tsx +182 -0
- package/src/components/emoji.css +25 -0
- package/src/components/index.ts +2 -0
- package/src/panels/IdentityPanel/IdentityPanel.stories.tsx +0 -2
- package/src/panels/IdentityPanel/IdentityPanel.tsx +1 -2
- package/src/panels/IdentityPanel/steps/ProfileForm.tsx +1 -2
- package/src/panels/JoinPanel/steps/IdentityInput.tsx +1 -1
- package/src/panels/SpacePanel/SpacePanel.stories.tsx +1 -6
- package/src/testing/fixtures/identities.ts +0 -2
|
@@ -50,7 +50,7 @@ const IdentityInput = (props) => {
|
|
|
50
50
|
const [validationMessage, setValidationMessage] = (0, react_1.useState)('');
|
|
51
51
|
const handleConfirm = async (value) => {
|
|
52
52
|
if (isRecover) {
|
|
53
|
-
await client.halo.recoverIdentity({
|
|
53
|
+
await client.halo.recoverIdentity({ seedphrase: value }).then((identity) => {
|
|
54
54
|
send === null || send === void 0 ? void 0 : send({ type: 'selectIdentity', identity });
|
|
55
55
|
}, (error) => {
|
|
56
56
|
log_1.log.catch(error);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IdentityInput.js","sourceRoot":"","sources":["../../../../../../src/panels/JoinPanel/steps/IdentityInput.tsx"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEF,+CAAqD;AAErD,mCAAgC;AAChC,qDAA+C;AAC/C,6CAAgD;AAGhD,oDAA0E;AAcnE,MAAM,aAAa,GAAG,CAAC,KAAyB,EAAE,EAAE;IACzD,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;IAC/B,MAAM,SAAS,GAAG,MAAM,KAAK,kBAAkB,CAAC;IAChD,MAAM,MAAM,GAAG,IAAA,wBAAS,GAAE,CAAC;IAC3B,MAAM,EAAE,CAAC,EAAE,GAAG,IAAA,yBAAc,EAAC,IAAI,CAAC,CAAC;IACnC,MAAM,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,GAAG,IAAA,gBAAQ,EAAC,EAAE,CAAC,CAAC;IAC/D,MAAM,aAAa,GAAG,KAAK,EAAE,KAAa,EAAE,EAAE;QAC5C,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,
|
|
1
|
+
{"version":3,"file":"IdentityInput.js","sourceRoot":"","sources":["../../../../../../src/panels/JoinPanel/steps/IdentityInput.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SpacePanel.stories.d.ts","sourceRoot":"","sources":["../../../../../src/panels/SpacePanel/SpacePanel.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,aAAa,CAAC;AAErB,OAAO,KAAK,MAAM,OAAO,CAAC;AAQ1B,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;;;;;;;;;;;AAe7D,wBAKE;AAEF,eAAO,MAAM,YAAY,yBAkBxB,CAAC;AAEF,eAAO,MAAM,uBAAuB,yBAkBnC,CAAC;AAEF,eAAO,MAAM,2BAA2B,yBAsBvC,CAAC;AAEF,eAAO,MAAM,+BAA+B,yBA4D3C,CAAC;AAEF,eAAO,MAAM,sBAAsB,
|
|
1
|
+
{"version":3,"file":"SpacePanel.stories.d.ts","sourceRoot":"","sources":["../../../../../src/panels/SpacePanel/SpacePanel.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,aAAa,CAAC;AAErB,OAAO,KAAK,MAAM,OAAO,CAAC;AAQ1B,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;;;;;;;;;;;AAe7D,wBAKE;AAEF,eAAO,MAAM,YAAY,yBAkBxB,CAAC;AAEF,eAAO,MAAM,uBAAuB,yBAkBnC,CAAC;AAEF,eAAO,MAAM,2BAA2B,yBAsBvC,CAAC;AAEF,eAAO,MAAM,+BAA+B,yBA4D3C,CAAC;AAEF,eAAO,MAAM,sBAAsB,yBA+BlC,CAAC;AAEF,eAAO,MAAM,uBAAuB,yBAkCnC,CAAC;AAEF,eAAO,MAAM,2BAA2B,yBA0DvC,CAAC;AAuBF,eAAO,MAAM,0BAA0B,yBAAgF,CAAC;AAExH,eAAO,MAAM,gCAAgC,yBACkC,CAAC;AAEhF,eAAO,MAAM,+BAA+B,yBACkC,CAAC;AAE/E,eAAO,MAAM,4CAA4C,yBACwD,CAAC;AAElH,eAAO,MAAM,oCAAoC,yBACkC,CAAC;AAEpF,eAAO,MAAM,6BAA6B,yBAA0E,CAAC;AAErH,eAAO,MAAM,2BAA2B,yBAAwE,CAAC;AAEjH,eAAO,MAAM,6BAA6B,yBAA0E,CAAC;AAErH,eAAO,MAAM,+BAA+B,yBACyB,CAAC"}
|
|
@@ -94,7 +94,6 @@ const SpaceManagerWithMember = () => {
|
|
|
94
94
|
presence: echo_1.SpaceMember.PresenceState.ONLINE,
|
|
95
95
|
role: echo_1.HaloSpaceMember.Role.ADMIN,
|
|
96
96
|
identity: {
|
|
97
|
-
did: keys_1.IdentityDid.random(),
|
|
98
97
|
identityKey: keys_1.PublicKey.random(),
|
|
99
98
|
},
|
|
100
99
|
},
|
|
@@ -110,7 +109,6 @@ const SpaceManagerWithMembers = () => {
|
|
|
110
109
|
presence: echo_1.SpaceMember.PresenceState.ONLINE,
|
|
111
110
|
role: echo_1.HaloSpaceMember.Role.ADMIN,
|
|
112
111
|
identity: {
|
|
113
|
-
did: keys_1.IdentityDid.random(),
|
|
114
112
|
identityKey: keys_1.PublicKey.random(),
|
|
115
113
|
profile: {
|
|
116
114
|
displayName: 'John Doe',
|
|
@@ -133,7 +131,6 @@ const SpaceManagerWithMoreMembers = () => {
|
|
|
133
131
|
presence: echo_1.SpaceMember.PresenceState.ONLINE,
|
|
134
132
|
role: echo_1.HaloSpaceMember.Role.ADMIN,
|
|
135
133
|
identity: {
|
|
136
|
-
did: keys_1.IdentityDid.random(),
|
|
137
134
|
identityKey: keys_1.PublicKey.random(),
|
|
138
135
|
profile: {
|
|
139
136
|
displayName: 'John Doe',
|
|
@@ -144,7 +141,6 @@ const SpaceManagerWithMoreMembers = () => {
|
|
|
144
141
|
presence: echo_1.SpaceMember.PresenceState.OFFLINE,
|
|
145
142
|
role: echo_1.HaloSpaceMember.Role.ADMIN,
|
|
146
143
|
identity: {
|
|
147
|
-
did: keys_1.IdentityDid.random(),
|
|
148
144
|
identityKey: keys_1.PublicKey.random(),
|
|
149
145
|
profile: {
|
|
150
146
|
displayName: 'Alice Wong',
|
|
@@ -155,7 +151,6 @@ const SpaceManagerWithMoreMembers = () => {
|
|
|
155
151
|
presence: echo_1.SpaceMember.PresenceState.OFFLINE,
|
|
156
152
|
role: echo_1.HaloSpaceMember.Role.ADMIN,
|
|
157
153
|
identity: {
|
|
158
|
-
did: keys_1.IdentityDid.random(),
|
|
159
154
|
identityKey: keys_1.PublicKey.random(),
|
|
160
155
|
profile: {
|
|
161
156
|
displayName: 'Steel Nickels',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SpacePanel.stories.js","sourceRoot":"","sources":["../../../../../src/panels/SpacePanel/SpacePanel.stories.tsx"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;;;;AAEF,uBAAqB;AAErB,kDAA0B;AAE1B,
|
|
1
|
+
{"version":3,"file":"SpacePanel.stories.js","sourceRoot":"","sources":["../../../../../src/panels/SpacePanel/SpacePanel.stories.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"identities.d.ts","sourceRoot":"","sources":["../../../../../src/testing/fixtures/identities.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"identities.d.ts","sourceRoot":"","sources":["../../../../../src/testing/fixtures/identities.ts"],"names":[],"mappings":"AAKA,OAAO,EAAmB,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAEvE,eAAO,MAAM,KAAK,EAAE,WASnB,CAAC"}
|
|
@@ -4,13 +4,11 @@
|
|
|
4
4
|
//
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.alice = void 0;
|
|
7
|
-
const keys_1 = require("@dxos/keys");
|
|
8
7
|
const react_client_1 = require("@dxos/react-client");
|
|
9
8
|
const echo_1 = require("@dxos/react-client/echo");
|
|
10
9
|
exports.alice = {
|
|
11
10
|
role: echo_1.HaloSpaceMember.Role.ADMIN,
|
|
12
11
|
identity: {
|
|
13
|
-
did: keys_1.IdentityDid.random(),
|
|
14
12
|
identityKey: react_client_1.PublicKey.random(),
|
|
15
13
|
profile: {
|
|
16
14
|
displayName: 'Alice',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"identities.js","sourceRoot":"","sources":["../../../../../src/testing/fixtures/identities.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;AAEF,
|
|
1
|
+
{"version":3,"file":"identities.js","sourceRoot":"","sources":["../../../../../src/testing/fixtures/identities.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;AAEF,qDAA+C;AAC/C,kDAAuE;AAE1D,QAAA,KAAK,GAAgB;IAChC,IAAI,EAAE,sBAAe,CAAC,IAAI,CAAC,KAAK;IAChC,QAAQ,EAAE;QACR,WAAW,EAAE,wBAAS,CAAC,MAAM,EAAE;QAC/B,OAAO,EAAE;YACP,WAAW,EAAE,OAAO;SACrB;KACF;IACD,QAAQ,EAAE,kBAAW,CAAC,aAAa,CAAC,MAAM;CAC3C,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dxos/shell",
|
|
3
|
-
"version": "0.7.5-
|
|
3
|
+
"version": "0.7.5-main.2567c87",
|
|
4
4
|
"description": "DXOS’s OS experiences",
|
|
5
5
|
"homepage": "https://dxos.org",
|
|
6
6
|
"bugs": "https://github.com/dxos/dxos/issues",
|
|
@@ -42,30 +42,29 @@
|
|
|
42
42
|
"dependencies": {
|
|
43
43
|
"@emoji-mart/data": "^1.1.2",
|
|
44
44
|
"@emoji-mart/react": "^1.1.1",
|
|
45
|
-
"@fluentui/react-tabster": "9.
|
|
46
|
-
"@radix-ui/react-accordion": "1.
|
|
47
|
-
"@radix-ui/react-context": "1.
|
|
48
|
-
"@radix-ui/react-radio-group": "1.2
|
|
49
|
-
"@radix-ui/react-use-controllable-state": "1.
|
|
45
|
+
"@fluentui/react-tabster": "^9.19.0",
|
|
46
|
+
"@radix-ui/react-accordion": "^1.1.1",
|
|
47
|
+
"@radix-ui/react-context": "^1.0.0",
|
|
48
|
+
"@radix-ui/react-radio-group": "^1.1.2",
|
|
49
|
+
"@radix-ui/react-use-controllable-state": "^1.0.0",
|
|
50
50
|
"@xstate/react": "^3.2.1",
|
|
51
51
|
"date-fns": "^3.3.1",
|
|
52
52
|
"emoji-mart": "^5.5.2",
|
|
53
53
|
"react-qr-rounded": "^1.0.0",
|
|
54
54
|
"url-join": "^5.0.0",
|
|
55
55
|
"xstate": "^4.37.0",
|
|
56
|
-
"@dxos/async": "0.7.5-
|
|
57
|
-
"@dxos/client-protocol": "0.7.5-
|
|
58
|
-
"@dxos/debug": "0.7.5-
|
|
59
|
-
"@dxos/client-services": "0.7.5-
|
|
60
|
-
"@dxos/
|
|
61
|
-
"@dxos/
|
|
62
|
-
"@dxos/protocols": "0.7.5-
|
|
63
|
-
"@dxos/
|
|
64
|
-
"@dxos/react-ui-types": "0.7.5-
|
|
65
|
-
"@dxos/
|
|
66
|
-
"@dxos/rpc-tunnel": "0.7.5-
|
|
67
|
-
"@dxos/
|
|
68
|
-
"@dxos/util": "0.7.5-labs.e27f9b9"
|
|
56
|
+
"@dxos/async": "0.7.5-main.2567c87",
|
|
57
|
+
"@dxos/client-protocol": "0.7.5-main.2567c87",
|
|
58
|
+
"@dxos/debug": "0.7.5-main.2567c87",
|
|
59
|
+
"@dxos/client-services": "0.7.5-main.2567c87",
|
|
60
|
+
"@dxos/display-name": "0.7.5-main.2567c87",
|
|
61
|
+
"@dxos/invariant": "0.7.5-main.2567c87",
|
|
62
|
+
"@dxos/protocols": "0.7.5-main.2567c87",
|
|
63
|
+
"@dxos/log": "0.7.5-main.2567c87",
|
|
64
|
+
"@dxos/react-ui-types": "0.7.5-main.2567c87",
|
|
65
|
+
"@dxos/rpc": "0.7.5-main.2567c87",
|
|
66
|
+
"@dxos/rpc-tunnel": "0.7.5-main.2567c87",
|
|
67
|
+
"@dxos/util": "0.7.5-main.2567c87"
|
|
69
68
|
},
|
|
70
69
|
"devDependencies": {
|
|
71
70
|
"@phosphor-icons/react": "^2.1.5",
|
|
@@ -75,25 +74,25 @@
|
|
|
75
74
|
"react": "~18.2.0",
|
|
76
75
|
"react-dom": "~18.2.0",
|
|
77
76
|
"vite": "5.4.7",
|
|
78
|
-
"@dxos/config": "0.7.5-
|
|
79
|
-
"@dxos/
|
|
80
|
-
"@dxos/
|
|
81
|
-
"@dxos/react-
|
|
82
|
-
"@dxos/react-
|
|
83
|
-
"@dxos/react-ui": "0.7.5-
|
|
84
|
-
"@dxos/
|
|
85
|
-
"@dxos/storybook-utils": "0.7.5-
|
|
86
|
-
"@dxos/
|
|
77
|
+
"@dxos/config": "0.7.5-main.2567c87",
|
|
78
|
+
"@dxos/random": "0.7.5-main.2567c87",
|
|
79
|
+
"@dxos/react-client": "0.7.5-main.2567c87",
|
|
80
|
+
"@dxos/react-hooks": "0.7.5-main.2567c87",
|
|
81
|
+
"@dxos/react-ui": "0.7.5-main.2567c87",
|
|
82
|
+
"@dxos/react-ui-theme": "0.7.5-main.2567c87",
|
|
83
|
+
"@dxos/protocols": "0.7.5-main.2567c87",
|
|
84
|
+
"@dxos/storybook-utils": "0.7.5-main.2567c87",
|
|
85
|
+
"@dxos/test-utils": "0.7.5-main.2567c87"
|
|
87
86
|
},
|
|
88
87
|
"peerDependencies": {
|
|
89
88
|
"react": "~18.2.0",
|
|
90
89
|
"react-dom": "~18.2.0",
|
|
91
|
-
"@dxos/react-client": "0.7.5-
|
|
90
|
+
"@dxos/react-client": "0.7.5-main.2567c87"
|
|
92
91
|
},
|
|
93
92
|
"optionalDependencies": {
|
|
94
93
|
"@phosphor-icons/react": "^2.1.5",
|
|
95
|
-
"@dxos/react-ui": "0.7.5-
|
|
96
|
-
"@dxos/react-ui-theme": "0.7.5-
|
|
94
|
+
"@dxos/react-ui": "0.7.5-main.2567c87",
|
|
95
|
+
"@dxos/react-ui-theme": "0.7.5-main.2567c87"
|
|
97
96
|
},
|
|
98
97
|
"publishConfig": {
|
|
99
98
|
"access": "public"
|
|
@@ -88,7 +88,7 @@ export const AgentConfig = ({
|
|
|
88
88
|
<>
|
|
89
89
|
<Button
|
|
90
90
|
variant='ghost'
|
|
91
|
-
classNames='mlb-2 is-full justify-start gap-2 pis-0 pie-3'
|
|
91
|
+
classNames='mlb-2 is-full justify-start gap-2 !pis-0 !pie-3'
|
|
92
92
|
data-testid={agentStatus === 'creatable' ? 'devices-panel.create-agent' : 'devices-panel.agent-error'}
|
|
93
93
|
onClick={agentStatus === 'creatable' ? onAgentCreate : onAgentRefresh}
|
|
94
94
|
aria-describedby='devices-panel.create-agent.description'
|
|
@@ -0,0 +1,187 @@
|
|
|
1
|
+
//
|
|
2
|
+
// Copyright 2024 DXOS.org
|
|
3
|
+
//
|
|
4
|
+
|
|
5
|
+
import emojiData from '@emoji-mart/data';
|
|
6
|
+
import EmojiMart from '@emoji-mart/react';
|
|
7
|
+
import { ArrowCounterClockwise, CaretDown, UserCircle } from '@phosphor-icons/react';
|
|
8
|
+
import { useControllableState } from '@radix-ui/react-use-controllable-state';
|
|
9
|
+
import React, { useRef, useState } from 'react';
|
|
10
|
+
|
|
11
|
+
import {
|
|
12
|
+
Button,
|
|
13
|
+
type ButtonProps,
|
|
14
|
+
Popover,
|
|
15
|
+
type ThemedClassName,
|
|
16
|
+
Toolbar,
|
|
17
|
+
Tooltip,
|
|
18
|
+
useMediaQuery,
|
|
19
|
+
useThemeContext,
|
|
20
|
+
useTranslation,
|
|
21
|
+
} from '@dxos/react-ui';
|
|
22
|
+
import { getSize } from '@dxos/react-ui-theme';
|
|
23
|
+
|
|
24
|
+
import './emoji.css';
|
|
25
|
+
|
|
26
|
+
export type EmojiPickerProps = {
|
|
27
|
+
disabled?: boolean;
|
|
28
|
+
defaultEmoji?: string;
|
|
29
|
+
emoji?: string;
|
|
30
|
+
onChangeEmoji?: (nextEmoji: string) => void;
|
|
31
|
+
onClickClear?: ButtonProps['onClick'];
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* A toolbar button for picking an emoji. Use only in `role=toolbar` elements. Unable to unset the value.
|
|
36
|
+
*/
|
|
37
|
+
export const EmojiPickerToolbarButton = ({
|
|
38
|
+
disabled,
|
|
39
|
+
defaultEmoji,
|
|
40
|
+
emoji,
|
|
41
|
+
onChangeEmoji,
|
|
42
|
+
classNames,
|
|
43
|
+
}: ThemedClassName<Omit<EmojiPickerProps, 'onClickClear'>>) => {
|
|
44
|
+
const { t } = useTranslation('os');
|
|
45
|
+
const { themeMode } = useThemeContext();
|
|
46
|
+
|
|
47
|
+
const [_emojiValue, setEmojiValue] = useControllableState<string>({
|
|
48
|
+
prop: emoji,
|
|
49
|
+
onChange: onChangeEmoji,
|
|
50
|
+
defaultProp: defaultEmoji,
|
|
51
|
+
});
|
|
52
|
+
|
|
53
|
+
const [emojiPickerOpen, setEmojiPickerOpen] = useState<boolean>(false);
|
|
54
|
+
const suppressNextTooltip = useRef<boolean>(false);
|
|
55
|
+
const [triggerTooltipOpen, setTriggerTooltipOpen] = useState(false);
|
|
56
|
+
|
|
57
|
+
return (
|
|
58
|
+
<Tooltip.Root
|
|
59
|
+
open={triggerTooltipOpen}
|
|
60
|
+
onOpenChange={(nextOpen) => {
|
|
61
|
+
if (suppressNextTooltip.current) {
|
|
62
|
+
setTriggerTooltipOpen(false);
|
|
63
|
+
suppressNextTooltip.current = false;
|
|
64
|
+
} else {
|
|
65
|
+
setTriggerTooltipOpen(nextOpen);
|
|
66
|
+
}
|
|
67
|
+
}}
|
|
68
|
+
>
|
|
69
|
+
<Popover.Root
|
|
70
|
+
open={emojiPickerOpen}
|
|
71
|
+
onOpenChange={(nextOpen) => {
|
|
72
|
+
setEmojiPickerOpen(nextOpen);
|
|
73
|
+
suppressNextTooltip.current = true;
|
|
74
|
+
}}
|
|
75
|
+
>
|
|
76
|
+
<Tooltip.Trigger asChild>
|
|
77
|
+
<Popover.Trigger asChild>
|
|
78
|
+
<Toolbar.Button classNames={['gap-2 text-2xl plb-1', classNames]} disabled={disabled}>
|
|
79
|
+
<span className='sr-only'>{t('select emoji label')}</span>
|
|
80
|
+
<UserCircle className={getSize(5)} />
|
|
81
|
+
</Toolbar.Button>
|
|
82
|
+
</Popover.Trigger>
|
|
83
|
+
</Tooltip.Trigger>
|
|
84
|
+
<Tooltip.Portal>
|
|
85
|
+
<Tooltip.Content side='bottom'>
|
|
86
|
+
{t('select emoji label')}
|
|
87
|
+
<Tooltip.Arrow />
|
|
88
|
+
</Tooltip.Content>
|
|
89
|
+
</Tooltip.Portal>
|
|
90
|
+
<Popover.Content
|
|
91
|
+
side='bottom'
|
|
92
|
+
onKeyDownCapture={(event) => {
|
|
93
|
+
if (event.key === 'Escape') {
|
|
94
|
+
event.stopPropagation();
|
|
95
|
+
setEmojiPickerOpen(false);
|
|
96
|
+
suppressNextTooltip.current = true;
|
|
97
|
+
}
|
|
98
|
+
}}
|
|
99
|
+
>
|
|
100
|
+
{/* https://github.com/missive/emoji-mart?tab=readme-ov-file#options--props */}
|
|
101
|
+
<EmojiMart
|
|
102
|
+
data={emojiData}
|
|
103
|
+
onEmojiSelect={({ native }: { native?: string }) => {
|
|
104
|
+
if (native) {
|
|
105
|
+
setEmojiValue(native);
|
|
106
|
+
setEmojiPickerOpen(false);
|
|
107
|
+
}
|
|
108
|
+
}}
|
|
109
|
+
autoFocus={true}
|
|
110
|
+
maxFrequentRows={0}
|
|
111
|
+
noCountryFlags={true}
|
|
112
|
+
theme={themeMode}
|
|
113
|
+
/>
|
|
114
|
+
<Popover.Arrow />
|
|
115
|
+
</Popover.Content>
|
|
116
|
+
</Popover.Root>
|
|
117
|
+
</Tooltip.Root>
|
|
118
|
+
);
|
|
119
|
+
};
|
|
120
|
+
|
|
121
|
+
/**
|
|
122
|
+
* A button for picking an emoji alongside a button for unsetting it.
|
|
123
|
+
*/
|
|
124
|
+
export const EmojiPickerBlock = ({ disabled, defaultEmoji, emoji, onChangeEmoji, onClickClear }: EmojiPickerProps) => {
|
|
125
|
+
const { t } = useTranslation('os');
|
|
126
|
+
const [isMd] = useMediaQuery('md', { ssr: false });
|
|
127
|
+
|
|
128
|
+
const [emojiValue, setEmojiValue] = useControllableState<string>({
|
|
129
|
+
prop: emoji,
|
|
130
|
+
onChange: onChangeEmoji,
|
|
131
|
+
defaultProp: defaultEmoji,
|
|
132
|
+
});
|
|
133
|
+
|
|
134
|
+
const [emojiPickerOpen, setEmojiPickerOpen] = useState<boolean>(false);
|
|
135
|
+
|
|
136
|
+
return (
|
|
137
|
+
<>
|
|
138
|
+
<Popover.Root open={emojiPickerOpen} onOpenChange={setEmojiPickerOpen}>
|
|
139
|
+
<Popover.Trigger asChild>
|
|
140
|
+
<Button variant='ghost' classNames='gap-2 text-2xl plb-1' disabled={disabled}>
|
|
141
|
+
<span className='sr-only'>{t('select emoji label')}</span>
|
|
142
|
+
<span className='grow pis-14'>{emojiValue}</span>
|
|
143
|
+
<CaretDown className={getSize(4)} />
|
|
144
|
+
</Button>
|
|
145
|
+
</Popover.Trigger>
|
|
146
|
+
<Popover.Content
|
|
147
|
+
side='right'
|
|
148
|
+
sideOffset={isMd ? 0 : -310}
|
|
149
|
+
onKeyDownCapture={(event) => {
|
|
150
|
+
if (event.key === 'Escape') {
|
|
151
|
+
event.stopPropagation();
|
|
152
|
+
setEmojiPickerOpen(false);
|
|
153
|
+
}
|
|
154
|
+
}}
|
|
155
|
+
>
|
|
156
|
+
<EmojiMart
|
|
157
|
+
data={emojiData}
|
|
158
|
+
onEmojiSelect={({ native }: { native?: string }) => {
|
|
159
|
+
if (native) {
|
|
160
|
+
setEmojiValue(native);
|
|
161
|
+
setEmojiPickerOpen(false);
|
|
162
|
+
}
|
|
163
|
+
}}
|
|
164
|
+
autoFocus={true}
|
|
165
|
+
maxFrequentRows={0}
|
|
166
|
+
noCountryFlags={true}
|
|
167
|
+
/>
|
|
168
|
+
<Popover.Arrow />
|
|
169
|
+
</Popover.Content>
|
|
170
|
+
</Popover.Root>
|
|
171
|
+
<Tooltip.Root>
|
|
172
|
+
<Tooltip.Trigger asChild>
|
|
173
|
+
<Button variant='ghost' onClick={onClickClear} disabled={disabled}>
|
|
174
|
+
<span className='sr-only'>{t('clear label')}</span>
|
|
175
|
+
<ArrowCounterClockwise />
|
|
176
|
+
</Button>
|
|
177
|
+
</Tooltip.Trigger>
|
|
178
|
+
<Tooltip.Portal>
|
|
179
|
+
<Tooltip.Content side='right'>
|
|
180
|
+
{t('clear label')}
|
|
181
|
+
<Tooltip.Arrow />
|
|
182
|
+
</Tooltip.Content>
|
|
183
|
+
</Tooltip.Portal>
|
|
184
|
+
</Tooltip.Root>
|
|
185
|
+
</>
|
|
186
|
+
);
|
|
187
|
+
};
|
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
//
|
|
2
|
+
// Copyright 2024 DXOS.org
|
|
3
|
+
//
|
|
4
|
+
|
|
5
|
+
import { ArrowCounterClockwise, CaretDown, Check, Palette } from '@phosphor-icons/react';
|
|
6
|
+
import { useControllableState } from '@radix-ui/react-use-controllable-state';
|
|
7
|
+
import React, { useRef, useState } from 'react';
|
|
8
|
+
|
|
9
|
+
import {
|
|
10
|
+
Button,
|
|
11
|
+
type ButtonProps,
|
|
12
|
+
DropdownMenu,
|
|
13
|
+
type ThemedClassName,
|
|
14
|
+
Toolbar,
|
|
15
|
+
Tooltip,
|
|
16
|
+
useThemeContext,
|
|
17
|
+
useTranslation,
|
|
18
|
+
} from '@dxos/react-ui';
|
|
19
|
+
import { getSize, hueTokenThemes, mx } from '@dxos/react-ui-theme';
|
|
20
|
+
|
|
21
|
+
const HuePreview = ({ hue }: { hue: string }) => {
|
|
22
|
+
const { tx } = useThemeContext();
|
|
23
|
+
const size = 20;
|
|
24
|
+
return (
|
|
25
|
+
<svg width={size} height={size} viewBox={`0 0 ${size} ${size}`}>
|
|
26
|
+
<rect x={0} y={0} width={size} height={size} className={tx('hue.fill', 'select--hue__preview', { hue })} />
|
|
27
|
+
</svg>
|
|
28
|
+
);
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
const hueTokens = Object.keys(hueTokenThemes).slice(0, 16);
|
|
32
|
+
|
|
33
|
+
export type HuePickerProps = {
|
|
34
|
+
disabled?: boolean;
|
|
35
|
+
defaultHue?: string;
|
|
36
|
+
hue?: string;
|
|
37
|
+
onChangeHue?: (nextHue: string) => void;
|
|
38
|
+
onClickClear?: ButtonProps['onClick'];
|
|
39
|
+
};
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* A toolbar button for picking hue. Use only in `role=toolbar` elements. Unable to unset the value.
|
|
43
|
+
*/
|
|
44
|
+
export const HuePickerToolbarButton = ({
|
|
45
|
+
disabled,
|
|
46
|
+
hue,
|
|
47
|
+
onChangeHue,
|
|
48
|
+
classNames,
|
|
49
|
+
defaultHue,
|
|
50
|
+
}: ThemedClassName<Omit<HuePickerProps, 'onClickClear'>>) => {
|
|
51
|
+
const { t } = useTranslation('os');
|
|
52
|
+
|
|
53
|
+
const [hueValue, setHueValue] = useControllableState<string>({
|
|
54
|
+
prop: hue,
|
|
55
|
+
onChange: onChangeHue,
|
|
56
|
+
defaultProp: defaultHue,
|
|
57
|
+
});
|
|
58
|
+
|
|
59
|
+
const [huePickerOpen, setHuePickerOpen] = useState<boolean>(false);
|
|
60
|
+
|
|
61
|
+
const suppressNextTooltip = useRef<boolean>(false);
|
|
62
|
+
const [triggerTooltipOpen, setTriggerTooltipOpen] = useState(false);
|
|
63
|
+
|
|
64
|
+
return (
|
|
65
|
+
<Tooltip.Root
|
|
66
|
+
open={triggerTooltipOpen}
|
|
67
|
+
onOpenChange={(nextOpen) => {
|
|
68
|
+
if (suppressNextTooltip.current) {
|
|
69
|
+
setTriggerTooltipOpen(false);
|
|
70
|
+
suppressNextTooltip.current = false;
|
|
71
|
+
} else {
|
|
72
|
+
setTriggerTooltipOpen(nextOpen);
|
|
73
|
+
}
|
|
74
|
+
}}
|
|
75
|
+
>
|
|
76
|
+
<DropdownMenu.Root
|
|
77
|
+
modal={false}
|
|
78
|
+
open={huePickerOpen}
|
|
79
|
+
onOpenChange={(nextOpen) => {
|
|
80
|
+
setHuePickerOpen(nextOpen);
|
|
81
|
+
suppressNextTooltip.current = true;
|
|
82
|
+
}}
|
|
83
|
+
>
|
|
84
|
+
<Tooltip.Trigger asChild>
|
|
85
|
+
<DropdownMenu.Trigger asChild>
|
|
86
|
+
<Toolbar.Button classNames={mx('gap-2 plb-1', classNames)} disabled={disabled}>
|
|
87
|
+
<span className='sr-only'>{t('select hue label')}</span>
|
|
88
|
+
<Palette className={getSize(5)} />
|
|
89
|
+
</Toolbar.Button>
|
|
90
|
+
</DropdownMenu.Trigger>
|
|
91
|
+
</Tooltip.Trigger>
|
|
92
|
+
<Tooltip.Portal>
|
|
93
|
+
<Tooltip.Content side='bottom'>
|
|
94
|
+
{t('select hue label')}
|
|
95
|
+
<Tooltip.Arrow />
|
|
96
|
+
</Tooltip.Content>
|
|
97
|
+
</Tooltip.Portal>
|
|
98
|
+
{/* TODO(burdon): Change from DropdownMenu (show checked). */}
|
|
99
|
+
<DropdownMenu.Content side='bottom' classNames='!w-40'>
|
|
100
|
+
<DropdownMenu.Viewport classNames='grid grid-cols-4'>
|
|
101
|
+
{hueTokens.map((hue) => {
|
|
102
|
+
return (
|
|
103
|
+
<DropdownMenu.CheckboxItem
|
|
104
|
+
key={hue}
|
|
105
|
+
checked={hue === hueValue}
|
|
106
|
+
onCheckedChange={() => setHueValue(hue)}
|
|
107
|
+
classNames={'px-0 py-2 items-center justify-center'}
|
|
108
|
+
>
|
|
109
|
+
<HuePreview hue={hue} />
|
|
110
|
+
</DropdownMenu.CheckboxItem>
|
|
111
|
+
);
|
|
112
|
+
})}
|
|
113
|
+
</DropdownMenu.Viewport>
|
|
114
|
+
</DropdownMenu.Content>
|
|
115
|
+
</DropdownMenu.Root>
|
|
116
|
+
</Tooltip.Root>
|
|
117
|
+
);
|
|
118
|
+
};
|
|
119
|
+
|
|
120
|
+
/**
|
|
121
|
+
* A button for picking hue alongside a button for unsetting it.
|
|
122
|
+
*/
|
|
123
|
+
export const HuePickerBlock = ({ disabled, hue, onChangeHue, defaultHue, onClickClear }: HuePickerProps) => {
|
|
124
|
+
const { t } = useTranslation('os');
|
|
125
|
+
|
|
126
|
+
const [hueValue, setHueValue] = useControllableState<string>({
|
|
127
|
+
prop: hue,
|
|
128
|
+
onChange: onChangeHue,
|
|
129
|
+
defaultProp: defaultHue,
|
|
130
|
+
});
|
|
131
|
+
|
|
132
|
+
return (
|
|
133
|
+
<>
|
|
134
|
+
<DropdownMenu.Root modal={false}>
|
|
135
|
+
<DropdownMenu.Trigger asChild>
|
|
136
|
+
<Button variant='ghost' classNames='gap-2 plb-1' disabled={disabled}>
|
|
137
|
+
<span className='sr-only'>{t('select hue label')}</span>
|
|
138
|
+
<div role='none' className='pis-14 grow flex items-center justify-center gap-2'>
|
|
139
|
+
<HuePreview hue={hueValue!} />
|
|
140
|
+
<span>{t(`${hueValue} label`)}</span>
|
|
141
|
+
</div>
|
|
142
|
+
<CaretDown className={getSize(4)} />
|
|
143
|
+
</Button>
|
|
144
|
+
</DropdownMenu.Trigger>
|
|
145
|
+
<DropdownMenu.Content side='right'>
|
|
146
|
+
<DropdownMenu.Viewport>
|
|
147
|
+
{Object.keys(hueTokenThemes).map((hue) => {
|
|
148
|
+
return (
|
|
149
|
+
<DropdownMenu.CheckboxItem
|
|
150
|
+
key={hue}
|
|
151
|
+
checked={hue === hueValue}
|
|
152
|
+
onCheckedChange={() => setHueValue(hue)}
|
|
153
|
+
>
|
|
154
|
+
<HuePreview hue={hue} />
|
|
155
|
+
<span className='grow'>{t(`${hue} label`)}</span>
|
|
156
|
+
<DropdownMenu.ItemIndicator>
|
|
157
|
+
<Check />
|
|
158
|
+
</DropdownMenu.ItemIndicator>
|
|
159
|
+
</DropdownMenu.CheckboxItem>
|
|
160
|
+
);
|
|
161
|
+
})}
|
|
162
|
+
</DropdownMenu.Viewport>
|
|
163
|
+
<DropdownMenu.Arrow />
|
|
164
|
+
</DropdownMenu.Content>
|
|
165
|
+
</DropdownMenu.Root>
|
|
166
|
+
<Tooltip.Root>
|
|
167
|
+
<Tooltip.Trigger asChild>
|
|
168
|
+
<Button variant='ghost' onClick={onClickClear} disabled={disabled}>
|
|
169
|
+
<span className='sr-only'>{t('clear label')}</span>
|
|
170
|
+
<ArrowCounterClockwise />
|
|
171
|
+
</Button>
|
|
172
|
+
</Tooltip.Trigger>
|
|
173
|
+
<Tooltip.Portal>
|
|
174
|
+
<Tooltip.Content side='right'>
|
|
175
|
+
{t('clear label')}
|
|
176
|
+
<Tooltip.Arrow />
|
|
177
|
+
</Tooltip.Content>
|
|
178
|
+
</Tooltip.Portal>
|
|
179
|
+
</Tooltip.Root>
|
|
180
|
+
</>
|
|
181
|
+
);
|
|
182
|
+
};
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* https://github.com/missive/emoji-mart/blob/main/packages/emoji-mart-website/example-custom-styles.html
|
|
3
|
+
*/
|
|
4
|
+
[data-theme="dark"] em-emoji-picker {
|
|
5
|
+
/* TODO(burdon): Get from TW defs: modal-surface? */
|
|
6
|
+
--background-rgb: #3B3B3F;
|
|
7
|
+
--rgb-background: #3B3B3F;
|
|
8
|
+
|
|
9
|
+
--font-family: "Inter Variable", ui-sans-serif;
|
|
10
|
+
|
|
11
|
+
/*--font-size: 16px;*/
|
|
12
|
+
/*--color-border-over: rgba(0, 0, 0, 0.1);*/
|
|
13
|
+
/*--color-border: rgba(0, 0, 0, 0.05);*/
|
|
14
|
+
/*--category-icon-size: 24px;*/
|
|
15
|
+
/*--border-radius: 24px;*/
|
|
16
|
+
/*--font-family: 'Comic Sans MS', 'Chalkboard SE', cursive;*/
|
|
17
|
+
/*--rgb-accent: 255, 105, 180;*/
|
|
18
|
+
/*--rgb-color: 102, 51, 153;*/
|
|
19
|
+
/*--rgb-input: 255, 235, 235;*/
|
|
20
|
+
/*--shadow: 5px 5px 15px -8px rebeccapurple;*/
|
|
21
|
+
|
|
22
|
+
/*height: 50vh;*/
|
|
23
|
+
/*min-height: 400px;*/
|
|
24
|
+
/*max-height: 800px;*/
|
|
25
|
+
}
|