@dxos/shell 0.4.7-main.33db07e → 0.4.7-main.340e96b

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 (70) hide show
  1. package/dist/bundle/shell.mjs +62650 -20126
  2. package/dist/bundle/shell.mjs.map +1 -1
  3. package/dist/bundle/shell.umd.js +793 -78
  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 +768 -591
  8. package/dist/lib/browser/react.mjs.map +4 -4
  9. package/dist/types/src/components/EmojiPicker.d.ts +11 -0
  10. package/dist/types/src/components/EmojiPicker.d.ts.map +1 -0
  11. package/dist/types/src/components/EmojiPicker.js +79 -0
  12. package/dist/types/src/components/EmojiPicker.js.map +1 -0
  13. package/dist/types/src/components/HuePicker.d.ts +11 -0
  14. package/dist/types/src/components/HuePicker.d.ts.map +1 -0
  15. package/dist/types/src/components/HuePicker.js +56 -0
  16. package/dist/types/src/components/HuePicker.js.map +1 -0
  17. package/dist/types/src/components/IdentityList/IdentityListItem.d.ts.map +1 -1
  18. package/dist/types/src/components/IdentityList/IdentityListItem.js +5 -5
  19. package/dist/types/src/components/IdentityList/IdentityListItem.js.map +1 -1
  20. package/dist/types/src/components/InvitationList/InvitationListItem.d.ts.map +1 -1
  21. package/dist/types/src/components/InvitationList/InvitationListItem.js +2 -2
  22. package/dist/types/src/components/InvitationList/InvitationListItem.js.map +1 -1
  23. package/dist/types/src/components/SpaceListItem.d.ts.map +1 -1
  24. package/dist/types/src/components/SpaceListItem.js +2 -3
  25. package/dist/types/src/components/SpaceListItem.js.map +1 -1
  26. package/dist/types/src/components/index.d.ts +2 -0
  27. package/dist/types/src/components/index.d.ts.map +1 -1
  28. package/dist/types/src/components/index.js +2 -0
  29. package/dist/types/src/components/index.js.map +1 -1
  30. package/dist/types/src/panels/IdentityPanel/IdentityPanel.d.ts.map +1 -1
  31. package/dist/types/src/panels/IdentityPanel/IdentityPanel.js +6 -5
  32. package/dist/types/src/panels/IdentityPanel/IdentityPanel.js.map +1 -1
  33. package/dist/types/src/panels/IdentityPanel/steps/ProfileForm.d.ts.map +1 -1
  34. package/dist/types/src/panels/IdentityPanel/steps/ProfileForm.js +12 -3
  35. package/dist/types/src/panels/IdentityPanel/steps/ProfileForm.js.map +1 -1
  36. package/dist/types/src/panels/JoinPanel/steps/IdentityAdded.d.ts.map +1 -1
  37. package/dist/types/src/panels/JoinPanel/steps/IdentityAdded.js +8 -7
  38. package/dist/types/src/panels/JoinPanel/steps/IdentityAdded.js.map +1 -1
  39. package/dist/types/src/panels/JoinPanel/steps/InvitationAuthenticator.js +2 -2
  40. package/dist/types/src/panels/JoinPanel/steps/InvitationAuthenticator.js.map +1 -1
  41. package/dist/types/src/steps/InvitationManager.d.ts.map +1 -1
  42. package/dist/types/src/steps/InvitationManager.js +5 -4
  43. package/dist/types/src/steps/InvitationManager.js.map +1 -1
  44. package/dist/types/src/translations/locales/en-US.d.ts +21 -0
  45. package/dist/types/src/translations/locales/en-US.d.ts.map +1 -1
  46. package/dist/types/src/translations/locales/en-US.js +21 -0
  47. package/dist/types/src/translations/locales/en-US.js.map +1 -1
  48. package/dist/types/src/util/index.d.ts +0 -1
  49. package/dist/types/src/util/index.d.ts.map +1 -1
  50. package/dist/types/src/util/index.js +0 -1
  51. package/dist/types/src/util/index.js.map +1 -1
  52. package/package.json +23 -22
  53. package/src/components/EmojiPicker.tsx +82 -0
  54. package/src/components/HuePicker.tsx +87 -0
  55. package/src/components/IdentityList/IdentityListItem.tsx +9 -5
  56. package/src/components/InvitationList/InvitationListItem.tsx +2 -2
  57. package/src/components/SpaceListItem.tsx +4 -5
  58. package/src/components/index.ts +2 -0
  59. package/src/panels/IdentityPanel/IdentityPanel.tsx +5 -4
  60. package/src/panels/IdentityPanel/steps/ProfileForm.tsx +29 -7
  61. package/src/panels/JoinPanel/steps/IdentityAdded.tsx +7 -7
  62. package/src/panels/JoinPanel/steps/InvitationAuthenticator.tsx +2 -2
  63. package/src/steps/InvitationManager.tsx +4 -3
  64. package/src/translations/locales/en-US.ts +21 -0
  65. package/src/util/index.ts +0 -1
  66. package/dist/types/src/util/toEmoji.d.ts +0 -2
  67. package/dist/types/src/util/toEmoji.d.ts.map +0 -1
  68. package/dist/types/src/util/toEmoji.js +0 -26
  69. package/dist/types/src/util/toEmoji.js.map +0 -1
  70. package/src/util/toEmoji.ts +0 -22
@@ -5,9 +5,9 @@
5
5
  import React, { type ChangeEvent, useState } from 'react';
6
6
 
7
7
  import { Input, useTranslation } from '@dxos/react-ui';
8
+ import { hexToEmoji } from '@dxos/util';
8
9
 
9
10
  import { Actions, Action, Emoji, StepHeading } from '../../../components';
10
- import { toEmoji } from '../../../util';
11
11
  import { type JoinStepProps } from '../JoinPanelProps';
12
12
 
13
13
  const pinLength = 6;
@@ -45,7 +45,7 @@ export const InvitationAuthenticator = ({
45
45
  return (
46
46
  <>
47
47
  <div role='none' className='grow flex flex-col justify-center'>
48
- {invitationId && <Emoji text={toEmoji(invitationId)} />}
48
+ {invitationId && <Emoji text={hexToEmoji(invitationId)} />}
49
49
  <Input.Root
50
50
  {...(failed && {
51
51
  validationValence: 'error',
@@ -9,6 +9,7 @@ import { QR } from 'react-qr-rounded';
9
9
  import { type InvitationStatus, Invitation } from '@dxos/react-client/invitations';
10
10
  import { useId, useTranslation } from '@dxos/react-ui';
11
11
  import { descriptionText, getSize, mx } from '@dxos/react-ui-theme';
12
+ import { hexToEmoji } from '@dxos/util';
12
13
 
13
14
  import { type StepProps } from './StepProps';
14
15
  import {
@@ -22,7 +23,7 @@ import {
22
23
  CopyButton,
23
24
  Centered,
24
25
  } from '../components';
25
- import { invitationStatusValue, toEmoji } from '../util';
26
+ import { invitationStatusValue } from '../util';
26
27
 
27
28
  export type InvitationManagerProps = StepProps &
28
29
  Partial<InvitationStatus> & {
@@ -44,13 +45,13 @@ export const InvitationManager = ({
44
45
  status,
45
46
  type,
46
47
  authCode,
47
- id,
48
+ id = '0',
48
49
  }: InvitationManagerProps) => {
49
50
  const { t } = useTranslation('os');
50
51
  const qrLabel = useId('invitation-manager__qr-code');
51
52
  const statusValue = type === Invitation.Type.MULTIUSE ? 0 : invitationStatusValue.get(status!) ?? 0;
52
53
  const showAuthCode = statusValue === 3;
53
- const emoji = toEmoji(id ?? '');
54
+ const emoji = hexToEmoji(id);
54
55
  const activeView = useMemo(() => {
55
56
  switch (true) {
56
57
  case statusValue === 5:
@@ -106,4 +106,25 @@ export const os = {
106
106
  'join new identity label': 'Join a new identity',
107
107
  'reset device label': 'Reset device',
108
108
  'reset device confirm message': 'Are you sure you want to reset your device? All data will be lost.',
109
+ 'emoji and color label': 'Emoji and color',
110
+ 'clear label': 'Use default',
111
+ 'select emoji label': 'Choose an emoji to use in your avatar',
112
+ 'select hue label': 'Choose a hue to use in your avatar',
113
+ 'red label': 'Red',
114
+ 'orange label': 'Orange',
115
+ 'amber label': 'Amber',
116
+ 'yellow label': 'Yellow',
117
+ 'lime label': 'Lime',
118
+ 'green label': 'Green',
119
+ 'emerald label': 'Emerald',
120
+ 'teal label': 'Teal',
121
+ 'cyan label': 'Cyan',
122
+ 'sky label': 'Sky',
123
+ 'blue label': 'Blue',
124
+ 'indigo label': 'Indigo',
125
+ 'violet label': 'Violet',
126
+ 'purple label': 'Purple',
127
+ 'fuchsia label': 'Fuchsia',
128
+ 'pink label': 'Pink',
129
+ 'rose label': 'Rose',
109
130
  };
package/src/util/index.ts CHANGED
@@ -3,4 +3,3 @@
3
3
  //
4
4
 
5
5
  export * from './invitationStatusValue';
6
- export * from './toEmoji';
@@ -1,2 +0,0 @@
1
- export declare const toEmoji: (keyAsHex: string) => string;
2
- //# sourceMappingURL=toEmoji.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"toEmoji.d.ts","sourceRoot":"","sources":["../../../../src/util/toEmoji.ts"],"names":[],"mappings":"AAqBA,eAAO,MAAM,OAAO,aAAc,MAAM,WAAiD,CAAC"}
@@ -1,26 +0,0 @@
1
- "use strict";
2
- //
3
- // Copyright 2023 DXOS.org
4
- //
5
- var __importDefault = (this && this.__importDefault) || function (mod) {
6
- return (mod && mod.__esModule) ? mod : { "default": mod };
7
- };
8
- Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.toEmoji = void 0;
10
- const lodash_toarray_1 = __importDefault(require("lodash.toarray"));
11
- const emoji = (0, lodash_toarray_1.default)(
12
- // When changing this set, please check the result in a console or e.g. RunKit (https://runkit.com/thure/642214441dd6ae000855a8de)
13
- // Emoji sometimes use a combination of code points, and some code points aren't visible on their own, so by adding or deleting you may unintentionally create non-visible items.
14
- // This set was chosen from the characters in Unicode Emoji v15.0 based on the following criteria:
15
- // – not people or isolated anthropomorphic faces
16
- // – not flags
17
- // – more concrete than abstract
18
- // – less culturally specific
19
- // – less easily confused with another emoji in the set
20
- // – requires less special knowledge to identify
21
- // – less likely to evoke negative feelings (no meat, no drugs, no weapons, etc)
22
- // – less common as a signifier in UX
23
- '👹👻👽🤖🎃🦾🦿🦷👣👁️🧶👑🐒🦆🦉🐴🦄🐝🦋🐞🪲🐢🦎🦕🦑🦀🐠🐬🐋🦭🐅🐆🦓🦍🦧🐘🐫🦒🦘🦬🐖🐏🦌🐕🐈🐓🦚🦜🦢🦩🦦🐁🐿️🌵🌲🌳🪵🌱🍁🪺🍄🐚🪸🪨🌾🌷🌻☀️🌙🪐⭐️⚡️☄️🔥🌈☁️💧⛱️🌊🍎🍋🍉🍇🫐🍈🍒🍑🥭🍍🥥🥝🥑🌶️🌽🥕🍬🥜🫖☕️🍵🧊🧂🏔️⚓️🛟🏝️🛶🚀🛰️⛲️🏰🚲⛺️🎙️🧲⚙️🔩🔮🔭🔬🧬🌡️🧺🛎️🔑🪑🧸🎈🎀🎊♻️🎵');
24
- const toEmoji = (keyAsHex) => emoji[parseInt(keyAsHex, 16) % emoji.length];
25
- exports.toEmoji = toEmoji;
26
- //# sourceMappingURL=toEmoji.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"toEmoji.js","sourceRoot":"","sources":["../../../../src/util/toEmoji.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;;;;AAEF,oEAAqC;AAErC,MAAM,KAAK,GAAG,IAAA,wBAAO;AACnB,kIAAkI;AAClI,iLAAiL;AACjL,kGAAkG;AAClG,iDAAiD;AACjD,cAAc;AACd,gCAAgC;AAChC,6BAA6B;AAC7B,uDAAuD;AACvD,gDAAgD;AAChD,gFAAgF;AAChF,qCAAqC;AACrC,mRAAmR,CACpR,CAAC;AAEK,MAAM,OAAO,GAAG,CAAC,QAAgB,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;AAA7E,QAAA,OAAO,WAAsE"}
@@ -1,22 +0,0 @@
1
- //
2
- // Copyright 2023 DXOS.org
3
- //
4
-
5
- import toArray from 'lodash.toarray';
6
-
7
- const emoji = toArray(
8
- // When changing this set, please check the result in a console or e.g. RunKit (https://runkit.com/thure/642214441dd6ae000855a8de)
9
- // Emoji sometimes use a combination of code points, and some code points aren't visible on their own, so by adding or deleting you may unintentionally create non-visible items.
10
- // This set was chosen from the characters in Unicode Emoji v15.0 based on the following criteria:
11
- // – not people or isolated anthropomorphic faces
12
- // – not flags
13
- // – more concrete than abstract
14
- // – less culturally specific
15
- // – less easily confused with another emoji in the set
16
- // – requires less special knowledge to identify
17
- // – less likely to evoke negative feelings (no meat, no drugs, no weapons, etc)
18
- // – less common as a signifier in UX
19
- '👹👻👽🤖🎃🦾🦿🦷👣👁️🧶👑🐒🦆🦉🐴🦄🐝🦋🐞🪲🐢🦎🦕🦑🦀🐠🐬🐋🦭🐅🐆🦓🦍🦧🐘🐫🦒🦘🦬🐖🐏🦌🐕🐈🐓🦚🦜🦢🦩🦦🐁🐿️🌵🌲🌳🪵🌱🍁🪺🍄🐚🪸🪨🌾🌷🌻☀️🌙🪐⭐️⚡️☄️🔥🌈☁️💧⛱️🌊🍎🍋🍉🍇🫐🍈🍒🍑🥭🍍🥥🥝🥑🌶️🌽🥕🍬🥜🫖☕️🍵🧊🧂🏔️⚓️🛟🏝️🛶🚀🛰️⛲️🏰🚲⛺️🎙️🧲⚙️🔩🔮🔭🔬🧬🌡️🧺🛎️🔑🪑🧸🎈🎀🎊♻️🎵',
20
- );
21
-
22
- export const toEmoji = (keyAsHex: string) => emoji[parseInt(keyAsHex, 16) % emoji.length];