@dxos/shell 0.7.5-labs.a279d8c → 0.7.5-labs.ea4b4c2
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 +16927 -17875
- package/dist/bundle/shell.mjs.map +1 -1
- package/dist/bundle/shell.umd.js +149 -147
- 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.mjs +532 -794
- package/dist/lib/browser/react.mjs.map +4 -4
- package/dist/lib/node/meta.json +1 -1
- package/dist/lib/node/react.cjs +625 -887
- package/dist/lib/node/react.cjs.map +4 -4
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/lib/node-esm/react.mjs +532 -794
- 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/index.d.ts +0 -2
- package/dist/types/src/components/index.d.ts.map +1 -1
- package/dist/types/src/components/index.js +0 -2
- 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 +14 -14
- 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 +3 -0
- package/dist/types/src/panels/IdentityPanel/IdentityPanel.stories.js.map +1 -1
- package/dist/types/src/panels/IdentityPanel/IdentityPanelProps.d.ts +2 -1
- package/dist/types/src/panels/IdentityPanel/IdentityPanelProps.d.ts.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 +3 -2
- 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 +5 -0
- 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 +2 -0
- package/dist/types/src/testing/fixtures/identities.js.map +1 -1
- package/dist/types/src/translations/locales/en-US.d.ts +1 -1
- package/dist/types/src/translations/locales/en-US.js +1 -1
- package/dist/types/src/translations/locales/en-US.js.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +31 -30
- package/src/components/AgentConfig.tsx +1 -1
- package/src/components/DeviceList/DeviceList.tsx +1 -1
- package/src/components/index.ts +0 -2
- package/src/panels/IdentityPanel/IdentityPanel.stories.tsx +3 -0
- package/src/panels/IdentityPanel/IdentityPanel.tsx +29 -26
- package/src/panels/IdentityPanel/IdentityPanelProps.ts +8 -1
- package/src/panels/IdentityPanel/steps/ProfileForm.tsx +2 -1
- package/src/panels/JoinPanel/steps/IdentityInput.tsx +1 -1
- package/src/panels/SpacePanel/SpacePanel.stories.tsx +6 -1
- package/src/testing/fixtures/identities.ts +2 -0
- package/src/translations/locales/en-US.ts +1 -1
- package/dist/lib/browser/react.css +0 -7
- package/dist/lib/browser/react.css.map +0 -7
- package/dist/lib/node/react.css +0 -7
- package/dist/lib/node/react.css.map +0 -7
- package/dist/lib/node-esm/react.css +0 -7
- package/dist/lib/node-esm/react.css.map +0 -7
- package/dist/types/src/components/EmojiPicker.d.ts +0 -19
- package/dist/types/src/components/EmojiPicker.d.ts.map +0 -1
- package/dist/types/src/components/EmojiPicker.js +0 -146
- package/dist/types/src/components/EmojiPicker.js.map +0 -1
- package/dist/types/src/components/HuePicker.d.ts +0 -18
- package/dist/types/src/components/HuePicker.d.ts.map +0 -1
- package/dist/types/src/components/HuePicker.js +0 -133
- package/dist/types/src/components/HuePicker.js.map +0 -1
- package/src/components/EmojiPicker.tsx +0 -187
- package/src/components/HuePicker.tsx +0 -182
- package/src/components/emoji.css +0 -25
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { type ButtonProps, type ThemedClassName } from '@dxos/react-ui';
|
|
3
|
-
export type HuePickerProps = {
|
|
4
|
-
disabled?: boolean;
|
|
5
|
-
defaultHue?: string;
|
|
6
|
-
hue?: string;
|
|
7
|
-
onChangeHue?: (nextHue: string) => void;
|
|
8
|
-
onClickClear?: ButtonProps['onClick'];
|
|
9
|
-
};
|
|
10
|
-
/**
|
|
11
|
-
* A toolbar button for picking hue. Use only in `role=toolbar` elements. Unable to unset the value.
|
|
12
|
-
*/
|
|
13
|
-
export declare const HuePickerToolbarButton: ({ disabled, hue, onChangeHue, classNames, defaultHue, }: ThemedClassName<Omit<HuePickerProps, "onClickClear">>) => React.JSX.Element;
|
|
14
|
-
/**
|
|
15
|
-
* A button for picking hue alongside a button for unsetting it.
|
|
16
|
-
*/
|
|
17
|
-
export declare const HuePickerBlock: ({ disabled, hue, onChangeHue, defaultHue, onClickClear }: HuePickerProps) => React.JSX.Element;
|
|
18
|
-
//# sourceMappingURL=HuePicker.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"HuePicker.d.ts","sourceRoot":"","sources":["../../../../src/components/HuePicker.tsx"],"names":[],"mappings":"AAMA,OAAO,KAA2B,MAAM,OAAO,CAAC;AAEhD,OAAO,EAEL,KAAK,WAAW,EAEhB,KAAK,eAAe,EAKrB,MAAM,gBAAgB,CAAC;AAexB,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,YAAY,CAAC,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;CACvC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,sBAAsB,4DAMhC,eAAe,CAAC,IAAI,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC,sBAoEvD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,cAAc,6DAA8D,cAAc,sBA2DtG,CAAC"}
|
|
@@ -1,133 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
//
|
|
3
|
-
// Copyright 2024 DXOS.org
|
|
4
|
-
//
|
|
5
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
6
|
-
if (k2 === undefined) k2 = k;
|
|
7
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
8
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
9
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
10
|
-
}
|
|
11
|
-
Object.defineProperty(o, k2, desc);
|
|
12
|
-
}) : (function(o, m, k, k2) {
|
|
13
|
-
if (k2 === undefined) k2 = k;
|
|
14
|
-
o[k2] = m[k];
|
|
15
|
-
}));
|
|
16
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
17
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
18
|
-
}) : function(o, v) {
|
|
19
|
-
o["default"] = v;
|
|
20
|
-
});
|
|
21
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
22
|
-
var ownKeys = function(o) {
|
|
23
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
24
|
-
var ar = [];
|
|
25
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
26
|
-
return ar;
|
|
27
|
-
};
|
|
28
|
-
return ownKeys(o);
|
|
29
|
-
};
|
|
30
|
-
return function (mod) {
|
|
31
|
-
if (mod && mod.__esModule) return mod;
|
|
32
|
-
var result = {};
|
|
33
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
34
|
-
__setModuleDefault(result, mod);
|
|
35
|
-
return result;
|
|
36
|
-
};
|
|
37
|
-
})();
|
|
38
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
-
exports.HuePickerBlock = exports.HuePickerToolbarButton = void 0;
|
|
40
|
-
const react_1 = require("@phosphor-icons/react");
|
|
41
|
-
const react_use_controllable_state_1 = require("@radix-ui/react-use-controllable-state");
|
|
42
|
-
const react_2 = __importStar(require("react"));
|
|
43
|
-
const react_ui_1 = require("@dxos/react-ui");
|
|
44
|
-
const react_ui_theme_1 = require("@dxos/react-ui-theme");
|
|
45
|
-
const HuePreview = ({ hue }) => {
|
|
46
|
-
const { tx } = (0, react_ui_1.useThemeContext)();
|
|
47
|
-
const size = 20;
|
|
48
|
-
return (react_2.default.createElement("svg", { width: size, height: size, viewBox: `0 0 ${size} ${size}` },
|
|
49
|
-
react_2.default.createElement("rect", { x: 0, y: 0, width: size, height: size, className: tx('hue.fill', 'select--hue__preview', { hue }) })));
|
|
50
|
-
};
|
|
51
|
-
const hueTokens = Object.keys(react_ui_theme_1.hueTokenThemes).slice(0, 16);
|
|
52
|
-
/**
|
|
53
|
-
* A toolbar button for picking hue. Use only in `role=toolbar` elements. Unable to unset the value.
|
|
54
|
-
*/
|
|
55
|
-
const HuePickerToolbarButton = ({ disabled, hue, onChangeHue, classNames, defaultHue, }) => {
|
|
56
|
-
const { t } = (0, react_ui_1.useTranslation)('os');
|
|
57
|
-
const [hueValue, setHueValue] = (0, react_use_controllable_state_1.useControllableState)({
|
|
58
|
-
prop: hue,
|
|
59
|
-
onChange: onChangeHue,
|
|
60
|
-
defaultProp: defaultHue,
|
|
61
|
-
});
|
|
62
|
-
const [huePickerOpen, setHuePickerOpen] = (0, react_2.useState)(false);
|
|
63
|
-
const suppressNextTooltip = (0, react_2.useRef)(false);
|
|
64
|
-
const [triggerTooltipOpen, setTriggerTooltipOpen] = (0, react_2.useState)(false);
|
|
65
|
-
return (react_2.default.createElement(react_ui_1.Tooltip.Root, { open: triggerTooltipOpen, onOpenChange: (nextOpen) => {
|
|
66
|
-
if (suppressNextTooltip.current) {
|
|
67
|
-
setTriggerTooltipOpen(false);
|
|
68
|
-
suppressNextTooltip.current = false;
|
|
69
|
-
}
|
|
70
|
-
else {
|
|
71
|
-
setTriggerTooltipOpen(nextOpen);
|
|
72
|
-
}
|
|
73
|
-
} },
|
|
74
|
-
react_2.default.createElement(react_ui_1.DropdownMenu.Root, { modal: false, open: huePickerOpen, onOpenChange: (nextOpen) => {
|
|
75
|
-
setHuePickerOpen(nextOpen);
|
|
76
|
-
suppressNextTooltip.current = true;
|
|
77
|
-
} },
|
|
78
|
-
react_2.default.createElement(react_ui_1.Tooltip.Trigger, { asChild: true },
|
|
79
|
-
react_2.default.createElement(react_ui_1.DropdownMenu.Trigger, { asChild: true },
|
|
80
|
-
react_2.default.createElement(react_ui_1.Toolbar.Button, { classNames: (0, react_ui_theme_1.mx)('gap-2 plb-1', classNames), disabled: disabled },
|
|
81
|
-
react_2.default.createElement("span", { className: 'sr-only' }, t('select hue label')),
|
|
82
|
-
react_2.default.createElement(react_1.Palette, { className: (0, react_ui_theme_1.getSize)(5) })))),
|
|
83
|
-
react_2.default.createElement(react_ui_1.Tooltip.Portal, null,
|
|
84
|
-
react_2.default.createElement(react_ui_1.Tooltip.Content, { side: 'bottom' },
|
|
85
|
-
t('select hue label'),
|
|
86
|
-
react_2.default.createElement(react_ui_1.Tooltip.Arrow, null))),
|
|
87
|
-
react_2.default.createElement(react_ui_1.DropdownMenu.Content, { side: 'bottom', classNames: '!w-40' },
|
|
88
|
-
react_2.default.createElement(react_ui_1.DropdownMenu.Viewport, { classNames: 'grid grid-cols-4' }, hueTokens.map((hue) => {
|
|
89
|
-
return (react_2.default.createElement(react_ui_1.DropdownMenu.CheckboxItem, { key: hue, checked: hue === hueValue, onCheckedChange: () => setHueValue(hue), classNames: 'px-0 py-2 items-center justify-center' },
|
|
90
|
-
react_2.default.createElement(HuePreview, { hue: hue })));
|
|
91
|
-
}))))));
|
|
92
|
-
};
|
|
93
|
-
exports.HuePickerToolbarButton = HuePickerToolbarButton;
|
|
94
|
-
/**
|
|
95
|
-
* A button for picking hue alongside a button for unsetting it.
|
|
96
|
-
*/
|
|
97
|
-
const HuePickerBlock = ({ disabled, hue, onChangeHue, defaultHue, onClickClear }) => {
|
|
98
|
-
const { t } = (0, react_ui_1.useTranslation)('os');
|
|
99
|
-
const [hueValue, setHueValue] = (0, react_use_controllable_state_1.useControllableState)({
|
|
100
|
-
prop: hue,
|
|
101
|
-
onChange: onChangeHue,
|
|
102
|
-
defaultProp: defaultHue,
|
|
103
|
-
});
|
|
104
|
-
return (react_2.default.createElement(react_2.default.Fragment, null,
|
|
105
|
-
react_2.default.createElement(react_ui_1.DropdownMenu.Root, { modal: false },
|
|
106
|
-
react_2.default.createElement(react_ui_1.DropdownMenu.Trigger, { asChild: true },
|
|
107
|
-
react_2.default.createElement(react_ui_1.Button, { variant: 'ghost', classNames: 'gap-2 plb-1', disabled: disabled },
|
|
108
|
-
react_2.default.createElement("span", { className: 'sr-only' }, t('select hue label')),
|
|
109
|
-
react_2.default.createElement("div", { role: 'none', className: 'pis-14 grow flex items-center justify-center gap-2' },
|
|
110
|
-
react_2.default.createElement(HuePreview, { hue: hueValue }),
|
|
111
|
-
react_2.default.createElement("span", null, t(`${hueValue} label`))),
|
|
112
|
-
react_2.default.createElement(react_1.CaretDown, { className: (0, react_ui_theme_1.getSize)(4) }))),
|
|
113
|
-
react_2.default.createElement(react_ui_1.DropdownMenu.Content, { side: 'right' },
|
|
114
|
-
react_2.default.createElement(react_ui_1.DropdownMenu.Viewport, null, Object.keys(react_ui_theme_1.hueTokenThemes).map((hue) => {
|
|
115
|
-
return (react_2.default.createElement(react_ui_1.DropdownMenu.CheckboxItem, { key: hue, checked: hue === hueValue, onCheckedChange: () => setHueValue(hue) },
|
|
116
|
-
react_2.default.createElement(HuePreview, { hue: hue }),
|
|
117
|
-
react_2.default.createElement("span", { className: 'grow' }, t(`${hue} label`)),
|
|
118
|
-
react_2.default.createElement(react_ui_1.DropdownMenu.ItemIndicator, null,
|
|
119
|
-
react_2.default.createElement(react_1.Check, null))));
|
|
120
|
-
})),
|
|
121
|
-
react_2.default.createElement(react_ui_1.DropdownMenu.Arrow, null))),
|
|
122
|
-
react_2.default.createElement(react_ui_1.Tooltip.Root, null,
|
|
123
|
-
react_2.default.createElement(react_ui_1.Tooltip.Trigger, { asChild: true },
|
|
124
|
-
react_2.default.createElement(react_ui_1.Button, { variant: 'ghost', onClick: onClickClear, disabled: disabled },
|
|
125
|
-
react_2.default.createElement("span", { className: 'sr-only' }, t('clear label')),
|
|
126
|
-
react_2.default.createElement(react_1.ArrowCounterClockwise, null))),
|
|
127
|
-
react_2.default.createElement(react_ui_1.Tooltip.Portal, null,
|
|
128
|
-
react_2.default.createElement(react_ui_1.Tooltip.Content, { side: 'right' },
|
|
129
|
-
t('clear label'),
|
|
130
|
-
react_2.default.createElement(react_ui_1.Tooltip.Arrow, null))))));
|
|
131
|
-
};
|
|
132
|
-
exports.HuePickerBlock = HuePickerBlock;
|
|
133
|
-
//# sourceMappingURL=HuePicker.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"HuePicker.js","sourceRoot":"","sources":["../../../../src/components/HuePicker.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,187 +0,0 @@
|
|
|
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
|
-
};
|
|
@@ -1,182 +0,0 @@
|
|
|
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
|
-
};
|
package/src/components/emoji.css
DELETED
|
@@ -1,25 +0,0 @@
|
|
|
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
|
-
}
|