@dxos/shell 0.4.7-main.ea67fec → 0.4.7-main.f9d3866

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 +21882 -64428
  2. package/dist/bundle/shell.mjs.map +1 -1
  3. package/dist/bundle/shell.umd.js +78 -793
  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 +591 -766
  8. package/dist/lib/browser/react.mjs.map +4 -4
  9. package/dist/types/src/components/IdentityList/IdentityListItem.d.ts.map +1 -1
  10. package/dist/types/src/components/IdentityList/IdentityListItem.js +5 -5
  11. package/dist/types/src/components/IdentityList/IdentityListItem.js.map +1 -1
  12. package/dist/types/src/components/InvitationList/InvitationListItem.d.ts.map +1 -1
  13. package/dist/types/src/components/InvitationList/InvitationListItem.js +2 -2
  14. package/dist/types/src/components/InvitationList/InvitationListItem.js.map +1 -1
  15. package/dist/types/src/components/SpaceListItem.d.ts.map +1 -1
  16. package/dist/types/src/components/SpaceListItem.js +3 -2
  17. package/dist/types/src/components/SpaceListItem.js.map +1 -1
  18. package/dist/types/src/components/index.d.ts +0 -2
  19. package/dist/types/src/components/index.d.ts.map +1 -1
  20. package/dist/types/src/components/index.js +0 -2
  21. package/dist/types/src/components/index.js.map +1 -1
  22. package/dist/types/src/panels/IdentityPanel/IdentityPanel.d.ts.map +1 -1
  23. package/dist/types/src/panels/IdentityPanel/IdentityPanel.js +5 -6
  24. package/dist/types/src/panels/IdentityPanel/IdentityPanel.js.map +1 -1
  25. package/dist/types/src/panels/IdentityPanel/steps/ProfileForm.d.ts.map +1 -1
  26. package/dist/types/src/panels/IdentityPanel/steps/ProfileForm.js +3 -12
  27. package/dist/types/src/panels/IdentityPanel/steps/ProfileForm.js.map +1 -1
  28. package/dist/types/src/panels/JoinPanel/steps/IdentityAdded.d.ts.map +1 -1
  29. package/dist/types/src/panels/JoinPanel/steps/IdentityAdded.js +7 -8
  30. package/dist/types/src/panels/JoinPanel/steps/IdentityAdded.js.map +1 -1
  31. package/dist/types/src/panels/JoinPanel/steps/InvitationAuthenticator.js +2 -2
  32. package/dist/types/src/panels/JoinPanel/steps/InvitationAuthenticator.js.map +1 -1
  33. package/dist/types/src/steps/InvitationManager.d.ts.map +1 -1
  34. package/dist/types/src/steps/InvitationManager.js +4 -5
  35. package/dist/types/src/steps/InvitationManager.js.map +1 -1
  36. package/dist/types/src/translations/locales/en-US.d.ts +0 -21
  37. package/dist/types/src/translations/locales/en-US.d.ts.map +1 -1
  38. package/dist/types/src/translations/locales/en-US.js +0 -21
  39. package/dist/types/src/translations/locales/en-US.js.map +1 -1
  40. package/dist/types/src/util/index.d.ts +1 -0
  41. package/dist/types/src/util/index.d.ts.map +1 -1
  42. package/dist/types/src/util/index.js +1 -0
  43. package/dist/types/src/util/index.js.map +1 -1
  44. package/dist/types/src/util/toEmoji.d.ts +2 -0
  45. package/dist/types/src/util/toEmoji.d.ts.map +1 -0
  46. package/dist/types/src/util/toEmoji.js +26 -0
  47. package/dist/types/src/util/toEmoji.js.map +1 -0
  48. package/package.json +21 -22
  49. package/src/components/IdentityList/IdentityListItem.tsx +5 -9
  50. package/src/components/InvitationList/InvitationListItem.tsx +2 -2
  51. package/src/components/SpaceListItem.tsx +5 -4
  52. package/src/components/index.ts +0 -2
  53. package/src/panels/IdentityPanel/IdentityPanel.tsx +4 -5
  54. package/src/panels/IdentityPanel/steps/ProfileForm.tsx +7 -28
  55. package/src/panels/JoinPanel/steps/IdentityAdded.tsx +7 -7
  56. package/src/panels/JoinPanel/steps/InvitationAuthenticator.tsx +2 -2
  57. package/src/steps/InvitationManager.tsx +3 -4
  58. package/src/translations/locales/en-US.ts +0 -21
  59. package/src/util/index.ts +1 -0
  60. package/src/util/toEmoji.ts +22 -0
  61. package/dist/types/src/components/EmojiPicker.d.ts +0 -11
  62. package/dist/types/src/components/EmojiPicker.d.ts.map +0 -1
  63. package/dist/types/src/components/EmojiPicker.js +0 -79
  64. package/dist/types/src/components/EmojiPicker.js.map +0 -1
  65. package/dist/types/src/components/HuePicker.d.ts +0 -11
  66. package/dist/types/src/components/HuePicker.d.ts.map +0 -1
  67. package/dist/types/src/components/HuePicker.js +0 -56
  68. package/dist/types/src/components/HuePicker.js.map +0 -1
  69. package/src/components/EmojiPicker.tsx +0 -82
  70. package/src/components/HuePicker.tsx +0 -87
@@ -1,82 +0,0 @@
1
- //
2
- // Copyright 2024 DXOS.org
3
- //
4
- import emojiData from '@emoji-mart/data';
5
- import EmojiMart from '@emoji-mart/react';
6
- import { ArrowCounterClockwise, CaretDown } from '@phosphor-icons/react';
7
- import { useControllableState } from '@radix-ui/react-use-controllable-state';
8
- import React, { type Dispatch, type SetStateAction, useState } from 'react';
9
-
10
- import { Button, Popover, useTranslation, Tooltip, type ButtonProps } from '@dxos/react-ui';
11
- import { getSize } from '@dxos/react-ui-theme';
12
-
13
- export type EmojiPickerProps = {
14
- disabled?: boolean;
15
- defaultEmoji?: string;
16
- emoji?: string;
17
- onChangeEmoji?: Dispatch<SetStateAction<string>>;
18
- onClickClear?: ButtonProps['onClick'];
19
- };
20
-
21
- export const EmojiPicker = ({ disabled, defaultEmoji, emoji, onChangeEmoji, onClickClear }: EmojiPickerProps) => {
22
- const { t } = useTranslation('os');
23
-
24
- const [emojiValue, setEmojiValue] = useControllableState<string>({
25
- prop: emoji,
26
- onChange: onChangeEmoji,
27
- defaultProp: defaultEmoji,
28
- });
29
-
30
- const [emojiPickerOpen, setEmojiPickerOpen] = useState<boolean>(false);
31
-
32
- return (
33
- <>
34
- <Popover.Root open={emojiPickerOpen} onOpenChange={setEmojiPickerOpen}>
35
- <Popover.Trigger asChild>
36
- <Button variant='ghost' classNames='gap-2 text-2xl plb-1' disabled={disabled}>
37
- <span className='sr-only'>{t('select emoji label')}</span>
38
- <span className='grow pis-14'>{emojiValue}</span>
39
- <CaretDown className={getSize(4)} />
40
- </Button>
41
- </Popover.Trigger>
42
- <Popover.Content
43
- side='right'
44
- onKeyDownCapture={(event) => {
45
- if (event.key === 'Escape') {
46
- event.stopPropagation();
47
- setEmojiPickerOpen(false);
48
- }
49
- }}
50
- >
51
- <EmojiMart
52
- data={emojiData}
53
- onEmojiSelect={({ native }: { native?: string }) => {
54
- if (native) {
55
- setEmojiValue(native);
56
- setEmojiPickerOpen(false);
57
- }
58
- }}
59
- autoFocus={true}
60
- maxFrequentRows={0}
61
- noCountryFlags={true}
62
- />
63
- <Popover.Arrow />
64
- </Popover.Content>
65
- </Popover.Root>
66
- <Tooltip.Root>
67
- <Tooltip.Trigger asChild>
68
- <Button variant='ghost' onClick={onClickClear} disabled={disabled}>
69
- <span className='sr-only'>{t('clear label')}</span>
70
- <ArrowCounterClockwise />
71
- </Button>
72
- </Tooltip.Trigger>
73
- <Tooltip.Portal>
74
- <Tooltip.Content style={{ zIndex: 70 }} side='right'>
75
- {t('clear label')}
76
- <Tooltip.Arrow />
77
- </Tooltip.Content>
78
- </Tooltip.Portal>
79
- </Tooltip.Root>
80
- </>
81
- );
82
- };
@@ -1,87 +0,0 @@
1
- //
2
- // Copyright 2024 DXOS.org
3
- //
4
- import { ArrowCounterClockwise, CaretDown, Check } from '@phosphor-icons/react';
5
- import { useControllableState } from '@radix-ui/react-use-controllable-state';
6
- import React, { type Dispatch, type SetStateAction } from 'react';
7
-
8
- import { Button, useTranslation, Tooltip, DropdownMenu, useThemeContext, type ButtonProps } from '@dxos/react-ui';
9
- import { getSize, hueTokenThemes } from '@dxos/react-ui-theme';
10
-
11
- const HuePreview = ({ hue }: { hue: string }) => {
12
- const { tx } = useThemeContext();
13
- return (
14
- <svg width={12} height={12} viewBox='0 0 12 12'>
15
- <rect x={0} y={0} width={12} height={12} className={tx('hue.fill', 'select--hue__preview', { hue })} />
16
- </svg>
17
- );
18
- };
19
-
20
- export type HuePickerProps = {
21
- disabled?: boolean;
22
- defaultHue?: string;
23
- hue?: string;
24
- onChangeHue?: Dispatch<SetStateAction<string>>;
25
- onClickClear?: ButtonProps['onClick'];
26
- };
27
-
28
- export const HuePicker = ({ disabled, hue, onChangeHue, defaultHue, onClickClear }: HuePickerProps) => {
29
- const { t } = useTranslation('os');
30
-
31
- const [hueValue, setHueValue] = useControllableState<string>({
32
- prop: hue,
33
- onChange: onChangeHue,
34
- defaultProp: defaultHue,
35
- });
36
-
37
- return (
38
- <>
39
- <DropdownMenu.Root modal={false}>
40
- <DropdownMenu.Trigger asChild>
41
- <Button variant='ghost' classNames='gap-2 plb-1' disabled={disabled}>
42
- <span className='sr-only'>{t('select hue label')}</span>
43
- <div role='none' className='pis-14 grow flex items-center justify-center gap-2'>
44
- <HuePreview hue={hueValue!} />
45
- <span>{t(`${hueValue} label`)}</span>
46
- </div>
47
- <CaretDown className={getSize(4)} />
48
- </Button>
49
- </DropdownMenu.Trigger>
50
- <DropdownMenu.Content side='right'>
51
- <DropdownMenu.Viewport>
52
- {Object.keys(hueTokenThemes).map((hue) => {
53
- return (
54
- <DropdownMenu.CheckboxItem
55
- key={hue}
56
- checked={hue === hueValue}
57
- onCheckedChange={() => setHueValue(hue)}
58
- >
59
- <HuePreview hue={hue} />
60
- <span className='grow'>{t(`${hue} label`)}</span>
61
- <DropdownMenu.ItemIndicator>
62
- <Check />
63
- </DropdownMenu.ItemIndicator>
64
- </DropdownMenu.CheckboxItem>
65
- );
66
- })}
67
- </DropdownMenu.Viewport>
68
- <DropdownMenu.Arrow />
69
- </DropdownMenu.Content>
70
- </DropdownMenu.Root>
71
- <Tooltip.Root>
72
- <Tooltip.Trigger asChild>
73
- <Button variant='ghost' onClick={onClickClear} disabled={disabled}>
74
- <span className='sr-only'>{t('clear label')}</span>
75
- <ArrowCounterClockwise />
76
- </Button>
77
- </Tooltip.Trigger>
78
- <Tooltip.Portal>
79
- <Tooltip.Content style={{ zIndex: 70 }} side='right'>
80
- {t('clear label')}
81
- <Tooltip.Arrow />
82
- </Tooltip.Content>
83
- </Tooltip.Portal>
84
- </Tooltip.Root>
85
- </>
86
- );
87
- };