@dxos/shell 0.7.5-main.2567c87 → 0.7.5-main.5ae2ba8
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.
- package/dist/bundle/{shell.mjs → shell.js} +20862 -21881
- package/dist/bundle/shell.js.map +1 -0
- package/dist/bundle/shell.umd.cjs +1045 -0
- package/dist/bundle/shell.umd.cjs.map +1 -0
- package/dist/bundle/style.css +1 -1
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/react.mjs +556 -804
- package/dist/lib/browser/react.mjs.map +4 -4
- package/dist/lib/node/meta.json +1 -1
- package/dist/lib/node/react.cjs +656 -904
- package/dist/lib/node/react.cjs.map +4 -4
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/lib/node-esm/react.mjs +556 -804
- package/dist/lib/node-esm/react.mjs.map +4 -4
- package/dist/types/src/components/AgentConfig.d.ts +1 -2
- package/dist/types/src/components/AgentConfig.d.ts.map +1 -1
- package/dist/types/src/components/AgentConfig.js +20 -50
- package/dist/types/src/components/AgentConfig.js.map +1 -1
- package/dist/types/src/components/AuthCode.d.ts +2 -2
- package/dist/types/src/components/AuthCode.d.ts.map +1 -1
- package/dist/types/src/components/AuthCode.js +6 -44
- package/dist/types/src/components/AuthCode.js.map +1 -1
- package/dist/types/src/components/CompoundButton/CompoundButton.d.ts +2 -2
- package/dist/types/src/components/CompoundButton/CompoundButton.d.ts.map +1 -1
- package/dist/types/src/components/CompoundButton/CompoundButton.js +9 -24
- package/dist/types/src/components/CompoundButton/CompoundButton.js.map +1 -1
- package/dist/types/src/components/CompoundButton/CompoundButton.stories.d.ts +8 -9
- package/dist/types/src/components/CompoundButton/CompoundButton.stories.d.ts.map +1 -1
- package/dist/types/src/components/CompoundButton/CompoundButton.stories.js +17 -25
- package/dist/types/src/components/CompoundButton/CompoundButton.stories.js.map +1 -1
- package/dist/types/src/components/CompoundButton/index.js +1 -17
- package/dist/types/src/components/CompoundButton/index.js.map +1 -1
- package/dist/types/src/components/DeviceList/DeviceList.d.ts +1 -2
- package/dist/types/src/components/DeviceList/DeviceList.d.ts.map +1 -1
- package/dist/types/src/components/DeviceList/DeviceList.js +10 -24
- package/dist/types/src/components/DeviceList/DeviceList.js.map +1 -1
- package/dist/types/src/components/DeviceList/DeviceListItem.d.ts +1 -1
- package/dist/types/src/components/DeviceList/DeviceListItem.js +18 -73
- package/dist/types/src/components/DeviceList/DeviceListItem.js.map +1 -1
- package/dist/types/src/components/DeviceList/DeviceListProps.js +0 -2
- package/dist/types/src/components/DeviceList/DeviceListProps.js.map +1 -1
- package/dist/types/src/components/DeviceList/index.js +2 -18
- package/dist/types/src/components/DeviceList/index.js.map +1 -1
- package/dist/types/src/components/IdentityList/IdentityListItem.d.ts +1 -1
- package/dist/types/src/components/IdentityList/IdentityListItem.js +12 -51
- package/dist/types/src/components/IdentityList/IdentityListItem.js.map +1 -1
- package/dist/types/src/components/IdentityList/SpaceMemberList.d.ts +2 -3
- package/dist/types/src/components/IdentityList/SpaceMemberList.d.ts.map +1 -1
- package/dist/types/src/components/IdentityList/SpaceMemberList.js +17 -55
- package/dist/types/src/components/IdentityList/SpaceMemberList.js.map +1 -1
- package/dist/types/src/components/IdentityList/SpaceMemberList.stories.d.ts +3 -4
- package/dist/types/src/components/IdentityList/SpaceMemberList.stories.d.ts.map +1 -1
- package/dist/types/src/components/IdentityList/SpaceMemberList.stories.js +10 -17
- package/dist/types/src/components/IdentityList/SpaceMemberList.stories.js.map +1 -1
- package/dist/types/src/components/IdentityList/index.js +2 -18
- package/dist/types/src/components/IdentityList/index.js.map +1 -1
- package/dist/types/src/components/InvitationList/InvitationList.d.ts +2 -2
- package/dist/types/src/components/InvitationList/InvitationList.d.ts.map +1 -1
- package/dist/types/src/components/InvitationList/InvitationList.js +10 -20
- package/dist/types/src/components/InvitationList/InvitationList.js.map +1 -1
- package/dist/types/src/components/InvitationList/InvitationList.stories.d.ts +3 -4
- package/dist/types/src/components/InvitationList/InvitationList.stories.d.ts.map +1 -1
- package/dist/types/src/components/InvitationList/InvitationList.stories.js +20 -27
- package/dist/types/src/components/InvitationList/InvitationList.stories.js.map +1 -1
- package/dist/types/src/components/InvitationList/InvitationListContainer.d.ts +1 -2
- package/dist/types/src/components/InvitationList/InvitationListContainer.d.ts.map +1 -1
- package/dist/types/src/components/InvitationList/InvitationListContainer.js +9 -45
- package/dist/types/src/components/InvitationList/InvitationListContainer.js.map +1 -1
- package/dist/types/src/components/InvitationList/InvitationListItem.d.ts +3 -3
- package/dist/types/src/components/InvitationList/InvitationListItem.d.ts.map +1 -1
- package/dist/types/src/components/InvitationList/InvitationListItem.js +32 -99
- package/dist/types/src/components/InvitationList/InvitationListItem.js.map +1 -1
- package/dist/types/src/components/InvitationList/InvitationListProps.js +0 -2
- package/dist/types/src/components/InvitationList/index.js +3 -19
- package/dist/types/src/components/InvitationList/index.js.map +1 -1
- package/dist/types/src/components/Panel/Action.js +15 -68
- package/dist/types/src/components/Panel/Action.js.map +1 -1
- package/dist/types/src/components/Panel/Actions.js +6 -41
- package/dist/types/src/components/Panel/Actions.js.map +1 -1
- package/dist/types/src/components/Panel/CloseButton.d.ts +1 -2
- package/dist/types/src/components/Panel/CloseButton.d.ts.map +1 -1
- package/dist/types/src/components/Panel/CloseButton.js +7 -16
- package/dist/types/src/components/Panel/CloseButton.js.map +1 -1
- package/dist/types/src/components/Panel/Emoji.d.ts +3 -3
- package/dist/types/src/components/Panel/Emoji.d.ts.map +1 -1
- package/dist/types/src/components/Panel/Emoji.js +6 -19
- package/dist/types/src/components/Panel/Emoji.js.map +1 -1
- package/dist/types/src/components/Panel/Heading.js +5 -44
- package/dist/types/src/components/Panel/Heading.js.map +1 -1
- package/dist/types/src/components/Panel/Input.d.ts +2 -2
- package/dist/types/src/components/Panel/Input.d.ts.map +1 -1
- package/dist/types/src/components/Panel/Input.js +4 -17
- package/dist/types/src/components/Panel/Input.js.map +1 -1
- package/dist/types/src/components/Panel/Label.d.ts +2 -2
- package/dist/types/src/components/Panel/Label.d.ts.map +1 -1
- package/dist/types/src/components/Panel/Label.js +4 -14
- package/dist/types/src/components/Panel/Label.js.map +1 -1
- package/dist/types/src/components/Panel/Panel.stories.d.ts +4 -5
- package/dist/types/src/components/Panel/Panel.stories.d.ts.map +1 -1
- package/dist/types/src/components/Panel/Panel.stories.js +15 -35
- package/dist/types/src/components/Panel/Panel.stories.js.map +1 -1
- package/dist/types/src/components/Panel/StepHeading.js +5 -40
- package/dist/types/src/components/Panel/StepHeading.js.map +1 -1
- package/dist/types/src/components/Panel/index.js +8 -24
- package/dist/types/src/components/Panel/index.js.map +1 -1
- package/dist/types/src/components/SpaceListItem.js +10 -49
- package/dist/types/src/components/SpaceListItem.js.map +1 -1
- package/dist/types/src/components/StorybookDialog.d.ts +2 -2
- package/dist/types/src/components/StorybookDialog.d.ts.map +1 -1
- package/dist/types/src/components/StorybookDialog.js +5 -18
- package/dist/types/src/components/StorybookDialog.js.map +1 -1
- package/dist/types/src/components/Viewport/Viewport.d.ts +2 -2
- package/dist/types/src/components/Viewport/Viewport.js +18 -55
- package/dist/types/src/components/Viewport/Viewport.js.map +1 -1
- package/dist/types/src/components/Viewport/Viewport.stories.d.ts +2 -3
- package/dist/types/src/components/Viewport/Viewport.stories.d.ts.map +1 -1
- package/dist/types/src/components/Viewport/Viewport.stories.js +12 -37
- package/dist/types/src/components/Viewport/Viewport.stories.js.map +1 -1
- package/dist/types/src/components/Viewport/index.js +1 -17
- package/dist/types/src/components/Viewport/index.js.map +1 -1
- package/dist/types/src/components/index.d.ts +0 -2
- package/dist/types/src/components/index.d.ts.map +1 -1
- package/dist/types/src/components/index.js +9 -27
- package/dist/types/src/components/index.js.map +1 -1
- package/dist/types/src/composites/IdentityDialog/IdentityDialog.d.ts +1 -2
- package/dist/types/src/composites/IdentityDialog/IdentityDialog.d.ts.map +1 -1
- package/dist/types/src/composites/IdentityDialog/IdentityDialog.js +7 -22
- package/dist/types/src/composites/IdentityDialog/IdentityDialog.js.map +1 -1
- package/dist/types/src/composites/IdentityDialog/index.js +1 -17
- package/dist/types/src/composites/IdentityDialog/index.js.map +1 -1
- package/dist/types/src/composites/JoinDialog/JoinDialog.d.ts +1 -2
- package/dist/types/src/composites/JoinDialog/JoinDialog.d.ts.map +1 -1
- package/dist/types/src/composites/JoinDialog/JoinDialog.js +9 -23
- package/dist/types/src/composites/JoinDialog/JoinDialog.js.map +1 -1
- package/dist/types/src/composites/JoinDialog/index.js +1 -17
- package/dist/types/src/composites/JoinDialog/index.js.map +1 -1
- package/dist/types/src/composites/Shell/Shell.d.ts +1 -2
- package/dist/types/src/composites/Shell/Shell.d.ts.map +1 -1
- package/dist/types/src/composites/Shell/Shell.js +54 -90
- package/dist/types/src/composites/Shell/Shell.js.map +1 -1
- package/dist/types/src/composites/Shell/ShellContext.d.ts +2 -2
- package/dist/types/src/composites/Shell/ShellContext.d.ts.map +1 -1
- package/dist/types/src/composites/Shell/ShellContext.js +32 -72
- package/dist/types/src/composites/Shell/ShellContext.js.map +1 -1
- package/dist/types/src/composites/Shell/index.js +3 -19
- package/dist/types/src/composites/Shell/index.js.map +1 -1
- package/dist/types/src/composites/Shell/memory-shell-runtime.js +7 -11
- package/dist/types/src/composites/Shell/memory-shell-runtime.js.map +1 -1
- package/dist/types/src/composites/Shell/run-shell.js +18 -67
- package/dist/types/src/composites/Shell/run-shell.js.map +1 -1
- package/dist/types/src/composites/Shell/shell-runtime.js +13 -17
- package/dist/types/src/composites/Shell/shell-runtime.js.map +1 -1
- package/dist/types/src/composites/SpaceDialog/SpaceDialog.d.ts +1 -2
- package/dist/types/src/composites/SpaceDialog/SpaceDialog.d.ts.map +1 -1
- package/dist/types/src/composites/SpaceDialog/SpaceDialog.js +7 -22
- package/dist/types/src/composites/SpaceDialog/SpaceDialog.js.map +1 -1
- package/dist/types/src/composites/SpaceDialog/index.js +1 -17
- package/dist/types/src/composites/SpaceDialog/index.js.map +1 -1
- package/dist/types/src/composites/StatusDialog/StatusDialog.d.ts +1 -2
- package/dist/types/src/composites/StatusDialog/StatusDialog.d.ts.map +1 -1
- package/dist/types/src/composites/StatusDialog/StatusDialog.js +6 -20
- package/dist/types/src/composites/StatusDialog/StatusDialog.js.map +1 -1
- package/dist/types/src/composites/StatusDialog/index.js +1 -17
- package/dist/types/src/composites/StatusDialog/index.js.map +1 -1
- package/dist/types/src/composites/index.js +4 -20
- package/dist/types/src/composites/index.js.map +1 -1
- package/dist/types/src/index.js +2 -6
- package/dist/types/src/index.js.map +1 -1
- package/dist/types/src/panels/IdentityPanel/IdentityPanel.d.ts +2 -3
- package/dist/types/src/panels/IdentityPanel/IdentityPanel.d.ts.map +1 -1
- package/dist/types/src/panels/IdentityPanel/IdentityPanel.js +63 -137
- package/dist/types/src/panels/IdentityPanel/IdentityPanel.js.map +1 -1
- package/dist/types/src/panels/IdentityPanel/IdentityPanel.stories.d.ts +11 -12
- package/dist/types/src/panels/IdentityPanel/IdentityPanel.stories.d.ts.map +1 -1
- package/dist/types/src/panels/IdentityPanel/IdentityPanel.stories.js +39 -54
- package/dist/types/src/panels/IdentityPanel/IdentityPanel.stories.js.map +1 -1
- package/dist/types/src/panels/IdentityPanel/IdentityPanelProps.d.ts +2 -1
- package/dist/types/src/panels/IdentityPanel/IdentityPanelProps.d.ts.map +1 -1
- package/dist/types/src/panels/IdentityPanel/IdentityPanelProps.js +0 -2
- package/dist/types/src/panels/IdentityPanel/IdentityPanelProps.js.map +1 -1
- package/dist/types/src/panels/IdentityPanel/identityMachine.js +10 -14
- package/dist/types/src/panels/IdentityPanel/identityMachine.js.map +1 -1
- package/dist/types/src/panels/IdentityPanel/index.js +2 -18
- package/dist/types/src/panels/IdentityPanel/index.js.map +1 -1
- package/dist/types/src/panels/IdentityPanel/steps/IdentityActionChooser.d.ts +2 -3
- package/dist/types/src/panels/IdentityPanel/steps/IdentityActionChooser.d.ts.map +1 -1
- package/dist/types/src/panels/IdentityPanel/steps/IdentityActionChooser.js +16 -29
- package/dist/types/src/panels/IdentityPanel/steps/IdentityActionChooser.js.map +1 -1
- package/dist/types/src/panels/IdentityPanel/steps/ProfileForm.d.ts +1 -2
- package/dist/types/src/panels/IdentityPanel/steps/ProfileForm.d.ts.map +1 -1
- package/dist/types/src/panels/IdentityPanel/steps/ProfileForm.js +27 -72
- package/dist/types/src/panels/IdentityPanel/steps/ProfileForm.js.map +1 -1
- package/dist/types/src/panels/IdentityPanel/steps/index.js +2 -18
- package/dist/types/src/panels/IdentityPanel/steps/index.js.map +1 -1
- package/dist/types/src/panels/IdentityPanel/useAgentHandlers.js +7 -11
- package/dist/types/src/panels/IdentityPanel/useAgentHandlers.js.map +1 -1
- package/dist/types/src/panels/IdentityPanel/useEdgeAgentsHandlers.js +19 -23
- package/dist/types/src/panels/IdentityPanel/useEdgeAgentsHandlers.js.map +1 -1
- package/dist/types/src/panels/IdentityPanel/useKubeAgentHandlers.js +19 -23
- package/dist/types/src/panels/IdentityPanel/useKubeAgentHandlers.js.map +1 -1
- package/dist/types/src/panels/JoinPanel/JoinHeading.js +11 -48
- package/dist/types/src/panels/JoinPanel/JoinHeading.js.map +1 -1
- package/dist/types/src/panels/JoinPanel/JoinPanel.d.ts +2 -3
- package/dist/types/src/panels/JoinPanel/JoinPanel.d.ts.map +1 -1
- package/dist/types/src/panels/JoinPanel/JoinPanel.js +38 -100
- package/dist/types/src/panels/JoinPanel/JoinPanel.js.map +1 -1
- package/dist/types/src/panels/JoinPanel/JoinPanel.stories.d.ts +15 -16
- package/dist/types/src/panels/JoinPanel/JoinPanel.stories.d.ts.map +1 -1
- package/dist/types/src/panels/JoinPanel/JoinPanel.stories.js +25 -45
- package/dist/types/src/panels/JoinPanel/JoinPanel.stories.js.map +1 -1
- package/dist/types/src/panels/JoinPanel/JoinPanelProps.js +0 -2
- package/dist/types/src/panels/JoinPanel/JoinPanelProps.js.map +1 -1
- package/dist/types/src/panels/JoinPanel/index.js +2 -18
- package/dist/types/src/panels/JoinPanel/index.js.map +1 -1
- package/dist/types/src/panels/JoinPanel/joinMachine.js +49 -54
- package/dist/types/src/panels/JoinPanel/joinMachine.js.map +1 -1
- package/dist/types/src/panels/JoinPanel/steps/AdditionMethodChooser.d.ts +1 -2
- package/dist/types/src/panels/JoinPanel/steps/AdditionMethodChooser.d.ts.map +1 -1
- package/dist/types/src/panels/JoinPanel/steps/AdditionMethodChooser.js +9 -21
- package/dist/types/src/panels/JoinPanel/steps/AdditionMethodChooser.js.map +1 -1
- package/dist/types/src/panels/JoinPanel/steps/IdentityAdded.d.ts +1 -2
- package/dist/types/src/panels/JoinPanel/steps/IdentityAdded.d.ts.map +1 -1
- package/dist/types/src/panels/JoinPanel/steps/IdentityAdded.js +14 -58
- package/dist/types/src/panels/JoinPanel/steps/IdentityAdded.js.map +1 -1
- package/dist/types/src/panels/JoinPanel/steps/IdentityInput.d.ts +2 -3
- package/dist/types/src/panels/JoinPanel/steps/IdentityInput.d.ts.map +1 -1
- package/dist/types/src/panels/JoinPanel/steps/IdentityInput.js +20 -61
- package/dist/types/src/panels/JoinPanel/steps/IdentityInput.js.map +1 -1
- package/dist/types/src/panels/JoinPanel/steps/InvitationAccepted.d.ts +2 -2
- package/dist/types/src/panels/JoinPanel/steps/InvitationAccepted.d.ts.map +1 -1
- package/dist/types/src/panels/JoinPanel/steps/InvitationAccepted.js +8 -47
- package/dist/types/src/panels/JoinPanel/steps/InvitationAccepted.js.map +1 -1
- package/dist/types/src/panels/JoinPanel/steps/InvitationAuthenticator.d.ts +1 -2
- package/dist/types/src/panels/JoinPanel/steps/InvitationAuthenticator.d.ts.map +1 -1
- package/dist/types/src/panels/JoinPanel/steps/InvitationAuthenticator.js +22 -73
- package/dist/types/src/panels/JoinPanel/steps/InvitationAuthenticator.js.map +1 -1
- package/dist/types/src/panels/JoinPanel/steps/InvitationInput.d.ts +1 -2
- package/dist/types/src/panels/JoinPanel/steps/InvitationInput.d.ts.map +1 -1
- package/dist/types/src/panels/JoinPanel/steps/InvitationInput.js +18 -59
- package/dist/types/src/panels/JoinPanel/steps/InvitationInput.js.map +1 -1
- package/dist/types/src/panels/JoinPanel/steps/InvitationRescuer.d.ts +1 -2
- package/dist/types/src/panels/JoinPanel/steps/InvitationRescuer.d.ts.map +1 -1
- package/dist/types/src/panels/JoinPanel/steps/InvitationRescuer.js +14 -37
- package/dist/types/src/panels/JoinPanel/steps/InvitationRescuer.js.map +1 -1
- package/dist/types/src/panels/JoinPanel/steps/index.js +7 -23
- package/dist/types/src/panels/JoinPanel/steps/index.js.map +1 -1
- package/dist/types/src/panels/Panels.stories.d.ts +4 -4
- package/dist/types/src/panels/Panels.stories.d.ts.map +1 -1
- package/dist/types/src/panels/Panels.stories.js +13 -58
- package/dist/types/src/panels/Panels.stories.js.map +1 -1
- package/dist/types/src/panels/SpacePanel/SpacePanel.d.ts +2 -3
- package/dist/types/src/panels/SpacePanel/SpacePanel.d.ts.map +1 -1
- package/dist/types/src/panels/SpacePanel/SpacePanel.js +25 -72
- package/dist/types/src/panels/SpacePanel/SpacePanel.js.map +1 -1
- package/dist/types/src/panels/SpacePanel/SpacePanel.stories.d.ts +18 -19
- package/dist/types/src/panels/SpacePanel/SpacePanel.stories.d.ts.map +1 -1
- package/dist/types/src/panels/SpacePanel/SpacePanel.stories.js +96 -121
- package/dist/types/src/panels/SpacePanel/SpacePanel.stories.js.map +1 -1
- package/dist/types/src/panels/SpacePanel/SpacePanelProps.js +0 -2
- package/dist/types/src/panels/SpacePanel/SpacePanelProps.js.map +1 -1
- package/dist/types/src/panels/SpacePanel/index.js +2 -18
- package/dist/types/src/panels/SpacePanel/index.js.map +1 -1
- package/dist/types/src/panels/SpacePanel/spaceMachine.js +9 -13
- package/dist/types/src/panels/SpacePanel/spaceMachine.js.map +1 -1
- package/dist/types/src/panels/SpacePanel/steps/SpaceManager.d.ts +3 -3
- package/dist/types/src/panels/SpacePanel/steps/SpaceManager.d.ts.map +1 -1
- package/dist/types/src/panels/SpacePanel/steps/SpaceManager.js +33 -81
- package/dist/types/src/panels/SpacePanel/steps/SpaceManager.js.map +1 -1
- package/dist/types/src/panels/SpacePanel/steps/index.js +1 -17
- package/dist/types/src/panels/SpacePanel/steps/index.js.map +1 -1
- package/dist/types/src/panels/StatusPanel/StatusPanel.d.ts +1 -2
- package/dist/types/src/panels/StatusPanel/StatusPanel.d.ts.map +1 -1
- package/dist/types/src/panels/StatusPanel/StatusPanel.js +5 -17
- package/dist/types/src/panels/StatusPanel/StatusPanel.js.map +1 -1
- package/dist/types/src/panels/StatusPanel/index.js +1 -17
- package/dist/types/src/panels/StatusPanel/index.js.map +1 -1
- package/dist/types/src/panels/index.js +4 -20
- package/dist/types/src/panels/index.js.map +1 -1
- package/dist/types/src/playwright/invitations-manager.js +11 -15
- package/dist/types/src/playwright/invitations-manager.js.map +1 -1
- package/dist/types/src/playwright/invitations.spec.js +64 -66
- package/dist/types/src/playwright/invitations.spec.js.map +1 -1
- package/dist/types/src/react.js +6 -22
- package/dist/types/src/react.js.map +1 -1
- package/dist/types/src/steps/ConfirmReset.d.ts +2 -3
- package/dist/types/src/steps/ConfirmReset.d.ts.map +1 -1
- package/dist/types/src/steps/ConfirmReset.js +23 -70
- package/dist/types/src/steps/ConfirmReset.js.map +1 -1
- package/dist/types/src/steps/InvitationManager.d.ts +1 -2
- package/dist/types/src/steps/InvitationManager.d.ts.map +1 -1
- package/dist/types/src/steps/InvitationManager.js +17 -71
- package/dist/types/src/steps/InvitationManager.js.map +1 -1
- package/dist/types/src/steps/StepProps.js +0 -2
- package/dist/types/src/steps/StepProps.js.map +1 -1
- package/dist/types/src/steps/index.js +3 -19
- package/dist/types/src/steps/index.js.map +1 -1
- package/dist/types/src/stories/Invitations.e2e-stories.d.ts +2 -3
- package/dist/types/src/stories/Invitations.e2e-stories.d.ts.map +1 -1
- package/dist/types/src/stories/Invitations.e2e-stories.js +50 -113
- package/dist/types/src/stories/Invitations.e2e-stories.js.map +1 -1
- package/dist/types/src/styles/index.js +2 -18
- package/dist/types/src/styles/index.js.map +1 -1
- package/dist/types/src/styles/invitationStatusStyles.js +31 -37
- package/dist/types/src/styles/invitationStatusStyles.js.map +1 -1
- package/dist/types/src/styles/panelStyles.js +1 -4
- package/dist/types/src/styles/panelStyles.js.map +1 -1
- package/dist/types/src/testing/fixtures/identities.d.ts.map +1 -1
- package/dist/types/src/testing/fixtures/identities.js +8 -9
- package/dist/types/src/testing/fixtures/identities.js.map +1 -1
- package/dist/types/src/testing/fixtures/index.js +2 -18
- package/dist/types/src/testing/fixtures/index.js.map +1 -1
- package/dist/types/src/testing/fixtures/invitations.js +8 -12
- package/dist/types/src/testing/fixtures/invitations.js.map +1 -1
- package/dist/types/src/testing/index.js +2 -18
- package/dist/types/src/testing/index.js.map +1 -1
- package/dist/types/src/testing/scoped-shell-manager.js +1 -5
- package/dist/types/src/testing/scoped-shell-manager.js.map +1 -1
- package/dist/types/src/testing/shell-manager.js +11 -15
- package/dist/types/src/testing/shell-manager.js.map +1 -1
- package/dist/types/src/translations/index.js +2 -38
- package/dist/types/src/translations/index.js.map +1 -1
- package/dist/types/src/translations/locales/en-US.d.ts +5 -1
- package/dist/types/src/translations/locales/en-US.d.ts.map +1 -1
- package/dist/types/src/translations/locales/en-US.js +9 -7
- package/dist/types/src/translations/locales/en-US.js.map +1 -1
- package/dist/types/src/types/FailReason.js +0 -2
- package/dist/types/src/types/FailReason.js.map +1 -1
- package/dist/types/src/types/IInvitation.js +0 -2
- package/dist/types/src/types/IInvitation.js.map +1 -1
- package/dist/types/src/types/index.js +2 -18
- package/dist/types/src/types/index.js.map +1 -1
- package/dist/types/src/util/index.js +1 -17
- package/dist/types/src/util/index.js.map +1 -1
- package/dist/types/src/util/invitationStatusValue.js +11 -14
- package/dist/types/src/util/invitationStatusValue.js.map +1 -1
- package/package.json +36 -31
- package/src/components/AgentConfig.tsx +1 -1
- package/src/components/DeviceList/DeviceList.tsx +1 -1
- package/src/components/index.ts +0 -2
- package/src/panels/IdentityPanel/IdentityPanel.stories.tsx +3 -0
- package/src/panels/IdentityPanel/IdentityPanel.tsx +50 -33
- package/src/panels/IdentityPanel/IdentityPanelProps.ts +8 -1
- package/src/panels/IdentityPanel/steps/ProfileForm.tsx +3 -7
- package/src/panels/JoinPanel/steps/IdentityInput.tsx +1 -1
- package/src/panels/SpacePanel/SpacePanel.stories.tsx +6 -1
- package/src/testing/fixtures/identities.ts +2 -0
- package/src/translations/locales/en-US.ts +10 -3
- package/dist/bundle/shell.mjs.map +0 -1
- package/dist/bundle/shell.umd.js +0 -1043
- package/dist/bundle/shell.umd.js.map +0 -1
- package/dist/lib/browser/react.css +0 -7
- package/dist/lib/browser/react.css.map +0 -7
- package/dist/lib/node/react.css +0 -7
- package/dist/lib/node/react.css.map +0 -7
- package/dist/lib/node-esm/react.css +0 -7
- package/dist/lib/node-esm/react.css.map +0 -7
- package/dist/types/src/components/EmojiPicker.d.ts +0 -19
- package/dist/types/src/components/EmojiPicker.d.ts.map +0 -1
- package/dist/types/src/components/EmojiPicker.js +0 -146
- package/dist/types/src/components/EmojiPicker.js.map +0 -1
- package/dist/types/src/components/HuePicker.d.ts +0 -18
- package/dist/types/src/components/HuePicker.d.ts.map +0 -1
- package/dist/types/src/components/HuePicker.js +0 -133
- package/dist/types/src/components/HuePicker.js.map +0 -1
- package/dist/types/src/playwright/playwright.config.d.ts +0 -3
- package/dist/types/src/playwright/playwright.config.d.ts.map +0 -1
- package/dist/types/src/playwright/playwright.config.js +0 -18
- package/dist/types/src/playwright/playwright.config.js.map +0 -1
- package/src/components/EmojiPicker.tsx +0 -187
- package/src/components/HuePicker.tsx +0 -182
- package/src/components/emoji.css +0 -25
- /package/src/playwright/{playwright.config.ts → playwright.config.cts} +0 -0
package/dist/lib/node/react.cjs
CHANGED
|
@@ -40,11 +40,7 @@ __export(react_exports, {
|
|
|
40
40
|
ConfirmResetImpl: () => ConfirmResetImpl,
|
|
41
41
|
DeviceList: () => DeviceList,
|
|
42
42
|
Emoji: () => Emoji,
|
|
43
|
-
EmojiPickerBlock: () => EmojiPickerBlock,
|
|
44
|
-
EmojiPickerToolbarButton: () => EmojiPickerToolbarButton,
|
|
45
43
|
Heading: () => Heading,
|
|
46
|
-
HuePickerBlock: () => HuePickerBlock,
|
|
47
|
-
HuePickerToolbarButton: () => HuePickerToolbarButton,
|
|
48
44
|
IdentityDialog: () => IdentityDialog,
|
|
49
45
|
IdentityListItem: () => IdentityListItem,
|
|
50
46
|
IdentityPanel: () => IdentityPanel,
|
|
@@ -105,223 +101,214 @@ var import_react_ui_theme = require("@dxos/react-ui-theme");
|
|
|
105
101
|
var import_react3 = __toESM(require("react"));
|
|
106
102
|
var import_react_ui2 = require("@dxos/react-ui");
|
|
107
103
|
var import_react_ui_theme2 = require("@dxos/react-ui-theme");
|
|
108
|
-
var
|
|
109
|
-
var
|
|
110
|
-
var
|
|
111
|
-
var import_react_use_controllable_state = require("@radix-ui/react-use-controllable-state");
|
|
112
|
-
var import_react6 = __toESM(require("react"));
|
|
104
|
+
var import_react4 = __toESM(require("react"));
|
|
105
|
+
var import_display_name = require("@dxos/display-name");
|
|
106
|
+
var import_echo = require("@dxos/react-client/echo");
|
|
113
107
|
var import_react_ui3 = require("@dxos/react-ui");
|
|
114
108
|
var import_react_ui_theme3 = require("@dxos/react-ui-theme");
|
|
115
|
-
var
|
|
116
|
-
var
|
|
117
|
-
var
|
|
109
|
+
var import_util = require("@dxos/util");
|
|
110
|
+
var import_react5 = __toESM(require("react"));
|
|
111
|
+
var import_react_client = require("@dxos/react-client");
|
|
112
|
+
var import_echo2 = require("@dxos/react-client/echo");
|
|
118
113
|
var import_react_ui4 = require("@dxos/react-ui");
|
|
119
114
|
var import_react_ui_theme4 = require("@dxos/react-ui-theme");
|
|
120
|
-
var
|
|
121
|
-
var
|
|
122
|
-
var import_echo = require("@dxos/react-client/echo");
|
|
115
|
+
var import_react6 = require("@phosphor-icons/react");
|
|
116
|
+
var import_react7 = __toESM(require("react"));
|
|
123
117
|
var import_react_ui5 = require("@dxos/react-ui");
|
|
124
118
|
var import_react_ui_theme5 = require("@dxos/react-ui-theme");
|
|
125
|
-
var
|
|
126
|
-
var
|
|
127
|
-
var
|
|
128
|
-
var
|
|
119
|
+
var import_react8 = require("@phosphor-icons/react");
|
|
120
|
+
var import_react9 = __toESM(require("react"));
|
|
121
|
+
var import_display_name2 = require("@dxos/display-name");
|
|
122
|
+
var import_halo = require("@dxos/react-client/halo");
|
|
123
|
+
var import_mesh = require("@dxos/react-client/mesh");
|
|
129
124
|
var import_react_ui6 = require("@dxos/react-ui");
|
|
130
125
|
var import_react_ui_theme6 = require("@dxos/react-ui-theme");
|
|
131
|
-
var
|
|
132
|
-
var
|
|
126
|
+
var import_util2 = require("@dxos/util");
|
|
127
|
+
var import_react10 = require("@phosphor-icons/react");
|
|
128
|
+
var import_date_fns = require("date-fns");
|
|
129
|
+
var import_react11 = __toESM(require("react"));
|
|
130
|
+
var import_invitations = require("@dxos/react-client/invitations");
|
|
133
131
|
var import_react_ui7 = require("@dxos/react-ui");
|
|
134
132
|
var import_react_ui_theme7 = require("@dxos/react-ui-theme");
|
|
135
|
-
var
|
|
133
|
+
var import_util3 = require("@dxos/util");
|
|
134
|
+
var import_react12 = __toESM(require("react"));
|
|
135
|
+
var import_react_ui_theme8 = require("@dxos/react-ui-theme");
|
|
136
|
+
var import_react13 = __toESM(require("react"));
|
|
137
|
+
var import_echo3 = require("@dxos/react-client/echo");
|
|
136
138
|
var import_react14 = __toESM(require("react"));
|
|
137
|
-
var import_display_name2 = require("@dxos/display-name");
|
|
138
|
-
var import_halo = require("@dxos/react-client/halo");
|
|
139
|
-
var import_mesh = require("@dxos/react-client/mesh");
|
|
140
139
|
var import_react_ui8 = require("@dxos/react-ui");
|
|
141
|
-
var
|
|
142
|
-
var import_util2 = require("@dxos/util");
|
|
140
|
+
var import_react_ui_theme9 = require("@dxos/react-ui-theme");
|
|
143
141
|
var import_react15 = require("@phosphor-icons/react");
|
|
144
|
-
var
|
|
142
|
+
var import_react_use_controllable_state = require("@radix-ui/react-use-controllable-state");
|
|
145
143
|
var import_react16 = __toESM(require("react"));
|
|
146
|
-
var import_invitations = require("@dxos/react-client/invitations");
|
|
147
144
|
var import_react_ui9 = require("@dxos/react-ui");
|
|
148
|
-
var import_react_ui_theme9 = require("@dxos/react-ui-theme");
|
|
149
|
-
var import_util3 = require("@dxos/util");
|
|
150
|
-
var import_react17 = __toESM(require("react"));
|
|
151
145
|
var import_react_ui_theme10 = require("@dxos/react-ui-theme");
|
|
152
|
-
var
|
|
153
|
-
var
|
|
146
|
+
var import_react17 = __toESM(require("react"));
|
|
147
|
+
var import_react_ui_theme11 = require("@dxos/react-ui-theme");
|
|
148
|
+
var import_react18 = require("@phosphor-icons/react");
|
|
154
149
|
var import_react19 = __toESM(require("react"));
|
|
155
150
|
var import_react_ui10 = require("@dxos/react-ui");
|
|
156
|
-
var import_react_ui_theme11 = require("@dxos/react-ui-theme");
|
|
157
|
-
var import_react20 = require("@phosphor-icons/react");
|
|
158
|
-
var import_react_use_controllable_state3 = require("@radix-ui/react-use-controllable-state");
|
|
159
|
-
var import_react21 = __toESM(require("react"));
|
|
160
|
-
var import_react_ui11 = require("@dxos/react-ui");
|
|
161
151
|
var import_react_ui_theme12 = require("@dxos/react-ui-theme");
|
|
162
|
-
var
|
|
152
|
+
var import_react20 = __toESM(require("react"));
|
|
163
153
|
var import_react_ui_theme13 = require("@dxos/react-ui-theme");
|
|
164
|
-
var
|
|
165
|
-
var import_react24 = __toESM(require("react"));
|
|
166
|
-
var import_react_ui12 = require("@dxos/react-ui");
|
|
154
|
+
var import_react21 = __toESM(require("react"));
|
|
167
155
|
var import_react_ui_theme14 = require("@dxos/react-ui-theme");
|
|
168
|
-
var
|
|
156
|
+
var import_react22 = __toESM(require("react"));
|
|
169
157
|
var import_react_ui_theme15 = require("@dxos/react-ui-theme");
|
|
170
|
-
var
|
|
158
|
+
var import_react23 = __toESM(require("react"));
|
|
159
|
+
var import_react_ui11 = require("@dxos/react-ui");
|
|
160
|
+
var import_react24 = __toESM(require("react"));
|
|
171
161
|
var import_react_ui_theme16 = require("@dxos/react-ui-theme");
|
|
172
|
-
var
|
|
162
|
+
var import_react_tabster = require("@fluentui/react-tabster");
|
|
163
|
+
var import_react_context = require("@radix-ui/react-context");
|
|
164
|
+
var import_react_use_controllable_state2 = require("@radix-ui/react-use-controllable-state");
|
|
165
|
+
var import_react25 = __toESM(require("react"));
|
|
166
|
+
var import_react_ui12 = require("@dxos/react-ui");
|
|
173
167
|
var import_react_ui_theme17 = require("@dxos/react-ui-theme");
|
|
174
|
-
var
|
|
168
|
+
var import_react26 = __toESM(require("react"));
|
|
175
169
|
var import_react_ui13 = require("@dxos/react-ui");
|
|
176
|
-
var import_react29 = __toESM(require("react"));
|
|
177
170
|
var import_react_ui_theme18 = require("@dxos/react-ui-theme");
|
|
178
|
-
var import_react_tabster = require("@fluentui/react-tabster");
|
|
179
|
-
var import_react_context = require("@radix-ui/react-context");
|
|
180
|
-
var import_react_use_controllable_state4 = require("@radix-ui/react-use-controllable-state");
|
|
181
|
-
var import_react30 = __toESM(require("react"));
|
|
182
|
-
var import_react_ui14 = require("@dxos/react-ui");
|
|
183
|
-
var import_react_ui_theme19 = require("@dxos/react-ui-theme");
|
|
184
|
-
var import_react31 = __toESM(require("react"));
|
|
185
|
-
var import_react_ui15 = require("@dxos/react-ui");
|
|
186
|
-
var import_react_ui_theme20 = require("@dxos/react-ui-theme");
|
|
187
171
|
var import_util4 = require("@dxos/util");
|
|
188
|
-
var
|
|
189
|
-
var
|
|
190
|
-
var
|
|
191
|
-
var
|
|
172
|
+
var import_react27 = __toESM(require("react"));
|
|
173
|
+
var import_react_ui14 = require("@dxos/react-ui");
|
|
174
|
+
var import_react28 = require("@phosphor-icons/react");
|
|
175
|
+
var import_react29 = __toESM(require("react"));
|
|
176
|
+
var import_async = require("@dxos/async");
|
|
192
177
|
var import_display_name3 = require("@dxos/display-name");
|
|
193
178
|
var import_log = require("@dxos/log");
|
|
194
179
|
var import_react_client2 = require("@dxos/react-client");
|
|
195
180
|
var import_halo2 = require("@dxos/react-client/halo");
|
|
196
181
|
var import_invitations2 = require("@dxos/react-client/invitations");
|
|
197
182
|
var import_mesh2 = require("@dxos/react-client/mesh");
|
|
198
|
-
var
|
|
199
|
-
var
|
|
183
|
+
var import_react_ui15 = require("@dxos/react-ui");
|
|
184
|
+
var import_react_ui_pickers = require("@dxos/react-ui-pickers");
|
|
185
|
+
var import_react_ui_theme19 = require("@dxos/react-ui-theme");
|
|
200
186
|
var import_util5 = require("@dxos/util");
|
|
201
|
-
var
|
|
187
|
+
var import_react30 = require("@xstate/react");
|
|
202
188
|
var import_xstate = require("xstate");
|
|
203
189
|
var import_log2 = require("@dxos/log");
|
|
204
|
-
var
|
|
190
|
+
var import_react31 = __toESM(require("react"));
|
|
205
191
|
var import_log3 = require("@dxos/log");
|
|
206
192
|
var import_react_client3 = require("@dxos/react-client");
|
|
207
193
|
var import_halo3 = require("@dxos/react-client/halo");
|
|
208
194
|
var import_invitations3 = require("@dxos/react-client/invitations");
|
|
209
|
-
var
|
|
195
|
+
var import_react32 = __toESM(require("react"));
|
|
210
196
|
var import_log4 = require("@dxos/log");
|
|
211
|
-
var
|
|
197
|
+
var import_react_ui16 = require("@dxos/react-ui");
|
|
198
|
+
var import_react_ui_pickers2 = require("@dxos/react-ui-pickers");
|
|
212
199
|
var import_util6 = require("@dxos/util");
|
|
213
200
|
var import_react_client4 = require("@dxos/react-client");
|
|
214
|
-
var
|
|
201
|
+
var import_react33 = require("react");
|
|
215
202
|
var import_invariant = require("@dxos/invariant");
|
|
216
203
|
var import_log5 = require("@dxos/log");
|
|
217
204
|
var import_services = require("@dxos/protocols/proto/dxos/client/services");
|
|
218
205
|
var import_metadata = require("@dxos/protocols/proto/dxos/echo/metadata");
|
|
219
206
|
var import_react_client5 = require("@dxos/react-client");
|
|
220
|
-
var
|
|
207
|
+
var import_react34 = require("react");
|
|
221
208
|
var import_invariant2 = require("@dxos/invariant");
|
|
222
209
|
var import_log6 = require("@dxos/log");
|
|
223
210
|
var import_react_client6 = require("@dxos/react-client");
|
|
224
211
|
var import_invitations4 = require("@dxos/react-client/invitations");
|
|
225
|
-
var
|
|
226
|
-
var
|
|
212
|
+
var import_react35 = require("@phosphor-icons/react");
|
|
213
|
+
var import_react36 = __toESM(require("react"));
|
|
227
214
|
var import_react_qr_rounded = require("react-qr-rounded");
|
|
228
|
-
var
|
|
229
|
-
var
|
|
215
|
+
var import_react_ui17 = require("@dxos/react-ui");
|
|
216
|
+
var import_react_ui_theme20 = require("@dxos/react-ui-theme");
|
|
230
217
|
var import_util7 = require("@dxos/util");
|
|
231
218
|
var import_invitations5 = require("@dxos/react-client/invitations");
|
|
232
|
-
var
|
|
233
|
-
var
|
|
219
|
+
var import_react37 = require("@phosphor-icons/react");
|
|
220
|
+
var import_react38 = __toESM(require("react"));
|
|
234
221
|
var import_log7 = require("@dxos/log");
|
|
235
|
-
var
|
|
236
|
-
var
|
|
237
|
-
var
|
|
222
|
+
var import_react_ui18 = require("@dxos/react-ui");
|
|
223
|
+
var import_react_ui_theme21 = require("@dxos/react-ui-theme");
|
|
224
|
+
var import_react39 = __toESM(require("react"));
|
|
238
225
|
var import_log8 = require("@dxos/log");
|
|
239
226
|
var import_react_client7 = require("@dxos/react-client");
|
|
240
227
|
var import_halo4 = require("@dxos/react-client/halo");
|
|
241
|
-
var
|
|
242
|
-
var
|
|
243
|
-
var
|
|
244
|
-
var
|
|
245
|
-
var
|
|
246
|
-
var
|
|
247
|
-
var
|
|
228
|
+
var import_react_ui19 = require("@dxos/react-ui");
|
|
229
|
+
var import_react40 = require("@phosphor-icons/react");
|
|
230
|
+
var import_react41 = __toESM(require("react"));
|
|
231
|
+
var import_react_ui20 = require("@dxos/react-ui");
|
|
232
|
+
var import_react_ui_theme22 = require("@dxos/react-ui-theme");
|
|
233
|
+
var import_react42 = require("@xstate/react");
|
|
234
|
+
var import_react43 = require("react");
|
|
248
235
|
var import_xstate2 = require("xstate");
|
|
249
236
|
var import_log9 = require("@dxos/log");
|
|
250
237
|
var import_react_client8 = require("@dxos/react-client");
|
|
251
238
|
var import_invitations6 = require("@dxos/react-client/invitations");
|
|
252
|
-
var
|
|
253
|
-
var
|
|
254
|
-
var
|
|
255
|
-
var
|
|
256
|
-
var
|
|
239
|
+
var import_react44 = require("@phosphor-icons/react");
|
|
240
|
+
var import_react45 = __toESM(require("react"));
|
|
241
|
+
var import_react_ui21 = require("@dxos/react-ui");
|
|
242
|
+
var import_react_ui_theme23 = require("@dxos/react-ui-theme");
|
|
243
|
+
var import_react46 = __toESM(require("react"));
|
|
257
244
|
var import_display_name4 = require("@dxos/display-name");
|
|
258
|
-
var
|
|
259
|
-
var
|
|
245
|
+
var import_react_ui22 = require("@dxos/react-ui");
|
|
246
|
+
var import_react_ui_theme24 = require("@dxos/react-ui-theme");
|
|
260
247
|
var import_util8 = require("@dxos/util");
|
|
261
|
-
var
|
|
248
|
+
var import_react47 = __toESM(require("react"));
|
|
262
249
|
var import_log10 = require("@dxos/log");
|
|
263
250
|
var import_react_client9 = require("@dxos/react-client");
|
|
251
|
+
var import_react_ui23 = require("@dxos/react-ui");
|
|
252
|
+
var import_react48 = __toESM(require("react"));
|
|
253
|
+
var import_react_ui24 = require("@dxos/react-ui");
|
|
254
|
+
var import_react49 = __toESM(require("react"));
|
|
255
|
+
var import_log11 = require("@dxos/log");
|
|
264
256
|
var import_react_ui25 = require("@dxos/react-ui");
|
|
265
|
-
var
|
|
257
|
+
var import_react50 = __toESM(require("react"));
|
|
266
258
|
var import_react_ui26 = require("@dxos/react-ui");
|
|
267
|
-
var
|
|
268
|
-
var
|
|
269
|
-
var import_react_ui27 = require("@dxos/react-ui");
|
|
270
|
-
var import_react55 = __toESM(require("react"));
|
|
271
|
-
var import_react_ui28 = require("@dxos/react-ui");
|
|
272
|
-
var import_react_ui_theme27 = require("@dxos/react-ui-theme");
|
|
273
|
-
var import_react56 = __toESM(require("react"));
|
|
259
|
+
var import_react_ui_theme25 = require("@dxos/react-ui-theme");
|
|
260
|
+
var import_react51 = __toESM(require("react"));
|
|
274
261
|
var import_invitations7 = require("@dxos/react-client/invitations");
|
|
275
|
-
var
|
|
276
|
-
var
|
|
262
|
+
var import_react_ui27 = require("@dxos/react-ui");
|
|
263
|
+
var import_react_ui_theme26 = require("@dxos/react-ui-theme");
|
|
277
264
|
var import_util9 = require("@dxos/util");
|
|
278
265
|
var import_invitations8 = require("@dxos/react-client/invitations");
|
|
279
|
-
var
|
|
280
|
-
var
|
|
266
|
+
var import_react52 = require("@phosphor-icons/react");
|
|
267
|
+
var import_react53 = __toESM(require("react"));
|
|
281
268
|
var import_log12 = require("@dxos/log");
|
|
282
269
|
var import_invitations9 = require("@dxos/react-client/invitations");
|
|
283
|
-
var
|
|
284
|
-
var
|
|
270
|
+
var import_react_ui28 = require("@dxos/react-ui");
|
|
271
|
+
var import_react54 = require("@xstate/react");
|
|
285
272
|
var import_xstate3 = require("xstate");
|
|
286
273
|
var import_log13 = require("@dxos/log");
|
|
287
|
-
var
|
|
288
|
-
var
|
|
274
|
+
var import_react55 = require("@phosphor-icons/react");
|
|
275
|
+
var import_react56 = __toESM(require("react"));
|
|
289
276
|
var import_log14 = require("@dxos/log");
|
|
290
277
|
var import_react_client10 = require("@dxos/react-client");
|
|
291
278
|
var import_echo4 = require("@dxos/react-client/echo");
|
|
292
279
|
var import_invitations10 = require("@dxos/react-client/invitations");
|
|
280
|
+
var import_react_ui29 = require("@dxos/react-ui");
|
|
281
|
+
var import_react_ui_theme27 = require("@dxos/react-ui-theme");
|
|
282
|
+
var import_react57 = __toESM(require("react"));
|
|
283
|
+
var import_react_ui30 = require("@dxos/react-ui");
|
|
284
|
+
var import_react58 = __toESM(require("react"));
|
|
293
285
|
var import_react_ui31 = require("@dxos/react-ui");
|
|
294
|
-
var
|
|
295
|
-
var import_react62 = __toESM(require("react"));
|
|
296
|
-
var import_react_ui32 = require("@dxos/react-ui");
|
|
297
|
-
var import_react63 = __toESM(require("react"));
|
|
298
|
-
var import_react_ui33 = require("@dxos/react-ui");
|
|
299
|
-
var import_react64 = __toESM(require("react"));
|
|
286
|
+
var import_react59 = __toESM(require("react"));
|
|
300
287
|
var import_client = require("react-dom/client");
|
|
301
288
|
var import_client_protocol = require("@dxos/client-protocol");
|
|
302
289
|
var import_react_client11 = require("@dxos/react-client");
|
|
303
|
-
var
|
|
304
|
-
var
|
|
290
|
+
var import_react_ui32 = require("@dxos/react-ui");
|
|
291
|
+
var import_react_ui_theme28 = require("@dxos/react-ui-theme");
|
|
305
292
|
var import_rpc_tunnel = require("@dxos/rpc-tunnel");
|
|
306
|
-
var
|
|
293
|
+
var import_react60 = __toESM(require("react"));
|
|
307
294
|
var import_log15 = require("@dxos/log");
|
|
308
295
|
var import_react_client12 = require("@dxos/react-client");
|
|
309
296
|
var import_react_client13 = require("@dxos/react-client");
|
|
310
297
|
var import_echo5 = require("@dxos/react-client/echo");
|
|
311
|
-
var
|
|
312
|
-
var
|
|
313
|
-
var
|
|
314
|
-
var
|
|
315
|
-
var
|
|
298
|
+
var import_react61 = __toESM(require("react"));
|
|
299
|
+
var import_react_ui33 = require("@dxos/react-ui");
|
|
300
|
+
var import_react62 = __toESM(require("react"));
|
|
301
|
+
var import_react_ui34 = require("@dxos/react-ui");
|
|
302
|
+
var import_async2 = require("@dxos/async");
|
|
316
303
|
var import_client_protocol2 = require("@dxos/client-protocol");
|
|
317
304
|
var import_invariant3 = require("@dxos/invariant");
|
|
318
305
|
var import_iframe = require("@dxos/protocols/proto/dxos/iframe");
|
|
319
306
|
var import_rpc = require("@dxos/rpc");
|
|
320
|
-
var
|
|
307
|
+
var import_react63 = __toESM(require("react"));
|
|
321
308
|
var import_react_client14 = require("@dxos/react-client");
|
|
322
309
|
var import_halo5 = require("@dxos/react-client/halo");
|
|
323
|
-
var
|
|
324
|
-
var
|
|
310
|
+
var import_react_ui_theme29 = require("@dxos/react-ui-theme");
|
|
311
|
+
var import_async3 = require("@dxos/async");
|
|
325
312
|
var import_react_client15 = require("@dxos/react-client");
|
|
326
313
|
var AgentConfig = ({ agentStatus, validationMessage, onAgentDestroy, onAgentCreate, onAgentRefresh }) => {
|
|
327
314
|
const { t } = (0, import_react_ui.useTranslation)("os");
|
|
@@ -371,7 +358,7 @@ var AgentConfig = ({ agentStatus, validationMessage, onAgentDestroy, onAgentCrea
|
|
|
371
358
|
className: (0, import_react_ui_theme.mx)(import_react_ui_theme.descriptionText, "mlb-2")
|
|
372
359
|
}, t("agent requested description"))) : /* @__PURE__ */ import_react2.default.createElement(import_react2.default.Fragment, null, /* @__PURE__ */ import_react2.default.createElement(import_react_ui.Button, {
|
|
373
360
|
variant: "ghost",
|
|
374
|
-
classNames: "mlb-2 is-full justify-start gap-2
|
|
361
|
+
classNames: "mlb-2 is-full justify-start gap-2 pis-0 pie-3",
|
|
375
362
|
"data-testid": agentStatus === "creatable" ? "devices-panel.create-agent" : "devices-panel.agent-error",
|
|
376
363
|
onClick: agentStatus === "creatable" ? onAgentCreate : onAgentRefresh,
|
|
377
364
|
"aria-describedby": "devices-panel.create-agent.description"
|
|
@@ -445,304 +432,58 @@ var CompoundButton = ({ children, description, before, after, variant = "default
|
|
|
445
432
|
className: "grow-0"
|
|
446
433
|
}, after));
|
|
447
434
|
};
|
|
448
|
-
var
|
|
449
|
-
const { t } = (0, import_react_ui3.useTranslation)("os");
|
|
450
|
-
const { themeMode } = (0, import_react_ui3.useThemeContext)();
|
|
451
|
-
const [_emojiValue, setEmojiValue] = (0, import_react_use_controllable_state.useControllableState)({
|
|
452
|
-
prop: emoji,
|
|
453
|
-
onChange: onChangeEmoji,
|
|
454
|
-
defaultProp: defaultEmoji
|
|
455
|
-
});
|
|
456
|
-
const [emojiPickerOpen, setEmojiPickerOpen] = (0, import_react6.useState)(false);
|
|
457
|
-
const suppressNextTooltip = (0, import_react6.useRef)(false);
|
|
458
|
-
const [triggerTooltipOpen, setTriggerTooltipOpen] = (0, import_react6.useState)(false);
|
|
459
|
-
return /* @__PURE__ */ import_react6.default.createElement(import_react_ui3.Tooltip.Root, {
|
|
460
|
-
open: triggerTooltipOpen,
|
|
461
|
-
onOpenChange: (nextOpen) => {
|
|
462
|
-
if (suppressNextTooltip.current) {
|
|
463
|
-
setTriggerTooltipOpen(false);
|
|
464
|
-
suppressNextTooltip.current = false;
|
|
465
|
-
} else {
|
|
466
|
-
setTriggerTooltipOpen(nextOpen);
|
|
467
|
-
}
|
|
468
|
-
}
|
|
469
|
-
}, /* @__PURE__ */ import_react6.default.createElement(import_react_ui3.Popover.Root, {
|
|
470
|
-
open: emojiPickerOpen,
|
|
471
|
-
onOpenChange: (nextOpen) => {
|
|
472
|
-
setEmojiPickerOpen(nextOpen);
|
|
473
|
-
suppressNextTooltip.current = true;
|
|
474
|
-
}
|
|
475
|
-
}, /* @__PURE__ */ import_react6.default.createElement(import_react_ui3.Tooltip.Trigger, {
|
|
476
|
-
asChild: true
|
|
477
|
-
}, /* @__PURE__ */ import_react6.default.createElement(import_react_ui3.Popover.Trigger, {
|
|
478
|
-
asChild: true
|
|
479
|
-
}, /* @__PURE__ */ import_react6.default.createElement(import_react_ui3.Toolbar.Button, {
|
|
480
|
-
classNames: [
|
|
481
|
-
"gap-2 text-2xl plb-1",
|
|
482
|
-
classNames
|
|
483
|
-
],
|
|
484
|
-
disabled
|
|
485
|
-
}, /* @__PURE__ */ import_react6.default.createElement("span", {
|
|
486
|
-
className: "sr-only"
|
|
487
|
-
}, t("select emoji label")), /* @__PURE__ */ import_react6.default.createElement(import_react5.UserCircle, {
|
|
488
|
-
className: (0, import_react_ui_theme3.getSize)(5)
|
|
489
|
-
})))), /* @__PURE__ */ import_react6.default.createElement(import_react_ui3.Tooltip.Portal, null, /* @__PURE__ */ import_react6.default.createElement(import_react_ui3.Tooltip.Content, {
|
|
490
|
-
side: "bottom"
|
|
491
|
-
}, t("select emoji label"), /* @__PURE__ */ import_react6.default.createElement(import_react_ui3.Tooltip.Arrow, null))), /* @__PURE__ */ import_react6.default.createElement(import_react_ui3.Popover.Content, {
|
|
492
|
-
side: "bottom",
|
|
493
|
-
onKeyDownCapture: (event) => {
|
|
494
|
-
if (event.key === "Escape") {
|
|
495
|
-
event.stopPropagation();
|
|
496
|
-
setEmojiPickerOpen(false);
|
|
497
|
-
suppressNextTooltip.current = true;
|
|
498
|
-
}
|
|
499
|
-
}
|
|
500
|
-
}, /* @__PURE__ */ import_react6.default.createElement(import_react4.default, {
|
|
501
|
-
data: import_data.default,
|
|
502
|
-
onEmojiSelect: ({ native }) => {
|
|
503
|
-
if (native) {
|
|
504
|
-
setEmojiValue(native);
|
|
505
|
-
setEmojiPickerOpen(false);
|
|
506
|
-
}
|
|
507
|
-
},
|
|
508
|
-
autoFocus: true,
|
|
509
|
-
maxFrequentRows: 0,
|
|
510
|
-
noCountryFlags: true,
|
|
511
|
-
theme: themeMode
|
|
512
|
-
}), /* @__PURE__ */ import_react6.default.createElement(import_react_ui3.Popover.Arrow, null))));
|
|
513
|
-
};
|
|
514
|
-
var EmojiPickerBlock = ({ disabled, defaultEmoji, emoji, onChangeEmoji, onClickClear }) => {
|
|
515
|
-
const { t } = (0, import_react_ui3.useTranslation)("os");
|
|
516
|
-
const [isMd] = (0, import_react_ui3.useMediaQuery)("md", {
|
|
517
|
-
ssr: false
|
|
518
|
-
});
|
|
519
|
-
const [emojiValue, setEmojiValue] = (0, import_react_use_controllable_state.useControllableState)({
|
|
520
|
-
prop: emoji,
|
|
521
|
-
onChange: onChangeEmoji,
|
|
522
|
-
defaultProp: defaultEmoji
|
|
523
|
-
});
|
|
524
|
-
const [emojiPickerOpen, setEmojiPickerOpen] = (0, import_react6.useState)(false);
|
|
525
|
-
return /* @__PURE__ */ import_react6.default.createElement(import_react6.default.Fragment, null, /* @__PURE__ */ import_react6.default.createElement(import_react_ui3.Popover.Root, {
|
|
526
|
-
open: emojiPickerOpen,
|
|
527
|
-
onOpenChange: setEmojiPickerOpen
|
|
528
|
-
}, /* @__PURE__ */ import_react6.default.createElement(import_react_ui3.Popover.Trigger, {
|
|
529
|
-
asChild: true
|
|
530
|
-
}, /* @__PURE__ */ import_react6.default.createElement(import_react_ui3.Button, {
|
|
531
|
-
variant: "ghost",
|
|
532
|
-
classNames: "gap-2 text-2xl plb-1",
|
|
533
|
-
disabled
|
|
534
|
-
}, /* @__PURE__ */ import_react6.default.createElement("span", {
|
|
535
|
-
className: "sr-only"
|
|
536
|
-
}, t("select emoji label")), /* @__PURE__ */ import_react6.default.createElement("span", {
|
|
537
|
-
className: "grow pis-14"
|
|
538
|
-
}, emojiValue), /* @__PURE__ */ import_react6.default.createElement(import_react5.CaretDown, {
|
|
539
|
-
className: (0, import_react_ui_theme3.getSize)(4)
|
|
540
|
-
}))), /* @__PURE__ */ import_react6.default.createElement(import_react_ui3.Popover.Content, {
|
|
541
|
-
side: "right",
|
|
542
|
-
sideOffset: isMd ? 0 : -310,
|
|
543
|
-
onKeyDownCapture: (event) => {
|
|
544
|
-
if (event.key === "Escape") {
|
|
545
|
-
event.stopPropagation();
|
|
546
|
-
setEmojiPickerOpen(false);
|
|
547
|
-
}
|
|
548
|
-
}
|
|
549
|
-
}, /* @__PURE__ */ import_react6.default.createElement(import_react4.default, {
|
|
550
|
-
data: import_data.default,
|
|
551
|
-
onEmojiSelect: ({ native }) => {
|
|
552
|
-
if (native) {
|
|
553
|
-
setEmojiValue(native);
|
|
554
|
-
setEmojiPickerOpen(false);
|
|
555
|
-
}
|
|
556
|
-
},
|
|
557
|
-
autoFocus: true,
|
|
558
|
-
maxFrequentRows: 0,
|
|
559
|
-
noCountryFlags: true
|
|
560
|
-
}), /* @__PURE__ */ import_react6.default.createElement(import_react_ui3.Popover.Arrow, null))), /* @__PURE__ */ import_react6.default.createElement(import_react_ui3.Tooltip.Root, null, /* @__PURE__ */ import_react6.default.createElement(import_react_ui3.Tooltip.Trigger, {
|
|
561
|
-
asChild: true
|
|
562
|
-
}, /* @__PURE__ */ import_react6.default.createElement(import_react_ui3.Button, {
|
|
563
|
-
variant: "ghost",
|
|
564
|
-
onClick: onClickClear,
|
|
565
|
-
disabled
|
|
566
|
-
}, /* @__PURE__ */ import_react6.default.createElement("span", {
|
|
567
|
-
className: "sr-only"
|
|
568
|
-
}, t("clear label")), /* @__PURE__ */ import_react6.default.createElement(import_react5.ArrowCounterClockwise, null))), /* @__PURE__ */ import_react6.default.createElement(import_react_ui3.Tooltip.Portal, null, /* @__PURE__ */ import_react6.default.createElement(import_react_ui3.Tooltip.Content, {
|
|
569
|
-
side: "right"
|
|
570
|
-
}, t("clear label"), /* @__PURE__ */ import_react6.default.createElement(import_react_ui3.Tooltip.Arrow, null)))));
|
|
571
|
-
};
|
|
572
|
-
var HuePreview = ({ hue }) => {
|
|
573
|
-
const { tx } = (0, import_react_ui4.useThemeContext)();
|
|
574
|
-
const size = 20;
|
|
575
|
-
return /* @__PURE__ */ import_react8.default.createElement("svg", {
|
|
576
|
-
width: size,
|
|
577
|
-
height: size,
|
|
578
|
-
viewBox: `0 0 ${size} ${size}`
|
|
579
|
-
}, /* @__PURE__ */ import_react8.default.createElement("rect", {
|
|
580
|
-
x: 0,
|
|
581
|
-
y: 0,
|
|
582
|
-
width: size,
|
|
583
|
-
height: size,
|
|
584
|
-
className: tx("hue.fill", "select--hue__preview", {
|
|
585
|
-
hue
|
|
586
|
-
})
|
|
587
|
-
}));
|
|
588
|
-
};
|
|
589
|
-
var hueTokens = Object.keys(import_react_ui_theme4.hueTokenThemes).slice(0, 16);
|
|
590
|
-
var HuePickerToolbarButton = ({ disabled, hue, onChangeHue, classNames, defaultHue }) => {
|
|
591
|
-
const { t } = (0, import_react_ui4.useTranslation)("os");
|
|
592
|
-
const [hueValue, setHueValue] = (0, import_react_use_controllable_state2.useControllableState)({
|
|
593
|
-
prop: hue,
|
|
594
|
-
onChange: onChangeHue,
|
|
595
|
-
defaultProp: defaultHue
|
|
596
|
-
});
|
|
597
|
-
const [huePickerOpen, setHuePickerOpen] = (0, import_react8.useState)(false);
|
|
598
|
-
const suppressNextTooltip = (0, import_react8.useRef)(false);
|
|
599
|
-
const [triggerTooltipOpen, setTriggerTooltipOpen] = (0, import_react8.useState)(false);
|
|
600
|
-
return /* @__PURE__ */ import_react8.default.createElement(import_react_ui4.Tooltip.Root, {
|
|
601
|
-
open: triggerTooltipOpen,
|
|
602
|
-
onOpenChange: (nextOpen) => {
|
|
603
|
-
if (suppressNextTooltip.current) {
|
|
604
|
-
setTriggerTooltipOpen(false);
|
|
605
|
-
suppressNextTooltip.current = false;
|
|
606
|
-
} else {
|
|
607
|
-
setTriggerTooltipOpen(nextOpen);
|
|
608
|
-
}
|
|
609
|
-
}
|
|
610
|
-
}, /* @__PURE__ */ import_react8.default.createElement(import_react_ui4.DropdownMenu.Root, {
|
|
611
|
-
modal: false,
|
|
612
|
-
open: huePickerOpen,
|
|
613
|
-
onOpenChange: (nextOpen) => {
|
|
614
|
-
setHuePickerOpen(nextOpen);
|
|
615
|
-
suppressNextTooltip.current = true;
|
|
616
|
-
}
|
|
617
|
-
}, /* @__PURE__ */ import_react8.default.createElement(import_react_ui4.Tooltip.Trigger, {
|
|
618
|
-
asChild: true
|
|
619
|
-
}, /* @__PURE__ */ import_react8.default.createElement(import_react_ui4.DropdownMenu.Trigger, {
|
|
620
|
-
asChild: true
|
|
621
|
-
}, /* @__PURE__ */ import_react8.default.createElement(import_react_ui4.Toolbar.Button, {
|
|
622
|
-
classNames: (0, import_react_ui_theme4.mx)("gap-2 plb-1", classNames),
|
|
623
|
-
disabled
|
|
624
|
-
}, /* @__PURE__ */ import_react8.default.createElement("span", {
|
|
625
|
-
className: "sr-only"
|
|
626
|
-
}, t("select hue label")), /* @__PURE__ */ import_react8.default.createElement(import_react7.Palette, {
|
|
627
|
-
className: (0, import_react_ui_theme4.getSize)(5)
|
|
628
|
-
})))), /* @__PURE__ */ import_react8.default.createElement(import_react_ui4.Tooltip.Portal, null, /* @__PURE__ */ import_react8.default.createElement(import_react_ui4.Tooltip.Content, {
|
|
629
|
-
side: "bottom"
|
|
630
|
-
}, t("select hue label"), /* @__PURE__ */ import_react8.default.createElement(import_react_ui4.Tooltip.Arrow, null))), /* @__PURE__ */ import_react8.default.createElement(import_react_ui4.DropdownMenu.Content, {
|
|
631
|
-
side: "bottom",
|
|
632
|
-
classNames: "!w-40"
|
|
633
|
-
}, /* @__PURE__ */ import_react8.default.createElement(import_react_ui4.DropdownMenu.Viewport, {
|
|
634
|
-
classNames: "grid grid-cols-4"
|
|
635
|
-
}, hueTokens.map((hue2) => {
|
|
636
|
-
return /* @__PURE__ */ import_react8.default.createElement(import_react_ui4.DropdownMenu.CheckboxItem, {
|
|
637
|
-
key: hue2,
|
|
638
|
-
checked: hue2 === hueValue,
|
|
639
|
-
onCheckedChange: () => setHueValue(hue2),
|
|
640
|
-
classNames: "px-0 py-2 items-center justify-center"
|
|
641
|
-
}, /* @__PURE__ */ import_react8.default.createElement(HuePreview, {
|
|
642
|
-
hue: hue2
|
|
643
|
-
}));
|
|
644
|
-
})))));
|
|
645
|
-
};
|
|
646
|
-
var HuePickerBlock = ({ disabled, hue, onChangeHue, defaultHue, onClickClear }) => {
|
|
647
|
-
const { t } = (0, import_react_ui4.useTranslation)("os");
|
|
648
|
-
const [hueValue, setHueValue] = (0, import_react_use_controllable_state2.useControllableState)({
|
|
649
|
-
prop: hue,
|
|
650
|
-
onChange: onChangeHue,
|
|
651
|
-
defaultProp: defaultHue
|
|
652
|
-
});
|
|
653
|
-
return /* @__PURE__ */ import_react8.default.createElement(import_react8.default.Fragment, null, /* @__PURE__ */ import_react8.default.createElement(import_react_ui4.DropdownMenu.Root, {
|
|
654
|
-
modal: false
|
|
655
|
-
}, /* @__PURE__ */ import_react8.default.createElement(import_react_ui4.DropdownMenu.Trigger, {
|
|
656
|
-
asChild: true
|
|
657
|
-
}, /* @__PURE__ */ import_react8.default.createElement(import_react_ui4.Button, {
|
|
658
|
-
variant: "ghost",
|
|
659
|
-
classNames: "gap-2 plb-1",
|
|
660
|
-
disabled
|
|
661
|
-
}, /* @__PURE__ */ import_react8.default.createElement("span", {
|
|
662
|
-
className: "sr-only"
|
|
663
|
-
}, t("select hue label")), /* @__PURE__ */ import_react8.default.createElement("div", {
|
|
664
|
-
role: "none",
|
|
665
|
-
className: "pis-14 grow flex items-center justify-center gap-2"
|
|
666
|
-
}, /* @__PURE__ */ import_react8.default.createElement(HuePreview, {
|
|
667
|
-
hue: hueValue
|
|
668
|
-
}), /* @__PURE__ */ import_react8.default.createElement("span", null, t(`${hueValue} label`))), /* @__PURE__ */ import_react8.default.createElement(import_react7.CaretDown, {
|
|
669
|
-
className: (0, import_react_ui_theme4.getSize)(4)
|
|
670
|
-
}))), /* @__PURE__ */ import_react8.default.createElement(import_react_ui4.DropdownMenu.Content, {
|
|
671
|
-
side: "right"
|
|
672
|
-
}, /* @__PURE__ */ import_react8.default.createElement(import_react_ui4.DropdownMenu.Viewport, null, Object.keys(import_react_ui_theme4.hueTokenThemes).map((hue2) => {
|
|
673
|
-
return /* @__PURE__ */ import_react8.default.createElement(import_react_ui4.DropdownMenu.CheckboxItem, {
|
|
674
|
-
key: hue2,
|
|
675
|
-
checked: hue2 === hueValue,
|
|
676
|
-
onCheckedChange: () => setHueValue(hue2)
|
|
677
|
-
}, /* @__PURE__ */ import_react8.default.createElement(HuePreview, {
|
|
678
|
-
hue: hue2
|
|
679
|
-
}), /* @__PURE__ */ import_react8.default.createElement("span", {
|
|
680
|
-
className: "grow"
|
|
681
|
-
}, t(`${hue2} label`)), /* @__PURE__ */ import_react8.default.createElement(import_react_ui4.DropdownMenu.ItemIndicator, null, /* @__PURE__ */ import_react8.default.createElement(import_react7.Check, null)));
|
|
682
|
-
})), /* @__PURE__ */ import_react8.default.createElement(import_react_ui4.DropdownMenu.Arrow, null))), /* @__PURE__ */ import_react8.default.createElement(import_react_ui4.Tooltip.Root, null, /* @__PURE__ */ import_react8.default.createElement(import_react_ui4.Tooltip.Trigger, {
|
|
683
|
-
asChild: true
|
|
684
|
-
}, /* @__PURE__ */ import_react8.default.createElement(import_react_ui4.Button, {
|
|
685
|
-
variant: "ghost",
|
|
686
|
-
onClick: onClickClear,
|
|
687
|
-
disabled
|
|
688
|
-
}, /* @__PURE__ */ import_react8.default.createElement("span", {
|
|
689
|
-
className: "sr-only"
|
|
690
|
-
}, t("clear label")), /* @__PURE__ */ import_react8.default.createElement(import_react7.ArrowCounterClockwise, null))), /* @__PURE__ */ import_react8.default.createElement(import_react_ui4.Tooltip.Portal, null, /* @__PURE__ */ import_react8.default.createElement(import_react_ui4.Tooltip.Content, {
|
|
691
|
-
side: "right"
|
|
692
|
-
}, t("clear label"), /* @__PURE__ */ import_react8.default.createElement(import_react_ui4.Tooltip.Arrow, null)))));
|
|
693
|
-
};
|
|
694
|
-
var IdentityListItem = /* @__PURE__ */ (0, import_react9.forwardRef)(({ identity, presence, onClick, classNames, ...props }, forwardedRef) => {
|
|
435
|
+
var IdentityListItem = /* @__PURE__ */ (0, import_react4.forwardRef)(({ identity, presence, onClick, classNames, ...props }, forwardedRef) => {
|
|
695
436
|
const fallbackValue = (0, import_util.keyToFallback)(identity.identityKey);
|
|
696
|
-
const labelId = (0,
|
|
437
|
+
const labelId = (0, import_react_ui3.useId)("identityListItem__label");
|
|
697
438
|
const displayName = identity.profile?.displayName ?? (0, import_display_name.generateName)(identity.identityKey.toHex());
|
|
698
|
-
return /* @__PURE__ */
|
|
439
|
+
return /* @__PURE__ */ import_react4.default.createElement(import_react_ui3.ListItem.Root, {
|
|
699
440
|
...props,
|
|
700
|
-
classNames: (0,
|
|
441
|
+
classNames: (0, import_react_ui_theme3.mx)("flex gap-2 pis-3 pie-1 items-center", onClick && "cursor-pointer", classNames),
|
|
701
442
|
onClick: () => onClick?.(),
|
|
702
443
|
"data-testid": "identity-list-item",
|
|
703
444
|
labelId,
|
|
704
445
|
ref: forwardedRef
|
|
705
|
-
}, /* @__PURE__ */
|
|
446
|
+
}, /* @__PURE__ */ import_react4.default.createElement(import_react_ui3.Avatar.Root, {
|
|
706
447
|
status: presence === import_echo.SpaceMember.PresenceState.ONLINE ? "active" : "inactive",
|
|
707
448
|
labelId,
|
|
708
449
|
hue: identity.profile?.data?.hue || fallbackValue.hue
|
|
709
|
-
}, /* @__PURE__ */
|
|
450
|
+
}, /* @__PURE__ */ import_react4.default.createElement(import_react_ui3.Avatar.Frame, {
|
|
710
451
|
classNames: "place-self-center"
|
|
711
|
-
}, /* @__PURE__ */
|
|
452
|
+
}, /* @__PURE__ */ import_react4.default.createElement(import_react_ui3.Avatar.Fallback, {
|
|
712
453
|
text: identity.profile?.data?.emoji || fallbackValue.emoji
|
|
713
|
-
})), /* @__PURE__ */
|
|
454
|
+
})), /* @__PURE__ */ import_react4.default.createElement(import_react_ui3.Avatar.Label, {
|
|
714
455
|
classNames: "text-sm truncate pli-2"
|
|
715
456
|
}, displayName)));
|
|
716
457
|
});
|
|
717
458
|
var SpaceMemberList = ({ spaceKey, includeSelf, onSelect }) => {
|
|
718
459
|
const client = (0, import_react_client.useClient)();
|
|
719
460
|
const allUnsortedMembers = (0, import_echo2.useMembers)(spaceKey);
|
|
720
|
-
const members = (0,
|
|
461
|
+
const members = (0, import_react5.useMemo)(() => includeSelf ? allUnsortedMembers.sort((member) => member.identity.identityKey.equals(client.halo.identity.get().identityKey) ? -1 : 1) : allUnsortedMembers.filter((member) => !member.identity.identityKey.equals(client.halo.identity.get().identityKey)), [
|
|
721
462
|
allUnsortedMembers
|
|
722
463
|
]);
|
|
723
|
-
return /* @__PURE__ */
|
|
464
|
+
return /* @__PURE__ */ import_react5.default.createElement(SpaceMemberListImpl, {
|
|
724
465
|
members,
|
|
725
466
|
onSelect
|
|
726
467
|
});
|
|
727
468
|
};
|
|
728
469
|
var SpaceMemberListImpl = ({ members, onSelect }) => {
|
|
729
|
-
const { t } = (0,
|
|
470
|
+
const { t } = (0, import_react_ui4.useTranslation)("os");
|
|
730
471
|
const visibleMembers = members.filter((member) => member.identity);
|
|
731
|
-
return visibleMembers.length > 0 ? /* @__PURE__ */
|
|
472
|
+
return visibleMembers.length > 0 ? /* @__PURE__ */ import_react5.default.createElement(import_react_ui4.List, {
|
|
732
473
|
classNames: "flex flex-col gap-2",
|
|
733
474
|
"data-testid": "space-members-list"
|
|
734
475
|
}, visibleMembers.map((member) => {
|
|
735
|
-
return /* @__PURE__ */
|
|
476
|
+
return /* @__PURE__ */ import_react5.default.createElement(IdentityListItem, {
|
|
736
477
|
key: member.identity.identityKey.toHex(),
|
|
737
478
|
identity: member.identity,
|
|
738
479
|
presence: member.presence,
|
|
739
480
|
onClick: onSelect && (() => onSelect(member))
|
|
740
481
|
});
|
|
741
|
-
})) : /* @__PURE__ */
|
|
482
|
+
})) : /* @__PURE__ */ import_react5.default.createElement("div", {
|
|
742
483
|
role: "none",
|
|
743
484
|
className: "grow flex items-center p-2"
|
|
744
|
-
}, /* @__PURE__ */
|
|
745
|
-
className: (0,
|
|
485
|
+
}, /* @__PURE__ */ import_react5.default.createElement("p", {
|
|
486
|
+
className: (0, import_react_ui_theme4.mx)(import_react_ui_theme4.descriptionText, "text-center is-full mlb-2")
|
|
746
487
|
}, t("empty space members message")));
|
|
747
488
|
};
|
|
748
489
|
var iconProps = {
|
|
@@ -752,16 +493,16 @@ var iconProps = {
|
|
|
752
493
|
x: 8,
|
|
753
494
|
y: 8
|
|
754
495
|
};
|
|
755
|
-
var DeviceListItem = /* @__PURE__ */ (0,
|
|
756
|
-
const { t } = (0,
|
|
496
|
+
var DeviceListItem = /* @__PURE__ */ (0, import_react9.forwardRef)(({ device, onClickAdd, onClickEdit, onClickReset, onClickRecover, onClickJoinExisting, classNames, connectionState, onAgentDestroy: _, ...props }, forwardedRef) => {
|
|
497
|
+
const { t } = (0, import_react_ui6.useTranslation)("os");
|
|
757
498
|
const fallbackValue = (0, import_util2.keyToFallback)(device.deviceKey);
|
|
758
|
-
const labelId = (0,
|
|
499
|
+
const labelId = (0, import_react_ui6.useId)("identityListItem__label");
|
|
759
500
|
const displayName = device.profile ? t("device name placeholder", {
|
|
760
501
|
os: device.profile.os,
|
|
761
502
|
platform: device.profile.platform
|
|
762
503
|
}) : (0, import_display_name2.generateName)(device.deviceKey.toHex());
|
|
763
504
|
const isCurrent = device.kind === import_halo.DeviceKind.CURRENT;
|
|
764
|
-
return /* @__PURE__ */
|
|
505
|
+
return /* @__PURE__ */ import_react9.default.createElement(import_react_ui6.ListItem.Root, {
|
|
765
506
|
...props,
|
|
766
507
|
classNames: [
|
|
767
508
|
"flex gap-2 items-center mlb-2",
|
|
@@ -770,58 +511,58 @@ var DeviceListItem = /* @__PURE__ */ (0, import_react14.forwardRef)(({ device, o
|
|
|
770
511
|
"data-testid": `device-list-item${isCurrent ? "-current" : ""}`,
|
|
771
512
|
labelId,
|
|
772
513
|
ref: forwardedRef
|
|
773
|
-
}, /* @__PURE__ */
|
|
514
|
+
}, /* @__PURE__ */ import_react9.default.createElement(import_react_ui6.Avatar.Root, {
|
|
774
515
|
status: isCurrent && connectionState === import_mesh.ConnectionState.OFFLINE ? "error" : device.presence === import_halo.Device.PresenceState.ONLINE ? "active" : "inactive",
|
|
775
516
|
labelId,
|
|
776
517
|
hue: fallbackValue.hue,
|
|
777
518
|
variant: "square"
|
|
778
|
-
}, /* @__PURE__ */
|
|
519
|
+
}, /* @__PURE__ */ import_react9.default.createElement(import_react_ui6.Avatar.Frame, {
|
|
779
520
|
classNames: "place-self-center"
|
|
780
|
-
}, device.profile?.type ? device.profile.type === import_halo.DeviceType.AGENT_MANAGED ? /* @__PURE__ */
|
|
521
|
+
}, device.profile?.type ? device.profile.type === import_halo.DeviceType.AGENT_MANAGED ? /* @__PURE__ */ import_react9.default.createElement(import_react8.Database, iconProps) : device.profile.type === import_halo.DeviceType.BROWSER ? /* @__PURE__ */ import_react9.default.createElement(import_react8.Compass, iconProps) : device.profile.type === import_halo.DeviceType.NATIVE ? /* @__PURE__ */ import_react9.default.createElement(import_react8.Desktop, iconProps) : [
|
|
781
522
|
import_halo.DeviceType.AGENT,
|
|
782
523
|
import_halo.DeviceType.AGENT_MANAGED
|
|
783
|
-
].includes(device.profile.type) ? /* @__PURE__ */
|
|
524
|
+
].includes(device.profile.type) ? /* @__PURE__ */ import_react9.default.createElement(import_react8.Robot, iconProps) : device.profile.type === import_halo.DeviceType.MOBILE ? /* @__PURE__ */ import_react9.default.createElement(import_react8.DeviceMobile, iconProps) : /* @__PURE__ */ import_react9.default.createElement(import_react8.Devices, iconProps) : /* @__PURE__ */ import_react9.default.createElement(import_react_ui6.Avatar.Fallback, {
|
|
784
525
|
text: fallbackValue.emoji
|
|
785
|
-
})), /* @__PURE__ */
|
|
526
|
+
})), /* @__PURE__ */ import_react9.default.createElement(import_react_ui6.Avatar.Label, {
|
|
786
527
|
classNames: "flex-1 text-sm truncate"
|
|
787
|
-
}, displayName), isCurrent && /* @__PURE__ */
|
|
528
|
+
}, displayName), isCurrent && /* @__PURE__ */ import_react9.default.createElement(import_react_ui6.Tag, {
|
|
788
529
|
color: "primary"
|
|
789
|
-
}, t("current device tag label")), device.kind === import_halo.DeviceKind.CURRENT && /* @__PURE__ */
|
|
530
|
+
}, t("current device tag label")), device.kind === import_halo.DeviceKind.CURRENT && /* @__PURE__ */ import_react9.default.createElement(import_react_ui6.DropdownMenu.Root, null, /* @__PURE__ */ import_react9.default.createElement(import_react_ui6.DropdownMenu.Trigger, {
|
|
790
531
|
asChild: true
|
|
791
|
-
}, /* @__PURE__ */
|
|
532
|
+
}, /* @__PURE__ */ import_react9.default.createElement(import_react_ui6.Button, {
|
|
792
533
|
variant: "ghost",
|
|
793
534
|
classNames: "pli-0 is-[--rail-action] bs-[--rail-action]",
|
|
794
535
|
"data-testid": `device-list-item${isCurrent ? "-current" : ""}.options`
|
|
795
|
-
}, /* @__PURE__ */
|
|
536
|
+
}, /* @__PURE__ */ import_react9.default.createElement("span", {
|
|
796
537
|
className: "sr-only"
|
|
797
|
-
}, t("more options label")), /* @__PURE__ */
|
|
798
|
-
className: (0,
|
|
799
|
-
}))), /* @__PURE__ */
|
|
538
|
+
}, t("more options label")), /* @__PURE__ */ import_react9.default.createElement(import_react8.DotsThree, {
|
|
539
|
+
className: (0, import_react_ui_theme6.getSize)(5)
|
|
540
|
+
}))), /* @__PURE__ */ import_react9.default.createElement(import_react_ui6.DropdownMenu.Content, null, /* @__PURE__ */ import_react9.default.createElement(import_react_ui6.DropdownMenu.Viewport, null, /* @__PURE__ */ import_react9.default.createElement(import_react_ui6.DropdownMenu.Item, {
|
|
800
541
|
"data-testid": "device-list-item-current.join-existing",
|
|
801
542
|
onClick: onClickJoinExisting
|
|
802
|
-
}, /* @__PURE__ */
|
|
803
|
-
className: (0,
|
|
804
|
-
}), t("choose join new identity label")), onClickRecover && /* @__PURE__ */
|
|
543
|
+
}, /* @__PURE__ */ import_react9.default.createElement(import_react8.ShareFat, {
|
|
544
|
+
className: (0, import_react_ui_theme6.getSize)(5)
|
|
545
|
+
}), t("choose join new identity label")), onClickRecover && /* @__PURE__ */ import_react9.default.createElement(import_react_ui6.DropdownMenu.Item, {
|
|
805
546
|
"data-testid": "device-list-item-current.recover",
|
|
806
547
|
onClick: onClickRecover
|
|
807
|
-
}, /* @__PURE__ */
|
|
808
|
-
className: (0,
|
|
809
|
-
}), t("choose recover identity label")), /* @__PURE__ */
|
|
548
|
+
}, /* @__PURE__ */ import_react9.default.createElement(import_react8.FirstAidKit, {
|
|
549
|
+
className: (0, import_react_ui_theme6.getSize)(5)
|
|
550
|
+
}), t("choose recover identity label")), /* @__PURE__ */ import_react9.default.createElement(import_react_ui6.DropdownMenu.Item, {
|
|
810
551
|
"data-testid": "device-list-item-current.reset",
|
|
811
552
|
onClick: onClickReset
|
|
812
|
-
}, /* @__PURE__ */
|
|
813
|
-
className: (0,
|
|
553
|
+
}, /* @__PURE__ */ import_react9.default.createElement(import_react8.Power, {
|
|
554
|
+
className: (0, import_react_ui_theme6.getSize)(5)
|
|
814
555
|
}), t("reset device label")))))));
|
|
815
556
|
});
|
|
816
557
|
var DeviceList = ({ devices, connectionState, onClickAdd, onClickEdit, onClickReset, onClickRecover, onClickJoinExisting, onAgentDestroy }) => {
|
|
817
|
-
const { t } = (0,
|
|
818
|
-
return /* @__PURE__ */
|
|
558
|
+
const { t } = (0, import_react_ui5.useTranslation)("os");
|
|
559
|
+
return /* @__PURE__ */ import_react7.default.createElement("div", {
|
|
819
560
|
role: "none",
|
|
820
561
|
className: "p-1"
|
|
821
|
-
}, /* @__PURE__ */
|
|
822
|
-
className: (0,
|
|
823
|
-
}, t("devices heading")), devices.length > 0 && /* @__PURE__ */
|
|
824
|
-
return /* @__PURE__ */
|
|
562
|
+
}, /* @__PURE__ */ import_react7.default.createElement("h2", {
|
|
563
|
+
className: (0, import_react_ui_theme5.mx)(import_react_ui_theme5.descriptionText, "text-center mbs-2")
|
|
564
|
+
}, t("devices heading")), devices.length > 0 && /* @__PURE__ */ import_react7.default.createElement(import_react_ui5.List, null, devices.map((device) => {
|
|
565
|
+
return /* @__PURE__ */ import_react7.default.createElement(DeviceListItem, {
|
|
825
566
|
key: device.deviceKey.toHex(),
|
|
826
567
|
device,
|
|
827
568
|
onClickEdit: () => onClickEdit?.(device),
|
|
@@ -831,22 +572,22 @@ var DeviceList = ({ devices, connectionState, onClickAdd, onClickEdit, onClickRe
|
|
|
831
572
|
connectionState,
|
|
832
573
|
onAgentDestroy
|
|
833
574
|
});
|
|
834
|
-
})), /* @__PURE__ */
|
|
575
|
+
})), /* @__PURE__ */ import_react7.default.createElement(import_react_ui5.Button, {
|
|
835
576
|
variant: "ghost",
|
|
836
|
-
classNames: "justify-start gap-2
|
|
577
|
+
classNames: "justify-start gap-2 pis-0 pie-3 is-full",
|
|
837
578
|
"data-testid": "devices-panel.create-invitation",
|
|
838
579
|
onClick: onClickAdd
|
|
839
|
-
}, /* @__PURE__ */
|
|
580
|
+
}, /* @__PURE__ */ import_react7.default.createElement("div", {
|
|
840
581
|
role: "img",
|
|
841
|
-
className: (0,
|
|
842
|
-
}, /* @__PURE__ */
|
|
582
|
+
className: (0, import_react_ui_theme5.mx)((0, import_react_ui_theme5.getSize)(8), "m-1 rounded-sm bg-input grid place-items-center")
|
|
583
|
+
}, /* @__PURE__ */ import_react7.default.createElement(import_react6.Plus, {
|
|
843
584
|
weight: "light",
|
|
844
|
-
className: (0,
|
|
845
|
-
})), /* @__PURE__ */
|
|
585
|
+
className: (0, import_react_ui_theme5.getSize)(6)
|
|
586
|
+
})), /* @__PURE__ */ import_react7.default.createElement("span", {
|
|
846
587
|
className: "grow font-medium text-start"
|
|
847
|
-
}, t("choose add device label")), /* @__PURE__ */
|
|
588
|
+
}, t("choose add device label")), /* @__PURE__ */ import_react7.default.createElement(import_react6.CaretRight, {
|
|
848
589
|
weight: "bold",
|
|
849
|
-
className: (0,
|
|
590
|
+
className: (0, import_react_ui_theme5.getSize)(4)
|
|
850
591
|
})));
|
|
851
592
|
};
|
|
852
593
|
var AuthCode = (props) => {
|
|
@@ -854,7 +595,7 @@ var AuthCode = (props) => {
|
|
|
854
595
|
const l = code?.length ?? 0;
|
|
855
596
|
const left = code?.slice(0, l / 2);
|
|
856
597
|
const right = code?.slice(l / 2);
|
|
857
|
-
const codeRef = (0,
|
|
598
|
+
const codeRef = (0, import_react12.useRef)(null);
|
|
858
599
|
const handleClick = () => {
|
|
859
600
|
if (codeRef.current) {
|
|
860
601
|
const selection = window.getSelection();
|
|
@@ -865,18 +606,18 @@ var AuthCode = (props) => {
|
|
|
865
606
|
}
|
|
866
607
|
void navigator.clipboard.writeText(code ?? "");
|
|
867
608
|
};
|
|
868
|
-
return /* @__PURE__ */
|
|
869
|
-
className: (0,
|
|
609
|
+
return /* @__PURE__ */ import_react12.default.createElement("span", {
|
|
610
|
+
className: (0, import_react_ui_theme8.mx)(large ? "text-6xl" : "text-2xl", "font-mono pli-2.5 rounded cursor-pointer", classNames),
|
|
870
611
|
onClick: handleClick,
|
|
871
612
|
ref: codeRef
|
|
872
|
-
}, /* @__PURE__ */
|
|
613
|
+
}, /* @__PURE__ */ import_react12.default.createElement("span", {
|
|
873
614
|
className: "mie-[0.4em]"
|
|
874
|
-
}, left), /* @__PURE__ */
|
|
615
|
+
}, left), /* @__PURE__ */ import_react12.default.createElement("span", null, right));
|
|
875
616
|
};
|
|
876
617
|
var InvitationListItem = (props) => {
|
|
877
618
|
const { invitation } = props;
|
|
878
619
|
const invitationStatus = (0, import_invitations.useInvitationStatus)(invitation);
|
|
879
|
-
return /* @__PURE__ */
|
|
620
|
+
return /* @__PURE__ */ import_react11.default.createElement(InvitationListItemImpl, {
|
|
880
621
|
...props,
|
|
881
622
|
invitationStatus
|
|
882
623
|
});
|
|
@@ -886,11 +627,11 @@ var avatarProps = {
|
|
|
886
627
|
variant: "circle"
|
|
887
628
|
};
|
|
888
629
|
var AvatarStackEffect = ({ animation, status, reverseEffects }) => {
|
|
889
|
-
const { tx } = (0,
|
|
890
|
-
return /* @__PURE__ */
|
|
630
|
+
const { tx } = (0, import_react_ui7.useThemeContext)();
|
|
631
|
+
return /* @__PURE__ */ import_react11.default.createElement(import_react11.default.Fragment, null, /* @__PURE__ */ import_react11.default.createElement("span", {
|
|
891
632
|
role: "none",
|
|
892
|
-
className: (0,
|
|
893
|
-
}, /* @__PURE__ */
|
|
633
|
+
className: (0, import_react_ui_theme7.mx)("absolute inline-end-auto opacity-20", reverseEffects ? "inline-start-3" : "inline-start-1", (0, import_react_ui_theme7.getSize)(avatarProps.size))
|
|
634
|
+
}, /* @__PURE__ */ import_react11.default.createElement("span", {
|
|
894
635
|
role: "none",
|
|
895
636
|
className: tx("avatar.ring", "avatar__ring", {
|
|
896
637
|
...avatarProps,
|
|
@@ -900,10 +641,10 @@ var AvatarStackEffect = ({ animation, status, reverseEffects }) => {
|
|
|
900
641
|
style: {
|
|
901
642
|
animationDelay: "400ms"
|
|
902
643
|
}
|
|
903
|
-
})), /* @__PURE__ */
|
|
644
|
+
})), /* @__PURE__ */ import_react11.default.createElement("span", {
|
|
904
645
|
role: "none",
|
|
905
|
-
className: (0,
|
|
906
|
-
}, /* @__PURE__ */
|
|
646
|
+
className: (0, import_react_ui_theme7.mx)("absolute inline-end-auto opacity-50", reverseEffects ? "inline-start-2" : "inline-start-2", (0, import_react_ui_theme7.getSize)(avatarProps.size))
|
|
647
|
+
}, /* @__PURE__ */ import_react11.default.createElement("span", {
|
|
907
648
|
role: "none",
|
|
908
649
|
className: tx("avatar.ring", "avatar__ring", {
|
|
909
650
|
...avatarProps,
|
|
@@ -916,7 +657,7 @@ var AvatarStackEffect = ({ animation, status, reverseEffects }) => {
|
|
|
916
657
|
})));
|
|
917
658
|
};
|
|
918
659
|
var InvitationListItemImpl = ({ invitation, invitationStatus: propsInvitationStatus, send, onClickRemove, createInvitationUrl, reverseEffects, ...props }) => {
|
|
919
|
-
const { t } = (0,
|
|
660
|
+
const { t } = (0, import_react_ui7.useTranslation)("os");
|
|
920
661
|
const { cancel, status: invitationStatus, invitationCode, authCode, multiUse, shareable } = propsInvitationStatus;
|
|
921
662
|
const isCancellable = !([
|
|
922
663
|
import_invitations.Invitation.State.ERROR,
|
|
@@ -929,7 +670,7 @@ var InvitationListItemImpl = ({ invitation, invitationStatus: propsInvitationSta
|
|
|
929
670
|
import_invitations.Invitation.State.CONNECTED
|
|
930
671
|
].indexOf(invitationStatus) >= 0);
|
|
931
672
|
const showAuthCode = invitationStatus === import_invitations.Invitation.State.READY_FOR_AUTHENTICATION;
|
|
932
|
-
const handleClickRemove = (0,
|
|
673
|
+
const handleClickRemove = (0, import_react11.useCallback)(() => onClickRemove?.(invitation), [
|
|
933
674
|
invitation,
|
|
934
675
|
onClickRemove
|
|
935
676
|
]);
|
|
@@ -958,38 +699,38 @@ var InvitationListItemImpl = ({ invitation, invitationStatus: propsInvitationSta
|
|
|
958
699
|
import_invitations.Invitation.State.SUCCESS
|
|
959
700
|
].includes(invitationStatus);
|
|
960
701
|
const avatarStatus = avatarError ? "error" : avatarGreen ? "active" : "inactive";
|
|
961
|
-
return /* @__PURE__ */
|
|
702
|
+
return /* @__PURE__ */ import_react11.default.createElement(import_react_ui7.ListItem.Root, {
|
|
962
703
|
id: invitationCode,
|
|
963
704
|
...props,
|
|
964
705
|
classNames: [
|
|
965
706
|
"flex gap-2 pis-3 pie-1 items-center relative",
|
|
966
707
|
props.classNames
|
|
967
708
|
]
|
|
968
|
-
}, /* @__PURE__ */
|
|
709
|
+
}, /* @__PURE__ */ import_react11.default.createElement(import_react_ui7.ListItem.Heading, {
|
|
969
710
|
classNames: "sr-only"
|
|
970
|
-
}, t(multiUse ? "invite many list item label" : "invite one list item label")), multiUse && /* @__PURE__ */
|
|
711
|
+
}, t(multiUse ? "invite many list item label" : "invite one list item label")), multiUse && /* @__PURE__ */ import_react11.default.createElement(AvatarStackEffect, {
|
|
971
712
|
status: avatarStatus,
|
|
972
713
|
animation: avatarAnimation,
|
|
973
714
|
reverseEffects
|
|
974
|
-
}), /* @__PURE__ */
|
|
715
|
+
}), /* @__PURE__ */ import_react11.default.createElement(import_react_ui7.Tooltip.Root, null, /* @__PURE__ */ import_react11.default.createElement(import_react_ui7.Avatar.Root, {
|
|
975
716
|
...avatarProps,
|
|
976
717
|
animation: avatarAnimation,
|
|
977
718
|
status: avatarStatus
|
|
978
|
-
}, /* @__PURE__ */
|
|
719
|
+
}, /* @__PURE__ */ import_react11.default.createElement(import_react_ui7.Tooltip.Trigger, {
|
|
979
720
|
asChild: true
|
|
980
|
-
}, /* @__PURE__ */
|
|
721
|
+
}, /* @__PURE__ */ import_react11.default.createElement(import_react_ui7.Avatar.Frame, {
|
|
981
722
|
tabIndex: 0,
|
|
982
723
|
classNames: [
|
|
983
|
-
|
|
724
|
+
import_react_ui_theme7.focusRing,
|
|
984
725
|
"relative rounded-full place-self-center"
|
|
985
726
|
]
|
|
986
|
-
}, /* @__PURE__ */
|
|
727
|
+
}, /* @__PURE__ */ import_react11.default.createElement(import_react_ui7.Avatar.Fallback, {
|
|
987
728
|
text: (0, import_util3.hexToEmoji)(invitationId)
|
|
988
|
-
})))), /* @__PURE__ */
|
|
729
|
+
})))), /* @__PURE__ */ import_react11.default.createElement(import_react_ui7.Tooltip.Portal, null, /* @__PURE__ */ import_react11.default.createElement(import_react_ui7.Tooltip.Content, {
|
|
989
730
|
side: "left"
|
|
990
|
-
}, t(multiUse ? "invite many qr label" : "invite one qr label"), /* @__PURE__ */
|
|
731
|
+
}, t(multiUse ? "invite many qr label" : "invite one qr label"), /* @__PURE__ */ import_react11.default.createElement(import_react_ui7.Tooltip.Arrow, null)))), showShare && invitationUrl ? /* @__PURE__ */ import_react11.default.createElement(import_react_ui7.Tooltip.Root, null, /* @__PURE__ */ import_react11.default.createElement(import_react11.default.Fragment, null, /* @__PURE__ */ import_react11.default.createElement(import_react_ui7.Tooltip.Trigger, {
|
|
991
732
|
asChild: true
|
|
992
|
-
}, /* @__PURE__ */
|
|
733
|
+
}, /* @__PURE__ */ import_react11.default.createElement(import_react_ui7.Button, {
|
|
993
734
|
variant: "ghost",
|
|
994
735
|
classNames: "grow justify-start font-medium",
|
|
995
736
|
onClick: () => send({
|
|
@@ -997,55 +738,55 @@ var InvitationListItemImpl = ({ invitation, invitationStatus: propsInvitationSta
|
|
|
997
738
|
invitation
|
|
998
739
|
}),
|
|
999
740
|
"data-testid": "show-qrcode"
|
|
1000
|
-
}, /* @__PURE__ */
|
|
741
|
+
}, /* @__PURE__ */ import_react11.default.createElement("span", null, t("open share panel label")))), /* @__PURE__ */ import_react11.default.createElement(import_react_ui7.Clipboard.IconButton, {
|
|
1001
742
|
variant: "ghost",
|
|
1002
743
|
value: invitationUrl
|
|
1003
|
-
})), /* @__PURE__ */
|
|
744
|
+
})), /* @__PURE__ */ import_react11.default.createElement(import_react_ui7.Tooltip.Portal, null, /* @__PURE__ */ import_react11.default.createElement(import_react_ui7.Tooltip.Content, {
|
|
1004
745
|
side: "left"
|
|
1005
|
-
}, invitationHasLifetime && /* @__PURE__ */
|
|
746
|
+
}, invitationHasLifetime && /* @__PURE__ */ import_react11.default.createElement("span", null, "Expires ", invitationTimeLeft)))) : showAuthCode ? /* @__PURE__ */ import_react11.default.createElement(AuthCode, {
|
|
1006
747
|
code: authCode,
|
|
1007
748
|
classNames: "grow"
|
|
1008
|
-
}) : invitationStatus === import_invitations.Invitation.State.CONNECTING ? /* @__PURE__ */
|
|
749
|
+
}) : invitationStatus === import_invitations.Invitation.State.CONNECTING ? /* @__PURE__ */ import_react11.default.createElement("span", {
|
|
1009
750
|
className: "pli-2 grow text-neutral-500"
|
|
1010
|
-
}, "Connecting...") : invitationStatus === import_invitations.Invitation.State.AUTHENTICATING ? /* @__PURE__ */
|
|
751
|
+
}, "Connecting...") : invitationStatus === import_invitations.Invitation.State.AUTHENTICATING ? /* @__PURE__ */ import_react11.default.createElement("span", {
|
|
1011
752
|
className: "pli-2 grow text-neutral-500"
|
|
1012
|
-
}, "Authenticating...") : invitationStatus === import_invitations.Invitation.State.ERROR || invitationStatus === import_invitations.Invitation.State.TIMEOUT ? /* @__PURE__ */
|
|
753
|
+
}, "Authenticating...") : invitationStatus === import_invitations.Invitation.State.ERROR || invitationStatus === import_invitations.Invitation.State.TIMEOUT ? /* @__PURE__ */ import_react11.default.createElement("span", {
|
|
1013
754
|
className: "pli-2 grow text-neutral-500"
|
|
1014
|
-
}, "Failed") : invitationStatus === import_invitations.Invitation.State.CANCELLED ? /* @__PURE__ */
|
|
755
|
+
}, "Failed") : invitationStatus === import_invitations.Invitation.State.CANCELLED ? /* @__PURE__ */ import_react11.default.createElement("span", {
|
|
1015
756
|
className: "pli-2 grow text-neutral-500"
|
|
1016
|
-
}, "Cancelled") : invitationStatus === import_invitations.Invitation.State.SUCCESS ? /* @__PURE__ */
|
|
757
|
+
}, "Cancelled") : invitationStatus === import_invitations.Invitation.State.SUCCESS ? /* @__PURE__ */ import_react11.default.createElement("span", {
|
|
1017
758
|
className: "pli-2 grow truncate"
|
|
1018
|
-
}, "User joined") : !shareable ? /* @__PURE__ */
|
|
759
|
+
}, "User joined") : !shareable ? /* @__PURE__ */ import_react11.default.createElement("span", {
|
|
1019
760
|
className: "pli-2 grow text-neutral-500"
|
|
1020
|
-
}, "Pending Invitation") : /* @__PURE__ */
|
|
761
|
+
}, "Pending Invitation") : /* @__PURE__ */ import_react11.default.createElement("span", {
|
|
1021
762
|
className: "grow"
|
|
1022
|
-
}, " "), isCancellable ? /* @__PURE__ */
|
|
763
|
+
}, " "), isCancellable ? /* @__PURE__ */ import_react11.default.createElement(import_react_ui7.Button, {
|
|
1023
764
|
variant: "ghost",
|
|
1024
765
|
classNames: "flex gap-1 pli-0",
|
|
1025
766
|
onClick: cancel,
|
|
1026
767
|
"data-testid": "cancel-invitation"
|
|
1027
|
-
}, /* @__PURE__ */
|
|
768
|
+
}, /* @__PURE__ */ import_react11.default.createElement("span", {
|
|
1028
769
|
className: "sr-only"
|
|
1029
|
-
}, t("cancel invitation label")), /* @__PURE__ */
|
|
1030
|
-
className: (0,
|
|
1031
|
-
})) : /* @__PURE__ */
|
|
770
|
+
}, t("cancel invitation label")), /* @__PURE__ */ import_react11.default.createElement(import_react10.X, {
|
|
771
|
+
className: (0, import_react_ui_theme7.getSize)(4)
|
|
772
|
+
})) : /* @__PURE__ */ import_react11.default.createElement(import_react_ui7.Button, {
|
|
1032
773
|
variant: "ghost",
|
|
1033
774
|
classNames: "flex gap-1 pli-0",
|
|
1034
775
|
onClick: handleClickRemove,
|
|
1035
776
|
"data-testid": "remove-invitation"
|
|
1036
|
-
}, /* @__PURE__ */
|
|
777
|
+
}, /* @__PURE__ */ import_react11.default.createElement("span", {
|
|
1037
778
|
className: "sr-only"
|
|
1038
|
-
}, t("remove invitation label")), /* @__PURE__ */
|
|
1039
|
-
className: (0,
|
|
779
|
+
}, t("remove invitation label")), /* @__PURE__ */ import_react11.default.createElement(import_react10.X, {
|
|
780
|
+
className: (0, import_react_ui_theme7.getSize)(4)
|
|
1040
781
|
})));
|
|
1041
782
|
};
|
|
1042
783
|
var InvitationList = ({ invitations, send, ...invitationProps }) => {
|
|
1043
784
|
const { className, InvitationListItem: Item = InvitationListItem } = invitationProps;
|
|
1044
|
-
return /* @__PURE__ */
|
|
1045
|
-
classNames: (0,
|
|
785
|
+
return /* @__PURE__ */ import_react14.default.createElement(import_react_ui8.List, {
|
|
786
|
+
classNames: (0, import_react_ui_theme9.mx)("flex flex-col gap-2", className)
|
|
1046
787
|
}, invitations.map((invitation) => {
|
|
1047
788
|
const value = invitation.get().invitationId;
|
|
1048
|
-
return /* @__PURE__ */
|
|
789
|
+
return /* @__PURE__ */ import_react14.default.createElement(Item, {
|
|
1049
790
|
key: value,
|
|
1050
791
|
send,
|
|
1051
792
|
invitation,
|
|
@@ -1056,12 +797,12 @@ var InvitationList = ({ invitations, send, ...invitationProps }) => {
|
|
|
1056
797
|
var InvitationListContainer = ({ spaceKey, createInvitationUrl, send }) => {
|
|
1057
798
|
const space = (0, import_echo3.useSpace)(spaceKey);
|
|
1058
799
|
const invitations = (0, import_echo3.useSpaceInvitations)(spaceKey);
|
|
1059
|
-
const handleClickRemove = (0,
|
|
800
|
+
const handleClickRemove = (0, import_react13.useCallback)((invitation) => {
|
|
1060
801
|
void invitation.cancel();
|
|
1061
802
|
}, [
|
|
1062
803
|
space
|
|
1063
804
|
]);
|
|
1064
|
-
return /* @__PURE__ */
|
|
805
|
+
return /* @__PURE__ */ import_react13.default.createElement(InvitationList, {
|
|
1065
806
|
invitations,
|
|
1066
807
|
onClickRemove: handleClickRemove,
|
|
1067
808
|
createInvitationUrl,
|
|
@@ -1072,25 +813,25 @@ var defaultActions = {
|
|
|
1072
813
|
noopAction: {
|
|
1073
814
|
label: "No-op",
|
|
1074
815
|
description: "",
|
|
1075
|
-
icon:
|
|
816
|
+
icon: import_react15.Placeholder,
|
|
1076
817
|
onClick: () => {
|
|
1077
818
|
}
|
|
1078
819
|
}
|
|
1079
820
|
};
|
|
1080
|
-
var BifurcatedAction = /* @__PURE__ */ (0,
|
|
821
|
+
var BifurcatedAction = /* @__PURE__ */ (0, import_react16.forwardRef)((props, forwardedRef) => {
|
|
1081
822
|
const { classNames, variant, isFull = true, actions = defaultActions, activeAction: propsActiveAction, onChangeActiveAction, defaultActiveAction, "data-testid": testId, ...rest } = props;
|
|
1082
823
|
const dropdownTestId = testId && `${testId}.more`;
|
|
1083
|
-
const [activeActionKey2 = Object.keys(actions)[0], setActiveAction] = (0,
|
|
824
|
+
const [activeActionKey2 = Object.keys(actions)[0], setActiveAction] = (0, import_react_use_controllable_state.useControllableState)({
|
|
1084
825
|
prop: propsActiveAction,
|
|
1085
826
|
onChange: onChangeActiveAction,
|
|
1086
827
|
defaultProp: defaultActiveAction
|
|
1087
828
|
});
|
|
1088
829
|
const activeAction = actions[activeActionKey2] ?? {};
|
|
1089
|
-
const { t } = (0,
|
|
1090
|
-
return /* @__PURE__ */
|
|
830
|
+
const { t } = (0, import_react_ui9.useTranslation)("os");
|
|
831
|
+
return /* @__PURE__ */ import_react16.default.createElement("div", {
|
|
1091
832
|
role: "none",
|
|
1092
|
-
className: (0,
|
|
1093
|
-
}, /* @__PURE__ */
|
|
833
|
+
className: (0, import_react_ui_theme10.mx)("mbs-2 flex gap-px items-center", isFull && "is-full")
|
|
834
|
+
}, /* @__PURE__ */ import_react16.default.createElement(import_react_ui9.Button, {
|
|
1094
835
|
...rest,
|
|
1095
836
|
classNames: [
|
|
1096
837
|
"bs-11 flex-1 min-is-0 flex gap-2 rounded-ie-none",
|
|
@@ -1100,22 +841,22 @@ var BifurcatedAction = /* @__PURE__ */ (0, import_react21.forwardRef)((props, fo
|
|
|
1100
841
|
variant,
|
|
1101
842
|
"data-testid": testId,
|
|
1102
843
|
onClick: activeAction.onClick
|
|
1103
|
-
}, activeAction.icon && /* @__PURE__ */
|
|
1104
|
-
className: (0,
|
|
1105
|
-
}), /* @__PURE__ */
|
|
844
|
+
}, activeAction.icon && /* @__PURE__ */ import_react16.default.createElement(activeAction.icon, {
|
|
845
|
+
className: (0, import_react_ui_theme10.getSize)(5)
|
|
846
|
+
}), /* @__PURE__ */ import_react16.default.createElement("span", null, activeAction.label)), /* @__PURE__ */ import_react16.default.createElement(import_react_ui9.DropdownMenu.Root, null, /* @__PURE__ */ import_react16.default.createElement(import_react_ui9.DropdownMenu.Trigger, {
|
|
1106
847
|
asChild: true
|
|
1107
|
-
}, /* @__PURE__ */
|
|
848
|
+
}, /* @__PURE__ */ import_react16.default.createElement(import_react_ui9.Button, {
|
|
1108
849
|
classNames: [
|
|
1109
850
|
"bs-11 flex-none rounded-is-none",
|
|
1110
851
|
classNames
|
|
1111
852
|
],
|
|
1112
853
|
"data-testid": dropdownTestId
|
|
1113
|
-
}, /* @__PURE__ */
|
|
854
|
+
}, /* @__PURE__ */ import_react16.default.createElement("span", {
|
|
1114
855
|
className: "sr-only"
|
|
1115
|
-
}, t("invite options label")), /* @__PURE__ */
|
|
1116
|
-
className: (0,
|
|
1117
|
-
}))), /* @__PURE__ */
|
|
1118
|
-
return /* @__PURE__ */
|
|
856
|
+
}, t("invite options label")), /* @__PURE__ */ import_react16.default.createElement(import_react15.CaretDown, {
|
|
857
|
+
className: (0, import_react_ui_theme10.getSize)(4)
|
|
858
|
+
}))), /* @__PURE__ */ import_react16.default.createElement(import_react_ui9.DropdownMenu.Portal, null, /* @__PURE__ */ import_react16.default.createElement(import_react_ui9.DropdownMenu.Content, null, /* @__PURE__ */ import_react16.default.createElement(import_react_ui9.DropdownMenu.Viewport, null, Object.entries(actions).map(([id, action]) => {
|
|
859
|
+
return /* @__PURE__ */ import_react16.default.createElement(import_react_ui9.DropdownMenu.CheckboxItem, {
|
|
1119
860
|
key: id,
|
|
1120
861
|
"aria-labelledby": `${id}__label`,
|
|
1121
862
|
"aria-describedby": `${id}__description`,
|
|
@@ -1123,27 +864,27 @@ var BifurcatedAction = /* @__PURE__ */ (0, import_react21.forwardRef)((props, fo
|
|
|
1123
864
|
onCheckedChange: (checked) => checked && setActiveAction(id),
|
|
1124
865
|
classNames: "gap-2",
|
|
1125
866
|
"data-testid": action.testId
|
|
1126
|
-
}, action.icon && /* @__PURE__ */
|
|
1127
|
-
className: (0,
|
|
1128
|
-
}), /* @__PURE__ */
|
|
867
|
+
}, action.icon && /* @__PURE__ */ import_react16.default.createElement(action.icon, {
|
|
868
|
+
className: (0, import_react_ui_theme10.getSize)(5)
|
|
869
|
+
}), /* @__PURE__ */ import_react16.default.createElement("div", {
|
|
1129
870
|
role: "none",
|
|
1130
871
|
className: "flex-1 min-is-0 space-b-1"
|
|
1131
|
-
}, /* @__PURE__ */
|
|
872
|
+
}, /* @__PURE__ */ import_react16.default.createElement("p", {
|
|
1132
873
|
id: `${id}__label`
|
|
1133
|
-
}, action.label), action.description && /* @__PURE__ */
|
|
874
|
+
}, action.label), action.description && /* @__PURE__ */ import_react16.default.createElement("p", {
|
|
1134
875
|
id: `${id}__description`,
|
|
1135
|
-
className:
|
|
1136
|
-
}, action.description)), /* @__PURE__ */
|
|
876
|
+
className: import_react_ui_theme10.descriptionText
|
|
877
|
+
}, action.description)), /* @__PURE__ */ import_react16.default.createElement(import_react_ui9.DropdownMenu.ItemIndicator, {
|
|
1137
878
|
asChild: true
|
|
1138
|
-
}, /* @__PURE__ */
|
|
879
|
+
}, /* @__PURE__ */ import_react16.default.createElement(import_react15.Check, {
|
|
1139
880
|
weight: "bold",
|
|
1140
|
-
className: (0,
|
|
881
|
+
className: (0, import_react_ui_theme10.getSize)(4)
|
|
1141
882
|
})));
|
|
1142
|
-
})), /* @__PURE__ */
|
|
883
|
+
})), /* @__PURE__ */ import_react16.default.createElement(import_react_ui9.DropdownMenu.Arrow, null)))));
|
|
1143
884
|
});
|
|
1144
|
-
var Action = /* @__PURE__ */ (0,
|
|
885
|
+
var Action = /* @__PURE__ */ (0, import_react16.forwardRef)((props, forwardedRef) => {
|
|
1145
886
|
const { children, classNames, variant, isFull = true, ...rest } = props;
|
|
1146
|
-
return /* @__PURE__ */
|
|
887
|
+
return /* @__PURE__ */ import_react16.default.createElement(import_react_ui9.Button, {
|
|
1147
888
|
...rest,
|
|
1148
889
|
classNames: [
|
|
1149
890
|
isFull && "is-full",
|
|
@@ -1154,37 +895,37 @@ var Action = /* @__PURE__ */ (0, import_react21.forwardRef)((props, forwardedRef
|
|
|
1154
895
|
variant
|
|
1155
896
|
}, children);
|
|
1156
897
|
});
|
|
1157
|
-
var Actions = /* @__PURE__ */ (0,
|
|
1158
|
-
return /* @__PURE__ */
|
|
898
|
+
var Actions = /* @__PURE__ */ (0, import_react17.forwardRef)(({ classNames, children, ...props }, forwardedRef) => {
|
|
899
|
+
return /* @__PURE__ */ import_react17.default.createElement("div", {
|
|
1159
900
|
...props,
|
|
1160
|
-
className: (0,
|
|
901
|
+
className: (0, import_react_ui_theme11.mx)("flex flex-col gap-2 mbs-2", Array.isArray(children) && children.length > 1 ? "justify-between" : "justify-center", classNames),
|
|
1161
902
|
ref: forwardedRef
|
|
1162
903
|
}, children);
|
|
1163
904
|
});
|
|
1164
905
|
var CloseButton = ({ onDone, ...props }) => {
|
|
1165
|
-
const { t } = (0,
|
|
1166
|
-
return /* @__PURE__ */
|
|
906
|
+
const { t } = (0, import_react_ui10.useTranslation)("os");
|
|
907
|
+
return /* @__PURE__ */ import_react19.default.createElement(import_react_ui10.Button, {
|
|
1167
908
|
variant: "ghost",
|
|
1168
|
-
classNames: (0,
|
|
909
|
+
classNames: (0, import_react_ui_theme12.mx)("plb-0 pli-2 absolute block-start-0 inline-end-0 z-[1]"),
|
|
1169
910
|
onClick: () => onDone?.(),
|
|
1170
911
|
...props
|
|
1171
|
-
}, /* @__PURE__ */
|
|
912
|
+
}, /* @__PURE__ */ import_react19.default.createElement(import_react18.X, {
|
|
1172
913
|
weight: "bold",
|
|
1173
|
-
className: (0,
|
|
1174
|
-
}), /* @__PURE__ */
|
|
914
|
+
className: (0, import_react_ui_theme12.getSize)(4)
|
|
915
|
+
}), /* @__PURE__ */ import_react19.default.createElement("span", {
|
|
1175
916
|
className: "sr-only"
|
|
1176
917
|
}, t("exit label")));
|
|
1177
918
|
};
|
|
1178
919
|
var Emoji = ({ text, className }) => {
|
|
1179
920
|
const size = 14;
|
|
1180
|
-
return /* @__PURE__ */
|
|
921
|
+
return /* @__PURE__ */ import_react20.default.createElement("div", {
|
|
1181
922
|
role: "none",
|
|
1182
|
-
className: (0,
|
|
1183
|
-
}, /* @__PURE__ */
|
|
923
|
+
className: (0, import_react_ui_theme13.mx)((0, import_react_ui_theme13.getSize)(size), "rounded relative pointer-events-none", className)
|
|
924
|
+
}, /* @__PURE__ */ import_react20.default.createElement("svg", {
|
|
1184
925
|
viewBox: `0 0 ${size * 4} ${size * 4}`,
|
|
1185
926
|
width: size * 4,
|
|
1186
927
|
height: size * 4
|
|
1187
|
-
}, /* @__PURE__ */
|
|
928
|
+
}, /* @__PURE__ */ import_react20.default.createElement("text", {
|
|
1188
929
|
x: "50%",
|
|
1189
930
|
y: "50%",
|
|
1190
931
|
textAnchor: "middle",
|
|
@@ -1195,41 +936,41 @@ var Emoji = ({ text, className }) => {
|
|
|
1195
936
|
};
|
|
1196
937
|
var Centered = (props) => {
|
|
1197
938
|
const { children } = props;
|
|
1198
|
-
return /* @__PURE__ */
|
|
939
|
+
return /* @__PURE__ */ import_react20.default.createElement("div", {
|
|
1199
940
|
role: "none",
|
|
1200
941
|
className: "absolute inset-0 flex items-center justify-center"
|
|
1201
942
|
}, children);
|
|
1202
943
|
};
|
|
1203
|
-
var Heading = /* @__PURE__ */ (0,
|
|
1204
|
-
return /* @__PURE__ */
|
|
944
|
+
var Heading = /* @__PURE__ */ (0, import_react21.forwardRef)(({ titleId, title, titleSrOnly, children, corner }, forwardedRef) => {
|
|
945
|
+
return /* @__PURE__ */ import_react21.default.createElement("div", {
|
|
1205
946
|
role: "none",
|
|
1206
947
|
className: "pbe-2 relative",
|
|
1207
948
|
ref: forwardedRef
|
|
1208
|
-
}, corner, /* @__PURE__ */
|
|
949
|
+
}, corner, /* @__PURE__ */ import_react21.default.createElement("h1", {
|
|
1209
950
|
...!titleSrOnly && {
|
|
1210
951
|
id: titleId
|
|
1211
952
|
},
|
|
1212
|
-
className: (0,
|
|
1213
|
-
}, title), titleSrOnly && /* @__PURE__ */
|
|
953
|
+
className: (0, import_react_ui_theme14.mx)(import_react_ui_theme14.descriptionText, "text-center mlb-2", titleSrOnly && "invisible")
|
|
954
|
+
}, title), titleSrOnly && /* @__PURE__ */ import_react21.default.createElement("span", {
|
|
1214
955
|
id: titleId
|
|
1215
956
|
}, title), children);
|
|
1216
957
|
});
|
|
1217
958
|
var Label = (props) => {
|
|
1218
959
|
const { children } = props;
|
|
1219
|
-
return /* @__PURE__ */
|
|
1220
|
-
className: (0,
|
|
960
|
+
return /* @__PURE__ */ import_react22.default.createElement("span", {
|
|
961
|
+
className: (0, import_react_ui_theme15.mx)(import_react_ui_theme15.descriptionText, "text-center mli-6 whitespace-normal")
|
|
1221
962
|
}, children);
|
|
1222
963
|
};
|
|
1223
964
|
var Input = ({ validationMessage, label, ...props }) => {
|
|
1224
|
-
return /* @__PURE__ */
|
|
965
|
+
return /* @__PURE__ */ import_react23.default.createElement(import_react_ui11.Input.Root, null, /* @__PURE__ */ import_react23.default.createElement(import_react_ui11.Input.Label, null, label), /* @__PURE__ */ import_react23.default.createElement(import_react_ui11.Input.TextInput, {
|
|
1225
966
|
...props,
|
|
1226
967
|
classNames: "plb-3 mbs-2 text-center"
|
|
1227
|
-
}), /* @__PURE__ */
|
|
968
|
+
}), /* @__PURE__ */ import_react23.default.createElement(import_react_ui11.Input.DescriptionAndValidation, null, validationMessage && /* @__PURE__ */ import_react23.default.createElement(import_react_ui11.Input.Validation, null, validationMessage)));
|
|
1228
969
|
};
|
|
1229
|
-
var StepHeading = /* @__PURE__ */ (0,
|
|
1230
|
-
return /* @__PURE__ */
|
|
970
|
+
var StepHeading = /* @__PURE__ */ (0, import_react24.forwardRef)(({ children, className, ...props }, forwardedRef) => {
|
|
971
|
+
return /* @__PURE__ */ import_react24.default.createElement("h2", {
|
|
1231
972
|
...props,
|
|
1232
|
-
className: (0,
|
|
973
|
+
className: (0, import_react_ui_theme16.mx)("font-normal text-sm mbe-4 mli-1 text-center", className),
|
|
1233
974
|
ref: forwardedRef
|
|
1234
975
|
}, children);
|
|
1235
976
|
});
|
|
@@ -1239,21 +980,21 @@ var VIEW_NAME = "ViewportView";
|
|
|
1239
980
|
var [createViewportContext, createViewportScope] = (0, import_react_context.createContextScope)(VIEWPORT_NAME, []);
|
|
1240
981
|
var [ViewportProvider, useViewportContext] = createViewportContext(VIEWPORT_NAME);
|
|
1241
982
|
var ViewportRoot = ({ __viewportScope, classNames, children, defaultActiveView, activeView: propsActiveView, focusManaged = false, onActiveViewChange, ...props }) => {
|
|
1242
|
-
const [activeView = "never", setActiveView] = (0,
|
|
983
|
+
const [activeView = "never", setActiveView] = (0, import_react_use_controllable_state2.useControllableState)({
|
|
1243
984
|
prop: propsActiveView,
|
|
1244
985
|
defaultProp: defaultActiveView,
|
|
1245
986
|
onChange: onActiveViewChange
|
|
1246
987
|
});
|
|
1247
|
-
return /* @__PURE__ */
|
|
988
|
+
return /* @__PURE__ */ import_react25.default.createElement(ViewportProvider, {
|
|
1248
989
|
focusManaged,
|
|
1249
990
|
activeView,
|
|
1250
991
|
setActiveView,
|
|
1251
992
|
scope: __viewportScope
|
|
1252
|
-
}, /* @__PURE__ */
|
|
993
|
+
}, /* @__PURE__ */ import_react25.default.createElement("div", {
|
|
1253
994
|
role: "region",
|
|
1254
995
|
"aria-live": "polite",
|
|
1255
996
|
...props,
|
|
1256
|
-
className: (0,
|
|
997
|
+
className: (0, import_react_ui_theme17.mx)("is-full overflow-hidden", classNames)
|
|
1257
998
|
}, children));
|
|
1258
999
|
};
|
|
1259
1000
|
ViewportRoot.displayName = VIEWPORT_NAME;
|
|
@@ -1261,20 +1002,20 @@ var ViewportViews = ({ classNames, children, ...props }) => {
|
|
|
1261
1002
|
const size = {
|
|
1262
1003
|
inlineSize: `${Math.ceil(children.length) * 100}%`
|
|
1263
1004
|
};
|
|
1264
|
-
return /* @__PURE__ */
|
|
1005
|
+
return /* @__PURE__ */ import_react25.default.createElement("div", {
|
|
1265
1006
|
role: "none",
|
|
1266
1007
|
style: size,
|
|
1267
1008
|
...props,
|
|
1268
|
-
className: (0,
|
|
1009
|
+
className: (0, import_react_ui_theme17.mx)("flex", classNames)
|
|
1269
1010
|
}, children);
|
|
1270
1011
|
};
|
|
1271
1012
|
ViewportViews.displayName = VIEWS_NAME;
|
|
1272
|
-
var ViewportView = /* @__PURE__ */ (0,
|
|
1013
|
+
var ViewportView = /* @__PURE__ */ (0, import_react25.forwardRef)(({ __viewportScope, classNames, children, id, ...props }, forwardedRef) => {
|
|
1273
1014
|
const { activeView, focusManaged } = useViewportContext(VIEW_NAME, __viewportScope);
|
|
1274
1015
|
const isActive = id === activeView;
|
|
1275
|
-
const ref = (0,
|
|
1016
|
+
const ref = (0, import_react_ui12.useForwardedRef)(forwardedRef);
|
|
1276
1017
|
const { findFirstFocusable } = (0, import_react_tabster.useFocusFinders)();
|
|
1277
|
-
(0,
|
|
1018
|
+
(0, import_react25.useEffect)(() => {
|
|
1278
1019
|
if (!focusManaged && isActive && document.body.hasAttribute("data-is-keyboard") && ref.current) {
|
|
1279
1020
|
findFirstFocusable(ref.current)?.focus();
|
|
1280
1021
|
}
|
|
@@ -1283,12 +1024,12 @@ var ViewportView = /* @__PURE__ */ (0, import_react30.forwardRef)(({ __viewportS
|
|
|
1283
1024
|
ref.current,
|
|
1284
1025
|
isActive
|
|
1285
1026
|
]);
|
|
1286
|
-
return /* @__PURE__ */
|
|
1027
|
+
return /* @__PURE__ */ import_react25.default.createElement("section", {
|
|
1287
1028
|
...props,
|
|
1288
1029
|
...!isActive && {
|
|
1289
1030
|
"aria-hidden": true
|
|
1290
1031
|
},
|
|
1291
|
-
className: (0,
|
|
1032
|
+
className: (0, import_react_ui_theme17.mx)("min-is-0 flex-1 flex flex-col", isActive ? "order-2" : "order-4 invisible", classNames),
|
|
1292
1033
|
ref
|
|
1293
1034
|
}, children);
|
|
1294
1035
|
});
|
|
@@ -1298,20 +1039,20 @@ var Viewport = {
|
|
|
1298
1039
|
Views: ViewportViews,
|
|
1299
1040
|
View: ViewportView
|
|
1300
1041
|
};
|
|
1301
|
-
var SpaceListItem = /* @__PURE__ */ (0,
|
|
1042
|
+
var SpaceListItem = /* @__PURE__ */ (0, import_react26.forwardRef)(({ space, onClick }, ref) => {
|
|
1302
1043
|
const fallbackValue = (0, import_util4.keyToEmoji)(space.key);
|
|
1303
|
-
const labelId = (0,
|
|
1044
|
+
const labelId = (0, import_react_ui13.useId)("identityListItem__label");
|
|
1304
1045
|
const displayName = space.properties.name ?? (0, import_util4.humanize)(space.key.toHex());
|
|
1305
|
-
return /* @__PURE__ */
|
|
1306
|
-
className: (0,
|
|
1046
|
+
return /* @__PURE__ */ import_react26.default.createElement("li", {
|
|
1047
|
+
className: (0, import_react_ui_theme18.mx)("flex gap-2 items-center mbe-2", onClick && "cursor-pointer"),
|
|
1307
1048
|
onClick: () => onClick?.(),
|
|
1308
1049
|
ref,
|
|
1309
1050
|
"data-testid": "space-list-item"
|
|
1310
|
-
}, /* @__PURE__ */
|
|
1051
|
+
}, /* @__PURE__ */ import_react26.default.createElement(import_react_ui13.Avatar.Root, {
|
|
1311
1052
|
labelId
|
|
1312
|
-
}, /* @__PURE__ */
|
|
1053
|
+
}, /* @__PURE__ */ import_react26.default.createElement(import_react_ui13.Avatar.Frame, null, /* @__PURE__ */ import_react26.default.createElement(import_react_ui13.Avatar.Fallback, {
|
|
1313
1054
|
text: fallbackValue
|
|
1314
|
-
})), /* @__PURE__ */
|
|
1055
|
+
})), /* @__PURE__ */ import_react26.default.createElement(import_react_ui13.Avatar.Label, {
|
|
1315
1056
|
classNames: "text-sm truncate"
|
|
1316
1057
|
}, displayName)));
|
|
1317
1058
|
});
|
|
@@ -1410,7 +1151,7 @@ var identityMachine = (0, import_xstate.createMachine)({
|
|
|
1410
1151
|
}
|
|
1411
1152
|
});
|
|
1412
1153
|
var useIdentityMachine = (client, options) => {
|
|
1413
|
-
return (0,
|
|
1154
|
+
return (0, import_react30.useMachine)(identityMachine, {
|
|
1414
1155
|
...options,
|
|
1415
1156
|
context: {
|
|
1416
1157
|
...options?.context,
|
|
@@ -1453,7 +1194,7 @@ var IdentityActionChooser = (props) => {
|
|
|
1453
1194
|
});
|
|
1454
1195
|
};
|
|
1455
1196
|
const isProduction = client.config.values.runtime?.app?.env?.DX_ENVIRONMENT === "production";
|
|
1456
|
-
return /* @__PURE__ */
|
|
1197
|
+
return /* @__PURE__ */ import_react31.default.createElement(IdentityActionChooserImpl, {
|
|
1457
1198
|
...props,
|
|
1458
1199
|
onClickAdd: createInvitation,
|
|
1459
1200
|
onClickJoinExisting: () => send?.({
|
|
@@ -1469,10 +1210,10 @@ var IdentityActionChooser = (props) => {
|
|
|
1469
1210
|
};
|
|
1470
1211
|
var IdentityActionChooserImpl = ({ devices, connectionState, agentHostingEnabled, onClickAdd, onClickJoinExisting, onClickRecover, onClickReset, ...agentProps }) => {
|
|
1471
1212
|
const edgeDeviceAvailable = devices.find((device) => device.profile?.type === import_halo3.DeviceType.AGENT_MANAGED && device.profile?.os?.toUpperCase() === "EDGE");
|
|
1472
|
-
return /* @__PURE__ */
|
|
1213
|
+
return /* @__PURE__ */ import_react31.default.createElement("div", {
|
|
1473
1214
|
role: "none",
|
|
1474
1215
|
className: "bs-40 grow overflow-y-auto"
|
|
1475
|
-
}, /* @__PURE__ */
|
|
1216
|
+
}, /* @__PURE__ */ import_react31.default.createElement(DeviceList, {
|
|
1476
1217
|
devices,
|
|
1477
1218
|
connectionState,
|
|
1478
1219
|
onClickAdd,
|
|
@@ -1480,13 +1221,13 @@ var IdentityActionChooserImpl = ({ devices, connectionState, agentHostingEnabled
|
|
|
1480
1221
|
onClickRecover: agentProps.agentStatus === "created" ? onClickRecover : void 0,
|
|
1481
1222
|
onClickReset,
|
|
1482
1223
|
onAgentDestroy: agentProps.onAgentDestroy
|
|
1483
|
-
}), !edgeDeviceAvailable && agentHostingEnabled && /* @__PURE__ */
|
|
1224
|
+
}), !edgeDeviceAvailable && agentHostingEnabled && /* @__PURE__ */ import_react31.default.createElement(AgentConfig, agentProps));
|
|
1484
1225
|
};
|
|
1485
1226
|
var __dxlog_file3 = "/home/runner/work/dxos/dxos/packages/sdk/shell/src/panels/IdentityPanel/useEdgeAgentsHandlers.ts";
|
|
1486
1227
|
var useEdgeAgentHandlers = ({ identity }) => {
|
|
1487
|
-
const [validationMessage, setValidationMessage] = (0,
|
|
1488
|
-
const [lastReceivedStatus, setLastReceivedStatus] = (0,
|
|
1489
|
-
const [agentStatus, setAgentStatus] = (0,
|
|
1228
|
+
const [validationMessage, setValidationMessage] = (0, import_react33.useState)("");
|
|
1229
|
+
const [lastReceivedStatus, setLastReceivedStatus] = (0, import_react33.useState)(import_services.QueryAgentStatusResponse.AgentStatus.UNKNOWN);
|
|
1230
|
+
const [agentStatus, setAgentStatus] = (0, import_react33.useState)("getting");
|
|
1490
1231
|
const client = (0, import_react_client5.useClient)();
|
|
1491
1232
|
const agentHostingEnabled = Boolean(client.config.values.runtime?.client?.edgeFeatures?.agents);
|
|
1492
1233
|
const handleStatus = (status) => {
|
|
@@ -1503,7 +1244,7 @@ var useEdgeAgentHandlers = ({ identity }) => {
|
|
|
1503
1244
|
break;
|
|
1504
1245
|
}
|
|
1505
1246
|
};
|
|
1506
|
-
(0,
|
|
1247
|
+
(0, import_react33.useEffect)(() => {
|
|
1507
1248
|
const stream = client.services.services.EdgeAgentService?.queryAgentStatus();
|
|
1508
1249
|
stream?.subscribe(({ status }) => {
|
|
1509
1250
|
setLastReceivedStatus(status);
|
|
@@ -1572,8 +1313,8 @@ var useEdgeAgentHandlers = ({ identity }) => {
|
|
|
1572
1313
|
};
|
|
1573
1314
|
var __dxlog_file4 = "/home/runner/work/dxos/dxos/packages/sdk/shell/src/panels/IdentityPanel/useKubeAgentHandlers.ts";
|
|
1574
1315
|
var useKubeAgentHandlers = ({ invitations, identity }) => {
|
|
1575
|
-
const [validationMessage, setValidationMessage] = (0,
|
|
1576
|
-
const [agentStatus, setAgentStatus] = (0,
|
|
1316
|
+
const [validationMessage, setValidationMessage] = (0, import_react34.useState)("");
|
|
1317
|
+
const [agentStatus, setAgentStatus] = (0, import_react34.useState)("getting");
|
|
1577
1318
|
const agentHostingProviderClient = (0, import_react_client6.useAgentHostingClient)();
|
|
1578
1319
|
const client = (0, import_react_client6.useClient)();
|
|
1579
1320
|
const updateAgentStatus = async () => {
|
|
@@ -1650,10 +1391,10 @@ var useKubeAgentHandlers = ({ invitations, identity }) => {
|
|
|
1650
1391
|
setValidationMessage("No agent provider configured.");
|
|
1651
1392
|
}
|
|
1652
1393
|
};
|
|
1653
|
-
(0,
|
|
1394
|
+
(0, import_react34.useEffect)(() => {
|
|
1654
1395
|
void updateAgentStatus();
|
|
1655
1396
|
}, []);
|
|
1656
|
-
const handleAgentCreate = (0,
|
|
1397
|
+
const handleAgentCreate = (0, import_react34.useCallback)(async (invitation) => {
|
|
1657
1398
|
const invitationCode = import_invitations4.InvitationEncoder.encode(invitation);
|
|
1658
1399
|
if (invitation.state === import_invitations4.Invitation.State.CONNECTING) {
|
|
1659
1400
|
import_log6.log.info(JSON.stringify({
|
|
@@ -1737,18 +1478,18 @@ var invitationStatusValue = /* @__PURE__ */ new Map([
|
|
|
1737
1478
|
]
|
|
1738
1479
|
]);
|
|
1739
1480
|
var InvitationManagerView = ({ children, ...props }) => {
|
|
1740
|
-
return /* @__PURE__ */
|
|
1481
|
+
return /* @__PURE__ */ import_react36.default.createElement(Viewport.View, {
|
|
1741
1482
|
...props,
|
|
1742
1483
|
classNames: "grow flex flex-col justify-around items-center"
|
|
1743
1484
|
}, children);
|
|
1744
1485
|
};
|
|
1745
1486
|
var InvitationManager = ({ invitationUrl, active, send, status, multiUse, authCode, id = "0" }) => {
|
|
1746
|
-
const { t } = (0,
|
|
1747
|
-
const qrLabel = (0,
|
|
1487
|
+
const { t } = (0, import_react_ui17.useTranslation)("os");
|
|
1488
|
+
const qrLabel = (0, import_react_ui17.useId)("invitation-manager__qr-code");
|
|
1748
1489
|
const statusValue = multiUse ? 0 : invitationStatusValue.get(status) ?? 0;
|
|
1749
1490
|
const showAuthCode = statusValue === 3;
|
|
1750
1491
|
const emoji = (0, import_util7.hexToEmoji)(id);
|
|
1751
|
-
const activeView = (0,
|
|
1492
|
+
const activeView = (0, import_react36.useMemo)(() => {
|
|
1752
1493
|
if (multiUse) {
|
|
1753
1494
|
return "showing qr";
|
|
1754
1495
|
}
|
|
@@ -1764,50 +1505,50 @@ var InvitationManager = ({ invitationUrl, active, send, status, multiUse, authCo
|
|
|
1764
1505
|
}, [
|
|
1765
1506
|
statusValue
|
|
1766
1507
|
]);
|
|
1767
|
-
return /* @__PURE__ */
|
|
1508
|
+
return /* @__PURE__ */ import_react36.default.createElement(import_react36.default.Fragment, null, /* @__PURE__ */ import_react36.default.createElement(Viewport.Root, {
|
|
1768
1509
|
activeView,
|
|
1769
1510
|
classNames: "grow plb-1"
|
|
1770
|
-
}, /* @__PURE__ */
|
|
1511
|
+
}, /* @__PURE__ */ import_react36.default.createElement(Viewport.Views, null, /* @__PURE__ */ import_react36.default.createElement(InvitationManagerView, {
|
|
1771
1512
|
id: "showing qr",
|
|
1772
1513
|
emoji
|
|
1773
|
-
}, /* @__PURE__ */
|
|
1514
|
+
}, /* @__PURE__ */ import_react36.default.createElement("p", {
|
|
1774
1515
|
className: "text-sm mlb-1 font-normal text-center"
|
|
1775
|
-
}, t(multiUse ? "invite many qr label" : "invite one qr label")), /* @__PURE__ */
|
|
1516
|
+
}, t(multiUse ? "invite many qr label" : "invite one qr label")), /* @__PURE__ */ import_react36.default.createElement("div", {
|
|
1776
1517
|
role: "none",
|
|
1777
|
-
className: (0,
|
|
1778
|
-
}, /* @__PURE__ */
|
|
1518
|
+
className: (0, import_react_ui_theme20.mx)(import_react_ui_theme20.descriptionText, "is-full max-is-[14rem] relative")
|
|
1519
|
+
}, /* @__PURE__ */ import_react36.default.createElement(import_react_qr_rounded.QR, {
|
|
1779
1520
|
rounding: 100,
|
|
1780
1521
|
backgroundColor: "transparent",
|
|
1781
1522
|
color: "currentColor",
|
|
1782
|
-
className: (0,
|
|
1523
|
+
className: (0, import_react_ui_theme20.mx)("is-full bs-full p-2", showAuthCode && "invisible"),
|
|
1783
1524
|
"aria-labelledby": qrLabel,
|
|
1784
1525
|
errorCorrectionLevel: "Q",
|
|
1785
1526
|
cutout: true
|
|
1786
|
-
}, invitationUrl ?? "never"), /* @__PURE__ */
|
|
1527
|
+
}, invitationUrl ?? "never"), /* @__PURE__ */ import_react36.default.createElement(Centered, null, /* @__PURE__ */ import_react36.default.createElement(Emoji, {
|
|
1787
1528
|
text: emoji
|
|
1788
|
-
}))), /* @__PURE__ */
|
|
1529
|
+
}))), /* @__PURE__ */ import_react36.default.createElement("span", {
|
|
1789
1530
|
id: qrLabel,
|
|
1790
1531
|
className: "sr-only"
|
|
1791
|
-
}, t("qr label")), /* @__PURE__ */
|
|
1532
|
+
}, t("qr label")), /* @__PURE__ */ import_react36.default.createElement(import_react_ui17.Clipboard.Button, {
|
|
1792
1533
|
variant: "ghost",
|
|
1793
1534
|
value: invitationUrl ?? "never"
|
|
1794
|
-
})), /* @__PURE__ */
|
|
1535
|
+
})), /* @__PURE__ */ import_react36.default.createElement(InvitationManagerView, {
|
|
1795
1536
|
id: "showing auth code"
|
|
1796
|
-
}, /* @__PURE__ */
|
|
1537
|
+
}, /* @__PURE__ */ import_react36.default.createElement(Label, null, t("auth code message")), /* @__PURE__ */ import_react36.default.createElement(AuthCode, {
|
|
1797
1538
|
code: authCode,
|
|
1798
1539
|
large: true,
|
|
1799
1540
|
classNames: "text-black dark:text-white"
|
|
1800
|
-
}), /* @__PURE__ */
|
|
1541
|
+
}), /* @__PURE__ */ import_react36.default.createElement(Label, null, t("auth other device emoji message")), emoji && /* @__PURE__ */ import_react36.default.createElement(Emoji, {
|
|
1801
1542
|
text: emoji
|
|
1802
|
-
})), /* @__PURE__ */
|
|
1543
|
+
})), /* @__PURE__ */ import_react36.default.createElement(InvitationManagerView, {
|
|
1803
1544
|
id: "showing final"
|
|
1804
|
-
}, statusValue > 0 ? /* @__PURE__ */
|
|
1805
|
-
className: (0,
|
|
1806
|
-
}) : /* @__PURE__ */
|
|
1807
|
-
className: (0,
|
|
1808
|
-
})))), /* @__PURE__ */
|
|
1545
|
+
}, statusValue > 0 ? /* @__PURE__ */ import_react36.default.createElement(import_react35.Check, {
|
|
1546
|
+
className: (0, import_react_ui_theme20.mx)("m-1.5", (0, import_react_ui_theme20.getSize)(6))
|
|
1547
|
+
}) : /* @__PURE__ */ import_react36.default.createElement(import_react35.X, {
|
|
1548
|
+
className: (0, import_react_ui_theme20.mx)("m-1.5", (0, import_react_ui_theme20.getSize)(6))
|
|
1549
|
+
})))), /* @__PURE__ */ import_react36.default.createElement(Actions, {
|
|
1809
1550
|
classNames: "mbs-4"
|
|
1810
|
-
}, /* @__PURE__ */
|
|
1551
|
+
}, /* @__PURE__ */ import_react36.default.createElement(Action, {
|
|
1811
1552
|
disabled: !active,
|
|
1812
1553
|
onClick: () => send?.({
|
|
1813
1554
|
type: "deselectInvitation"
|
|
@@ -1816,9 +1557,9 @@ var InvitationManager = ({ invitationUrl, active, send, status, multiUse, authCo
|
|
|
1816
1557
|
};
|
|
1817
1558
|
var __dxlog_file5 = "/home/runner/work/dxos/dxos/packages/sdk/shell/src/steps/ConfirmReset.tsx";
|
|
1818
1559
|
var ConfirmReset = ({ active, onCancel, onConfirm, mode }) => {
|
|
1819
|
-
const { t } = (0,
|
|
1820
|
-
const [validationMessage, setValidationMessage] = (0,
|
|
1821
|
-
const [pending, setPending] = (0,
|
|
1560
|
+
const { t } = (0, import_react_ui18.useTranslation)("os");
|
|
1561
|
+
const [validationMessage, setValidationMessage] = (0, import_react38.useState)("");
|
|
1562
|
+
const [pending, setPending] = (0, import_react38.useState)(false);
|
|
1822
1563
|
const processReset = async () => {
|
|
1823
1564
|
setPending(true);
|
|
1824
1565
|
return onConfirm?.().then(() => setPending(false), (error) => {
|
|
@@ -1832,7 +1573,7 @@ var ConfirmReset = ({ active, onCancel, onConfirm, mode }) => {
|
|
|
1832
1573
|
setPending(false);
|
|
1833
1574
|
});
|
|
1834
1575
|
};
|
|
1835
|
-
return /* @__PURE__ */
|
|
1576
|
+
return /* @__PURE__ */ import_react38.default.createElement(ConfirmResetImpl, {
|
|
1836
1577
|
disabled: !active,
|
|
1837
1578
|
pending,
|
|
1838
1579
|
validationMessage,
|
|
@@ -1842,20 +1583,20 @@ var ConfirmReset = ({ active, onCancel, onConfirm, mode }) => {
|
|
|
1842
1583
|
});
|
|
1843
1584
|
};
|
|
1844
1585
|
var ConfirmResetImpl = ({ disabled, pending, validationMessage, onConfirm, onCancel, mode }) => {
|
|
1845
|
-
const { t } = (0,
|
|
1586
|
+
const { t } = (0, import_react_ui18.useTranslation)("os");
|
|
1846
1587
|
const confirmationValue = t("confirmation value");
|
|
1847
|
-
const [inputValue, setInputValue] = (0,
|
|
1588
|
+
const [inputValue, setInputValue] = (0, import_react38.useState)("");
|
|
1848
1589
|
const testIdAffix = mode === "join new identity" ? "join-new-identity" : mode === "recover" ? "recover" : "reset-storage";
|
|
1849
|
-
return /* @__PURE__ */
|
|
1590
|
+
return /* @__PURE__ */ import_react38.default.createElement(import_react38.default.Fragment, null, /* @__PURE__ */ import_react38.default.createElement("div", {
|
|
1850
1591
|
role: "none",
|
|
1851
1592
|
className: "grow flex flex-col gap-2 justify-center"
|
|
1852
|
-
}, /* @__PURE__ */
|
|
1593
|
+
}, /* @__PURE__ */ import_react38.default.createElement(import_react_ui18.Message.Root, {
|
|
1853
1594
|
valence: "error"
|
|
1854
|
-
}, /* @__PURE__ */
|
|
1855
|
-
className: (0,
|
|
1856
|
-
}), t("sign out chooser title")), /* @__PURE__ */
|
|
1595
|
+
}, /* @__PURE__ */ import_react38.default.createElement(import_react_ui18.Message.Title, null, /* @__PURE__ */ import_react38.default.createElement(import_react37.Warning, {
|
|
1596
|
+
className: (0, import_react_ui_theme21.mx)((0, import_react_ui_theme21.getSize)(6), "inline mie-2")
|
|
1597
|
+
}), t("sign out chooser title")), /* @__PURE__ */ import_react38.default.createElement(import_react_ui18.Message.Body, null, t("sign out chooser message"))), /* @__PURE__ */ import_react38.default.createElement(Input, {
|
|
1857
1598
|
validationMessage,
|
|
1858
|
-
label: /* @__PURE__ */
|
|
1599
|
+
label: /* @__PURE__ */ import_react38.default.createElement(StepHeading, {
|
|
1859
1600
|
className: "text-start mlb-2"
|
|
1860
1601
|
}, t(mode === "join new identity" ? "join new identity input label" : mode === "recover" ? "recover reset input label" : "reset storage input label", {
|
|
1861
1602
|
confirmationValue
|
|
@@ -1866,11 +1607,11 @@ var ConfirmResetImpl = ({ disabled, pending, validationMessage, onConfirm, onCan
|
|
|
1866
1607
|
confirmationValue
|
|
1867
1608
|
}),
|
|
1868
1609
|
onChange: ({ target: { value } }) => setInputValue(value)
|
|
1869
|
-
})), /* @__PURE__ */
|
|
1610
|
+
})), /* @__PURE__ */ import_react38.default.createElement(Actions, null, onCancel && /* @__PURE__ */ import_react38.default.createElement(Action, {
|
|
1870
1611
|
disabled,
|
|
1871
1612
|
onClick: onCancel,
|
|
1872
1613
|
"data-testid": `${testIdAffix}.reset-identity-cancel`
|
|
1873
|
-
}, t("cancel label")), onConfirm && /* @__PURE__ */
|
|
1614
|
+
}, t("cancel label")), onConfirm && /* @__PURE__ */ import_react38.default.createElement(Action, {
|
|
1874
1615
|
variant: "destructive",
|
|
1875
1616
|
disabled: disabled || pending || inputValue !== confirmationValue,
|
|
1876
1617
|
onClick: onConfirm,
|
|
@@ -1881,15 +1622,23 @@ var __dxlog_file6 = "/home/runner/work/dxos/dxos/packages/sdk/shell/src/panels/I
|
|
|
1881
1622
|
var viewStyles = "pbs-1 pbe-3 pli-3";
|
|
1882
1623
|
var getHueValue = (identity) => identity?.profile?.data?.hue || (0, import_util5.hexToHue)(identity?.identityKey.toHex() ?? "0");
|
|
1883
1624
|
var getEmojiValue = (identity) => identity?.profile?.data?.emoji || (0, import_util5.hexToEmoji)(identity?.identityKey.toHex() ?? "0");
|
|
1884
|
-
var IdentityHeading = ({ titleId, title, identity, onDone, onUpdateProfile, connectionState, onChangeConnectionState }) => {
|
|
1625
|
+
var IdentityHeading = ({ titleId, title, identity, onDone, onUpdateProfile, connectionState, onChangeConnectionState, onManageCredentials }) => {
|
|
1885
1626
|
const fallbackValue = (0, import_util5.keyToFallback)(identity.identityKey);
|
|
1886
|
-
const { t } = (0,
|
|
1887
|
-
const [displayName,
|
|
1888
|
-
const [emoji, setEmojiDirectly] = (0,
|
|
1889
|
-
const [hue, setHueDirectly] = (0,
|
|
1890
|
-
const
|
|
1891
|
-
|
|
1892
|
-
|
|
1627
|
+
const { t } = (0, import_react_ui15.useTranslation)("os");
|
|
1628
|
+
const [displayName, setDisplayNameDirectly] = (0, import_react29.useState)(identity.profile?.displayName ?? "");
|
|
1629
|
+
const [emoji, setEmojiDirectly] = (0, import_react29.useState)(getEmojiValue(identity));
|
|
1630
|
+
const [hue, setHueDirectly] = (0, import_react29.useState)(getHueValue(identity));
|
|
1631
|
+
const updateDisplayName = (0, import_react29.useMemo)(() => (0, import_async.debounce)((nextDisplayName) => onUpdateProfile?.({
|
|
1632
|
+
...identity.profile,
|
|
1633
|
+
displayName: nextDisplayName
|
|
1634
|
+
}), 3e3), [
|
|
1635
|
+
onUpdateProfile,
|
|
1636
|
+
identity.profile
|
|
1637
|
+
]);
|
|
1638
|
+
const setDisplayName = (nextDisplayName) => {
|
|
1639
|
+
setDisplayNameDirectly(nextDisplayName);
|
|
1640
|
+
updateDisplayName(nextDisplayName);
|
|
1641
|
+
};
|
|
1893
1642
|
const setEmoji = (nextEmoji) => {
|
|
1894
1643
|
setEmojiDirectly(nextEmoji);
|
|
1895
1644
|
void onUpdateProfile?.({
|
|
@@ -1911,83 +1660,84 @@ var IdentityHeading = ({ titleId, title, identity, onDone, onUpdateProfile, conn
|
|
|
1911
1660
|
});
|
|
1912
1661
|
};
|
|
1913
1662
|
const isConnected = connectionState === import_mesh2.ConnectionState.ONLINE;
|
|
1914
|
-
return /* @__PURE__ */
|
|
1663
|
+
return /* @__PURE__ */ import_react29.default.createElement(Heading, {
|
|
1915
1664
|
titleId,
|
|
1916
1665
|
title,
|
|
1917
|
-
corner: /* @__PURE__ */
|
|
1666
|
+
corner: /* @__PURE__ */ import_react29.default.createElement(CloseButton, {
|
|
1918
1667
|
onDone
|
|
1919
1668
|
})
|
|
1920
|
-
}, /* @__PURE__ */
|
|
1669
|
+
}, /* @__PURE__ */ import_react29.default.createElement(import_react_ui15.Avatar.Root, {
|
|
1921
1670
|
size: 16,
|
|
1922
1671
|
variant: "circle",
|
|
1923
1672
|
status: isConnected ? "active" : "error",
|
|
1924
1673
|
hue: hue || fallbackValue.hue
|
|
1925
|
-
}, /* @__PURE__ */
|
|
1674
|
+
}, /* @__PURE__ */ import_react29.default.createElement(import_react_ui15.Toolbar.Root, {
|
|
1926
1675
|
classNames: "flex justify-center"
|
|
1927
|
-
}, /* @__PURE__ */
|
|
1676
|
+
}, /* @__PURE__ */ import_react29.default.createElement(import_react_ui15.Avatar.Frame, {
|
|
1928
1677
|
classNames: "relative z-[2] -mli-4 chromatic-ignore"
|
|
1929
|
-
}, /* @__PURE__ */
|
|
1678
|
+
}, /* @__PURE__ */ import_react29.default.createElement(import_react_ui15.Avatar.Fallback, {
|
|
1930
1679
|
text: emoji || fallbackValue.emoji
|
|
1931
|
-
}))), /* @__PURE__ */
|
|
1680
|
+
}))), /* @__PURE__ */ import_react29.default.createElement(import_react_ui15.Avatar.Label, {
|
|
1932
1681
|
classNames: "sr-only",
|
|
1933
1682
|
"data-testid": "identityHeading.displayName"
|
|
1934
|
-
}, identity.profile?.displayName ?? (0, import_display_name3.generateName)(identity.identityKey.toHex())), /* @__PURE__ */
|
|
1683
|
+
}, identity.profile?.displayName ?? (0, import_display_name3.generateName)(identity.identityKey.toHex())), /* @__PURE__ */ import_react29.default.createElement(import_react_ui15.Input.Root, null, /* @__PURE__ */ import_react29.default.createElement(import_react_ui15.Input.Label, {
|
|
1935
1684
|
srOnly: true
|
|
1936
|
-
}, t("display name input label")), /* @__PURE__ */
|
|
1685
|
+
}, t("display name input label")), /* @__PURE__ */ import_react29.default.createElement(import_react_ui15.Input.TextInput, {
|
|
1937
1686
|
variant: "subdued",
|
|
1938
1687
|
"data-testid": "display-name-input",
|
|
1939
1688
|
placeholder: t("display name input placeholder"),
|
|
1940
1689
|
classNames: "mbs-2 text-center font-light text-xl",
|
|
1941
1690
|
value: displayName,
|
|
1942
|
-
onChange: ({ target: { value } }) => setDisplayName(value)
|
|
1943
|
-
|
|
1944
|
-
...identity.profile,
|
|
1945
|
-
displayName: value
|
|
1946
|
-
})
|
|
1947
|
-
})), /* @__PURE__ */ import_react34.default.createElement(import_react_ui17.Toolbar.Root, {
|
|
1691
|
+
onChange: ({ target: { value } }) => setDisplayName(value)
|
|
1692
|
+
})), /* @__PURE__ */ import_react29.default.createElement(import_react_ui15.Toolbar.Root, {
|
|
1948
1693
|
classNames: "flex justify-center items-center gap-1 pt-3"
|
|
1949
|
-
}, /* @__PURE__ */
|
|
1694
|
+
}, /* @__PURE__ */ import_react29.default.createElement(import_react_ui_pickers.EmojiPickerToolbarButton, {
|
|
1950
1695
|
emoji,
|
|
1951
1696
|
onChangeEmoji: setEmoji,
|
|
1952
1697
|
classNames: "bs-[--rail-action]"
|
|
1953
|
-
}), /* @__PURE__ */
|
|
1954
|
-
hue,
|
|
1955
|
-
|
|
1698
|
+
}), /* @__PURE__ */ import_react29.default.createElement(import_react_ui_pickers.HuePicker, {
|
|
1699
|
+
value: hue,
|
|
1700
|
+
onChange: setHue,
|
|
1701
|
+
onReset: () => setHue(void 0),
|
|
1956
1702
|
classNames: "bs-[--rail-action]"
|
|
1957
|
-
}), /* @__PURE__ */
|
|
1958
|
-
asChild: true
|
|
1959
|
-
}, /* @__PURE__ */ import_react34.default.createElement(import_react_ui17.Toolbar.Button, {
|
|
1703
|
+
}), /* @__PURE__ */ import_react29.default.createElement(import_react_ui15.Clipboard.IconButton, {
|
|
1960
1704
|
classNames: "bs-[--rail-action]",
|
|
1961
1705
|
"data-testid": "update-profile-form-copy-key",
|
|
1962
|
-
|
|
1963
|
-
|
|
1706
|
+
label: t("copy self did label"),
|
|
1707
|
+
value: identity.did
|
|
1708
|
+
}), onManageCredentials && /* @__PURE__ */ import_react29.default.createElement(import_react_ui15.Tooltip.Root, null, /* @__PURE__ */ import_react29.default.createElement(import_react_ui15.Tooltip.Trigger, {
|
|
1709
|
+
asChild: true
|
|
1710
|
+
}, /* @__PURE__ */ import_react29.default.createElement(import_react_ui15.Toolbar.Button, {
|
|
1711
|
+
classNames: "bs-[--rail-action]",
|
|
1712
|
+
onClick: onManageCredentials
|
|
1713
|
+
}, /* @__PURE__ */ import_react29.default.createElement("span", {
|
|
1964
1714
|
className: "sr-only"
|
|
1965
|
-
}, t(
|
|
1966
|
-
className: (0,
|
|
1967
|
-
}))), /* @__PURE__ */
|
|
1715
|
+
}, t("manage credentials label")), /* @__PURE__ */ import_react29.default.createElement(import_react28.IdentificationCard, {
|
|
1716
|
+
className: (0, import_react_ui_theme19.getSize)(5)
|
|
1717
|
+
}))), /* @__PURE__ */ import_react29.default.createElement(import_react_ui15.Tooltip.Portal, null, /* @__PURE__ */ import_react29.default.createElement(import_react_ui15.Tooltip.Content, {
|
|
1968
1718
|
side: "bottom"
|
|
1969
|
-
}, t(
|
|
1719
|
+
}, t("manage credentials label"), /* @__PURE__ */ import_react29.default.createElement(import_react_ui15.Tooltip.Arrow, null)))), /* @__PURE__ */ import_react29.default.createElement(import_react_ui15.Tooltip.Root, null, /* @__PURE__ */ import_react29.default.createElement(import_react_ui15.Tooltip.Trigger, {
|
|
1970
1720
|
asChild: true
|
|
1971
|
-
}, /* @__PURE__ */
|
|
1721
|
+
}, /* @__PURE__ */ import_react29.default.createElement(import_react_ui15.Toolbar.Button, {
|
|
1972
1722
|
classNames: [
|
|
1973
1723
|
"bs-[--rail-action]",
|
|
1974
|
-
!isConnected &&
|
|
1724
|
+
!isConnected && import_react_ui_theme19.errorText
|
|
1975
1725
|
],
|
|
1976
1726
|
onClick: () => onChangeConnectionState?.(isConnected ? import_mesh2.ConnectionState.OFFLINE : import_mesh2.ConnectionState.ONLINE)
|
|
1977
|
-
}, /* @__PURE__ */
|
|
1727
|
+
}, /* @__PURE__ */ import_react29.default.createElement("span", {
|
|
1978
1728
|
className: "sr-only"
|
|
1979
|
-
}, t(isConnected ? "disconnect label" : "connect label")), isConnected ? /* @__PURE__ */
|
|
1980
|
-
className: (0,
|
|
1981
|
-
}) : /* @__PURE__ */
|
|
1982
|
-
className: (0,
|
|
1983
|
-
}))), /* @__PURE__ */
|
|
1729
|
+
}, t(isConnected ? "disconnect label" : "connect label")), isConnected ? /* @__PURE__ */ import_react29.default.createElement(import_react28.PlugsConnected, {
|
|
1730
|
+
className: (0, import_react_ui_theme19.getSize)(5)
|
|
1731
|
+
}) : /* @__PURE__ */ import_react29.default.createElement(import_react28.Plugs, {
|
|
1732
|
+
className: (0, import_react_ui_theme19.getSize)(5)
|
|
1733
|
+
}))), /* @__PURE__ */ import_react29.default.createElement(import_react_ui15.Tooltip.Portal, null, /* @__PURE__ */ import_react29.default.createElement(import_react_ui15.Tooltip.Content, {
|
|
1984
1734
|
side: "bottom"
|
|
1985
|
-
}, t(isConnected ? "disconnect label" : "connect label"), /* @__PURE__ */
|
|
1735
|
+
}, t(isConnected ? "disconnect label" : "connect label"), /* @__PURE__ */ import_react29.default.createElement(import_react_ui15.Tooltip.Arrow, null)))))));
|
|
1986
1736
|
};
|
|
1987
1737
|
var IdentityPanelImpl = (props) => {
|
|
1988
|
-
const { identity, titleId, activeView, onUpdateProfile, onResetStorage, onRecover, onJoinNewIdentity, IdentityActionChooser: IdentityActionChooserComponent = IdentityActionChooser, InvitationManager: InvitationManagerComponent = InvitationManager, connectionState, onChangeConnectionState, onDone, ...rest } = props;
|
|
1989
|
-
const { t } = (0,
|
|
1990
|
-
const title = (0,
|
|
1738
|
+
const { identity, titleId, activeView, onUpdateProfile, onResetStorage, onRecover, onJoinNewIdentity, IdentityActionChooser: IdentityActionChooserComponent = IdentityActionChooser, InvitationManager: InvitationManagerComponent = InvitationManager, connectionState, onChangeConnectionState, onDone, onManageCredentials, ...rest } = props;
|
|
1739
|
+
const { t } = (0, import_react_ui15.useTranslation)("os");
|
|
1740
|
+
const title = (0, import_react29.useMemo)(() => {
|
|
1991
1741
|
switch (activeView) {
|
|
1992
1742
|
case "device invitation manager":
|
|
1993
1743
|
return t("choose add device label");
|
|
@@ -2000,7 +1750,7 @@ var IdentityPanelImpl = (props) => {
|
|
|
2000
1750
|
]);
|
|
2001
1751
|
const onCancelReset = () => rest.send?.("unchooseAction");
|
|
2002
1752
|
const hideRecover = rest.agentStatus !== "created";
|
|
2003
|
-
return /* @__PURE__ */
|
|
1753
|
+
return /* @__PURE__ */ import_react29.default.createElement(import_react29.default.Fragment, null, /* @__PURE__ */ import_react29.default.createElement(IdentityHeading, {
|
|
2004
1754
|
identity,
|
|
2005
1755
|
titleId,
|
|
2006
1756
|
title,
|
|
@@ -2008,45 +1758,46 @@ var IdentityPanelImpl = (props) => {
|
|
|
2008
1758
|
onDone,
|
|
2009
1759
|
onUpdateProfile,
|
|
2010
1760
|
connectionState,
|
|
2011
|
-
onChangeConnectionState
|
|
2012
|
-
|
|
1761
|
+
onChangeConnectionState,
|
|
1762
|
+
onManageCredentials
|
|
1763
|
+
}), /* @__PURE__ */ import_react29.default.createElement(Viewport.Root, {
|
|
2013
1764
|
activeView
|
|
2014
|
-
}, /* @__PURE__ */
|
|
1765
|
+
}, /* @__PURE__ */ import_react29.default.createElement(Viewport.Views, null, /* @__PURE__ */ import_react29.default.createElement(Viewport.View, {
|
|
2015
1766
|
id: "identity action chooser",
|
|
2016
1767
|
classNames: viewStyles
|
|
2017
|
-
}, /* @__PURE__ */
|
|
1768
|
+
}, /* @__PURE__ */ import_react29.default.createElement(IdentityActionChooserComponent, {
|
|
2018
1769
|
active: activeView === "identity action chooser",
|
|
2019
1770
|
...rest,
|
|
2020
1771
|
connectionState
|
|
2021
|
-
})), /* @__PURE__ */
|
|
1772
|
+
})), /* @__PURE__ */ import_react29.default.createElement(Viewport.View, {
|
|
2022
1773
|
id: "device invitation manager",
|
|
2023
1774
|
classNames: viewStyles
|
|
2024
|
-
}, /* @__PURE__ */
|
|
1775
|
+
}, /* @__PURE__ */ import_react29.default.createElement(InvitationManagerComponent, {
|
|
2025
1776
|
active: activeView === "device invitation manager",
|
|
2026
1777
|
...rest,
|
|
2027
1778
|
invitationUrl: rest.createInvitationUrl(rest.invitationCode)
|
|
2028
|
-
})), /* @__PURE__ */
|
|
1779
|
+
})), /* @__PURE__ */ import_react29.default.createElement(Viewport.View, {
|
|
2029
1780
|
classNames: viewStyles,
|
|
2030
1781
|
id: "confirm join new identity"
|
|
2031
|
-
}, /* @__PURE__ */
|
|
1782
|
+
}, /* @__PURE__ */ import_react29.default.createElement(ConfirmReset, {
|
|
2032
1783
|
active: activeView === "confirm join new identity",
|
|
2033
1784
|
...rest,
|
|
2034
1785
|
mode: "join new identity",
|
|
2035
1786
|
onConfirm: onJoinNewIdentity,
|
|
2036
1787
|
onCancel: onCancelReset
|
|
2037
|
-
})), /* @__PURE__ */
|
|
1788
|
+
})), /* @__PURE__ */ import_react29.default.createElement(Viewport.View, {
|
|
2038
1789
|
classNames: viewStyles,
|
|
2039
1790
|
id: "confirm recover"
|
|
2040
|
-
}, /* @__PURE__ */
|
|
1791
|
+
}, /* @__PURE__ */ import_react29.default.createElement(ConfirmReset, {
|
|
2041
1792
|
active: activeView === "confirm recover",
|
|
2042
1793
|
...rest,
|
|
2043
1794
|
mode: "recover",
|
|
2044
1795
|
onConfirm: onRecover,
|
|
2045
1796
|
onCancel: onCancelReset
|
|
2046
|
-
})), /* @__PURE__ */
|
|
1797
|
+
})), /* @__PURE__ */ import_react29.default.createElement(Viewport.View, {
|
|
2047
1798
|
classNames: viewStyles,
|
|
2048
1799
|
id: "confirm reset storage"
|
|
2049
|
-
}, /* @__PURE__ */
|
|
1800
|
+
}, /* @__PURE__ */ import_react29.default.createElement(ConfirmReset, {
|
|
2050
1801
|
active: activeView === "confirm reset storage",
|
|
2051
1802
|
...rest,
|
|
2052
1803
|
mode: "reset storage",
|
|
@@ -2056,13 +1807,13 @@ var IdentityPanelImpl = (props) => {
|
|
|
2056
1807
|
};
|
|
2057
1808
|
var IdentityPanelWithInvitationImpl = ({ invitation, ...props }) => {
|
|
2058
1809
|
const invitationStatus = (0, import_invitations2.useInvitationStatus)(invitation);
|
|
2059
|
-
return /* @__PURE__ */
|
|
1810
|
+
return /* @__PURE__ */ import_react29.default.createElement(IdentityPanelImpl, {
|
|
2060
1811
|
...props,
|
|
2061
1812
|
...invitationStatus
|
|
2062
1813
|
});
|
|
2063
1814
|
};
|
|
2064
1815
|
var IdentityPanel = ({ titleId: propsTitleId, createInvitationUrl = (code) => code, initialDisposition = "default", ...props }) => {
|
|
2065
|
-
const titleId = (0,
|
|
1816
|
+
const titleId = (0, import_react_ui15.useId)("identityPanel__heading", propsTitleId);
|
|
2066
1817
|
const client = (0, import_react_client2.useClient)();
|
|
2067
1818
|
const devices = (0, import_halo2.useDevices)();
|
|
2068
1819
|
const identity = (0, import_halo2.useIdentity)();
|
|
@@ -2074,7 +1825,7 @@ var IdentityPanel = ({ titleId: propsTitleId, createInvitationUrl = (code) => co
|
|
|
2074
1825
|
if (!identity) {
|
|
2075
1826
|
import_log.log.error("IdentityPanel rendered with no active identity.", void 0, {
|
|
2076
1827
|
F: __dxlog_file6,
|
|
2077
|
-
L:
|
|
1828
|
+
L: 272,
|
|
2078
1829
|
S: void 0,
|
|
2079
1830
|
C: (f, a) => f(...a)
|
|
2080
1831
|
});
|
|
@@ -2087,11 +1838,11 @@ var IdentityPanel = ({ titleId: propsTitleId, createInvitationUrl = (code) => co
|
|
|
2087
1838
|
});
|
|
2088
1839
|
const { swarm: connectionState } = (0, import_mesh2.useNetworkStatus)();
|
|
2089
1840
|
const handleChangeConnectionState = async (nextState) => client?.mesh.updateConfig(nextState);
|
|
2090
|
-
(0,
|
|
1841
|
+
(0, import_react29.useEffect)(() => {
|
|
2091
1842
|
const subscription = identityService.subscribe((state) => {
|
|
2092
1843
|
(0, import_log.log)("[state]", state, {
|
|
2093
1844
|
F: __dxlog_file6,
|
|
2094
|
-
L:
|
|
1845
|
+
L: 285,
|
|
2095
1846
|
S: void 0,
|
|
2096
1847
|
C: (f, a) => f(...a)
|
|
2097
1848
|
});
|
|
@@ -2100,7 +1851,7 @@ var IdentityPanel = ({ titleId: propsTitleId, createInvitationUrl = (code) => co
|
|
|
2100
1851
|
}, [
|
|
2101
1852
|
identityService
|
|
2102
1853
|
]);
|
|
2103
|
-
const activeView = (0,
|
|
1854
|
+
const activeView = (0, import_react29.useMemo)(() => {
|
|
2104
1855
|
switch (true) {
|
|
2105
1856
|
case identityState.matches("choosingAction"):
|
|
2106
1857
|
return "identity action chooser";
|
|
@@ -2137,34 +1888,34 @@ var IdentityPanel = ({ titleId: propsTitleId, createInvitationUrl = (code) => co
|
|
|
2137
1888
|
onChangeConnectionState: handleChangeConnectionState,
|
|
2138
1889
|
...agentProps
|
|
2139
1890
|
};
|
|
2140
|
-
return identityState.context.invitation ? /* @__PURE__ */
|
|
1891
|
+
return identityState.context.invitation ? /* @__PURE__ */ import_react29.default.createElement(IdentityPanelWithInvitationImpl, {
|
|
2141
1892
|
...implProps,
|
|
2142
1893
|
invitation: identityState.context.invitation
|
|
2143
|
-
}) : /* @__PURE__ */
|
|
1894
|
+
}) : /* @__PURE__ */ import_react29.default.createElement(IdentityPanelImpl, implProps);
|
|
2144
1895
|
};
|
|
2145
|
-
var JoinHeading = /* @__PURE__ */ (0,
|
|
2146
|
-
const { t } = (0,
|
|
2147
|
-
const exitButton = /* @__PURE__ */
|
|
1896
|
+
var JoinHeading = /* @__PURE__ */ (0, import_react41.forwardRef)(({ mode, titleId, exitActionParent, onExit }, forwardedRef) => {
|
|
1897
|
+
const { t } = (0, import_react_ui20.useTranslation)("os");
|
|
1898
|
+
const exitButton = /* @__PURE__ */ import_react41.default.createElement(import_react_ui20.Button, {
|
|
2148
1899
|
variant: "ghost",
|
|
2149
1900
|
...onExit && {
|
|
2150
1901
|
onClick: onExit
|
|
2151
1902
|
},
|
|
2152
|
-
classNames: (0,
|
|
1903
|
+
classNames: (0, import_react_ui_theme22.mx)(import_react_ui_theme22.descriptionText, "plb-0 pli-2 absolute block-start-0 inline-end-0 z-[1]"),
|
|
2153
1904
|
"data-testid": "join-exit"
|
|
2154
|
-
}, /* @__PURE__ */
|
|
1905
|
+
}, /* @__PURE__ */ import_react41.default.createElement(import_react40.X, {
|
|
2155
1906
|
weight: "bold",
|
|
2156
|
-
className: (0,
|
|
2157
|
-
}), /* @__PURE__ */
|
|
1907
|
+
className: (0, import_react_ui_theme22.getSize)(4)
|
|
1908
|
+
}), /* @__PURE__ */ import_react41.default.createElement("span", {
|
|
2158
1909
|
className: "sr-only"
|
|
2159
1910
|
}, t("exit label")));
|
|
2160
|
-
return /* @__PURE__ */
|
|
1911
|
+
return /* @__PURE__ */ import_react41.default.createElement(Heading, {
|
|
2161
1912
|
ref: forwardedRef,
|
|
2162
1913
|
titleId,
|
|
2163
1914
|
title: t(mode === "halo-only" ? "selecting identity heading" : "joining space heading"),
|
|
2164
1915
|
...mode === "halo-only" ? {
|
|
2165
1916
|
titleSrOnly: true
|
|
2166
1917
|
} : {
|
|
2167
|
-
corner: exitActionParent ? /* @__PURE__ */ (0,
|
|
1918
|
+
corner: exitActionParent ? /* @__PURE__ */ (0, import_react41.cloneElement)(exitActionParent, {}, exitButton) : exitButton
|
|
2168
1919
|
},
|
|
2169
1920
|
titleSrOnly: mode === "halo-only"
|
|
2170
1921
|
});
|
|
@@ -2669,7 +2420,7 @@ var defaultCodeFromUrl = (invitationType, text) => {
|
|
|
2669
2420
|
}
|
|
2670
2421
|
};
|
|
2671
2422
|
var useJoinMachine = (client, options) => {
|
|
2672
|
-
const redeemHaloInvitationCode = (0,
|
|
2423
|
+
const redeemHaloInvitationCode = (0, import_react43.useCallback)(({ halo }) => {
|
|
2673
2424
|
if (halo.unredeemedCode) {
|
|
2674
2425
|
try {
|
|
2675
2426
|
const invitation = import_invitations6.InvitationEncoder.decode(defaultCodeFromUrl("halo", halo.unredeemedCode));
|
|
@@ -2694,7 +2445,7 @@ var useJoinMachine = (client, options) => {
|
|
|
2694
2445
|
}, [
|
|
2695
2446
|
client
|
|
2696
2447
|
]);
|
|
2697
|
-
const redeemSpaceInvitationCode = (0,
|
|
2448
|
+
const redeemSpaceInvitationCode = (0, import_react43.useCallback)(({ space }) => {
|
|
2698
2449
|
if (space.unredeemedCode) {
|
|
2699
2450
|
try {
|
|
2700
2451
|
const invitation = import_invitations6.InvitationEncoder.decode(defaultCodeFromUrl("space", space.unredeemedCode));
|
|
@@ -2719,7 +2470,7 @@ var useJoinMachine = (client, options) => {
|
|
|
2719
2470
|
}, [
|
|
2720
2471
|
client
|
|
2721
2472
|
]);
|
|
2722
|
-
const invalidateHaloInvitationCode = (0,
|
|
2473
|
+
const invalidateHaloInvitationCode = (0, import_react43.useCallback)(({ halo }) => {
|
|
2723
2474
|
if (halo.unredeemedCode) {
|
|
2724
2475
|
options?.onInvalidateInvitationCode?.(halo.unredeemedCode);
|
|
2725
2476
|
return {
|
|
@@ -2732,7 +2483,7 @@ var useJoinMachine = (client, options) => {
|
|
|
2732
2483
|
}, [
|
|
2733
2484
|
options?.onInvalidateInvitationCode
|
|
2734
2485
|
]);
|
|
2735
|
-
const invalidateSpaceInvitationCode = (0,
|
|
2486
|
+
const invalidateSpaceInvitationCode = (0, import_react43.useCallback)(({ space }) => {
|
|
2736
2487
|
if (space.unredeemedCode) {
|
|
2737
2488
|
options?.onInvalidateInvitationCode?.(space.unredeemedCode);
|
|
2738
2489
|
return {
|
|
@@ -2745,7 +2496,7 @@ var useJoinMachine = (client, options) => {
|
|
|
2745
2496
|
}, [
|
|
2746
2497
|
options?.onInvalidateInvitationCode
|
|
2747
2498
|
]);
|
|
2748
|
-
return (0,
|
|
2499
|
+
return (0, import_react42.useMachine)(joinMachine, {
|
|
2749
2500
|
...options,
|
|
2750
2501
|
actions: {
|
|
2751
2502
|
...options?.actions,
|
|
@@ -2767,11 +2518,11 @@ var useJoinMachine = (client, options) => {
|
|
|
2767
2518
|
var AdditionMethodChooser = (viewStateProps) => {
|
|
2768
2519
|
const disabled = !viewStateProps.active;
|
|
2769
2520
|
const { send } = viewStateProps;
|
|
2770
|
-
const { t } = (0,
|
|
2521
|
+
const { t } = (0, import_react_ui21.useTranslation)("os");
|
|
2771
2522
|
const sharedButtonProps = {
|
|
2772
2523
|
disabled,
|
|
2773
|
-
after: /* @__PURE__ */
|
|
2774
|
-
className: (0,
|
|
2524
|
+
after: /* @__PURE__ */ import_react45.default.createElement(import_react44.CaretRight, {
|
|
2525
|
+
className: (0, import_react_ui_theme23.getSize)(4),
|
|
2775
2526
|
weight: "bold"
|
|
2776
2527
|
}),
|
|
2777
2528
|
slots: {
|
|
@@ -2780,35 +2531,35 @@ var AdditionMethodChooser = (viewStateProps) => {
|
|
|
2780
2531
|
}
|
|
2781
2532
|
}
|
|
2782
2533
|
};
|
|
2783
|
-
return /* @__PURE__ */
|
|
2534
|
+
return /* @__PURE__ */ import_react45.default.createElement(import_react45.default.Fragment, null, /* @__PURE__ */ import_react45.default.createElement(StepHeading, null, t("addition method chooser title")), /* @__PURE__ */ import_react45.default.createElement("div", {
|
|
2784
2535
|
role: "none",
|
|
2785
2536
|
className: "flex flex-col gap-1 grow"
|
|
2786
|
-
}, /* @__PURE__ */
|
|
2537
|
+
}, /* @__PURE__ */ import_react45.default.createElement(CompoundButton, {
|
|
2787
2538
|
...sharedButtonProps,
|
|
2788
2539
|
description: t("create identity description"),
|
|
2789
|
-
before: /* @__PURE__ */
|
|
2790
|
-
className: (0,
|
|
2540
|
+
before: /* @__PURE__ */ import_react45.default.createElement(import_react44.Plus, {
|
|
2541
|
+
className: (0, import_react_ui_theme23.getSize)(6)
|
|
2791
2542
|
}),
|
|
2792
2543
|
onClick: () => send({
|
|
2793
2544
|
type: "createIdentity"
|
|
2794
2545
|
}),
|
|
2795
2546
|
"data-autofocus": "choosingAuthMethod",
|
|
2796
2547
|
"data-testid": "identity-chooser.create-identity"
|
|
2797
|
-
}, t("create identity label")), /* @__PURE__ */
|
|
2548
|
+
}, t("create identity label")), /* @__PURE__ */ import_react45.default.createElement(CompoundButton, {
|
|
2798
2549
|
...sharedButtonProps,
|
|
2799
2550
|
description: t("join identity description"),
|
|
2800
|
-
before: /* @__PURE__ */
|
|
2801
|
-
className: (0,
|
|
2551
|
+
before: /* @__PURE__ */ import_react45.default.createElement(import_react44.QrCode, {
|
|
2552
|
+
className: (0, import_react_ui_theme23.getSize)(6)
|
|
2802
2553
|
}),
|
|
2803
2554
|
onClick: () => send({
|
|
2804
2555
|
type: "acceptHaloInvitation"
|
|
2805
2556
|
}),
|
|
2806
2557
|
"data-testid": "identity-chooser.join-identity"
|
|
2807
|
-
}, t("join identity label")), /* @__PURE__ */
|
|
2558
|
+
}, t("join identity label")), /* @__PURE__ */ import_react45.default.createElement(CompoundButton, {
|
|
2808
2559
|
...sharedButtonProps,
|
|
2809
2560
|
description: t("recover identity description"),
|
|
2810
|
-
before: /* @__PURE__ */
|
|
2811
|
-
className: (0,
|
|
2561
|
+
before: /* @__PURE__ */ import_react45.default.createElement(import_react44.Textbox, {
|
|
2562
|
+
className: (0, import_react_ui_theme23.getSize)(6)
|
|
2812
2563
|
}),
|
|
2813
2564
|
onClick: () => send({
|
|
2814
2565
|
type: "recoverIdentity"
|
|
@@ -2819,31 +2570,31 @@ var AdditionMethodChooser = (viewStateProps) => {
|
|
|
2819
2570
|
var IdentityAdded = (props) => {
|
|
2820
2571
|
const { mode, addedIdentity, active, send, onDone, doneActionParent } = props;
|
|
2821
2572
|
const disabled = !active;
|
|
2822
|
-
const { t } = (0,
|
|
2573
|
+
const { t } = (0, import_react_ui22.useTranslation)("os");
|
|
2823
2574
|
const addedIdentityHex = addedIdentity?.identityKey.toHex() ?? "0";
|
|
2824
2575
|
const fallbackValue = (0, import_util8.hexToFallback)(addedIdentityHex);
|
|
2825
|
-
const labelId = (0,
|
|
2576
|
+
const labelId = (0, import_react_ui22.useId)("identityListItem__label");
|
|
2826
2577
|
const displayName = addedIdentity?.profile?.displayName ?? (addedIdentity && (0, import_display_name4.generateName)(addedIdentityHex));
|
|
2827
|
-
const doneAction = /* @__PURE__ */
|
|
2578
|
+
const doneAction = /* @__PURE__ */ import_react46.default.createElement(Action, {
|
|
2828
2579
|
...onDone && {
|
|
2829
2580
|
onClick: () => onDone(null)
|
|
2830
2581
|
},
|
|
2831
2582
|
disabled,
|
|
2832
2583
|
"data-autofocus": "confirmingAddedIdentity",
|
|
2833
2584
|
"data-testid": "identity-added-done"
|
|
2834
|
-
}, /* @__PURE__ */
|
|
2835
|
-
return /* @__PURE__ */
|
|
2585
|
+
}, /* @__PURE__ */ import_react46.default.createElement("span", null, t("done label")));
|
|
2586
|
+
return /* @__PURE__ */ import_react46.default.createElement(import_react46.default.Fragment, null, /* @__PURE__ */ import_react46.default.createElement(StepHeading, null, t("identity added label")), /* @__PURE__ */ import_react46.default.createElement("div", {
|
|
2836
2587
|
role: "none",
|
|
2837
2588
|
className: "grow flex flex-col items-center justify-center text-center gap-2"
|
|
2838
|
-
}, /* @__PURE__ */
|
|
2589
|
+
}, /* @__PURE__ */ import_react46.default.createElement(import_react_ui22.Avatar.Root, {
|
|
2839
2590
|
status: "active",
|
|
2840
2591
|
labelId,
|
|
2841
2592
|
hue: addedIdentity?.profile?.data?.hue || fallbackValue.hue
|
|
2842
|
-
}, /* @__PURE__ */
|
|
2593
|
+
}, /* @__PURE__ */ import_react46.default.createElement(import_react_ui22.Avatar.Frame, null, /* @__PURE__ */ import_react46.default.createElement(import_react_ui22.Avatar.Fallback, {
|
|
2843
2594
|
text: addedIdentity?.profile?.data?.emoji || fallbackValue.emoji
|
|
2844
|
-
})), /* @__PURE__ */
|
|
2845
|
-
classNames: (0,
|
|
2846
|
-
}, displayName))), /* @__PURE__ */
|
|
2595
|
+
})), /* @__PURE__ */ import_react46.default.createElement(import_react_ui22.Avatar.Label, {
|
|
2596
|
+
classNames: (0, import_react_ui_theme24.mx)("text-lg truncate", !addedIdentity?.profile?.displayName && "font-mono")
|
|
2597
|
+
}, displayName))), /* @__PURE__ */ import_react46.default.createElement(Actions, null, mode === "halo-only" ? doneActionParent ? /* @__PURE__ */ (0, import_react46.cloneElement)(doneActionParent, {}, doneAction) : doneAction : /* @__PURE__ */ import_react46.default.createElement(Action, {
|
|
2847
2598
|
variant: "primary",
|
|
2848
2599
|
disabled: disabled || !addedIdentity,
|
|
2849
2600
|
onClick: () => addedIdentity && send({
|
|
@@ -2858,12 +2609,12 @@ var IdentityInput = (props) => {
|
|
|
2858
2609
|
const { send, method } = props;
|
|
2859
2610
|
const isRecover = method === "recover identity";
|
|
2860
2611
|
const client = (0, import_react_client9.useClient)();
|
|
2861
|
-
const { t } = (0,
|
|
2862
|
-
const [validationMessage, setValidationMessage] = (0,
|
|
2612
|
+
const { t } = (0, import_react_ui23.useTranslation)("os");
|
|
2613
|
+
const [validationMessage, setValidationMessage] = (0, import_react47.useState)("");
|
|
2863
2614
|
const handleConfirm = async (value) => {
|
|
2864
2615
|
if (isRecover) {
|
|
2865
2616
|
await client.halo.recoverIdentity({
|
|
2866
|
-
|
|
2617
|
+
recoveryCode: value
|
|
2867
2618
|
}).then((identity) => {
|
|
2868
2619
|
send?.({
|
|
2869
2620
|
type: "selectIdentity",
|
|
@@ -2897,7 +2648,7 @@ var IdentityInput = (props) => {
|
|
|
2897
2648
|
});
|
|
2898
2649
|
}
|
|
2899
2650
|
};
|
|
2900
|
-
return /* @__PURE__ */
|
|
2651
|
+
return /* @__PURE__ */ import_react47.default.createElement(IdentityInputImpl, {
|
|
2901
2652
|
...props,
|
|
2902
2653
|
onConfirm: handleConfirm,
|
|
2903
2654
|
validationMessage
|
|
@@ -2905,12 +2656,12 @@ var IdentityInput = (props) => {
|
|
|
2905
2656
|
};
|
|
2906
2657
|
var IdentityInputImpl = (props) => {
|
|
2907
2658
|
const { method, active, onConfirm, validationMessage } = props;
|
|
2908
|
-
const { t } = (0,
|
|
2909
|
-
const [inputValue, setInputValue] = (0,
|
|
2910
|
-
const [pending, setPending] = (0,
|
|
2659
|
+
const { t } = (0, import_react_ui23.useTranslation)("os");
|
|
2660
|
+
const [inputValue, setInputValue] = (0, import_react47.useState)("");
|
|
2661
|
+
const [pending, setPending] = (0, import_react47.useState)(false);
|
|
2911
2662
|
const disabled = !active || pending;
|
|
2912
2663
|
const isRecover = method === "recover identity";
|
|
2913
|
-
const handleConfirm = (0,
|
|
2664
|
+
const handleConfirm = (0, import_react47.useCallback)(async () => {
|
|
2914
2665
|
setPending(true);
|
|
2915
2666
|
await onConfirm?.(inputValue);
|
|
2916
2667
|
setPending(false);
|
|
@@ -2918,17 +2669,17 @@ var IdentityInputImpl = (props) => {
|
|
|
2918
2669
|
onConfirm,
|
|
2919
2670
|
inputValue
|
|
2920
2671
|
]);
|
|
2921
|
-
return /* @__PURE__ */
|
|
2672
|
+
return /* @__PURE__ */ import_react47.default.createElement(import_react47.default.Fragment, null, /* @__PURE__ */ import_react47.default.createElement("div", {
|
|
2922
2673
|
role: "none",
|
|
2923
2674
|
className: "grow flex flex-col justify-center"
|
|
2924
|
-
}, /* @__PURE__ */
|
|
2675
|
+
}, /* @__PURE__ */ import_react47.default.createElement(Input, {
|
|
2925
2676
|
validationMessage,
|
|
2926
|
-
label: /* @__PURE__ */
|
|
2677
|
+
label: /* @__PURE__ */ import_react47.default.createElement(StepHeading, null, t(isRecover ? "recover identity input label" : "new identity input label")),
|
|
2927
2678
|
disabled,
|
|
2928
2679
|
"data-testid": "identity-input",
|
|
2929
2680
|
placeholder: isRecover ? t("recovery code placeholder") : t("display name placeholder"),
|
|
2930
2681
|
onChange: ({ target: { value } }) => setInputValue(value)
|
|
2931
|
-
})), /* @__PURE__ */
|
|
2682
|
+
})), /* @__PURE__ */ import_react47.default.createElement(Actions, null, /* @__PURE__ */ import_react47.default.createElement(Action, {
|
|
2932
2683
|
variant: "primary",
|
|
2933
2684
|
disabled: disabled || inputValue.trim().length === 0,
|
|
2934
2685
|
onClick: handleConfirm,
|
|
@@ -2954,9 +2705,9 @@ var invitationCodeFromUrl = (text) => {
|
|
|
2954
2705
|
var InvitationInput = (props) => {
|
|
2955
2706
|
const { Kind, active, send, unredeemedCode, onExit, exitActionParent, onDone, doneActionParent, succeededKeys } = props;
|
|
2956
2707
|
const disabled = !active;
|
|
2957
|
-
const { t } = (0,
|
|
2958
|
-
const [inputValue, setInputValue] = (0,
|
|
2959
|
-
(0,
|
|
2708
|
+
const { t } = (0, import_react_ui25.useTranslation)("os");
|
|
2709
|
+
const [inputValue, setInputValue] = (0, import_react49.useState)(unredeemedCode ?? "");
|
|
2710
|
+
(0, import_react49.useEffect)(() => {
|
|
2960
2711
|
unredeemedCode && setInputValue(unredeemedCode ?? "");
|
|
2961
2712
|
}, [
|
|
2962
2713
|
unredeemedCode
|
|
@@ -2973,7 +2724,7 @@ var InvitationInput = (props) => {
|
|
|
2973
2724
|
}
|
|
2974
2725
|
});
|
|
2975
2726
|
};
|
|
2976
|
-
const exitAction = /* @__PURE__ */
|
|
2727
|
+
const exitAction = /* @__PURE__ */ import_react49.default.createElement(Action, {
|
|
2977
2728
|
variant: "ghost",
|
|
2978
2729
|
disabled,
|
|
2979
2730
|
...onExit ? {
|
|
@@ -2983,11 +2734,11 @@ var InvitationInput = (props) => {
|
|
|
2983
2734
|
},
|
|
2984
2735
|
"data-testid": "join-exit"
|
|
2985
2736
|
}, t("cancel label"));
|
|
2986
|
-
return /* @__PURE__ */
|
|
2737
|
+
return /* @__PURE__ */ import_react49.default.createElement(import_react49.default.Fragment, null, /* @__PURE__ */ import_react49.default.createElement("div", {
|
|
2987
2738
|
role: "none",
|
|
2988
2739
|
className: "grow flex flex-col justify-center"
|
|
2989
|
-
}, /* @__PURE__ */
|
|
2990
|
-
label: /* @__PURE__ */
|
|
2740
|
+
}, /* @__PURE__ */ import_react49.default.createElement(Input, {
|
|
2741
|
+
label: /* @__PURE__ */ import_react49.default.createElement(StepHeading, null, t("invitation input label")),
|
|
2991
2742
|
placeholder: t("invitation input placeholder"),
|
|
2992
2743
|
disabled,
|
|
2993
2744
|
value: inputValue,
|
|
@@ -2995,7 +2746,7 @@ var InvitationInput = (props) => {
|
|
|
2995
2746
|
"data-autofocus": `inputting${Kind}InvitationCode`,
|
|
2996
2747
|
"data-testid": `${Kind.toLowerCase()}-invitation-input`,
|
|
2997
2748
|
onKeyUp: ({ key }) => key === "Enter" && handleNext()
|
|
2998
|
-
})), /* @__PURE__ */
|
|
2749
|
+
})), /* @__PURE__ */ import_react49.default.createElement(Actions, null, Kind === "Halo" ? null : exitActionParent ? /* @__PURE__ */ (0, import_react49.cloneElement)(exitActionParent, {}, exitAction) : doneActionParent ? /* @__PURE__ */ (0, import_react49.cloneElement)(doneActionParent, {}, exitAction) : exitAction, /* @__PURE__ */ import_react49.default.createElement(Action, {
|
|
2999
2750
|
variant: "primary",
|
|
3000
2751
|
disabled: disabled || inputValue.trim().length === 0,
|
|
3001
2752
|
onClick: handleNext,
|
|
@@ -3012,14 +2763,14 @@ var InvitationActions = ({
|
|
|
3012
2763
|
Kind,
|
|
3013
2764
|
failReason
|
|
3014
2765
|
}) => {
|
|
3015
|
-
const { t } = (0,
|
|
2766
|
+
const { t } = (0, import_react_ui26.useTranslation)("os");
|
|
3016
2767
|
if (failReason) {
|
|
3017
|
-
return /* @__PURE__ */
|
|
3018
|
-
className:
|
|
3019
|
-
}, t(failReason === "timeout" ? "timeout status label" : failReason === "cancelled" ? "cancelled status label" : "error status label")), /* @__PURE__ */
|
|
2768
|
+
return /* @__PURE__ */ import_react50.default.createElement(import_react50.default.Fragment, null, /* @__PURE__ */ import_react50.default.createElement(StepHeading, {
|
|
2769
|
+
className: import_react_ui_theme25.descriptionText
|
|
2770
|
+
}, t(failReason === "timeout" ? "timeout status label" : failReason === "cancelled" ? "cancelled status label" : "error status label")), /* @__PURE__ */ import_react50.default.createElement("div", {
|
|
3020
2771
|
role: "none",
|
|
3021
2772
|
className: "grow"
|
|
3022
|
-
}), /* @__PURE__ */
|
|
2773
|
+
}), /* @__PURE__ */ import_react50.default.createElement(Actions, null, /* @__PURE__ */ import_react50.default.createElement(Action, {
|
|
3023
2774
|
disabled: !active,
|
|
3024
2775
|
onClick: () => send({
|
|
3025
2776
|
type: `reset${Kind}Invitation`
|
|
@@ -3027,16 +2778,16 @@ var InvitationActions = ({
|
|
|
3027
2778
|
"data-testid": "invitation-rescuer-reset"
|
|
3028
2779
|
}, t("reset label"))));
|
|
3029
2780
|
} else {
|
|
3030
|
-
return /* @__PURE__ */
|
|
3031
|
-
className:
|
|
3032
|
-
}, t("connecting status label")), /* @__PURE__ */
|
|
2781
|
+
return /* @__PURE__ */ import_react50.default.createElement(import_react50.default.Fragment, null, /* @__PURE__ */ import_react50.default.createElement(StepHeading, {
|
|
2782
|
+
className: import_react_ui_theme25.descriptionText
|
|
2783
|
+
}, t("connecting status label")), /* @__PURE__ */ import_react50.default.createElement("div", {
|
|
3033
2784
|
role: "none",
|
|
3034
2785
|
className: "grow"
|
|
3035
|
-
}), /* @__PURE__ */
|
|
2786
|
+
}), /* @__PURE__ */ import_react50.default.createElement(Actions, null, /* @__PURE__ */ import_react50.default.createElement(Action, {
|
|
3036
2787
|
disabled: true,
|
|
3037
2788
|
classNames: "order-2",
|
|
3038
2789
|
"data-testid": "next"
|
|
3039
|
-
}, t("next label")), /* @__PURE__ */
|
|
2790
|
+
}, t("next label")), /* @__PURE__ */ import_react50.default.createElement(Action, {
|
|
3040
2791
|
disabled: !active,
|
|
3041
2792
|
onClick: onInvitationCancel,
|
|
3042
2793
|
"data-testid": "invitation-rescuer-cancel"
|
|
@@ -3045,45 +2796,45 @@ var InvitationActions = ({
|
|
|
3045
2796
|
};
|
|
3046
2797
|
var InvitationRescuer = (props) => {
|
|
3047
2798
|
const { Kind, invitationState, active, send } = props;
|
|
3048
|
-
const { t } = (0,
|
|
3049
|
-
return /* @__PURE__ */
|
|
2799
|
+
const { t } = (0, import_react_ui26.useTranslation)("os");
|
|
2800
|
+
return /* @__PURE__ */ import_react50.default.createElement(import_react50.default.Fragment, null, typeof invitationState === "undefined" ? /* @__PURE__ */ import_react50.default.createElement(import_react50.default.Fragment, null, /* @__PURE__ */ import_react50.default.createElement("div", {
|
|
3050
2801
|
role: "none",
|
|
3051
2802
|
className: "grow flex flex-col justify-center"
|
|
3052
|
-
}, /* @__PURE__ */
|
|
3053
|
-
className:
|
|
3054
|
-
}, "There was a problem joining the space")), /* @__PURE__ */
|
|
2803
|
+
}, /* @__PURE__ */ import_react50.default.createElement(StepHeading, {
|
|
2804
|
+
className: import_react_ui_theme25.descriptionText
|
|
2805
|
+
}, "There was a problem joining the space")), /* @__PURE__ */ import_react50.default.createElement(Actions, null, /* @__PURE__ */ import_react50.default.createElement(Action, {
|
|
3055
2806
|
disabled: !active,
|
|
3056
2807
|
"data-testid": "invitation-rescuer-blank-reset",
|
|
3057
2808
|
onClick: () => send({
|
|
3058
2809
|
type: `reset${Kind}Invitation`
|
|
3059
2810
|
})
|
|
3060
|
-
}, t("reset label")))) : /* @__PURE__ */
|
|
2811
|
+
}, t("reset label")))) : /* @__PURE__ */ import_react50.default.createElement(InvitationActions, props));
|
|
3061
2812
|
};
|
|
3062
2813
|
var pinLength = 6;
|
|
3063
2814
|
var InvitationAuthenticator = ({ failed, Kind, authMethod, active, pending, invitationId, onInvitationAuthenticate, onInvitationCancel }) => {
|
|
3064
2815
|
const disabled = !active || pending;
|
|
3065
|
-
const { t } = (0,
|
|
2816
|
+
const { t } = (0, import_react_ui27.useTranslation)("os");
|
|
3066
2817
|
const invitationType = Kind.toLowerCase();
|
|
3067
|
-
const [authCode, setAuthCode] = (0,
|
|
2818
|
+
const [authCode, setAuthCode] = (0, import_react51.useState)("");
|
|
3068
2819
|
const onChange = ({ target: { value } }) => {
|
|
3069
2820
|
setAuthCode(value);
|
|
3070
2821
|
if (value.length === pinLength) {
|
|
3071
2822
|
document.querySelector(`[data-autofocus-pinlength="${invitationType}"]`)?.focus();
|
|
3072
2823
|
}
|
|
3073
2824
|
};
|
|
3074
|
-
return /* @__PURE__ */
|
|
2825
|
+
return /* @__PURE__ */ import_react51.default.createElement(import_react51.default.Fragment, null, /* @__PURE__ */ import_react51.default.createElement("div", {
|
|
3075
2826
|
role: "none",
|
|
3076
2827
|
className: "grow flex flex-col justify-center gap-4"
|
|
3077
|
-
}, /* @__PURE__ */
|
|
2828
|
+
}, /* @__PURE__ */ import_react51.default.createElement(import_react_ui27.Input.Root, failed && {
|
|
3078
2829
|
validationValence: "error"
|
|
3079
|
-
}, /* @__PURE__ */
|
|
2830
|
+
}, /* @__PURE__ */ import_react51.default.createElement(import_react_ui27.Input.Label, {
|
|
3080
2831
|
asChild: true
|
|
3081
|
-
}, authMethod === import_invitations7.Invitation.AuthMethod.SHARED_SECRET ? /* @__PURE__ */
|
|
3082
|
-
className:
|
|
3083
|
-
}, t("authenticating label")), /* @__PURE__ */
|
|
2832
|
+
}, authMethod === import_invitations7.Invitation.AuthMethod.SHARED_SECRET ? /* @__PURE__ */ import_react51.default.createElement(StepHeading, null, t("auth code input label")) : /* @__PURE__ */ import_react51.default.createElement(import_react51.default.Fragment, null, /* @__PURE__ */ import_react51.default.createElement(StepHeading, {
|
|
2833
|
+
className: import_react_ui_theme26.descriptionText
|
|
2834
|
+
}, t("authenticating label")), /* @__PURE__ */ import_react51.default.createElement("div", {
|
|
3084
2835
|
role: "none",
|
|
3085
2836
|
className: "grow"
|
|
3086
|
-
}))), authMethod === import_invitations7.Invitation.AuthMethod.SHARED_SECRET && /* @__PURE__ */
|
|
2837
|
+
}))), authMethod === import_invitations7.Invitation.AuthMethod.SHARED_SECRET && /* @__PURE__ */ import_react51.default.createElement(import_react_ui27.Input.PinInput, {
|
|
3087
2838
|
disabled,
|
|
3088
2839
|
length: pinLength,
|
|
3089
2840
|
onChange,
|
|
@@ -3094,18 +2845,18 @@ var InvitationAuthenticator = ({ failed, Kind, authMethod, active, pending, invi
|
|
|
3094
2845
|
"data-prevent-ios-autofocus": true,
|
|
3095
2846
|
"data-testid": `${invitationType}-auth-code-input`,
|
|
3096
2847
|
"data-1p-ignore": true
|
|
3097
|
-
}), failed && /* @__PURE__ */
|
|
2848
|
+
}), failed && /* @__PURE__ */ import_react51.default.createElement(import_react_ui27.Input.DescriptionAndValidation, {
|
|
3098
2849
|
classNames: "text-center"
|
|
3099
|
-
}, /* @__PURE__ */
|
|
2850
|
+
}, /* @__PURE__ */ import_react51.default.createElement(import_react_ui27.Input.Validation, null, t("failed to authenticate message")))), invitationId && authMethod === import_invitations7.Invitation.AuthMethod.SHARED_SECRET && /* @__PURE__ */ import_react51.default.createElement(import_react51.default.Fragment, null, /* @__PURE__ */ import_react51.default.createElement(Label, null, t("auth other device emoji message")), /* @__PURE__ */ import_react51.default.createElement("div", {
|
|
3100
2851
|
className: "flex justify-center"
|
|
3101
|
-
}, /* @__PURE__ */
|
|
2852
|
+
}, /* @__PURE__ */ import_react51.default.createElement(Emoji, {
|
|
3102
2853
|
text: (0, import_util9.hexToEmoji)(invitationId)
|
|
3103
|
-
})))), /* @__PURE__ */
|
|
2854
|
+
})))), /* @__PURE__ */ import_react51.default.createElement(Actions, null, /* @__PURE__ */ import_react51.default.createElement(Action, {
|
|
3104
2855
|
variant: "ghost",
|
|
3105
2856
|
disabled,
|
|
3106
2857
|
onClick: () => onInvitationCancel?.(),
|
|
3107
2858
|
"data-testid": `${invitationType}-invitation-authenticator-cancel`
|
|
3108
|
-
}, t("cancel label")), /* @__PURE__ */
|
|
2859
|
+
}, t("cancel label")), /* @__PURE__ */ import_react51.default.createElement(Action, {
|
|
3109
2860
|
variant: "primary",
|
|
3110
2861
|
disabled,
|
|
3111
2862
|
onClick: () => onInvitationAuthenticate?.(authCode),
|
|
@@ -3160,46 +2911,46 @@ var JoinPanelImpl = (props) => {
|
|
|
3160
2911
|
IdentityInput: IdentityInputComponent = IdentityInput,
|
|
3161
2912
|
ConfirmReset: ConfirmResetComponent = ConfirmReset
|
|
3162
2913
|
} = props;
|
|
3163
|
-
return /* @__PURE__ */
|
|
2914
|
+
return /* @__PURE__ */ import_react39.default.createElement(import_react39.default.Fragment, null, mode !== "halo-only" && /* @__PURE__ */ import_react39.default.createElement(JoinHeading, {
|
|
3164
2915
|
titleId,
|
|
3165
2916
|
mode,
|
|
3166
2917
|
onExit,
|
|
3167
2918
|
exitActionParent
|
|
3168
|
-
}), /* @__PURE__ */
|
|
2919
|
+
}), /* @__PURE__ */ import_react39.default.createElement(Viewport.Root, {
|
|
3169
2920
|
focusManaged: true,
|
|
3170
2921
|
activeView
|
|
3171
|
-
}, /* @__PURE__ */
|
|
2922
|
+
}, /* @__PURE__ */ import_react39.default.createElement(Viewport.Views, null, /* @__PURE__ */ import_react39.default.createElement(Viewport.View, {
|
|
3172
2923
|
classNames: stepStyles,
|
|
3173
2924
|
id: "addition method chooser"
|
|
3174
|
-
}, /* @__PURE__ */
|
|
2925
|
+
}, /* @__PURE__ */ import_react39.default.createElement(AdditionMethodChooser, {
|
|
3175
2926
|
send,
|
|
3176
2927
|
active: activeView === "addition method chooser"
|
|
3177
|
-
})), /* @__PURE__ */
|
|
2928
|
+
})), /* @__PURE__ */ import_react39.default.createElement(Viewport.View, {
|
|
3178
2929
|
classNames: stepStyles,
|
|
3179
2930
|
id: "reset storage confirmation"
|
|
3180
|
-
}, /* @__PURE__ */
|
|
2931
|
+
}, /* @__PURE__ */ import_react39.default.createElement(ConfirmResetComponent, {
|
|
3181
2932
|
send,
|
|
3182
2933
|
active: activeView === "reset storage confirmation",
|
|
3183
2934
|
onCancel: onCancelResetStorage,
|
|
3184
2935
|
onConfirm: onConfirmResetStorage
|
|
3185
|
-
})), /* @__PURE__ */
|
|
2936
|
+
})), /* @__PURE__ */ import_react39.default.createElement(Viewport.View, {
|
|
3186
2937
|
classNames: stepStyles,
|
|
3187
2938
|
id: "create identity input"
|
|
3188
|
-
}, /* @__PURE__ */
|
|
2939
|
+
}, /* @__PURE__ */ import_react39.default.createElement(IdentityInputComponent, {
|
|
3189
2940
|
send,
|
|
3190
2941
|
method: "create identity",
|
|
3191
2942
|
active: activeView === "create identity input"
|
|
3192
|
-
})), /* @__PURE__ */
|
|
2943
|
+
})), /* @__PURE__ */ import_react39.default.createElement(Viewport.View, {
|
|
3193
2944
|
classNames: stepStyles,
|
|
3194
2945
|
id: "recover identity input"
|
|
3195
|
-
}, /* @__PURE__ */
|
|
2946
|
+
}, /* @__PURE__ */ import_react39.default.createElement(IdentityInputComponent, {
|
|
3196
2947
|
send,
|
|
3197
2948
|
method: "recover identity",
|
|
3198
2949
|
active: activeView === "recover identity input"
|
|
3199
|
-
})), /* @__PURE__ */
|
|
2950
|
+
})), /* @__PURE__ */ import_react39.default.createElement(Viewport.View, {
|
|
3200
2951
|
classNames: stepStyles,
|
|
3201
2952
|
id: "halo invitation input"
|
|
3202
|
-
}, /* @__PURE__ */
|
|
2953
|
+
}, /* @__PURE__ */ import_react39.default.createElement(InvitationInput, {
|
|
3203
2954
|
send,
|
|
3204
2955
|
Kind: "Halo",
|
|
3205
2956
|
active: activeView === "halo invitation input",
|
|
@@ -3209,20 +2960,20 @@ var JoinPanelImpl = (props) => {
|
|
|
3209
2960
|
...succeededKeys?.Halo && {
|
|
3210
2961
|
succeededKeys: succeededKeys.Halo
|
|
3211
2962
|
}
|
|
3212
|
-
})), /* @__PURE__ */
|
|
2963
|
+
})), /* @__PURE__ */ import_react39.default.createElement(Viewport.View, {
|
|
3213
2964
|
classNames: stepStyles,
|
|
3214
2965
|
id: "halo invitation rescuer"
|
|
3215
|
-
}, /* @__PURE__ */
|
|
2966
|
+
}, /* @__PURE__ */ import_react39.default.createElement(InvitationRescuer, {
|
|
3216
2967
|
send,
|
|
3217
2968
|
Kind: "Halo",
|
|
3218
2969
|
active: activeView === "halo invitation rescuer",
|
|
3219
2970
|
invitationState: invitationStates?.Halo,
|
|
3220
2971
|
onInvitationCancel: onHaloInvitationCancel,
|
|
3221
2972
|
failReason: failReasons?.Halo
|
|
3222
|
-
})), /* @__PURE__ */
|
|
2973
|
+
})), /* @__PURE__ */ import_react39.default.createElement(Viewport.View, {
|
|
3223
2974
|
classNames: stepStyles,
|
|
3224
2975
|
id: "halo invitation authenticator"
|
|
3225
|
-
}, /* @__PURE__ */
|
|
2976
|
+
}, /* @__PURE__ */ import_react39.default.createElement(InvitationAuthenticator, {
|
|
3226
2977
|
send,
|
|
3227
2978
|
Kind: "Halo",
|
|
3228
2979
|
invitationId: invitationIds?.Halo,
|
|
@@ -3233,19 +2984,19 @@ var JoinPanelImpl = (props) => {
|
|
|
3233
2984
|
...failed.has("Halo") && {
|
|
3234
2985
|
failed: true
|
|
3235
2986
|
}
|
|
3236
|
-
})), /* @__PURE__ */
|
|
2987
|
+
})), /* @__PURE__ */ import_react39.default.createElement(Viewport.View, {
|
|
3237
2988
|
classNames: stepStyles,
|
|
3238
2989
|
id: "identity added"
|
|
3239
|
-
}, /* @__PURE__ */
|
|
2990
|
+
}, /* @__PURE__ */ import_react39.default.createElement(IdentityAdded, {
|
|
3240
2991
|
send,
|
|
3241
2992
|
mode,
|
|
3242
2993
|
active: activeView === "identity added",
|
|
3243
2994
|
doneActionParent,
|
|
3244
2995
|
onDone: onHaloDone
|
|
3245
|
-
})), /* @__PURE__ */
|
|
2996
|
+
})), /* @__PURE__ */ import_react39.default.createElement(Viewport.View, {
|
|
3246
2997
|
classNames: stepStyles,
|
|
3247
2998
|
id: "space invitation input"
|
|
3248
|
-
}, /* @__PURE__ */
|
|
2999
|
+
}, /* @__PURE__ */ import_react39.default.createElement(InvitationInput, {
|
|
3249
3000
|
send,
|
|
3250
3001
|
Kind: "Space",
|
|
3251
3002
|
active: activeView === "space invitation input",
|
|
@@ -3257,20 +3008,20 @@ var JoinPanelImpl = (props) => {
|
|
|
3257
3008
|
},
|
|
3258
3009
|
onExit,
|
|
3259
3010
|
exitActionParent
|
|
3260
|
-
})), /* @__PURE__ */
|
|
3011
|
+
})), /* @__PURE__ */ import_react39.default.createElement(Viewport.View, {
|
|
3261
3012
|
classNames: stepStyles,
|
|
3262
3013
|
id: "space invitation rescuer"
|
|
3263
|
-
}, /* @__PURE__ */
|
|
3014
|
+
}, /* @__PURE__ */ import_react39.default.createElement(InvitationRescuer, {
|
|
3264
3015
|
send,
|
|
3265
3016
|
Kind: "Space",
|
|
3266
3017
|
active: activeView === "space invitation rescuer",
|
|
3267
3018
|
invitationState: invitationStates?.Space,
|
|
3268
3019
|
onInvitationCancel: onSpaceInvitationCancel,
|
|
3269
3020
|
failReason: failReasons?.Space
|
|
3270
|
-
})), /* @__PURE__ */
|
|
3021
|
+
})), /* @__PURE__ */ import_react39.default.createElement(Viewport.View, {
|
|
3271
3022
|
classNames: stepStyles,
|
|
3272
3023
|
id: "space invitation authenticator"
|
|
3273
|
-
}, /* @__PURE__ */
|
|
3024
|
+
}, /* @__PURE__ */ import_react39.default.createElement(InvitationAuthenticator, {
|
|
3274
3025
|
send,
|
|
3275
3026
|
Kind: "Space",
|
|
3276
3027
|
invitationId: invitationIds?.Space,
|
|
@@ -3286,8 +3037,8 @@ var JoinPanelImpl = (props) => {
|
|
|
3286
3037
|
var JoinPanel = ({ titleId: propsTitleId, mode = "default", initialDisposition = "default", initialInvitationCode, exitActionParent, onExit, doneActionParent, onDone: propsOnDone, onCancelResetStorage }) => {
|
|
3287
3038
|
const client = (0, import_react_client7.useClient)();
|
|
3288
3039
|
const identity = (0, import_halo4.useIdentity)();
|
|
3289
|
-
const { hasIosKeyboard } = (0,
|
|
3290
|
-
const titleId = (0,
|
|
3040
|
+
const { hasIosKeyboard } = (0, import_react_ui19.useThemeContext)();
|
|
3041
|
+
const titleId = (0, import_react_ui19.useId)("joinPanel__heading", propsTitleId);
|
|
3291
3042
|
const [joinState, joinSend, joinService] = useJoinMachine(client, {
|
|
3292
3043
|
context: {
|
|
3293
3044
|
mode,
|
|
@@ -3300,7 +3051,7 @@ var JoinPanel = ({ titleId: propsTitleId, mode = "default", initialDisposition =
|
|
|
3300
3051
|
}
|
|
3301
3052
|
}
|
|
3302
3053
|
});
|
|
3303
|
-
(0,
|
|
3054
|
+
(0, import_react39.useEffect)(() => {
|
|
3304
3055
|
const subscription = joinService.subscribe((state) => {
|
|
3305
3056
|
(0, import_log8.log)("[state]", state, {
|
|
3306
3057
|
F: __dxlog_file10,
|
|
@@ -3313,7 +3064,7 @@ var JoinPanel = ({ titleId: propsTitleId, mode = "default", initialDisposition =
|
|
|
3313
3064
|
}, [
|
|
3314
3065
|
joinService
|
|
3315
3066
|
]);
|
|
3316
|
-
(0,
|
|
3067
|
+
(0, import_react39.useEffect)(() => {
|
|
3317
3068
|
const stateStack = joinState.configuration[0].id.split(".");
|
|
3318
3069
|
const innermostState = stateStack[stateStack.length - 1];
|
|
3319
3070
|
const autoFocusValue = innermostState === "finishingJoining" ? "successSpaceInvitation" : innermostState;
|
|
@@ -3325,7 +3076,7 @@ var JoinPanel = ({ titleId: propsTitleId, mode = "default", initialDisposition =
|
|
|
3325
3076
|
joinState.value,
|
|
3326
3077
|
hasIosKeyboard
|
|
3327
3078
|
]);
|
|
3328
|
-
const activeView = (0,
|
|
3079
|
+
const activeView = (0, import_react39.useMemo)(() => {
|
|
3329
3080
|
switch (true) {
|
|
3330
3081
|
case joinState.matches({
|
|
3331
3082
|
choosingIdentity: "choosingAuthMethod"
|
|
@@ -3446,7 +3197,7 @@ var JoinPanel = ({ titleId: propsTitleId, mode = "default", initialDisposition =
|
|
|
3446
3197
|
}, [
|
|
3447
3198
|
joinState
|
|
3448
3199
|
]);
|
|
3449
|
-
(0,
|
|
3200
|
+
(0, import_react39.useEffect)(() => {
|
|
3450
3201
|
switch (activeView) {
|
|
3451
3202
|
case "halo invitation accepted":
|
|
3452
3203
|
onHaloDone();
|
|
@@ -3458,7 +3209,7 @@ var JoinPanel = ({ titleId: propsTitleId, mode = "default", initialDisposition =
|
|
|
3458
3209
|
}, [
|
|
3459
3210
|
activeView
|
|
3460
3211
|
]);
|
|
3461
|
-
const failed = (0,
|
|
3212
|
+
const failed = (0, import_react39.useMemo)(() => {
|
|
3462
3213
|
const result = /* @__PURE__ */ new Set();
|
|
3463
3214
|
switch (true) {
|
|
3464
3215
|
case joinState.matches({
|
|
@@ -3482,43 +3233,43 @@ var JoinPanel = ({ titleId: propsTitleId, mode = "default", initialDisposition =
|
|
|
3482
3233
|
}, [
|
|
3483
3234
|
joinState
|
|
3484
3235
|
]);
|
|
3485
|
-
const unredeemedCodes = (0,
|
|
3236
|
+
const unredeemedCodes = (0, import_react39.useMemo)(() => ({
|
|
3486
3237
|
Halo: joinState.context.halo.unredeemedCode,
|
|
3487
3238
|
Space: joinState.context.space.unredeemedCode
|
|
3488
3239
|
}), [
|
|
3489
3240
|
joinState
|
|
3490
3241
|
]);
|
|
3491
3242
|
const spaces = (0, import_react_client7.useMulticastObservable)(client.spaces);
|
|
3492
|
-
const succeededKeys = (0,
|
|
3243
|
+
const succeededKeys = (0, import_react39.useMemo)(() => ({
|
|
3493
3244
|
Space: spaces ? new Set(spaces.map(({ key }) => key.toHex())) : void 0
|
|
3494
3245
|
}), [
|
|
3495
3246
|
spaces
|
|
3496
3247
|
]);
|
|
3497
|
-
const invitationStates = (0,
|
|
3248
|
+
const invitationStates = (0, import_react39.useMemo)(() => ({
|
|
3498
3249
|
Halo: joinState.context.halo.invitationObservable?.get().state,
|
|
3499
3250
|
Space: joinState.context.space.invitationObservable?.get().state
|
|
3500
3251
|
}), [
|
|
3501
3252
|
joinState
|
|
3502
3253
|
]);
|
|
3503
|
-
const invitationAuthMethods = (0,
|
|
3254
|
+
const invitationAuthMethods = (0, import_react39.useMemo)(() => ({
|
|
3504
3255
|
Halo: joinState.context.halo.invitationObservable?.get().authMethod,
|
|
3505
3256
|
Space: joinState.context.space.invitationObservable?.get().authMethod
|
|
3506
3257
|
}), [
|
|
3507
3258
|
joinState
|
|
3508
3259
|
]);
|
|
3509
|
-
const invitationIds = (0,
|
|
3260
|
+
const invitationIds = (0, import_react39.useMemo)(() => ({
|
|
3510
3261
|
Halo: joinState.context.halo.invitationObservable?.get().invitationId,
|
|
3511
3262
|
Space: joinState.context.space.invitationObservable?.get().invitationId
|
|
3512
3263
|
}), [
|
|
3513
3264
|
joinState
|
|
3514
3265
|
]);
|
|
3515
|
-
const failReasons = (0,
|
|
3266
|
+
const failReasons = (0, import_react39.useMemo)(() => ({
|
|
3516
3267
|
Halo: joinState.context.halo.failReason,
|
|
3517
3268
|
Space: joinState.context.space.failReason
|
|
3518
3269
|
}), [
|
|
3519
3270
|
joinState
|
|
3520
3271
|
]);
|
|
3521
|
-
const onHaloDone = (0,
|
|
3272
|
+
const onHaloDone = (0, import_react39.useCallback)(() => {
|
|
3522
3273
|
propsOnDone?.({
|
|
3523
3274
|
identityKey: joinState.context.identity?.identityKey ?? joinState.context.halo.invitation?.identityKey ?? null,
|
|
3524
3275
|
swarmKey: joinState.context.halo.invitation?.swarmKey ?? null,
|
|
@@ -3529,7 +3280,7 @@ var JoinPanel = ({ titleId: propsTitleId, mode = "default", initialDisposition =
|
|
|
3529
3280
|
joinState,
|
|
3530
3281
|
propsOnDone
|
|
3531
3282
|
]);
|
|
3532
|
-
const onSpaceDone = (0,
|
|
3283
|
+
const onSpaceDone = (0, import_react39.useCallback)(() => {
|
|
3533
3284
|
propsOnDone?.({
|
|
3534
3285
|
identityKey: joinState.context.space.invitation?.identityKey ?? null,
|
|
3535
3286
|
swarmKey: joinState.context.space.invitation?.swarmKey ?? null,
|
|
@@ -3540,7 +3291,7 @@ var JoinPanel = ({ titleId: propsTitleId, mode = "default", initialDisposition =
|
|
|
3540
3291
|
joinState,
|
|
3541
3292
|
propsOnDone
|
|
3542
3293
|
]);
|
|
3543
|
-
const onConfirmResetStorage = (0,
|
|
3294
|
+
const onConfirmResetStorage = (0, import_react39.useCallback)(() => client.reset().then(() => {
|
|
3544
3295
|
joinSend({
|
|
3545
3296
|
type: "resetIdentity"
|
|
3546
3297
|
});
|
|
@@ -3548,7 +3299,7 @@ var JoinPanel = ({ titleId: propsTitleId, mode = "default", initialDisposition =
|
|
|
3548
3299
|
client,
|
|
3549
3300
|
joinSend
|
|
3550
3301
|
]);
|
|
3551
|
-
return /* @__PURE__ */
|
|
3302
|
+
return /* @__PURE__ */ import_react39.default.createElement(JoinPanelImpl, {
|
|
3552
3303
|
titleId,
|
|
3553
3304
|
mode,
|
|
3554
3305
|
send: joinSend,
|
|
@@ -3638,7 +3389,7 @@ var spaceMachine = (0, import_xstate3.createMachine)({
|
|
|
3638
3389
|
}
|
|
3639
3390
|
});
|
|
3640
3391
|
var useSpaceMachine = (options) => {
|
|
3641
|
-
return (0,
|
|
3392
|
+
return (0, import_react54.useMachine)(spaceMachine, {
|
|
3642
3393
|
...options,
|
|
3643
3394
|
context: {
|
|
3644
3395
|
...options?.context
|
|
@@ -3664,16 +3415,16 @@ var handleInvitationEvent = (invitation, subscription) => {
|
|
|
3664
3415
|
};
|
|
3665
3416
|
var SpaceManager = (props) => {
|
|
3666
3417
|
const { space, target } = props;
|
|
3667
|
-
const { t } = (0,
|
|
3418
|
+
const { t } = (0, import_react_ui29.useTranslation)("os");
|
|
3668
3419
|
const config = (0, import_react_client10.useConfig)();
|
|
3669
3420
|
const invitations = (0, import_echo4.useSpaceInvitations)(space?.key);
|
|
3670
3421
|
const inviteActions = {
|
|
3671
3422
|
inviteOne: {
|
|
3672
3423
|
label: t("invite one label"),
|
|
3673
3424
|
description: t("invite one description"),
|
|
3674
|
-
icon:
|
|
3425
|
+
icon: import_react55.UserPlus,
|
|
3675
3426
|
testId: "spaces-panel.invite-one",
|
|
3676
|
-
onClick: (0,
|
|
3427
|
+
onClick: (0, import_react56.useCallback)(() => {
|
|
3677
3428
|
const invitation = space.share?.({
|
|
3678
3429
|
type: import_invitations10.Invitation.Type.INTERACTIVE,
|
|
3679
3430
|
authMethod: import_invitations10.Invitation.AuthMethod.SHARED_SECRET,
|
|
@@ -3691,9 +3442,9 @@ var SpaceManager = (props) => {
|
|
|
3691
3442
|
inviteMany: {
|
|
3692
3443
|
label: t("invite many label"),
|
|
3693
3444
|
description: t("invite many description"),
|
|
3694
|
-
icon:
|
|
3445
|
+
icon: import_react55.UsersThree,
|
|
3695
3446
|
testId: "spaces-panel.invite-many",
|
|
3696
|
-
onClick: (0,
|
|
3447
|
+
onClick: (0, import_react56.useCallback)(() => {
|
|
3697
3448
|
const invitation = space.share?.({
|
|
3698
3449
|
type: import_invitations10.Invitation.Type.DELEGATED,
|
|
3699
3450
|
authMethod: import_invitations10.Invitation.AuthMethod.KNOWN_PUBLIC_KEY,
|
|
@@ -3709,7 +3460,7 @@ var SpaceManager = (props) => {
|
|
|
3709
3460
|
])
|
|
3710
3461
|
}
|
|
3711
3462
|
};
|
|
3712
|
-
return /* @__PURE__ */
|
|
3463
|
+
return /* @__PURE__ */ import_react56.default.createElement(SpaceManagerImpl, {
|
|
3713
3464
|
...props,
|
|
3714
3465
|
invitations,
|
|
3715
3466
|
inviteActions
|
|
@@ -3718,17 +3469,17 @@ var SpaceManager = (props) => {
|
|
|
3718
3469
|
var headingFragment = "pis-3 pie-1 plb-1 mbe-1 font-medium";
|
|
3719
3470
|
var SpaceManagerImpl = (props) => {
|
|
3720
3471
|
const { active, space, createInvitationUrl, send, inviteActions: propsInviteActions, invitations, showInactiveInvitations, SpaceMemberList: SpaceMemberListComponent = SpaceMemberList, InvitationList: InvitationListComponent = InvitationList } = props;
|
|
3721
|
-
const { t } = (0,
|
|
3472
|
+
const { t } = (0, import_react_ui29.useTranslation)("os");
|
|
3722
3473
|
const inviteActions = propsInviteActions ?? {
|
|
3723
3474
|
noopInvite: {
|
|
3724
3475
|
label: t("create space invitation label"),
|
|
3725
3476
|
description: "",
|
|
3726
|
-
icon:
|
|
3477
|
+
icon: import_react55.Placeholder,
|
|
3727
3478
|
onClick: () => {
|
|
3728
3479
|
}
|
|
3729
3480
|
}
|
|
3730
3481
|
};
|
|
3731
|
-
const [activeAction, setInternalActiveAction] = (0,
|
|
3482
|
+
const [activeAction, setInternalActiveAction] = (0, import_react56.useState)(localStorage.getItem(activeActionKey) ?? "inviteMany");
|
|
3732
3483
|
const setActiveAction = (nextAction) => {
|
|
3733
3484
|
setInternalActiveAction(nextAction);
|
|
3734
3485
|
localStorage.setItem(activeActionKey, nextAction);
|
|
@@ -3736,26 +3487,26 @@ var SpaceManagerImpl = (props) => {
|
|
|
3736
3487
|
const visibleInvitations = showInactiveInvitations ? invitations : invitations?.filter((invitation) => ![
|
|
3737
3488
|
import_invitations10.Invitation.State.CANCELLED
|
|
3738
3489
|
].includes(invitation.get().state));
|
|
3739
|
-
return /* @__PURE__ */
|
|
3490
|
+
return /* @__PURE__ */ import_react56.default.createElement(import_react56.default.Fragment, null, /* @__PURE__ */ import_react56.default.createElement(import_react_ui29.ScrollArea.Root, {
|
|
3740
3491
|
classNames: "grow shrink basis-28 -mli-2"
|
|
3741
|
-
}, /* @__PURE__ */
|
|
3492
|
+
}, /* @__PURE__ */ import_react56.default.createElement(import_react_ui29.ScrollArea.Viewport, {
|
|
3742
3493
|
classNames: "is-full pie-2"
|
|
3743
|
-
}, !!visibleInvitations?.length && /* @__PURE__ */
|
|
3744
|
-
className: (0,
|
|
3745
|
-
}, t("invitation list heading")), /* @__PURE__ */
|
|
3494
|
+
}, !!visibleInvitations?.length && /* @__PURE__ */ import_react56.default.createElement(import_react56.default.Fragment, null, /* @__PURE__ */ import_react56.default.createElement("h3", {
|
|
3495
|
+
className: (0, import_react_ui_theme27.mx)(headingFragment, import_react_ui_theme27.descriptionText)
|
|
3496
|
+
}, t("invitation list heading")), /* @__PURE__ */ import_react56.default.createElement(InvitationListComponent, {
|
|
3746
3497
|
className: "mb-2",
|
|
3747
3498
|
send,
|
|
3748
3499
|
invitations: visibleInvitations ?? [],
|
|
3749
3500
|
onClickRemove: (invitation) => invitation.cancel(),
|
|
3750
3501
|
createInvitationUrl
|
|
3751
|
-
}), /* @__PURE__ */
|
|
3752
|
-
className: (0,
|
|
3753
|
-
}, t("space member list heading"))), /* @__PURE__ */
|
|
3502
|
+
}), /* @__PURE__ */ import_react56.default.createElement("h3", {
|
|
3503
|
+
className: (0, import_react_ui_theme27.mx)(headingFragment, import_react_ui_theme27.descriptionText, "mbs-2")
|
|
3504
|
+
}, t("space member list heading"))), /* @__PURE__ */ import_react56.default.createElement(SpaceMemberListComponent, {
|
|
3754
3505
|
spaceKey: space.key,
|
|
3755
3506
|
includeSelf: true
|
|
3756
|
-
})), /* @__PURE__ */
|
|
3507
|
+
})), /* @__PURE__ */ import_react56.default.createElement(import_react_ui29.ScrollArea.Scrollbar, {
|
|
3757
3508
|
orientation: "vertical"
|
|
3758
|
-
}, /* @__PURE__ */
|
|
3509
|
+
}, /* @__PURE__ */ import_react56.default.createElement(import_react_ui29.ScrollArea.Thumb, null))), /* @__PURE__ */ import_react56.default.createElement(Actions, null, /* @__PURE__ */ import_react56.default.createElement(BifurcatedAction, {
|
|
3759
3510
|
disabled: !active,
|
|
3760
3511
|
actions: inviteActions,
|
|
3761
3512
|
activeAction,
|
|
@@ -3765,45 +3516,45 @@ var SpaceManagerImpl = (props) => {
|
|
|
3765
3516
|
};
|
|
3766
3517
|
var __dxlog_file13 = "/home/runner/work/dxos/dxos/packages/sdk/shell/src/panels/SpacePanel/SpacePanel.tsx";
|
|
3767
3518
|
var SpacePanelHeading = ({ titleId, space, onDone }) => {
|
|
3768
|
-
const { t } = (0,
|
|
3519
|
+
const { t } = (0, import_react_ui28.useTranslation)("os");
|
|
3769
3520
|
const name = space.properties.name;
|
|
3770
|
-
return /* @__PURE__ */
|
|
3521
|
+
return /* @__PURE__ */ import_react53.default.createElement(Heading, {
|
|
3771
3522
|
titleId,
|
|
3772
3523
|
title: t("space panel heading"),
|
|
3773
|
-
corner: /* @__PURE__ */
|
|
3524
|
+
corner: /* @__PURE__ */ import_react53.default.createElement(CloseButton, {
|
|
3774
3525
|
"data-testid": "identity-panel-done",
|
|
3775
3526
|
onDone
|
|
3776
3527
|
})
|
|
3777
|
-
}, /* @__PURE__ */
|
|
3528
|
+
}, /* @__PURE__ */ import_react53.default.createElement("div", {
|
|
3778
3529
|
role: "none",
|
|
3779
3530
|
className: "flex gap-4 items-center justify-center mlb-4"
|
|
3780
|
-
}, /* @__PURE__ */
|
|
3531
|
+
}, /* @__PURE__ */ import_react53.default.createElement(import_react52.Planet, {
|
|
3781
3532
|
size: 32,
|
|
3782
3533
|
weight: "light"
|
|
3783
|
-
}), /* @__PURE__ */
|
|
3534
|
+
}), /* @__PURE__ */ import_react53.default.createElement("div", {
|
|
3784
3535
|
className: "block text-start font-light text-xl"
|
|
3785
3536
|
}, name ?? space.key.truncate())));
|
|
3786
3537
|
};
|
|
3787
3538
|
var SpacePanelImpl = (props) => {
|
|
3788
3539
|
const { titleId, activeView, space, hideHeading, target, SpaceManager: SpaceManagerComponent = SpaceManager, InvitationManager: InvitationManagerComponent = InvitationManager, ...rest } = props;
|
|
3789
|
-
return /* @__PURE__ */
|
|
3540
|
+
return /* @__PURE__ */ import_react53.default.createElement(import_react53.default.Fragment, null, !hideHeading && /* @__PURE__ */ import_react53.default.createElement(SpacePanelHeading, {
|
|
3790
3541
|
...rest,
|
|
3791
3542
|
titleId,
|
|
3792
3543
|
space
|
|
3793
|
-
}), /* @__PURE__ */
|
|
3544
|
+
}), /* @__PURE__ */ import_react53.default.createElement(Viewport.Root, {
|
|
3794
3545
|
activeView
|
|
3795
|
-
}, /* @__PURE__ */
|
|
3546
|
+
}, /* @__PURE__ */ import_react53.default.createElement(Viewport.Views, null, /* @__PURE__ */ import_react53.default.createElement(Viewport.View, {
|
|
3796
3547
|
id: "space manager",
|
|
3797
3548
|
classNames: stepStyles
|
|
3798
|
-
}, /* @__PURE__ */
|
|
3549
|
+
}, /* @__PURE__ */ import_react53.default.createElement(SpaceManagerComponent, {
|
|
3799
3550
|
active: activeView === "space manager",
|
|
3800
3551
|
space,
|
|
3801
3552
|
target,
|
|
3802
3553
|
...rest
|
|
3803
|
-
})), /* @__PURE__ */
|
|
3554
|
+
})), /* @__PURE__ */ import_react53.default.createElement(Viewport.View, {
|
|
3804
3555
|
id: "space invitation manager",
|
|
3805
3556
|
classNames: stepStyles
|
|
3806
|
-
}, /* @__PURE__ */
|
|
3557
|
+
}, /* @__PURE__ */ import_react53.default.createElement(InvitationManagerComponent, {
|
|
3807
3558
|
active: activeView === "space invitation manager",
|
|
3808
3559
|
...rest,
|
|
3809
3560
|
invitationUrl: props.invitationUrl
|
|
@@ -3811,20 +3562,20 @@ var SpacePanelImpl = (props) => {
|
|
|
3811
3562
|
};
|
|
3812
3563
|
var SpacePanelWithInvitationImpl = ({ invitation, ...props }) => {
|
|
3813
3564
|
const invitationStatus = (0, import_invitations9.useInvitationStatus)(invitation);
|
|
3814
|
-
return /* @__PURE__ */
|
|
3565
|
+
return /* @__PURE__ */ import_react53.default.createElement(SpacePanelImpl, {
|
|
3815
3566
|
...props,
|
|
3816
3567
|
...invitationStatus,
|
|
3817
3568
|
invitationUrl: props.createInvitationUrl(invitationStatus.invitationCode)
|
|
3818
3569
|
});
|
|
3819
3570
|
};
|
|
3820
3571
|
var SpacePanel = ({ titleId: propsTitleId, createInvitationUrl = (code) => code, ...props }) => {
|
|
3821
|
-
const titleId = (0,
|
|
3572
|
+
const titleId = (0, import_react_ui28.useId)("spacePanel__heading", propsTitleId);
|
|
3822
3573
|
const [spaceState, spaceSend, spaceService] = useSpaceMachine({
|
|
3823
3574
|
context: {
|
|
3824
3575
|
space: props.space
|
|
3825
3576
|
}
|
|
3826
3577
|
});
|
|
3827
|
-
(0,
|
|
3578
|
+
(0, import_react53.useEffect)(() => {
|
|
3828
3579
|
const subscription = spaceService.subscribe((state) => {
|
|
3829
3580
|
(0, import_log12.log)("[state]", state, {
|
|
3830
3581
|
F: __dxlog_file13,
|
|
@@ -3837,7 +3588,7 @@ var SpacePanel = ({ titleId: propsTitleId, createInvitationUrl = (code) => code,
|
|
|
3837
3588
|
}, [
|
|
3838
3589
|
spaceService
|
|
3839
3590
|
]);
|
|
3840
|
-
const activeView = (0,
|
|
3591
|
+
const activeView = (0, import_react53.useMemo)(() => {
|
|
3841
3592
|
switch (true) {
|
|
3842
3593
|
case spaceState.matches("managingSpace"):
|
|
3843
3594
|
return "space manager";
|
|
@@ -3858,101 +3609,101 @@ var SpacePanel = ({ titleId: propsTitleId, createInvitationUrl = (code) => code,
|
|
|
3858
3609
|
};
|
|
3859
3610
|
return spaceState.context.invitation ? (
|
|
3860
3611
|
// TODO(wittjosiah): Unused? Remove?
|
|
3861
|
-
/* @__PURE__ */
|
|
3612
|
+
/* @__PURE__ */ import_react53.default.createElement(SpacePanelWithInvitationImpl, {
|
|
3862
3613
|
...implProps,
|
|
3863
3614
|
invitation: spaceState.context.invitation
|
|
3864
3615
|
})
|
|
3865
|
-
) : /* @__PURE__ */
|
|
3616
|
+
) : /* @__PURE__ */ import_react53.default.createElement(SpacePanelImpl, implProps);
|
|
3866
3617
|
};
|
|
3867
3618
|
var StatusPanel = ({ titleId }) => {
|
|
3868
|
-
const { t } = (0,
|
|
3869
|
-
return /* @__PURE__ */
|
|
3619
|
+
const { t } = (0, import_react_ui30.useTranslation)("os");
|
|
3620
|
+
return /* @__PURE__ */ import_react57.default.createElement("div", {
|
|
3870
3621
|
className: "grid place-items-center p-2 gap-2"
|
|
3871
|
-
}, /* @__PURE__ */
|
|
3622
|
+
}, /* @__PURE__ */ import_react57.default.createElement("p", {
|
|
3872
3623
|
id: titleId,
|
|
3873
3624
|
className: "font-medium text-center"
|
|
3874
|
-
}, t("resetting message")), /* @__PURE__ */
|
|
3625
|
+
}, t("resetting message")), /* @__PURE__ */ import_react57.default.createElement(import_react_ui30.Status, {
|
|
3875
3626
|
indeterminate: true
|
|
3876
3627
|
}, t("resetting message")));
|
|
3877
3628
|
};
|
|
3878
3629
|
var IdentityDialog = (props) => {
|
|
3879
|
-
const titleId = (0,
|
|
3880
|
-
return /* @__PURE__ */
|
|
3630
|
+
const titleId = (0, import_react_ui14.useId)("identityDialog__title", props.title);
|
|
3631
|
+
return /* @__PURE__ */ import_react27.default.createElement(import_react_ui14.Dialog.Root, {
|
|
3881
3632
|
defaultOpen: true,
|
|
3882
3633
|
onOpenChange: (open) => open || props.onDone?.()
|
|
3883
|
-
}, /* @__PURE__ */
|
|
3634
|
+
}, /* @__PURE__ */ import_react27.default.createElement(import_react_ui14.Dialog.Portal, null, /* @__PURE__ */ import_react27.default.createElement(import_react_ui14.Dialog.Overlay, null, /* @__PURE__ */ import_react27.default.createElement(import_react_ui14.Dialog.Content, {
|
|
3884
3635
|
"aria-labelledby": titleId,
|
|
3885
3636
|
onOpenAutoFocus: (e) => e.preventDefault()
|
|
3886
|
-
}, /* @__PURE__ */
|
|
3637
|
+
}, /* @__PURE__ */ import_react27.default.createElement(import_react_ui14.Clipboard.Provider, null, /* @__PURE__ */ import_react27.default.createElement(IdentityPanel, {
|
|
3887
3638
|
...props,
|
|
3888
3639
|
titleId,
|
|
3889
|
-
doneActionParent: /* @__PURE__ */
|
|
3640
|
+
doneActionParent: /* @__PURE__ */ import_react27.default.createElement(import_react_ui14.Dialog.Close, {
|
|
3890
3641
|
asChild: true
|
|
3891
3642
|
})
|
|
3892
3643
|
}))))));
|
|
3893
3644
|
};
|
|
3894
3645
|
var JoinDialog = (joinPanelProps) => {
|
|
3895
|
-
const titleId = (0,
|
|
3896
|
-
const { height } = (0,
|
|
3897
|
-
return /* @__PURE__ */
|
|
3646
|
+
const titleId = (0, import_react_ui31.useId)("joinDialog__title");
|
|
3647
|
+
const { height } = (0, import_react_ui31.useVisualViewport)();
|
|
3648
|
+
return /* @__PURE__ */ import_react58.default.createElement(import_react_ui31.AlertDialog.Root, {
|
|
3898
3649
|
defaultOpen: true,
|
|
3899
3650
|
onOpenChange: (open) => open || (joinPanelProps.onExit ? joinPanelProps.onExit() : joinPanelProps.onDone?.(null))
|
|
3900
|
-
}, /* @__PURE__ */
|
|
3651
|
+
}, /* @__PURE__ */ import_react58.default.createElement(import_react_ui31.AlertDialog.Portal, null, /* @__PURE__ */ import_react58.default.createElement(import_react_ui31.AlertDialog.Overlay, {
|
|
3901
3652
|
classNames: "backdrop-blur",
|
|
3902
3653
|
...height && {
|
|
3903
3654
|
style: {
|
|
3904
3655
|
blockSize: `${height}px`
|
|
3905
3656
|
}
|
|
3906
3657
|
}
|
|
3907
|
-
}, /* @__PURE__ */
|
|
3658
|
+
}, /* @__PURE__ */ import_react58.default.createElement(import_react_ui31.AlertDialog.Content, {
|
|
3908
3659
|
"aria-labelledby": titleId
|
|
3909
|
-
}, /* @__PURE__ */
|
|
3660
|
+
}, /* @__PURE__ */ import_react58.default.createElement(JoinPanel, {
|
|
3910
3661
|
...joinPanelProps,
|
|
3911
3662
|
titleId,
|
|
3912
|
-
exitActionParent: /* @__PURE__ */
|
|
3663
|
+
exitActionParent: /* @__PURE__ */ import_react58.default.createElement(import_react_ui31.AlertDialog.Cancel, {
|
|
3913
3664
|
asChild: true
|
|
3914
3665
|
}),
|
|
3915
|
-
doneActionParent: /* @__PURE__ */
|
|
3666
|
+
doneActionParent: /* @__PURE__ */ import_react58.default.createElement(import_react_ui31.AlertDialog.Action, {
|
|
3916
3667
|
asChild: true
|
|
3917
3668
|
})
|
|
3918
3669
|
})))));
|
|
3919
3670
|
};
|
|
3920
3671
|
var SpaceDialog = (spacePanelProps) => {
|
|
3921
|
-
const titleId = (0,
|
|
3922
|
-
return /* @__PURE__ */
|
|
3672
|
+
const titleId = (0, import_react_ui33.useId)("spaceDialog__title");
|
|
3673
|
+
return /* @__PURE__ */ import_react61.default.createElement(import_react_ui33.Dialog.Root, {
|
|
3923
3674
|
defaultOpen: true,
|
|
3924
3675
|
onOpenChange: (open) => open || spacePanelProps.onDone?.()
|
|
3925
|
-
}, /* @__PURE__ */
|
|
3676
|
+
}, /* @__PURE__ */ import_react61.default.createElement(import_react_ui33.Dialog.Portal, null, /* @__PURE__ */ import_react61.default.createElement(import_react_ui33.Dialog.Overlay, null, /* @__PURE__ */ import_react61.default.createElement(import_react_ui33.Dialog.Content, {
|
|
3926
3677
|
"aria-labelledby": titleId
|
|
3927
|
-
}, /* @__PURE__ */
|
|
3678
|
+
}, /* @__PURE__ */ import_react61.default.createElement(import_react_ui33.Clipboard.Provider, null, /* @__PURE__ */ import_react61.default.createElement(SpacePanel, {
|
|
3928
3679
|
...spacePanelProps,
|
|
3929
3680
|
titleId,
|
|
3930
|
-
doneActionParent: /* @__PURE__ */
|
|
3681
|
+
doneActionParent: /* @__PURE__ */ import_react61.default.createElement(import_react_ui33.Dialog.Close, {
|
|
3931
3682
|
asChild: true
|
|
3932
3683
|
})
|
|
3933
3684
|
}))))));
|
|
3934
3685
|
};
|
|
3935
3686
|
var StatusDialog = () => {
|
|
3936
|
-
const titleId = (0,
|
|
3937
|
-
return /* @__PURE__ */
|
|
3687
|
+
const titleId = (0, import_react_ui34.useId)("statusDialog__title");
|
|
3688
|
+
return /* @__PURE__ */ import_react62.default.createElement(import_react_ui34.AlertDialog.Root, {
|
|
3938
3689
|
open: true
|
|
3939
|
-
}, /* @__PURE__ */
|
|
3690
|
+
}, /* @__PURE__ */ import_react62.default.createElement(import_react_ui34.AlertDialog.Portal, null, /* @__PURE__ */ import_react62.default.createElement(import_react_ui34.AlertDialog.Overlay, null, /* @__PURE__ */ import_react62.default.createElement(import_react_ui34.AlertDialog.Content, {
|
|
3940
3691
|
"aria-labelledby": titleId
|
|
3941
|
-
}, /* @__PURE__ */
|
|
3692
|
+
}, /* @__PURE__ */ import_react62.default.createElement(StatusPanel, {
|
|
3942
3693
|
titleId
|
|
3943
3694
|
})))));
|
|
3944
3695
|
};
|
|
3945
3696
|
var __dxlog_file14 = "/home/runner/work/dxos/dxos/packages/sdk/shell/src/composites/Shell/Shell.tsx";
|
|
3946
3697
|
var blurActiveElement = () => document.activeElement?.blur?.();
|
|
3947
3698
|
var Shell = ({ runtime }) => {
|
|
3948
|
-
const [{ layout, invitationCode, spaceKey, spaceId, target }, setLayout] = (0,
|
|
3699
|
+
const [{ layout, invitationCode, spaceKey, spaceId, target }, setLayout] = (0, import_react60.useState)({
|
|
3949
3700
|
layout: runtime.layout,
|
|
3950
3701
|
invitationCode: runtime.invitationCode,
|
|
3951
3702
|
spaceKey: runtime.spaceKey,
|
|
3952
3703
|
spaceId: runtime.spaceId,
|
|
3953
3704
|
target: runtime.target
|
|
3954
3705
|
});
|
|
3955
|
-
const [{ invitationUrl, deviceInvitationParam, spaceInvitationParam }, setInvitationUrl] = (0,
|
|
3706
|
+
const [{ invitationUrl, deviceInvitationParam, spaceInvitationParam }, setInvitationUrl] = (0, import_react60.useState)({
|
|
3956
3707
|
invitationUrl: runtime.invitationUrl,
|
|
3957
3708
|
deviceInvitationParam: runtime.deviceInvitationParam,
|
|
3958
3709
|
spaceInvitationParam: runtime.spaceInvitationParam
|
|
@@ -3969,7 +3720,7 @@ var Shell = ({ runtime }) => {
|
|
|
3969
3720
|
baseUrl.searchParams.set(spaceInvitationParam, invitationCode2);
|
|
3970
3721
|
return baseUrl.toString();
|
|
3971
3722
|
};
|
|
3972
|
-
(0,
|
|
3723
|
+
(0, import_react60.useEffect)(() => {
|
|
3973
3724
|
const unsubscribeLayout = runtime.layoutUpdate.on((request) => setLayout(request));
|
|
3974
3725
|
const unsubscribeInvitationUrl = runtime.invitationUrlUpdate.on((request) => setInvitationUrl(request));
|
|
3975
3726
|
return () => {
|
|
@@ -3979,7 +3730,7 @@ var Shell = ({ runtime }) => {
|
|
|
3979
3730
|
}, [
|
|
3980
3731
|
runtime
|
|
3981
3732
|
]);
|
|
3982
|
-
(0,
|
|
3733
|
+
(0, import_react60.useEffect)(() => {
|
|
3983
3734
|
if (layout === import_react_client13.ShellLayout.SPACE && !space) {
|
|
3984
3735
|
import_log15.log.warn("No space found for shell space invitations.", void 0, {
|
|
3985
3736
|
F: __dxlog_file14,
|
|
@@ -4004,11 +3755,11 @@ var Shell = ({ runtime }) => {
|
|
|
4004
3755
|
]);
|
|
4005
3756
|
switch (layout) {
|
|
4006
3757
|
case import_react_client13.ShellLayout.STATUS:
|
|
4007
|
-
return /* @__PURE__ */
|
|
3758
|
+
return /* @__PURE__ */ import_react60.default.createElement(StatusDialog, null);
|
|
4008
3759
|
case import_react_client13.ShellLayout.INITIALIZE_IDENTITY:
|
|
4009
3760
|
case import_react_client13.ShellLayout.INITIALIZE_IDENTITY_FROM_INVITATION:
|
|
4010
3761
|
case import_react_client13.ShellLayout.INITIALIZE_IDENTITY_FROM_RECOVERY:
|
|
4011
|
-
return /* @__PURE__ */
|
|
3762
|
+
return /* @__PURE__ */ import_react60.default.createElement(JoinDialog, {
|
|
4012
3763
|
mode: "halo-only",
|
|
4013
3764
|
initialDisposition: layout === import_react_client13.ShellLayout.INITIALIZE_IDENTITY_FROM_RECOVERY ? "recover-identity" : layout === import_react_client13.ShellLayout.INITIALIZE_IDENTITY_FROM_INVITATION ? "accept-halo-invitation" : "default",
|
|
4014
3765
|
initialInvitationCode: invitationCode,
|
|
@@ -4028,7 +3779,7 @@ var Shell = ({ runtime }) => {
|
|
|
4028
3779
|
case import_react_client13.ShellLayout.IDENTITY:
|
|
4029
3780
|
case import_react_client13.ShellLayout.SHARE_IDENTITY:
|
|
4030
3781
|
case import_react_client13.ShellLayout.EDIT_PROFILE:
|
|
4031
|
-
return /* @__PURE__ */
|
|
3782
|
+
return /* @__PURE__ */ import_react60.default.createElement(IdentityDialog, {
|
|
4032
3783
|
createInvitationUrl: createDeviceInvitationUrl,
|
|
4033
3784
|
onResetStorage: async () => {
|
|
4034
3785
|
runtime.setLayout({
|
|
@@ -4074,7 +3825,7 @@ var Shell = ({ runtime }) => {
|
|
|
4074
3825
|
initialDisposition: layout === import_react_client13.ShellLayout.SHARE_IDENTITY ? "manage-device-invitation" : "default"
|
|
4075
3826
|
});
|
|
4076
3827
|
case import_react_client13.ShellLayout.SPACE:
|
|
4077
|
-
return space ? /* @__PURE__ */
|
|
3828
|
+
return space ? /* @__PURE__ */ import_react60.default.createElement(SpaceDialog, {
|
|
4078
3829
|
space,
|
|
4079
3830
|
target,
|
|
4080
3831
|
createInvitationUrl: createSpaceInvitationUrl,
|
|
@@ -4089,7 +3840,7 @@ var Shell = ({ runtime }) => {
|
|
|
4089
3840
|
}
|
|
4090
3841
|
}) : null;
|
|
4091
3842
|
case import_react_client13.ShellLayout.JOIN_SPACE:
|
|
4092
|
-
return /* @__PURE__ */
|
|
3843
|
+
return /* @__PURE__ */ import_react60.default.createElement(JoinDialog, {
|
|
4093
3844
|
initialInvitationCode: invitationCode,
|
|
4094
3845
|
onDone: async (result) => {
|
|
4095
3846
|
blurActiveElement();
|
|
@@ -4121,8 +3872,8 @@ var __dxlog_file15 = "/home/runner/work/dxos/dxos/packages/sdk/shell/src/composi
|
|
|
4121
3872
|
var ShellRuntimeImpl = class {
|
|
4122
3873
|
constructor(_port) {
|
|
4123
3874
|
this._port = _port;
|
|
4124
|
-
this.layoutUpdate = new
|
|
4125
|
-
this.invitationUrlUpdate = new
|
|
3875
|
+
this.layoutUpdate = new import_async2.Event();
|
|
3876
|
+
this.invitationUrlUpdate = new import_async2.Event();
|
|
4126
3877
|
this._layout = import_iframe.ShellLayout.DEFAULT;
|
|
4127
3878
|
this._invitationUrl = typeof window !== "undefined" ? window.location.origin : void 0;
|
|
4128
3879
|
this._deviceInvitationParam = "deviceInvitationCode";
|
|
@@ -4224,8 +3975,9 @@ var os = {
|
|
|
4224
3975
|
"sidebar label": "DXOS sidebar",
|
|
4225
3976
|
"copy invitation code label": "Copy URL",
|
|
4226
3977
|
"copy success label": "Copied",
|
|
4227
|
-
"copy self
|
|
3978
|
+
"copy self did label": "Copy DID",
|
|
4228
3979
|
"open share panel label": "View QR code",
|
|
3980
|
+
"manage credentials label": "Manage credentials",
|
|
4229
3981
|
"joining space heading": "Joining space",
|
|
4230
3982
|
"join space heading": "Enter space invitation",
|
|
4231
3983
|
"halo heading": "Initialize device identity",
|
|
@@ -4332,6 +4084,7 @@ var os = {
|
|
|
4332
4084
|
"select emoji label": "Avatar emoji",
|
|
4333
4085
|
"select hue label": "Avatar background color",
|
|
4334
4086
|
"resetting message": "One moment while the device is reset\u2026",
|
|
4087
|
+
// TODO(burdon): Factor out.
|
|
4335
4088
|
"red label": "Red",
|
|
4336
4089
|
"orange label": "Orange",
|
|
4337
4090
|
"amber label": "Amber",
|
|
@@ -4349,11 +4102,14 @@ var os = {
|
|
|
4349
4102
|
"fuchsia label": "Fuchsia",
|
|
4350
4103
|
"pink label": "Pink",
|
|
4351
4104
|
"rose label": "Rose",
|
|
4105
|
+
"select a hue label": "Select color",
|
|
4106
|
+
"hue label": "Hue",
|
|
4107
|
+
"icon label": "Icon",
|
|
4352
4108
|
"current device tag label": "This device",
|
|
4353
4109
|
"device name placeholder": "{{platform}} on {{os}}",
|
|
4354
4110
|
"more options label": "More options",
|
|
4355
|
-
"disconnect label": "Go offline
|
|
4356
|
-
"connect label": "Go online
|
|
4111
|
+
"disconnect label": "Go offline",
|
|
4112
|
+
"connect label": "Go online",
|
|
4357
4113
|
"edit device label": "Edit device name & avatar",
|
|
4358
4114
|
"agent heading": "Agent",
|
|
4359
4115
|
"create agent clickwrap": 'By creating an agent, you agree to our <tosLink href="https://dxos.org/tos">Terms of\xA0Service</tosLink>.',
|
|
@@ -4383,25 +4139,25 @@ var runShell = async (config = new import_react_client11.Config()) => {
|
|
|
4383
4139
|
const services = new import_react_client11.ClientServicesProxy((0, import_rpc_tunnel.createIFramePort)({
|
|
4384
4140
|
channel: import_client_protocol.DEFAULT_CLIENT_CHANNEL
|
|
4385
4141
|
}));
|
|
4386
|
-
(0, import_client.createRoot)(document.getElementById("root")).render(/* @__PURE__ */
|
|
4387
|
-
tx:
|
|
4142
|
+
(0, import_client.createRoot)(document.getElementById("root")).render(/* @__PURE__ */ import_react59.default.createElement(import_react59.StrictMode, null, /* @__PURE__ */ import_react59.default.createElement(import_react_ui32.ThemeProvider, {
|
|
4143
|
+
tx: import_react_ui_theme28.defaultTx,
|
|
4388
4144
|
resourceExtensions: [
|
|
4389
4145
|
osTranslations
|
|
4390
4146
|
]
|
|
4391
|
-
}, /* @__PURE__ */
|
|
4147
|
+
}, /* @__PURE__ */ import_react59.default.createElement(import_react_client11.ClientProvider, {
|
|
4392
4148
|
config,
|
|
4393
4149
|
services,
|
|
4394
4150
|
noBanner: true
|
|
4395
|
-
}, /* @__PURE__ */
|
|
4151
|
+
}, /* @__PURE__ */ import_react59.default.createElement(import_react_ui32.Clipboard.Provider, null, /* @__PURE__ */ import_react59.default.createElement(import_react_ui32.Tooltip.Provider, null, /* @__PURE__ */ import_react59.default.createElement(import_react_client11.AgentHostingProvider, null, /* @__PURE__ */ import_react59.default.createElement(Shell, {
|
|
4396
4152
|
runtime
|
|
4397
4153
|
}))))))));
|
|
4398
4154
|
} catch {
|
|
4399
|
-
(0, import_client.createRoot)(document.getElementById("root")).render(/* @__PURE__ */
|
|
4400
|
-
tx:
|
|
4155
|
+
(0, import_client.createRoot)(document.getElementById("root")).render(/* @__PURE__ */ import_react59.default.createElement(import_react59.StrictMode, null, /* @__PURE__ */ import_react59.default.createElement(import_react_ui32.ThemeProvider, {
|
|
4156
|
+
tx: import_react_ui_theme28.defaultTx,
|
|
4401
4157
|
resourceExtensions: [
|
|
4402
4158
|
osTranslations
|
|
4403
4159
|
]
|
|
4404
|
-
}, /* @__PURE__ */
|
|
4160
|
+
}, /* @__PURE__ */ import_react59.default.createElement(Fallback, {
|
|
4405
4161
|
onClose: () => runtime.setAppContext({
|
|
4406
4162
|
display: import_react_client11.ShellDisplay.NONE
|
|
4407
4163
|
})
|
|
@@ -4409,23 +4165,23 @@ var runShell = async (config = new import_react_client11.Config()) => {
|
|
|
4409
4165
|
}
|
|
4410
4166
|
};
|
|
4411
4167
|
var Fallback = ({ onClose }) => {
|
|
4412
|
-
const { t } = (0,
|
|
4413
|
-
return /* @__PURE__ */
|
|
4168
|
+
const { t } = (0, import_react_ui32.useTranslation)("os");
|
|
4169
|
+
return /* @__PURE__ */ import_react59.default.createElement(import_react_ui32.Dialog.Root, {
|
|
4414
4170
|
modal: true,
|
|
4415
4171
|
open: true,
|
|
4416
4172
|
onOpenChange: () => onClose?.()
|
|
4417
|
-
}, /* @__PURE__ */
|
|
4173
|
+
}, /* @__PURE__ */ import_react59.default.createElement(import_react_ui32.Dialog.Overlay, null, /* @__PURE__ */ import_react59.default.createElement(import_react_ui32.Dialog.Content, null, /* @__PURE__ */ import_react59.default.createElement(import_react_ui32.Dialog.Title, null, t("shell fallback title")), /* @__PURE__ */ import_react59.default.createElement(import_react_ui32.Dialog.Close, {
|
|
4418
4174
|
asChild: true,
|
|
4419
4175
|
onClick: () => onClose?.()
|
|
4420
|
-
}, /* @__PURE__ */
|
|
4176
|
+
}, /* @__PURE__ */ import_react59.default.createElement(import_react_ui32.Button, {
|
|
4421
4177
|
variant: "primary"
|
|
4422
4178
|
}, t("close label"))))));
|
|
4423
4179
|
};
|
|
4424
4180
|
var MemoryShellRuntime = class {
|
|
4425
4181
|
constructor({ layout, invitationCode, spaceKey, invitationUrl, deviceInvitationParam, spaceInvitationParam } = {}) {
|
|
4426
|
-
this.layoutUpdate = new
|
|
4427
|
-
this.invitationUrlUpdate = new
|
|
4428
|
-
this.contextUpdate = new
|
|
4182
|
+
this.layoutUpdate = new import_async3.Event();
|
|
4183
|
+
this.invitationUrlUpdate = new import_async3.Event();
|
|
4184
|
+
this.contextUpdate = new import_async3.Event();
|
|
4429
4185
|
this._layout = layout ?? import_react_client15.ShellLayout.DEFAULT;
|
|
4430
4186
|
this._invitationCode = invitationCode;
|
|
4431
4187
|
this._spaceKey = spaceKey;
|
|
@@ -4467,10 +4223,10 @@ var MemoryShellRuntime = class {
|
|
|
4467
4223
|
this.contextUpdate.emit(context);
|
|
4468
4224
|
}
|
|
4469
4225
|
};
|
|
4470
|
-
var ShellContext = /* @__PURE__ */ (0,
|
|
4226
|
+
var ShellContext = /* @__PURE__ */ (0, import_react63.createContext)({});
|
|
4471
4227
|
var useShell = () => {
|
|
4472
4228
|
const client = (0, import_react_client14.useClient)();
|
|
4473
|
-
const { runtime, setDisplay } = (0,
|
|
4229
|
+
const { runtime, setDisplay } = (0, import_react63.useContext)(ShellContext);
|
|
4474
4230
|
const setLayout = async (layout, options) => {
|
|
4475
4231
|
if (runtime) {
|
|
4476
4232
|
if (layout === import_react_client14.ShellLayout.DEFAULT) {
|
|
@@ -4492,8 +4248,8 @@ var useShell = () => {
|
|
|
4492
4248
|
var ShellProvider = ({ space, deviceInvitationCode, spaceInvitationCode, onJoinedSpace, children }) => {
|
|
4493
4249
|
const client = (0, import_react_client14.useClient)();
|
|
4494
4250
|
const identity = (0, import_halo5.useIdentity)();
|
|
4495
|
-
const [display, setDisplay] = (0,
|
|
4496
|
-
const shellRuntime = (0,
|
|
4251
|
+
const [display, setDisplay] = (0, import_react63.useState)(!identity || spaceInvitationCode || deviceInvitationCode ? import_react_client14.ShellDisplay.FULLSCREEN : import_react_client14.ShellDisplay.NONE);
|
|
4252
|
+
const shellRuntime = (0, import_react63.useMemo)(() => {
|
|
4497
4253
|
if (client.config.get("runtime.app.env.DX_VAULT") !== "false") {
|
|
4498
4254
|
return;
|
|
4499
4255
|
}
|
|
@@ -4518,7 +4274,7 @@ var ShellProvider = ({ space, deviceInvitationCode, spaceInvitationCode, onJoine
|
|
|
4518
4274
|
spaceInvitationCode,
|
|
4519
4275
|
deviceInvitationCode
|
|
4520
4276
|
]);
|
|
4521
|
-
const handleKeyDown = (0,
|
|
4277
|
+
const handleKeyDown = (0, import_react63.useCallback)((event) => {
|
|
4522
4278
|
if (!space || !shellRuntime) {
|
|
4523
4279
|
return;
|
|
4524
4280
|
}
|
|
@@ -4539,7 +4295,7 @@ var ShellProvider = ({ space, deviceInvitationCode, spaceInvitationCode, onJoine
|
|
|
4539
4295
|
space,
|
|
4540
4296
|
shellRuntime
|
|
4541
4297
|
]);
|
|
4542
|
-
(0,
|
|
4298
|
+
(0, import_react63.useEffect)(() => {
|
|
4543
4299
|
if (!shellRuntime) {
|
|
4544
4300
|
return;
|
|
4545
4301
|
}
|
|
@@ -4549,7 +4305,7 @@ var ShellProvider = ({ space, deviceInvitationCode, spaceInvitationCode, onJoine
|
|
|
4549
4305
|
shellRuntime,
|
|
4550
4306
|
handleKeyDown
|
|
4551
4307
|
]);
|
|
4552
|
-
(0,
|
|
4308
|
+
(0, import_react63.useEffect)(() => {
|
|
4553
4309
|
if (!shellRuntime) {
|
|
4554
4310
|
return;
|
|
4555
4311
|
}
|
|
@@ -4562,11 +4318,11 @@ var ShellProvider = ({ space, deviceInvitationCode, spaceInvitationCode, onJoine
|
|
|
4562
4318
|
}, [
|
|
4563
4319
|
shellRuntime
|
|
4564
4320
|
]);
|
|
4565
|
-
return /* @__PURE__ */
|
|
4566
|
-
className: (0,
|
|
4567
|
-
}, /* @__PURE__ */
|
|
4321
|
+
return /* @__PURE__ */ import_react63.default.createElement(import_react63.default.Fragment, null, shellRuntime && /* @__PURE__ */ import_react63.default.createElement("div", {
|
|
4322
|
+
className: (0, import_react_ui_theme29.mx)(display === import_react_client14.ShellDisplay.NONE ? "hidden" : "")
|
|
4323
|
+
}, /* @__PURE__ */ import_react63.default.createElement(Shell, {
|
|
4568
4324
|
runtime: shellRuntime
|
|
4569
|
-
})), /* @__PURE__ */
|
|
4325
|
+
})), /* @__PURE__ */ import_react63.default.createElement(ShellContext.Provider, {
|
|
4570
4326
|
value: {
|
|
4571
4327
|
runtime: shellRuntime,
|
|
4572
4328
|
setDisplay
|
|
@@ -4587,11 +4343,7 @@ var ShellProvider = ({ space, deviceInvitationCode, spaceInvitationCode, onJoine
|
|
|
4587
4343
|
ConfirmResetImpl,
|
|
4588
4344
|
DeviceList,
|
|
4589
4345
|
Emoji,
|
|
4590
|
-
EmojiPickerBlock,
|
|
4591
|
-
EmojiPickerToolbarButton,
|
|
4592
4346
|
Heading,
|
|
4593
|
-
HuePickerBlock,
|
|
4594
|
-
HuePickerToolbarButton,
|
|
4595
4347
|
IdentityDialog,
|
|
4596
4348
|
IdentityListItem,
|
|
4597
4349
|
IdentityPanel,
|