@dxos/react-ui 0.1.23 → 0.1.24

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 (147) hide show
  1. package/dist/lib/browser/index.mjs +1781 -57
  2. package/dist/lib/browser/index.mjs.map +4 -4
  3. package/dist/lib/browser/meta.json +1 -1
  4. package/dist/types/src/components/{IdentityListItem → IdentityList}/IdentityListItem.d.ts +0 -0
  5. package/dist/types/src/components/IdentityList/IdentityListItem.d.ts.map +1 -0
  6. package/dist/types/src/components/{IdentityListItem → IdentityList}/IdentityListItem.stories.d.ts +0 -0
  7. package/dist/types/src/components/IdentityList/IdentityListItem.stories.d.ts.map +1 -0
  8. package/dist/types/src/components/IdentityList/SpaceMemberList.d.ts +6 -0
  9. package/dist/types/src/components/IdentityList/SpaceMemberList.d.ts.map +1 -0
  10. package/dist/types/src/components/IdentityList/SpaceMemberListContainer.d.ts +7 -0
  11. package/dist/types/src/components/IdentityList/SpaceMemberListContainer.d.ts.map +1 -0
  12. package/dist/types/src/components/IdentityList/index.d.ts +4 -0
  13. package/dist/types/src/components/IdentityList/index.d.ts.map +1 -0
  14. package/dist/types/src/components/InvitationList/InvitationList.d.ts +7 -0
  15. package/dist/types/src/components/InvitationList/InvitationList.d.ts.map +1 -0
  16. package/dist/types/src/components/InvitationList/InvitationList.stories.d.ts +10 -0
  17. package/dist/types/src/components/InvitationList/InvitationList.stories.d.ts.map +1 -0
  18. package/dist/types/src/components/InvitationList/InvitationListContainer.d.ts +7 -0
  19. package/dist/types/src/components/InvitationList/InvitationListContainer.d.ts.map +1 -0
  20. package/dist/types/src/components/InvitationList/InvitationListItem.d.ts +9 -0
  21. package/dist/types/src/components/InvitationList/InvitationListItem.d.ts.map +1 -0
  22. package/dist/types/src/components/InvitationList/InvitationListProps.d.ts +4 -0
  23. package/dist/types/src/components/InvitationList/InvitationListProps.d.ts.map +1 -0
  24. package/dist/types/src/components/InvitationList/InvitationStatusAvatar.d.ts +9 -0
  25. package/dist/types/src/components/InvitationList/InvitationStatusAvatar.d.ts.map +1 -0
  26. package/dist/types/src/components/InvitationList/InvitationStatusAvatar.stories.d.ts +9 -0
  27. package/dist/types/src/components/InvitationList/InvitationStatusAvatar.stories.d.ts.map +1 -0
  28. package/dist/types/src/components/InvitationList/index.d.ts +5 -0
  29. package/dist/types/src/components/InvitationList/index.d.ts.map +1 -0
  30. package/dist/types/src/components/PanelSeparator/PanelSeparator.d.ts +3 -0
  31. package/dist/types/src/components/PanelSeparator/PanelSeparator.d.ts.map +1 -0
  32. package/dist/types/src/components/PanelSeparator/index.d.ts +2 -0
  33. package/dist/types/src/components/PanelSeparator/index.d.ts.map +1 -0
  34. package/dist/types/src/components/index.d.ts +4 -0
  35. package/dist/types/src/components/index.d.ts.map +1 -0
  36. package/dist/types/src/composites/JoinDialog/JoinDialog.d.ts +6 -0
  37. package/dist/types/src/composites/JoinDialog/JoinDialog.d.ts.map +1 -0
  38. package/dist/types/src/composites/JoinDialog/JoinDialog.stories.d.ts +10 -0
  39. package/dist/types/src/composites/JoinDialog/JoinDialog.stories.d.ts.map +1 -0
  40. package/dist/types/src/composites/JoinDialog/index.d.ts +2 -0
  41. package/dist/types/src/composites/JoinDialog/index.d.ts.map +1 -0
  42. package/dist/types/src/composites/index.d.ts +1 -0
  43. package/dist/types/src/composites/index.d.ts.map +1 -1
  44. package/dist/types/src/index.d.ts +1 -0
  45. package/dist/types/src/index.d.ts.map +1 -1
  46. package/dist/types/src/layouts/PanelAlertDialog/PanelAlertDialog.d.ts +14 -0
  47. package/dist/types/src/layouts/PanelAlertDialog/PanelAlertDialog.d.ts.map +1 -0
  48. package/dist/types/src/layouts/PanelAlertDialog/index.d.ts +2 -0
  49. package/dist/types/src/layouts/PanelAlertDialog/index.d.ts.map +1 -0
  50. package/dist/types/src/layouts/PanelSidebar/PanelSidebar.d.ts +2 -3
  51. package/dist/types/src/layouts/PanelSidebar/PanelSidebar.d.ts.map +1 -1
  52. package/dist/types/src/layouts/index.d.ts +1 -0
  53. package/dist/types/src/layouts/index.d.ts.map +1 -1
  54. package/dist/types/src/panels/JoinPanel/JoinHeading.d.ts +10 -0
  55. package/dist/types/src/panels/JoinPanel/JoinHeading.d.ts.map +1 -0
  56. package/dist/types/src/panels/JoinPanel/JoinPanel.d.ts +3 -0
  57. package/dist/types/src/panels/JoinPanel/JoinPanel.d.ts.map +1 -0
  58. package/dist/types/src/panels/JoinPanel/JoinPanelProps.d.ts +53 -0
  59. package/dist/types/src/panels/JoinPanel/JoinPanelProps.d.ts.map +1 -0
  60. package/dist/types/src/panels/JoinPanel/index.d.ts +3 -0
  61. package/dist/types/src/panels/JoinPanel/index.d.ts.map +1 -0
  62. package/dist/types/src/panels/JoinPanel/view-states/AdditionMethodSelector.d.ts +7 -0
  63. package/dist/types/src/panels/JoinPanel/view-states/AdditionMethodSelector.d.ts.map +1 -0
  64. package/dist/types/src/panels/JoinPanel/view-states/IdentityAdded.d.ts +7 -0
  65. package/dist/types/src/panels/JoinPanel/view-states/IdentityAdded.d.ts.map +1 -0
  66. package/dist/types/src/panels/JoinPanel/view-states/IdentityInput.d.ts +6 -0
  67. package/dist/types/src/panels/JoinPanel/view-states/IdentityInput.d.ts.map +1 -0
  68. package/dist/types/src/panels/JoinPanel/view-states/IdentitySelector.d.ts +7 -0
  69. package/dist/types/src/panels/JoinPanel/view-states/IdentitySelector.d.ts.map +1 -0
  70. package/dist/types/src/panels/JoinPanel/view-states/InvitationAccepted.d.ts +10 -0
  71. package/dist/types/src/panels/JoinPanel/view-states/InvitationAccepted.d.ts.map +1 -0
  72. package/dist/types/src/panels/JoinPanel/view-states/InvitationAuthenticator.d.ts +7 -0
  73. package/dist/types/src/panels/JoinPanel/view-states/InvitationAuthenticator.d.ts.map +1 -0
  74. package/dist/types/src/panels/JoinPanel/view-states/InvitationInput.d.ts +6 -0
  75. package/dist/types/src/panels/JoinPanel/view-states/InvitationInput.d.ts.map +1 -0
  76. package/dist/types/src/panels/JoinPanel/view-states/InvitationRescuer.d.ts +6 -0
  77. package/dist/types/src/panels/JoinPanel/view-states/InvitationRescuer.d.ts.map +1 -0
  78. package/dist/types/src/panels/JoinPanel/view-states/ViewState.d.ts +12 -0
  79. package/dist/types/src/panels/JoinPanel/view-states/ViewState.d.ts.map +1 -0
  80. package/dist/types/src/panels/JoinPanel/view-states/index.d.ts +9 -0
  81. package/dist/types/src/panels/JoinPanel/view-states/index.d.ts.map +1 -0
  82. package/dist/types/src/panels/index.d.ts +1 -0
  83. package/dist/types/src/panels/index.d.ts.map +1 -1
  84. package/dist/types/src/styles/index.d.ts +1 -0
  85. package/dist/types/src/styles/index.d.ts.map +1 -1
  86. package/dist/types/src/styles/invitationStatusStyles.d.ts +20 -0
  87. package/dist/types/src/styles/invitationStatusStyles.d.ts.map +1 -0
  88. package/dist/types/src/styles/panelStyles.d.ts +2 -1
  89. package/dist/types/src/styles/panelStyles.d.ts.map +1 -1
  90. package/dist/types/src/translations/locales/en-US.d.ts +41 -0
  91. package/dist/types/src/translations/locales/en-US.d.ts.map +1 -1
  92. package/dist/types/src/util/index.d.ts +2 -0
  93. package/dist/types/src/util/index.d.ts.map +1 -0
  94. package/dist/types/src/util/invitationStatusValue.d.ts +8 -0
  95. package/dist/types/src/util/invitationStatusValue.d.ts.map +1 -0
  96. package/package.json +18 -11
  97. package/src/components/{IdentityListItem → IdentityList}/IdentityListItem.stories.tsx +0 -0
  98. package/src/components/{IdentityListItem → IdentityList}/IdentityListItem.tsx +4 -3
  99. package/src/components/IdentityList/SpaceMemberList.tsx +31 -0
  100. package/src/components/IdentityList/SpaceMemberListContainer.tsx +27 -0
  101. package/src/components/IdentityList/index.ts +7 -0
  102. package/src/components/InvitationList/InvitationList.stories.tsx +65 -0
  103. package/src/components/InvitationList/InvitationList.tsx +24 -0
  104. package/src/components/InvitationList/InvitationListContainer.tsx +27 -0
  105. package/src/components/InvitationList/InvitationListItem.tsx +95 -0
  106. package/src/components/InvitationList/InvitationListProps.ts +7 -0
  107. package/src/components/InvitationList/InvitationStatusAvatar.stories.tsx +52 -0
  108. package/src/components/InvitationList/InvitationStatusAvatar.tsx +75 -0
  109. package/src/components/InvitationList/index.ts +8 -0
  110. package/src/components/PanelSeparator/PanelSeparator.tsx +17 -0
  111. package/src/components/PanelSeparator/index.ts +5 -0
  112. package/src/components/index.ts +7 -0
  113. package/src/composites/JoinDialog/JoinDialog.stories.tsx +80 -0
  114. package/src/composites/JoinDialog/JoinDialog.tsx +31 -0
  115. package/src/composites/JoinDialog/index.ts +5 -0
  116. package/src/composites/index.ts +1 -0
  117. package/src/index.ts +1 -0
  118. package/src/layouts/PanelAlertDialog/PanelAlertDialog.tsx +44 -0
  119. package/src/layouts/PanelAlertDialog/index.ts +5 -0
  120. package/src/layouts/PanelPopover/PanelPopover.tsx +2 -2
  121. package/src/layouts/PanelSidebar/PanelSidebar.tsx +17 -25
  122. package/src/layouts/index.ts +1 -0
  123. package/src/panels/JoinPanel/JoinHeading.tsx +57 -0
  124. package/src/panels/JoinPanel/JoinPanel.tsx +303 -0
  125. package/src/panels/JoinPanel/JoinPanelProps.ts +94 -0
  126. package/src/panels/JoinPanel/index.ts +6 -0
  127. package/src/panels/JoinPanel/view-states/AdditionMethodSelector.tsx +69 -0
  128. package/src/panels/JoinPanel/view-states/IdentityAdded.tsx +60 -0
  129. package/src/panels/JoinPanel/view-states/IdentityInput.tsx +72 -0
  130. package/src/panels/JoinPanel/view-states/IdentitySelector.tsx +98 -0
  131. package/src/panels/JoinPanel/view-states/InvitationAccepted.tsx +69 -0
  132. package/src/panels/JoinPanel/view-states/InvitationAuthenticator.tsx +139 -0
  133. package/src/panels/JoinPanel/view-states/InvitationInput.tsx +68 -0
  134. package/src/panels/JoinPanel/view-states/InvitationRescuer.tsx +95 -0
  135. package/src/panels/JoinPanel/view-states/ViewState.tsx +204 -0
  136. package/src/panels/JoinPanel/view-states/index.ts +12 -0
  137. package/src/panels/index.ts +1 -0
  138. package/src/styles/index.ts +1 -0
  139. package/src/styles/invitationStatusStyles.ts +42 -0
  140. package/src/styles/panelStyles.ts +2 -1
  141. package/src/testing/ClientProvider.tsx +1 -1
  142. package/src/translations/locales/en-US.ts +42 -1
  143. package/src/util/index.ts +5 -0
  144. package/src/util/invitationStatusValue.ts +21 -0
  145. package/theme-extensions.js +11 -0
  146. package/dist/types/src/components/IdentityListItem/IdentityListItem.d.ts.map +0 -1
  147. package/dist/types/src/components/IdentityListItem/IdentityListItem.stories.d.ts.map +0 -1
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../src/composites/IdentityPopover/IdentityPopover.tsx", "../../../src/layouts/PanelPopover/PanelPopover.tsx", "../../../src/styles/panelStyles.ts", "../../../src/layouts/PanelSidebar/PanelSidebar.tsx", "../../../src/panels/IdentityPanel/IdentityPanel.tsx", "../../../src/translations/locales/en-US.ts", "../../../src/translations/index.ts"],
4
- "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport React, { ComponentProps } from 'react';\n\nimport { Profile } from '@dxos/client';\nimport { Avatar, mx } from '@dxos/react-components';\n\nimport { PanelPopover } from '../../layouts';\nimport { IdentityPanel } from '../../panels';\n\nexport interface IdentityPopoverProps extends Partial<ComponentProps<typeof PanelPopover>> {\n identity: Profile;\n onClickManageProfile?: () => void;\n}\n\nexport const IdentityPopover = ({\n identity,\n openTrigger,\n slots,\n triggerIsInToolbar = true,\n onClickManageProfile,\n ...popoverProps\n}: IdentityPopoverProps) => {\n return (\n <PanelPopover\n {...popoverProps}\n openTrigger={\n openTrigger ?? (\n <Avatar\n size={10}\n variant='circle'\n fallbackValue={identity.identityKey.toHex()}\n label={identity.displayName ?? ''}\n />\n )\n }\n slots={{\n ...slots,\n trigger: {\n ...slots?.trigger,\n className: mx(\n 'flex justify-self-end pointer-events-auto bg-white dark:bg-neutral-700 p-0.5 button-elevation rounded-full',\n slots?.trigger?.className\n )\n }\n }}\n triggerIsInToolbar={triggerIsInToolbar}\n >\n <IdentityPanel {...{ identity, onClickManageProfile }} />\n </PanelPopover>\n );\n};\n", "//\n// Copyright 2022 DXOS.org\n//\n\nimport React, { ComponentProps } from 'react';\n\nimport { mx, Popover } from '@dxos/react-components';\n\nimport { defaultPanel, defaultArrow } from '../../styles';\n\n/**\n * This component essentially sets default styles for popovers which have panels as their content\n * @param slots\n * @param children\n * @param popoverProps\n * @constructor\n */\nexport const PanelPopover = ({ slots, children, ...popoverProps }: ComponentProps<typeof Popover>) => {\n return (\n <Popover\n slots={{\n arrow: { ...slots?.arrow, className: mx(defaultArrow, slots?.arrow?.className) },\n content: {\n collisionPadding: 8,\n sideOffset: 4,\n ...slots?.content,\n className: mx(defaultPanel, slots?.content?.className)\n },\n trigger: {\n ...slots?.trigger,\n className: mx('', slots?.trigger?.className)\n },\n ...slots\n }}\n {...popoverProps}\n >\n {children}\n </Popover>\n );\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nexport const defaultPanel = 'p-2 backdrop-blur-md bg-neutral-50/[.66] dark:bg-neutral-950/[.66]';\nexport const defaultArrow = 'text-neutral-50/[.66] dark:text-neutral-950/[.66]';\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport * as DialogPrimitive from '@radix-ui/react-dialog';\nimport React, {\n ComponentProps,\n createContext,\n Dispatch,\n PropsWithChildren,\n SetStateAction,\n useCallback,\n useContext,\n useState\n} from 'react';\n\nimport { defaultOverlay, mx, useMediaQuery, useTranslation } from '@dxos/react-components';\n\nexport type PanelSidebarState = 'show' | 'hide';\n\nexport interface PanelSidebarContextValue {\n setDisplayState: Dispatch<SetStateAction<PanelSidebarState>>;\n displayState: PanelSidebarState;\n}\n\nexport const PanelSidebarContext = createContext<PanelSidebarContextValue>({\n displayState: 'hide',\n setDisplayState: () => {}\n});\n\nexport const useTogglePanelSidebar = () => {\n const { displayState, setDisplayState } = useContext(PanelSidebarContext);\n return useCallback(() => {\n setDisplayState(displayState === 'hide' ? 'show' : 'hide');\n }, [displayState]);\n};\n\nexport interface PanelSidebarProviderSlots {\n content?: ComponentProps<typeof DialogPrimitive.Content>;\n fixedBlockStart?: ComponentProps<'div'>;\n fixedBlockEnd?: ComponentProps<'div'>;\n}\n\nexport interface PanelSidebarProviderProps {\n inlineStart?: boolean;\n slots?: PanelSidebarProviderSlots;\n}\n\nexport const PanelSidebarProvider = ({\n children,\n inlineStart,\n slots\n}: PropsWithChildren<PanelSidebarProviderProps>) => {\n const { t } = useTranslation('os');\n const [isLg] = useMediaQuery('lg');\n const [displayState, setInternalDisplayState] = useState<PanelSidebarState>(isLg ? 'show' : 'hide');\n const isOpen = displayState === 'show';\n const [transitionShow, setTransitionShow] = useState(isOpen);\n const [domShow, setDomShow] = useState(isOpen);\n\n const internalHide = () => {\n setTransitionShow(false);\n setInternalDisplayState('hide');\n setTimeout(() => {\n setDomShow(false);\n }, 200);\n };\n\n const internalShow = () => {\n setDomShow(true);\n setInternalDisplayState('show');\n setTimeout(() => {\n setTransitionShow(true);\n // todo (thure): this may be a race condition in certain situations\n }, 0);\n };\n\n const setDisplayState = (displayState: SetStateAction<PanelSidebarState>) =>\n displayState === 'show' ? internalShow() : internalHide();\n\n return (\n <PanelSidebarContext.Provider value={{ setDisplayState, displayState }}>\n <DialogPrimitive.Root open={domShow} modal={!isLg}>\n <DialogPrimitive.Content\n {...slots?.content}\n className={mx(\n 'fixed block-start-0 block-end-0 is-[272px] z-50 transition-[inset-inline-start,inset-inline-end] duration-200 ease-in-out overflow-x-hidden overflow-y-auto',\n transitionShow ? 'inline-start-0' : 'inline-start-[-272px]',\n slots?.content?.className\n )}\n >\n <DialogPrimitive.Title className='sr-only'>{t('sidebar label')}</DialogPrimitive.Title>\n {slots?.content?.children}\n </DialogPrimitive.Content>\n {slots?.fixedBlockStart && (\n <div\n role='none'\n {...slots?.fixedBlockStart}\n className={mx(\n 'fixed inline-end-0 block-start-0 z-[49] transition-[inset-inline-start,inset-inline-end] duration-200 ease-in-out',\n transitionShow ? 'inline-start-[272px]' : 'inline-start-0',\n slots?.fixedBlockStart?.className\n )}\n >\n {slots?.fixedBlockStart?.children}\n </div>\n )}\n {!isLg && (\n <DialogPrimitive.Overlay\n className={mx(\n defaultOverlay,\n 'transition-opacity duration-200 ease-in-out',\n transitionShow ? 'opacity-100' : 'opacity-0'\n )}\n onClick={internalHide}\n />\n )}\n <div\n role='none'\n className={mx(\n 'bs-full transition-[padding-inline-start] duration-200 ease-in-out',\n isLg && isOpen ? 'pis-[272px]' : 'pis-0'\n )}\n >\n {children}\n </div>\n </DialogPrimitive.Root>\n </PanelSidebarContext.Provider>\n );\n};\n", "//\n// Copyright 2023 DXOS.org\n//\nimport React from 'react';\n\nimport type { Profile } from '@dxos/client';\nimport { useClient } from '@dxos/react-client';\nimport { Avatar, Button, ThemeContext, useTranslation } from '@dxos/react-components';\n\nexport const IdentityPanel = ({\n identity,\n onClickManageProfile\n}: {\n identity: Profile;\n onClickManageProfile?: () => void;\n}) => {\n const { t } = useTranslation('os');\n const client = useClient();\n const defaultManageProfile = () => {\n const remoteSource = new URL(client?.config.get('runtime.client.remoteSource') || 'https://halo.dxos.org');\n const tab = window.open(remoteSource.origin, '_blank');\n tab?.focus();\n };\n return (\n <ThemeContext.Provider value={{ themeVariant: 'os' }}>\n <div className='flex flex-col gap-2 justify-center items-center'>\n <Avatar\n size={16}\n variant='circle'\n fallbackValue={identity.identityKey.toHex()}\n label={identity.displayName ?? ''}\n />\n <Button compact onClick={onClickManageProfile ?? defaultManageProfile} className='is-full'>\n {t('manage profile label')}\n </Button>\n </div>\n </ThemeContext.Provider>\n );\n};\n", "//\n// Copyright 2022 DXOS.org\n//\n\nexport const os = {\n 'manage profile label': 'Manage identity',\n 'identity offline description': 'Offline',\n 'sidebar label': 'DXOS sidebar'\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport * as enUS from './locales/en-US';\n\nexport const osTranslations = { 'en-US': enUS };\n"],
5
- "mappings": ";;;;;;;AAIA,OAAOA,YAA+B;AAGtC,SAASC,UAAAA,SAAQC,MAAAA,WAAU;;;ACH3B,OAAOC,WAA+B;AAEtC,SAASC,IAAIC,eAAe;;;ACFrB,IAAMC,eAAe;AACrB,IAAMC,eAAe;;;ADD5B,SAAA,WAAA;;;;;;;;;;;;;;AAaO,IAAMC,eAAe,CAAC,EAAEC,OAAOC,UAAU,GAAGC,aAAAA,MAAmD;AAjBtG;AAkBE,SACE,sBAAA,cAACC,SAAAA,SAAAA;IACCH,OAAO;MACLI,OAAO;QAAE,GAAGJ,+BAAOI;QAAOC,WAAWC,GAAGC,eAAcP,oCAAOI,UAAPJ,mBAAcK,SAAAA;MAAW;MAC/EG,SAAS;QACPC,kBAAkB;QAClBC,YAAY;QACZ,GAAGV,+BAAOQ;QACVH,WAAWC,GAAGK,eAAcX,oCAAOQ,YAAPR,mBAAgBK,SAAAA;MAC9C;MACAO,SAAS;QACP,GAAGZ,+BAAOY;QACVP,WAAWC,GAAG,KAAIN,oCAAOY,YAAPZ,mBAAgBK,SAAAA;MACpC;MACA,GAAGL;IACL;KACIE,YAAAA,GAEHD,QAAAA;AAGP;;;AEnCA,YAAYY,qBAAqB;AACjC,OAAOC,UAELC,eAIAC,aACAC,YACAC,gBACK;AAEP,SAASC,gBAAgBC,MAAAA,KAAIC,eAAeC,sBAAsB;AAZlE,SAAAC,YAAA;;;;;;;;;;;;;;AAqBO,IAAMC,sBAAsBT,8BAAwC;EACzEU,cAAc;EACdC,iBAAiB,MAAM;EAAC;AAC1B,CAAA;AAEO,IAAMC,wBAAwB,MAAM;AACzC,QAAM,EAAEF,cAAcC,gBAAe,IAAKT,WAAWO,mBAAAA;AACrD,SAAOR,YAAY,MAAM;AACvBU,oBAAgBD,iBAAiB,SAAS,SAAS,MAAM;EAC3D,GAAG;IAACA;GAAa;AACnB;AAaO,IAAMG,uBAAuB,CAAC,EACnCC,UACAC,aACAC,MAAK,MAC6C;AApDpD;AAqDE,QAAM,EAAEC,EAAC,IAAKV,eAAe,IAAA;AAC7B,QAAM,CAACW,IAAAA,IAAQZ,cAAc,IAAA;AAC7B,QAAM,CAACI,cAAcS,uBAAAA,IAA2BhB,SAA4Be,OAAO,SAAS,MAAM;AAClG,QAAME,SAASV,iBAAiB;AAChC,QAAM,CAACW,gBAAgBC,iBAAAA,IAAqBnB,SAASiB,MAAAA;AACrD,QAAM,CAACG,SAASC,UAAAA,IAAcrB,SAASiB,MAAAA;AAEvC,QAAMK,eAAe,MAAM;AACzBH,sBAAkB,KAAK;AACvBH,4BAAwB,MAAA;AACxBO,eAAW,MAAM;AACfF,iBAAW,KAAK;IAClB,GAAG,GAAA;EACL;AAEA,QAAMG,eAAe,MAAM;AACzBH,eAAW,IAAI;AACfL,4BAAwB,MAAA;AACxBO,eAAW,MAAM;AACfJ,wBAAkB,IAAI;IAExB,GAAG,CAAA;EACL;AAEA,QAAMX,kBAAkB,CAACD,kBACvBA,kBAAiB,SAASiB,aAAAA,IAAiBF,aAAAA;AAE7C,SACE,gBAAA1B,OAAA,cAACU,oBAAoBmB,UAAQ;IAACC,OAAO;MAAElB;MAAiBD;IAAa;KACnE,gBAAAX,OAAA,cAAiB+B,sBAAI;IAACC,MAAMR;IAASS,OAAO,CAACd;KAC3C,gBAAAnB,OAAA,cAAiBkC,yBAAOzB,UAAA,CAAA,GAClBQ,+BAAOkB,SAAAA;IACXC,WAAW9B,IACT,+JACAgB,iBAAiB,mBAAmB,0BACpCL,oCAAOkB,YAAPlB,mBAAgBmB,SAAAA;MAGlB,gBAAApC,OAAA,cAAiBqC,uBAAK;IAACD,WAAU;KAAWlB,EAAE,eAAA,CAAA,IAC7CD,oCAAOkB,YAAPlB,mBAAgBF,QAAAA,IAElBE,+BAAOqB,oBACN,gBAAAtC,OAAA,cAACuC,OAAAA,UAAAA;IACCC,MAAK;KACDvB,+BAAOqB,iBAAAA;IACXF,WAAW9B,IACT,qHACAgB,iBAAiB,yBAAyB,mBAC1CL,oCAAOqB,oBAAPrB,mBAAwBmB,SAAAA;OAGzBnB,oCAAOqB,oBAAPrB,mBAAwBF,QAAAA,GAG5B,CAACI,QACA,gBAAAnB,OAAA,cAAiByC,yBAAO;IACtBL,WAAW9B,IACTD,gBACA,+CACAiB,iBAAiB,gBAAgB,WAAW;IAE9CoB,SAAShB;MAGb,gBAAA1B,OAAA,cAACuC,OAAAA;IACCC,MAAK;IACLJ,WAAW9B,IACT,sEACAa,QAAQE,SAAS,gBAAgB,OAAO;KAGzCN,QAAAA,CAAAA,CAAAA;AAKX;;;AC9HA,OAAO4B,YAAW;AAGlB,SAASC,iBAAiB;AAC1B,SAASC,QAAQC,QAAQC,cAAcC,kBAAAA,uBAAsB;AAEtD,IAAMC,gBAAgB,CAAC,EAC5BC,UACAC,qBAAoB,MAIhB;AAfN;AAgBE,QAAM,EAAEC,EAAC,IAAKJ,gBAAe,IAAA;AAC7B,QAAMK,SAAST,UAAAA;AACf,QAAMU,uBAAuB,MAAM;AACjC,UAAMC,eAAe,IAAIC,KAAIH,iCAAQI,OAAOC,IAAI,mCAAkC,uBAAA;AAClF,UAAMC,MAAMC,OAAOC,KAAKN,aAAaO,QAAQ,QAAA;AAC7CH,+BAAKI;EACP;AACA,SACE,gBAAApB,OAAA,cAACI,aAAaiB,UAAQ;IAACC,OAAO;MAAEC,cAAc;IAAK;KACjD,gBAAAvB,OAAA,cAACwB,OAAAA;IAAIC,WAAU;KACb,gBAAAzB,OAAA,cAACE,QAAAA;IACCwB,MAAM;IACNC,SAAQ;IACRC,eAAerB,SAASsB,YAAYC,MAAK;IACzCC,QAAOxB,cAASyB,gBAATzB,YAAwB;MAEjC,gBAAAP,OAAA,cAACG,QAAAA;IAAO8B,SAAAA;IAAQC,SAAS1B,sDAAwBG;IAAsBc,WAAU;KAC9EhB,EAAE,sBAAA,CAAA,CAAA,CAAA;AAKb;;;AJlCA,SAAA0B,YAAA;;;;;;;;;;;;;;AAaO,IAAMC,kBAAkB,CAAC,EAC9BC,UACAC,aACAC,OACAC,qBAAqB,MACrBC,sBACA,GAAGC,aAAAA,MACuB;AAxB5B;AAyBE,SACE,gBAAAC,OAAA,cAACC,cAAAA,UAAAA,CAAAA,GACKF,cAAAA;IACJJ,aACEA,oCACE,gBAAAK,OAAA,cAACE,SAAAA;MACCC,MAAM;MACNC,SAAQ;MACRC,eAAeX,SAASY,YAAYC,MAAK;MACzCC,QAAOd,cAASe,gBAATf,YAAwB;;IAIrCE,OAAO;MACL,GAAGA;MACHc,SAAS;QACP,GAAGd,+BAAOc;QACVC,WAAWC,IACT,+GACAhB,oCAAOc,YAAPd,mBAAgBe,SAAAA;MAEpB;IACF;IACAd;MAEA,gBAAAG,OAAA,cAACa,eAAAA,UAAAA,CAAAA,GAAkB;IAAEnB;IAAUI;EAAqB,CAAA,CAAA,CAAA;AAG1D;;;AKrDA;;;;AAIO,IAAMgB,KAAK;EAChB,wBAAwB;EACxB,gCAAgC;EAChC,iBAAiB;AACnB;;;ACFO,IAAMC,iBAAiB;EAAE,SAASC;AAAK;",
6
- "names": ["React", "Avatar", "mx", "React", "mx", "Popover", "defaultPanel", "defaultArrow", "PanelPopover", "slots", "children", "popoverProps", "Popover", "arrow", "className", "mx", "defaultArrow", "content", "collisionPadding", "sideOffset", "defaultPanel", "trigger", "DialogPrimitive", "React", "createContext", "useCallback", "useContext", "useState", "defaultOverlay", "mx", "useMediaQuery", "useTranslation", "_extends", "PanelSidebarContext", "displayState", "setDisplayState", "useTogglePanelSidebar", "PanelSidebarProvider", "children", "inlineStart", "slots", "t", "isLg", "setInternalDisplayState", "isOpen", "transitionShow", "setTransitionShow", "domShow", "setDomShow", "internalHide", "setTimeout", "internalShow", "Provider", "value", "Root", "open", "modal", "Content", "content", "className", "Title", "fixedBlockStart", "div", "role", "Overlay", "onClick", "React", "useClient", "Avatar", "Button", "ThemeContext", "useTranslation", "IdentityPanel", "identity", "onClickManageProfile", "t", "client", "defaultManageProfile", "remoteSource", "URL", "config", "get", "tab", "window", "open", "origin", "focus", "Provider", "value", "themeVariant", "div", "className", "size", "variant", "fallbackValue", "identityKey", "toHex", "label", "displayName", "compact", "onClick", "_extends", "IdentityPopover", "identity", "openTrigger", "slots", "triggerIsInToolbar", "onClickManageProfile", "popoverProps", "React", "PanelPopover", "Avatar", "size", "variant", "fallbackValue", "identityKey", "toHex", "label", "displayName", "trigger", "className", "mx", "IdentityPanel", "os", "osTranslations", "enUS"]
3
+ "sources": ["../../../src/components/IdentityList/IdentityListItem.tsx", "../../../src/components/IdentityList/SpaceMemberList.tsx", "../../../src/components/IdentityList/SpaceMemberListContainer.tsx", "../../../src/components/InvitationList/InvitationStatusAvatar.tsx", "../../../src/styles/panelStyles.ts", "../../../src/styles/invitationStatusStyles.ts", "../../../src/util/invitationStatusValue.ts", "../../../src/components/InvitationList/InvitationListItem.tsx", "../../../src/components/InvitationList/InvitationListContainer.tsx", "../../../src/components/InvitationList/InvitationList.tsx", "../../../src/components/PanelSeparator/PanelSeparator.tsx", "../../../src/composites/IdentityPopover/IdentityPopover.tsx", "../../../src/layouts/PanelPopover/PanelPopover.tsx", "../../../src/layouts/PanelSidebar/PanelSidebar.tsx", "../../../src/layouts/PanelAlertDialog/PanelAlertDialog.tsx", "../../../src/panels/IdentityPanel/IdentityPanel.tsx", "../../../src/panels/JoinPanel/JoinPanel.tsx", "../../../src/panels/JoinPanel/JoinHeading.tsx", "../../../src/panels/JoinPanel/view-states/AdditionMethodSelector.tsx", "../../../src/panels/JoinPanel/view-states/ViewState.tsx", "../../../src/panels/JoinPanel/view-states/IdentityAdded.tsx", "../../../src/panels/JoinPanel/view-states/IdentitySelector.tsx", "../../../src/panels/JoinPanel/view-states/IdentityInput.tsx", "../../../src/panels/JoinPanel/view-states/InvitationAccepted.tsx", "../../../src/panels/JoinPanel/view-states/InvitationInput.tsx", "../../../src/panels/JoinPanel/view-states/InvitationRescuer.tsx", "../../../src/panels/JoinPanel/view-states/InvitationAuthenticator.tsx", "../../../src/composites/JoinDialog/JoinDialog.tsx", "../../../src/translations/locales/en-US.ts", "../../../src/translations/index.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\nimport React from 'react';\n\nimport { Profile, SpaceMember } from '@dxos/client';\nimport { Avatar, useTranslation } from '@dxos/react-components';\n\nexport const IdentityListItem = ({ identity, presence }: { identity: Profile; presence?: SpaceMember['presence'] }) => {\n const { t } = useTranslation('os');\n return (\n <li className='flex gap-2 items-center'>\n <Avatar\n {...{\n variant: 'circle',\n size: 9,\n fallbackValue: identity.identityKey.toHex(),\n label: <p className='text-sm truncate'>{identity.displayName ?? identity.identityKey.truncate()}</p>,\n ...(presence === SpaceMember.PresenceState.OFFLINE && {\n status: 'inactive',\n description: (\n <p className='font-system-normal text-xs text-neutral-700 dark:text-neutral-300'>\n {t('identity offline description')}\n </p>\n )\n }),\n ...(presence === SpaceMember.PresenceState.ONLINE && { status: 'active' }),\n slots: { labels: { className: 'block shrink overflow-hidden' }, root: { className: 'shrink-0' } }\n }}\n />\n </li>\n );\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport React from 'react';\n\nimport type { SpaceMember } from '@dxos/client';\n\nimport { IdentityListItem } from './IdentityListItem';\n\nexport interface SpaceMemberListProps {\n spaceMembers: SpaceMember[];\n}\n\nexport const SpaceMemberList = ({ spaceMembers }: SpaceMemberListProps) => {\n return (\n <ul className='flex flex-col gap-2'>\n {spaceMembers\n .filter((spaceMember) => spaceMember.profile)\n .map((spaceMember) => {\n return (\n <IdentityListItem\n key={spaceMember.identityKey.toHex()}\n identity={spaceMember.profile!}\n presence={spaceMember.presence}\n />\n );\n })}\n </ul>\n );\n};\n", "//\n// Copyright 2023 DXOS.org\n//\nimport React, { useMemo } from 'react';\n\nimport { PublicKey } from '@dxos/keys';\nimport { useClient, useMembers } from '@dxos/react-client';\n\nimport { SpaceMemberList } from './SpaceMemberList';\n\nexport interface SpaceMemberListContainerProps {\n spaceKey: PublicKey;\n includeSelf?: boolean;\n}\n\nexport const SpaceMemberListContainer = ({ spaceKey, includeSelf }: SpaceMemberListContainerProps) => {\n const client = useClient();\n const allUnsortedMembers = useMembers(spaceKey);\n const spaceMembers = useMemo(\n () =>\n includeSelf\n ? allUnsortedMembers.sort((a) => (a.identityKey.equals(client.halo.profile!.identityKey) ? -1 : 1))\n : allUnsortedMembers.filter((member) => !member.identityKey.equals(client.halo.profile!.identityKey)),\n [allUnsortedMembers]\n );\n return <SpaceMemberList spaceMembers={spaceMembers} />;\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport React, { ComponentPropsWithoutRef } from 'react';\n\nimport { Invitation } from '@dxos/client';\nimport { getSize, Size } from '@dxos/react-components';\n\nimport { inactiveStrokeColor, activeStrokeColor, resolvedStrokeColor } from '../../styles';\nimport { invitationStatusValue } from '../../util';\n\nexport interface InvitationStatusAvatarProps {\n size?: Size;\n status: Invitation.State;\n haltedAt?: Invitation.State;\n}\n\nconst svgSize = 32;\nconst strokeWidth = 4;\nconst radius = (svgSize - strokeWidth) / 2;\nconst circumference = Math.PI * 2 * radius;\nconst gap = circumference / 12;\nconst nSegments = 3;\nconst segment = circumference / nSegments;\nconst baseOffset = (2 * circumference) / 3 - (segment - gap) / 2;\n\nconst circleProps: ComponentPropsWithoutRef<'circle'> = {\n fill: 'none',\n strokeLinecap: 'round',\n cx: svgSize / 2,\n cy: svgSize / 2,\n r: radius,\n strokeWidth: 4,\n strokeDasharray: `${segment - gap} ${2 * segment + gap}`\n};\n\nexport const InvitationStatusAvatar = ({ size = 10, status, haltedAt }: InvitationStatusAvatarProps) => {\n const resolvedColor = resolvedStrokeColor(status);\n const halted =\n status === Invitation.State.CANCELLED || status === Invitation.State.TIMEOUT || status === Invitation.State.ERROR;\n const cursor = invitationStatusValue.get(halted ? haltedAt! : status)!;\n return (\n <svg viewBox={`0 0 ${svgSize} ${svgSize}`} className={getSize(size)}>\n {[...Array(nSegments)].map((_, index) => (\n <circle\n key={index}\n {...circleProps}\n strokeDashoffset={index * segment + baseOffset}\n className={\n index === 0\n ? cursor === 1\n ? halted\n ? resolvedColor\n : activeStrokeColor\n : cursor > 1\n ? resolvedColor\n : inactiveStrokeColor\n : index === 1\n ? cursor === 3\n ? halted\n ? resolvedColor\n : activeStrokeColor\n : cursor > 3\n ? resolvedColor\n : inactiveStrokeColor\n : cursor > 3\n ? resolvedColor\n : inactiveStrokeColor\n }\n />\n ))}\n </svg>\n );\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nexport const defaultSurface = 'bg-neutral-50/[.72] dark:bg-neutral-950/[.72]';\nexport const subduedSurface = 'bg-neutral-100/[.66] dark:bg-neutral-900/[.66]';\nexport const defaultArrow = 'text-neutral-50/[.66] dark:text-neutral-950/[.66]';\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { Invitation } from '@dxos/client';\n\nexport const inactiveBgColor = 'bg-neutral-100 dark:bg-neutral-600';\nexport const activeBgColor = 'bg-primary-500 dark:bg-primary-400';\nexport const successBgColor = 'bg-success-500 dark:bg-success-400';\nexport const errorBgColor = 'bg-error-500 dark:bg-error-400';\nexport const cancelledBgColor = 'bg-warning-500 dark:bg-warning-400';\n\nexport const inactiveTextColor = 'text-neutral-100 dark:text-neutral-600';\nexport const activeTextColor = 'text-primary-400 dark:text-primary-500';\nexport const successTextColor = 'text-success-400 dark:text-success-500';\nexport const errorTextColor = 'text-error-400 dark:text-error-500';\nexport const cancelledTextColor = 'text-warning-400 dark:text-warning-500';\n\nexport const inactiveStrokeColor = 'stroke-neutral-100 dark:stroke-neutral-700';\nexport const activeStrokeColor = 'stroke-primary-500 dark:stroke-primary-150';\nexport const successStrokeColor = 'stroke-success-400 dark:stroke-primary-400';\nexport const errorStrokeColor = 'stroke-error-400 dark:stroke-error-500';\nexport const cancelledStrokeColor = 'stroke-warning-400 dark:stroke-warning-500';\n\nexport const resolvedStrokeColor = (status: Invitation.State) =>\n status === Invitation.State.ERROR\n ? errorStrokeColor\n : status === Invitation.State.CANCELLED || status === Invitation.State.TIMEOUT\n ? cancelledStrokeColor\n : successStrokeColor;\nexport const resolvedBgColor = (status: Invitation.State) =>\n status === Invitation.State.ERROR\n ? errorBgColor\n : status === Invitation.State.CANCELLED || status === Invitation.State.TIMEOUT\n ? cancelledBgColor\n : successBgColor;\nexport const resolvedTextColor = (status: Invitation.State) =>\n status === Invitation.State.ERROR\n ? errorTextColor\n : status === Invitation.State.CANCELLED || status === Invitation.State.TIMEOUT\n ? cancelledTextColor\n : successTextColor;\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { Invitation } from '@dxos/client';\n\n/**\n * This map assigns a numeric value to invitation states to facilitate\n * more terse code which uses combinations of `>`, `<`, and `=` instead of\n * longer sequences of `===` and `||` predicates.\n */\nexport const invitationStatusValue = new Map<Invitation.State, number>([\n [Invitation.State.ERROR, -3],\n [Invitation.State.TIMEOUT, -2],\n [Invitation.State.CANCELLED, -1],\n [Invitation.State.INIT, 0],\n [Invitation.State.CONNECTING, 1],\n [Invitation.State.CONNECTED, 2],\n [Invitation.State.AUTHENTICATING, 3],\n [Invitation.State.SUCCESS, 4]\n]);\n", "//\n// Copyright 2023 DXOS.org\n//\nimport * as AccordionPrimitive from '@radix-ui/react-accordion';\nimport { Copy, ProhibitInset, QrCode, X } from 'phosphor-react';\nimport { QRCodeSVG } from 'qrcode.react';\nimport React, { useCallback } from 'react';\n\nimport { CancellableInvitationObservable } from '@dxos/client';\nimport { useInvitationStatus } from '@dxos/react-client';\nimport { Button, getSize, mx, useTranslation } from '@dxos/react-components';\n\nimport { invitationStatusValue } from '../../util';\nimport { SharedInvitationListProps } from './InvitationListProps';\nimport { InvitationStatusAvatar } from './InvitationStatusAvatar';\n\nexport interface InvitationListItemProps extends SharedInvitationListProps {\n invitation: CancellableInvitationObservable;\n value: string;\n onClickRemove: (invitation: CancellableInvitationObservable) => void;\n}\n\nexport const InvitationListItem = ({\n invitation,\n value,\n onClickRemove,\n createInvitationUrl\n}: InvitationListItemProps) => {\n const { t } = useTranslation('os');\n\n const { cancel, status, haltedAt, invitationCode, authenticationCode } = useInvitationStatus(invitation);\n const statusValue = invitationStatusValue.get(status) ?? 0;\n\n const isCancellable = statusValue < 4 && statusValue >= 0;\n const showShare = statusValue < 3 && statusValue >= 0;\n const showPin = statusValue === 3;\n\n const handleClickRemove = useCallback(() => onClickRemove(invitation), [invitation, onClickRemove]);\n\n const invitationUrl = invitationCode && createInvitationUrl(invitationCode);\n const handleCLickCopy = useCallback(() => {\n if (invitationUrl) {\n void navigator.clipboard.writeText(invitationUrl);\n }\n }, [invitationUrl]);\n\n return (\n <AccordionPrimitive.Item value={value}>\n <AccordionPrimitive.Header className='flex gap-2 items-center'>\n <InvitationStatusAvatar {...{ status, haltedAt }} />\n {showShare && invitationUrl ? (\n <AccordionPrimitive.Trigger asChild>\n <Button className='grow flex gap-1'>\n <span>{t('open share panel label')}</span>\n <QrCode className={getSize(4)} weight='bold' />\n </Button>\n </AccordionPrimitive.Trigger>\n ) : showPin ? (\n <p className='grow text-xl text-center text-success-500 dark:text-success-300 font-mono'>\n {authenticationCode}\n </p>\n ) : (\n <span role='none' className='grow' />\n )}\n {isCancellable ? (\n <Button variant='ghost' compact className='flex gap-1' onClick={cancel}>\n <span className='sr-only'>{t('cancel invitation label')}</span>\n <ProhibitInset className={getSize(4)} weight='bold' />\n </Button>\n ) : (\n <Button variant='ghost' compact className='flex gap-1' onClick={handleClickRemove}>\n <span className='sr-only'>{t('remove invitation label')}</span>\n <X className={getSize(4)} weight='bold' />\n </Button>\n )}\n </AccordionPrimitive.Header>\n {showShare && invitationUrl && (\n <AccordionPrimitive.Content>\n <Button className='flex gap-2 is-full p-2' onClick={handleCLickCopy}>\n <QRCodeSVG\n bgColor='transparent'\n fgColor='currentColor'\n value={invitationUrl}\n className={mx('grow aspect-square is-24 bs-auto')}\n />\n <span className='pli-1'>\n {t('copy invitation code label')}\n <Copy className={mx(getSize(4), 'inline mis-1')} weight='bold' />\n </span>\n </Button>\n </AccordionPrimitive.Content>\n )}\n </AccordionPrimitive.Item>\n );\n};\n", "//\n// Copyright 2023 DXOS.org\n//\nimport React, { useCallback } from 'react';\n\nimport type { CancellableInvitationObservable } from '@dxos/client';\nimport { PublicKey } from '@dxos/keys';\nimport { useSpace, useSpaceInvitations } from '@dxos/react-client';\n\nimport { InvitationList } from './InvitationList';\nimport { SharedInvitationListProps } from './InvitationListProps';\n\nexport interface InvitationListContainerProps extends SharedInvitationListProps {\n spaceKey: PublicKey;\n}\n\nexport const InvitationListContainer = ({ spaceKey, createInvitationUrl }: InvitationListContainerProps) => {\n const space = useSpace(spaceKey);\n const invitations = useSpaceInvitations(spaceKey);\n const onClickRemove = useCallback(\n ({ invitation }: CancellableInvitationObservable) => {\n invitation?.invitationId && space?.removeInvitation(invitation.invitationId);\n },\n [space]\n );\n return <InvitationList invitations={invitations} {...{ onClickRemove, createInvitationUrl }} />;\n};\n", "//\n// Copyright 2023 DXOS.org\n//\nimport { Root as AccordionRoot } from '@radix-ui/react-accordion';\nimport React from 'react';\n\nimport type { CancellableInvitationObservable } from '@dxos/client';\n\nimport { InvitationListItem, InvitationListItemProps } from './InvitationListItem';\n\nexport interface InvitationListProps extends Omit<InvitationListItemProps, 'invitation' | 'value'> {\n invitations: CancellableInvitationObservable[];\n}\n\nexport const InvitationList = ({ invitations, ...invitationProps }: InvitationListProps) => {\n return (\n <AccordionRoot type='single' collapsible>\n {invitations.map((invitation, index) => {\n const value = invitation.invitation?.invitationId ?? `inv_${index}`;\n return <InvitationListItem key={value} value={value} invitation={invitation} {...invitationProps} />;\n })}\n </AccordionRoot>\n );\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport React, { ComponentProps } from 'react';\n\nimport { mx } from '@dxos/react-components';\n\nexport const PanelSeparator = ({ className, ...props }: ComponentProps<'span'>) => {\n return (\n <span\n role='none'\n {...props}\n className={mx('block bs-px mlb-1 bg-neutral-800/10 dark:bg-neutral-200/10', className)}\n />\n );\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport React, { ComponentProps } from 'react';\n\nimport { Profile } from '@dxos/client';\nimport { Avatar, mx } from '@dxos/react-components';\n\nimport { PanelPopover } from '../../layouts';\nimport { IdentityPanel } from '../../panels';\n\nexport interface IdentityPopoverProps extends Partial<ComponentProps<typeof PanelPopover>> {\n identity: Profile;\n onClickManageProfile?: () => void;\n}\n\nexport const IdentityPopover = ({\n identity,\n openTrigger,\n slots,\n triggerIsInToolbar = true,\n onClickManageProfile,\n ...popoverProps\n}: IdentityPopoverProps) => {\n return (\n <PanelPopover\n {...popoverProps}\n openTrigger={\n openTrigger ?? (\n <Avatar\n size={10}\n variant='circle'\n fallbackValue={identity.identityKey.toHex()}\n label={identity.displayName ?? ''}\n />\n )\n }\n slots={{\n ...slots,\n trigger: {\n ...slots?.trigger,\n className: mx(\n 'flex justify-self-end pointer-events-auto bg-white dark:bg-neutral-700 p-0.5 button-elevation rounded-full',\n slots?.trigger?.className\n )\n }\n }}\n triggerIsInToolbar={triggerIsInToolbar}\n >\n <IdentityPanel {...{ identity, onClickManageProfile }} />\n </PanelPopover>\n );\n};\n", "//\n// Copyright 2022 DXOS.org\n//\n\nimport React, { ComponentProps } from 'react';\n\nimport { mx, Popover } from '@dxos/react-components';\n\nimport { defaultSurface, defaultArrow } from '../../styles';\n\n/**\n * This component essentially sets default styles for popovers which have panels as their content\n * @param slots\n * @param children\n * @param popoverProps\n * @constructor\n */\nexport const PanelPopover = ({ slots, children, ...popoverProps }: ComponentProps<typeof Popover>) => {\n return (\n <Popover\n slots={{\n arrow: { ...slots?.arrow, className: mx(defaultArrow, slots?.arrow?.className) },\n content: {\n collisionPadding: 8,\n sideOffset: 4,\n ...slots?.content,\n className: mx(defaultSurface, slots?.content?.className)\n },\n trigger: {\n ...slots?.trigger,\n className: mx('', slots?.trigger?.className)\n },\n ...slots\n }}\n {...popoverProps}\n >\n {children}\n </Popover>\n );\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport * as DialogPrimitive from '@radix-ui/react-dialog';\nimport React, {\n ComponentProps,\n createContext,\n Dispatch,\n PropsWithChildren,\n SetStateAction,\n useCallback,\n useContext,\n useState\n} from 'react';\n\nimport { defaultOverlay, mx, useMediaQuery, useTranslation } from '@dxos/react-components';\n\nexport type PanelSidebarState = 'show' | 'hide';\n\nexport interface PanelSidebarContextValue {\n setDisplayState: Dispatch<SetStateAction<PanelSidebarState>>;\n displayState: PanelSidebarState;\n}\n\nexport const PanelSidebarContext = createContext<PanelSidebarContextValue>({\n displayState: 'hide',\n setDisplayState: () => {}\n});\n\nexport const useTogglePanelSidebar = () => {\n const { displayState, setDisplayState } = useContext(PanelSidebarContext);\n return useCallback(() => {\n setDisplayState(displayState === 'hide' ? 'show' : 'hide');\n }, [displayState]);\n};\n\nexport interface PanelSidebarProviderSlots {\n content?: ComponentProps<typeof DialogPrimitive.Content>;\n main?: ComponentProps<'div'>;\n}\n\nexport interface PanelSidebarProviderProps {\n inlineStart?: boolean;\n slots?: PanelSidebarProviderSlots;\n}\n\nexport const PanelSidebarProvider = ({ children, slots }: PropsWithChildren<PanelSidebarProviderProps>) => {\n const { t } = useTranslation('os');\n const [isLg] = useMediaQuery('lg', { ssr: false });\n const [displayState, setInternalDisplayState] = useState<PanelSidebarState>(isLg ? 'show' : 'hide');\n const isOpen = displayState === 'show';\n const [transitionShow, setTransitionShow] = useState(isOpen);\n const [domShow, setDomShow] = useState(isOpen);\n\n const internalHide = () => {\n setTransitionShow(false);\n setInternalDisplayState('hide');\n setTimeout(() => {\n setDomShow(false);\n }, 200);\n };\n\n const internalShow = () => {\n setDomShow(true);\n setInternalDisplayState('show');\n setTimeout(() => {\n setTransitionShow(true);\n // todo (thure): this may be a race condition in certain situations\n }, 0);\n };\n\n const setDisplayState = (displayState: SetStateAction<PanelSidebarState>) =>\n displayState === 'show' ? internalShow() : internalHide();\n\n return (\n <PanelSidebarContext.Provider value={{ setDisplayState, displayState }}>\n <DialogPrimitive.Root open={domShow} modal={!isLg}>\n {/* Sidebar. */}\n <DialogPrimitive.Content\n onOpenAutoFocus={(event) => isLg && event.preventDefault()}\n onCloseAutoFocus={(event) => isLg && event.preventDefault()}\n {...slots?.content}\n className={mx(\n 'fixed block-start-0 block-end-0 is-sidebar z-50 overscroll-contain overflow-x-hidden overflow-y-auto',\n 'transition-[inset-inline-start,inset-inline-end] duration-200 ease-in-out',\n transitionShow ? 'inline-start-0' : '-inline-start-sidebar',\n slots?.content?.className\n )}\n >\n <DialogPrimitive.Title className='sr-only'>{t('sidebar label')}</DialogPrimitive.Title>\n {slots?.content?.children}\n </DialogPrimitive.Content>\n\n {/* TODO(burdon): Simple comment required. */}\n {!isLg && (\n <DialogPrimitive.Overlay\n className={mx(\n defaultOverlay,\n 'transition-opacity duration-200 ease-in-out',\n transitionShow ? 'opacity-100' : 'opacity-0'\n )}\n onClick={internalHide}\n />\n )}\n\n {/* Main content. */}\n <div\n role='none'\n {...slots?.main}\n className={mx(\n 'transition-[padding-inline-start] duration-200 ease-in-out',\n isLg && isOpen ? 'pis-sidebar' : 'pis-0',\n slots?.main?.className\n )}\n >\n {children}\n </div>\n </DialogPrimitive.Root>\n </PanelSidebarContext.Provider>\n );\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport * as AlertDialog from '@radix-ui/react-alert-dialog';\nimport React, { ComponentPropsWithoutRef, PropsWithChildren } from 'react';\n\nimport { mx } from '@dxos/react-components';\n\nexport interface PanelAlertDialogSlots {\n root: ComponentPropsWithoutRef<typeof AlertDialog.Root>;\n overlay: ComponentPropsWithoutRef<typeof AlertDialog.Overlay>;\n content: ComponentPropsWithoutRef<typeof AlertDialog.Content>;\n trigger: ComponentPropsWithoutRef<typeof AlertDialog.Trigger>;\n}\n\nexport type PanelAlertDialogProps = PropsWithChildren<{\n titleId: string;\n slots?: Partial<PanelAlertDialogSlots>;\n}>;\n\nexport const PanelAlertDialog = ({ titleId, slots = {}, children }: PanelAlertDialogProps) => {\n return (\n <AlertDialog.Root defaultOpen {...slots.root}>\n {slots.trigger && <AlertDialog.Trigger {...slots.trigger} />}\n <AlertDialog.Overlay\n {...slots.overlay}\n className={mx(\n 'fixed inset-0 backdrop-blur z-50 overflow-auto grid place-items-center p-2 md:p-4 lg:p-8',\n slots.overlay?.className\n )}\n >\n <AlertDialog.Content\n onEscapeKeyDown={(event) => event.preventDefault()}\n {...slots.content}\n aria-labelledby={titleId}\n className={mx('is-full min-is-[260px] max-is-[320px] shadow-md backdrop-blur-md', slots.content?.className)}\n >\n {children}\n </AlertDialog.Content>\n </AlertDialog.Overlay>\n </AlertDialog.Root>\n );\n};\n", "//\n// Copyright 2023 DXOS.org\n//\nimport React from 'react';\n\nimport type { Profile } from '@dxos/client';\nimport { useClient } from '@dxos/react-client';\nimport { Avatar, Button, ThemeContext, useTranslation } from '@dxos/react-components';\n\nexport const IdentityPanel = ({\n identity,\n onClickManageProfile\n}: {\n identity: Profile;\n onClickManageProfile?: () => void;\n}) => {\n const { t } = useTranslation('os');\n const client = useClient();\n const defaultManageProfile = () => {\n const remoteSource = new URL(client?.config.get('runtime.client.remoteSource') || 'https://halo.dxos.org');\n const tab = window.open(remoteSource.origin, '_blank');\n tab?.focus();\n };\n return (\n <ThemeContext.Provider value={{ themeVariant: 'os' }}>\n <div className='flex flex-col gap-2 justify-center items-center'>\n <Avatar\n size={16}\n variant='circle'\n fallbackValue={identity.identityKey.toHex()}\n label={identity.displayName ?? ''}\n />\n <Button compact onClick={onClickManageProfile ?? defaultManageProfile} className='is-full'>\n {t('manage profile label')}\n </Button>\n </div>\n </ThemeContext.Provider>\n );\n};\n", "//\n// Copyright 2023 DXOS.org\n//\nimport React, { useEffect, useReducer } from 'react';\n\nimport { InvitationEncoder } from '@dxos/client';\nimport { log } from '@dxos/log';\nimport { useClient, useIdentity } from '@dxos/react-client';\nimport { useId } from '@dxos/react-components';\n\nimport { JoinHeading } from './JoinHeading';\nimport { JoinAction, JoinPanelProps, JoinState } from './JoinPanelProps';\nimport {\n AdditionMethodSelector,\n IdentitySelector,\n IdentityInput,\n IdentityAdded,\n InvitationAuthenticator,\n InvitationRescuer,\n InvitationInput,\n InvitationAccepted\n} from './view-states';\n\nexport const JoinPanel = ({\n initialInvitationCode,\n titleId: propsTitleId,\n exitActionParent,\n onExit,\n doneActionParent,\n onDone\n}: JoinPanelProps) => {\n const client = useClient();\n const internalTitleId = useId('joinPanel__title');\n const titleId = propsTitleId ?? internalTitleId;\n const identity = useIdentity();\n\n const availableIdentities = identity ? [identity] : [];\n\n const reducer = (state: JoinState, action: JoinAction) => {\n const nextState = { ...state };\n switch (action.type) {\n case 'added identity':\n nextState.activeView = 'identity added';\n nextState.selectedIdentity = action.identity;\n break;\n case 'add identity':\n nextState.activeView = 'addition method selector';\n break;\n case 'select addition method':\n if (action.method === 'accept device invitation') {\n nextState.activeView = 'halo invitation acceptor';\n if (state.unredeemedHaloInvitationCode) {\n nextState.haloInvitation = client.echo.acceptInvitation(\n InvitationEncoder.decode(state.unredeemedHaloInvitationCode)\n );\n nextState.unredeemedHaloInvitationCode = undefined;\n nextState.haloViewState = 'invitation authenticator';\n } else {\n nextState.haloViewState = 'invitation input';\n }\n } else {\n nextState.activeView = 'identity input';\n nextState.additionMethod = action.method;\n }\n break;\n case 'select identity':\n nextState.selectedIdentity = action.identity;\n nextState.activeView = 'space invitation acceptor';\n if (state.unredeemedSpaceInvitationCode) {\n nextState.spaceInvitation = client.echo.acceptInvitation(\n InvitationEncoder.decode(state.unredeemedSpaceInvitationCode)\n );\n nextState.unredeemedSpaceInvitationCode = undefined;\n nextState.spaceViewState = 'invitation authenticator';\n } else {\n nextState.spaceViewState = 'invitation input';\n }\n break;\n case 'deselect identity':\n nextState.selectedIdentity = undefined;\n nextState.activeView = 'identity selector';\n break;\n case 'cancel invitation':\n if (action.from === 'space' && state.spaceInvitation?.invitation) {\n void state.spaceInvitation?.cancel();\n }\n if (action.from === 'halo' && state.haloInvitation?.invitation) {\n void state.haloInvitation?.cancel();\n }\n break;\n case 'authenticating invitation':\n nextState[action.from === 'halo' ? 'haloInvitationAnnotation' : 'spaceInvitationAnnotation'] = 'authenticating';\n break;\n case 'connecting invitation':\n nextState[action.from === 'halo' ? 'haloInvitation' : 'spaceInvitation'] = action.invitation;\n // eslint-disable-next-line no-fallthrough\n case 'cancelled invitation':\n case 'fail invitation':\n case 'timeout invitation':\n nextState[action.from === 'halo' ? 'haloViewState' : 'spaceViewState'] = 'invitation rescuer';\n break;\n case 'connect invitation':\n case 'authenticate invitation':\n if (action.from === 'halo' && state.haloInvitationAnnotation === 'authenticating') {\n nextState.haloInvitationAnnotation = 'authentication failed';\n }\n if (action.from === 'space' && state.spaceInvitationAnnotation === 'authenticating') {\n nextState.spaceInvitationAnnotation = 'authentication failed';\n }\n nextState[action.from === 'halo' ? 'haloViewState' : 'spaceViewState'] = 'invitation authenticator';\n break;\n case 'accepted invitation':\n nextState[action.from === 'halo' ? 'haloViewState' : 'spaceViewState'] = 'invitation accepted';\n break;\n case 'reset invitation':\n nextState[action.from === 'halo' ? 'haloInvitation' : 'spaceInvitation'] = undefined;\n nextState[action.from === 'halo' ? 'haloInvitationAnnotation' : 'spaceInvitationAnnotation'] = undefined;\n nextState[action.from === 'halo' ? 'unredeemedHaloInvitationCode' : 'unredeemedSpaceInvitationCode'] =\n undefined;\n nextState[action.from === 'halo' ? 'haloViewState' : 'spaceViewState'] = 'invitation input';\n break;\n }\n log.debug('[join panel reducer]', { action, nextState });\n return nextState;\n };\n\n const [joinState, dispatch] = useReducer(reducer, {\n unredeemedHaloInvitationCode: undefined,\n unredeemedSpaceInvitationCode: initialInvitationCode,\n spaceInvitation: undefined,\n haloInvitation: undefined,\n activeView: availableIdentities.length > 0 ? 'identity selector' : 'addition method selector',\n selectedIdentity: undefined,\n additionMethod: undefined,\n spaceViewState: 'invitation input',\n haloViewState: 'invitation input'\n });\n\n useEffect(() => {\n // TODO (thure): Validate if this is sufficiently synchronous for iOS to move focus. It might not be!\n const attrValue =\n joinState.activeView === 'identity input'\n ? `${joinState.activeView}; ${joinState.additionMethod}`\n : joinState.activeView === 'space invitation acceptor'\n ? `${joinState.activeView}; ${joinState.spaceViewState}`\n : joinState.activeView === 'halo invitation acceptor'\n ? `${joinState.activeView}; ${joinState.haloViewState}`\n : joinState.activeView;\n log.debug('[autofocus value]', { attrValue });\n const $nextAutofocus: HTMLElement | null = document.querySelector(`[data-autofocus=\"${attrValue}\"]`);\n if ($nextAutofocus) {\n $nextAutofocus.focus();\n }\n }, [joinState.activeView, joinState.spaceViewState, joinState.haloViewState]);\n\n useEffect(() => {\n return joinState.spaceInvitation?.subscribe({\n onAuthenticating: () => dispatch({ type: 'authenticate invitation', from: 'space' }),\n onCancelled: () => dispatch({ type: 'cancelled invitation', from: 'space' }),\n onConnected: () => dispatch({ type: 'connect invitation', from: 'space' }),\n onError: () => dispatch({ type: 'fail invitation', from: 'space' }),\n onSuccess: () => dispatch({ type: 'accepted invitation', from: 'space' }),\n onTimeout: () => dispatch({ type: 'timeout invitation', from: 'space' })\n });\n }, [joinState.spaceInvitation]);\n\n useEffect(() => {\n return joinState.haloInvitation?.subscribe({\n onAuthenticating: () => dispatch({ type: 'authenticate invitation', from: 'halo' }),\n onCancelled: () => dispatch({ type: 'cancelled invitation', from: 'halo' }),\n onConnected: () => dispatch({ type: 'connect invitation', from: 'halo' }),\n onError: () => dispatch({ type: 'fail invitation', from: 'halo' }),\n onSuccess: () => dispatch({ type: 'accepted invitation', from: 'halo' }),\n onTimeout: () => dispatch({ type: 'timeout invitation', from: 'halo' })\n });\n }, [joinState.haloInvitation]);\n\n return (\n <>\n <JoinHeading {...{ titleId, invitation: joinState.spaceInvitation, onExit, exitActionParent }} />\n <div role='none' className='is-full overflow-hidden'>\n <div role='none' className='flex is-[1300%]' aria-live='polite'>\n <IdentitySelector\n {...{ dispatch, availableIdentities, active: joinState.activeView === 'identity selector' }}\n />\n <AdditionMethodSelector\n {...{\n dispatch,\n availableIdentities,\n active: joinState.activeView === 'addition method selector'\n }}\n />\n <IdentityInput\n {...{\n dispatch,\n active: joinState.activeView === 'identity input' && joinState.additionMethod === 'create identity',\n method: 'create identity'\n }}\n />\n <IdentityInput\n {...{\n dispatch,\n active: joinState.activeView === 'identity input' && joinState.additionMethod === 'recover identity',\n method: 'recover identity'\n }}\n />\n <InvitationInput\n {...{\n dispatch,\n activeInvitation: joinState.haloInvitation || true,\n active:\n joinState.activeView === 'halo invitation acceptor' && joinState.haloViewState === 'invitation input',\n invitationType: 'halo'\n }}\n />\n <InvitationRescuer\n {...{\n dispatch,\n activeInvitation: joinState.haloInvitation || true,\n active:\n joinState.activeView === 'halo invitation acceptor' && joinState.haloViewState === 'invitation rescuer',\n invitationType: 'halo'\n }}\n />\n <InvitationAuthenticator\n {...{\n dispatch,\n activeInvitation: joinState.haloInvitation || true,\n active:\n joinState.activeView === 'halo invitation acceptor' &&\n joinState.haloViewState === 'invitation authenticator',\n invitationType: 'halo',\n ...(joinState.spaceInvitationAnnotation === 'authentication failed' && { failed: true })\n }}\n />\n <InvitationAccepted\n {...{\n dispatch,\n activeInvitation: joinState.haloInvitation || true,\n active:\n joinState.activeView === 'halo invitation acceptor' &&\n joinState.haloViewState === 'invitation accepted',\n invitationType: 'halo'\n }}\n />\n <IdentityAdded\n {...{\n dispatch,\n addedIdentity: joinState.selectedIdentity,\n active: joinState.activeView === 'identity added'\n }}\n />\n <InvitationInput\n {...{\n dispatch,\n activeInvitation: joinState.spaceInvitation || true,\n selectedIdentity: joinState.selectedIdentity,\n active:\n joinState.activeView === 'space invitation acceptor' && joinState.spaceViewState === 'invitation input',\n invitationType: 'space'\n }}\n />\n <InvitationRescuer\n {...{\n dispatch,\n activeInvitation: joinState.spaceInvitation || true,\n selectedIdentity: joinState.selectedIdentity,\n active:\n joinState.activeView === 'space invitation acceptor' &&\n joinState.spaceViewState === 'invitation rescuer',\n invitationType: 'space'\n }}\n />\n <InvitationAuthenticator\n {...{\n dispatch,\n activeInvitation: joinState.spaceInvitation || true,\n selectedIdentity: joinState.selectedIdentity,\n active:\n joinState.activeView === 'space invitation acceptor' &&\n joinState.spaceViewState === 'invitation authenticator',\n invitationType: 'space',\n ...(joinState.spaceInvitationAnnotation === 'authentication failed' && { failed: true })\n }}\n />\n <InvitationAccepted\n {...{\n dispatch,\n activeInvitation: joinState.spaceInvitation || true,\n selectedIdentity: joinState.selectedIdentity,\n active:\n joinState.activeView === 'space invitation acceptor' &&\n joinState.spaceViewState === 'invitation accepted',\n invitationType: 'space',\n doneActionParent,\n onDone\n }}\n />\n </div>\n </div>\n </>\n );\n};\n", "//\n// Copyright 2023 DXOS.org\n//\nimport { ProhibitInset } from 'phosphor-react';\nimport React, { cloneElement, ForwardedRef, forwardRef } from 'react';\n\nimport { AuthenticatingInvitationObservable } from '@dxos/client';\nimport { useSpace } from '@dxos/react-client';\nimport { Avatar, Button, getSize, Heading, mx, Trans, useId, useTranslation } from '@dxos/react-components';\n\nimport { subduedSurface } from '../../styles';\n\nexport interface JoinSpaceHeadingProps {\n titleId: string;\n invitation?: AuthenticatingInvitationObservable;\n onExit?: () => void;\n exitActionParent?: Parameters<typeof cloneElement>[0];\n}\n\nexport const JoinHeading = forwardRef(\n ({ titleId, invitation, onExit, exitActionParent }: JoinSpaceHeadingProps, ref: ForwardedRef<HTMLDivElement>) => {\n const { t } = useTranslation('os');\n\n const space = useSpace(invitation?.invitation?.spaceKey);\n const spaceTitle = space?.properties.name ?? '(Space not available)';\n\n const nameId = useId('spaceDisplayName');\n\n const exitButton = (\n <Button compact variant='ghost' {...(onExit && { onClick: onExit })} className='grow-0 shrink-0'>\n <ProhibitInset className={getSize(5)} />\n <span className='sr-only'>{t('exit label')}</span>\n </Button>\n );\n\n return (\n <div role='none' className={mx(subduedSurface, 'p-2 rounded-bs-md')} ref={ref}>\n <div role='group' className='flex items-center gap-2'>\n <Avatar fallbackValue={invitation?.invitation?.spaceKey?.toHex() ?? ''} labelId={nameId} />\n <Heading level={1} className='font-body font-normal text-base grow' id={titleId}>\n <Trans\n {...{\n defaults: t('join space heading'),\n components: {\n small: <span className='block leading-none mbe-1 font-system-medium text-sm' />,\n large: <span className='block leading-none' id={nameId} />\n },\n values: { spaceTitle }\n }}\n />\n </Heading>\n {exitActionParent ? cloneElement(exitActionParent, {}, exitButton) : exitButton}\n </div>\n </div>\n );\n }\n);\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { CaretLeft, CaretRight, Plus, QrCode, Textbox } from 'phosphor-react';\nimport React from 'react';\n\nimport { Button, CompoundButton, getSize, mx, useTranslation } from '@dxos/react-components';\n\nimport { Profile } from '../JoinPanelProps';\nimport { ViewState, ViewStateHeading, ViewStateProps } from './ViewState';\n\nexport interface AdditionMethodSelectorProps extends ViewStateProps {\n availableIdentities: Profile[];\n}\n\nexport const AdditionMethodSelector = ({ availableIdentities, ...viewStateProps }: AdditionMethodSelectorProps) => {\n const disabled = !viewStateProps.active;\n const { dispatch } = viewStateProps;\n\n const { t } = useTranslation('os');\n\n const sharedButtonProps = {\n disabled,\n after: <CaretRight className={getSize(4)} weight='bold' />,\n slots: { label: { className: 'text-sm' } }\n };\n\n return (\n <ViewState {...viewStateProps}>\n <ViewStateHeading>{t('addition method selector title')}</ViewStateHeading>\n <div role='none' className='flex flex-col gap-1 grow'>\n <CompoundButton\n {...sharedButtonProps}\n description={t('create identity description')}\n before={<Plus className={getSize(6)} />}\n onClick={() => dispatch({ type: 'select addition method', method: 'create identity' })}\n data-autofocus='addition method selector'\n >\n {t('create identity label')}\n </CompoundButton>\n <CompoundButton\n {...sharedButtonProps}\n description={t('join identity description')}\n before={<QrCode className={getSize(6)} />}\n onClick={() => dispatch({ type: 'select addition method', method: 'accept device invitation' })}\n >\n {t('join identity label')}\n </CompoundButton>\n <CompoundButton\n {...sharedButtonProps}\n description={t('recover identity description')}\n before={<Textbox className={getSize(6)} />}\n onClick={() => dispatch({ type: 'select addition method', method: 'recover identity' })}\n >\n {t('recover identity label')}\n </CompoundButton>\n </div>\n <Button\n disabled={disabled || availableIdentities.length < 1}\n onClick={() => dispatch({ type: 'deselect identity' })}\n >\n <CaretLeft className={getSize(4)} weight='bold' />\n <span className='grow'>{t('deselect identity label')}</span>\n <CaretRight className={mx(getSize(4), 'invisible')} weight='bold' />\n </Button>\n </ViewState>\n );\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { CheckCircle, HourglassSimple, X } from 'phosphor-react';\nimport React, { ComponentProps, ComponentPropsWithoutRef, ReactNode, useMemo } from 'react';\n\nimport type { AuthenticatingInvitationObservable, Profile } from '@dxos/client';\nimport { Invitation } from '@dxos/client';\nimport { useInvitationStatus } from '@dxos/react-client';\nimport { mx, useTranslation, Trans, Avatar, useId, getSize, strongShimmer } from '@dxos/react-components';\n\nimport { defaultSurface, subduedSurface, resolvedBgColor, activeBgColor, inactiveBgColor } from '../../../styles';\nimport { invitationStatusValue } from '../../../util';\nimport { JoinDispatch } from '../JoinPanelProps';\n\nexport interface ViewStateProps extends ComponentProps<'div'> {\n active: boolean;\n dispatch: JoinDispatch;\n selectedIdentity?: true | Profile;\n activeInvitation?: true | AuthenticatingInvitationObservable;\n}\n\nconst stripe = mx('rounded-full grow', getSize(3));\n\nexport const ViewStateHeading = ({ children, className, ...props }: ComponentPropsWithoutRef<'h2'>) => {\n return (\n <h2 {...props} className={mx('font-system-medium text-sm md:text-base mbe-1 mli-1 text-center', className)}>\n {children}\n </h2>\n );\n};\n\nconst PureViewStateInvitation = ({\n halted,\n cursor,\n label,\n resolvedColor\n}: {\n halted?: boolean;\n cursor: number;\n label: ReactNode;\n resolvedColor: string;\n}) => {\n const labelId = useId('invitationState');\n return (\n <div role='none' className={mx(defaultSurface, 'pli-2 pbs-2')}>\n <div role='status' aria-labelledby={labelId} className='flex gap-2 items-center mlb-1'>\n <div\n role='none'\n className={mx(\n stripe,\n !halted && cursor === 1 && strongShimmer,\n cursor === 2 ? (halted ? resolvedColor : activeBgColor) : cursor > 1 ? resolvedColor : inactiveBgColor\n )}\n />\n <div\n role='none'\n className={mx(\n stripe,\n !halted && cursor === 3 && strongShimmer,\n cursor === 3 ? (halted ? resolvedColor : activeBgColor) : cursor > 3 ? resolvedColor : inactiveBgColor\n )}\n />\n <div\n role='none'\n className={mx(stripe, cursor > 3 ? (halted ? resolvedColor : resolvedColor) : inactiveBgColor)}\n />\n </div>\n <ViewStateHeading id={labelId} className='mbs-2 flex justify-center items-center gap-2'>\n {label}\n </ViewStateHeading>\n </div>\n );\n};\n\nconst ViewStateInvitationStatus = ({ activeInvitation }: { activeInvitation: AuthenticatingInvitationObservable }) => {\n const { t } = useTranslation('os');\n const { status, haltedAt } = useInvitationStatus(activeInvitation);\n\n const halted =\n status === Invitation.State.CANCELLED || status === Invitation.State.TIMEOUT || status === Invitation.State.ERROR;\n\n const cursor = invitationStatusValue.get(halted ? haltedAt! : status)!;\n\n const resolvedColor = resolvedBgColor(status);\n\n const statusLabelMap = useMemo(\n () =>\n new Map<Invitation.State, ReactNode>([\n [\n Invitation.State.ERROR,\n <>\n <X weight='bold' className={mx(getSize(4), 'text-error-600 dark:text-error-400')} />\n <span>{t('error status label')}</span>\n </>\n ],\n [\n Invitation.State.TIMEOUT,\n <>\n <HourglassSimple weight='fill' className={mx(getSize(4), 'text-warning-600 dark:text-warning-400')} />\n <span>{t('timeout status label')}</span>\n </>\n ],\n [\n Invitation.State.CANCELLED,\n <>\n <X weight='bold' className={mx(getSize(4), 'text-warning-600 dark:text-warning-400')} />\n <span>{t('cancelled status label')}</span>\n </>\n ],\n [Invitation.State.INIT, t('init status label')],\n [Invitation.State.CONNECTING, t('connecting status label')],\n [Invitation.State.CONNECTED, t('connected status label')],\n [Invitation.State.AUTHENTICATING, t('authenticating status label')],\n [\n Invitation.State.SUCCESS,\n <>\n <CheckCircle weight='fill' className={mx(getSize(4), 'text-success-600 dark:text-success-400')} />\n <span>{t('success status label')}</span>\n </>\n ]\n ]),\n [t]\n );\n\n return (\n <PureViewStateInvitation\n {...{\n label: statusLabelMap.get(status)!,\n resolvedColor,\n cursor,\n halted\n }}\n />\n );\n};\n\nexport const ViewState = ({\n active,\n children,\n className,\n dispatch,\n selectedIdentity,\n activeInvitation,\n ...props\n}: ViewStateProps) => {\n // note (thure): reserve `order-1` and `order-3` for outgoing steps in different directions\n const { t } = useTranslation('os');\n const identityLabel = useId('selectedIdentityLabel');\n\n return (\n <div\n role='none'\n {...props}\n {...(!active && { 'aria-hidden': true })}\n className={mx('is-[50%] flex flex-col', active ? 'order-2' : 'order-4', className)}\n >\n {selectedIdentity && (\n <div role='none' className={mx(subduedSurface, 'flex-none flex items-center gap-1 pli-2 pbe-1.5')}>\n <Trans\n {...{\n defaults: t('join space as identity heading'),\n components: {\n icon: (\n <Avatar\n size={4}\n fallbackValue={selectedIdentity === true ? '' : selectedIdentity.identityKey.toHex()}\n labelId={identityLabel}\n />\n ),\n label: <span id={identityLabel} />,\n part: <span role='none' className='flex items-center gap-1 leading-none' />\n },\n values: {\n labelValue:\n selectedIdentity === true\n ? ' '\n : selectedIdentity.displayName ?? selectedIdentity.identityKey.truncate()\n }\n }}\n />\n </div>\n )}\n {activeInvitation &&\n (activeInvitation === true ? (\n <PureViewStateInvitation\n {...{\n halted: false,\n status: Invitation.State.INIT,\n label: t('invitation input label'),\n cursor: 0,\n resolvedColor: inactiveBgColor\n }}\n />\n ) : (\n <ViewStateInvitationStatus {...{ activeInvitation }} />\n ))}\n <div role='region' className={mx(defaultSurface, 'rounded-be-md grow shrink-0 flex flex-col gap-1 p-2')}>\n {children}\n </div>\n </div>\n );\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { CaretLeft, CaretRight } from 'phosphor-react';\nimport React from 'react';\n\nimport type { Profile } from '@dxos/client';\nimport { Avatar, Button, getSize, mx, useTranslation } from '@dxos/react-components';\n\nimport { ViewState, ViewStateHeading, ViewStateProps } from './ViewState';\n\nexport interface IdentityAddedProps extends ViewStateProps {\n addedIdentity?: Profile;\n}\n\nexport const IdentityAdded = ({ addedIdentity, ...viewStateProps }: IdentityAddedProps) => {\n const disabled = !viewStateProps.active;\n const { dispatch } = viewStateProps;\n const { t } = useTranslation('os');\n\n return (\n <ViewState {...viewStateProps}>\n <ViewStateHeading>{t('identity added label')}</ViewStateHeading>\n <div role='none' className='grow flex flex-col items-center justify-center text-center gap-2'>\n <Avatar\n size={20}\n fallbackValue={addedIdentity?.identityKey.toHex() ?? ''}\n label={\n <p className={mx('text-lg', !addedIdentity?.displayName && 'font-mono')}>\n {addedIdentity?.displayName ?? addedIdentity?.identityKey.truncate() ?? ' '}\n </p>\n }\n variant='circle'\n status='active'\n />\n </div>\n <div className='flex gap-2'>\n <Button\n disabled={disabled || !addedIdentity}\n className='grow flex items-center gap-2 pli-2 order-2'\n onClick={() => addedIdentity && dispatch({ type: 'select identity', identity: addedIdentity })}\n data-autofocus='identity added'\n >\n <CaretLeft weight='bold' className={mx(getSize(2), 'invisible')} />\n <span className='grow'>{t('continue label')}</span>\n <CaretRight weight='bold' className={getSize(4)} />\n </Button>\n <Button\n disabled={disabled}\n onClick={() => dispatch({ type: 'deselect identity' })}\n className='flex items-center gap-2 pis-2 pie-4'\n >\n <CaretLeft weight='bold' className={getSize(4)} />\n <span>{t('deselect identity label')}</span>\n </Button>\n </div>\n </ViewState>\n );\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport * as RadioGroup from '@radix-ui/react-radio-group';\nimport { CaretLeft, CaretRight, UserPlus } from 'phosphor-react';\nimport React, { useCallback, useState } from 'react';\n\nimport { Avatar, Button, themeVariantFocus, getSize, mx, useTranslation } from '@dxos/react-components';\n\nimport { Profile } from '../JoinPanelProps';\nimport { ViewState, ViewStateHeading, ViewStateProps } from './ViewState';\n\nexport interface IdentitySelectorProps extends ViewStateProps {\n availableIdentities: Profile[];\n}\n\nexport const IdentitySelector = ({ availableIdentities, ...viewStateProps }: IdentitySelectorProps) => {\n const { dispatch } = viewStateProps;\n const disabled = !viewStateProps.active;\n\n const { t } = useTranslation('os');\n const [activeIdentity, setActiveIdentity] = useState(availableIdentities[0]);\n const onValueChange = useCallback(\n (nextHex: string) =>\n setActiveIdentity(\n availableIdentities.find((identity) => identity.identityKey.toHex() === nextHex) || activeIdentity\n ),\n [availableIdentities]\n );\n\n return (\n <ViewState {...viewStateProps}>\n <ViewStateHeading>{t('identity selector title')}</ViewStateHeading>\n <RadioGroup.Root\n disabled={disabled}\n value={activeIdentity?.identityKey.toHex()}\n onValueChange={onValueChange}\n className='overflow-y-auto grow shrink min-bs-10 pli-1 -mli-1'\n aria-label={t('identity radio group title')}\n data-autofocus='identity selector'\n >\n {availableIdentities.map(({ displayName, identityKey }) => {\n const hex = identityKey.toHex();\n const inputId = `identitySelector__item--${hex}`;\n const labelId = `identitySelector__itemLabel--${hex}`;\n return (\n <label htmlFor={inputId} key={hex} className='flex items-center mbe-2 gap-2 cursor-pointer'>\n <RadioGroup.Item\n id={inputId}\n aria-labelledby={labelId}\n value={hex}\n className={mx(\n 'peer relative w-4 h-4 rounded-full',\n 'border border-transparent text-white',\n 'radix-state-checked:bg-primary-600',\n 'radix-state-unchecked:bg-neutral-100 dark:radix-state-unchecked:bg-neutral-900',\n themeVariantFocus('os')\n )}\n >\n <RadioGroup.Indicator className='absolute inset-0 flex items-center justify-center leading-0'>\n <div className='w-1.5 h-1.5 rounded-full bg-white' />\n </RadioGroup.Indicator>\n </RadioGroup.Item>\n <Avatar fallbackValue={hex} labelId={labelId} variant='circle' />\n <span id={labelId} className={mx(!displayName && 'font-mono')}>\n {displayName ?? identityKey.truncate() ?? ''}\n </span>\n </label>\n );\n })}\n </RadioGroup.Root>\n <Button\n disabled={disabled}\n compact\n onClick={() => dispatch({ type: 'add identity' })}\n className='flex items-center gap-2 pli-2'\n >\n <span>{t('add identity label')}</span>\n <UserPlus weight='bold' className={getSize(3.5)} />\n </Button>\n <Button\n disabled={disabled || !activeIdentity}\n className='flex items-center gap-2 pli-2'\n onClick={() =>\n dispatch({\n type: 'select identity',\n identity: activeIdentity\n })\n }\n >\n <CaretLeft weight='bold' className={mx(getSize(4), 'invisible')} />\n <span className='grow'>{t('continue label')}</span>\n <CaretRight weight='bold' className={getSize(4)} />\n </Button>\n </ViewState>\n );\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { CaretLeft, CaretRight } from 'phosphor-react';\nimport React, { ComponentPropsWithoutRef, useState } from 'react';\n\nimport { useClient } from '@dxos/react-client';\nimport { Button, getSize, Input, mx, useTranslation } from '@dxos/react-components';\n\nimport { ViewState, ViewStateHeading, ViewStateProps } from './ViewState';\n\nexport interface IdentityCreatorProps extends ViewStateProps {\n method: 'recover identity' | 'create identity';\n}\n\nexport const IdentityInput = ({ method, ...viewStateProps }: IdentityCreatorProps) => {\n const disabled = !viewStateProps.active;\n const { dispatch } = viewStateProps;\n const { t } = useTranslation('os');\n const [inputValue, setInputValue] = useState('');\n const client = useClient();\n const [validationMessage, setValidationMessage] = useState('');\n const isRecover = method === 'recover identity';\n const handleNext = () => {\n void client.halo.createProfile({ [isRecover ? 'seedphrase' : 'displayName']: inputValue }).then(\n (identity) => {\n dispatch({ type: 'added identity', identity });\n },\n (_error) => {\n setValidationMessage(t(isRecover ? 'failed to recover identity message' : 'failed to create identity message'));\n }\n );\n };\n return (\n <ViewState {...viewStateProps}>\n <Input\n disabled={disabled}\n label={\n <ViewStateHeading>\n {t(isRecover ? 'recover identity input label' : 'new identity input label')}\n </ViewStateHeading>\n }\n onChange={({ target: { value } }) => setInputValue(value)}\n slots={{\n root: { className: 'm-0' },\n input: {\n 'data-autofocus': isRecover ? 'identity input; recover identity' : 'identity input; create identity',\n onKeyUp: ({ key }) => key === 'Enter' && handleNext()\n } as ComponentPropsWithoutRef<'input'>\n }}\n {...(validationMessage.length && { validationValence: 'error', validationMessage })}\n />\n <div role='none' className='grow' />\n <div className='flex gap-2'>\n <Button disabled={disabled} className='grow flex items-center gap-2 pli-2 order-2' onClick={handleNext}>\n <CaretLeft weight='bold' className={mx(getSize(2), 'invisible')} />\n <span className='grow'>{t('continue label')}</span>\n <CaretRight weight='bold' className={getSize(4)} />\n </Button>\n <Button\n disabled={disabled}\n onClick={() => dispatch({ type: 'add identity' })}\n className='flex items-center gap-2 pis-2 pie-4'\n >\n <CaretLeft weight='bold' className={getSize(4)} />\n <span>{t('back label')}</span>\n </Button>\n </div>\n </ViewState>\n );\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { CaretLeft, Check } from 'phosphor-react';\nimport React, { cloneElement } from 'react';\n\nimport { AuthenticatingInvitationObservable } from '@dxos/client';\nimport { InvitationResult, useInvitationStatus } from '@dxos/react-client';\nimport { Button, getSize, mx, useTranslation } from '@dxos/react-components';\n\nimport { ViewState, ViewStateProps } from './ViewState';\n\nexport interface InvitationAcceptedProps extends ViewStateProps {\n invitationType: 'space' | 'halo';\n doneActionParent?: Parameters<typeof cloneElement>[0];\n onDone?: (result: InvitationResult | null) => void;\n}\n\nconst PureInvitationAcceptedContent = ({\n onDone,\n result,\n invitationType,\n doneActionParent,\n active\n}: InvitationAcceptedProps & { result: InvitationResult | null }) => {\n const disabled = !active;\n const { t } = useTranslation('os');\n\n const doneButton = (\n <Button\n {...(onDone && { onClick: () => onDone(result) })}\n disabled={disabled}\n className='grow flex items-center gap-2 pli-2'\n data-autofocus={`${invitationType} invitation acceptor; invitation accepted`}\n >\n <CaretLeft weight='bold' className={mx(getSize(2), 'invisible')} />\n <span className='grow'>{t('done label')}</span>\n <Check weight='bold' className={getSize(4)} />\n </Button>\n );\n\n return doneActionParent ? cloneElement(doneActionParent, {}, doneButton) : doneButton;\n};\n\nconst InvitationAcceptedContent = (props: InvitationAcceptedProps) => {\n const { result } = useInvitationStatus(props.activeInvitation as AuthenticatingInvitationObservable);\n return <PureInvitationAcceptedContent {...props} result={result} />;\n};\n\nexport const InvitationAccepted = (props: InvitationAcceptedProps) => {\n const {\n invitationType: _invitationType,\n doneActionParent: _doneActionParent,\n onDone: _onDone,\n ...viewStateProps\n } = props;\n const { activeInvitation } = viewStateProps;\n\n return (\n <ViewState {...viewStateProps}>\n {!activeInvitation || activeInvitation === true ? (\n <PureInvitationAcceptedContent {...props} result={null} />\n ) : (\n <InvitationAcceptedContent {...props} />\n )}\n </ViewState>\n );\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { CaretLeft, CaretRight } from 'phosphor-react';\nimport React, { ComponentPropsWithoutRef, useState } from 'react';\n\nimport { InvitationEncoder } from '@dxos/client';\nimport { useClient } from '@dxos/react-client';\nimport { Button, getSize, Input, mx, useTranslation } from '@dxos/react-components';\n\nimport { ViewState, ViewStateHeading, ViewStateProps } from './ViewState';\n\nexport interface InvitationInputProps extends ViewStateProps {\n invitationType: 'space' | 'halo';\n}\n\nexport const InvitationInput = ({ invitationType, ...viewStateProps }: InvitationInputProps) => {\n const client = useClient();\n const disabled = !viewStateProps.active;\n const { dispatch } = viewStateProps;\n const { t } = useTranslation('os');\n\n const [inputValue, setInputValue] = useState('');\n\n const handleNext = () =>\n dispatch({\n type: 'connecting invitation',\n from: invitationType,\n invitation: client[invitationType === 'halo' ? 'halo' : 'echo'].acceptInvitation(\n InvitationEncoder.decode(inputValue)\n )\n });\n\n return (\n <ViewState {...viewStateProps}>\n <Input\n disabled={disabled}\n label={<ViewStateHeading>{t('invitation input label')}</ViewStateHeading>}\n onChange={({ target: { value } }) => setInputValue(value)}\n slots={{\n root: { className: 'm-0' },\n label: { className: 'sr-only' },\n input: {\n 'data-autofocus': `${invitationType} invitation acceptor; invitation input`,\n onKeyUp: ({ key }) => key === 'Enter' && handleNext()\n } as ComponentPropsWithoutRef<'input'>\n }}\n />\n <div role='none' className='grow' />\n <div className='flex gap-2'>\n <Button disabled={disabled} className='grow flex items-center gap-2 pli-2 order-2' onClick={handleNext}>\n <CaretLeft weight='bold' className={mx(getSize(2), 'invisible')} />\n <span className='grow'>{t('continue label')}</span>\n <CaretRight weight='bold' className={getSize(4)} />\n </Button>\n <Button\n disabled={disabled}\n onClick={() => dispatch({ type: 'add identity' })}\n className='flex items-center gap-2 pis-2 pie-4'\n >\n <CaretLeft weight='bold' className={getSize(4)} />\n <span>{t('back label')}</span>\n </Button>\n </div>\n </ViewState>\n );\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { ArrowsClockwise, CaretLeft, CaretRight } from 'phosphor-react';\nimport React from 'react';\n\nimport { AuthenticatingInvitationObservable, Invitation } from '@dxos/client';\nimport { useInvitationStatus } from '@dxos/react-client';\nimport { Button, getSize, mx, useTranslation } from '@dxos/react-components';\n\nimport { ViewState, ViewStateProps } from './ViewState';\n\nexport interface InvitationConnectorProps extends ViewStateProps {\n invitationType: 'space' | 'halo';\n}\n\nconst InvitationActions = ({\n activeInvitation,\n disabled,\n dispatch,\n invitationType\n}: {\n activeInvitation: AuthenticatingInvitationObservable;\n disabled?: boolean;\n dispatch: ViewStateProps['dispatch'];\n invitationType: InvitationConnectorProps['invitationType'];\n}) => {\n const { status, cancel } = useInvitationStatus(activeInvitation);\n const { t } = useTranslation('os');\n\n switch (status) {\n case Invitation.State.CONNECTING:\n return (\n <>\n <div role='none' className='grow' />\n <div className='flex gap-2'>\n <Button disabled className='grow flex items-center gap-2 pli-2 order-2'>\n <CaretLeft weight='bold' className={mx(getSize(2), 'invisible')} />\n <span className='grow'>{t('next label')}</span>\n <CaretRight weight='bold' className={getSize(4)} />\n </Button>\n <Button\n disabled={disabled}\n className='flex items-center gap-2 pis-2 pie-4'\n onClick={cancel}\n data-autofocus={`${invitationType} invitation acceptor; invitation rescuer`}\n >\n <CaretLeft weight='bold' className={getSize(4)} />\n <span>{t('cancel label')}</span>\n </Button>\n </div>\n </>\n );\n case Invitation.State.TIMEOUT:\n case Invitation.State.CANCELLED:\n case Invitation.State.ERROR:\n default:\n return (\n <Button\n disabled={disabled}\n className='grow flex items-center gap-2 pli-2'\n onClick={() => dispatch({ type: 'reset invitation', from: invitationType })}\n data-autofocus={`${invitationType} invitation acceptor; invitation rescuer`}\n >\n <CaretLeft weight='bold' className={mx(getSize(5), 'invisible')} />\n <span className='grow'>{t('reset label')}</span>\n <ArrowsClockwise weight='bold' className={getSize(5)} />\n </Button>\n );\n }\n};\n\nexport const InvitationRescuer = ({ invitationType, ...viewStateProps }: InvitationConnectorProps) => {\n const disabled = !viewStateProps.active;\n const { dispatch, activeInvitation } = viewStateProps;\n const { t } = useTranslation('os');\n return (\n <ViewState {...viewStateProps}>\n {activeInvitation === true || !activeInvitation ? (\n <Button\n disabled={disabled}\n className='grow flex items-center gap-2 pli-2'\n data-autofocus='space invitation acceptor; invitation rescuer'\n >\n <CaretLeft weight='bold' className={mx(getSize(5), 'invisible')} />\n <span className='grow'>{t('connect label')}</span>\n <ArrowsClockwise weight='bold' className={getSize(5)} />\n </Button>\n ) : (\n <InvitationActions {...{ activeInvitation, disabled, dispatch, invitationType }} />\n )}\n </ViewState>\n );\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { CaretLeft, CaretRight } from 'phosphor-react';\nimport React, { ChangeEvent, ComponentProps, ComponentPropsWithoutRef, useCallback, useState } from 'react';\n\nimport { AuthenticatingInvitationObservable } from '@dxos/client';\nimport { useInvitationStatus } from '@dxos/react-client';\nimport { Button, getSize, Input, mx, useTranslation } from '@dxos/react-components';\n\nimport { ViewState, ViewStateProps } from './ViewState';\n\nconst pinLength = 6;\n\nexport interface InvitationAuthenticatorProps extends ViewStateProps {\n invitationType: 'space' | 'halo';\n failed?: boolean;\n}\n\nconst PureInvitationAuthenticatorContent = ({\n disabled,\n failed,\n dispatch,\n invitationType,\n onChange,\n onAuthenticate\n}: {\n disabled?: boolean;\n dispatch: ViewStateProps['dispatch'];\n invitationType: InvitationAuthenticatorProps['invitationType'];\n failed: InvitationAuthenticatorProps['failed'];\n onChange: ComponentProps<typeof Input>['onChange'];\n onAuthenticate: ComponentProps<typeof Button>['onClick'];\n}) => {\n const { t } = useTranslation('os');\n return (\n <>\n <Input\n label={t('pin input label')}\n size='pin'\n length={pinLength}\n onChange={onChange}\n disabled={disabled}\n slots={{\n root: { className: 'm-0' },\n label: { className: 'sr-only' },\n description: { className: 'text-center' },\n input: {\n disabled,\n inputMode: 'numeric',\n pattern: '\\\\d*',\n 'data-autofocus': `${invitationType} invitation acceptor; invitation authenticator`\n } as ComponentPropsWithoutRef<'input'>\n }}\n {...(failed && {\n validationValence: 'error',\n validationMessage: t('failed to authenticate message')\n })}\n />\n <div role='none' className='grow' />\n <div className='flex gap-2'>\n <Button\n disabled={disabled}\n className='grow flex items-center gap-2 pli-2 order-2'\n onClick={onAuthenticate}\n data-autofocus-pinlength={invitationType}\n >\n <CaretLeft weight='bold' className={mx(getSize(2), 'invisible')} />\n <span className='grow'>{t('next label')}</span>\n <CaretRight weight='bold' className={getSize(4)} />\n </Button>\n <Button\n disabled={disabled}\n className='flex items-center gap-2 pis-2 pie-4'\n onClick={() => dispatch({ type: 'cancel invitation', from: invitationType })}\n >\n <CaretLeft weight='bold' className={getSize(4)} />\n <span>{t('cancel label')}</span>\n </Button>\n </div>\n </>\n );\n};\n\nconst InvitationAuthenticatorContent = ({\n disabled,\n invitation,\n dispatch,\n invitationType,\n failed\n}: {\n disabled?: boolean;\n invitation: AuthenticatingInvitationObservable;\n dispatch: ViewStateProps['dispatch'];\n invitationType: InvitationAuthenticatorProps['invitationType'];\n failed: InvitationAuthenticatorProps['failed'];\n}) => {\n const [pinValue, setPinValue] = useState('');\n const { authenticate } = useInvitationStatus(invitation);\n const onAuthenticate = useCallback(() => {\n dispatch({ type: 'authenticating invitation', from: invitationType });\n void authenticate(pinValue);\n }, [dispatch, invitationType, authenticate, pinValue]);\n const onChange = useCallback(\n ({ target: { value } }: ChangeEvent<HTMLInputElement>) => {\n setPinValue(value);\n if (value.length === pinLength) {\n (document.querySelector(`[data-autofocus-pinlength=\"${invitationType}\"]`) as HTMLElement | null)?.focus();\n }\n },\n [authenticate, pinValue]\n );\n return (\n <PureInvitationAuthenticatorContent {...{ disabled, failed, dispatch, invitationType, onChange, onAuthenticate }} />\n );\n};\n\nexport const InvitationAuthenticator = ({\n invitationType,\n failed,\n ...viewStateProps\n}: InvitationAuthenticatorProps) => {\n const disabled = !viewStateProps.active;\n const { activeInvitation, dispatch } = viewStateProps;\n return (\n <ViewState {...viewStateProps}>\n {!activeInvitation || activeInvitation === true ? (\n <PureInvitationAuthenticatorContent\n {...{ disabled, failed, dispatch, invitationType, onChange: () => {}, onAuthenticate: () => {} }}\n />\n ) : (\n <InvitationAuthenticatorContent\n {...{ disabled, failed, invitation: activeInvitation, dispatch, invitationType }}\n />\n )}\n </ViewState>\n );\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { Action, Cancel } from '@radix-ui/react-alert-dialog';\nimport React from 'react';\n\nimport { ThemeContext, useId } from '@dxos/react-components';\n\nimport { PanelAlertDialog, PanelAlertDialogProps } from '../../layouts';\nimport { JoinPanel, JoinPanelProps } from '../../panels';\n\nexport interface JoinDialogProps extends Omit<PanelAlertDialogProps, 'titleId' | 'children'>, JoinPanelProps {}\n\nexport const JoinDialog = ({ slots, ...joinPanelProps }: JoinDialogProps) => {\n const titleId = useId('joinDialog__title');\n return (\n <PanelAlertDialog {...{ slots, titleId }}>\n <ThemeContext.Provider value={{ themeVariant: 'os' }}>\n <JoinPanel\n {...{\n ...joinPanelProps,\n titleId,\n exitActionParent: <Cancel asChild />,\n doneActionParent: <Action asChild />\n }}\n />\n </ThemeContext.Provider>\n </PanelAlertDialog>\n );\n};\n", "//\n// Copyright 2022 DXOS.org\n//\n\nexport const os = {\n 'manage profile label': 'Manage identity',\n 'identity offline description': 'Offline',\n 'sidebar label': 'DXOS sidebar',\n 'copy invitation code label': 'Copy',\n 'open share panel label': 'Share',\n 'join space heading': '<small>Joining</small><large>{{spaceTitle}}</large>',\n 'exit label': 'Exit',\n 'identity selector title': 'Join as',\n 'identity radio group title': 'Select an identity you’ve associated with this device already',\n 'add identity label': 'Add',\n 'continue label': 'Continue',\n 'back label': 'Back',\n 'next label': 'Next',\n 'auth choices label': 'Choose an identity',\n 'create identity label': 'Create an identity',\n 'create identity description': 'Create a new identity.',\n 'recover identity label': 'Use a seed phrase',\n 'recover identity description': 'Enter your seed phrase to log in manually.',\n 'join identity label': 'Use an authed device',\n 'join identity description': 'Add this device to an identity you’re already logged into on another device.',\n 'deselect identity label': 'Back to identities',\n 'addition method selector title': 'Add an identity to this device',\n 'new identity input label': 'Add a display name',\n 'recover identity input label': 'Type or paste your seed phrase',\n 'failed to create identity message': 'Failed to create an identity.',\n 'failed to recover identity message': 'Failed to recover an identity from the provided seed phrase.',\n 'failed to authenticate message': 'Incorrect PIN.',\n 'identity added label': 'Created identity & added to this device:',\n 'join space as identity heading': '<part>as </part><part><icon/><label>{{labelValue}}</label></part>',\n 'error status label': 'Failed',\n 'timeout status label': 'Timed out',\n 'cancelled status label': 'Cancelled',\n 'init status label': 'Ready to connect',\n 'connecting status label': 'Connecting…',\n 'connected status label': 'Enter confirmation PIN',\n 'authenticating status label': 'Enter confirmation PIN',\n 'success status label': 'Success',\n 'connect label': 'Connect',\n 'reconnect label': 'Reconnect',\n 'cancel label': 'Cancel',\n 'done label': 'Done',\n 'reset label': 'Start over',\n 'pin input label': 'The PIN provided by the invitation sender',\n 'invitation input label': 'Paste an invitation code or URL'\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport * as enUS from './locales/en-US';\n\nexport const osTranslations = { 'en-US': enUS };\n"],
5
+ "mappings": "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",
6
+ "names": ["React", "SpaceMember", "Avatar", "useTranslation", "IdentityListItem", "identity", "presence", "t", "li", "className", "variant", "size", "fallbackValue", "identityKey", "toHex", "label", "p", "displayName", "truncate", "PresenceState", "OFFLINE", "status", "description", "ONLINE", "slots", "labels", "root", "React", "SpaceMemberList", "spaceMembers", "React", "ul", "className", "filter", "spaceMember", "profile", "map", "IdentityListItem", "key", "identityKey", "toHex", "identity", "presence", "React", "useMemo", "useClient", "useMembers", "SpaceMemberListContainer", "spaceKey", "includeSelf", "client", "useClient", "allUnsortedMembers", "useMembers", "spaceMembers", "useMemo", "sort", "a", "identityKey", "equals", "halo", "profile", "filter", "member", "React", "SpaceMemberList", "React", "Invitation", "getSize", "defaultSurface", "subduedSurface", "defaultArrow", "Invitation", "inactiveBgColor", "activeBgColor", "successBgColor", "errorBgColor", "cancelledBgColor", "inactiveTextColor", "activeTextColor", "successTextColor", "errorTextColor", "cancelledTextColor", "inactiveStrokeColor", "activeStrokeColor", "successStrokeColor", "errorStrokeColor", "cancelledStrokeColor", "resolvedStrokeColor", "status", "State", "ERROR", "CANCELLED", "TIMEOUT", "resolvedBgColor", "resolvedTextColor", "Invitation", "invitationStatusValue", "Map", "State", "ERROR", "TIMEOUT", "CANCELLED", "INIT", "CONNECTING", "CONNECTED", "AUTHENTICATING", "SUCCESS", "_extends", "svgSize", "strokeWidth", "radius", "circumference", "Math", "PI", "gap", "nSegments", "segment", "baseOffset", "circleProps", "fill", "strokeLinecap", "cx", "cy", "r", "strokeDasharray", "InvitationStatusAvatar", "size", "status", "haltedAt", "resolvedColor", "resolvedStrokeColor", "halted", "Invitation", "State", "CANCELLED", "TIMEOUT", "ERROR", "cursor", "invitationStatusValue", "get", "React", "svg", "viewBox", "className", "getSize", "Array", "map", "_", "index", "circle", "key", "strokeDashoffset", "activeStrokeColor", "inactiveStrokeColor", "AccordionPrimitive", "Copy", "ProhibitInset", "QrCode", "X", "QRCodeSVG", "React", "useCallback", "useInvitationStatus", "Button", "getSize", "mx", "useTranslation", "_extends", "InvitationListItem", "invitation", "value", "onClickRemove", "createInvitationUrl", "t", "useTranslation", "cancel", "status", "haltedAt", "invitationCode", "authenticationCode", "useInvitationStatus", "statusValue", "invitationStatusValue", "get", "isCancellable", "showShare", "showPin", "handleClickRemove", "useCallback", "invitationUrl", "handleCLickCopy", "navigator", "clipboard", "writeText", "React", "Item", "Header", "className", "InvitationStatusAvatar", "Trigger", "asChild", "Button", "span", "QrCode", "getSize", "weight", "p", "role", "variant", "compact", "onClick", "ProhibitInset", "X", "Content", "QRCodeSVG", "bgColor", "fgColor", "mx", "Copy", "React", "useCallback", "useSpace", "useSpaceInvitations", "Root", "AccordionRoot", "React", "_extends", "InvitationList", "invitations", "invitationProps", "React", "AccordionRoot", "type", "collapsible", "map", "invitation", "index", "value", "invitationId", "InvitationListItem", "key", "_extends", "InvitationListContainer", "spaceKey", "createInvitationUrl", "space", "useSpace", "invitations", "useSpaceInvitations", "onClickRemove", "useCallback", "invitation", "invitationId", "removeInvitation", "React", "InvitationList", "React", "mx", "_extends", "PanelSeparator", "className", "props", "span", "role", "React", "Avatar", "mx", "React", "mx", "Popover", "_extends", "PanelPopover", "slots", "children", "popoverProps", "React", "Popover", "arrow", "className", "mx", "defaultArrow", "content", "collisionPadding", "sideOffset", "defaultSurface", "trigger", "DialogPrimitive", "React", "createContext", "useCallback", "useContext", "useState", "defaultOverlay", "mx", "useMediaQuery", "useTranslation", "_extends", "PanelSidebarContext", "displayState", "setDisplayState", "useTogglePanelSidebar", "PanelSidebarProvider", "children", "slots", "t", "isLg", "ssr", "setInternalDisplayState", "isOpen", "transitionShow", "setTransitionShow", "domShow", "setDomShow", "internalHide", "setTimeout", "internalShow", "Provider", "value", "Root", "open", "modal", "Content", "onOpenAutoFocus", "event", "preventDefault", "onCloseAutoFocus", "content", "className", "Title", "Overlay", "onClick", "div", "role", "main", "AlertDialog", "React", "mx", "_extends", "PanelAlertDialog", "titleId", "slots", "children", "Root", "defaultOpen", "root", "trigger", "Trigger", "Overlay", "overlay", "className", "Content", "onEscapeKeyDown", "event", "preventDefault", "content", "aria-labelledby", "React", "useClient", "Avatar", "Button", "ThemeContext", "useTranslation", "IdentityPanel", "identity", "onClickManageProfile", "t", "client", "defaultManageProfile", "remoteSource", "URL", "config", "get", "tab", "window", "open", "origin", "focus", "Provider", "value", "themeVariant", "div", "className", "size", "variant", "fallbackValue", "identityKey", "toHex", "label", "displayName", "compact", "onClick", "React", "useEffect", "useReducer", "InvitationEncoder", "log", "useClient", "useIdentity", "useId", "ProhibitInset", "React", "cloneElement", "forwardRef", "useSpace", "Avatar", "Button", "getSize", "Heading", "mx", "Trans", "useId", "useTranslation", "_extends", "JoinHeading", "forwardRef", "titleId", "invitation", "onExit", "exitActionParent", "ref", "t", "useTranslation", "space", "useSpace", "spaceKey", "spaceTitle", "properties", "name", "nameId", "useId", "exitButton", "React", "Button", "compact", "variant", "onClick", "className", "ProhibitInset", "getSize", "span", "div", "role", "mx", "subduedSurface", "Avatar", "fallbackValue", "toHex", "labelId", "Heading", "level", "id", "Trans", "defaults", "components", "small", "large", "values", "cloneElement", "CaretLeft", "CaretRight", "Plus", "QrCode", "Textbox", "React", "Button", "CompoundButton", "getSize", "mx", "useTranslation", "CheckCircle", "HourglassSimple", "X", "React", "useMemo", "Invitation", "useInvitationStatus", "mx", "useTranslation", "Trans", "Avatar", "useId", "getSize", "strongShimmer", "_extends", "stripe", "mx", "getSize", "ViewStateHeading", "children", "className", "props", "React", "h2", "PureViewStateInvitation", "halted", "cursor", "label", "resolvedColor", "labelId", "useId", "div", "role", "defaultSurface", "aria-labelledby", "strongShimmer", "activeBgColor", "inactiveBgColor", "id", "ViewStateInvitationStatus", "activeInvitation", "t", "useTranslation", "status", "haltedAt", "useInvitationStatus", "Invitation", "State", "CANCELLED", "TIMEOUT", "ERROR", "invitationStatusValue", "get", "resolvedBgColor", "statusLabelMap", "useMemo", "Map", "X", "weight", "span", "HourglassSimple", "INIT", "CONNECTING", "CONNECTED", "AUTHENTICATING", "SUCCESS", "CheckCircle", "ViewState", "active", "dispatch", "selectedIdentity", "identityLabel", "subduedSurface", "Trans", "defaults", "components", "icon", "Avatar", "size", "fallbackValue", "identityKey", "toHex", "part", "values", "labelValue", "displayName", "truncate", "_extends", "AdditionMethodSelector", "availableIdentities", "viewStateProps", "disabled", "active", "dispatch", "t", "useTranslation", "sharedButtonProps", "after", "React", "CaretRight", "className", "getSize", "weight", "slots", "label", "ViewState", "ViewStateHeading", "div", "role", "CompoundButton", "description", "before", "Plus", "onClick", "type", "method", "data-autofocus", "QrCode", "Textbox", "Button", "length", "CaretLeft", "span", "mx", "CaretLeft", "CaretRight", "React", "Avatar", "Button", "getSize", "mx", "useTranslation", "_extends", "IdentityAdded", "addedIdentity", "viewStateProps", "disabled", "active", "dispatch", "t", "useTranslation", "React", "ViewState", "ViewStateHeading", "div", "role", "className", "Avatar", "size", "fallbackValue", "identityKey", "toHex", "label", "p", "mx", "displayName", "truncate", "variant", "status", "Button", "onClick", "type", "identity", "data-autofocus", "CaretLeft", "weight", "getSize", "span", "CaretRight", "RadioGroup", "CaretLeft", "CaretRight", "UserPlus", "React", "useCallback", "useState", "Avatar", "Button", "themeVariantFocus", "getSize", "mx", "useTranslation", "_extends", "IdentitySelector", "availableIdentities", "viewStateProps", "dispatch", "disabled", "active", "t", "useTranslation", "activeIdentity", "setActiveIdentity", "useState", "onValueChange", "useCallback", "nextHex", "find", "identity", "identityKey", "toHex", "React", "ViewState", "ViewStateHeading", "Root", "value", "className", "aria-label", "data-autofocus", "map", "displayName", "hex", "inputId", "labelId", "label", "htmlFor", "key", "Item", "id", "aria-labelledby", "mx", "themeVariantFocus", "Indicator", "div", "Avatar", "fallbackValue", "variant", "span", "truncate", "Button", "compact", "onClick", "type", "UserPlus", "weight", "getSize", "CaretLeft", "CaretRight", "CaretLeft", "CaretRight", "React", "useState", "useClient", "Button", "getSize", "Input", "mx", "useTranslation", "_extends", "IdentityInput", "method", "viewStateProps", "disabled", "active", "dispatch", "t", "useTranslation", "inputValue", "setInputValue", "useState", "client", "useClient", "validationMessage", "setValidationMessage", "isRecover", "handleNext", "halo", "createProfile", "then", "identity", "type", "_error", "React", "ViewState", "Input", "label", "ViewStateHeading", "onChange", "target", "value", "slots", "root", "className", "input", "onKeyUp", "key", "length", "validationValence", "div", "role", "Button", "onClick", "CaretLeft", "weight", "mx", "getSize", "span", "CaretRight", "CaretLeft", "Check", "React", "cloneElement", "useInvitationStatus", "Button", "getSize", "mx", "useTranslation", "_extends", "PureInvitationAcceptedContent", "onDone", "result", "invitationType", "doneActionParent", "active", "disabled", "t", "useTranslation", "doneButton", "React", "Button", "onClick", "className", "data-autofocus", "CaretLeft", "weight", "mx", "getSize", "span", "Check", "cloneElement", "InvitationAcceptedContent", "props", "useInvitationStatus", "activeInvitation", "InvitationAccepted", "_invitationType", "_doneActionParent", "_onDone", "viewStateProps", "ViewState", "CaretLeft", "CaretRight", "React", "useState", "InvitationEncoder", "useClient", "Button", "getSize", "Input", "mx", "useTranslation", "_extends", "InvitationInput", "invitationType", "viewStateProps", "client", "useClient", "disabled", "active", "dispatch", "t", "useTranslation", "inputValue", "setInputValue", "useState", "handleNext", "type", "from", "invitation", "acceptInvitation", "InvitationEncoder", "decode", "React", "ViewState", "Input", "label", "ViewStateHeading", "onChange", "target", "value", "slots", "root", "className", "input", "onKeyUp", "key", "div", "role", "Button", "onClick", "CaretLeft", "weight", "mx", "getSize", "span", "CaretRight", "ArrowsClockwise", "CaretLeft", "CaretRight", "React", "Invitation", "useInvitationStatus", "Button", "getSize", "mx", "useTranslation", "_extends", "InvitationActions", "activeInvitation", "disabled", "dispatch", "invitationType", "status", "cancel", "useInvitationStatus", "t", "useTranslation", "Invitation", "State", "CONNECTING", "React", "div", "role", "className", "Button", "CaretLeft", "weight", "mx", "getSize", "span", "CaretRight", "onClick", "data-autofocus", "TIMEOUT", "CANCELLED", "ERROR", "type", "from", "ArrowsClockwise", "InvitationRescuer", "viewStateProps", "active", "ViewState", "CaretLeft", "CaretRight", "React", "useCallback", "useState", "useInvitationStatus", "Button", "getSize", "Input", "mx", "useTranslation", "_extends", "pinLength", "PureInvitationAuthenticatorContent", "disabled", "failed", "dispatch", "invitationType", "onChange", "onAuthenticate", "t", "useTranslation", "React", "Input", "label", "size", "length", "slots", "root", "className", "description", "input", "inputMode", "pattern", "validationValence", "validationMessage", "div", "role", "Button", "onClick", "data-autofocus-pinlength", "CaretLeft", "weight", "mx", "getSize", "span", "CaretRight", "type", "from", "InvitationAuthenticatorContent", "invitation", "pinValue", "setPinValue", "useState", "authenticate", "useInvitationStatus", "useCallback", "target", "value", "document", "querySelector", "focus", "InvitationAuthenticator", "viewStateProps", "active", "activeInvitation", "ViewState", "_extends", "JoinPanel", "initialInvitationCode", "titleId", "propsTitleId", "exitActionParent", "onExit", "doneActionParent", "onDone", "client", "useClient", "internalTitleId", "useId", "identity", "useIdentity", "availableIdentities", "reducer", "state", "action", "nextState", "type", "activeView", "selectedIdentity", "method", "unredeemedHaloInvitationCode", "haloInvitation", "echo", "acceptInvitation", "InvitationEncoder", "decode", "undefined", "haloViewState", "additionMethod", "unredeemedSpaceInvitationCode", "spaceInvitation", "spaceViewState", "from", "invitation", "cancel", "haloInvitationAnnotation", "spaceInvitationAnnotation", "log", "debug", "joinState", "dispatch", "useReducer", "length", "useEffect", "attrValue", "$nextAutofocus", "document", "querySelector", "focus", "subscribe", "onAuthenticating", "onCancelled", "onConnected", "onError", "onSuccess", "onTimeout", "React", "JoinHeading", "div", "role", "className", "aria-live", "IdentitySelector", "active", "AdditionMethodSelector", "IdentityInput", "InvitationInput", "activeInvitation", "invitationType", "InvitationRescuer", "InvitationAuthenticator", "failed", "InvitationAccepted", "IdentityAdded", "addedIdentity", "_extends", "IdentityPopover", "identity", "openTrigger", "slots", "triggerIsInToolbar", "onClickManageProfile", "popoverProps", "React", "PanelPopover", "Avatar", "size", "variant", "fallbackValue", "identityKey", "toHex", "label", "displayName", "trigger", "className", "mx", "IdentityPanel", "Action", "Cancel", "React", "ThemeContext", "useId", "_extends", "JoinDialog", "slots", "joinPanelProps", "titleId", "useId", "React", "PanelAlertDialog", "ThemeContext", "Provider", "value", "themeVariant", "JoinPanel", "exitActionParent", "Cancel", "asChild", "doneActionParent", "Action", "os", "osTranslations", "enUS"]
7
7
  }
@@ -1 +1 @@
1
- {"inputs":{"packages/apps/patterns/react-ui/src/styles/panelStyles.ts":{"bytes":831,"imports":[]},"packages/apps/patterns/react-ui/src/styles/index.ts":{"bytes":387,"imports":[{"path":"packages/apps/patterns/react-ui/src/styles/panelStyles.ts","kind":"import-statement","original":"./panelStyles"}]},"packages/apps/patterns/react-ui/src/layouts/PanelPopover/PanelPopover.tsx":{"bytes":4042,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-components","kind":"import-statement","external":true},{"path":"packages/apps/patterns/react-ui/src/styles/index.ts","kind":"import-statement","original":"../../styles"}]},"packages/apps/patterns/react-ui/src/layouts/PanelPopover/index.ts":{"bytes":388,"imports":[{"path":"packages/apps/patterns/react-ui/src/layouts/PanelPopover/PanelPopover.tsx","kind":"import-statement","original":"./PanelPopover"}]},"packages/apps/patterns/react-ui/src/layouts/PanelSidebar/PanelSidebar.tsx":{"bytes":12446,"imports":[{"path":"@radix-ui/react-dialog","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-components","kind":"import-statement","external":true}]},"packages/apps/patterns/react-ui/src/layouts/PanelSidebar/index.ts":{"bytes":388,"imports":[{"path":"packages/apps/patterns/react-ui/src/layouts/PanelSidebar/PanelSidebar.tsx","kind":"import-statement","original":"./PanelSidebar"}]},"packages/apps/patterns/react-ui/src/layouts/index.ts":{"bytes":488,"imports":[{"path":"packages/apps/patterns/react-ui/src/layouts/PanelPopover/index.ts","kind":"import-statement","original":"./PanelPopover"},{"path":"packages/apps/patterns/react-ui/src/layouts/PanelSidebar/index.ts","kind":"import-statement","original":"./PanelSidebar"}]},"packages/apps/patterns/react-ui/src/panels/IdentityPanel/IdentityPanel.tsx":{"bytes":4491,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"@dxos/react-components","kind":"import-statement","external":true}]},"packages/apps/patterns/react-ui/src/panels/IdentityPanel/index.ts":{"bytes":389,"imports":[{"path":"packages/apps/patterns/react-ui/src/panels/IdentityPanel/IdentityPanel.tsx","kind":"import-statement","original":"./IdentityPanel"}]},"packages/apps/patterns/react-ui/src/panels/index.ts":{"bytes":389,"imports":[{"path":"packages/apps/patterns/react-ui/src/panels/IdentityPanel/index.ts","kind":"import-statement","original":"./IdentityPanel"}]},"packages/apps/patterns/react-ui/src/composites/IdentityPopover/IdentityPopover.tsx":{"bytes":4772,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-components","kind":"import-statement","external":true},{"path":"packages/apps/patterns/react-ui/src/layouts/index.ts","kind":"import-statement","original":"../../layouts"},{"path":"packages/apps/patterns/react-ui/src/panels/index.ts","kind":"import-statement","original":"../../panels"}]},"packages/apps/patterns/react-ui/src/composites/IdentityPopover/index.ts":{"bytes":395,"imports":[{"path":"packages/apps/patterns/react-ui/src/composites/IdentityPopover/IdentityPopover.tsx","kind":"import-statement","original":"./IdentityPopover"}]},"packages/apps/patterns/react-ui/src/composites/index.ts":{"bytes":391,"imports":[{"path":"packages/apps/patterns/react-ui/src/composites/IdentityPopover/index.ts","kind":"import-statement","original":"./IdentityPopover"}]},"packages/apps/patterns/react-ui/src/translations/locales/en-US.ts":{"bytes":745,"imports":[]},"packages/apps/patterns/react-ui/src/translations/index.ts":{"bytes":630,"imports":[{"path":"packages/apps/patterns/react-ui/src/translations/locales/en-US.ts","kind":"import-statement","original":"./locales/en-US"}]},"packages/apps/patterns/react-ui/src/index.ts":{"bytes":733,"imports":[{"path":"packages/apps/patterns/react-ui/src/composites/index.ts","kind":"import-statement","original":"./composites"},{"path":"packages/apps/patterns/react-ui/src/layouts/index.ts","kind":"import-statement","original":"./layouts"},{"path":"packages/apps/patterns/react-ui/src/panels/index.ts","kind":"import-statement","original":"./panels"},{"path":"packages/apps/patterns/react-ui/src/styles/index.ts","kind":"import-statement","original":"./styles"},{"path":"packages/apps/patterns/react-ui/src/translations/index.ts","kind":"import-statement","original":"./translations"}]}},"outputs":{"packages/apps/patterns/react-ui/dist/lib/browser/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":14211},"packages/apps/patterns/react-ui/dist/lib/browser/index.mjs":{"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-components","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-components","kind":"import-statement","external":true},{"path":"@radix-ui/react-dialog","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-components","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"@dxos/react-components","kind":"import-statement","external":true}],"exports":["IdentityPanel","IdentityPopover","PanelPopover","PanelSidebarContext","PanelSidebarProvider","defaultArrow","defaultPanel","osTranslations","useTogglePanelSidebar"],"entryPoint":"packages/apps/patterns/react-ui/src/index.ts","inputs":{"packages/apps/patterns/react-ui/src/composites/IdentityPopover/IdentityPopover.tsx":{"bytesInOutput":1444},"packages/apps/patterns/react-ui/src/layouts/PanelPopover/PanelPopover.tsx":{"bytesInOutput":1286},"packages/apps/patterns/react-ui/src/styles/panelStyles.ts":{"bytesInOutput":161},"packages/apps/patterns/react-ui/src/styles/index.ts":{"bytesInOutput":0},"packages/apps/patterns/react-ui/src/layouts/PanelPopover/index.ts":{"bytesInOutput":0},"packages/apps/patterns/react-ui/src/layouts/index.ts":{"bytesInOutput":0},"packages/apps/patterns/react-ui/src/layouts/PanelSidebar/PanelSidebar.tsx":{"bytesInOutput":3698},"packages/apps/patterns/react-ui/src/layouts/PanelSidebar/index.ts":{"bytesInOutput":0},"packages/apps/patterns/react-ui/src/panels/IdentityPanel/IdentityPanel.tsx":{"bytesInOutput":1256},"packages/apps/patterns/react-ui/src/panels/IdentityPanel/index.ts":{"bytesInOutput":0},"packages/apps/patterns/react-ui/src/panels/index.ts":{"bytesInOutput":0},"packages/apps/patterns/react-ui/src/composites/IdentityPopover/index.ts":{"bytesInOutput":0},"packages/apps/patterns/react-ui/src/composites/index.ts":{"bytesInOutput":0},"packages/apps/patterns/react-ui/src/index.ts":{"bytesInOutput":0},"packages/apps/patterns/react-ui/src/translations/locales/en-US.ts":{"bytesInOutput":207},"packages/apps/patterns/react-ui/src/translations/index.ts":{"bytesInOutput":51}},"bytes":9171}}}
1
+ {"inputs":{"packages/apps/patterns/react-ui/src/components/IdentityList/IdentityListItem.tsx":{"bytes":4868,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client","kind":"import-statement","external":true},{"path":"@dxos/react-components","kind":"import-statement","external":true}]},"packages/apps/patterns/react-ui/src/components/IdentityList/SpaceMemberList.tsx":{"bytes":2463,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"packages/apps/patterns/react-ui/src/components/IdentityList/IdentityListItem.tsx","kind":"import-statement","original":"./IdentityListItem"}]},"packages/apps/patterns/react-ui/src/components/IdentityList/SpaceMemberListContainer.tsx":{"bytes":3182,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"packages/apps/patterns/react-ui/src/components/IdentityList/SpaceMemberList.tsx","kind":"import-statement","original":"./SpaceMemberList"}]},"packages/apps/patterns/react-ui/src/components/IdentityList/index.ts":{"bytes":631,"imports":[{"path":"packages/apps/patterns/react-ui/src/components/IdentityList/IdentityListItem.tsx","kind":"import-statement","original":"./IdentityListItem"},{"path":"packages/apps/patterns/react-ui/src/components/IdentityList/SpaceMemberList.tsx","kind":"import-statement","original":"./SpaceMemberList"},{"path":"packages/apps/patterns/react-ui/src/components/IdentityList/SpaceMemberListContainer.tsx","kind":"import-statement","original":"./SpaceMemberListContainer"}]},"packages/apps/patterns/react-ui/src/styles/panelStyles.ts":{"bytes":1044,"imports":[]},"packages/apps/patterns/react-ui/src/styles/invitationStatusStyles.ts":{"bytes":6563,"imports":[{"path":"@dxos/client","kind":"import-statement","external":true}]},"packages/apps/patterns/react-ui/src/styles/index.ts":{"bytes":509,"imports":[{"path":"packages/apps/patterns/react-ui/src/styles/panelStyles.ts","kind":"import-statement","original":"./panelStyles"},{"path":"packages/apps/patterns/react-ui/src/styles/invitationStatusStyles.ts","kind":"import-statement","original":"./invitationStatusStyles"}]},"packages/apps/patterns/react-ui/src/util/invitationStatusValue.ts":{"bytes":2689,"imports":[{"path":"@dxos/client","kind":"import-statement","external":true}]},"packages/apps/patterns/react-ui/src/util/index.ts":{"bytes":409,"imports":[{"path":"packages/apps/patterns/react-ui/src/util/invitationStatusValue.ts","kind":"import-statement","original":"./invitationStatusValue"}]},"packages/apps/patterns/react-ui/src/components/InvitationList/InvitationStatusAvatar.tsx":{"bytes":8081,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client","kind":"import-statement","external":true},{"path":"@dxos/react-components","kind":"import-statement","external":true},{"path":"packages/apps/patterns/react-ui/src/styles/index.ts","kind":"import-statement","original":"../../styles"},{"path":"packages/apps/patterns/react-ui/src/util/index.ts","kind":"import-statement","original":"../../util"}]},"packages/apps/patterns/react-ui/src/components/InvitationList/InvitationListItem.tsx":{"bytes":12799,"imports":[{"path":"@radix-ui/react-accordion","kind":"import-statement","external":true},{"path":"phosphor-react","kind":"import-statement","external":true},{"path":"qrcode.react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"@dxos/react-components","kind":"import-statement","external":true},{"path":"packages/apps/patterns/react-ui/src/util/index.ts","kind":"import-statement","original":"../../util"},{"path":"packages/apps/patterns/react-ui/src/components/InvitationList/InvitationStatusAvatar.tsx","kind":"import-statement","original":"./InvitationStatusAvatar"}]},"packages/apps/patterns/react-ui/src/components/InvitationList/InvitationList.tsx":{"bytes":3312,"imports":[{"path":"@radix-ui/react-accordion","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"packages/apps/patterns/react-ui/src/components/InvitationList/InvitationListItem.tsx","kind":"import-statement","original":"./InvitationListItem"}]},"packages/apps/patterns/react-ui/src/components/InvitationList/InvitationListContainer.tsx":{"bytes":3590,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"packages/apps/patterns/react-ui/src/components/InvitationList/InvitationList.tsx","kind":"import-statement","original":"./InvitationList"}]},"packages/apps/patterns/react-ui/src/components/InvitationList/index.ts":{"bytes":757,"imports":[{"path":"packages/apps/patterns/react-ui/src/components/InvitationList/InvitationStatusAvatar.tsx","kind":"import-statement","original":"./InvitationStatusAvatar"},{"path":"packages/apps/patterns/react-ui/src/components/InvitationList/InvitationListItem.tsx","kind":"import-statement","original":"./InvitationListItem"},{"path":"packages/apps/patterns/react-ui/src/components/InvitationList/InvitationListContainer.tsx","kind":"import-statement","original":"./InvitationListContainer"},{"path":"packages/apps/patterns/react-ui/src/components/InvitationList/InvitationList.tsx","kind":"import-statement","original":"./InvitationList"}]},"packages/apps/patterns/react-ui/src/components/PanelSeparator/PanelSeparator.tsx":{"bytes":1913,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-components","kind":"import-statement","external":true}]},"packages/apps/patterns/react-ui/src/components/PanelSeparator/index.ts":{"bytes":394,"imports":[{"path":"packages/apps/patterns/react-ui/src/components/PanelSeparator/PanelSeparator.tsx","kind":"import-statement","original":"./PanelSeparator"}]},"packages/apps/patterns/react-ui/src/components/index.ts":{"bytes":596,"imports":[{"path":"packages/apps/patterns/react-ui/src/components/IdentityList/index.ts","kind":"import-statement","original":"./IdentityList"},{"path":"packages/apps/patterns/react-ui/src/components/InvitationList/index.ts","kind":"import-statement","original":"./InvitationList"},{"path":"packages/apps/patterns/react-ui/src/components/PanelSeparator/index.ts","kind":"import-statement","original":"./PanelSeparator"}]},"packages/apps/patterns/react-ui/src/layouts/PanelPopover/PanelPopover.tsx":{"bytes":4058,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-components","kind":"import-statement","external":true},{"path":"packages/apps/patterns/react-ui/src/styles/index.ts","kind":"import-statement","original":"../../styles"}]},"packages/apps/patterns/react-ui/src/layouts/PanelPopover/index.ts":{"bytes":388,"imports":[{"path":"packages/apps/patterns/react-ui/src/layouts/PanelPopover/PanelPopover.tsx","kind":"import-statement","original":"./PanelPopover"}]},"packages/apps/patterns/react-ui/src/layouts/PanelSidebar/PanelSidebar.tsx":{"bytes":12025,"imports":[{"path":"@radix-ui/react-dialog","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-components","kind":"import-statement","external":true}]},"packages/apps/patterns/react-ui/src/layouts/PanelSidebar/index.ts":{"bytes":388,"imports":[{"path":"packages/apps/patterns/react-ui/src/layouts/PanelSidebar/PanelSidebar.tsx","kind":"import-statement","original":"./PanelSidebar"}]},"packages/apps/patterns/react-ui/src/layouts/PanelAlertDialog/PanelAlertDialog.tsx":{"bytes":4761,"imports":[{"path":"@radix-ui/react-alert-dialog","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-components","kind":"import-statement","external":true}]},"packages/apps/patterns/react-ui/src/layouts/PanelAlertDialog/index.ts":{"bytes":396,"imports":[{"path":"packages/apps/patterns/react-ui/src/layouts/PanelAlertDialog/PanelAlertDialog.tsx","kind":"import-statement","original":"./PanelAlertDialog"}]},"packages/apps/patterns/react-ui/src/layouts/index.ts":{"bytes":596,"imports":[{"path":"packages/apps/patterns/react-ui/src/layouts/PanelPopover/index.ts","kind":"import-statement","original":"./PanelPopover"},{"path":"packages/apps/patterns/react-ui/src/layouts/PanelSidebar/index.ts","kind":"import-statement","original":"./PanelSidebar"},{"path":"packages/apps/patterns/react-ui/src/layouts/PanelAlertDialog/index.ts","kind":"import-statement","original":"./PanelAlertDialog"}]},"packages/apps/patterns/react-ui/src/panels/IdentityPanel/IdentityPanel.tsx":{"bytes":4491,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"@dxos/react-components","kind":"import-statement","external":true}]},"packages/apps/patterns/react-ui/src/panels/IdentityPanel/index.ts":{"bytes":389,"imports":[{"path":"packages/apps/patterns/react-ui/src/panels/IdentityPanel/IdentityPanel.tsx","kind":"import-statement","original":"./IdentityPanel"}]},"packages/apps/patterns/react-ui/src/panels/JoinPanel/JoinHeading.tsx":{"bytes":7963,"imports":[{"path":"phosphor-react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"@dxos/react-components","kind":"import-statement","external":true},{"path":"packages/apps/patterns/react-ui/src/styles/index.ts","kind":"import-statement","original":"../../styles"}]},"packages/apps/patterns/react-ui/src/panels/JoinPanel/view-states/ViewState.tsx":{"bytes":22546,"imports":[{"path":"phosphor-react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"@dxos/react-components","kind":"import-statement","external":true},{"path":"packages/apps/patterns/react-ui/src/styles/index.ts","kind":"import-statement","original":"../../../styles"},{"path":"packages/apps/patterns/react-ui/src/util/index.ts","kind":"import-statement","original":"../../../util"}]},"packages/apps/patterns/react-ui/src/panels/JoinPanel/view-states/AdditionMethodSelector.tsx":{"bytes":9374,"imports":[{"path":"phosphor-react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-components","kind":"import-statement","external":true},{"path":"packages/apps/patterns/react-ui/src/panels/JoinPanel/view-states/ViewState.tsx","kind":"import-statement","original":"./ViewState"}]},"packages/apps/patterns/react-ui/src/panels/JoinPanel/view-states/IdentityAdded.tsx":{"bytes":7942,"imports":[{"path":"phosphor-react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-components","kind":"import-statement","external":true},{"path":"packages/apps/patterns/react-ui/src/panels/JoinPanel/view-states/ViewState.tsx","kind":"import-statement","original":"./ViewState"}]},"packages/apps/patterns/react-ui/src/panels/JoinPanel/view-states/IdentitySelector.tsx":{"bytes":12882,"imports":[{"path":"@radix-ui/react-radio-group","kind":"import-statement","external":true},{"path":"phosphor-react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-components","kind":"import-statement","external":true},{"path":"packages/apps/patterns/react-ui/src/panels/JoinPanel/view-states/ViewState.tsx","kind":"import-statement","original":"./ViewState"}]},"packages/apps/patterns/react-ui/src/panels/JoinPanel/view-states/IdentityInput.tsx":{"bytes":10263,"imports":[{"path":"phosphor-react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"@dxos/react-components","kind":"import-statement","external":true},{"path":"packages/apps/patterns/react-ui/src/panels/JoinPanel/view-states/ViewState.tsx","kind":"import-statement","original":"./ViewState"}]},"packages/apps/patterns/react-ui/src/panels/JoinPanel/view-states/InvitationAccepted.tsx":{"bytes":7833,"imports":[{"path":"phosphor-react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"@dxos/react-components","kind":"import-statement","external":true},{"path":"packages/apps/patterns/react-ui/src/panels/JoinPanel/view-states/ViewState.tsx","kind":"import-statement","original":"./ViewState"}]},"packages/apps/patterns/react-ui/src/panels/JoinPanel/view-states/InvitationInput.tsx":{"bytes":9138,"imports":[{"path":"phosphor-react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"@dxos/react-components","kind":"import-statement","external":true},{"path":"packages/apps/patterns/react-ui/src/panels/JoinPanel/view-states/ViewState.tsx","kind":"import-statement","original":"./ViewState"}]},"packages/apps/patterns/react-ui/src/panels/JoinPanel/view-states/InvitationRescuer.tsx":{"bytes":12240,"imports":[{"path":"phosphor-react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"@dxos/react-components","kind":"import-statement","external":true},{"path":"packages/apps/patterns/react-ui/src/panels/JoinPanel/view-states/ViewState.tsx","kind":"import-statement","original":"./ViewState"}]},"packages/apps/patterns/react-ui/src/panels/JoinPanel/view-states/InvitationAuthenticator.tsx":{"bytes":15040,"imports":[{"path":"phosphor-react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"@dxos/react-components","kind":"import-statement","external":true},{"path":"packages/apps/patterns/react-ui/src/panels/JoinPanel/view-states/ViewState.tsx","kind":"import-statement","original":"./ViewState"}]},"packages/apps/patterns/react-ui/src/panels/JoinPanel/view-states/index.ts":{"bytes":1185,"imports":[{"path":"packages/apps/patterns/react-ui/src/panels/JoinPanel/view-states/AdditionMethodSelector.tsx","kind":"import-statement","original":"./AdditionMethodSelector"},{"path":"packages/apps/patterns/react-ui/src/panels/JoinPanel/view-states/IdentityAdded.tsx","kind":"import-statement","original":"./IdentityAdded"},{"path":"packages/apps/patterns/react-ui/src/panels/JoinPanel/view-states/IdentitySelector.tsx","kind":"import-statement","original":"./IdentitySelector"},{"path":"packages/apps/patterns/react-ui/src/panels/JoinPanel/view-states/IdentityInput.tsx","kind":"import-statement","original":"./IdentityInput"},{"path":"packages/apps/patterns/react-ui/src/panels/JoinPanel/view-states/InvitationAccepted.tsx","kind":"import-statement","original":"./InvitationAccepted"},{"path":"packages/apps/patterns/react-ui/src/panels/JoinPanel/view-states/InvitationInput.tsx","kind":"import-statement","original":"./InvitationInput"},{"path":"packages/apps/patterns/react-ui/src/panels/JoinPanel/view-states/InvitationRescuer.tsx","kind":"import-statement","original":"./InvitationRescuer"},{"path":"packages/apps/patterns/react-ui/src/panels/JoinPanel/view-states/InvitationAuthenticator.tsx","kind":"import-statement","original":"./InvitationAuthenticator"}]},"packages/apps/patterns/react-ui/src/panels/JoinPanel/JoinPanel.tsx":{"bytes":41236,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"@dxos/react-components","kind":"import-statement","external":true},{"path":"packages/apps/patterns/react-ui/src/panels/JoinPanel/JoinHeading.tsx","kind":"import-statement","original":"./JoinHeading"},{"path":"packages/apps/patterns/react-ui/src/panels/JoinPanel/view-states/index.ts","kind":"import-statement","original":"./view-states"}]},"packages/apps/patterns/react-ui/src/panels/JoinPanel/JoinPanelProps.ts":{"bytes":3992,"imports":[]},"packages/apps/patterns/react-ui/src/panels/JoinPanel/index.ts":{"bytes":483,"imports":[{"path":"packages/apps/patterns/react-ui/src/panels/JoinPanel/JoinPanel.tsx","kind":"import-statement","original":"./JoinPanel"},{"path":"packages/apps/patterns/react-ui/src/panels/JoinPanel/JoinPanelProps.ts","kind":"import-statement","original":"./JoinPanelProps"}]},"packages/apps/patterns/react-ui/src/panels/index.ts":{"bytes":482,"imports":[{"path":"packages/apps/patterns/react-ui/src/panels/IdentityPanel/index.ts","kind":"import-statement","original":"./IdentityPanel"},{"path":"packages/apps/patterns/react-ui/src/panels/JoinPanel/index.ts","kind":"import-statement","original":"./JoinPanel"}]},"packages/apps/patterns/react-ui/src/composites/IdentityPopover/IdentityPopover.tsx":{"bytes":4772,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-components","kind":"import-statement","external":true},{"path":"packages/apps/patterns/react-ui/src/layouts/index.ts","kind":"import-statement","original":"../../layouts"},{"path":"packages/apps/patterns/react-ui/src/panels/index.ts","kind":"import-statement","original":"../../panels"}]},"packages/apps/patterns/react-ui/src/composites/IdentityPopover/index.ts":{"bytes":395,"imports":[{"path":"packages/apps/patterns/react-ui/src/composites/IdentityPopover/IdentityPopover.tsx","kind":"import-statement","original":"./IdentityPopover"}]},"packages/apps/patterns/react-ui/src/composites/JoinDialog/JoinDialog.tsx":{"bytes":3856,"imports":[{"path":"@radix-ui/react-alert-dialog","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-components","kind":"import-statement","external":true},{"path":"packages/apps/patterns/react-ui/src/layouts/index.ts","kind":"import-statement","original":"../../layouts"},{"path":"packages/apps/patterns/react-ui/src/panels/index.ts","kind":"import-statement","original":"../../panels"}]},"packages/apps/patterns/react-ui/src/composites/JoinDialog/index.ts":{"bytes":382,"imports":[{"path":"packages/apps/patterns/react-ui/src/composites/JoinDialog/JoinDialog.tsx","kind":"import-statement","original":"./JoinDialog"}]},"packages/apps/patterns/react-ui/src/composites/index.ts":{"bytes":485,"imports":[{"path":"packages/apps/patterns/react-ui/src/composites/IdentityPopover/index.ts","kind":"import-statement","original":"./IdentityPopover"},{"path":"packages/apps/patterns/react-ui/src/composites/JoinDialog/index.ts","kind":"import-statement","original":"./JoinDialog"}]},"packages/apps/patterns/react-ui/src/translations/locales/en-US.ts":{"bytes":6589,"imports":[]},"packages/apps/patterns/react-ui/src/translations/index.ts":{"bytes":630,"imports":[{"path":"packages/apps/patterns/react-ui/src/translations/locales/en-US.ts","kind":"import-statement","original":"./locales/en-US"}]},"packages/apps/patterns/react-ui/src/index.ts":{"bytes":827,"imports":[{"path":"packages/apps/patterns/react-ui/src/components/index.ts","kind":"import-statement","original":"./components"},{"path":"packages/apps/patterns/react-ui/src/composites/index.ts","kind":"import-statement","original":"./composites"},{"path":"packages/apps/patterns/react-ui/src/layouts/index.ts","kind":"import-statement","original":"./layouts"},{"path":"packages/apps/patterns/react-ui/src/panels/index.ts","kind":"import-statement","original":"./panels"},{"path":"packages/apps/patterns/react-ui/src/styles/index.ts","kind":"import-statement","original":"./styles"},{"path":"packages/apps/patterns/react-ui/src/translations/index.ts","kind":"import-statement","original":"./translations"}]}},"outputs":{"packages/apps/patterns/react-ui/dist/lib/browser/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":126282},"packages/apps/patterns/react-ui/dist/lib/browser/index.mjs":{"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client","kind":"import-statement","external":true},{"path":"@dxos/react-components","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client","kind":"import-statement","external":true},{"path":"@dxos/react-components","kind":"import-statement","external":true},{"path":"@dxos/client","kind":"import-statement","external":true},{"path":"@dxos/client","kind":"import-statement","external":true},{"path":"@radix-ui/react-accordion","kind":"import-statement","external":true},{"path":"phosphor-react","kind":"import-statement","external":true},{"path":"qrcode.react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"@dxos/react-components","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"@radix-ui/react-accordion","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-components","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-components","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-components","kind":"import-statement","external":true},{"path":"@radix-ui/react-dialog","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-components","kind":"import-statement","external":true},{"path":"@radix-ui/react-alert-dialog","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-components","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"@dxos/react-components","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"@dxos/react-components","kind":"import-statement","external":true},{"path":"phosphor-react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"@dxos/react-components","kind":"import-statement","external":true},{"path":"phosphor-react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-components","kind":"import-statement","external":true},{"path":"phosphor-react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"@dxos/react-components","kind":"import-statement","external":true},{"path":"phosphor-react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-components","kind":"import-statement","external":true},{"path":"@radix-ui/react-radio-group","kind":"import-statement","external":true},{"path":"phosphor-react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-components","kind":"import-statement","external":true},{"path":"phosphor-react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"@dxos/react-components","kind":"import-statement","external":true},{"path":"phosphor-react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"@dxos/react-components","kind":"import-statement","external":true},{"path":"phosphor-react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"@dxos/react-components","kind":"import-statement","external":true},{"path":"phosphor-react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"@dxos/react-components","kind":"import-statement","external":true},{"path":"phosphor-react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"@dxos/react-components","kind":"import-statement","external":true},{"path":"@radix-ui/react-alert-dialog","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-components","kind":"import-statement","external":true}],"exports":["IdentityListItem","IdentityPanel","IdentityPopover","InvitationList","InvitationListContainer","InvitationListItem","InvitationStatusAvatar","JoinDialog","JoinPanel","PanelAlertDialog","PanelPopover","PanelSeparator","PanelSidebarContext","PanelSidebarProvider","SpaceMemberList","SpaceMemberListContainer","activeBgColor","activeStrokeColor","activeTextColor","cancelledBgColor","cancelledStrokeColor","cancelledTextColor","defaultArrow","defaultSurface","errorBgColor","errorStrokeColor","errorTextColor","inactiveBgColor","inactiveStrokeColor","inactiveTextColor","osTranslations","resolvedBgColor","resolvedStrokeColor","resolvedTextColor","subduedSurface","successBgColor","successStrokeColor","successTextColor","useTogglePanelSidebar"],"entryPoint":"packages/apps/patterns/react-ui/src/index.ts","inputs":{"packages/apps/patterns/react-ui/src/components/IdentityList/IdentityListItem.tsx":{"bytesInOutput":1563},"packages/apps/patterns/react-ui/src/components/IdentityList/index.ts":{"bytesInOutput":0},"packages/apps/patterns/react-ui/src/components/IdentityList/SpaceMemberList.tsx":{"bytesInOutput":455},"packages/apps/patterns/react-ui/src/components/IdentityList/SpaceMemberListContainer.tsx":{"bytesInOutput":616},"packages/apps/patterns/react-ui/src/components/index.ts":{"bytesInOutput":0},"packages/apps/patterns/react-ui/src/components/InvitationList/InvitationStatusAvatar.tsx":{"bytesInOutput":1965},"packages/apps/patterns/react-ui/src/styles/panelStyles.ts":{"bytesInOutput":213},"packages/apps/patterns/react-ui/src/styles/index.ts":{"bytesInOutput":0},"packages/apps/patterns/react-ui/src/styles/invitationStatusStyles.ts":{"bytesInOutput":1627},"packages/apps/patterns/react-ui/src/util/invitationStatusValue.ts":{"bytesInOutput":495},"packages/apps/patterns/react-ui/src/util/index.ts":{"bytesInOutput":0},"packages/apps/patterns/react-ui/src/components/InvitationList/index.ts":{"bytesInOutput":0},"packages/apps/patterns/react-ui/src/components/InvitationList/InvitationListItem.tsx":{"bytesInOutput":3952},"packages/apps/patterns/react-ui/src/components/InvitationList/InvitationListContainer.tsx":{"bytesInOutput":1042},"packages/apps/patterns/react-ui/src/components/InvitationList/InvitationList.tsx":{"bytesInOutput":992},"packages/apps/patterns/react-ui/src/components/PanelSeparator/PanelSeparator.tsx":{"bytesInOutput":713},"packages/apps/patterns/react-ui/src/components/PanelSeparator/index.ts":{"bytesInOutput":0},"packages/apps/patterns/react-ui/src/index.ts":{"bytesInOutput":0},"packages/apps/patterns/react-ui/src/composites/IdentityPopover/IdentityPopover.tsx":{"bytesInOutput":1455},"packages/apps/patterns/react-ui/src/layouts/PanelPopover/PanelPopover.tsx":{"bytesInOutput":1304},"packages/apps/patterns/react-ui/src/layouts/PanelPopover/index.ts":{"bytesInOutput":0},"packages/apps/patterns/react-ui/src/layouts/index.ts":{"bytesInOutput":0},"packages/apps/patterns/react-ui/src/layouts/PanelSidebar/PanelSidebar.tsx":{"bytesInOutput":3466},"packages/apps/patterns/react-ui/src/layouts/PanelSidebar/index.ts":{"bytesInOutput":0},"packages/apps/patterns/react-ui/src/layouts/PanelAlertDialog/PanelAlertDialog.tsx":{"bytesInOutput":1430},"packages/apps/patterns/react-ui/src/layouts/PanelAlertDialog/index.ts":{"bytesInOutput":0},"packages/apps/patterns/react-ui/src/panels/IdentityPanel/IdentityPanel.tsx":{"bytesInOutput":1300},"packages/apps/patterns/react-ui/src/panels/IdentityPanel/index.ts":{"bytesInOutput":0},"packages/apps/patterns/react-ui/src/panels/index.ts":{"bytesInOutput":0},"packages/apps/patterns/react-ui/src/panels/JoinPanel/JoinPanel.tsx":{"bytesInOutput":12341},"packages/apps/patterns/react-ui/src/panels/JoinPanel/JoinHeading.tsx":{"bytesInOutput":2767},"packages/apps/patterns/react-ui/src/panels/JoinPanel/view-states/AdditionMethodSelector.tsx":{"bytesInOutput":3109},"packages/apps/patterns/react-ui/src/panels/JoinPanel/view-states/ViewState.tsx":{"bytesInOutput":6756},"packages/apps/patterns/react-ui/src/panels/JoinPanel/view-states/index.ts":{"bytesInOutput":0},"packages/apps/patterns/react-ui/src/panels/JoinPanel/view-states/IdentityAdded.tsx":{"bytesInOutput":2865},"packages/apps/patterns/react-ui/src/panels/JoinPanel/view-states/IdentitySelector.tsx":{"bytesInOutput":4118},"packages/apps/patterns/react-ui/src/panels/JoinPanel/view-states/IdentityInput.tsx":{"bytesInOutput":3243},"packages/apps/patterns/react-ui/src/panels/JoinPanel/view-states/InvitationAccepted.tsx":{"bytesInOutput":2412},"packages/apps/patterns/react-ui/src/panels/JoinPanel/view-states/InvitationInput.tsx":{"bytesInOutput":2924},"packages/apps/patterns/react-ui/src/panels/JoinPanel/view-states/InvitationRescuer.tsx":{"bytesInOutput":4120},"packages/apps/patterns/react-ui/src/panels/JoinPanel/view-states/InvitationAuthenticator.tsx":{"bytesInOutput":4492},"packages/apps/patterns/react-ui/src/panels/JoinPanel/index.ts":{"bytesInOutput":0},"packages/apps/patterns/react-ui/src/composites/IdentityPopover/index.ts":{"bytesInOutput":0},"packages/apps/patterns/react-ui/src/composites/index.ts":{"bytesInOutput":0},"packages/apps/patterns/react-ui/src/composites/JoinDialog/JoinDialog.tsx":{"bytesInOutput":1199},"packages/apps/patterns/react-ui/src/composites/JoinDialog/index.ts":{"bytesInOutput":0},"packages/apps/patterns/react-ui/src/translations/locales/en-US.ts":{"bytesInOutput":2366},"packages/apps/patterns/react-ui/src/translations/index.ts":{"bytesInOutput":51}},"bytes":79273}}}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IdentityListItem.d.ts","sourceRoot":"","sources":["../../../../../src/components/IdentityList/IdentityListItem.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAGpD,eAAO,MAAM,gBAAgB;cAAwC,OAAO;;iBAwB3E,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IdentityListItem.stories.d.ts","sourceRoot":"","sources":["../../../../../src/components/IdentityList/IdentityListItem.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,YAAY,CAAC;;;;;;;AAIpB,wBAEE;AAEF,eAAO,MAAM,OAAO;;;;;;;;;;CAUnB,CAAC"}
@@ -0,0 +1,6 @@
1
+ import type { SpaceMember } from '@dxos/client';
2
+ export interface SpaceMemberListProps {
3
+ spaceMembers: SpaceMember[];
4
+ }
5
+ export declare const SpaceMemberList: ({ spaceMembers }: SpaceMemberListProps) => JSX.Element;
6
+ //# sourceMappingURL=SpaceMemberList.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SpaceMemberList.d.ts","sourceRoot":"","sources":["../../../../../src/components/IdentityList/SpaceMemberList.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAIhD,MAAM,WAAW,oBAAoB;IACnC,YAAY,EAAE,WAAW,EAAE,CAAC;CAC7B;AAED,eAAO,MAAM,eAAe,qBAAsB,oBAAoB,gBAgBrE,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { PublicKey } from '@dxos/keys';
2
+ export interface SpaceMemberListContainerProps {
3
+ spaceKey: PublicKey;
4
+ includeSelf?: boolean;
5
+ }
6
+ export declare const SpaceMemberListContainer: ({ spaceKey, includeSelf }: SpaceMemberListContainerProps) => JSX.Element;
7
+ //# sourceMappingURL=SpaceMemberListContainer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SpaceMemberListContainer.d.ts","sourceRoot":"","sources":["../../../../../src/components/IdentityList/SpaceMemberListContainer.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAKvC,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,EAAE,SAAS,CAAC;IACpB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,eAAO,MAAM,wBAAwB,8BAA+B,6BAA6B,gBAWhG,CAAC"}