@oxyhq/services 22.13.0 → 22.13.1
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/lib/commonjs/index.js +74 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/notifications/deviceNotifications.js +424 -0
- package/lib/commonjs/notifications/deviceNotifications.js.map +1 -0
- package/lib/commonjs/ui/components/OxyAuthChooser.js +5 -4
- package/lib/commonjs/ui/components/OxyAuthChooser.js.map +1 -1
- package/lib/commonjs/ui/components/OxySignInRequestSurface.js +147 -0
- package/lib/commonjs/ui/components/OxySignInRequestSurface.js.map +1 -0
- package/lib/commonjs/ui/components/authChooser/SignInEntryView.js.map +1 -1
- package/lib/commonjs/ui/components/authChooser/SignInRequestView.js +65 -103
- package/lib/commonjs/ui/components/authChooser/SignInRequestView.js.map +1 -1
- package/lib/commonjs/ui/components/authChooser/TroubleDisclosure.js +0 -2
- package/lib/commonjs/ui/components/authChooser/TroubleDisclosure.js.map +1 -1
- package/lib/commonjs/ui/components/authChooser/requestSurfaces.js +12 -8
- package/lib/commonjs/ui/components/authChooser/requestSurfaces.js.map +1 -1
- package/lib/commonjs/ui/components/authChooser/types.js +11 -0
- package/lib/commonjs/ui/components/authChooser/types.js.map +1 -1
- package/lib/module/index.js +18 -0
- package/lib/module/index.js.map +1 -1
- package/lib/module/notifications/deviceNotifications.js +414 -0
- package/lib/module/notifications/deviceNotifications.js.map +1 -0
- package/lib/module/ui/components/OxyAuthChooser.js +5 -4
- package/lib/module/ui/components/OxyAuthChooser.js.map +1 -1
- package/lib/module/ui/components/OxySignInRequestSurface.js +141 -0
- package/lib/module/ui/components/OxySignInRequestSurface.js.map +1 -0
- package/lib/module/ui/components/authChooser/SignInEntryView.js.map +1 -1
- package/lib/module/ui/components/authChooser/SignInRequestView.js +66 -104
- package/lib/module/ui/components/authChooser/SignInRequestView.js.map +1 -1
- package/lib/module/ui/components/authChooser/TroubleDisclosure.js +0 -2
- package/lib/module/ui/components/authChooser/TroubleDisclosure.js.map +1 -1
- package/lib/module/ui/components/authChooser/requestSurfaces.js +12 -8
- package/lib/module/ui/components/authChooser/requestSurfaces.js.map +1 -1
- package/lib/module/ui/components/authChooser/types.js +11 -0
- package/lib/module/ui/components/authChooser/types.js.map +1 -1
- package/lib/typescript/commonjs/index.d.ts +5 -0
- package/lib/typescript/commonjs/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/notifications/deviceNotifications.d.ts +173 -0
- package/lib/typescript/commonjs/notifications/deviceNotifications.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/components/OxyAuthChooser.d.ts +5 -3
- package/lib/typescript/commonjs/ui/components/OxyAuthChooser.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/OxySignInRequestSurface.d.ts +108 -0
- package/lib/typescript/commonjs/ui/components/OxySignInRequestSurface.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/components/authChooser/SignInEntryView.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/authChooser/SignInRequestView.d.ts +18 -18
- package/lib/typescript/commonjs/ui/components/authChooser/SignInRequestView.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/authChooser/TroubleDisclosure.d.ts +3 -10
- package/lib/typescript/commonjs/ui/components/authChooser/TroubleDisclosure.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/authChooser/requestSurfaces.d.ts +7 -3
- package/lib/typescript/commonjs/ui/components/authChooser/requestSurfaces.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/authChooser/types.d.ts +18 -0
- package/lib/typescript/commonjs/ui/components/authChooser/types.d.ts.map +1 -1
- package/lib/typescript/module/index.d.ts +5 -0
- package/lib/typescript/module/index.d.ts.map +1 -1
- package/lib/typescript/module/notifications/deviceNotifications.d.ts +173 -0
- package/lib/typescript/module/notifications/deviceNotifications.d.ts.map +1 -0
- package/lib/typescript/module/ui/components/OxyAuthChooser.d.ts +5 -3
- package/lib/typescript/module/ui/components/OxyAuthChooser.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/OxySignInRequestSurface.d.ts +108 -0
- package/lib/typescript/module/ui/components/OxySignInRequestSurface.d.ts.map +1 -0
- package/lib/typescript/module/ui/components/authChooser/SignInEntryView.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/authChooser/SignInRequestView.d.ts +18 -18
- package/lib/typescript/module/ui/components/authChooser/SignInRequestView.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/authChooser/TroubleDisclosure.d.ts +3 -10
- package/lib/typescript/module/ui/components/authChooser/TroubleDisclosure.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/authChooser/requestSurfaces.d.ts +7 -3
- package/lib/typescript/module/ui/components/authChooser/requestSurfaces.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/authChooser/types.d.ts +18 -0
- package/lib/typescript/module/ui/components/authChooser/types.d.ts.map +1 -1
- package/package.json +15 -5
- package/src/index.ts +32 -0
- package/src/notifications/deviceNotifications.ts +458 -0
- package/src/ui/components/OxyAuthChooser.tsx +5 -4
- package/src/ui/components/OxySignInRequestSurface.tsx +202 -0
- package/src/ui/components/authChooser/SignInEntryView.tsx +9 -3
- package/src/ui/components/authChooser/SignInRequestView.tsx +78 -111
- package/src/ui/components/authChooser/TroubleDisclosure.tsx +3 -11
- package/src/ui/components/authChooser/requestSurfaces.tsx +14 -10
- package/src/ui/components/authChooser/types.ts +19 -0
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* `OxySignInRequestSurface` — the in-flight "Sign in with Oxy" request, rendered
|
|
5
|
+
* from plain facts (issue #691, Phase 5).
|
|
6
|
+
*
|
|
7
|
+
* The user already performed their one action. From here the surface only
|
|
8
|
+
* REPORTS: the route-appropriate primary visual, the status line for the
|
|
9
|
+
* progress it was told about, and nothing else at the same weight. Alternatives
|
|
10
|
+
* stay behind "Having trouble?" until the chosen route could not be carried out,
|
|
11
|
+
* at which point they ARE the content and render plainly.
|
|
12
|
+
*
|
|
13
|
+
* PRESENTATIONAL AND HEADLESS-FRIENDLY. It owns no request, no controller, no
|
|
14
|
+
* polling, and no state of its own: everything it draws is a prop. That is what
|
|
15
|
+
* lets the two hosts of this surface share ONE implementation —
|
|
16
|
+
*
|
|
17
|
+
* - `OxyAuthChooser`'s `SignInRequestView`, driven by `AccountDialogController`'s
|
|
18
|
+
* device flow;
|
|
19
|
+
* - the auth.oxy.so IdP's OAuth-bound lane, whose request carries an OAuth
|
|
20
|
+
* binding the account dialog's session has no concept of.
|
|
21
|
+
*
|
|
22
|
+
* It resolves only what every `@oxyhq/services` consumer already has in context:
|
|
23
|
+
* the Bloom theme (`useTheme`) and the SDK's own locale dictionary (`useI18n`,
|
|
24
|
+
* the `accountSwitcher.*` copy in all 11 locales). Host-specific copy — the
|
|
25
|
+
* labels on {@link OxySignInRequestSurfaceProps.subordinate} and
|
|
26
|
+
* {@link OxySignInRequestSurfaceProps.alternatives} — arrives already localized.
|
|
27
|
+
*
|
|
28
|
+
* TWO THINGS IT DELIBERATELY DOES NOT DO:
|
|
29
|
+
* - it renders no failure REASON. A host surfaces that the way its own shell
|
|
30
|
+
* demands (the account dialog toasts it — errors never render inline there;
|
|
31
|
+
* a full page may show a banner around this surface). The surface only takes
|
|
32
|
+
* the fact that the request failed, and offers the way forward.
|
|
33
|
+
* - it derives nothing from {@link OxySignInRequestSurfaceProps.qrPayload}.
|
|
34
|
+
* Application identity, origin, and scopes are resolved server-side by the
|
|
35
|
+
* approver (Commons), never read out of a payload here — the plate encodes it
|
|
36
|
+
* and shows nothing about it.
|
|
37
|
+
*
|
|
38
|
+
* SECRETS: every prop is safe to render. There is no `sessionToken` (the secret
|
|
39
|
+
* claim/finalize credential), no bearer, and no authorization code — a host
|
|
40
|
+
* keeps those in its own controller, and no prop on this component invites one.
|
|
41
|
+
*/
|
|
42
|
+
|
|
43
|
+
import { View } from 'react-native';
|
|
44
|
+
import { Button } from '@oxyhq/bloom/button';
|
|
45
|
+
import { useTheme } from '@oxyhq/bloom/theme';
|
|
46
|
+
import { Text } from '@oxyhq/bloom/typography';
|
|
47
|
+
import { useI18n } from "../hooks/useI18n.js";
|
|
48
|
+
import TroubleDisclosure from "./authChooser/TroubleDisclosure.js";
|
|
49
|
+
import { SubtleLink } from "./authChooser/primitives.js";
|
|
50
|
+
import { GetCommonsPrompt, RequestPrimarySurface } from "./authChooser/requestSurfaces.js";
|
|
51
|
+
import { signInProgressLabel } from "./authChooser/signInProgress.js";
|
|
52
|
+
import { authChooserStyles as styles } from "./authChooser/styles.js";
|
|
53
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
54
|
+
/** Shared empty list, so an omitted action bundle allocates nothing per render. */
|
|
55
|
+
const NO_ACTIONS = [];
|
|
56
|
+
export const OxySignInRequestSurface = ({
|
|
57
|
+
route,
|
|
58
|
+
progress,
|
|
59
|
+
qrPayload = null,
|
|
60
|
+
routeFailed = false,
|
|
61
|
+
failed = false,
|
|
62
|
+
onRetry,
|
|
63
|
+
onAcquireCommons,
|
|
64
|
+
subordinate = NO_ACTIONS,
|
|
65
|
+
alternatives = NO_ACTIONS
|
|
66
|
+
}) => {
|
|
67
|
+
const theme = useTheme();
|
|
68
|
+
const {
|
|
69
|
+
t
|
|
70
|
+
} = useI18n();
|
|
71
|
+
const subordinateLinks = subordinate.map(action => /*#__PURE__*/_jsx(SubtleLink, {
|
|
72
|
+
label: action.label,
|
|
73
|
+
theme: theme,
|
|
74
|
+
onPress: action.onPress,
|
|
75
|
+
disabled: action.disabled,
|
|
76
|
+
testID: action.key
|
|
77
|
+
}, action.key));
|
|
78
|
+
|
|
79
|
+
// A failed request has no working primary route left. Its REASON is the host's
|
|
80
|
+
// to surface (toast / banner); all this owes the user is the way forward.
|
|
81
|
+
if (failed) {
|
|
82
|
+
return /*#__PURE__*/_jsxs(View, {
|
|
83
|
+
style: styles.centeredBlock,
|
|
84
|
+
children: [onRetry ? /*#__PURE__*/_jsx(Button, {
|
|
85
|
+
variant: "primary",
|
|
86
|
+
onPress: onRetry,
|
|
87
|
+
style: styles.primaryButton,
|
|
88
|
+
children: t('common.actions.tryAgain')
|
|
89
|
+
}) : null, subordinateLinks, /*#__PURE__*/_jsx(TroubleDisclosure, {
|
|
90
|
+
actions: alternatives,
|
|
91
|
+
revealed: true,
|
|
92
|
+
theme: theme,
|
|
93
|
+
t: t
|
|
94
|
+
})]
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
// Commons is absent: acquiring it IS the primary route, not a fallback, so it
|
|
99
|
+
// renders as the one primary action and no route progress is reported (there is
|
|
100
|
+
// no route to report on until the host says otherwise).
|
|
101
|
+
if (onAcquireCommons) {
|
|
102
|
+
return /*#__PURE__*/_jsxs(View, {
|
|
103
|
+
style: styles.centeredBlock,
|
|
104
|
+
children: [/*#__PURE__*/_jsx(GetCommonsPrompt, {
|
|
105
|
+
theme: theme,
|
|
106
|
+
t: t,
|
|
107
|
+
onGetCommons: onAcquireCommons
|
|
108
|
+
}), subordinateLinks, /*#__PURE__*/_jsx(TroubleDisclosure, {
|
|
109
|
+
actions: alternatives,
|
|
110
|
+
revealed: false,
|
|
111
|
+
theme: theme,
|
|
112
|
+
t: t
|
|
113
|
+
})]
|
|
114
|
+
});
|
|
115
|
+
}
|
|
116
|
+
const status = signInProgressLabel(progress, route, t);
|
|
117
|
+
return /*#__PURE__*/_jsxs(View, {
|
|
118
|
+
style: styles.centeredBlock,
|
|
119
|
+
children: [/*#__PURE__*/_jsx(RequestPrimarySurface, {
|
|
120
|
+
route: route,
|
|
121
|
+
progress: progress,
|
|
122
|
+
qrPayload: qrPayload,
|
|
123
|
+
theme: theme,
|
|
124
|
+
t: t
|
|
125
|
+
}), status ? /*#__PURE__*/_jsx(Text, {
|
|
126
|
+
style: [styles.mutedText, {
|
|
127
|
+
color: theme.colors.textSecondary
|
|
128
|
+
}],
|
|
129
|
+
accessibilityLiveRegion: "polite",
|
|
130
|
+
testID: "signin-progress",
|
|
131
|
+
children: status
|
|
132
|
+
}) : null, subordinateLinks, /*#__PURE__*/_jsx(TroubleDisclosure, {
|
|
133
|
+
actions: alternatives,
|
|
134
|
+
revealed: routeFailed,
|
|
135
|
+
theme: theme,
|
|
136
|
+
t: t
|
|
137
|
+
})]
|
|
138
|
+
});
|
|
139
|
+
};
|
|
140
|
+
export default OxySignInRequestSurface;
|
|
141
|
+
//# sourceMappingURL=OxySignInRequestSurface.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["View","Button","useTheme","Text","useI18n","TroubleDisclosure","SubtleLink","GetCommonsPrompt","RequestPrimarySurface","signInProgressLabel","authChooserStyles","styles","jsx","_jsx","jsxs","_jsxs","NO_ACTIONS","OxySignInRequestSurface","route","progress","qrPayload","routeFailed","failed","onRetry","onAcquireCommons","subordinate","alternatives","theme","t","subordinateLinks","map","action","label","onPress","disabled","testID","key","style","centeredBlock","children","variant","primaryButton","actions","revealed","onGetCommons","status","mutedText","color","colors","textSecondary","accessibilityLiveRegion"],"sourceRoot":"../../../../src","sources":["ui/components/OxySignInRequestSurface.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["View","Button","TroubleDisclosure","AccountRow","Dividerish","SubtleLink","authChooserStyles","styles","jsx","_jsx","jsxs","_jsxs","SignInEntryView","snapshot","theme","t","handlers","onContinueWithOxy","alternatives","troubleActions","key","label","onPress","onShowQr","passkeyAvailable","passkeyPending","onSignInWithPasskey","disabled","onGetCommons","style","signInBlock","children","accounts","length","rows","map","account","switching","switchingAccountId","accountId","onSwitch","variant","primaryButton","testID","onCreateAccount","actions","revealed"],"sourceRoot":"../../../../../src","sources":["ui/components/authChooser/SignInEntryView.tsx"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAGA,SAASA,IAAI,QAAQ,cAAc;AACnC,SAASC,MAAM,QAAQ,qBAAqB;AAE5C,OAAOC,iBAAiB,
|
|
1
|
+
{"version":3,"names":["View","Button","TroubleDisclosure","AccountRow","Dividerish","SubtleLink","authChooserStyles","styles","jsx","_jsx","jsxs","_jsxs","SignInEntryView","snapshot","theme","t","handlers","onContinueWithOxy","alternatives","troubleActions","key","label","onPress","onShowQr","passkeyAvailable","passkeyPending","onSignInWithPasskey","disabled","onGetCommons","style","signInBlock","children","accounts","length","rows","map","account","switching","switchingAccountId","accountId","onSwitch","variant","primaryButton","testID","onCreateAccount","actions","revealed"],"sourceRoot":"../../../../../src","sources":["ui/components/authChooser/SignInEntryView.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,39 +1,32 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
|
-
* The ACTIVE REQUEST surface (`qr` view)
|
|
5
|
-
*
|
|
4
|
+
* The ACTIVE REQUEST surface (`qr` view) as the account dialog drives it —
|
|
5
|
+
* `AccountDialogController`'s device flow bound to the shared, presentational
|
|
6
|
+
* {@link OxySignInRequestSurface} (issue #691, Phase 5).
|
|
6
7
|
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
* stay behind "Having trouble?" until `signIn.routeFailed` says the chosen route
|
|
12
|
-
* could not be carried out — the controller never silently cascades, so
|
|
13
|
-
* revealing them is this view's decision and this view's alone.
|
|
8
|
+
* This module owns WIRING only. Every pixel comes from the shared surface, which
|
|
9
|
+
* the auth.oxy.so IdP mounts from its own OAuth-bound request; there is one
|
|
10
|
+
* implementation of the request presentation, not two. What lives here is what
|
|
11
|
+
* only the account dialog knows:
|
|
14
12
|
*
|
|
15
|
-
*
|
|
16
|
-
* -
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
13
|
+
* - which of the controller's facts map onto the surface's props;
|
|
14
|
+
* - which alternatives are genuine ones for the CURRENT presentation (the
|
|
15
|
+
* passkey ceremony is pointless once the request is already being confirmed,
|
|
16
|
+
* and a QR link is redundant while the QR itself is the primary visual);
|
|
17
|
+
* - the one piece of local intent the controller has no opinion on: leaving the
|
|
18
|
+
* acquisition surface via "I have Commons on another device".
|
|
19
|
+
*
|
|
20
|
+
* Failures are NOT rendered here. The container toasts them at the point they
|
|
21
|
+
* arrive (owner mandate: no error renders inline inside the dialog); this view
|
|
22
|
+
* only reports that the request failed, so the surface can offer "Try again".
|
|
22
23
|
*/
|
|
23
24
|
|
|
24
25
|
import { useState } from 'react';
|
|
25
|
-
import
|
|
26
|
-
import {
|
|
27
|
-
import { Text } from '@oxyhq/bloom/typography';
|
|
28
|
-
import TroubleDisclosure from "./TroubleDisclosure.js";
|
|
29
|
-
import { SubtleLink } from "./primitives.js";
|
|
30
|
-
import { GetCommonsPrompt, RequestPrimarySurface } from "./requestSurfaces.js";
|
|
31
|
-
import { signInProgressLabel } from "./signInProgress.js";
|
|
32
|
-
import { authChooserStyles as styles } from "./styles.js";
|
|
33
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
26
|
+
import OxySignInRequestSurface from "../OxySignInRequestSurface.js";
|
|
27
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
34
28
|
const SignInRequestView = ({
|
|
35
29
|
snapshot,
|
|
36
|
-
theme,
|
|
37
30
|
t,
|
|
38
31
|
onRetry,
|
|
39
32
|
alternatives
|
|
@@ -45,6 +38,10 @@ const SignInRequestView = ({
|
|
|
45
38
|
// Set only from the disclosure's own "I have Commons on another device" —
|
|
46
39
|
// an explicit user choice to leave the acquisition surface, never inferred.
|
|
47
40
|
const [qrRequested, setQrRequested] = useState(false);
|
|
41
|
+
const failed = signIn.phase === 'error';
|
|
42
|
+
// A same-device QR is a dead end without Commons, so the acquisition surface
|
|
43
|
+
// leads — until the user explicitly asks for the QR anyway.
|
|
44
|
+
const acquiring = !failed && commonsAvailability === 'unavailable' && !qrRequested;
|
|
48
45
|
|
|
49
46
|
// A ceremony is pointless once the request is already being confirmed, and a
|
|
50
47
|
// ceremony FAILURE is toasted by the container — this link never renders an
|
|
@@ -55,84 +52,49 @@ const SignInRequestView = ({
|
|
|
55
52
|
onPress: alternatives.onSignInWithPasskey,
|
|
56
53
|
disabled: alternatives.passkeyPending
|
|
57
54
|
}] : [];
|
|
58
|
-
const
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
t: t
|
|
102
|
-
})]
|
|
103
|
-
});
|
|
104
|
-
}
|
|
105
|
-
const status = signInProgressLabel(signIn.progress, signIn.route, t);
|
|
106
|
-
const troubleActions = [
|
|
107
|
-
// Redundant while the QR already IS the primary surface.
|
|
108
|
-
...(signIn.route === 'qr' ? [] : [{
|
|
109
|
-
key: 'scan-qr-link',
|
|
110
|
-
label: t('accountSwitcher.scanQr'),
|
|
111
|
-
onPress: alternatives.onShowQr
|
|
112
|
-
}]), ...passkeyAction, {
|
|
113
|
-
key: 'get-commons-link',
|
|
114
|
-
label: t('accountSwitcher.getCommons'),
|
|
115
|
-
onPress: alternatives.onGetCommons
|
|
116
|
-
}];
|
|
117
|
-
return /*#__PURE__*/_jsxs(View, {
|
|
118
|
-
style: styles.centeredBlock,
|
|
119
|
-
children: [/*#__PURE__*/_jsx(RequestPrimarySurface, {
|
|
120
|
-
signIn: signIn,
|
|
121
|
-
theme: theme,
|
|
122
|
-
t: t
|
|
123
|
-
}), status ? /*#__PURE__*/_jsx(Text, {
|
|
124
|
-
style: [styles.mutedText, {
|
|
125
|
-
color: theme.colors.textSecondary
|
|
126
|
-
}],
|
|
127
|
-
accessibilityLiveRegion: "polite",
|
|
128
|
-
testID: "signin-progress",
|
|
129
|
-
children: status
|
|
130
|
-
}) : null, signUpLink, /*#__PURE__*/_jsx(TroubleDisclosure, {
|
|
131
|
-
actions: troubleActions,
|
|
132
|
-
revealed: signIn.routeFailed,
|
|
133
|
-
theme: theme,
|
|
134
|
-
t: t
|
|
135
|
-
})]
|
|
55
|
+
const troubleActions = (() => {
|
|
56
|
+
// Nothing about the chosen route is actionable any more — only the
|
|
57
|
+
// authentication alternatives are.
|
|
58
|
+
if (failed) return passkeyAction;
|
|
59
|
+
if (acquiring) {
|
|
60
|
+
return [{
|
|
61
|
+
key: 'show-qr-anyway-link',
|
|
62
|
+
label: t('accountSwitcher.showQrAnyway'),
|
|
63
|
+
onPress: () => setQrRequested(true)
|
|
64
|
+
}, ...passkeyAction];
|
|
65
|
+
}
|
|
66
|
+
return [
|
|
67
|
+
// Redundant while the QR already IS the primary surface.
|
|
68
|
+
...(signIn.route === 'qr' ? [] : [{
|
|
69
|
+
key: 'scan-qr-link',
|
|
70
|
+
label: t('accountSwitcher.scanQr'),
|
|
71
|
+
onPress: alternatives.onShowQr
|
|
72
|
+
}]), ...passkeyAction, {
|
|
73
|
+
key: 'get-commons-link',
|
|
74
|
+
label: t('accountSwitcher.getCommons'),
|
|
75
|
+
onPress: alternatives.onGetCommons
|
|
76
|
+
}];
|
|
77
|
+
})();
|
|
78
|
+
return /*#__PURE__*/_jsx(OxySignInRequestSurface, {
|
|
79
|
+
route: signIn.route,
|
|
80
|
+
progress: signIn.progress,
|
|
81
|
+
qrPayload: signIn.qrPayload,
|
|
82
|
+
routeFailed: signIn.routeFailed,
|
|
83
|
+
failed: failed,
|
|
84
|
+
onRetry: onRetry,
|
|
85
|
+
onAcquireCommons: acquiring ? alternatives.onGetCommons : undefined,
|
|
86
|
+
subordinate: [
|
|
87
|
+
// Account CREATION is not an authentication method, and on web this
|
|
88
|
+
// surface is the FIRST one a signed-out user sees (the entry auto-starts
|
|
89
|
+
// straight through it) — so the way in for someone with no Oxy ID stays
|
|
90
|
+
// visible as a subordinate link rather than hiding behind a
|
|
91
|
+
// troubleshooting affordance.
|
|
92
|
+
{
|
|
93
|
+
key: 'create-account-link',
|
|
94
|
+
label: t('signin.createAccountLink'),
|
|
95
|
+
onPress: alternatives.onCreateAccount
|
|
96
|
+
}],
|
|
97
|
+
alternatives: troubleActions
|
|
136
98
|
});
|
|
137
99
|
};
|
|
138
100
|
export default SignInRequestView;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useState","
|
|
1
|
+
{"version":3,"names":["useState","OxySignInRequestSurface","jsx","_jsx","SignInRequestView","snapshot","t","onRetry","alternatives","signIn","commonsAvailability","qrRequested","setQrRequested","failed","phase","acquiring","passkeyAction","passkeyAvailable","key","label","passkeyPending","onPress","onSignInWithPasskey","disabled","troubleActions","route","onShowQr","onGetCommons","progress","qrPayload","routeFailed","onAcquireCommons","undefined","subordinate","onCreateAccount"],"sourceRoot":"../../../../../src","sources":["ui/components/authChooser/SignInRequestView.tsx"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAGA,SAASA,QAAQ,QAAQ,OAAO;AAEhC,OAAOC,uBAAuB,MAAM,+BAA4B;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAWjE,MAAMC,iBAAmD,GAAGA,CAAC;EAC3DC,QAAQ;EACRC,CAAC;EACDC,OAAO;EACPC;AACF,CAAC,KAAK;EACJ,MAAM;IAAEC,MAAM;IAAEC;EAAoB,CAAC,GAAGL,QAAQ;EAChD;EACA;EACA,MAAM,CAACM,WAAW,EAAEC,cAAc,CAAC,GAAGZ,QAAQ,CAAC,KAAK,CAAC;EAErD,MAAMa,MAAM,GAAGJ,MAAM,CAACK,KAAK,KAAK,OAAO;EACvC;EACA;EACA,MAAMC,SAAS,GAAG,CAACF,MAAM,IAAIH,mBAAmB,KAAK,aAAa,IAAI,CAACC,WAAW;;EAElF;EACA;EACA;EACA,MAAMK,aAAuC,GAC3CR,YAAY,CAACS,gBAAgB,IAAIR,MAAM,CAACK,KAAK,KAAK,YAAY,IAAIL,MAAM,CAACK,KAAK,KAAK,WAAW,GAC1F,CACE;IACEI,GAAG,EAAE,qBAAqB;IAC1BC,KAAK,EAAEX,YAAY,CAACY,cAAc,GAC9Bd,CAAC,CAAC,kCAAkC,CAAC,GACrCA,CAAC,CAAC,qCAAqC,CAAC;IAC5Ce,OAAO,EAAEb,YAAY,CAACc,mBAAmB;IACzCC,QAAQ,EAAEf,YAAY,CAACY;EACzB,CAAC,CACF,GACD,EAAE;EAER,MAAMI,cAAc,GAAG,CAAC,MAAgC;IACtD;IACA;IACA,IAAIX,MAAM,EAAE,OAAOG,aAAa;IAChC,IAAID,SAAS,EAAE;MACb,OAAO,CACL;QACEG,GAAG,EAAE,qBAAqB;QAC1BC,KAAK,EAAEb,CAAC,CAAC,8BAA8B,CAAC;QACxCe,OAAO,EAAEA,CAAA,KAAMT,cAAc,CAAC,IAAI;MACpC,CAAC,EACD,GAAGI,aAAa,CACjB;IACH;IACA,OAAO;IACL;IACA,IAAIP,MAAM,CAACgB,KAAK,KAAK,IAAI,GACrB,EAAE,GACF,CACE;MACEP,GAAG,EAAE,cAAc;MACnBC,KAAK,EAAEb,CAAC,CAAC,wBAAwB,CAAC;MAClCe,OAAO,EAAEb,YAAY,CAACkB;IACxB,CAAC,CACF,CAAC,EACN,GAAGV,aAAa,EAChB;MACEE,GAAG,EAAE,kBAAkB;MACvBC,KAAK,EAAEb,CAAC,CAAC,4BAA4B,CAAC;MACtCe,OAAO,EAAEb,YAAY,CAACmB;IACxB,CAAC,CACF;EACH,CAAC,EAAE,CAAC;EAEJ,oBACExB,IAAA,CAACF,uBAAuB;IACtBwB,KAAK,EAAEhB,MAAM,CAACgB,KAAM;IACpBG,QAAQ,EAAEnB,MAAM,CAACmB,QAAS;IAC1BC,SAAS,EAAEpB,MAAM,CAACoB,SAAU;IAC5BC,WAAW,EAAErB,MAAM,CAACqB,WAAY;IAChCjB,MAAM,EAAEA,MAAO;IACfN,OAAO,EAAEA,OAAQ;IACjBwB,gBAAgB,EAAEhB,SAAS,GAAGP,YAAY,CAACmB,YAAY,GAAGK,SAAU;IACpEC,WAAW,EAAE;IACX;IACA;IACA;IACA;IACA;IACA;MACEf,GAAG,EAAE,qBAAqB;MAC1BC,KAAK,EAAEb,CAAC,CAAC,0BAA0B,CAAC;MACpCe,OAAO,EAAEb,YAAY,CAAC0B;IACxB,CAAC,CACD;IACF1B,YAAY,EAAEgB;EAAe,CAC9B,CAAC;AAEN,CAAC;AAED,eAAepB,iBAAiB","ignoreList":[]}
|
|
@@ -24,8 +24,6 @@ import { View } from 'react-native';
|
|
|
24
24
|
import { Collapsible } from '@oxyhq/bloom/collapsible';
|
|
25
25
|
import { SubtleLink } from "./primitives.js";
|
|
26
26
|
import { authChooserStyles as styles } from "./styles.js";
|
|
27
|
-
|
|
28
|
-
/** One alternative route out of the current surface. Always a subordinate link. */
|
|
29
27
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
30
28
|
const TroubleDisclosure = ({
|
|
31
29
|
actions,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["View","Collapsible","SubtleLink","authChooserStyles","styles","jsx","_jsx","TroubleDisclosure","actions","revealed","theme","t","length","links","style","troubleActions","children","map","action","label","onPress","disabled","testID","key","title","troubleTrigger","titleStyle","linkText","color","colors","textSecondary"],"sourceRoot":"../../../../../src","sources":["ui/components/authChooser/TroubleDisclosure.tsx"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAGA,SAASA,IAAI,QAAQ,cAAc;AACnC,SAASC,WAAW,QAAQ,0BAA0B;AACtD,SAASC,UAAU,QAAQ,iBAAc;AACzC,SAASC,iBAAiB,IAAIC,MAAM,QAAQ,aAAU
|
|
1
|
+
{"version":3,"names":["View","Collapsible","SubtleLink","authChooserStyles","styles","jsx","_jsx","TroubleDisclosure","actions","revealed","theme","t","length","links","style","troubleActions","children","map","action","label","onPress","disabled","testID","key","title","troubleTrigger","titleStyle","linkText","color","colors","textSecondary"],"sourceRoot":"../../../../../src","sources":["ui/components/authChooser/TroubleDisclosure.tsx"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAGA,SAASA,IAAI,QAAQ,cAAc;AACnC,SAASC,WAAW,QAAQ,0BAA0B;AACtD,SAASC,UAAU,QAAQ,iBAAc;AACzC,SAASC,iBAAiB,IAAIC,MAAM,QAAQ,aAAU;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAgBvD,MAAMC,iBAAmD,GAAGA,CAAC;EAAEC,OAAO;EAAEC,QAAQ;EAAEC,KAAK;EAAEC;AAAE,CAAC,KAAK;EAC/F,IAAIH,OAAO,CAACI,MAAM,KAAK,CAAC,EAAE,OAAO,IAAI;EAErC,MAAMC,KAAK,gBACTP,IAAA,CAACN,IAAI;IAACc,KAAK,EAAEV,MAAM,CAACW,cAAe;IAAAC,QAAA,EAChCR,OAAO,CAACS,GAAG,CAAEC,MAAM,iBAClBZ,IAAA,CAACJ,UAAU;MAETiB,KAAK,EAAED,MAAM,CAACC,KAAM;MACpBT,KAAK,EAAEA,KAAM;MACbU,OAAO,EAAEF,MAAM,CAACE,OAAQ;MACxBC,QAAQ,EAAEH,MAAM,CAACG,QAAS;MAC1BC,MAAM,EAAEJ,MAAM,CAACK;IAAI,GALdL,MAAM,CAACK,GAMb,CACF;EAAC,CACE,CACP;EAED,IAAId,QAAQ,EAAE,OAAOI,KAAK;EAE1B,oBACEP,IAAA,CAACL,WAAW;IACVuB,KAAK,EAAEb,CAAC,CAAC,+BAA+B,CAAE;IAC1CG,KAAK,EAAEV,MAAM,CAACqB,cAAe;IAC7BC,UAAU,EAAE,CAACtB,MAAM,CAACuB,QAAQ,EAAE;MAAEC,KAAK,EAAElB,KAAK,CAACmB,MAAM,CAACC;IAAc,CAAC,CAAE;IACrER,MAAM,EAAC,oBAAoB;IAAAN,QAAA,EAE1BH;EAAK,CACK,CAAC;AAElB,CAAC;AAED,eAAeN,iBAAiB","ignoreList":[]}
|
|
@@ -97,36 +97,40 @@ export const GetCommonsPrompt = ({
|
|
|
97
97
|
*
|
|
98
98
|
* Ordered most-terminal-first, so a late-arriving route can never pull the
|
|
99
99
|
* surface back from "confirming" to a QR the user has already scanned. Every
|
|
100
|
-
* branch reads only
|
|
100
|
+
* branch reads only the facts it is handed — there is no local timeline, and no
|
|
101
|
+
* dependency on WHICH kind of request produced them (the account dialog's device
|
|
102
|
+
* flow and the IdP's OAuth-bound lane both resolve the same three).
|
|
101
103
|
*/
|
|
102
104
|
export const RequestPrimarySurface = ({
|
|
103
|
-
|
|
105
|
+
route,
|
|
106
|
+
progress,
|
|
107
|
+
qrPayload,
|
|
104
108
|
theme,
|
|
105
109
|
t
|
|
106
110
|
}) => {
|
|
107
|
-
if (
|
|
111
|
+
if (progress === 'identity-confirmed') {
|
|
108
112
|
return /*#__PURE__*/_jsx(RouteGlyph, {
|
|
109
113
|
name: "check-circle",
|
|
110
114
|
color: theme.colors.success
|
|
111
115
|
});
|
|
112
116
|
}
|
|
113
|
-
if (
|
|
117
|
+
if (progress === 'confirming-identity') {
|
|
114
118
|
return /*#__PURE__*/_jsx(PreparingSurface, {});
|
|
115
119
|
}
|
|
116
|
-
if (
|
|
120
|
+
if (route === 'qr' && qrPayload) {
|
|
117
121
|
return /*#__PURE__*/_jsx(QrPlate, {
|
|
118
|
-
payload:
|
|
122
|
+
payload: qrPayload,
|
|
119
123
|
theme: theme,
|
|
120
124
|
t: t
|
|
121
125
|
});
|
|
122
126
|
}
|
|
123
|
-
if (
|
|
127
|
+
if (route === 'await-push') {
|
|
124
128
|
return /*#__PURE__*/_jsx(RouteGlyph, {
|
|
125
129
|
name: "cellphone-message",
|
|
126
130
|
color: theme.colors.primary
|
|
127
131
|
});
|
|
128
132
|
}
|
|
129
|
-
if (
|
|
133
|
+
if (route === 'open-commons') {
|
|
130
134
|
return /*#__PURE__*/_jsx(RouteGlyph, {
|
|
131
135
|
name: "open-in-app",
|
|
132
136
|
color: theme.colors.primary
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["View","MaterialCommunityIcons","QRCode","Button","Loading","Text","authChooserStyles","styles","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","QR_PLATE_BG","QR_FOREGROUND","QR_SIZE","ROUTE_GLYPH_SIZE","PreparingSurface","variant","size","RouteGlyph","name","color","QrPlate","payload","theme","t","children","style","qrHeadline","colors","text","qrPlate","value","backgroundColor","GetCommonsPrompt","onGetCommons","mutedText","textSecondary","onPress","primaryButton","testID","RequestPrimarySurface","
|
|
1
|
+
{"version":3,"names":["View","MaterialCommunityIcons","QRCode","Button","Loading","Text","authChooserStyles","styles","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","QR_PLATE_BG","QR_FOREGROUND","QR_SIZE","ROUTE_GLYPH_SIZE","PreparingSurface","variant","size","RouteGlyph","name","color","QrPlate","payload","theme","t","children","style","qrHeadline","colors","text","qrPlate","value","backgroundColor","GetCommonsPrompt","onGetCommons","mutedText","textSecondary","onPress","primaryButton","testID","RequestPrimarySurface","route","progress","qrPayload","success","primary"],"sourceRoot":"../../../../../src","sources":["ui/components/authChooser/requestSurfaces.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -11,6 +11,17 @@
|
|
|
11
11
|
|
|
12
12
|
import { APP_COLOR_NAMES, APP_COLOR_PRESETS } from '@oxyhq/bloom/theme';
|
|
13
13
|
|
|
14
|
+
/**
|
|
15
|
+
* One SUBORDINATE action on a sign-in surface — an alternative revealed behind
|
|
16
|
+
* "Having trouble?", or a non-competing link under the primary.
|
|
17
|
+
*
|
|
18
|
+
* Never a primary button: a sign-in surface presents exactly ONE of those (issue
|
|
19
|
+
* #691), and keeping every other affordance on this single shape is what stops
|
|
20
|
+
* one of them quietly growing into a co-equal button again.
|
|
21
|
+
*
|
|
22
|
+
* Part of the public SDK surface — `OxySignInRequestSurface` takes these.
|
|
23
|
+
*/
|
|
24
|
+
|
|
14
25
|
/** The account-row actions the container wires for the switcher + menu views. */
|
|
15
26
|
|
|
16
27
|
/** Used/total storage bytes for the "Oxy storage" block, or `null` when unknown. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["APP_COLOR_NAMES","APP_COLOR_PRESETS","resolveAccentHex","color","fallback","preset","toPreset","hex","undefined","includes"],"sourceRoot":"../../../../../src","sources":["ui/components/authChooser/types.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,eAAe,EAAEC,iBAAiB,QAA0C,oBAAoB;;AAMzG;;AAcA;;AAMA;;AAYA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAkBA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,gBAAgBA,CAACC,KAAoB,EAAEC,QAAgB,EAAU;EAC/E,MAAMC,MAAM,GAAGC,QAAQ,CAACH,KAAK,CAAC;EAC9B,OAAOE,MAAM,GAAGJ,iBAAiB,CAACI,MAAM,CAAC,CAACE,GAAG,GAAGH,QAAQ;AAC1D;;AAEA;AACA,OAAO,SAASE,QAAQA,CAACH,KAAoB,EAA4B;EACvE,IAAI,CAACA,KAAK,EAAE,OAAOK,SAAS;EAC5B,OAAQR,eAAe,CAAuBS,QAAQ,CAACN,KAAK,CAAC,GACxDA,KAAK,GACNK,SAAS;AACf","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["APP_COLOR_NAMES","APP_COLOR_PRESETS","resolveAccentHex","color","fallback","preset","toPreset","hex","undefined","includes"],"sourceRoot":"../../../../../src","sources":["ui/components/authChooser/types.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,eAAe,EAAEC,iBAAiB,QAA0C,oBAAoB;;AAMzG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAUA;;AAcA;;AAMA;;AAYA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAkBA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,gBAAgBA,CAACC,KAAoB,EAAEC,QAAgB,EAAU;EAC/E,MAAMC,MAAM,GAAGC,QAAQ,CAACH,KAAK,CAAC;EAC9B,OAAOE,MAAM,GAAGJ,iBAAiB,CAACI,MAAM,CAAC,CAACE,GAAG,GAAGH,QAAQ;AAC1D;;AAEA;AACA,OAAO,SAASE,QAAQA,CAACH,KAAoB,EAA4B;EACvE,IAAI,CAACA,KAAK,EAAE,OAAOK,SAAS;EAC5B,OAAQR,eAAe,CAAuBS,QAAQ,CAACN,KAAK,CAAC,GACxDA,KAAK,GACNK,SAAS;AACf","ignoreList":[]}
|
|
@@ -56,6 +56,8 @@ export { handleAuthError, isInvalidSessionError, isTimeoutOrNetworkError, extrac
|
|
|
56
56
|
export type { HandleAuthErrorOptions } from './ui/utils/errorHandlers';
|
|
57
57
|
export { useFileFiltering } from './ui/hooks/useFileFiltering';
|
|
58
58
|
export type { ViewMode, SortBy, SortOrder } from './ui/hooks/useFileFiltering';
|
|
59
|
+
export { pushTokenPlatform, hasNotificationPermission, requestNotificationPermission, getExpoPushToken, takeLaunchNotificationData, ensureNotificationChannel, installForegroundNotificationHandler, subscribeToNotificationResponses, } from './notifications/deviceNotifications';
|
|
60
|
+
export type { NotificationChannelImportance, NotificationChannelSpec, ForegroundPresentation } from './notifications/deviceNotifications';
|
|
59
61
|
export { OXY_OAUTH_STATE_STORAGE_KEY, OXY_OAUTH_CODE_VERIFIER_STORAGE_KEY, } from '@oxyhq/core';
|
|
60
62
|
export { default as OxySignInButton } from './ui/components/OxySignInButton';
|
|
61
63
|
export type { OxySignInButtonProps, OxyOAuthResult } from './ui/components/OxySignInButton';
|
|
@@ -79,6 +81,9 @@ export { default as ProfileButton } from './ui/components/ProfileButton';
|
|
|
79
81
|
export type { ProfileButtonProps } from './ui/components/ProfileButton';
|
|
80
82
|
export { default as OxyAuthChooser } from './ui/components/OxyAuthChooser';
|
|
81
83
|
export type { OxyAuthChooserProps } from './ui/components/OxyAuthChooser';
|
|
84
|
+
export { OxySignInRequestSurface } from './ui/components/OxySignInRequestSurface';
|
|
85
|
+
export type { OxySignInRequestSurfaceProps } from './ui/components/OxySignInRequestSurface';
|
|
86
|
+
export type { OxySignInSurfaceAction } from './ui/components/authChooser/types';
|
|
82
87
|
export { useSwitchableAccounts } from './ui/hooks/useSwitchableAccounts';
|
|
83
88
|
export type { UseSwitchableAccountsResult } from './ui/hooks/useSwitchableAccounts';
|
|
84
89
|
export { default as ProfileScreen } from './ui/screens/ProfileScreen';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAYH,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACjD,YAAY,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAIhF,OAAO,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAC;AAKzE,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EACH,aAAa,EACb,SAAS,IAAI,cAAc,EAC3B,QAAQ,EACR,iBAAiB,EACjB,eAAe,EACf,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,GACnB,MAAM,wBAAwB,CAAC;AAKhC,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AACtE,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC3F,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,YAAY,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAKjF,OAAO,EACH,cAAc,EACd,eAAe,EACf,cAAc,EACd,WAAW,EACX,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,gBAAgB,GACnB,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EACH,WAAW,EACX,UAAU,EACV,iBAAiB,EACjB,cAAc,EACd,eAAe,EACf,sBAAsB,GACzB,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EACH,mBAAmB,EACnB,yBAAyB,EACzB,2BAA2B,GAC9B,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AACnE,OAAO,EACH,mBAAmB,EACnB,eAAe,EACf,aAAa,EACb,yBAAyB,GAC5B,MAAM,sCAAsC,CAAC;AAG9C,YAAY,EACR,YAAY,EACZ,gBAAgB,EAChB,kBAAkB,EAClB,oBAAoB,EACpB,OAAO,EACP,MAAM,EACN,iBAAiB,EACjB,qBAAqB,EACrB,uBAAuB,EACvB,gBAAgB,EAChB,0BAA0B,GAC7B,MAAM,iCAAiC,CAAC;AAKzC,OAAO,EACH,gBAAgB,EAChB,eAAe,EACf,wBAAwB,EACxB,wBAAwB,EACxB,gCAAgC,EAChC,wBAAwB,EACxB,qBAAqB,EACrB,aAAa,GAChB,MAAM,0CAA0C,CAAC;AAClD,OAAO,EACH,gBAAgB,EAChB,gBAAgB,EAChB,YAAY,EACZ,mBAAmB,EACnB,eAAe,GAClB,MAAM,2CAA2C,CAAC;AACnD,OAAO,EACH,qBAAqB,EACrB,qBAAqB,GACxB,MAAM,sCAAsC,CAAC;AAC9C,YAAY,EACR,qBAAqB,EACrB,qBAAqB,GACxB,MAAM,sCAAsC,CAAC;AAG9C,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AAQjE,OAAO,EACH,SAAS,EACT,wBAAwB,EACxB,qBAAqB,EACrB,wBAAwB,EACxB,uBAAuB,EACvB,wBAAwB,EACxB,yBAAyB,EACzB,wBAAwB,EACxB,yBAAyB,EACzB,8BAA8B,EAC9B,4BAA4B,GAC/B,MAAM,8BAA8B,CAAC;AAOtC,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACnF,YAAY,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAGlE,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,YAAY,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAKrD,OAAO,EACH,eAAe,EACf,qBAAqB,EACrB,uBAAuB,EACvB,mBAAmB,GACtB,MAAM,0BAA0B,CAAC;AAClC,YAAY,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAKvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"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"}
|