@dxos/plugin-client 0.8.1 → 0.8.2-main.12df754

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 (34) hide show
  1. package/dist/lib/browser/{chunk-XZ4TQC56.mjs → chunk-XNV35HZK.mjs} +14 -14
  2. package/dist/lib/browser/chunk-XNV35HZK.mjs.map +7 -0
  3. package/dist/lib/browser/index.mjs +2 -2
  4. package/dist/lib/browser/{intent-resolver-NCISOZW4.mjs → intent-resolver-Y5GTS7CW.mjs} +2 -2
  5. package/dist/lib/browser/meta.json +1 -1
  6. package/dist/lib/browser/{react-surface-J7SZR2J6.mjs → react-surface-AUZGNKC5.mjs} +2 -2
  7. package/dist/lib/node/{chunk-3JE5BFCT.cjs → chunk-QNZIRU35.cjs} +14 -14
  8. package/dist/lib/node/chunk-QNZIRU35.cjs.map +7 -0
  9. package/dist/lib/node/index.cjs +2 -2
  10. package/dist/lib/node/{intent-resolver-U2576ALY.cjs → intent-resolver-ZFYETGJI.cjs} +9 -9
  11. package/dist/lib/node/meta.json +1 -1
  12. package/dist/lib/node/{react-surface-BSTIXMER.cjs → react-surface-GBPBVXLE.cjs} +17 -17
  13. package/dist/lib/node-esm/{chunk-LZN2UNN7.mjs → chunk-6G43BNMU.mjs} +14 -14
  14. package/dist/lib/node-esm/chunk-6G43BNMU.mjs.map +7 -0
  15. package/dist/lib/node-esm/index.mjs +2 -2
  16. package/dist/lib/node-esm/{intent-resolver-G25U4UGI.mjs → intent-resolver-OVG4QCHK.mjs} +2 -2
  17. package/dist/lib/node-esm/meta.json +1 -1
  18. package/dist/lib/node-esm/{react-surface-ZPI7T4EM.mjs → react-surface-SMPVSOTA.mjs} +2 -2
  19. package/dist/types/src/components/DevicesContainer.d.ts.map +1 -1
  20. package/dist/types/src/components/ProfileContainer.d.ts.map +1 -1
  21. package/dist/types/src/components/RecoveryCredentialsContainer.d.ts.map +1 -1
  22. package/package.json +23 -23
  23. package/src/components/DevicesContainer.tsx +69 -52
  24. package/src/components/ProfileContainer.tsx +23 -14
  25. package/src/components/RecoveryCredentialsContainer.tsx +48 -46
  26. package/dist/lib/browser/chunk-XZ4TQC56.mjs.map +0 -7
  27. package/dist/lib/node/chunk-3JE5BFCT.cjs.map +0 -7
  28. package/dist/lib/node-esm/chunk-LZN2UNN7.mjs.map +0 -7
  29. /package/dist/lib/browser/{intent-resolver-NCISOZW4.mjs.map → intent-resolver-Y5GTS7CW.mjs.map} +0 -0
  30. /package/dist/lib/browser/{react-surface-J7SZR2J6.mjs.map → react-surface-AUZGNKC5.mjs.map} +0 -0
  31. /package/dist/lib/node/{intent-resolver-U2576ALY.cjs.map → intent-resolver-ZFYETGJI.cjs.map} +0 -0
  32. /package/dist/lib/node/{react-surface-BSTIXMER.cjs.map → react-surface-GBPBVXLE.cjs.map} +0 -0
  33. /package/dist/lib/node-esm/{intent-resolver-G25U4UGI.mjs.map → intent-resolver-OVG4QCHK.mjs.map} +0 -0
  34. /package/dist/lib/node-esm/{react-surface-ZPI7T4EM.mjs.map → react-surface-SMPVSOTA.mjs.map} +0 -0
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/components/DevicesContainer.tsx", "../../../src/components/JoinDialog.tsx", "../../../src/components/ProfileContainer.tsx", "../../../src/components/RecoveryCodeDialog.tsx", "../../../src/components/RecoveryCredentialsContainer.tsx", "../../../src/components/ResetDialog.tsx"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Check, X } from '@phosphor-icons/react';\nimport React, { useCallback, useEffect, useState } from 'react';\nimport { QR } from 'react-qr-rounded';\n\nimport { createIntent, useIntentDispatcher } from '@dxos/app-framework';\nimport { log } from '@dxos/log';\nimport { useClient, useMulticastObservable } from '@dxos/react-client';\nimport { type Device, useDevices } from '@dxos/react-client/halo';\nimport { type CancellableInvitationObservable, Invitation, InvitationEncoder } from '@dxos/react-client/invitations';\nimport { useNetworkStatus } from '@dxos/react-client/mesh';\nimport { Button, Clipboard, IconButton, List, useId, useTranslation } from '@dxos/react-ui';\nimport {\n ControlFrame,\n ControlFrameItem,\n ControlGroup,\n ControlItem,\n ControlPage,\n ControlSection,\n} from '@dxos/react-ui-form';\nimport { StackItem } from '@dxos/react-ui-stack';\nimport { getSize, mx } from '@dxos/react-ui-theme';\nimport { AuthCode, Centered, DeviceListItem, Emoji, Viewport } from '@dxos/shell/react';\nimport { hexToEmoji } from '@dxos/util';\n\nimport { CLIENT_PLUGIN } from '../meta';\nimport { ClientAction } from '../types';\n\nexport const DevicesContainer = ({\n createInvitationUrl,\n}: {\n createInvitationUrl: (invitationCode: string) => string;\n}) => {\n const { t } = useTranslation('os');\n const { dispatchPromise: dispatch } = useIntentDispatcher();\n const devices = useDevices();\n const { swarm: connectionState } = useNetworkStatus();\n\n const handleResetStorage = useCallback(() => dispatch(createIntent(ClientAction.ResetStorage)), [dispatch]);\n\n const handleRecover = useCallback(\n () => dispatch(createIntent(ClientAction.ResetStorage, { mode: 'recover' })),\n [dispatch],\n );\n\n const handleJoinNewIdentity = useCallback(\n () => dispatch(createIntent(ClientAction.ResetStorage, { mode: 'join new identity' })),\n [dispatch],\n );\n\n return (\n <Clipboard.Provider>\n <StackItem.Content classNames='block overflow-y-auto'>\n <ControlPage>\n <ControlSection\n title={t('devices verbose label', { ns: CLIENT_PLUGIN })}\n description={t('devices description', { ns: CLIENT_PLUGIN })}\n >\n <ControlFrame>\n <ControlFrameItem title={t('devices label', { ns: CLIENT_PLUGIN })}>\n <List>\n {devices.map((device: Device) => {\n return (\n <DeviceListItem\n key={device.deviceKey.toHex()}\n device={device}\n connectionState={connectionState}\n />\n );\n })}\n </List>\n </ControlFrameItem>\n <ControlFrameItem title='Add device'>\n <DeviceInvitation createInvitationUrl={createInvitationUrl} />\n </ControlFrameItem>\n </ControlFrame>\n </ControlSection>\n <ControlSection\n title={t('danger zone title', { ns: CLIENT_PLUGIN })}\n description={t('danger zone description', { ns: CLIENT_PLUGIN })}\n >\n <ControlGroup>\n <ControlItem\n title={t('reset device label')}\n description={t('reset device description', { ns: CLIENT_PLUGIN })}\n >\n <Button variant='destructive' onClick={handleResetStorage} data-testid='devicesContainer.reset'>\n {t('reset device label')}\n </Button>\n </ControlItem>\n <ControlItem\n title={t('recover identity label')}\n description={t('recover identity description', { ns: CLIENT_PLUGIN })}\n >\n <Button variant='destructive' onClick={handleRecover} data-testid='devicesContainer.recover'>\n {t('recover identity label')}\n </Button>\n </ControlItem>\n <ControlItem\n title={t('join new identity label')}\n description={t('join new identity description', { ns: CLIENT_PLUGIN })}\n >\n <Button\n variant='destructive'\n onClick={handleJoinNewIdentity}\n data-testid='devicesContainer.joinExisting'\n >\n {t('join new identity label')}\n </Button>\n </ControlItem>\n </ControlGroup>\n </ControlSection>\n </ControlPage>\n </StackItem.Content>\n </Clipboard.Provider>\n );\n};\n\ntype DeviceInvitationProps = {\n invitation?: CancellableInvitationObservable;\n createInvitationUrl: (invitationCode: string) => string;\n onInvitationDone: () => void;\n onInvitationCreate: () => void;\n};\n\nconst DeviceInvitation = (props: Pick<DeviceInvitationProps, 'createInvitationUrl'>) => {\n const client = useClient();\n const [invitation, setInvitation] = useState<CancellableInvitationObservable>();\n\n const onInvitationCreate = useCallback(() => {\n const invitation = client.halo.share();\n if (client.config.values.runtime?.app?.env?.DX_ENVIRONMENT !== 'production') {\n const subscription = invitation.subscribe((invitation: Invitation) => {\n const invitationCode = InvitationEncoder.encode(invitation);\n if (invitation.state === Invitation.State.CONNECTING) {\n log.info(JSON.stringify({ invitationCode, authCode: invitation.authCode }));\n subscription.unsubscribe();\n }\n });\n }\n setInvitation(invitation);\n }, [client]);\n\n const onInvitationDone = useCallback(() => {\n setInvitation(undefined);\n }, []);\n\n if (invitation) {\n return <DeviceInvitationImpl {...props} {...{ invitation, onInvitationCreate, onInvitationDone }} />;\n } else {\n return <InvitationSection {...props} {...{ onInvitationCreate, onInvitationDone }} />;\n }\n};\n\nconst DeviceInvitationImpl = ({\n invitation: invitationObservable,\n createInvitationUrl,\n onInvitationDone,\n onInvitationCreate,\n}: DeviceInvitationProps) => {\n const invitation = useMulticastObservable(invitationObservable!);\n const url = createInvitationUrl(InvitationEncoder.encode(invitation));\n\n useEffect(() => {\n if (invitation.state >= Invitation.State.SUCCESS) {\n onInvitationDone();\n }\n }, [invitation.state]);\n\n return <InvitationSection {...invitation} {...{ url, onInvitationDone, onInvitationCreate }} />;\n};\n\ntype InvitationComponentProps = Partial<\n Pick<Invitation, 'authCode' | 'invitationId'> &\n Pick<DeviceInvitationProps, 'onInvitationDone' | 'onInvitationCreate'> & {\n state: number;\n url: string;\n }\n>;\n\nconst InvitationSection = ({\n state = -1,\n authCode,\n invitationId = 'never',\n url = 'never',\n onInvitationDone = () => {},\n onInvitationCreate = () => {},\n}: InvitationComponentProps) => {\n const { t } = useTranslation(CLIENT_PLUGIN);\n const activeView =\n state < 0\n ? 'init'\n : state >= Invitation.State.CANCELLED\n ? 'complete'\n : state >= Invitation.State.READY_FOR_AUTHENTICATION && authCode\n ? 'auth-code'\n : 'qr-code';\n return activeView === 'init' ? (\n <>\n <p className='text-description mbe-2'>{t('add device description')}</p>\n <IconButton\n icon='ph--plus--regular'\n label={t('create device invitation label')}\n disabled={state >= 0}\n classNames='is-full'\n data-testid='devicesContainer.createInvitation'\n onClick={onInvitationCreate}\n />\n </>\n ) : (\n <Viewport.Root activeView={activeView}>\n <Viewport.Views>\n <Viewport.View id='init'>\n {/* This view intentionally left blank while conditionally rendering the viewport. */}\n </Viewport.View>\n <Viewport.View id='complete'>\n <InvitationComplete statusValue={state} />\n </Viewport.View>\n <Viewport.View id='auth-code'>\n <InvitationAuthCode id={invitationId} code={authCode ?? 'never'} onCancel={onInvitationDone} />\n </Viewport.View>\n <Viewport.View id='qr-code'>\n <InvitationQR id={invitationId} url={url} onCancel={onInvitationDone} />\n </Viewport.View>\n </Viewport.Views>\n </Viewport.Root>\n );\n};\n\nconst InvitationQR = ({ id, url, onCancel }: { id: string; url: string; onCancel: () => void }) => {\n const { t } = useTranslation('os');\n const qrLabel = useId('devices-container__qr-code');\n const emoji = hexToEmoji(id);\n return (\n <>\n <p className='text-description'>{t('qr code description', { ns: CLIENT_PLUGIN })}</p>\n <div role='group' className='grid grid-cols-[1fr_min-content] mlb-2 gap-2'>\n <div role='none' className='is-full aspect-square relative text-description'>\n <QR\n rounding={100}\n backgroundColor='transparent'\n color='currentColor'\n aria-labelledby={qrLabel}\n errorCorrectionLevel='Q'\n cutout={true}\n >\n {url ?? 'never'}\n </QR>\n <Centered>\n <Emoji text={emoji} />\n </Centered>\n </div>\n <span id={qrLabel} className='sr-only'>\n {t('qr label')}\n </span>\n <Clipboard.Button value={url ?? 'never'} />\n </div>\n <Button variant='ghost' onClick={onCancel}>\n {t('cancel label')}\n </Button>\n </>\n );\n};\n\nconst InvitationAuthCode = ({ id, code, onCancel }: { id: string; code: string; onCancel: () => void }) => {\n const { t } = useTranslation('os');\n const emoji = hexToEmoji(id);\n\n return (\n <>\n <p className='text-description'>{t('auth other device emoji message')}</p>\n {emoji && <Emoji text={emoji} className='mli-auto mlb-2 text-center' />}\n <p className='text-description'>{t('auth code message')}</p>\n <AuthCode code={code} large classNames='mli-auto mlb-2 text-center grow' />\n <Button variant='ghost' onClick={onCancel}>\n {t('cancel label')}\n </Button>\n </>\n );\n};\n\nconst InvitationComplete = ({ statusValue }: { statusValue: number }) => {\n return statusValue > 0 ? <Check className={mx('m-1.5', getSize(6))} /> : <X className={mx('m-1.5', getSize(6))} />;\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport React, { useCallback } from 'react';\n\nimport { createIntent, LayoutAction, useIntentDispatcher } from '@dxos/app-framework';\nimport { ObservabilityAction } from '@dxos/plugin-observability/types';\nimport { type InvitationResult } from '@dxos/react-client/invitations';\nimport { Dialog, useTranslation } from '@dxos/react-ui';\nimport { JoinPanel, type JoinPanelProps } from '@dxos/shell/react';\n\nimport { CLIENT_PLUGIN } from '../meta';\nimport { ClientAction } from '../types';\n\nexport const JOIN_DIALOG = `${CLIENT_PLUGIN}/JoinDialog`;\n\nexport const JoinDialog = (props: JoinPanelProps) => {\n const { dispatchPromise: dispatch } = useIntentDispatcher();\n const { t } = useTranslation(CLIENT_PLUGIN);\n\n const handleCancelResetStorage = useCallback(() => dispatch(createIntent(ClientAction.ShareIdentity)), [dispatch]);\n\n const handleDone = useCallback(\n async (result: InvitationResult | null) => {\n if (result?.identityKey) {\n await Promise.all([\n dispatch(createIntent(LayoutAction.UpdateDialog, { part: 'dialog', options: { state: false } })),\n dispatch(\n createIntent(ObservabilityAction.SendEvent, {\n name: props.initialDisposition === 'recover-identity' ? 'identity.recover' : 'identity.join',\n }),\n ),\n ]);\n }\n },\n [dispatch],\n );\n\n return (\n <Dialog.Content>\n <Dialog.Title classNames='sr-only'>{t('join space label', { ns: 'os' })}</Dialog.Title>\n <JoinPanel\n mode='halo-only'\n {...props}\n exitActionParent={<Dialog.Close asChild />}\n doneActionParent={<Dialog.Close asChild />}\n onCancelResetStorage={handleCancelResetStorage}\n onDone={handleDone}\n />\n </Dialog.Content>\n );\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { Schema as S } from 'effect';\nimport React, { type ChangeEvent, useCallback, useMemo, useState } from 'react';\n\nimport { debounce } from '@dxos/async';\nimport { useClient } from '@dxos/react-client';\nimport { type Identity, useIdentity } from '@dxos/react-client/halo';\nimport { ButtonGroup, Clipboard, Input, useTranslation } from '@dxos/react-ui';\nimport {\n Form,\n type InputComponent,\n ControlItem,\n ControlItemInput,\n ControlSection,\n ControlPage,\n} from '@dxos/react-ui-form';\nimport { EmojiPickerBlock, HuePicker } from '@dxos/react-ui-pickers';\nimport { StackItem } from '@dxos/react-ui-stack';\nimport { hexToHue, hexToEmoji } from '@dxos/util';\n\nimport { CLIENT_PLUGIN } from '../meta';\n\n// TODO(thure): Factor out?\nconst getDefaultHueValue = (identity: Identity | null) => hexToHue(identity?.identityKey.toHex() ?? '0');\nconst getDefaultEmojiValue = (identity: Identity | null) => hexToEmoji(identity?.identityKey.toHex() ?? '0');\nconst getHueValue = (identity: Identity | null) => identity?.profile?.data?.hue || getDefaultHueValue(identity);\nconst getEmojiValue = (identity: Identity | null) => identity?.profile?.data?.emoji || getDefaultEmojiValue(identity);\n\nexport const ProfileContainer = () => {\n const { t } = useTranslation(CLIENT_PLUGIN);\n const client = useClient();\n const identity = useIdentity();\n const [displayName, setDisplayNameDirectly] = useState(identity?.profile?.displayName ?? '');\n const [emoji, setEmojiDirectly] = useState<string>(getEmojiValue(identity));\n const [hue, setHueDirectly] = useState<string>(getHueValue(identity));\n\n const updateProfile = useMemo(\n () =>\n debounce(\n (profile: Partial<Profile>) =>\n client.halo.updateProfile({\n displayName: profile.displayName,\n data: {\n emoji: profile.emoji,\n hue: profile.hue,\n },\n }),\n 2_000,\n ),\n [],\n );\n\n const handleSave = useCallback(\n (profile: Profile) => {\n setDisplayNameDirectly(profile.displayName);\n setEmojiDirectly(profile.emoji);\n setHueDirectly(profile.hue);\n updateProfile(profile);\n },\n [identity],\n );\n\n const values = useMemo(\n () => ({\n displayName,\n emoji,\n hue,\n did: identity?.did,\n }),\n [identity, displayName, emoji, hue],\n );\n\n // TODO(wittjosiah): Integrate descriptions with the form schema.\n const customElements: Partial<Record<string, InputComponent>> = useMemo(\n () => ({\n displayName: ({ type, label, getValue, onValueChange }) => {\n const handleChange = useCallback(\n ({ target: { value } }: ChangeEvent<HTMLInputElement>) => onValueChange(type, value),\n [onValueChange, type],\n );\n return (\n <ControlItemInput title={label} description={t('display name description')}>\n <Input.TextInput\n value={getValue()}\n onChange={handleChange}\n placeholder={t('display name input placeholder')}\n classNames='min-is-64'\n />\n </ControlItemInput>\n );\n },\n emoji: ({ type, label, getValue, onValueChange }) => {\n const handleChange = useCallback((nextEmoji: string) => onValueChange(type, nextEmoji), [onValueChange, type]);\n const handleEmojiReset = useCallback(\n () => onValueChange(type, getDefaultEmojiValue(identity)),\n [onValueChange, type],\n );\n return (\n <ControlItem title={label} description={t('icon description')}>\n <EmojiPickerBlock\n triggerVariant='default'\n emoji={getValue()}\n onChangeEmoji={handleChange}\n onClickClear={handleEmojiReset}\n classNames='justify-self-end'\n />\n </ControlItem>\n );\n },\n hue: ({ type, label, getValue, onValueChange }) => {\n const handleChange = useCallback((nextHue: string) => onValueChange(type, nextHue), [onValueChange, type]);\n const handleHueReset = useCallback(\n () => onValueChange(type, getDefaultHueValue(identity)),\n [onValueChange, type],\n );\n return (\n <ControlItem title={label} description={t('hue description')}>\n <HuePicker\n value={getValue()}\n onChange={handleChange}\n onReset={handleHueReset}\n classNames='[--hue-preview-size:1.5rem] justify-self-end'\n />\n </ControlItem>\n );\n },\n // TODO(wittjosiah): We need text input annotations for disabled and copyable.\n did: ({ label, getValue }) => {\n return (\n <ControlItemInput title={label} description={t('did description')}>\n <ButtonGroup>\n <Input.TextInput value={getValue()} disabled classNames='min-is-64' />\n <Clipboard.IconButton value={getValue() ?? ''} />\n </ButtonGroup>\n </ControlItemInput>\n );\n },\n }),\n [t],\n );\n\n return (\n <StackItem.Content classNames='block overflow-y-auto'>\n <ControlPage>\n <Clipboard.Provider>\n <ControlSection title={t('profile label')} description={t('profile description')}>\n <Form\n schema={ProfileSchema}\n values={values}\n autoSave\n onSave={handleSave}\n Custom={customElements}\n classNames='p-0 container-max-width [&_[role=\"form\"]]:grid [&_[role=\"form\"]]:grid-cols-1 md:[&_[role=\"form\"]]:grid-cols-[1fr_min-content] [&_[role=\"form\"]]:gap-4'\n />\n </ControlSection>\n </Clipboard.Provider>\n </ControlPage>\n </StackItem.Content>\n );\n};\n\n// TODO(wittjosiah): Integrate annotations with translations.\nconst ProfileSchema = S.Struct({\n displayName: S.String.annotations({ title: 'Display name' }),\n emoji: S.String.annotations({ title: 'Avatar' }),\n hue: S.String.annotations({ title: 'Color' }),\n did: S.String.annotations({ title: 'DID' }),\n});\ntype Profile = S.Schema.Type<typeof ProfileSchema>;\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport React, { useCallback, useState } from 'react';\n\nimport { AlertDialog, Button, Clipboard, Input, useTranslation } from '@dxos/react-ui';\n\nimport { CLIENT_PLUGIN } from '../meta';\n\nexport const RECOVERY_CODE_DIALOG = `${CLIENT_PLUGIN}/RecoveryCodeDialog`;\n\nexport type RecoveryCodeDialogProps = {\n code: string;\n};\n\nexport const RecoveryCodeDialog = ({ code }: RecoveryCodeDialogProps) => {\n const { t } = useTranslation(CLIENT_PLUGIN);\n const [confirmation, setConfirmation] = useState(false);\n\n const handleConfirmation = useCallback((checked: boolean) => setConfirmation(checked), []);\n\n return (\n <AlertDialog.Content classNames='bs-content min-bs-[15rem] max-bs-full md:max-is-[40rem] overflow-hidden'>\n <AlertDialog.Title>{t('recovery code dialog title')}</AlertDialog.Title>\n <p className='py-4'>{t('recovery code dialog description')}</p>\n <Clipboard.Provider>\n <Code code={code} />\n </Clipboard.Provider>\n <div className='flex flex-col py-4 gap-2'>\n <p>{t('recovery code dialog warning 1')}</p>\n <p>{t('recovery code dialog warning 2')}</p>\n </div>\n <div className='flex items-center gap-2 pbe-4'>\n <Input.Root>\n <Input.Checkbox\n data-testid='recoveryCode.confirm'\n checked={confirmation}\n onCheckedChange={handleConfirmation}\n />\n <Input.Label>{t('recovery code confirmation label')}</Input.Label>\n </Input.Root>\n </div>\n <div className='flex justify-end'>\n <AlertDialog.Action asChild>\n <Button data-testid='recoveryCode.continue' variant='primary' disabled={!confirmation}>\n {t('continue label')}\n </Button>\n </AlertDialog.Action>\n </div>\n </AlertDialog.Content>\n );\n};\n\nconst Code = ({ code }: { code: string }) => {\n const words = code.split(' ');\n return (\n <div className='relative p-2 border border-separator rounded group'>\n <Clipboard.IconButton value={code} classNames='absolute top-2 right-2 invisible group-hover:visible' />\n <div className='grid grid-cols-4'>\n {words.map((word, i) => (\n <div key={i} className='flex items-center p-2 gap-2'>\n <div className='w-4 text-xs text-center text-subdued'>{i + 1}</div>\n <div className='text-sm'>{word}</div>\n </div>\n ))}\n </div>\n </div>\n );\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport React from 'react';\n\nimport { createIntent, useIntentDispatcher } from '@dxos/app-framework';\nimport { useCredentials } from '@dxos/react-client/halo';\nimport { Icon, IconButton, List, ListItem, useTranslation, Message } from '@dxos/react-ui';\nimport { ControlGroup, ControlItem, ControlPage, ControlSection } from '@dxos/react-ui-form';\nimport { StackItem } from '@dxos/react-ui-stack';\n\nimport { CLIENT_PLUGIN } from '../meta';\nimport { ClientAction } from '../types';\n\nexport const MANAGE_CREDENTIALS_DIALOG = `${CLIENT_PLUGIN}/ManageCredentialsDialog`;\n\nexport const RecoveryCredentialsContainer = () => {\n const { t } = useTranslation(CLIENT_PLUGIN);\n const { dispatchPromise: dispatch } = useIntentDispatcher();\n const credentials = useCredentials();\n const recoveryCredentials = credentials.filter(\n (credential) => credential.subject.assertion['@type'] === 'dxos.halo.credentials.IdentityRecovery',\n );\n\n return (\n <StackItem.Content classNames='block overflow-y-auto'>\n <ControlPage>\n <ControlSection title={t('recovery setup dialog title')} description={t('recovery setup dialog description')}>\n <ControlGroup>\n <ControlItem title={t('create passkey label')} description={t('create passkey description')}>\n <IconButton\n label={t('create passkey label')}\n icon='ph--key--duotone'\n variant='primary'\n size={5}\n onClick={() => dispatch(createIntent(ClientAction.CreatePasskey))}\n />\n </ControlItem>\n <ControlItem title={t('create recovery code label')} description={t('create recovery code description')}>\n <IconButton\n label={t('create recovery code label')}\n icon='ph--receipt--duotone'\n variant='default'\n size={5}\n onClick={() => dispatch(createIntent(ClientAction.CreateRecoveryCode))}\n />\n </ControlItem>\n </ControlGroup>\n </ControlSection>\n <ControlSection title={t('credentials list label')}>\n {recoveryCredentials.length < 1 ? (\n <Message.Root valence='error' className='container-max-width'>\n <Message.Title>\n <Icon icon='ph--shield-warning--duotone' size={5} classNames='inline-block align-top mbs-px mie-1' />\n {t('no credentials title')}\n </Message.Title>\n <Message.Body>{t('no credentials message')}</Message.Body>\n </Message.Root>\n ) : (\n <List classNames='container-max-width pli-2'>\n {recoveryCredentials.map((credential) => (\n <ListItem.Root key={credential.id?.toHex()}>\n <ListItem.Endcap>\n <Icon icon='ph--key--regular' size={5} />\n </ListItem.Endcap>\n <ListItem.Heading>{credential.issuanceDate.toLocaleString()}</ListItem.Heading>\n </ListItem.Root>\n ))}\n </List>\n )}\n </ControlSection>\n </ControlPage>\n </StackItem.Content>\n );\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport React, { useCallback } from 'react';\n\nimport { createIntent, LayoutAction, useIntentDispatcher } from '@dxos/app-framework';\nimport { useClient } from '@dxos/react-client';\nimport { Dialog, useTranslation } from '@dxos/react-ui';\nimport { ConfirmReset, type ConfirmResetProps } from '@dxos/shell/react';\n\nimport { CLIENT_PLUGIN } from '../meta';\nimport { type ClientPluginOptions } from '../types';\n\nexport const RESET_DIALOG = `${CLIENT_PLUGIN}/ResetDialog`;\n\nexport type ResetDialogProps = Pick<ConfirmResetProps, 'mode'> & Pick<ClientPluginOptions, 'onReset'>;\n\nexport const ResetDialog = ({ mode, onReset }: ResetDialogProps) => {\n const { t } = useTranslation(CLIENT_PLUGIN);\n const { dispatchPromise: dispatch } = useIntentDispatcher();\n const client = useClient();\n\n const handleReset = useCallback(async () => {\n await client.reset();\n const target =\n mode === 'join new identity' ? 'deviceInvitation' : mode === 'recover' ? 'recoverIdentity' : undefined;\n await onReset?.({ target });\n }, [dispatch, client, mode, onReset]);\n\n const handleCancel = useCallback(() => {\n void dispatch(\n createIntent(LayoutAction.UpdateDialog, {\n part: 'dialog',\n options: { state: false },\n }),\n );\n }, [dispatch]);\n\n // TODO(wittjosiah): Add the sr-only translations.\n // TODO(wittjosiah): Add missing descriptions to other dialogs.\n return (\n <Dialog.Content classNames='bs-content min-bs-[15rem] max-bs-full md:max-is-[40rem] overflow-hidden'>\n <Dialog.Title classNames='sr-only'>{t('reset dialog title')}</Dialog.Title>\n <Dialog.Description classNames='sr-only'>{t('reset dialog description')}</Dialog.Description>\n <ConfirmReset active mode={mode} onConfirm={handleReset} onCancel={handleCancel} />\n </Dialog.Content>\n );\n};\n"],
5
+ "mappings": "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",
6
+ "names": ["import_react", "import_app_framework", "import_react_ui", "import_react_client", "import_halo", "import_react_ui_form", "import_react_ui_stack", "import_util", "DevicesContainer", "createInvitationUrl", "t", "useTranslation", "dispatchPromise", "dispatch", "useIntentDispatcher", "devices", "useDevices", "swarm", "connectionState", "useNetworkStatus", "handleResetStorage", "useCallback", "createIntent", "ClientAction", "ResetStorage", "handleRecover", "mode", "handleJoinNewIdentity", "React", "Clipboard", "Provider", "StackItem", "Content", "classNames", "ControlPage", "ControlSection", "title", "ns", "CLIENT_PLUGIN", "description", "ControlFrame", "ControlFrameItem", "List", "map", "device", "DeviceListItem", "key", "deviceKey", "toHex", "DeviceInvitation", "ControlGroup", "ControlItem", "Button", "variant", "onClick", "data-testid", "props", "client", "useClient", "invitation", "setInvitation", "useState", "onInvitationCreate", "halo", "share", "config", "values", "runtime", "app", "env", "DX_ENVIRONMENT", "subscription", "subscribe", "invitationCode", "InvitationEncoder", "encode", "state", "Invitation", "State", "CONNECTING", "log", "info", "JSON", "stringify", "authCode", "unsubscribe", "onInvitationDone", "undefined", "DeviceInvitationImpl", "InvitationSection", "invitationObservable", "useMulticastObservable", "url", "useEffect", "SUCCESS", "invitationId", "activeView", "CANCELLED", "READY_FOR_AUTHENTICATION", "p", "className", "IconButton", "icon", "label", "disabled", "Viewport", "Root", "Views", "View", "id", "InvitationComplete", "statusValue", "InvitationAuthCode", "code", "onCancel", "InvitationQR", "qrLabel", "useId", "emoji", "hexToEmoji", "div", "role", "QR", "rounding", "backgroundColor", "color", "aria-labelledby", "errorCorrectionLevel", "cutout", "Centered", "Emoji", "text", "span", "value", "AuthCode", "large", "Check", "mx", "getSize", "X", "JOIN_DIALOG", "JoinDialog", "handleCancelResetStorage", "ShareIdentity", "handleDone", "result", "identityKey", "Promise", "all", "LayoutAction", "UpdateDialog", "part", "options", "ObservabilityAction", "SendEvent", "name", "initialDisposition", "Dialog", "Title", "JoinPanel", "exitActionParent", "Close", "asChild", "doneActionParent", "onCancelResetStorage", "onDone", "getDefaultHueValue", "identity", "hexToHue", "getDefaultEmojiValue", "getHueValue", "profile", "data", "hue", "getEmojiValue", "ProfileContainer", "useIdentity", "displayName", "setDisplayNameDirectly", "setEmojiDirectly", "setHueDirectly", "updateProfile", "useMemo", "debounce", "handleSave", "did", "customElements", "type", "getValue", "onValueChange", "handleChange", "target", "ControlItemInput", "Input", "TextInput", "onChange", "placeholder", "nextEmoji", "handleEmojiReset", "EmojiPickerBlock", "triggerVariant", "onChangeEmoji", "onClickClear", "nextHue", "handleHueReset", "HuePicker", "onReset", "ButtonGroup", "Form", "schema", "ProfileSchema", "autoSave", "onSave", "Custom", "S", "Struct", "String", "annotations", "RECOVERY_CODE_DIALOG", "RecoveryCodeDialog", "confirmation", "setConfirmation", "handleConfirmation", "checked", "AlertDialog", "Code", "Checkbox", "onCheckedChange", "Label", "Action", "words", "split", "word", "i", "MANAGE_CREDENTIALS_DIALOG", "RecoveryCredentialsContainer", "credentials", "useCredentials", "recoveryCredentials", "filter", "credential", "subject", "assertion", "size", "CreatePasskey", "CreateRecoveryCode", "length", "Message", "valence", "Icon", "Body", "ListItem", "Endcap", "Heading", "issuanceDate", "toLocaleString", "RESET_DIALOG", "ResetDialog", "handleReset", "reset", "handleCancel", "Description", "ConfirmReset", "active", "onConfirm"]
7
+ }
@@ -42,10 +42,10 @@ var import_app_framework = require("@dxos/app-framework");
42
42
  var import_app_framework2 = require("@dxos/app-framework");
43
43
  var AppGraphBuilder = (0, import_app_framework2.lazy)(async () => import("./app-graph-builder-PXOJZJO5.cjs"));
44
44
  var Client = (0, import_app_framework2.lazy)(async () => import("./client-BKTGRBYM.cjs"));
45
- var IntentResolver = (0, import_app_framework2.lazy)(async () => import("./intent-resolver-U2576ALY.cjs"));
45
+ var IntentResolver = (0, import_app_framework2.lazy)(async () => import("./intent-resolver-ZFYETGJI.cjs"));
46
46
  var Migrations = (0, import_app_framework2.lazy)(async () => import("./migrations-TGNI4FVL.cjs"));
47
47
  var ReactContext = (0, import_app_framework2.lazy)(async () => import("./react-context-SF3M3YLR.cjs"));
48
- var ReactSurface = (0, import_app_framework2.lazy)(async () => import("./react-surface-BSTIXMER.cjs"));
48
+ var ReactSurface = (0, import_app_framework2.lazy)(async () => import("./react-surface-GBPBVXLE.cjs"));
49
49
  var Schema = (0, import_app_framework2.lazy)(async () => import("./schema-INQ72F54.cjs"));
50
50
  var translations_default = [
51
51
  {
@@ -16,14 +16,14 @@ var __copyProps = (to, from, except, desc) => {
16
16
  return to;
17
17
  };
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var intent_resolver_U2576ALY_exports = {};
20
- __export(intent_resolver_U2576ALY_exports, {
19
+ var intent_resolver_ZFYETGJI_exports = {};
20
+ __export(intent_resolver_ZFYETGJI_exports, {
21
21
  default: () => intent_resolver_default
22
22
  });
23
- module.exports = __toCommonJS(intent_resolver_U2576ALY_exports);
23
+ module.exports = __toCommonJS(intent_resolver_ZFYETGJI_exports);
24
24
  var import_chunk_W64EOF2B = require("./chunk-W64EOF2B.cjs");
25
25
  var import_chunk_ZVQIICEN = require("./chunk-ZVQIICEN.cjs");
26
- var import_chunk_3JE5BFCT = require("./chunk-3JE5BFCT.cjs");
26
+ var import_chunk_QNZIRU35 = require("./chunk-QNZIRU35.cjs");
27
27
  var import_chunk_FROKBEVH = require("./chunk-FROKBEVH.cjs");
28
28
  var import_chunk_DJKWB5L6 = require("./chunk-DJKWB5L6.cjs");
29
29
  var import_effect = require("effect");
@@ -58,7 +58,7 @@ var intent_resolver_default = ({ context, appName = "Composer" }) => (0, import_
58
58
  intents: [
59
59
  (0, import_app_framework.createIntent)(import_app_framework.LayoutAction.UpdateDialog, {
60
60
  part: "dialog",
61
- subject: import_chunk_3JE5BFCT.JOIN_DIALOG,
61
+ subject: import_chunk_QNZIRU35.JOIN_DIALOG,
62
62
  options: {
63
63
  blockAlign: "start",
64
64
  props: {
@@ -99,7 +99,7 @@ var intent_resolver_default = ({ context, appName = "Composer" }) => (0, import_
99
99
  intents: [
100
100
  (0, import_app_framework.createIntent)(import_app_framework.LayoutAction.UpdateDialog, {
101
101
  part: "dialog",
102
- subject: import_chunk_3JE5BFCT.JOIN_DIALOG,
102
+ subject: import_chunk_QNZIRU35.JOIN_DIALOG,
103
103
  options: {
104
104
  blockAlign: "start",
105
105
  props: {
@@ -118,7 +118,7 @@ var intent_resolver_default = ({ context, appName = "Composer" }) => (0, import_
118
118
  intents: [
119
119
  (0, import_app_framework.createIntent)(import_app_framework.LayoutAction.UpdateDialog, {
120
120
  part: "dialog",
121
- subject: import_chunk_3JE5BFCT.RESET_DIALOG,
121
+ subject: import_chunk_QNZIRU35.RESET_DIALOG,
122
122
  options: {
123
123
  blockAlign: "start",
124
124
  props: {
@@ -166,7 +166,7 @@ var intent_resolver_default = ({ context, appName = "Composer" }) => (0, import_
166
166
  intents: [
167
167
  (0, import_app_framework.createIntent)(import_app_framework.LayoutAction.UpdateDialog, {
168
168
  part: "dialog",
169
- subject: import_chunk_3JE5BFCT.RECOVERY_CODE_DIALOG,
169
+ subject: import_chunk_QNZIRU35.RECOVERY_CODE_DIALOG,
170
170
  options: {
171
171
  blockAlign: "start",
172
172
  type: "alert",
@@ -309,4 +309,4 @@ var intent_resolver_default = ({ context, appName = "Composer" }) => (0, import_
309
309
  }
310
310
  })
311
311
  ]);
312
- //# sourceMappingURL=intent-resolver-U2576ALY.cjs.map
312
+ //# sourceMappingURL=intent-resolver-ZFYETGJI.cjs.map
@@ -1 +1 @@
1
- {"inputs":{"packages/plugins/plugin-client/src/meta.ts":{"bytes":963,"imports":[],"format":"esm"},"packages/plugins/plugin-client/src/capabilities/capabilities.ts":{"bytes":2504,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-client/src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"packages/plugins/plugin-client/src/types.ts":{"bytes":12574,"imports":[{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-client/src/meta.ts","kind":"import-statement","original":"./meta"}],"format":"esm"},"packages/plugins/plugin-client/src/capabilities/app-graph-builder.ts":{"bytes":13237,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/plugin-graph","kind":"import-statement","external":true},{"path":"@dxos/react-client/mesh","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-client/src/capabilities/capabilities.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/plugins/plugin-client/src/meta.ts","kind":"import-statement","original":"../meta"},{"path":"packages/plugins/plugin-client/src/types.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"packages/plugins/plugin-client/src/events.ts":{"bytes":2375,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-client/src/meta.ts","kind":"import-statement","original":"./meta"}],"format":"esm"},"packages/plugins/plugin-client/src/capabilities/client.ts":{"bytes":4501,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-client/src/capabilities/capabilities.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/plugins/plugin-client/src/events.ts","kind":"import-statement","original":"../events"}],"format":"esm"},"packages/plugins/plugin-client/src/components/DevicesContainer.tsx":{"bytes":33995,"imports":[{"path":"@phosphor-icons/react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react-qr-rounded","kind":"import-statement","external":true},{"path":"@dxos/app-framework","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-client/halo","kind":"import-statement","external":true},{"path":"@dxos/react-client/invitations","kind":"import-statement","external":true},{"path":"@dxos/react-client/mesh","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-form","kind":"import-statement","external":true},{"path":"@dxos/react-ui-stack","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"@dxos/shell/react","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-client/src/meta.ts","kind":"import-statement","original":"../meta"},{"path":"packages/plugins/plugin-client/src/types.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"packages/plugins/plugin-client/src/components/JoinDialog.tsx":{"bytes":6974,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/plugin-observability/types","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/shell/react","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-client/src/meta.ts","kind":"import-statement","original":"../meta"},{"path":"packages/plugins/plugin-client/src/types.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"packages/plugins/plugin-client/src/components/ProfileContainer.tsx":{"bytes":21191,"imports":[{"path":"effect","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"@dxos/react-client/halo","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-form","kind":"import-statement","external":true},{"path":"@dxos/react-ui-pickers","kind":"import-statement","external":true},{"path":"@dxos/react-ui-stack","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-client/src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"packages/plugins/plugin-client/src/components/RecoveryCodeDialog.tsx":{"bytes":8945,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-client/src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"packages/plugins/plugin-client/src/components/RecoveryCredentialsContainer.tsx":{"bytes":10689,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-client/halo","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-form","kind":"import-statement","external":true},{"path":"@dxos/react-ui-stack","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-client/src/meta.ts","kind":"import-statement","original":"../meta"},{"path":"packages/plugins/plugin-client/src/types.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"packages/plugins/plugin-client/src/components/ResetDialog.tsx":{"bytes":6658,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/shell/react","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-client/src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"packages/plugins/plugin-client/src/components/index.ts":{"bytes":1092,"imports":[{"path":"packages/plugins/plugin-client/src/components/DevicesContainer.tsx","kind":"import-statement","original":"./DevicesContainer"},{"path":"packages/plugins/plugin-client/src/components/JoinDialog.tsx","kind":"import-statement","original":"./JoinDialog"},{"path":"packages/plugins/plugin-client/src/components/ProfileContainer.tsx","kind":"import-statement","original":"./ProfileContainer"},{"path":"packages/plugins/plugin-client/src/components/RecoveryCodeDialog.tsx","kind":"import-statement","original":"./RecoveryCodeDialog"},{"path":"packages/plugins/plugin-client/src/components/RecoveryCredentialsContainer.tsx","kind":"import-statement","original":"./RecoveryCredentialsContainer"},{"path":"packages/plugins/plugin-client/src/components/ResetDialog.tsx","kind":"import-statement","original":"./ResetDialog"}],"format":"esm"},"packages/plugins/plugin-client/src/capabilities/intent-resolver.ts":{"bytes":33443,"imports":[{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/plugin-observability/types","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-client/src/capabilities/capabilities.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/plugins/plugin-client/src/components/index.ts","kind":"import-statement","original":"../components"},{"path":"packages/plugins/plugin-client/src/events.ts","kind":"import-statement","original":"../events"},{"path":"packages/plugins/plugin-client/src/types.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"packages/plugins/plugin-client/src/capabilities/migrations.ts":{"bytes":3142,"imports":[{"path":"@preact/signals-core","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-client/src/capabilities/capabilities.ts","kind":"import-statement","original":"./capabilities"}],"format":"esm"},"packages/plugins/plugin-client/src/capabilities/react-context.tsx":{"bytes":2461,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-client/src/capabilities/capabilities.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/plugins/plugin-client/src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"packages/plugins/plugin-client/src/capabilities/react-surface.tsx":{"bytes":7673,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-client/src/components/index.ts","kind":"import-statement","original":"../components"},{"path":"packages/plugins/plugin-client/src/types.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"packages/plugins/plugin-client/src/capabilities/schema.ts":{"bytes":3522,"imports":[{"path":"@preact/signals-core","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-client/src/capabilities/capabilities.ts","kind":"import-statement","original":"./capabilities"}],"format":"esm"},"packages/plugins/plugin-client/src/capabilities/index.ts":{"bytes":2428,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-client/src/capabilities/capabilities.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/plugins/plugin-client/src/capabilities/app-graph-builder.ts","kind":"dynamic-import","original":"./app-graph-builder"},{"path":"packages/plugins/plugin-client/src/capabilities/client.ts","kind":"dynamic-import","original":"./client"},{"path":"packages/plugins/plugin-client/src/capabilities/intent-resolver.ts","kind":"dynamic-import","original":"./intent-resolver"},{"path":"packages/plugins/plugin-client/src/capabilities/migrations.ts","kind":"dynamic-import","original":"./migrations"},{"path":"packages/plugins/plugin-client/src/capabilities/react-context.tsx","kind":"dynamic-import","original":"./react-context"},{"path":"packages/plugins/plugin-client/src/capabilities/react-surface.tsx","kind":"dynamic-import","original":"./react-surface"},{"path":"packages/plugins/plugin-client/src/capabilities/schema.ts","kind":"dynamic-import","original":"./schema"}],"format":"esm"},"packages/plugins/plugin-client/src/translations.ts":{"bytes":11488,"imports":[{"path":"packages/plugins/plugin-client/src/meta.ts","kind":"import-statement","original":"./meta"}],"format":"esm"},"packages/plugins/plugin-client/src/ClientPlugin.ts":{"bytes":9414,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-client/src/capabilities/index.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/plugins/plugin-client/src/events.ts","kind":"import-statement","original":"./events"},{"path":"packages/plugins/plugin-client/src/meta.ts","kind":"import-statement","original":"./meta"},{"path":"packages/plugins/plugin-client/src/translations.ts","kind":"import-statement","original":"./translations"}],"format":"esm"},"packages/plugins/plugin-client/src/index.ts":{"bytes":944,"imports":[{"path":"packages/plugins/plugin-client/src/ClientPlugin.ts","kind":"import-statement","original":"./ClientPlugin"},{"path":"packages/plugins/plugin-client/src/meta.ts","kind":"import-statement","original":"./meta"},{"path":"packages/plugins/plugin-client/src/capabilities/index.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/plugins/plugin-client/src/events.ts","kind":"import-statement","original":"./events"}],"format":"esm"}},"outputs":{"packages/plugins/plugin-client/dist/lib/node/schema-INQ72F54.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1855},"packages/plugins/plugin-client/dist/lib/node/schema-INQ72F54.cjs":{"imports":[{"path":"packages/plugins/plugin-client/dist/lib/node/chunk-ZVQIICEN.cjs","kind":"import-statement"},{"path":"packages/plugins/plugin-client/dist/lib/node/chunk-DJKWB5L6.cjs","kind":"import-statement"},{"path":"@preact/signals-core","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/plugins/plugin-client/src/capabilities/schema.ts","inputs":{"packages/plugins/plugin-client/src/capabilities/schema.ts":{"bytesInOutput":594}},"bytes":833},"packages/plugins/plugin-client/dist/lib/node/index.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":10504},"packages/plugins/plugin-client/dist/lib/node/index.cjs":{"imports":[{"path":"packages/plugins/plugin-client/dist/lib/node/chunk-W64EOF2B.cjs","kind":"import-statement"},{"path":"packages/plugins/plugin-client/dist/lib/node/chunk-ZVQIICEN.cjs","kind":"import-statement"},{"path":"packages/plugins/plugin-client/dist/lib/node/chunk-DJKWB5L6.cjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-client/dist/lib/node/app-graph-builder-PXOJZJO5.cjs","kind":"dynamic-import"},{"path":"packages/plugins/plugin-client/dist/lib/node/client-BKTGRBYM.cjs","kind":"dynamic-import"},{"path":"packages/plugins/plugin-client/dist/lib/node/intent-resolver-U2576ALY.cjs","kind":"dynamic-import"},{"path":"packages/plugins/plugin-client/dist/lib/node/migrations-TGNI4FVL.cjs","kind":"dynamic-import"},{"path":"packages/plugins/plugin-client/dist/lib/node/react-context-SF3M3YLR.cjs","kind":"dynamic-import"},{"path":"packages/plugins/plugin-client/dist/lib/node/react-surface-BSTIXMER.cjs","kind":"dynamic-import"},{"path":"packages/plugins/plugin-client/dist/lib/node/schema-INQ72F54.cjs","kind":"dynamic-import"}],"exports":["CLIENT_PLUGIN","ClientCapabilities","ClientEvents","ClientPlugin","meta"],"entryPoint":"packages/plugins/plugin-client/src/index.ts","inputs":{"packages/plugins/plugin-client/src/ClientPlugin.ts":{"bytesInOutput":2045},"packages/plugins/plugin-client/src/capabilities/index.ts":{"bytesInOutput":563},"packages/plugins/plugin-client/src/translations.ts":{"bytesInOutput":4069},"packages/plugins/plugin-client/src/index.ts":{"bytesInOutput":0}},"bytes":7208},"packages/plugins/plugin-client/dist/lib/node/types.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"packages/plugins/plugin-client/dist/lib/node/types.cjs":{"imports":[{"path":"packages/plugins/plugin-client/dist/lib/node/chunk-FROKBEVH.cjs","kind":"import-statement"},{"path":"packages/plugins/plugin-client/dist/lib/node/chunk-DJKWB5L6.cjs","kind":"import-statement"}],"exports":["Account","ClientAction"],"entryPoint":"packages/plugins/plugin-client/src/types.ts","inputs":{},"bytes":170},"packages/plugins/plugin-client/dist/lib/node/app-graph-builder-PXOJZJO5.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":5884},"packages/plugins/plugin-client/dist/lib/node/app-graph-builder-PXOJZJO5.cjs":{"imports":[{"path":"packages/plugins/plugin-client/dist/lib/node/chunk-ZVQIICEN.cjs","kind":"import-statement"},{"path":"packages/plugins/plugin-client/dist/lib/node/chunk-FROKBEVH.cjs","kind":"import-statement"},{"path":"packages/plugins/plugin-client/dist/lib/node/chunk-DJKWB5L6.cjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/plugin-graph","kind":"import-statement","external":true},{"path":"@dxos/react-client/mesh","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/plugins/plugin-client/src/capabilities/app-graph-builder.ts","inputs":{"packages/plugins/plugin-client/src/capabilities/app-graph-builder.ts":{"bytesInOutput":3175}},"bytes":3538},"packages/plugins/plugin-client/dist/lib/node/client-BKTGRBYM.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":2357},"packages/plugins/plugin-client/dist/lib/node/client-BKTGRBYM.cjs":{"imports":[{"path":"packages/plugins/plugin-client/dist/lib/node/chunk-W64EOF2B.cjs","kind":"import-statement"},{"path":"packages/plugins/plugin-client/dist/lib/node/chunk-ZVQIICEN.cjs","kind":"import-statement"},{"path":"packages/plugins/plugin-client/dist/lib/node/chunk-DJKWB5L6.cjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/plugins/plugin-client/src/capabilities/client.ts","inputs":{"packages/plugins/plugin-client/src/capabilities/client.ts":{"bytesInOutput":780}},"bytes":1074},"packages/plugins/plugin-client/dist/lib/node/intent-resolver-U2576ALY.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":14780},"packages/plugins/plugin-client/dist/lib/node/intent-resolver-U2576ALY.cjs":{"imports":[{"path":"packages/plugins/plugin-client/dist/lib/node/chunk-W64EOF2B.cjs","kind":"import-statement"},{"path":"packages/plugins/plugin-client/dist/lib/node/chunk-ZVQIICEN.cjs","kind":"import-statement"},{"path":"packages/plugins/plugin-client/dist/lib/node/chunk-3JE5BFCT.cjs","kind":"import-statement"},{"path":"packages/plugins/plugin-client/dist/lib/node/chunk-FROKBEVH.cjs","kind":"import-statement"},{"path":"packages/plugins/plugin-client/dist/lib/node/chunk-DJKWB5L6.cjs","kind":"import-statement"},{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/plugin-observability/types","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/plugins/plugin-client/src/capabilities/intent-resolver.ts","inputs":{"packages/plugins/plugin-client/src/capabilities/intent-resolver.ts":{"bytesInOutput":8682}},"bytes":9163},"packages/plugins/plugin-client/dist/lib/node/chunk-W64EOF2B.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1124},"packages/plugins/plugin-client/dist/lib/node/chunk-W64EOF2B.cjs":{"imports":[{"path":"packages/plugins/plugin-client/dist/lib/node/chunk-DJKWB5L6.cjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true}],"exports":["ClientEvents"],"inputs":{"packages/plugins/plugin-client/src/events.ts":{"bytesInOutput":561}},"bytes":738},"packages/plugins/plugin-client/dist/lib/node/migrations-TGNI4FVL.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1669},"packages/plugins/plugin-client/dist/lib/node/migrations-TGNI4FVL.cjs":{"imports":[{"path":"packages/plugins/plugin-client/dist/lib/node/chunk-ZVQIICEN.cjs","kind":"import-statement"},{"path":"packages/plugins/plugin-client/dist/lib/node/chunk-DJKWB5L6.cjs","kind":"import-statement"},{"path":"@preact/signals-core","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/plugins/plugin-client/src/capabilities/migrations.ts","inputs":{"packages/plugins/plugin-client/src/capabilities/migrations.ts":{"bytesInOutput":568}},"bytes":819},"packages/plugins/plugin-client/dist/lib/node/react-context-SF3M3YLR.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1225},"packages/plugins/plugin-client/dist/lib/node/react-context-SF3M3YLR.cjs":{"imports":[{"path":"packages/plugins/plugin-client/dist/lib/node/chunk-ZVQIICEN.cjs","kind":"import-statement"},{"path":"packages/plugins/plugin-client/dist/lib/node/chunk-DJKWB5L6.cjs","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/plugins/plugin-client/src/capabilities/react-context.tsx","inputs":{"packages/plugins/plugin-client/src/capabilities/react-context.tsx":{"bytesInOutput":452}},"bytes":738},"packages/plugins/plugin-client/dist/lib/node/chunk-ZVQIICEN.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1253},"packages/plugins/plugin-client/dist/lib/node/chunk-ZVQIICEN.cjs":{"imports":[{"path":"packages/plugins/plugin-client/dist/lib/node/chunk-DJKWB5L6.cjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true}],"exports":["ClientCapabilities"],"inputs":{"packages/plugins/plugin-client/src/capabilities/capabilities.ts":{"bytesInOutput":539}},"bytes":741},"packages/plugins/plugin-client/dist/lib/node/react-surface-BSTIXMER.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":3827},"packages/plugins/plugin-client/dist/lib/node/react-surface-BSTIXMER.cjs":{"imports":[{"path":"packages/plugins/plugin-client/dist/lib/node/chunk-3JE5BFCT.cjs","kind":"import-statement"},{"path":"packages/plugins/plugin-client/dist/lib/node/chunk-FROKBEVH.cjs","kind":"import-statement"},{"path":"packages/plugins/plugin-client/dist/lib/node/chunk-DJKWB5L6.cjs","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/plugins/plugin-client/src/capabilities/react-surface.tsx","inputs":{"packages/plugins/plugin-client/src/capabilities/react-surface.tsx":{"bytesInOutput":1574}},"bytes":2041},"packages/plugins/plugin-client/dist/lib/node/chunk-3JE5BFCT.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":46482},"packages/plugins/plugin-client/dist/lib/node/chunk-3JE5BFCT.cjs":{"imports":[{"path":"packages/plugins/plugin-client/dist/lib/node/chunk-FROKBEVH.cjs","kind":"import-statement"},{"path":"packages/plugins/plugin-client/dist/lib/node/chunk-DJKWB5L6.cjs","kind":"import-statement"},{"path":"@phosphor-icons/react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react-qr-rounded","kind":"import-statement","external":true},{"path":"@dxos/app-framework","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-client/halo","kind":"import-statement","external":true},{"path":"@dxos/react-client/invitations","kind":"import-statement","external":true},{"path":"@dxos/react-client/mesh","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-form","kind":"import-statement","external":true},{"path":"@dxos/react-ui-stack","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"@dxos/shell/react","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/plugin-observability/types","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/shell/react","kind":"import-statement","external":true},{"path":"effect","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"@dxos/react-client/halo","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-form","kind":"import-statement","external":true},{"path":"@dxos/react-ui-pickers","kind":"import-statement","external":true},{"path":"@dxos/react-ui-stack","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-client/halo","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-form","kind":"import-statement","external":true},{"path":"@dxos/react-ui-stack","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/shell/react","kind":"import-statement","external":true}],"exports":["DevicesContainer","JOIN_DIALOG","JoinDialog","ProfileContainer","RECOVERY_CODE_DIALOG","RESET_DIALOG","RecoveryCodeDialog","RecoveryCredentialsContainer","ResetDialog"],"inputs":{"packages/plugins/plugin-client/src/components/DevicesContainer.tsx":{"bytesInOutput":9953},"packages/plugins/plugin-client/src/components/JoinDialog.tsx":{"bytesInOutput":1766},"packages/plugins/plugin-client/src/components/ProfileContainer.tsx":{"bytesInOutput":5655},"packages/plugins/plugin-client/src/components/RecoveryCodeDialog.tsx":{"bytesInOutput":2821},"packages/plugins/plugin-client/src/components/RecoveryCredentialsContainer.tsx":{"bytesInOutput":3155},"packages/plugins/plugin-client/src/components/ResetDialog.tsx":{"bytesInOutput":1690},"packages/plugins/plugin-client/src/components/index.ts":{"bytesInOutput":0}},"bytes":25814},"packages/plugins/plugin-client/dist/lib/node/chunk-FROKBEVH.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":6406},"packages/plugins/plugin-client/dist/lib/node/chunk-FROKBEVH.cjs":{"imports":[{"path":"packages/plugins/plugin-client/dist/lib/node/chunk-DJKWB5L6.cjs","kind":"import-statement"},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true}],"exports":["Account","ClientAction"],"inputs":{"packages/plugins/plugin-client/src/types.ts":{"bytesInOutput":2789}},"bytes":2976},"packages/plugins/plugin-client/dist/lib/node/chunk-DJKWB5L6.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":454},"packages/plugins/plugin-client/dist/lib/node/chunk-DJKWB5L6.cjs":{"imports":[],"exports":["CLIENT_PLUGIN","meta"],"inputs":{"packages/plugins/plugin-client/src/meta.ts":{"bytesInOutput":100}},"bytes":227}}}
1
+ {"inputs":{"packages/plugins/plugin-client/src/meta.ts":{"bytes":963,"imports":[],"format":"esm"},"packages/plugins/plugin-client/src/capabilities/capabilities.ts":{"bytes":2504,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-client/src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"packages/plugins/plugin-client/src/types.ts":{"bytes":12574,"imports":[{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-client/src/meta.ts","kind":"import-statement","original":"./meta"}],"format":"esm"},"packages/plugins/plugin-client/src/capabilities/app-graph-builder.ts":{"bytes":13237,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/plugin-graph","kind":"import-statement","external":true},{"path":"@dxos/react-client/mesh","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-client/src/capabilities/capabilities.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/plugins/plugin-client/src/meta.ts","kind":"import-statement","original":"../meta"},{"path":"packages/plugins/plugin-client/src/types.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"packages/plugins/plugin-client/src/events.ts":{"bytes":2375,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-client/src/meta.ts","kind":"import-statement","original":"./meta"}],"format":"esm"},"packages/plugins/plugin-client/src/capabilities/client.ts":{"bytes":4501,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-client/src/capabilities/capabilities.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/plugins/plugin-client/src/events.ts","kind":"import-statement","original":"../events"}],"format":"esm"},"packages/plugins/plugin-client/src/components/DevicesContainer.tsx":{"bytes":34578,"imports":[{"path":"@phosphor-icons/react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react-qr-rounded","kind":"import-statement","external":true},{"path":"@dxos/app-framework","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-client/halo","kind":"import-statement","external":true},{"path":"@dxos/react-client/invitations","kind":"import-statement","external":true},{"path":"@dxos/react-client/mesh","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-form","kind":"import-statement","external":true},{"path":"@dxos/react-ui-stack","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"@dxos/shell/react","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-client/src/meta.ts","kind":"import-statement","original":"../meta"},{"path":"packages/plugins/plugin-client/src/types.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"packages/plugins/plugin-client/src/components/JoinDialog.tsx":{"bytes":6974,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/plugin-observability/types","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/shell/react","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-client/src/meta.ts","kind":"import-statement","original":"../meta"},{"path":"packages/plugins/plugin-client/src/types.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"packages/plugins/plugin-client/src/components/ProfileContainer.tsx":{"bytes":21434,"imports":[{"path":"effect","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"@dxos/react-client/halo","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-form","kind":"import-statement","external":true},{"path":"@dxos/react-ui-pickers","kind":"import-statement","external":true},{"path":"@dxos/react-ui-stack","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-client/src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"packages/plugins/plugin-client/src/components/RecoveryCodeDialog.tsx":{"bytes":8945,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-client/src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"packages/plugins/plugin-client/src/components/RecoveryCredentialsContainer.tsx":{"bytes":10988,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-client/halo","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-form","kind":"import-statement","external":true},{"path":"@dxos/react-ui-stack","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-client/src/meta.ts","kind":"import-statement","original":"../meta"},{"path":"packages/plugins/plugin-client/src/types.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"packages/plugins/plugin-client/src/components/ResetDialog.tsx":{"bytes":6658,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/shell/react","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-client/src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"packages/plugins/plugin-client/src/components/index.ts":{"bytes":1092,"imports":[{"path":"packages/plugins/plugin-client/src/components/DevicesContainer.tsx","kind":"import-statement","original":"./DevicesContainer"},{"path":"packages/plugins/plugin-client/src/components/JoinDialog.tsx","kind":"import-statement","original":"./JoinDialog"},{"path":"packages/plugins/plugin-client/src/components/ProfileContainer.tsx","kind":"import-statement","original":"./ProfileContainer"},{"path":"packages/plugins/plugin-client/src/components/RecoveryCodeDialog.tsx","kind":"import-statement","original":"./RecoveryCodeDialog"},{"path":"packages/plugins/plugin-client/src/components/RecoveryCredentialsContainer.tsx","kind":"import-statement","original":"./RecoveryCredentialsContainer"},{"path":"packages/plugins/plugin-client/src/components/ResetDialog.tsx","kind":"import-statement","original":"./ResetDialog"}],"format":"esm"},"packages/plugins/plugin-client/src/capabilities/intent-resolver.ts":{"bytes":33443,"imports":[{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/plugin-observability/types","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-client/src/capabilities/capabilities.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/plugins/plugin-client/src/components/index.ts","kind":"import-statement","original":"../components"},{"path":"packages/plugins/plugin-client/src/events.ts","kind":"import-statement","original":"../events"},{"path":"packages/plugins/plugin-client/src/types.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"packages/plugins/plugin-client/src/capabilities/migrations.ts":{"bytes":3142,"imports":[{"path":"@preact/signals-core","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-client/src/capabilities/capabilities.ts","kind":"import-statement","original":"./capabilities"}],"format":"esm"},"packages/plugins/plugin-client/src/capabilities/react-context.tsx":{"bytes":2461,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-client/src/capabilities/capabilities.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/plugins/plugin-client/src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"packages/plugins/plugin-client/src/capabilities/react-surface.tsx":{"bytes":7673,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-client/src/components/index.ts","kind":"import-statement","original":"../components"},{"path":"packages/plugins/plugin-client/src/types.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"packages/plugins/plugin-client/src/capabilities/schema.ts":{"bytes":3522,"imports":[{"path":"@preact/signals-core","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-client/src/capabilities/capabilities.ts","kind":"import-statement","original":"./capabilities"}],"format":"esm"},"packages/plugins/plugin-client/src/capabilities/index.ts":{"bytes":2428,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-client/src/capabilities/capabilities.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/plugins/plugin-client/src/capabilities/app-graph-builder.ts","kind":"dynamic-import","original":"./app-graph-builder"},{"path":"packages/plugins/plugin-client/src/capabilities/client.ts","kind":"dynamic-import","original":"./client"},{"path":"packages/plugins/plugin-client/src/capabilities/intent-resolver.ts","kind":"dynamic-import","original":"./intent-resolver"},{"path":"packages/plugins/plugin-client/src/capabilities/migrations.ts","kind":"dynamic-import","original":"./migrations"},{"path":"packages/plugins/plugin-client/src/capabilities/react-context.tsx","kind":"dynamic-import","original":"./react-context"},{"path":"packages/plugins/plugin-client/src/capabilities/react-surface.tsx","kind":"dynamic-import","original":"./react-surface"},{"path":"packages/plugins/plugin-client/src/capabilities/schema.ts","kind":"dynamic-import","original":"./schema"}],"format":"esm"},"packages/plugins/plugin-client/src/translations.ts":{"bytes":11488,"imports":[{"path":"packages/plugins/plugin-client/src/meta.ts","kind":"import-statement","original":"./meta"}],"format":"esm"},"packages/plugins/plugin-client/src/ClientPlugin.ts":{"bytes":9414,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-client/src/capabilities/index.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/plugins/plugin-client/src/events.ts","kind":"import-statement","original":"./events"},{"path":"packages/plugins/plugin-client/src/meta.ts","kind":"import-statement","original":"./meta"},{"path":"packages/plugins/plugin-client/src/translations.ts","kind":"import-statement","original":"./translations"}],"format":"esm"},"packages/plugins/plugin-client/src/index.ts":{"bytes":944,"imports":[{"path":"packages/plugins/plugin-client/src/ClientPlugin.ts","kind":"import-statement","original":"./ClientPlugin"},{"path":"packages/plugins/plugin-client/src/meta.ts","kind":"import-statement","original":"./meta"},{"path":"packages/plugins/plugin-client/src/capabilities/index.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/plugins/plugin-client/src/events.ts","kind":"import-statement","original":"./events"}],"format":"esm"}},"outputs":{"packages/plugins/plugin-client/dist/lib/node/schema-INQ72F54.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1855},"packages/plugins/plugin-client/dist/lib/node/schema-INQ72F54.cjs":{"imports":[{"path":"packages/plugins/plugin-client/dist/lib/node/chunk-ZVQIICEN.cjs","kind":"import-statement"},{"path":"packages/plugins/plugin-client/dist/lib/node/chunk-DJKWB5L6.cjs","kind":"import-statement"},{"path":"@preact/signals-core","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/plugins/plugin-client/src/capabilities/schema.ts","inputs":{"packages/plugins/plugin-client/src/capabilities/schema.ts":{"bytesInOutput":594}},"bytes":833},"packages/plugins/plugin-client/dist/lib/node/index.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":10504},"packages/plugins/plugin-client/dist/lib/node/index.cjs":{"imports":[{"path":"packages/plugins/plugin-client/dist/lib/node/chunk-W64EOF2B.cjs","kind":"import-statement"},{"path":"packages/plugins/plugin-client/dist/lib/node/chunk-ZVQIICEN.cjs","kind":"import-statement"},{"path":"packages/plugins/plugin-client/dist/lib/node/chunk-DJKWB5L6.cjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-client/dist/lib/node/app-graph-builder-PXOJZJO5.cjs","kind":"dynamic-import"},{"path":"packages/plugins/plugin-client/dist/lib/node/client-BKTGRBYM.cjs","kind":"dynamic-import"},{"path":"packages/plugins/plugin-client/dist/lib/node/intent-resolver-ZFYETGJI.cjs","kind":"dynamic-import"},{"path":"packages/plugins/plugin-client/dist/lib/node/migrations-TGNI4FVL.cjs","kind":"dynamic-import"},{"path":"packages/plugins/plugin-client/dist/lib/node/react-context-SF3M3YLR.cjs","kind":"dynamic-import"},{"path":"packages/plugins/plugin-client/dist/lib/node/react-surface-GBPBVXLE.cjs","kind":"dynamic-import"},{"path":"packages/plugins/plugin-client/dist/lib/node/schema-INQ72F54.cjs","kind":"dynamic-import"}],"exports":["CLIENT_PLUGIN","ClientCapabilities","ClientEvents","ClientPlugin","meta"],"entryPoint":"packages/plugins/plugin-client/src/index.ts","inputs":{"packages/plugins/plugin-client/src/ClientPlugin.ts":{"bytesInOutput":2045},"packages/plugins/plugin-client/src/capabilities/index.ts":{"bytesInOutput":563},"packages/plugins/plugin-client/src/translations.ts":{"bytesInOutput":4069},"packages/plugins/plugin-client/src/index.ts":{"bytesInOutput":0}},"bytes":7208},"packages/plugins/plugin-client/dist/lib/node/types.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"packages/plugins/plugin-client/dist/lib/node/types.cjs":{"imports":[{"path":"packages/plugins/plugin-client/dist/lib/node/chunk-FROKBEVH.cjs","kind":"import-statement"},{"path":"packages/plugins/plugin-client/dist/lib/node/chunk-DJKWB5L6.cjs","kind":"import-statement"}],"exports":["Account","ClientAction"],"entryPoint":"packages/plugins/plugin-client/src/types.ts","inputs":{},"bytes":170},"packages/plugins/plugin-client/dist/lib/node/app-graph-builder-PXOJZJO5.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":5884},"packages/plugins/plugin-client/dist/lib/node/app-graph-builder-PXOJZJO5.cjs":{"imports":[{"path":"packages/plugins/plugin-client/dist/lib/node/chunk-ZVQIICEN.cjs","kind":"import-statement"},{"path":"packages/plugins/plugin-client/dist/lib/node/chunk-FROKBEVH.cjs","kind":"import-statement"},{"path":"packages/plugins/plugin-client/dist/lib/node/chunk-DJKWB5L6.cjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/plugin-graph","kind":"import-statement","external":true},{"path":"@dxos/react-client/mesh","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/plugins/plugin-client/src/capabilities/app-graph-builder.ts","inputs":{"packages/plugins/plugin-client/src/capabilities/app-graph-builder.ts":{"bytesInOutput":3175}},"bytes":3538},"packages/plugins/plugin-client/dist/lib/node/client-BKTGRBYM.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":2357},"packages/plugins/plugin-client/dist/lib/node/client-BKTGRBYM.cjs":{"imports":[{"path":"packages/plugins/plugin-client/dist/lib/node/chunk-W64EOF2B.cjs","kind":"import-statement"},{"path":"packages/plugins/plugin-client/dist/lib/node/chunk-ZVQIICEN.cjs","kind":"import-statement"},{"path":"packages/plugins/plugin-client/dist/lib/node/chunk-DJKWB5L6.cjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/plugins/plugin-client/src/capabilities/client.ts","inputs":{"packages/plugins/plugin-client/src/capabilities/client.ts":{"bytesInOutput":780}},"bytes":1074},"packages/plugins/plugin-client/dist/lib/node/intent-resolver-ZFYETGJI.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":14780},"packages/plugins/plugin-client/dist/lib/node/intent-resolver-ZFYETGJI.cjs":{"imports":[{"path":"packages/plugins/plugin-client/dist/lib/node/chunk-W64EOF2B.cjs","kind":"import-statement"},{"path":"packages/plugins/plugin-client/dist/lib/node/chunk-ZVQIICEN.cjs","kind":"import-statement"},{"path":"packages/plugins/plugin-client/dist/lib/node/chunk-QNZIRU35.cjs","kind":"import-statement"},{"path":"packages/plugins/plugin-client/dist/lib/node/chunk-FROKBEVH.cjs","kind":"import-statement"},{"path":"packages/plugins/plugin-client/dist/lib/node/chunk-DJKWB5L6.cjs","kind":"import-statement"},{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/plugin-observability/types","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/plugins/plugin-client/src/capabilities/intent-resolver.ts","inputs":{"packages/plugins/plugin-client/src/capabilities/intent-resolver.ts":{"bytesInOutput":8682}},"bytes":9163},"packages/plugins/plugin-client/dist/lib/node/chunk-W64EOF2B.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1124},"packages/plugins/plugin-client/dist/lib/node/chunk-W64EOF2B.cjs":{"imports":[{"path":"packages/plugins/plugin-client/dist/lib/node/chunk-DJKWB5L6.cjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true}],"exports":["ClientEvents"],"inputs":{"packages/plugins/plugin-client/src/events.ts":{"bytesInOutput":561}},"bytes":738},"packages/plugins/plugin-client/dist/lib/node/migrations-TGNI4FVL.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1669},"packages/plugins/plugin-client/dist/lib/node/migrations-TGNI4FVL.cjs":{"imports":[{"path":"packages/plugins/plugin-client/dist/lib/node/chunk-ZVQIICEN.cjs","kind":"import-statement"},{"path":"packages/plugins/plugin-client/dist/lib/node/chunk-DJKWB5L6.cjs","kind":"import-statement"},{"path":"@preact/signals-core","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/plugins/plugin-client/src/capabilities/migrations.ts","inputs":{"packages/plugins/plugin-client/src/capabilities/migrations.ts":{"bytesInOutput":568}},"bytes":819},"packages/plugins/plugin-client/dist/lib/node/react-context-SF3M3YLR.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1225},"packages/plugins/plugin-client/dist/lib/node/react-context-SF3M3YLR.cjs":{"imports":[{"path":"packages/plugins/plugin-client/dist/lib/node/chunk-ZVQIICEN.cjs","kind":"import-statement"},{"path":"packages/plugins/plugin-client/dist/lib/node/chunk-DJKWB5L6.cjs","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/plugins/plugin-client/src/capabilities/react-context.tsx","inputs":{"packages/plugins/plugin-client/src/capabilities/react-context.tsx":{"bytesInOutput":452}},"bytes":738},"packages/plugins/plugin-client/dist/lib/node/chunk-ZVQIICEN.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1253},"packages/plugins/plugin-client/dist/lib/node/chunk-ZVQIICEN.cjs":{"imports":[{"path":"packages/plugins/plugin-client/dist/lib/node/chunk-DJKWB5L6.cjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true}],"exports":["ClientCapabilities"],"inputs":{"packages/plugins/plugin-client/src/capabilities/capabilities.ts":{"bytesInOutput":539}},"bytes":741},"packages/plugins/plugin-client/dist/lib/node/react-surface-GBPBVXLE.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":3827},"packages/plugins/plugin-client/dist/lib/node/react-surface-GBPBVXLE.cjs":{"imports":[{"path":"packages/plugins/plugin-client/dist/lib/node/chunk-QNZIRU35.cjs","kind":"import-statement"},{"path":"packages/plugins/plugin-client/dist/lib/node/chunk-FROKBEVH.cjs","kind":"import-statement"},{"path":"packages/plugins/plugin-client/dist/lib/node/chunk-DJKWB5L6.cjs","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/plugins/plugin-client/src/capabilities/react-surface.tsx","inputs":{"packages/plugins/plugin-client/src/capabilities/react-surface.tsx":{"bytesInOutput":1574}},"bytes":2041},"packages/plugins/plugin-client/dist/lib/node/chunk-QNZIRU35.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":47271},"packages/plugins/plugin-client/dist/lib/node/chunk-QNZIRU35.cjs":{"imports":[{"path":"packages/plugins/plugin-client/dist/lib/node/chunk-FROKBEVH.cjs","kind":"import-statement"},{"path":"packages/plugins/plugin-client/dist/lib/node/chunk-DJKWB5L6.cjs","kind":"import-statement"},{"path":"@phosphor-icons/react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react-qr-rounded","kind":"import-statement","external":true},{"path":"@dxos/app-framework","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-client/halo","kind":"import-statement","external":true},{"path":"@dxos/react-client/invitations","kind":"import-statement","external":true},{"path":"@dxos/react-client/mesh","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-form","kind":"import-statement","external":true},{"path":"@dxos/react-ui-stack","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"@dxos/shell/react","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/plugin-observability/types","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/shell/react","kind":"import-statement","external":true},{"path":"effect","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"@dxos/react-client/halo","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-form","kind":"import-statement","external":true},{"path":"@dxos/react-ui-pickers","kind":"import-statement","external":true},{"path":"@dxos/react-ui-stack","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-client/halo","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-form","kind":"import-statement","external":true},{"path":"@dxos/react-ui-stack","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/shell/react","kind":"import-statement","external":true}],"exports":["DevicesContainer","JOIN_DIALOG","JoinDialog","ProfileContainer","RECOVERY_CODE_DIALOG","RESET_DIALOG","RecoveryCodeDialog","RecoveryCredentialsContainer","ResetDialog"],"inputs":{"packages/plugins/plugin-client/src/components/DevicesContainer.tsx":{"bytesInOutput":10018},"packages/plugins/plugin-client/src/components/JoinDialog.tsx":{"bytesInOutput":1766},"packages/plugins/plugin-client/src/components/ProfileContainer.tsx":{"bytesInOutput":5738},"packages/plugins/plugin-client/src/components/RecoveryCodeDialog.tsx":{"bytesInOutput":2821},"packages/plugins/plugin-client/src/components/RecoveryCredentialsContainer.tsx":{"bytesInOutput":3238},"packages/plugins/plugin-client/src/components/ResetDialog.tsx":{"bytesInOutput":1690},"packages/plugins/plugin-client/src/components/index.ts":{"bytesInOutput":0}},"bytes":26045},"packages/plugins/plugin-client/dist/lib/node/chunk-FROKBEVH.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":6406},"packages/plugins/plugin-client/dist/lib/node/chunk-FROKBEVH.cjs":{"imports":[{"path":"packages/plugins/plugin-client/dist/lib/node/chunk-DJKWB5L6.cjs","kind":"import-statement"},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true}],"exports":["Account","ClientAction"],"inputs":{"packages/plugins/plugin-client/src/types.ts":{"bytesInOutput":2789}},"bytes":2976},"packages/plugins/plugin-client/dist/lib/node/chunk-DJKWB5L6.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":454},"packages/plugins/plugin-client/dist/lib/node/chunk-DJKWB5L6.cjs":{"imports":[],"exports":["CLIENT_PLUGIN","meta"],"inputs":{"packages/plugins/plugin-client/src/meta.ts":{"bytesInOutput":100}},"bytes":227}}}
@@ -26,12 +26,12 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
26
26
  mod
27
27
  ));
28
28
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
- var react_surface_BSTIXMER_exports = {};
30
- __export(react_surface_BSTIXMER_exports, {
29
+ var react_surface_GBPBVXLE_exports = {};
30
+ __export(react_surface_GBPBVXLE_exports, {
31
31
  default: () => react_surface_default
32
32
  });
33
- module.exports = __toCommonJS(react_surface_BSTIXMER_exports);
34
- var import_chunk_3JE5BFCT = require("./chunk-3JE5BFCT.cjs");
33
+ module.exports = __toCommonJS(react_surface_GBPBVXLE_exports);
34
+ var import_chunk_QNZIRU35 = require("./chunk-QNZIRU35.cjs");
35
35
  var import_chunk_FROKBEVH = require("./chunk-FROKBEVH.cjs");
36
36
  var import_chunk_DJKWB5L6 = require("./chunk-DJKWB5L6.cjs");
37
37
  var import_react = __toESM(require("react"));
@@ -41,13 +41,13 @@ var react_surface_default = ({ createInvitationUrl, onReset }) => (0, import_app
41
41
  id: import_chunk_FROKBEVH.Account.Profile,
42
42
  role: "article",
43
43
  filter: (data) => data.subject === import_chunk_FROKBEVH.Account.Profile,
44
- component: () => /* @__PURE__ */ import_react.default.createElement(import_chunk_3JE5BFCT.ProfileContainer, null)
44
+ component: () => /* @__PURE__ */ import_react.default.createElement(import_chunk_QNZIRU35.ProfileContainer, null)
45
45
  }),
46
46
  (0, import_app_framework.createSurface)({
47
47
  id: import_chunk_FROKBEVH.Account.Devices,
48
48
  role: "article",
49
49
  filter: (data) => data.subject === import_chunk_FROKBEVH.Account.Devices,
50
- component: ({ data }) => /* @__PURE__ */ import_react.default.createElement(import_chunk_3JE5BFCT.DevicesContainer, {
50
+ component: ({ data }) => /* @__PURE__ */ import_react.default.createElement(import_chunk_QNZIRU35.DevicesContainer, {
51
51
  createInvitationUrl
52
52
  })
53
53
  }),
@@ -55,28 +55,28 @@ var react_surface_default = ({ createInvitationUrl, onReset }) => (0, import_app
55
55
  id: import_chunk_FROKBEVH.Account.Security,
56
56
  role: "article",
57
57
  filter: (data) => data.subject === import_chunk_FROKBEVH.Account.Security,
58
- component: () => /* @__PURE__ */ import_react.default.createElement(import_chunk_3JE5BFCT.RecoveryCredentialsContainer, null)
58
+ component: () => /* @__PURE__ */ import_react.default.createElement(import_chunk_QNZIRU35.RecoveryCredentialsContainer, null)
59
59
  }),
60
60
  (0, import_app_framework.createSurface)({
61
- id: import_chunk_3JE5BFCT.JOIN_DIALOG,
61
+ id: import_chunk_QNZIRU35.JOIN_DIALOG,
62
62
  role: "dialog",
63
- filter: (data) => data.component === import_chunk_3JE5BFCT.JOIN_DIALOG,
64
- component: ({ data }) => /* @__PURE__ */ import_react.default.createElement(import_chunk_3JE5BFCT.JoinDialog, data.props)
63
+ filter: (data) => data.component === import_chunk_QNZIRU35.JOIN_DIALOG,
64
+ component: ({ data }) => /* @__PURE__ */ import_react.default.createElement(import_chunk_QNZIRU35.JoinDialog, data.props)
65
65
  }),
66
66
  (0, import_app_framework.createSurface)({
67
- id: import_chunk_3JE5BFCT.RECOVERY_CODE_DIALOG,
67
+ id: import_chunk_QNZIRU35.RECOVERY_CODE_DIALOG,
68
68
  role: "dialog",
69
- filter: (data) => data.component === import_chunk_3JE5BFCT.RECOVERY_CODE_DIALOG,
70
- component: ({ data }) => /* @__PURE__ */ import_react.default.createElement(import_chunk_3JE5BFCT.RecoveryCodeDialog, data.props)
69
+ filter: (data) => data.component === import_chunk_QNZIRU35.RECOVERY_CODE_DIALOG,
70
+ component: ({ data }) => /* @__PURE__ */ import_react.default.createElement(import_chunk_QNZIRU35.RecoveryCodeDialog, data.props)
71
71
  }),
72
72
  (0, import_app_framework.createSurface)({
73
- id: import_chunk_3JE5BFCT.RESET_DIALOG,
73
+ id: import_chunk_QNZIRU35.RESET_DIALOG,
74
74
  role: "dialog",
75
- filter: (data) => data.component === import_chunk_3JE5BFCT.RESET_DIALOG,
76
- component: ({ data }) => /* @__PURE__ */ import_react.default.createElement(import_chunk_3JE5BFCT.ResetDialog, {
75
+ filter: (data) => data.component === import_chunk_QNZIRU35.RESET_DIALOG,
76
+ component: ({ data }) => /* @__PURE__ */ import_react.default.createElement(import_chunk_QNZIRU35.ResetDialog, {
77
77
  ...data.props,
78
78
  onReset
79
79
  })
80
80
  })
81
81
  ]);
82
- //# sourceMappingURL=react-surface-BSTIXMER.cjs.map
82
+ //# sourceMappingURL=react-surface-GBPBVXLE.cjs.map
@@ -17,7 +17,7 @@ import { useDevices } from "@dxos/react-client/halo";
17
17
  import { Invitation, InvitationEncoder } from "@dxos/react-client/invitations";
18
18
  import { useNetworkStatus } from "@dxos/react-client/mesh";
19
19
  import { Button, Clipboard, IconButton, List, useId, useTranslation } from "@dxos/react-ui";
20
- import { ControlFrame, ControlFrameItem, ControlGroup, ControlItem, ControlSection } from "@dxos/react-ui-form";
20
+ import { ControlFrame, ControlFrameItem, ControlGroup, ControlItem, ControlPage, ControlSection } from "@dxos/react-ui-form";
21
21
  import { StackItem } from "@dxos/react-ui-stack";
22
22
  import { getSize, mx } from "@dxos/react-ui-theme";
23
23
  import { AuthCode, Centered, DeviceListItem, Emoji, Viewport } from "@dxos/shell/react";
@@ -42,8 +42,8 @@ var DevicesContainer = ({ createInvitationUrl }) => {
42
42
  dispatch
43
43
  ]);
44
44
  return /* @__PURE__ */ React.createElement(Clipboard.Provider, null, /* @__PURE__ */ React.createElement(StackItem.Content, {
45
- classNames: "p-2 block overflow-y-auto"
46
- }, /* @__PURE__ */ React.createElement(ControlSection, {
45
+ classNames: "block overflow-y-auto"
46
+ }, /* @__PURE__ */ React.createElement(ControlPage, null, /* @__PURE__ */ React.createElement(ControlSection, {
47
47
  title: t("devices verbose label", {
48
48
  ns: CLIENT_PLUGIN
49
49
  }),
@@ -98,7 +98,7 @@ var DevicesContainer = ({ createInvitationUrl }) => {
98
98
  variant: "destructive",
99
99
  onClick: handleJoinNewIdentity,
100
100
  "data-testid": "devicesContainer.joinExisting"
101
- }, t("join new identity label")))))));
101
+ }, t("join new identity label"))))))));
102
102
  };
103
103
  var DeviceInvitation = (props) => {
104
104
  const client = useClient();
@@ -114,7 +114,7 @@ var DeviceInvitation = (props) => {
114
114
  authCode: invitation3.authCode
115
115
  }), void 0, {
116
116
  F: __dxlog_file,
117
- L: 122,
117
+ L: 139,
118
118
  S: void 0,
119
119
  C: (f, a) => f(...a)
120
120
  });
@@ -312,7 +312,7 @@ import { debounce } from "@dxos/async";
312
312
  import { useClient as useClient2 } from "@dxos/react-client";
313
313
  import { useIdentity } from "@dxos/react-client/halo";
314
314
  import { ButtonGroup, Clipboard as Clipboard2, Input, useTranslation as useTranslation3 } from "@dxos/react-ui";
315
- import { Form, ControlItem as ControlItem2, ControlItemInput, ControlSection as ControlSection2 } from "@dxos/react-ui-form";
315
+ import { Form, ControlItem as ControlItem2, ControlItemInput, ControlSection as ControlSection2, ControlPage as ControlPage2 } from "@dxos/react-ui-form";
316
316
  import { EmojiPickerBlock, HuePicker } from "@dxos/react-ui-pickers";
317
317
  import { StackItem as StackItem2 } from "@dxos/react-ui-stack";
318
318
  import { hexToHue, hexToEmoji as hexToEmoji2 } from "@dxos/util";
@@ -425,8 +425,8 @@ var ProfileContainer = () => {
425
425
  t
426
426
  ]);
427
427
  return /* @__PURE__ */ React3.createElement(StackItem2.Content, {
428
- classNames: "p-2 block overflow-y-auto"
429
- }, /* @__PURE__ */ React3.createElement(Clipboard2.Provider, null, /* @__PURE__ */ React3.createElement(ControlSection2, {
428
+ classNames: "block overflow-y-auto"
429
+ }, /* @__PURE__ */ React3.createElement(ControlPage2, null, /* @__PURE__ */ React3.createElement(Clipboard2.Provider, null, /* @__PURE__ */ React3.createElement(ControlSection2, {
430
430
  title: t("profile label"),
431
431
  description: t("profile description")
432
432
  }, /* @__PURE__ */ React3.createElement(Form, {
@@ -436,7 +436,7 @@ var ProfileContainer = () => {
436
436
  onSave: handleSave,
437
437
  Custom: customElements,
438
438
  classNames: 'p-0 container-max-width [&_[role="form"]]:grid [&_[role="form"]]:grid-cols-1 md:[&_[role="form"]]:grid-cols-[1fr_min-content] [&_[role="form"]]:gap-4'
439
- }))));
439
+ })))));
440
440
  };
441
441
  var ProfileSchema = S.Struct({
442
442
  displayName: S.String.annotations({
@@ -509,7 +509,7 @@ import React5 from "react";
509
509
  import { createIntent as createIntent3, useIntentDispatcher as useIntentDispatcher3 } from "@dxos/app-framework";
510
510
  import { useCredentials } from "@dxos/react-client/halo";
511
511
  import { Icon, IconButton as IconButton2, List as List2, ListItem, useTranslation as useTranslation5, Message } from "@dxos/react-ui";
512
- import { ControlGroup as ControlGroup2, ControlItem as ControlItem3, ControlSection as ControlSection3 } from "@dxos/react-ui-form";
512
+ import { ControlGroup as ControlGroup2, ControlItem as ControlItem3, ControlPage as ControlPage3, ControlSection as ControlSection3 } from "@dxos/react-ui-form";
513
513
  import { StackItem as StackItem3 } from "@dxos/react-ui-stack";
514
514
  var MANAGE_CREDENTIALS_DIALOG = `${CLIENT_PLUGIN}/ManageCredentialsDialog`;
515
515
  var RecoveryCredentialsContainer = () => {
@@ -518,8 +518,8 @@ var RecoveryCredentialsContainer = () => {
518
518
  const credentials = useCredentials();
519
519
  const recoveryCredentials = credentials.filter((credential) => credential.subject.assertion["@type"] === "dxos.halo.credentials.IdentityRecovery");
520
520
  return /* @__PURE__ */ React5.createElement(StackItem3.Content, {
521
- classNames: "p-2 block overflow-y-auto"
522
- }, /* @__PURE__ */ React5.createElement(ControlSection3, {
521
+ classNames: "block overflow-y-auto"
522
+ }, /* @__PURE__ */ React5.createElement(ControlPage3, null, /* @__PURE__ */ React5.createElement(ControlSection3, {
523
523
  title: t("recovery setup dialog title"),
524
524
  description: t("recovery setup dialog description")
525
525
  }, /* @__PURE__ */ React5.createElement(ControlGroup2, null, /* @__PURE__ */ React5.createElement(ControlItem3, {
@@ -556,7 +556,7 @@ var RecoveryCredentialsContainer = () => {
556
556
  }, /* @__PURE__ */ React5.createElement(ListItem.Endcap, null, /* @__PURE__ */ React5.createElement(Icon, {
557
557
  icon: "ph--key--regular",
558
558
  size: 5
559
- })), /* @__PURE__ */ React5.createElement(ListItem.Heading, null, credential.issuanceDate.toLocaleString()))))));
559
+ })), /* @__PURE__ */ React5.createElement(ListItem.Heading, null, credential.issuanceDate.toLocaleString())))))));
560
560
  };
561
561
 
562
562
  // packages/plugins/plugin-client/src/components/ResetDialog.tsx
@@ -617,4 +617,4 @@ export {
617
617
  RESET_DIALOG,
618
618
  ResetDialog
619
619
  };
620
- //# sourceMappingURL=chunk-LZN2UNN7.mjs.map
620
+ //# sourceMappingURL=chunk-6G43BNMU.mjs.map