@dxos/shell 0.4.10-main.b9b4602 → 0.4.10-main.c2d5db5
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 +81827 -10
- package/dist/bundle/shell.mjs.map +1 -1
- package/dist/bundle/shell.umd.js +89 -152
- package/dist/bundle/shell.umd.js.map +1 -1
- package/dist/bundle/style.css +1 -1
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/react.mjs +792 -831
- package/dist/lib/browser/react.mjs.map +4 -4
- package/dist/lib/browser/testing/index.mjs +2 -4
- package/dist/lib/browser/testing/index.mjs.map +2 -2
- package/dist/types/src/components/EmojiPicker.d.ts +2 -9
- package/dist/types/src/components/EmojiPicker.d.ts.map +1 -1
- package/dist/types/src/components/EmojiPicker.js +3 -57
- package/dist/types/src/components/EmojiPicker.js.map +1 -1
- package/dist/types/src/components/HuePicker.d.ts +2 -9
- package/dist/types/src/components/HuePicker.d.ts.map +1 -1
- package/dist/types/src/components/HuePicker.js +6 -75
- package/dist/types/src/components/HuePicker.js.map +1 -1
- package/dist/types/src/components/IdentityList/DeviceList.d.ts +7 -0
- package/dist/types/src/components/IdentityList/DeviceList.d.ts.map +1 -0
- package/dist/types/src/components/IdentityList/DeviceList.js +34 -0
- package/dist/types/src/components/IdentityList/DeviceList.js.map +1 -0
- package/dist/types/src/components/IdentityList/index.d.ts +1 -0
- package/dist/types/src/components/IdentityList/index.d.ts.map +1 -1
- package/dist/types/src/components/IdentityList/index.js +1 -0
- package/dist/types/src/components/IdentityList/index.js.map +1 -1
- package/dist/types/src/components/Panel/Action.d.ts +2 -2
- package/dist/types/src/components/Viewport/Viewport.d.ts +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 +0 -2
- package/dist/types/src/components/index.js.map +1 -1
- package/dist/types/src/composites/Shell/Shell.d.ts.map +1 -1
- package/dist/types/src/composites/Shell/Shell.js +5 -1
- package/dist/types/src/composites/Shell/Shell.js.map +1 -1
- package/dist/types/src/panels/IdentityPanel/IdentityPanel.d.ts.map +1 -1
- package/dist/types/src/panels/IdentityPanel/IdentityPanel.js +40 -80
- package/dist/types/src/panels/IdentityPanel/IdentityPanel.js.map +1 -1
- package/dist/types/src/panels/IdentityPanel/IdentityPanel.stories.d.ts +3 -0
- package/dist/types/src/panels/IdentityPanel/IdentityPanel.stories.d.ts.map +1 -1
- package/dist/types/src/panels/IdentityPanel/IdentityPanel.stories.js +43 -1
- package/dist/types/src/panels/IdentityPanel/IdentityPanel.stories.js.map +1 -1
- package/dist/types/src/panels/IdentityPanel/IdentityPanelProps.d.ts +11 -8
- package/dist/types/src/panels/IdentityPanel/IdentityPanelProps.d.ts.map +1 -1
- package/dist/types/src/panels/IdentityPanel/identityMachine.d.ts +1 -1
- package/dist/types/src/panels/IdentityPanel/identityMachine.d.ts.map +1 -1
- package/dist/types/src/panels/IdentityPanel/identityMachine.js +24 -0
- package/dist/types/src/panels/IdentityPanel/identityMachine.js.map +1 -1
- package/dist/types/src/panels/IdentityPanel/steps/AgentForm.d.ts +3 -0
- package/dist/types/src/panels/IdentityPanel/steps/AgentForm.d.ts.map +1 -0
- package/dist/types/src/panels/IdentityPanel/steps/AgentForm.js +26 -0
- package/dist/types/src/panels/IdentityPanel/steps/AgentForm.js.map +1 -0
- package/dist/types/src/panels/IdentityPanel/steps/DeviceManager.d.ts +10 -0
- package/dist/types/src/panels/IdentityPanel/steps/DeviceManager.d.ts.map +1 -0
- package/dist/types/src/panels/IdentityPanel/steps/DeviceManager.js +23 -0
- package/dist/types/src/panels/IdentityPanel/steps/DeviceManager.js.map +1 -0
- package/dist/types/src/panels/IdentityPanel/steps/IdentityActionChooser.d.ts +4 -4
- package/dist/types/src/panels/IdentityPanel/steps/IdentityActionChooser.d.ts.map +1 -1
- package/dist/types/src/panels/IdentityPanel/steps/IdentityActionChooser.js +43 -9
- package/dist/types/src/panels/IdentityPanel/steps/IdentityActionChooser.js.map +1 -1
- package/dist/types/src/panels/IdentityPanel/steps/ProfileForm.d.ts +1 -1
- package/dist/types/src/panels/IdentityPanel/steps/ProfileForm.d.ts.map +1 -1
- package/dist/types/src/panels/IdentityPanel/steps/ProfileForm.js +2 -2
- package/dist/types/src/panels/IdentityPanel/steps/ProfileForm.js.map +1 -1
- package/dist/types/src/panels/IdentityPanel/steps/index.d.ts +2 -0
- package/dist/types/src/panels/IdentityPanel/steps/index.d.ts.map +1 -1
- package/dist/types/src/panels/IdentityPanel/steps/index.js +2 -0
- package/dist/types/src/panels/IdentityPanel/steps/index.js.map +1 -1
- package/dist/types/src/testing/shell-manager.d.ts.map +1 -1
- package/dist/types/src/testing/shell-manager.js +2 -4
- package/dist/types/src/testing/shell-manager.js.map +1 -1
- package/dist/types/src/translations/locales/en-US.d.ts +2 -12
- package/dist/types/src/translations/locales/en-US.d.ts.map +1 -1
- package/dist/types/src/translations/locales/en-US.js +2 -12
- package/dist/types/src/translations/locales/en-US.js.map +1 -1
- package/package.json +19 -19
- package/src/components/EmojiPicker.tsx +4 -101
- package/src/components/HuePicker.tsx +5 -99
- package/src/components/IdentityList/DeviceList.tsx +49 -0
- package/src/components/IdentityList/index.ts +1 -0
- package/src/components/index.ts +0 -2
- package/src/composites/Shell/Shell.tsx +7 -1
- package/src/panels/IdentityPanel/IdentityPanel.stories.tsx +63 -0
- package/src/panels/IdentityPanel/IdentityPanel.tsx +34 -123
- package/src/panels/IdentityPanel/IdentityPanelProps.ts +14 -10
- package/src/panels/IdentityPanel/identityMachine.ts +31 -1
- package/src/panels/IdentityPanel/steps/AgentForm.tsx +61 -0
- package/src/panels/IdentityPanel/steps/DeviceManager.tsx +41 -0
- package/src/panels/IdentityPanel/steps/IdentityActionChooser.tsx +76 -23
- package/src/panels/IdentityPanel/steps/ProfileForm.tsx +4 -12
- package/src/panels/IdentityPanel/steps/index.ts +2 -0
- package/src/testing/shell-manager.ts +2 -4
- package/src/translations/locales/en-US.ts +2 -13
- package/dist/bundle/index-D-K0uxrm.mjs +0 -94
- package/dist/bundle/index-D-K0uxrm.mjs.map +0 -1
- package/dist/bundle/index-DRtLjStG.mjs +0 -96550
- package/dist/bundle/index-DRtLjStG.mjs.map +0 -1
- package/dist/types/src/components/AgentConfig.d.ts +0 -3
- package/dist/types/src/components/AgentConfig.d.ts.map +0 -1
- package/dist/types/src/components/AgentConfig.js +0 -37
- package/dist/types/src/components/AgentConfig.js.map +0 -1
- package/dist/types/src/components/DeviceList/DeviceList.d.ts +0 -3
- package/dist/types/src/components/DeviceList/DeviceList.d.ts.map +0 -1
- package/dist/types/src/components/DeviceList/DeviceList.js +0 -29
- package/dist/types/src/components/DeviceList/DeviceList.js.map +0 -1
- package/dist/types/src/components/DeviceList/DeviceListItem.d.ts +0 -6
- package/dist/types/src/components/DeviceList/DeviceListItem.d.ts.map +0 -1
- package/dist/types/src/components/DeviceList/DeviceListItem.js +0 -72
- package/dist/types/src/components/DeviceList/DeviceListItem.js.map +0 -1
- package/dist/types/src/components/DeviceList/DeviceListProps.d.ts +0 -27
- package/dist/types/src/components/DeviceList/DeviceListProps.d.ts.map +0 -1
- package/dist/types/src/components/DeviceList/DeviceListProps.js +0 -6
- package/dist/types/src/components/DeviceList/DeviceListProps.js.map +0 -1
- package/dist/types/src/components/DeviceList/index.d.ts +0 -3
- package/dist/types/src/components/DeviceList/index.d.ts.map +0 -1
- package/dist/types/src/components/DeviceList/index.js +0 -22
- package/dist/types/src/components/DeviceList/index.js.map +0 -1
- package/src/components/AgentConfig.tsx +0 -66
- package/src/components/DeviceList/DeviceList.tsx +0 -54
- package/src/components/DeviceList/DeviceListItem.tsx +0 -120
- package/src/components/DeviceList/DeviceListProps.ts +0 -33
- package/src/components/DeviceList/index.ts +0 -6
|
@@ -139,14 +139,12 @@ var ShellManager = class extends ScopedShellManager {
|
|
|
139
139
|
}
|
|
140
140
|
};
|
|
141
141
|
this.page.on("dialog", handleDialog);
|
|
142
|
-
await this.shell.getByTestId("
|
|
143
|
-
await this.shell.getByTestId("device-list-item-current.reset").click();
|
|
142
|
+
await this.shell.getByTestId("devices-panel.sign-out").click();
|
|
144
143
|
await this.shell.getByTestId("reset-storage.reset-identity-input").fill("CONFIRM");
|
|
145
144
|
await this.shell.getByTestId("reset-storage.reset-identity-confirm").click();
|
|
146
145
|
}
|
|
147
146
|
async joinNewIdentity(invitationCode) {
|
|
148
|
-
await this.shell.getByTestId("
|
|
149
|
-
await this.shell.getByTestId("device-list-item-current.join-existing").click();
|
|
147
|
+
await this.shell.getByTestId("devices-panel.join-new-identity").click();
|
|
150
148
|
await this.shell.getByTestId("join-new-identity.reset-identity-input").fill("CONFIRM");
|
|
151
149
|
await this.shell.getByTestId("join-new-identity.reset-identity-input-confirm").click();
|
|
152
150
|
await this.inputInvitation("device", invitationCode, this.shell);
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/testing/fixtures/identities.ts", "../../../../src/testing/fixtures/invitations.ts", "../../../../src/testing/scoped-shell-manager.ts", "../../../../src/testing/shell-manager.ts"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { PublicKey } from '@dxos/react-client';\nimport { SpaceMember } from '@dxos/react-client/echo';\n\nexport const alice: SpaceMember = {\n identity: {\n identityKey: PublicKey.random(),\n profile: {\n displayName: 'Alice',\n },\n },\n presence: SpaceMember.PresenceState.ONLINE,\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { PublicKey } from '@dxos/react-client';\nimport { Invitation, CancellableInvitationObservable } from '@dxos/react-client/invitations';\n\nexport const inviteWithState = (state: Invitation.State) =>\n new CancellableInvitationObservable({\n initialInvitation: {\n state,\n invitationId: Math.random().toString(16).slice(2),\n kind: Invitation.Kind.SPACE,\n authMethod: Invitation.AuthMethod.NONE,\n swarmKey: PublicKey.random(),\n type: Invitation.Type.INTERACTIVE,\n authCode: [Invitation.State.READY_FOR_AUTHENTICATION, Invitation.State.AUTHENTICATING].includes(state)\n ? '123456'\n : '',\n },\n subscriber: () => {},\n onCancel: async () => {},\n });\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport type { Locator, Page, FrameLocator } from '@playwright/test';\n\ntype Scope = Locator | FrameLocator | Page;\n\nexport class ScopedShellManager {\n page!: Page;\n\n authenticatorIsVisible(type: 'device' | 'space', scope?: Scope) {\n return (scope || this.page).getByTestId(`${type === 'device' ? 'halo' : 'space'}-auth-code-input`).isVisible();\n }\n\n async invitationFailed(scope?: Scope, timeout = 3000) {\n const peer = scope || this.page;\n try {\n await peer.locator('[data-testid=invitation-rescuer-reset]:not([disabled])').waitFor({ timeout });\n return true;\n } catch {\n return false;\n }\n }\n\n async inputInvitation(type: 'device' | 'space', invitation: string, scope?: Scope) {\n await (scope || this.page).getByTestId(`${type === 'device' ? 'halo' : 'space'}-invitation-input`).fill(invitation);\n await this.page.keyboard.press('Enter');\n }\n\n async invitationInputContinue(type: 'device' | 'space', scope?: Scope) {\n await (scope || this.page).getByTestId(`${type === 'device' ? 'halo' : 'space'}-invitation-input-continue`).click();\n }\n\n async cancelInvitation(type: 'device' | 'space', kind: 'host' | 'guest', scope?: Scope) {\n if (kind === 'guest') {\n await (scope || this.page)\n .getByTestId(`${type === 'device' ? 'halo' : 'space'}-invitation-authenticator-cancel`)\n .click();\n } else {\n await (scope || this.page).getByTestId('cancel-invitation').nth(0).click();\n }\n }\n\n async readyToAuthenticate(type: 'device' | 'space', scope?: Scope, timeout = 3000) {\n const peer = scope || this.page;\n try {\n await peer\n .locator(`[data-testid=${type === 'device' ? 'halo' : 'space'}-auth-code-input]:not([disabled])`)\n .waitFor({ timeout });\n return true;\n } catch {\n return false;\n }\n }\n\n async authenticateInvitation(type: 'device' | 'space', authCode: string, scope?: Scope) {\n const peer = scope || this.page;\n // TODO(wittjosiah): Update ids.\n await peer.getByTestId(`${type === 'device' ? 'halo' : 'space'}-auth-code-input`).fill(authCode);\n await peer.getByTestId(`${type === 'device' ? 'halo' : 'space'}-invitation-authenticator-next`).click();\n }\n\n async clearAuthCode(type: 'device' | 'space', scope?: Scope) {\n const peer = scope || this.page;\n await peer.getByTestId(`${type === 'device' ? 'halo' : 'space'}-auth-code-input`).fill('');\n await peer.getByTestId(`${type === 'device' ? 'halo' : 'space'}-auth-code-input`).focus();\n }\n\n async resetInvitation(scope?: Scope) {\n await (scope || this.page).getByTestId('invitation-rescuer-reset').click();\n }\n\n async doneInvitation(type: 'device' | 'space', scope?: Scope) {\n await (scope || this.page)\n .getByTestId(type === 'device' ? 'halo-invitation-accepted-done' : 'space-invitation-accepted-done')\n .click();\n }\n}\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport type { ConsoleMessage, Dialog, Page } from '@playwright/test';\n\nimport { sleep, Trigger } from '@dxos/async';\n\nimport { ScopedShellManager } from './scoped-shell-manager';\n\n// TODO(wittjosiah): Normalize data-testids between snake and camel case.\n\nexport class ShellManager extends ScopedShellManager {\n private _invitationCode = new Trigger<string>();\n private _authCode = new Trigger<string>();\n\n // prettier-ignore\n constructor(\n override readonly page: Page,\n readonly inIFrame = true,\n ) {\n super();\n this.page.on('console', (message) => this._onConsoleMessage(message));\n }\n\n get shell() {\n return this.inIFrame ? this.page.frameLocator('data-testid=dxos-shell') : this.page;\n }\n\n // Getters\n\n async getDisplayName(): Promise<string | null> {\n return this.shell.getByTestId('identityHeading.displayName').textContent();\n }\n\n async isCurrentSpaceViewVisible(): Promise<boolean> {\n return await this.shell.getByTestId('current-space-view').isVisible();\n }\n\n async isSpaceListViewVisible(): Promise<boolean> {\n return await this.shell.getByTestId('space-list-view').isVisible();\n }\n\n // Actions\n\n async createIdentity(name: string) {\n await this.shell.getByTestId('create-identity').click();\n await this.page.keyboard.type(name);\n await this.shell.getByTestId('create-identity-input-continue').click();\n await this.shell.getByTestId('halo-invitation-accepted-done').click();\n }\n\n async createDeviceInvitation(): Promise<string> {\n this._invitationCode = new Trigger<string>();\n this._authCode = new Trigger<string>();\n await this.shell.getByTestId('devices-panel.create-invitation').click();\n return await this._invitationCode.wait();\n }\n\n async resetDevice() {\n const handleDialog = async (dialog: Dialog) => {\n if (dialog.type() === 'confirm') {\n await dialog.accept();\n }\n };\n\n this.page.on('dialog', handleDialog);\n await this.shell.getByTestId('
|
|
5
|
-
"mappings": ";;;AAIA,SAASA,iBAAiB;AAC1B,SAASC,mBAAmB;AAErB,IAAMC,QAAqB;EAChCC,UAAU;IACRC,aAAaC,UAAUC,OAAM;IAC7BC,SAAS;MACPC,aAAa;IACf;EACF;EACAC,UAAUC,YAAYC,cAAcC;AACtC;;;ACXA,SAASC,aAAAA,kBAAiB;AAC1B,SAASC,YAAYC,uCAAuC;AAErD,IAAMC,kBAAkB,CAACC,UAC9B,IAAIC,gCAAgC;EAClCC,mBAAmB;IACjBF;IACAG,cAAcC,KAAKC,OAAM,EAAGC,SAAS,EAAA,EAAIC,MAAM,CAAA;IAC/CC,MAAMC,WAAWC,KAAKC;IACtBC,YAAYH,WAAWI,WAAWC;IAClCC,UAAUC,WAAUX,OAAM;IAC1BY,MAAMR,WAAWS,KAAKC;IACtBC,UAAU;MAACX,WAAWY,MAAMC;MAA0Bb,WAAWY,MAAME;MAAgBC,SAASxB,KAAAA,IAC5F,WACA;EACN;EACAyB,YAAY,MAAA;EAAO;EACnBC,UAAU,YAAA;EAAa;AACzB,CAAA;;;ACdK,IAAMC,qBAAN,MAAMA;EAGXC,uBAAuBC,MAA0BC,OAAe;AAC9D,YAAQA,SAAS,KAAKC,MAAMC,YAAY,GAAGH,SAAS,WAAW,SAAS,OAAA,kBAAyB,EAAEI,UAAS;EAC9G;EAEA,MAAMC,iBAAiBJ,OAAeK,UAAU,KAAM;AACpD,UAAMC,OAAON,SAAS,KAAKC;AAC3B,QAAI;AACF,YAAMK,KAAKC,QAAQ,wDAAA,EAA0DC,QAAQ;QAAEH;MAAQ,CAAA;AAC/F,aAAO;IACT,QAAQ;AACN,aAAO;IACT;EACF;EAEA,MAAMI,gBAAgBV,MAA0BW,YAAoBV,OAAe;AACjF,WAAOA,SAAS,KAAKC,MAAMC,YAAY,GAAGH,SAAS,WAAW,SAAS,OAAA,mBAA0B,EAAEY,KAAKD,UAAAA;AACxG,UAAM,KAAKT,KAAKW,SAASC,MAAM,OAAA;EACjC;EAEA,MAAMC,wBAAwBf,MAA0BC,OAAe;AACrE,WAAOA,SAAS,KAAKC,MAAMC,YAAY,GAAGH,SAAS,WAAW,SAAS,OAAA,4BAAmC,EAAEgB,MAAK;EACnH;EAEA,MAAMC,iBAAiBjB,MAA0BkB,MAAwBjB,OAAe;AACtF,QAAIiB,SAAS,SAAS;AACpB,aAAOjB,SAAS,KAAKC,MAClBC,YAAY,GAAGH,SAAS,WAAW,SAAS,OAAA,kCAAyC,EACrFgB,MAAK;IACV,OAAO;AACL,aAAOf,SAAS,KAAKC,MAAMC,YAAY,mBAAA,EAAqBgB,IAAI,CAAA,EAAGH,MAAK;IAC1E;EACF;EAEA,MAAMI,oBAAoBpB,MAA0BC,OAAeK,UAAU,KAAM;AACjF,UAAMC,OAAON,SAAS,KAAKC;AAC3B,QAAI;AACF,YAAMK,KACHC,QAAQ,gBAAgBR,SAAS,WAAW,SAAS,OAAA,mCAA0C,EAC/FS,QAAQ;QAAEH;MAAQ,CAAA;AACrB,aAAO;IACT,QAAQ;AACN,aAAO;IACT;EACF;EAEA,MAAMe,uBAAuBrB,MAA0BsB,UAAkBrB,OAAe;AACtF,UAAMM,OAAON,SAAS,KAAKC;AAE3B,UAAMK,KAAKJ,YAAY,GAAGH,SAAS,WAAW,SAAS,OAAA,kBAAyB,EAAEY,KAAKU,QAAAA;AACvF,UAAMf,KAAKJ,YAAY,GAAGH,SAAS,WAAW,SAAS,OAAA,gCAAuC,EAAEgB,MAAK;EACvG;EAEA,MAAMO,cAAcvB,MAA0BC,OAAe;AAC3D,UAAMM,OAAON,SAAS,KAAKC;AAC3B,UAAMK,KAAKJ,YAAY,GAAGH,SAAS,WAAW,SAAS,OAAA,kBAAyB,EAAEY,KAAK,EAAA;AACvF,UAAML,KAAKJ,YAAY,GAAGH,SAAS,WAAW,SAAS,OAAA,kBAAyB,EAAEwB,MAAK;EACzF;EAEA,MAAMC,gBAAgBxB,OAAe;AACnC,WAAOA,SAAS,KAAKC,MAAMC,YAAY,0BAAA,EAA4Ba,MAAK;EAC1E;EAEA,MAAMU,eAAe1B,MAA0BC,OAAe;AAC5D,WAAOA,SAAS,KAAKC,MAClBC,YAAYH,SAAS,WAAW,kCAAkC,gCAAA,EAClEgB,MAAK;EACV;AACF;;;ACxEA,SAASW,OAAOC,eAAe;AAMxB,IAAMC,eAAN,cAA2BC,mBAAAA;;EAKhCC,YACoBC,MACTC,WAAW,MACpB;AACA,UAAK;SAHaD,OAAAA;SACTC,WAAAA;SANHC,kBAAkB,IAAIC,QAAAA;SACtBC,YAAY,IAAID,QAAAA;AAQtB,SAAKH,KAAKK,GAAG,WAAW,CAACC,YAAY,KAAKC,kBAAkBD,OAAAA,CAAAA;EAC9D;EAEA,IAAIE,QAAQ;AACV,WAAO,KAAKP,WAAW,KAAKD,KAAKS,aAAa,wBAAA,IAA4B,KAAKT;EACjF;;EAIA,MAAMU,iBAAyC;AAC7C,WAAO,KAAKF,MAAMG,YAAY,6BAAA,EAA+BC,YAAW;EAC1E;EAEA,MAAMC,4BAA8C;AAClD,WAAO,MAAM,KAAKL,MAAMG,YAAY,oBAAA,EAAsBG,UAAS;EACrE;EAEA,MAAMC,yBAA2C;AAC/C,WAAO,MAAM,KAAKP,MAAMG,YAAY,iBAAA,EAAmBG,UAAS;EAClE;;EAIA,MAAME,eAAeC,MAAc;AACjC,UAAM,KAAKT,MAAMG,YAAY,iBAAA,EAAmBO,MAAK;AACrD,UAAM,KAAKlB,KAAKmB,SAASC,KAAKH,IAAAA;AAC9B,UAAM,KAAKT,MAAMG,YAAY,gCAAA,EAAkCO,MAAK;AACpE,UAAM,KAAKV,MAAMG,YAAY,+BAAA,EAAiCO,MAAK;EACrE;EAEA,MAAMG,yBAA0C;AAC9C,SAAKnB,kBAAkB,IAAIC,QAAAA;AAC3B,SAAKC,YAAY,IAAID,QAAAA;AACrB,UAAM,KAAKK,MAAMG,YAAY,iCAAA,EAAmCO,MAAK;AACrE,WAAO,MAAM,KAAKhB,gBAAgBoB,KAAI;EACxC;EAEA,MAAMC,cAAc;AAClB,UAAMC,eAAe,OAAOC,WAAAA;AAC1B,UAAIA,OAAOL,KAAI,MAAO,WAAW;AAC/B,cAAMK,OAAOC,OAAM;MACrB;IACF;AAEA,SAAK1B,KAAKK,GAAG,UAAUmB,YAAAA;AACvB,UAAM,KAAKhB,MAAMG,YAAY,
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { PublicKey } from '@dxos/react-client';\nimport { SpaceMember } from '@dxos/react-client/echo';\n\nexport const alice: SpaceMember = {\n identity: {\n identityKey: PublicKey.random(),\n profile: {\n displayName: 'Alice',\n },\n },\n presence: SpaceMember.PresenceState.ONLINE,\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { PublicKey } from '@dxos/react-client';\nimport { Invitation, CancellableInvitationObservable } from '@dxos/react-client/invitations';\n\nexport const inviteWithState = (state: Invitation.State) =>\n new CancellableInvitationObservable({\n initialInvitation: {\n state,\n invitationId: Math.random().toString(16).slice(2),\n kind: Invitation.Kind.SPACE,\n authMethod: Invitation.AuthMethod.NONE,\n swarmKey: PublicKey.random(),\n type: Invitation.Type.INTERACTIVE,\n authCode: [Invitation.State.READY_FOR_AUTHENTICATION, Invitation.State.AUTHENTICATING].includes(state)\n ? '123456'\n : '',\n },\n subscriber: () => {},\n onCancel: async () => {},\n });\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport type { Locator, Page, FrameLocator } from '@playwright/test';\n\ntype Scope = Locator | FrameLocator | Page;\n\nexport class ScopedShellManager {\n page!: Page;\n\n authenticatorIsVisible(type: 'device' | 'space', scope?: Scope) {\n return (scope || this.page).getByTestId(`${type === 'device' ? 'halo' : 'space'}-auth-code-input`).isVisible();\n }\n\n async invitationFailed(scope?: Scope, timeout = 3000) {\n const peer = scope || this.page;\n try {\n await peer.locator('[data-testid=invitation-rescuer-reset]:not([disabled])').waitFor({ timeout });\n return true;\n } catch {\n return false;\n }\n }\n\n async inputInvitation(type: 'device' | 'space', invitation: string, scope?: Scope) {\n await (scope || this.page).getByTestId(`${type === 'device' ? 'halo' : 'space'}-invitation-input`).fill(invitation);\n await this.page.keyboard.press('Enter');\n }\n\n async invitationInputContinue(type: 'device' | 'space', scope?: Scope) {\n await (scope || this.page).getByTestId(`${type === 'device' ? 'halo' : 'space'}-invitation-input-continue`).click();\n }\n\n async cancelInvitation(type: 'device' | 'space', kind: 'host' | 'guest', scope?: Scope) {\n if (kind === 'guest') {\n await (scope || this.page)\n .getByTestId(`${type === 'device' ? 'halo' : 'space'}-invitation-authenticator-cancel`)\n .click();\n } else {\n await (scope || this.page).getByTestId('cancel-invitation').nth(0).click();\n }\n }\n\n async readyToAuthenticate(type: 'device' | 'space', scope?: Scope, timeout = 3000) {\n const peer = scope || this.page;\n try {\n await peer\n .locator(`[data-testid=${type === 'device' ? 'halo' : 'space'}-auth-code-input]:not([disabled])`)\n .waitFor({ timeout });\n return true;\n } catch {\n return false;\n }\n }\n\n async authenticateInvitation(type: 'device' | 'space', authCode: string, scope?: Scope) {\n const peer = scope || this.page;\n // TODO(wittjosiah): Update ids.\n await peer.getByTestId(`${type === 'device' ? 'halo' : 'space'}-auth-code-input`).fill(authCode);\n await peer.getByTestId(`${type === 'device' ? 'halo' : 'space'}-invitation-authenticator-next`).click();\n }\n\n async clearAuthCode(type: 'device' | 'space', scope?: Scope) {\n const peer = scope || this.page;\n await peer.getByTestId(`${type === 'device' ? 'halo' : 'space'}-auth-code-input`).fill('');\n await peer.getByTestId(`${type === 'device' ? 'halo' : 'space'}-auth-code-input`).focus();\n }\n\n async resetInvitation(scope?: Scope) {\n await (scope || this.page).getByTestId('invitation-rescuer-reset').click();\n }\n\n async doneInvitation(type: 'device' | 'space', scope?: Scope) {\n await (scope || this.page)\n .getByTestId(type === 'device' ? 'halo-invitation-accepted-done' : 'space-invitation-accepted-done')\n .click();\n }\n}\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport type { ConsoleMessage, Dialog, Page } from '@playwright/test';\n\nimport { sleep, Trigger } from '@dxos/async';\n\nimport { ScopedShellManager } from './scoped-shell-manager';\n\n// TODO(wittjosiah): Normalize data-testids between snake and camel case.\n\nexport class ShellManager extends ScopedShellManager {\n private _invitationCode = new Trigger<string>();\n private _authCode = new Trigger<string>();\n\n // prettier-ignore\n constructor(\n override readonly page: Page,\n readonly inIFrame = true,\n ) {\n super();\n this.page.on('console', (message) => this._onConsoleMessage(message));\n }\n\n get shell() {\n return this.inIFrame ? this.page.frameLocator('data-testid=dxos-shell') : this.page;\n }\n\n // Getters\n\n async getDisplayName(): Promise<string | null> {\n return this.shell.getByTestId('identityHeading.displayName').textContent();\n }\n\n async isCurrentSpaceViewVisible(): Promise<boolean> {\n return await this.shell.getByTestId('current-space-view').isVisible();\n }\n\n async isSpaceListViewVisible(): Promise<boolean> {\n return await this.shell.getByTestId('space-list-view').isVisible();\n }\n\n // Actions\n\n async createIdentity(name: string) {\n await this.shell.getByTestId('create-identity').click();\n await this.page.keyboard.type(name);\n await this.shell.getByTestId('create-identity-input-continue').click();\n await this.shell.getByTestId('halo-invitation-accepted-done').click();\n }\n\n async createDeviceInvitation(): Promise<string> {\n this._invitationCode = new Trigger<string>();\n this._authCode = new Trigger<string>();\n await this.shell.getByTestId('devices-panel.create-invitation').click();\n return await this._invitationCode.wait();\n }\n\n async resetDevice() {\n const handleDialog = async (dialog: Dialog) => {\n if (dialog.type() === 'confirm') {\n await dialog.accept();\n }\n };\n\n this.page.on('dialog', handleDialog);\n await this.shell.getByTestId('devices-panel.sign-out').click();\n await this.shell.getByTestId('reset-storage.reset-identity-input').fill('CONFIRM');\n await this.shell.getByTestId('reset-storage.reset-identity-confirm').click();\n }\n\n async joinNewIdentity(invitationCode: string) {\n await this.shell.getByTestId('devices-panel.join-new-identity').click();\n await this.shell.getByTestId('join-new-identity.reset-identity-input').fill('CONFIRM');\n await this.shell.getByTestId('join-new-identity.reset-identity-input-confirm').click();\n await this.inputInvitation('device', invitationCode, this.shell);\n }\n\n async authenticateDevice(authCode: string, skipDone = true) {\n // Wait for focus to shift before typing.\n await sleep(1500);\n await this.authenticateInvitation('device', authCode, this.shell);\n // TODO(wittjosiah): When \"signing out\" and joinging a new identity, the done step seems to be skipped.\n if (!skipDone) {\n await this.doneInvitation('device', this.shell);\n }\n }\n\n async closeShell() {\n await this.page.keyboard.press('Escape');\n }\n\n async createSpaceInvitation(): Promise<string> {\n this._invitationCode = new Trigger<string>();\n this._authCode = new Trigger<string>();\n await this.shell.getByTestId('spaces-panel.create-invitation').click();\n return await this._invitationCode.wait();\n }\n\n async acceptSpaceInvitation(invitationCode: string) {\n await this.inputInvitation('space', invitationCode, this.shell);\n }\n\n async getAuthCode(): Promise<string> {\n return await this._authCode.wait();\n }\n\n async authenticate(authCode: string) {\n // Wait for focus to shift before typing.\n await sleep(1500);\n await this.authenticateInvitation('space', authCode, this.shell);\n await this.doneInvitation('space', this.shell);\n }\n\n private async _onConsoleMessage(message: ConsoleMessage) {\n try {\n const json = JSON.parse(message.text());\n if (json.invitationCode) {\n this._invitationCode.wake(json.invitationCode);\n }\n if (json.authCode) {\n this._authCode.wake(json.authCode);\n }\n } catch {}\n }\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["PublicKey", "SpaceMember", "alice", "identity", "identityKey", "PublicKey", "random", "profile", "displayName", "presence", "SpaceMember", "PresenceState", "ONLINE", "PublicKey", "Invitation", "CancellableInvitationObservable", "inviteWithState", "state", "CancellableInvitationObservable", "initialInvitation", "invitationId", "Math", "random", "toString", "slice", "kind", "Invitation", "Kind", "SPACE", "authMethod", "AuthMethod", "NONE", "swarmKey", "PublicKey", "type", "Type", "INTERACTIVE", "authCode", "State", "READY_FOR_AUTHENTICATION", "AUTHENTICATING", "includes", "subscriber", "onCancel", "ScopedShellManager", "authenticatorIsVisible", "type", "scope", "page", "getByTestId", "isVisible", "invitationFailed", "timeout", "peer", "locator", "waitFor", "inputInvitation", "invitation", "fill", "keyboard", "press", "invitationInputContinue", "click", "cancelInvitation", "kind", "nth", "readyToAuthenticate", "authenticateInvitation", "authCode", "clearAuthCode", "focus", "resetInvitation", "doneInvitation", "sleep", "Trigger", "ShellManager", "ScopedShellManager", "constructor", "page", "inIFrame", "_invitationCode", "Trigger", "_authCode", "on", "message", "_onConsoleMessage", "shell", "frameLocator", "getDisplayName", "getByTestId", "textContent", "isCurrentSpaceViewVisible", "isVisible", "isSpaceListViewVisible", "createIdentity", "name", "click", "keyboard", "type", "createDeviceInvitation", "wait", "resetDevice", "handleDialog", "dialog", "accept", "fill", "joinNewIdentity", "invitationCode", "inputInvitation", "authenticateDevice", "authCode", "skipDone", "sleep", "authenticateInvitation", "doneInvitation", "closeShell", "press", "createSpaceInvitation", "acceptSpaceInvitation", "getAuthCode", "authenticate", "json", "JSON", "parse", "text", "wake"]
|
|
7
7
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type Dispatch, type SetStateAction } from 'react';
|
|
2
|
-
import { type ButtonProps
|
|
2
|
+
import { type ButtonProps } from '@dxos/react-ui';
|
|
3
3
|
export type EmojiPickerProps = {
|
|
4
4
|
disabled?: boolean;
|
|
5
5
|
defaultEmoji?: string;
|
|
@@ -7,12 +7,5 @@ export type EmojiPickerProps = {
|
|
|
7
7
|
onChangeEmoji?: Dispatch<SetStateAction<string>>;
|
|
8
8
|
onClickClear?: ButtonProps['onClick'];
|
|
9
9
|
};
|
|
10
|
-
|
|
11
|
-
* A toolbar button for picking an emoji. Use only in `role=toolbar` elements. Unable to unset the value.
|
|
12
|
-
*/
|
|
13
|
-
export declare const EmojiPickerToolbarButton: ({ disabled, defaultEmoji, emoji, onChangeEmoji, classNames, }: ThemedClassName<Omit<EmojiPickerProps, 'onClickClear'>>) => JSX.Element;
|
|
14
|
-
/**
|
|
15
|
-
* A button for picking an emoji alongside a button for unsetting it.
|
|
16
|
-
*/
|
|
17
|
-
export declare const EmojiPickerBlock: ({ disabled, defaultEmoji, emoji, onChangeEmoji, onClickClear }: EmojiPickerProps) => JSX.Element;
|
|
10
|
+
export declare const EmojiPicker: ({ disabled, defaultEmoji, emoji, onChangeEmoji, onClickClear }: EmojiPickerProps) => JSX.Element;
|
|
18
11
|
//# sourceMappingURL=EmojiPicker.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EmojiPicker.d.ts","sourceRoot":"","sources":["../../../../src/components/EmojiPicker.tsx"],"names":[],"mappings":"AAOA,OAAc,EAAE,KAAK,QAAQ,EAAE,KAAK,cAAc,
|
|
1
|
+
{"version":3,"file":"EmojiPicker.d.ts","sourceRoot":"","sources":["../../../../src/components/EmojiPicker.tsx"],"names":[],"mappings":"AAOA,OAAc,EAAE,KAAK,QAAQ,EAAE,KAAK,cAAc,EAAY,MAAM,OAAO,CAAC;AAE5E,OAAO,EAA4C,KAAK,WAAW,EAAiB,MAAM,gBAAgB,CAAC;AAG3G,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;IACjD,YAAY,CAAC,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;CACvC,CAAC;AAEF,eAAO,MAAM,WAAW,mEAAoE,gBAAgB,gBA+D3G,CAAC"}
|
|
@@ -26,7 +26,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
26
26
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
27
|
};
|
|
28
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
-
exports.
|
|
29
|
+
exports.EmojiPicker = void 0;
|
|
30
30
|
//
|
|
31
31
|
// Copyright 2024 DXOS.org
|
|
32
32
|
//
|
|
@@ -37,61 +37,7 @@ const react_use_controllable_state_1 = require("@radix-ui/react-use-controllable
|
|
|
37
37
|
const react_3 = __importStar(require("react"));
|
|
38
38
|
const react_ui_1 = require("@dxos/react-ui");
|
|
39
39
|
const react_ui_theme_1 = require("@dxos/react-ui-theme");
|
|
40
|
-
|
|
41
|
-
* A toolbar button for picking an emoji. Use only in `role=toolbar` elements. Unable to unset the value.
|
|
42
|
-
*/
|
|
43
|
-
const EmojiPickerToolbarButton = ({ disabled, defaultEmoji, emoji, onChangeEmoji, classNames, }) => {
|
|
44
|
-
const { t } = (0, react_ui_1.useTranslation)('os');
|
|
45
|
-
const [_emojiValue, setEmojiValue] = (0, react_use_controllable_state_1.useControllableState)({
|
|
46
|
-
prop: emoji,
|
|
47
|
-
onChange: onChangeEmoji,
|
|
48
|
-
defaultProp: defaultEmoji,
|
|
49
|
-
});
|
|
50
|
-
const [emojiPickerOpen, setEmojiPickerOpen] = (0, react_3.useState)(false);
|
|
51
|
-
const suppressNextTooltip = (0, react_3.useRef)(false);
|
|
52
|
-
const [triggerTooltipOpen, setTriggerTooltipOpen] = (0, react_3.useState)(false);
|
|
53
|
-
return (react_3.default.createElement(react_ui_1.Tooltip.Root, { open: triggerTooltipOpen, onOpenChange: (nextOpen) => {
|
|
54
|
-
if (suppressNextTooltip.current) {
|
|
55
|
-
setTriggerTooltipOpen(false);
|
|
56
|
-
suppressNextTooltip.current = false;
|
|
57
|
-
}
|
|
58
|
-
else {
|
|
59
|
-
setTriggerTooltipOpen(nextOpen);
|
|
60
|
-
}
|
|
61
|
-
} },
|
|
62
|
-
react_3.default.createElement(react_ui_1.Popover.Root, { open: emojiPickerOpen, onOpenChange: (nextOpen) => {
|
|
63
|
-
setEmojiPickerOpen(nextOpen);
|
|
64
|
-
suppressNextTooltip.current = true;
|
|
65
|
-
} },
|
|
66
|
-
react_3.default.createElement(react_ui_1.Tooltip.Trigger, { asChild: true },
|
|
67
|
-
react_3.default.createElement(react_ui_1.Popover.Trigger, { asChild: true },
|
|
68
|
-
react_3.default.createElement(react_ui_1.Toolbar.Button, { classNames: ['gap-2 text-2xl plb-1', classNames], disabled: disabled },
|
|
69
|
-
react_3.default.createElement("span", { className: 'sr-only' }, t('select emoji label')),
|
|
70
|
-
react_3.default.createElement(react_2.ImageSquare, { className: (0, react_ui_theme_1.getSize)(5) })))),
|
|
71
|
-
react_3.default.createElement(react_ui_1.Tooltip.Portal, null,
|
|
72
|
-
react_3.default.createElement(react_ui_1.Tooltip.Content, { side: 'bottom', classNames: 'z-50' },
|
|
73
|
-
t('select emoji label'),
|
|
74
|
-
react_3.default.createElement(react_ui_1.Tooltip.Arrow, null))),
|
|
75
|
-
react_3.default.createElement(react_ui_1.Popover.Content, { side: 'bottom', onKeyDownCapture: (event) => {
|
|
76
|
-
if (event.key === 'Escape') {
|
|
77
|
-
event.stopPropagation();
|
|
78
|
-
setEmojiPickerOpen(false);
|
|
79
|
-
suppressNextTooltip.current = true;
|
|
80
|
-
}
|
|
81
|
-
} },
|
|
82
|
-
react_3.default.createElement(react_1.default, { data: data_1.default, onEmojiSelect: ({ native }) => {
|
|
83
|
-
if (native) {
|
|
84
|
-
setEmojiValue(native);
|
|
85
|
-
setEmojiPickerOpen(false);
|
|
86
|
-
}
|
|
87
|
-
}, autoFocus: true, maxFrequentRows: 0, noCountryFlags: true }),
|
|
88
|
-
react_3.default.createElement(react_ui_1.Popover.Arrow, null)))));
|
|
89
|
-
};
|
|
90
|
-
exports.EmojiPickerToolbarButton = EmojiPickerToolbarButton;
|
|
91
|
-
/**
|
|
92
|
-
* A button for picking an emoji alongside a button for unsetting it.
|
|
93
|
-
*/
|
|
94
|
-
const EmojiPickerBlock = ({ disabled, defaultEmoji, emoji, onChangeEmoji, onClickClear }) => {
|
|
40
|
+
const EmojiPicker = ({ disabled, defaultEmoji, emoji, onChangeEmoji, onClickClear }) => {
|
|
95
41
|
const { t } = (0, react_ui_1.useTranslation)('os');
|
|
96
42
|
const [isMd] = (0, react_ui_1.useMediaQuery)('md', { ssr: false });
|
|
97
43
|
const [emojiValue, setEmojiValue] = (0, react_use_controllable_state_1.useControllableState)({
|
|
@@ -130,5 +76,5 @@ const EmojiPickerBlock = ({ disabled, defaultEmoji, emoji, onChangeEmoji, onClic
|
|
|
130
76
|
t('clear label'),
|
|
131
77
|
react_3.default.createElement(react_ui_1.Tooltip.Arrow, null))))));
|
|
132
78
|
};
|
|
133
|
-
exports.
|
|
79
|
+
exports.EmojiPicker = EmojiPicker;
|
|
134
80
|
//# sourceMappingURL=EmojiPicker.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EmojiPicker.js","sourceRoot":"","sources":["../../../../src/components/EmojiPicker.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;AACF,4DAAyC;AACzC,8DAA0C;AAC1C,
|
|
1
|
+
{"version":3,"file":"EmojiPicker.js","sourceRoot":"","sources":["../../../../src/components/EmojiPicker.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;AACF,4DAAyC;AACzC,8DAA0C;AAC1C,iDAAyE;AACzE,yFAA8E;AAC9E,+CAA4E;AAE5E,6CAA2G;AAC3G,yDAA+C;AAUxC,MAAM,WAAW,GAAG,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,KAAK,EAAE,aAAa,EAAE,YAAY,EAAoB,EAAE,EAAE;IAC9G,MAAM,EAAE,CAAC,EAAE,GAAG,IAAA,yBAAc,EAAC,IAAI,CAAC,CAAC;IACnC,MAAM,CAAC,IAAI,CAAC,GAAG,IAAA,wBAAa,EAAC,IAAI,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC;IAEnD,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,IAAA,mDAAoB,EAAS;QAC/D,IAAI,EAAE,KAAK;QACX,QAAQ,EAAE,aAAa;QACvB,WAAW,EAAE,YAAY;KAC1B,CAAC,CAAC;IAEH,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,IAAA,gBAAQ,EAAU,KAAK,CAAC,CAAC;IAEvE,OAAO,CACL;QACE,8BAAC,kBAAO,CAAC,IAAI,IAAC,IAAI,EAAE,eAAe,EAAE,YAAY,EAAE,kBAAkB;YACnE,8BAAC,kBAAO,CAAC,OAAO,IAAC,OAAO;gBACtB,8BAAC,iBAAM,IAAC,OAAO,EAAC,OAAO,EAAC,UAAU,EAAC,sBAAsB,EAAC,QAAQ,EAAE,QAAQ;oBAC1E,wCAAM,SAAS,EAAC,SAAS,IAAE,CAAC,CAAC,oBAAoB,CAAC,CAAQ;oBAC1D,wCAAM,SAAS,EAAC,aAAa,IAAE,UAAU,CAAQ;oBACjD,8BAAC,iBAAS,IAAC,SAAS,EAAE,IAAA,wBAAO,EAAC,CAAC,CAAC,GAAI,CAC7B,CACO;YAClB,8BAAC,kBAAO,CAAC,OAAO,IACd,IAAI,EAAC,OAAO,EACZ,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAC3B,gBAAgB,EAAE,CAAC,KAAK,EAAE,EAAE;oBAC1B,IAAI,KAAK,CAAC,GAAG,KAAK,QAAQ,EAAE;wBAC1B,KAAK,CAAC,eAAe,EAAE,CAAC;wBACxB,kBAAkB,CAAC,KAAK,CAAC,CAAC;qBAC3B;gBACH,CAAC;gBAED,8BAAC,eAAS,IACR,IAAI,EAAE,cAAS,EACf,aAAa,EAAE,CAAC,EAAE,MAAM,EAAuB,EAAE,EAAE;wBACjD,IAAI,MAAM,EAAE;4BACV,aAAa,CAAC,MAAM,CAAC,CAAC;4BACtB,kBAAkB,CAAC,KAAK,CAAC,CAAC;yBAC3B;oBACH,CAAC,EACD,SAAS,EAAE,IAAI,EACf,eAAe,EAAE,CAAC,EAClB,cAAc,EAAE,IAAI,GACpB;gBACF,8BAAC,kBAAO,CAAC,KAAK,OAAG,CACD,CACL;QACf,8BAAC,kBAAO,CAAC,IAAI;YACX,8BAAC,kBAAO,CAAC,OAAO,IAAC,OAAO;gBACtB,8BAAC,iBAAM,IAAC,OAAO,EAAC,OAAO,EAAC,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,QAAQ;oBAC/D,wCAAM,SAAS,EAAC,SAAS,IAAE,CAAC,CAAC,aAAa,CAAC,CAAQ;oBACnD,8BAAC,6BAAqB,OAAG,CAClB,CACO;YAClB,8BAAC,kBAAO,CAAC,MAAM;gBACb,8BAAC,kBAAO,CAAC,OAAO,IAAC,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,IAAI,EAAC,OAAO;oBACjD,CAAC,CAAC,aAAa,CAAC;oBACjB,8BAAC,kBAAO,CAAC,KAAK,OAAG,CACD,CACH,CACJ,CACd,CACJ,CAAC;AACJ,CAAC,CAAC;AA/DW,QAAA,WAAW,eA+DtB"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type Dispatch, type SetStateAction } from 'react';
|
|
2
|
-
import { type ButtonProps
|
|
2
|
+
import { type ButtonProps } from '@dxos/react-ui';
|
|
3
3
|
export type HuePickerProps = {
|
|
4
4
|
disabled?: boolean;
|
|
5
5
|
defaultHue?: string;
|
|
@@ -7,12 +7,5 @@ export type HuePickerProps = {
|
|
|
7
7
|
onChangeHue?: Dispatch<SetStateAction<string>>;
|
|
8
8
|
onClickClear?: ButtonProps['onClick'];
|
|
9
9
|
};
|
|
10
|
-
|
|
11
|
-
* A toolbar button for picking hue. Use only in `role=toolbar` elements. Unable to unset the value.
|
|
12
|
-
*/
|
|
13
|
-
export declare const HuePickerToolbarButton: ({ disabled, hue, onChangeHue, classNames, defaultHue, }: ThemedClassName<Omit<HuePickerProps, 'onClickClear'>>) => JSX.Element;
|
|
14
|
-
/**
|
|
15
|
-
* A button for picking hue alongside a button for unsetting it.
|
|
16
|
-
*/
|
|
17
|
-
export declare const HuePickerBlock: ({ disabled, hue, onChangeHue, defaultHue, onClickClear }: HuePickerProps) => JSX.Element;
|
|
10
|
+
export declare const HuePicker: ({ disabled, hue, onChangeHue, defaultHue, onClickClear }: HuePickerProps) => JSX.Element;
|
|
18
11
|
//# sourceMappingURL=HuePicker.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HuePicker.d.ts","sourceRoot":"","sources":["../../../../src/components/HuePicker.tsx"],"names":[],"mappings":"AAKA,OAAc,EAAE,KAAK,QAAQ,EAAE,KAAK,cAAc,
|
|
1
|
+
{"version":3,"file":"HuePicker.d.ts","sourceRoot":"","sources":["../../../../src/components/HuePicker.tsx"],"names":[],"mappings":"AAKA,OAAc,EAAE,KAAK,QAAQ,EAAE,KAAK,cAAc,EAAE,MAAM,OAAO,CAAC;AAElE,OAAO,EAAkE,KAAK,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAYlH,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;IAC/C,YAAY,CAAC,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;CACvC,CAAC;AAEF,eAAO,MAAM,SAAS,6DAA8D,cAAc,gBA2DjG,CAAC"}
|
|
@@ -1,35 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var
|
|
3
|
-
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
24
4
|
};
|
|
25
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
exports.
|
|
6
|
+
exports.HuePicker = void 0;
|
|
27
7
|
//
|
|
28
8
|
// Copyright 2024 DXOS.org
|
|
29
9
|
//
|
|
30
10
|
const react_1 = require("@phosphor-icons/react");
|
|
31
11
|
const react_use_controllable_state_1 = require("@radix-ui/react-use-controllable-state");
|
|
32
|
-
const react_2 =
|
|
12
|
+
const react_2 = __importDefault(require("react"));
|
|
33
13
|
const react_ui_1 = require("@dxos/react-ui");
|
|
34
14
|
const react_ui_theme_1 = require("@dxos/react-ui-theme");
|
|
35
15
|
const HuePreview = ({ hue }) => {
|
|
@@ -37,56 +17,7 @@ const HuePreview = ({ hue }) => {
|
|
|
37
17
|
return (react_2.default.createElement("svg", { width: 12, height: 12, viewBox: '0 0 12 12' },
|
|
38
18
|
react_2.default.createElement("rect", { x: 0, y: 0, width: 12, height: 12, className: tx('hue.fill', 'select--hue__preview', { hue }) })));
|
|
39
19
|
};
|
|
40
|
-
|
|
41
|
-
* A toolbar button for picking hue. Use only in `role=toolbar` elements. Unable to unset the value.
|
|
42
|
-
*/
|
|
43
|
-
const HuePickerToolbarButton = ({ disabled, hue, onChangeHue, classNames, defaultHue, }) => {
|
|
44
|
-
const { t } = (0, react_ui_1.useTranslation)('os');
|
|
45
|
-
const [hueValue, setHueValue] = (0, react_use_controllable_state_1.useControllableState)({
|
|
46
|
-
prop: hue,
|
|
47
|
-
onChange: onChangeHue,
|
|
48
|
-
defaultProp: defaultHue,
|
|
49
|
-
});
|
|
50
|
-
const [huePickerOpen, setHuePickerOpen] = (0, react_2.useState)(false);
|
|
51
|
-
const suppressNextTooltip = (0, react_2.useRef)(false);
|
|
52
|
-
const [triggerTooltipOpen, setTriggerTooltipOpen] = (0, react_2.useState)(false);
|
|
53
|
-
return (react_2.default.createElement(react_ui_1.Tooltip.Root, { open: triggerTooltipOpen, onOpenChange: (nextOpen) => {
|
|
54
|
-
if (suppressNextTooltip.current) {
|
|
55
|
-
setTriggerTooltipOpen(false);
|
|
56
|
-
suppressNextTooltip.current = false;
|
|
57
|
-
}
|
|
58
|
-
else {
|
|
59
|
-
setTriggerTooltipOpen(nextOpen);
|
|
60
|
-
}
|
|
61
|
-
} },
|
|
62
|
-
react_2.default.createElement(react_ui_1.DropdownMenu.Root, { modal: false, open: huePickerOpen, onOpenChange: (nextOpen) => {
|
|
63
|
-
setHuePickerOpen(nextOpen);
|
|
64
|
-
suppressNextTooltip.current = true;
|
|
65
|
-
} },
|
|
66
|
-
react_2.default.createElement(react_ui_1.Tooltip.Trigger, { asChild: true },
|
|
67
|
-
react_2.default.createElement(react_ui_1.DropdownMenu.Trigger, { asChild: true },
|
|
68
|
-
react_2.default.createElement(react_ui_1.Toolbar.Button, { classNames: (0, react_ui_theme_1.mx)('gap-2 plb-1', classNames), disabled: disabled },
|
|
69
|
-
react_2.default.createElement("span", { className: 'sr-only' }, t('select hue label')),
|
|
70
|
-
react_2.default.createElement(react_1.Palette, { className: (0, react_ui_theme_1.getSize)(5) })))),
|
|
71
|
-
react_2.default.createElement(react_ui_1.Tooltip.Portal, null,
|
|
72
|
-
react_2.default.createElement(react_ui_1.Tooltip.Content, { side: 'bottom', classNames: 'z-50' },
|
|
73
|
-
t('select hue label'),
|
|
74
|
-
react_2.default.createElement(react_ui_1.Tooltip.Arrow, null))),
|
|
75
|
-
react_2.default.createElement(react_ui_1.DropdownMenu.Content, { side: 'bottom' },
|
|
76
|
-
react_2.default.createElement(react_ui_1.DropdownMenu.Viewport, null, Object.keys(react_ui_theme_1.hueTokenThemes).map((hue) => {
|
|
77
|
-
return (react_2.default.createElement(react_ui_1.DropdownMenu.CheckboxItem, { key: hue, checked: hue === hueValue, onCheckedChange: () => setHueValue(hue) },
|
|
78
|
-
react_2.default.createElement(HuePreview, { hue: hue }),
|
|
79
|
-
react_2.default.createElement("span", { className: 'grow' }, t(`${hue} label`)),
|
|
80
|
-
react_2.default.createElement(react_ui_1.DropdownMenu.ItemIndicator, null,
|
|
81
|
-
react_2.default.createElement(react_1.Check, null))));
|
|
82
|
-
})),
|
|
83
|
-
react_2.default.createElement(react_ui_1.DropdownMenu.Arrow, null)))));
|
|
84
|
-
};
|
|
85
|
-
exports.HuePickerToolbarButton = HuePickerToolbarButton;
|
|
86
|
-
/**
|
|
87
|
-
* A button for picking hue alongside a button for unsetting it.
|
|
88
|
-
*/
|
|
89
|
-
const HuePickerBlock = ({ disabled, hue, onChangeHue, defaultHue, onClickClear }) => {
|
|
20
|
+
const HuePicker = ({ disabled, hue, onChangeHue, defaultHue, onClickClear }) => {
|
|
90
21
|
const { t } = (0, react_ui_1.useTranslation)('os');
|
|
91
22
|
const [hueValue, setHueValue] = (0, react_use_controllable_state_1.useControllableState)({
|
|
92
23
|
prop: hue,
|
|
@@ -121,5 +52,5 @@ const HuePickerBlock = ({ disabled, hue, onChangeHue, defaultHue, onClickClear }
|
|
|
121
52
|
t('clear label'),
|
|
122
53
|
react_2.default.createElement(react_ui_1.Tooltip.Arrow, null))))));
|
|
123
54
|
};
|
|
124
|
-
exports.
|
|
55
|
+
exports.HuePicker = HuePicker;
|
|
125
56
|
//# sourceMappingURL=HuePicker.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HuePicker.js","sourceRoot":"","sources":["../../../../src/components/HuePicker.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"HuePicker.js","sourceRoot":"","sources":["../../../../src/components/HuePicker.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { type Device } from '@dxos/react-client/halo';
|
|
2
|
+
export interface DeviceListProps {
|
|
3
|
+
devices: Device[];
|
|
4
|
+
onSelect?: (device: Device) => void;
|
|
5
|
+
}
|
|
6
|
+
export declare const DeviceList: ({ devices, onSelect }: DeviceListProps) => JSX.Element;
|
|
7
|
+
//# sourceMappingURL=DeviceList.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DeviceList.d.ts","sourceRoot":"","sources":["../../../../../src/components/IdentityList/DeviceList.tsx"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,MAAM,EAAc,MAAM,yBAAyB,CAAC;AAMlE,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;CACrC;AAED,eAAO,MAAM,UAAU,0BAA2B,eAAe,gBA8BhE,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
//
|
|
3
|
+
// Copyright 2023 DXOS.org
|
|
4
|
+
//
|
|
5
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
6
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
7
|
+
};
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.DeviceList = void 0;
|
|
10
|
+
const react_1 = __importDefault(require("react"));
|
|
11
|
+
const display_name_1 = require("@dxos/display-name");
|
|
12
|
+
const halo_1 = require("@dxos/react-client/halo");
|
|
13
|
+
const react_ui_1 = require("@dxos/react-ui");
|
|
14
|
+
const react_ui_theme_1 = require("@dxos/react-ui-theme");
|
|
15
|
+
const IdentityListItem_1 = require("./IdentityListItem");
|
|
16
|
+
const DeviceList = ({ devices, onSelect }) => {
|
|
17
|
+
const { t } = (0, react_ui_1.useTranslation)('os');
|
|
18
|
+
return devices.length > 0 ? (react_1.default.createElement(react_ui_1.List, { classNames: 'flex flex-col gap-2' }, devices.map((device) => {
|
|
19
|
+
var _a, _b;
|
|
20
|
+
// TODO(wittjosiah): Render this better. Consider communicating these as apps rather than devices.
|
|
21
|
+
const deviceType = ((_a = device.profile) === null || _a === void 0 ? void 0 : _a.type) || halo_1.DeviceType.UNKNOWN;
|
|
22
|
+
const displayName = ((_b = device.profile) === null || _b === void 0 ? void 0 : _b.label)
|
|
23
|
+
? `${device.profile.label} (${halo_1.DeviceType[deviceType]})`
|
|
24
|
+
: (0, display_name_1.generateName)(device.deviceKey.toHex());
|
|
25
|
+
const identity = {
|
|
26
|
+
identityKey: device.deviceKey,
|
|
27
|
+
profile: { displayName },
|
|
28
|
+
};
|
|
29
|
+
return (react_1.default.createElement(IdentityListItem_1.IdentityListItem, { key: device.deviceKey.toHex(), identity: identity, presence: device.presence, onClick: onSelect && (() => onSelect(device)) }));
|
|
30
|
+
}))) : (react_1.default.createElement("div", { role: 'none', className: 'grow flex items-center p-2' },
|
|
31
|
+
react_1.default.createElement("p", { className: (0, react_ui_theme_1.mx)(react_ui_theme_1.descriptionText, 'text-center is-full') }, t('empty device list message'))));
|
|
32
|
+
};
|
|
33
|
+
exports.DeviceList = DeviceList;
|
|
34
|
+
//# sourceMappingURL=DeviceList.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DeviceList.js","sourceRoot":"","sources":["../../../../../src/components/IdentityList/DeviceList.tsx"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;;;;AAEF,kDAA0B;AAE1B,qDAAkD;AAClD,kDAAkE;AAClE,6CAAsD;AACtD,yDAA2D;AAE3D,yDAAsD;AAO/C,MAAM,UAAU,GAAG,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAmB,EAAE,EAAE;IACnE,MAAM,EAAE,CAAC,EAAE,GAAG,IAAA,yBAAc,EAAC,IAAI,CAAC,CAAC;IACnC,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAC1B,8BAAC,eAAI,IAAC,UAAU,EAAC,qBAAqB,IACnC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;;QACtB,kGAAkG;QAClG,MAAM,UAAU,GAAG,CAAA,MAAA,MAAM,CAAC,OAAO,0CAAE,IAAI,KAAI,iBAAU,CAAC,OAAO,CAAC;QAC9D,MAAM,WAAW,GAAG,CAAA,MAAA,MAAM,CAAC,OAAO,0CAAE,KAAK;YACvC,CAAC,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,KAAK,iBAAU,CAAC,UAAU,CAAC,GAAG;YACvD,CAAC,CAAC,IAAA,2BAAY,EAAC,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC;QAE3C,MAAM,QAAQ,GAAG;YACf,WAAW,EAAE,MAAM,CAAC,SAAS;YAC7B,OAAO,EAAE,EAAE,WAAW,EAAE;SACzB,CAAC;QACF,OAAO,CACL,8BAAC,mCAAgB,IACf,GAAG,EAAE,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,EAC7B,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,MAAM,CAAC,QAAQ,EACzB,OAAO,EAAE,QAAQ,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,GAC7C,CACH,CAAC;IACJ,CAAC,CAAC,CACG,CACR,CAAC,CAAC,CAAC,CACF,uCAAK,IAAI,EAAC,MAAM,EAAC,SAAS,EAAC,4BAA4B;QACrD,qCAAG,SAAS,EAAE,IAAA,mBAAE,EAAC,gCAAe,EAAE,qBAAqB,CAAC,IAAG,CAAC,CAAC,2BAA2B,CAAC,CAAK,CAC1F,CACP,CAAC;AACJ,CAAC,CAAC;AA9BW,QAAA,UAAU,cA8BrB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/IdentityList/index.ts"],"names":[],"mappings":"AAIA,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/IdentityList/index.ts"],"names":[],"mappings":"AAIA,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC"}
|
|
@@ -17,6 +17,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
17
17
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
18
18
|
};
|
|
19
19
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
20
|
+
__exportStar(require("./DeviceList"), exports);
|
|
20
21
|
__exportStar(require("./IdentityListItem"), exports);
|
|
21
22
|
__exportStar(require("./SpaceMemberList"), exports);
|
|
22
23
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/components/IdentityList/index.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;;;;;;;;;;;;;;AAEF,qDAAmC;AACnC,oDAAkC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/components/IdentityList/index.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;;;;;;;;;;;;;;AAEF,+CAA6B;AAC7B,qDAAmC;AACnC,oDAAkC"}
|
|
@@ -15,6 +15,6 @@ export type BifurcatedActionProps = {
|
|
|
15
15
|
onChangeActiveAction?: Dispatch<SetStateAction<string>>;
|
|
16
16
|
defaultActiveAction?: string;
|
|
17
17
|
} & Omit<LargeButtonProps, 'children' | 'onClick'>;
|
|
18
|
-
export declare const BifurcatedAction: React.ForwardRefExoticComponent<Pick<BifurcatedActionProps, "form" | "slot" | "style" | "title" | "
|
|
19
|
-
export declare const Action: React.ForwardRefExoticComponent<Pick<LargeButtonProps, "form" | "slot" | "style" | "title" | "
|
|
18
|
+
export declare const BifurcatedAction: React.ForwardRefExoticComponent<Pick<BifurcatedActionProps, "value" | "form" | "slot" | "style" | "title" | "key" | "autoFocus" | "disabled" | "formAction" | "formEncType" | "formMethod" | "formNoValidate" | "formTarget" | "name" | "type" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "hidden" | "id" | "lang" | "placeholder" | "spellCheck" | "tabIndex" | "translate" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "prefix" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "color" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "asChild" | "classNames" | "variant" | "density" | "elevation" | "isFull" | "actions" | "activeAction" | "onChangeActiveAction" | "defaultActiveAction"> & React.RefAttributes<HTMLButtonElement>>;
|
|
19
|
+
export declare const Action: React.ForwardRefExoticComponent<Pick<LargeButtonProps, "children" | "value" | "form" | "slot" | "style" | "title" | "key" | "autoFocus" | "disabled" | "formAction" | "formEncType" | "formMethod" | "formNoValidate" | "formTarget" | "name" | "type" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "hidden" | "id" | "lang" | "placeholder" | "spellCheck" | "tabIndex" | "translate" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "prefix" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "color" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "asChild" | "classNames" | "variant" | "density" | "elevation" | "isFull"> & React.RefAttributes<HTMLButtonElement>>;
|
|
20
20
|
//# sourceMappingURL=Action.d.ts.map
|
|
@@ -32,7 +32,7 @@ export declare const Viewport: {
|
|
|
32
32
|
({ classNames, children, ...props }: ViewportViewsProps): JSX.Element;
|
|
33
33
|
displayName: string;
|
|
34
34
|
};
|
|
35
|
-
View: React.ForwardRefExoticComponent<Pick<ViewportScopedProps<ViewportViewProps>, "slot" | "style" | "title" | "
|
|
35
|
+
View: React.ForwardRefExoticComponent<Pick<ViewportScopedProps<ViewportViewProps>, "children" | "slot" | "style" | "title" | "key" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "hidden" | "id" | "lang" | "placeholder" | "spellCheck" | "tabIndex" | "translate" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "prefix" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "color" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "classNames" | "__viewportScope"> & React.RefAttributes<HTMLDivElement>>;
|
|
36
36
|
};
|
|
37
37
|
export { useViewportContext, createViewportScope };
|
|
38
38
|
export type { ViewportRootProps, ViewportViewsProps, ViewportViewProps, ViewportScopedProps };
|
|
@@ -1,10 +1,8 @@
|
|
|
1
|
-
export * from './AgentConfig';
|
|
2
1
|
export * from './Clipboard';
|
|
3
2
|
export * from './CompoundButton';
|
|
4
3
|
export * from './EmojiPicker';
|
|
5
4
|
export * from './HuePicker';
|
|
6
5
|
export * from './IdentityList';
|
|
7
|
-
export * from './DeviceList';
|
|
8
6
|
export * from './InvitationList';
|
|
9
7
|
export * from './Panel';
|
|
10
8
|
export * from './Viewport';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/index.ts"],"names":[],"mappings":"AAIA,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/index.ts"],"names":[],"mappings":"AAIA,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC"}
|