@dxos/shell 0.7.5-labs.5f04cf6 → 0.7.5-labs.e27f9b9

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 (67) hide show
  1. package/dist/bundle/shell.mjs +15366 -16305
  2. package/dist/bundle/shell.mjs.map +1 -1
  3. package/dist/bundle/shell.umd.js +149 -147
  4. package/dist/bundle/shell.umd.js.map +1 -1
  5. package/dist/bundle/style.css +1 -1
  6. package/dist/lib/browser/meta.json +1 -1
  7. package/dist/lib/browser/react.mjs +518 -782
  8. package/dist/lib/browser/react.mjs.map +4 -4
  9. package/dist/lib/node/meta.json +1 -1
  10. package/dist/lib/node/react.cjs +615 -879
  11. package/dist/lib/node/react.cjs.map +4 -4
  12. package/dist/lib/node-esm/meta.json +1 -1
  13. package/dist/lib/node-esm/react.mjs +518 -782
  14. package/dist/lib/node-esm/react.mjs.map +4 -4
  15. package/dist/types/src/components/AgentConfig.js +1 -1
  16. package/dist/types/src/components/AgentConfig.js.map +1 -1
  17. package/dist/types/src/components/DeviceList/DeviceList.js +1 -1
  18. package/dist/types/src/components/DeviceList/DeviceList.js.map +1 -1
  19. package/dist/types/src/components/index.d.ts +0 -2
  20. package/dist/types/src/components/index.d.ts.map +1 -1
  21. package/dist/types/src/components/index.js +0 -2
  22. package/dist/types/src/components/index.js.map +1 -1
  23. package/dist/types/src/panels/IdentityPanel/IdentityPanel.d.ts.map +1 -1
  24. package/dist/types/src/panels/IdentityPanel/IdentityPanel.js +3 -2
  25. package/dist/types/src/panels/IdentityPanel/IdentityPanel.js.map +1 -1
  26. package/dist/types/src/panels/IdentityPanel/IdentityPanel.stories.d.ts.map +1 -1
  27. package/dist/types/src/panels/IdentityPanel/IdentityPanel.stories.js +2 -0
  28. package/dist/types/src/panels/IdentityPanel/IdentityPanel.stories.js.map +1 -1
  29. package/dist/types/src/panels/IdentityPanel/steps/ProfileForm.d.ts.map +1 -1
  30. package/dist/types/src/panels/IdentityPanel/steps/ProfileForm.js +3 -2
  31. package/dist/types/src/panels/IdentityPanel/steps/ProfileForm.js.map +1 -1
  32. package/dist/types/src/panels/JoinPanel/steps/IdentityInput.js +1 -1
  33. package/dist/types/src/panels/JoinPanel/steps/IdentityInput.js.map +1 -1
  34. package/dist/types/src/panels/SpacePanel/SpacePanel.stories.d.ts.map +1 -1
  35. package/dist/types/src/panels/SpacePanel/SpacePanel.stories.js +5 -0
  36. package/dist/types/src/panels/SpacePanel/SpacePanel.stories.js.map +1 -1
  37. package/dist/types/src/testing/fixtures/identities.d.ts.map +1 -1
  38. package/dist/types/src/testing/fixtures/identities.js +2 -0
  39. package/dist/types/src/testing/fixtures/identities.js.map +1 -1
  40. package/dist/types/tsconfig.tsbuildinfo +1 -1
  41. package/package.json +31 -30
  42. package/src/components/AgentConfig.tsx +1 -1
  43. package/src/components/DeviceList/DeviceList.tsx +1 -1
  44. package/src/components/index.ts +0 -2
  45. package/src/panels/IdentityPanel/IdentityPanel.stories.tsx +2 -0
  46. package/src/panels/IdentityPanel/IdentityPanel.tsx +2 -1
  47. package/src/panels/IdentityPanel/steps/ProfileForm.tsx +2 -1
  48. package/src/panels/JoinPanel/steps/IdentityInput.tsx +1 -1
  49. package/src/panels/SpacePanel/SpacePanel.stories.tsx +6 -1
  50. package/src/testing/fixtures/identities.ts +2 -0
  51. package/dist/lib/browser/react.css +0 -7
  52. package/dist/lib/browser/react.css.map +0 -7
  53. package/dist/lib/node/react.css +0 -7
  54. package/dist/lib/node/react.css.map +0 -7
  55. package/dist/lib/node-esm/react.css +0 -7
  56. package/dist/lib/node-esm/react.css.map +0 -7
  57. package/dist/types/src/components/EmojiPicker.d.ts +0 -19
  58. package/dist/types/src/components/EmojiPicker.d.ts.map +0 -1
  59. package/dist/types/src/components/EmojiPicker.js +0 -146
  60. package/dist/types/src/components/EmojiPicker.js.map +0 -1
  61. package/dist/types/src/components/HuePicker.d.ts +0 -18
  62. package/dist/types/src/components/HuePicker.d.ts.map +0 -1
  63. package/dist/types/src/components/HuePicker.js +0 -133
  64. package/dist/types/src/components/HuePicker.js.map +0 -1
  65. package/src/components/EmojiPicker.tsx +0 -187
  66. package/src/components/HuePicker.tsx +0 -182
  67. package/src/components/emoji.css +0 -25
@@ -6,7 +6,7 @@ import '@dxos-theme';
6
6
 
7
7
  import React from 'react';
8
8
 
9
- import { PublicKey } from '@dxos/keys';
9
+ import { IdentityDid, PublicKey } from '@dxos/keys';
10
10
  import { HaloSpaceMember, SpaceMember } from '@dxos/react-client/echo';
11
11
  import { Invitation } from '@dxos/react-client/invitations';
12
12
  import { withTheme } from '@dxos/storybook-utils';
@@ -179,6 +179,7 @@ export const SpaceManagerWithMember = () => {
179
179
  presence: SpaceMember.PresenceState.ONLINE,
180
180
  role: HaloSpaceMember.Role.ADMIN,
181
181
  identity: {
182
+ did: IdentityDid.random(),
182
183
  identityKey: PublicKey.random(),
183
184
  },
184
185
  },
@@ -212,6 +213,7 @@ export const SpaceManagerWithMembers = () => {
212
213
  presence: SpaceMember.PresenceState.ONLINE,
213
214
  role: HaloSpaceMember.Role.ADMIN,
214
215
  identity: {
216
+ did: IdentityDid.random(),
215
217
  identityKey: PublicKey.random(),
216
218
  profile: {
217
219
  displayName: 'John Doe',
@@ -252,6 +254,7 @@ export const SpaceManagerWithMoreMembers = () => {
252
254
  presence: SpaceMember.PresenceState.ONLINE,
253
255
  role: HaloSpaceMember.Role.ADMIN,
254
256
  identity: {
257
+ did: IdentityDid.random(),
255
258
  identityKey: PublicKey.random(),
256
259
  profile: {
257
260
  displayName: 'John Doe',
@@ -262,6 +265,7 @@ export const SpaceManagerWithMoreMembers = () => {
262
265
  presence: SpaceMember.PresenceState.OFFLINE,
263
266
  role: HaloSpaceMember.Role.ADMIN,
264
267
  identity: {
268
+ did: IdentityDid.random(),
265
269
  identityKey: PublicKey.random(),
266
270
  profile: {
267
271
  displayName: 'Alice Wong',
@@ -272,6 +276,7 @@ export const SpaceManagerWithMoreMembers = () => {
272
276
  presence: SpaceMember.PresenceState.OFFLINE,
273
277
  role: HaloSpaceMember.Role.ADMIN,
274
278
  identity: {
279
+ did: IdentityDid.random(),
275
280
  identityKey: PublicKey.random(),
276
281
  profile: {
277
282
  displayName: 'Steel Nickels',
@@ -2,12 +2,14 @@
2
2
  // Copyright 2023 DXOS.org
3
3
  //
4
4
 
5
+ import { IdentityDid } from '@dxos/keys';
5
6
  import { PublicKey } from '@dxos/react-client';
6
7
  import { HaloSpaceMember, SpaceMember } from '@dxos/react-client/echo';
7
8
 
8
9
  export const alice: SpaceMember = {
9
10
  role: HaloSpaceMember.Role.ADMIN,
10
11
  identity: {
12
+ did: IdentityDid.random(),
11
13
  identityKey: PublicKey.random(),
12
14
  profile: {
13
15
  displayName: 'Alice',
@@ -1,7 +0,0 @@
1
- /* packages/sdk/shell/src/components/emoji.css */
2
- [data-theme=dark] em-emoji-picker {
3
- --background-rgb: #3B3B3F;
4
- --rgb-background: #3B3B3F;
5
- --font-family: "Inter Variable", ui-sans-serif;
6
- }
7
- /*# sourceMappingURL=react.css.map */
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/components/emoji.css"],
4
- "sourcesContent": ["/**\n * https://github.com/missive/emoji-mart/blob/main/packages/emoji-mart-website/example-custom-styles.html\n */\n[data-theme=\"dark\"] em-emoji-picker {\n /* TODO(burdon): Get from TW defs: modal-surface? */\n --background-rgb: #3B3B3F;\n --rgb-background: #3B3B3F;\n\n --font-family: \"Inter Variable\", ui-sans-serif;\n\n /*--font-size: 16px;*/\n /*--color-border-over: rgba(0, 0, 0, 0.1);*/\n /*--color-border: rgba(0, 0, 0, 0.05);*/\n /*--category-icon-size: 24px;*/\n /*--border-radius: 24px;*/\n /*--font-family: 'Comic Sans MS', 'Chalkboard SE', cursive;*/\n /*--rgb-accent: 255, 105, 180;*/\n /*--rgb-color: 102, 51, 153;*/\n /*--rgb-input: 255, 235, 235;*/\n /*--shadow: 5px 5px 15px -8px rebeccapurple;*/\n\n /*height: 50vh;*/\n /*min-height: 400px;*/\n /*max-height: 800px;*/\n}\n"],
5
- "mappings": ";AAGA,CAAC,iBAAmB;AAElB,oBAAkB;AAClB,oBAAkB;AAElB,iBAAe,gBAAgB,EAAE;AAgBnC;",
6
- "names": []
7
- }
@@ -1,7 +0,0 @@
1
- /* packages/sdk/shell/src/components/emoji.css */
2
- [data-theme=dark] em-emoji-picker {
3
- --background-rgb: #3B3B3F;
4
- --rgb-background: #3B3B3F;
5
- --font-family: "Inter Variable", ui-sans-serif;
6
- }
7
- /*# sourceMappingURL=react.css.map */
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/components/emoji.css"],
4
- "sourcesContent": ["/**\n * https://github.com/missive/emoji-mart/blob/main/packages/emoji-mart-website/example-custom-styles.html\n */\n[data-theme=\"dark\"] em-emoji-picker {\n /* TODO(burdon): Get from TW defs: modal-surface? */\n --background-rgb: #3B3B3F;\n --rgb-background: #3B3B3F;\n\n --font-family: \"Inter Variable\", ui-sans-serif;\n\n /*--font-size: 16px;*/\n /*--color-border-over: rgba(0, 0, 0, 0.1);*/\n /*--color-border: rgba(0, 0, 0, 0.05);*/\n /*--category-icon-size: 24px;*/\n /*--border-radius: 24px;*/\n /*--font-family: 'Comic Sans MS', 'Chalkboard SE', cursive;*/\n /*--rgb-accent: 255, 105, 180;*/\n /*--rgb-color: 102, 51, 153;*/\n /*--rgb-input: 255, 235, 235;*/\n /*--shadow: 5px 5px 15px -8px rebeccapurple;*/\n\n /*height: 50vh;*/\n /*min-height: 400px;*/\n /*max-height: 800px;*/\n}\n"],
5
- "mappings": ";AAGA,CAAC,iBAAmB;AAElB,oBAAkB;AAClB,oBAAkB;AAElB,iBAAe,gBAAgB,EAAE;AAgBnC;",
6
- "names": []
7
- }
@@ -1,7 +0,0 @@
1
- /* packages/sdk/shell/src/components/emoji.css */
2
- [data-theme=dark] em-emoji-picker {
3
- --background-rgb: #3B3B3F;
4
- --rgb-background: #3B3B3F;
5
- --font-family: "Inter Variable", ui-sans-serif;
6
- }
7
- /*# sourceMappingURL=react.css.map */
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/components/emoji.css"],
4
- "sourcesContent": ["/**\n * https://github.com/missive/emoji-mart/blob/main/packages/emoji-mart-website/example-custom-styles.html\n */\n[data-theme=\"dark\"] em-emoji-picker {\n /* TODO(burdon): Get from TW defs: modal-surface? */\n --background-rgb: #3B3B3F;\n --rgb-background: #3B3B3F;\n\n --font-family: \"Inter Variable\", ui-sans-serif;\n\n /*--font-size: 16px;*/\n /*--color-border-over: rgba(0, 0, 0, 0.1);*/\n /*--color-border: rgba(0, 0, 0, 0.05);*/\n /*--category-icon-size: 24px;*/\n /*--border-radius: 24px;*/\n /*--font-family: 'Comic Sans MS', 'Chalkboard SE', cursive;*/\n /*--rgb-accent: 255, 105, 180;*/\n /*--rgb-color: 102, 51, 153;*/\n /*--rgb-input: 255, 235, 235;*/\n /*--shadow: 5px 5px 15px -8px rebeccapurple;*/\n\n /*height: 50vh;*/\n /*min-height: 400px;*/\n /*max-height: 800px;*/\n}\n"],
5
- "mappings": ";AAGA,CAAC,iBAAmB;AAElB,oBAAkB;AAClB,oBAAkB;AAElB,iBAAe,gBAAgB,EAAE;AAgBnC;",
6
- "names": []
7
- }
@@ -1,19 +0,0 @@
1
- import React from 'react';
2
- import { type ButtonProps, type ThemedClassName } from '@dxos/react-ui';
3
- import './emoji.css';
4
- export type EmojiPickerProps = {
5
- disabled?: boolean;
6
- defaultEmoji?: string;
7
- emoji?: string;
8
- onChangeEmoji?: (nextEmoji: string) => void;
9
- onClickClear?: ButtonProps['onClick'];
10
- };
11
- /**
12
- * A toolbar button for picking an emoji. Use only in `role=toolbar` elements. Unable to unset the value.
13
- */
14
- export declare const EmojiPickerToolbarButton: ({ disabled, defaultEmoji, emoji, onChangeEmoji, classNames, }: ThemedClassName<Omit<EmojiPickerProps, "onClickClear">>) => React.JSX.Element;
15
- /**
16
- * A button for picking an emoji alongside a button for unsetting it.
17
- */
18
- export declare const EmojiPickerBlock: ({ disabled, defaultEmoji, emoji, onChangeEmoji, onClickClear }: EmojiPickerProps) => React.JSX.Element;
19
- //# sourceMappingURL=EmojiPicker.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"EmojiPicker.d.ts","sourceRoot":"","sources":["../../../../src/components/EmojiPicker.tsx"],"names":[],"mappings":"AAQA,OAAO,KAA2B,MAAM,OAAO,CAAC;AAEhD,OAAO,EAEL,KAAK,WAAW,EAEhB,KAAK,eAAe,EAMrB,MAAM,gBAAgB,CAAC;AAGxB,OAAO,aAAa,CAAC;AAErB,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5C,YAAY,CAAC,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;CACvC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,wBAAwB,kEAMlC,eAAe,CAAC,IAAI,CAAC,gBAAgB,EAAE,cAAc,CAAC,CAAC,sBA4EzD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,gBAAgB,mEAAoE,gBAAgB,sBA+DhH,CAAC"}
@@ -1,146 +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
- var __importDefault = (this && this.__importDefault) || function (mod) {
39
- return (mod && mod.__esModule) ? mod : { "default": mod };
40
- };
41
- Object.defineProperty(exports, "__esModule", { value: true });
42
- exports.EmojiPickerBlock = exports.EmojiPickerToolbarButton = void 0;
43
- const data_1 = __importDefault(require("@emoji-mart/data"));
44
- const react_1 = __importDefault(require("@emoji-mart/react"));
45
- const react_2 = require("@phosphor-icons/react");
46
- const react_use_controllable_state_1 = require("@radix-ui/react-use-controllable-state");
47
- const react_3 = __importStar(require("react"));
48
- const react_ui_1 = require("@dxos/react-ui");
49
- const react_ui_theme_1 = require("@dxos/react-ui-theme");
50
- require("./emoji.css");
51
- /**
52
- * A toolbar button for picking an emoji. Use only in `role=toolbar` elements. Unable to unset the value.
53
- */
54
- const EmojiPickerToolbarButton = ({ disabled, defaultEmoji, emoji, onChangeEmoji, classNames, }) => {
55
- const { t } = (0, react_ui_1.useTranslation)('os');
56
- const { themeMode } = (0, react_ui_1.useThemeContext)();
57
- const [_emojiValue, setEmojiValue] = (0, react_use_controllable_state_1.useControllableState)({
58
- prop: emoji,
59
- onChange: onChangeEmoji,
60
- defaultProp: defaultEmoji,
61
- });
62
- const [emojiPickerOpen, setEmojiPickerOpen] = (0, react_3.useState)(false);
63
- const suppressNextTooltip = (0, react_3.useRef)(false);
64
- const [triggerTooltipOpen, setTriggerTooltipOpen] = (0, react_3.useState)(false);
65
- return (react_3.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_3.default.createElement(react_ui_1.Popover.Root, { open: emojiPickerOpen, onOpenChange: (nextOpen) => {
75
- setEmojiPickerOpen(nextOpen);
76
- suppressNextTooltip.current = true;
77
- } },
78
- react_3.default.createElement(react_ui_1.Tooltip.Trigger, { asChild: true },
79
- react_3.default.createElement(react_ui_1.Popover.Trigger, { asChild: true },
80
- react_3.default.createElement(react_ui_1.Toolbar.Button, { classNames: ['gap-2 text-2xl plb-1', classNames], disabled: disabled },
81
- react_3.default.createElement("span", { className: 'sr-only' }, t('select emoji label')),
82
- react_3.default.createElement(react_2.UserCircle, { className: (0, react_ui_theme_1.getSize)(5) })))),
83
- react_3.default.createElement(react_ui_1.Tooltip.Portal, null,
84
- react_3.default.createElement(react_ui_1.Tooltip.Content, { side: 'bottom' },
85
- t('select emoji label'),
86
- react_3.default.createElement(react_ui_1.Tooltip.Arrow, null))),
87
- react_3.default.createElement(react_ui_1.Popover.Content, { side: 'bottom', onKeyDownCapture: (event) => {
88
- if (event.key === 'Escape') {
89
- event.stopPropagation();
90
- setEmojiPickerOpen(false);
91
- suppressNextTooltip.current = true;
92
- }
93
- } },
94
- react_3.default.createElement(react_1.default, { data: data_1.default, onEmojiSelect: ({ native }) => {
95
- if (native) {
96
- setEmojiValue(native);
97
- setEmojiPickerOpen(false);
98
- }
99
- }, autoFocus: true, maxFrequentRows: 0, noCountryFlags: true, theme: themeMode }),
100
- react_3.default.createElement(react_ui_1.Popover.Arrow, null)))));
101
- };
102
- exports.EmojiPickerToolbarButton = EmojiPickerToolbarButton;
103
- /**
104
- * A button for picking an emoji alongside a button for unsetting it.
105
- */
106
- const EmojiPickerBlock = ({ disabled, defaultEmoji, emoji, onChangeEmoji, onClickClear }) => {
107
- const { t } = (0, react_ui_1.useTranslation)('os');
108
- const [isMd] = (0, react_ui_1.useMediaQuery)('md', { ssr: false });
109
- const [emojiValue, setEmojiValue] = (0, react_use_controllable_state_1.useControllableState)({
110
- prop: emoji,
111
- onChange: onChangeEmoji,
112
- defaultProp: defaultEmoji,
113
- });
114
- const [emojiPickerOpen, setEmojiPickerOpen] = (0, react_3.useState)(false);
115
- return (react_3.default.createElement(react_3.default.Fragment, null,
116
- react_3.default.createElement(react_ui_1.Popover.Root, { open: emojiPickerOpen, onOpenChange: setEmojiPickerOpen },
117
- react_3.default.createElement(react_ui_1.Popover.Trigger, { asChild: true },
118
- react_3.default.createElement(react_ui_1.Button, { variant: 'ghost', classNames: 'gap-2 text-2xl plb-1', disabled: disabled },
119
- react_3.default.createElement("span", { className: 'sr-only' }, t('select emoji label')),
120
- react_3.default.createElement("span", { className: 'grow pis-14' }, emojiValue),
121
- react_3.default.createElement(react_2.CaretDown, { className: (0, react_ui_theme_1.getSize)(4) }))),
122
- react_3.default.createElement(react_ui_1.Popover.Content, { side: 'right', sideOffset: isMd ? 0 : -310, onKeyDownCapture: (event) => {
123
- if (event.key === 'Escape') {
124
- event.stopPropagation();
125
- setEmojiPickerOpen(false);
126
- }
127
- } },
128
- react_3.default.createElement(react_1.default, { data: data_1.default, onEmojiSelect: ({ native }) => {
129
- if (native) {
130
- setEmojiValue(native);
131
- setEmojiPickerOpen(false);
132
- }
133
- }, autoFocus: true, maxFrequentRows: 0, noCountryFlags: true }),
134
- react_3.default.createElement(react_ui_1.Popover.Arrow, null))),
135
- react_3.default.createElement(react_ui_1.Tooltip.Root, null,
136
- react_3.default.createElement(react_ui_1.Tooltip.Trigger, { asChild: true },
137
- react_3.default.createElement(react_ui_1.Button, { variant: 'ghost', onClick: onClickClear, disabled: disabled },
138
- react_3.default.createElement("span", { className: 'sr-only' }, t('clear label')),
139
- react_3.default.createElement(react_2.ArrowCounterClockwise, null))),
140
- react_3.default.createElement(react_ui_1.Tooltip.Portal, null,
141
- react_3.default.createElement(react_ui_1.Tooltip.Content, { side: 'right' },
142
- t('clear label'),
143
- react_3.default.createElement(react_ui_1.Tooltip.Arrow, null))))));
144
- };
145
- exports.EmojiPickerBlock = EmojiPickerBlock;
146
- //# sourceMappingURL=EmojiPicker.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"EmojiPicker.js","sourceRoot":"","sources":["../../../../src/components/EmojiPicker.tsx"],"names":[],"mappings":"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"}
@@ -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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"}