@entropy-softworks/ui 2026.8.35 → 2026.8.37
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/components/auth/PasswordStrengthMeter.d.ts +9 -0
- package/lib/components/auth/PasswordStrengthMeter.d.ts.map +1 -1
- package/lib/components/auth/PasswordStrengthMeter.jsx +10 -4
- package/lib/components/auth/PasswordStrengthMeter.jsx.map +1 -1
- package/lib/components/index.d.ts +1 -0
- package/lib/components/index.d.ts.map +1 -1
- package/lib/components/index.js +1 -0
- package/lib/components/index.js.map +1 -1
- package/lib/components/profile/SecurityTab.d.ts +5 -1
- package/lib/components/profile/SecurityTab.d.ts.map +1 -1
- package/lib/components/profile/SecurityTab.jsx.map +1 -1
- package/lib/components/segmented-toggle.d.ts +9 -0
- package/lib/components/segmented-toggle.d.ts.map +1 -1
- package/lib/components/segmented-toggle.jsx +4 -0
- package/lib/components/segmented-toggle.jsx.map +1 -1
- package/lib/components/social-connections.d.ts +22 -5
- package/lib/components/social-connections.d.ts.map +1 -1
- package/lib/components/social-connections.jsx +37 -11
- package/lib/components/social-connections.jsx.map +1 -1
- package/lib/components/update-overlay.d.ts +41 -0
- package/lib/components/update-overlay.d.ts.map +1 -0
- package/lib/components/update-overlay.jsx +132 -0
- package/lib/components/update-overlay.jsx.map +1 -0
- package/lib/context/AppConfigContext.d.ts +27 -0
- package/lib/context/AppConfigContext.d.ts.map +1 -1
- package/lib/context/AppConfigContext.jsx.map +1 -1
- package/lib/demos/extension-popup.d.ts +212 -0
- package/lib/demos/extension-popup.d.ts.map +1 -0
- package/lib/demos/extension-popup.jsx +1172 -0
- package/lib/demos/extension-popup.jsx.map +1 -0
- package/lib/demos/index.d.ts +11 -0
- package/lib/demos/index.d.ts.map +1 -0
- package/lib/demos/index.js +14 -0
- package/lib/demos/index.js.map +1 -0
- package/lib/screens/auth/AuthScreen.d.ts +75 -1
- package/lib/screens/auth/AuthScreen.d.ts.map +1 -1
- package/lib/screens/auth/AuthScreen.jsx +356 -122
- package/lib/screens/auth/AuthScreen.jsx.map +1 -1
- package/lib/services/auth.service.d.ts +5 -1
- package/lib/services/auth.service.d.ts.map +1 -1
- package/lib/services/auth.service.js +5 -1
- package/lib/services/auth.service.js.map +1 -1
- package/package.json +7 -1
- package/src/components/auth/PasswordStrengthMeter.tsx +25 -3
- package/src/components/index.ts +1 -0
- package/src/components/profile/SecurityTab.tsx +11 -1
- package/src/components/segmented-toggle.tsx +13 -0
- package/src/components/social-connections.tsx +66 -20
- package/src/components/update-overlay.tsx +206 -0
- package/src/context/AppConfigContext.tsx +27 -0
- package/src/demos/extension-popup.tsx +2051 -0
- package/src/demos/index.ts +38 -0
- package/src/screens/auth/AuthScreen.tsx +701 -312
- package/src/services/auth.service.ts +13 -2
|
@@ -1,6 +1,15 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
interface PasswordStrengthMeterProps {
|
|
3
3
|
password: string;
|
|
4
|
+
/**
|
|
5
|
+
* Render the (empty) meter instead of nothing while `password` is blank, so
|
|
6
|
+
* the row occupies the same height typed or not. The consolidated
|
|
7
|
+
* AuthScreen needs this: its card height is locked to the tallest mode, and
|
|
8
|
+
* a meter that appears on first keystroke would grow the card right back
|
|
9
|
+
* out. Off by default — the standalone Register/ResetPassword screens want
|
|
10
|
+
* the row gone until there is something to measure.
|
|
11
|
+
*/
|
|
12
|
+
reserveSpace?: boolean;
|
|
4
13
|
}
|
|
5
14
|
export declare function calculatePasswordStrength(pass: string): {
|
|
6
15
|
strength: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PasswordStrengthMeter.d.ts","sourceRoot":"","sources":["../../../src/components/auth/PasswordStrengthMeter.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,UAAU,0BAA0B;IAClC,QAAQ,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"PasswordStrengthMeter.d.ts","sourceRoot":"","sources":["../../../src/components/auth/PasswordStrengthMeter.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,UAAU,0BAA0B;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;;;;OAOG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,MAAM;;;;EAqDrD;AAED,QAAA,MAAM,qBAAqB,wDA2CzB,CAAC;AAEH,eAAe,qBAAqB,CAAC"}
|
|
@@ -58,12 +58,18 @@ export function calculatePasswordStrength(pass) {
|
|
|
58
58
|
}
|
|
59
59
|
return { strength: Math.min(strength, 100), color, label };
|
|
60
60
|
}
|
|
61
|
-
const PasswordStrengthMeter = React.memo(function PasswordStrengthMeter({ password, }) {
|
|
62
|
-
if (!password) {
|
|
61
|
+
const PasswordStrengthMeter = React.memo(function PasswordStrengthMeter({ password, reserveSpace = false, }) {
|
|
62
|
+
if (!password && !reserveSpace) {
|
|
63
63
|
return null;
|
|
64
64
|
}
|
|
65
|
-
|
|
66
|
-
|
|
65
|
+
// Blank password in reserve mode: render the same tree fully transparent, so
|
|
66
|
+
// the block holds its exact height without showing an empty gauge that reads
|
|
67
|
+
// as broken. `label`/`strength` are placeholders that are never visible.
|
|
68
|
+
const blank = !password;
|
|
69
|
+
const { strength, color, label } = blank
|
|
70
|
+
? { strength: 0, color: "#333333", label: "Weak" }
|
|
71
|
+
: calculatePasswordStrength(password);
|
|
72
|
+
return (<View className="gap-2" style={blank ? { opacity: 0 } : undefined} pointerEvents={blank ? "none" : "auto"} accessibilityElementsHidden={blank} importantForAccessibility={blank ? "no-hide-descendants" : "auto"}>
|
|
67
73
|
<View className="flex-row gap-1">
|
|
68
74
|
{[0, 1, 2, 3, 4].map((i) => {
|
|
69
75
|
const threshold = (i + 1) * 20;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PasswordStrengthMeter.jsx","sourceRoot":"","sources":["../../../src/components/auth/PasswordStrengthMeter.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"PasswordStrengthMeter.jsx","sourceRoot":"","sources":["../../../src/components/auth/PasswordStrengthMeter.tsx"],"names":[],"mappings":"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"}
|
|
@@ -8,6 +8,7 @@ export { DropdownMenu, DropdownMenuTrigger, DropdownMenuContent, DropdownMenuIte
|
|
|
8
8
|
export { EntropyMark, EntropyByline, ENTROPY_MARK_VIEWBOX, ENTROPY_MARK_ASPECT, ENTROPY_MARK_PATH, ENTROPY_MARK_STEP, type EntropyMarkProps, type EntropyBylineProps, } from "./entropy-mark";
|
|
9
9
|
export { EntropyBootSplash, type EntropyBootSplashProps } from "./entropy-boot-splash";
|
|
10
10
|
export { EntropyMarkAnimated, type EntropyMarkAnimatedProps } from "./entropy-mark-animated";
|
|
11
|
+
export { UpdateOverlay, type UpdateOverlayProps } from "./update-overlay";
|
|
11
12
|
export { EntropyMarkSequential, type EntropyMarkSequentialProps } from "./entropy-mark-sequential";
|
|
12
13
|
export { ErrorBoundary } from "./error-boundary";
|
|
13
14
|
export { Input, SearchInput, EmailInput, PasswordInput, TextArea, type InputProps } from "./input";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,WAAW,EAAE,MAAM,UAAU,CAAC;AAEhE,OAAO,EACL,IAAI,EACJ,UAAU,EACV,WAAW,EACX,UAAU,EACV,SAAS,EACT,eAAe,EACf,KAAK,SAAS,EACd,KAAK,cAAc,EACnB,KAAK,oBAAoB,GAC1B,MAAM,QAAQ,CAAC;AAEhB,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,OAAO,EACL,WAAW,EACX,kBAAkB,EAClB,kBAAkB,EAClB,eAAe,EACf,oBAAoB,EACpB,gBAAgB,GACjB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,SAAS,EACT,kBAAkB,EAClB,iBAAiB,EACjB,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,iBAAiB,GACvB,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAE5F,OAAO,EACL,YAAY,EACZ,mBAAmB,EACnB,mBAAmB,EACnB,gBAAgB,EAChB,wBAAwB,EACxB,iBAAiB,EACjB,qBAAqB,GACtB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,WAAW,EACX,aAAa,EACb,oBAAoB,EACpB,mBAAmB,EACnB,iBAAiB,EACjB,iBAAiB,EACjB,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,GACxB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,iBAAiB,EAAE,KAAK,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAEvF,OAAO,EAAE,mBAAmB,EAAE,KAAK,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"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"}
|
package/lib/components/index.js
CHANGED
|
@@ -10,6 +10,7 @@ export { DropdownMenu, DropdownMenuTrigger, DropdownMenuContent, DropdownMenuIte
|
|
|
10
10
|
export { EntropyMark, EntropyByline, ENTROPY_MARK_VIEWBOX, ENTROPY_MARK_ASPECT, ENTROPY_MARK_PATH, ENTROPY_MARK_STEP, } from "./entropy-mark";
|
|
11
11
|
export { EntropyBootSplash } from "./entropy-boot-splash";
|
|
12
12
|
export { EntropyMarkAnimated } from "./entropy-mark-animated";
|
|
13
|
+
export { UpdateOverlay } from "./update-overlay";
|
|
13
14
|
export { EntropyMarkSequential } from "./entropy-mark-sequential";
|
|
14
15
|
export { ErrorBoundary } from "./error-boundary";
|
|
15
16
|
export { Input, SearchInput, EmailInput, PasswordInput, TextArea } from "./input";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA,wEAAwE;AACxE,uDAAuD;AAEvD,OAAO,EAAE,MAAM,EAAE,UAAU,EAAoB,MAAM,UAAU,CAAC;AAEhE,OAAO,EACL,IAAI,EACJ,UAAU,EACV,WAAW,EACX,UAAU,EACV,SAAS,EACT,eAAe,GAIhB,MAAM,QAAQ,CAAC;AAEhB,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,OAAO,EACL,WAAW,EACX,kBAAkB,EAClB,kBAAkB,EAClB,eAAe,EACf,oBAAoB,EACpB,gBAAgB,GACjB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,SAAS,EACT,kBAAkB,EAClB,iBAAiB,GAIlB,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAE5F,OAAO,EACL,YAAY,EACZ,mBAAmB,EACnB,mBAAmB,EACnB,gBAAgB,EAChB,wBAAwB,EACxB,iBAAiB,EACjB,qBAAqB,GACtB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,WAAW,EACX,aAAa,EACb,oBAAoB,EACpB,mBAAmB,EACnB,iBAAiB,EACjB,iBAAiB,GAGlB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,iBAAiB,EAA+B,MAAM,uBAAuB,CAAC;AAEvF,OAAO,EAAE,mBAAmB,EAAiC,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -20,7 +20,11 @@ export interface SecurityTabProps {
|
|
|
20
20
|
*/
|
|
21
21
|
onComputeReWrap?: (currentPassword: string, newPassword: string) => Promise<{
|
|
22
22
|
symmetric_key_enc: string;
|
|
23
|
-
|
|
23
|
+
kdf: string;
|
|
24
|
+
kdf_salt: string;
|
|
25
|
+
kdf_iterations: number;
|
|
26
|
+
kdf_memory_kib?: number;
|
|
27
|
+
kdf_lanes?: number;
|
|
24
28
|
} | undefined>;
|
|
25
29
|
}
|
|
26
30
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SecurityTab.d.ts","sourceRoot":"","sources":["../../../src/components/profile/SecurityTab.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA2C,MAAM,OAAO,CAAC;AAehE,MAAM,WAAW,gBAAgB;IAC/B,6EAA6E;IAC7E,OAAO,EAAE,OAAO,CAAC;IACjB,4EAA4E;IAC5E,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB;;;;OAIG;IACH,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB;;;;;;;OAOG;IACH,eAAe,CAAC,EAAE,CAChB,eAAe,EAAE,MAAM,EACvB,WAAW,EAAE,MAAM,KAChB,OAAO,
|
|
1
|
+
{"version":3,"file":"SecurityTab.d.ts","sourceRoot":"","sources":["../../../src/components/profile/SecurityTab.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA2C,MAAM,OAAO,CAAC;AAehE,MAAM,WAAW,gBAAgB;IAC/B,6EAA6E;IAC7E,OAAO,EAAE,OAAO,CAAC;IACjB,4EAA4E;IAC5E,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB;;;;OAIG;IACH,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB;;;;;;;OAOG;IACH,eAAe,CAAC,EAAE,CAChB,eAAe,EAAE,MAAM,EACvB,WAAW,EAAE,MAAM,KAChB,OAAO,CACR;QACE,iBAAiB,EAAE,MAAM,CAAC;QAC1B,GAAG,EAAE,MAAM,CAAC;QACZ,QAAQ,EAAE,MAAM,CAAC;QACjB,cAAc,EAAE,MAAM,CAAC;QACvB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,GACD,SAAS,CACZ,CAAC;CACH;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,EAAE,gBAAgB,qBA0L/F"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SecurityTab.jsx","sourceRoot":"","sources":["../../../src/components/profile/SecurityTab.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAChE,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AAC3E,OAAO,WAAW,MAAM,6BAA6B,CAAC;AACtD,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,sEAAsE;AACtE,gEAAgE;AAChE,+BAA+B;AAC/B,OAAO,EAAE,aAAa,IAAI,KAAK,EAAE,MAAM,UAAU,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"SecurityTab.jsx","sourceRoot":"","sources":["../../../src/components/profile/SecurityTab.tsx"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,15 @@ export interface SegmentedOption<T extends string> {
|
|
|
4
4
|
label: string;
|
|
5
5
|
/** When false the segment is shown but not selectable (e.g. "coming soon"). */
|
|
6
6
|
disabled?: boolean;
|
|
7
|
+
/**
|
|
8
|
+
* Optional glyph shown left of the label.
|
|
9
|
+
*
|
|
10
|
+
* A render function rather than a node so the icon can take the segment's
|
|
11
|
+
* current foreground colour — the same reason the label's colour is applied
|
|
12
|
+
* inline. A fixed-colour node would go invisible against the indicator on
|
|
13
|
+
* whichever of the two states it was not drawn for.
|
|
14
|
+
*/
|
|
15
|
+
icon?: (color: string) => React.ReactNode;
|
|
7
16
|
}
|
|
8
17
|
export interface SegmentedToggleProps<T extends string> {
|
|
9
18
|
value: T;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"segmented-toggle.d.ts","sourceRoot":"","sources":["../../src/components/segmented-toggle.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAC;AAUxC,MAAM,WAAW,eAAe,CAAC,CAAC,SAAS,MAAM;IAC/C,GAAG,EAAE,CAAC,CAAC;IACP,KAAK,EAAE,MAAM,CAAC;IACd,+EAA+E;IAC/E,QAAQ,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"segmented-toggle.d.ts","sourceRoot":"","sources":["../../src/components/segmented-toggle.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAC;AAUxC,MAAM,WAAW,eAAe,CAAC,CAAC,SAAS,MAAM;IAC/C,GAAG,EAAE,CAAC,CAAC;IACP,KAAK,EAAE,MAAM,CAAC;IACd,+EAA+E;IAC/E,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;;;;OAOG;IACH,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,KAAK,CAAC,SAAS,CAAC;CAC3C;AAED,MAAM,WAAW,oBAAoB,CAAC,CAAC,SAAS,MAAM;IACpD,KAAK,EAAE,CAAC,CAAC;IACT,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9B,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC;IAC5B,+EAA+E;IAC/E,IAAI,CAAC,EAAE,IAAI,GAAG,SAAS,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAAC,CAAC,SAAS,MAAM,EAAE,EAChD,KAAK,EACL,OAAO,EACP,QAAQ,EACR,IAAgB,EAChB,SAAS,GACV,EAAE,oBAAoB,CAAC,CAAC,CAAC,qBA8EzB;AAED,eAAe,eAAe,CAAC"}
|
|
@@ -44,10 +44,14 @@ export function SegmentedToggle({ value, options, onChange, size = "default", cl
|
|
|
44
44
|
const active = opt.key === value;
|
|
45
45
|
return (<Pressable key={opt.key} accessibilityRole="tab" accessibilityState={{ selected: active, disabled: !!opt.disabled }} disabled={opt.disabled} onPress={() => !opt.disabled && onChange(opt.key)} style={{
|
|
46
46
|
flex: 1,
|
|
47
|
+
flexDirection: "row",
|
|
47
48
|
alignItems: "center",
|
|
49
|
+
justifyContent: "center",
|
|
50
|
+
gap: opt.icon ? 7 : 0,
|
|
48
51
|
paddingVertical: vPad,
|
|
49
52
|
opacity: opt.disabled ? 0.45 : 1,
|
|
50
53
|
}}>
|
|
54
|
+
{opt.icon?.(active ? p.primaryForeground : p.mutedForeground)}
|
|
51
55
|
<Text style={{
|
|
52
56
|
fontSize,
|
|
53
57
|
fontWeight: active ? "700" : "500",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"segmented-toggle.jsx","sourceRoot":"","sources":["../../src/components/segmented-toggle.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAA0B,MAAM,cAAc,CAAC;AAC7E,OAAO,QAAQ,EAAE,EACf,MAAM,EACN,gBAAgB,EAChB,cAAc,EACd,UAAU,GACX,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"segmented-toggle.jsx","sourceRoot":"","sources":["../../src/components/segmented-toggle.tsx"],"names":[],"mappings":"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"}
|
|
@@ -3,13 +3,30 @@ export interface SocialConnectionsProps {
|
|
|
3
3
|
onApple?: () => void;
|
|
4
4
|
onGoogle?: () => void;
|
|
5
5
|
onMicrosoft?: () => void;
|
|
6
|
+
/**
|
|
7
|
+
* "Continue with Entropy" — the first-party identity provider.
|
|
8
|
+
*
|
|
9
|
+
* Listed first because it is the one that always works: the other three are
|
|
10
|
+
* upstream connectors configured inside Entropy Access, so they light up as
|
|
11
|
+
* that configuration lands, while this one needs nothing but the IdP itself.
|
|
12
|
+
*/
|
|
13
|
+
onEntropy?: () => void;
|
|
6
14
|
}
|
|
7
15
|
/**
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
16
|
+
* Button row for federated sign-in: Entropy / Apple / Google / Microsoft.
|
|
17
|
+
*
|
|
18
|
+
* Each handler is optional — a provider with no handler still renders but fires
|
|
19
|
+
* no action, which is the "coming soon" UX the consumer apps use during a
|
|
20
|
+
* staged rollout. All four route through ONE endpoint on the server
|
|
21
|
+
* (`/api/auth/oidc/start?connector=…`); the difference between them is a hint
|
|
22
|
+
* passed to Access, not a separate flow.
|
|
23
|
+
*
|
|
24
|
+
* The buttons are icon-only, so each carries a tooltip AND an
|
|
25
|
+
* `accessibilityLabel`. The two are not redundant: the tooltip is for a sighted
|
|
26
|
+
* user hovering on web or long-pressing on native, the label is what a screen
|
|
27
|
+
* reader announces. Without the tooltip these are four unlabelled squares, and
|
|
28
|
+
* a user has to guess which mark is which.
|
|
12
29
|
*/
|
|
13
|
-
export declare function SocialConnections({ onApple, onGoogle, onMicrosoft, }: SocialConnectionsProps): React.JSX.Element;
|
|
30
|
+
export declare function SocialConnections({ onApple, onGoogle, onMicrosoft, onEntropy, }: SocialConnectionsProps): React.JSX.Element;
|
|
14
31
|
export default SocialConnections;
|
|
15
32
|
//# sourceMappingURL=social-connections.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"social-connections.d.ts","sourceRoot":"","sources":["../../src/components/social-connections.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"social-connections.d.ts","sourceRoot":"","sources":["../../src/components/social-connections.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAO1B,MAAM,WAAW,sBAAsB;IACrC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;CACxB;AAqBD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,iBAAiB,CAAC,EAChC,OAAO,EACP,QAAQ,EACR,WAAW,EACX,SAAS,GACV,EAAE,sBAAsB,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAsC5C;AAED,eAAe,iBAAiB,CAAC"}
|
|
@@ -2,29 +2,55 @@ import React from "react";
|
|
|
2
2
|
import { Pressable, View } from "react-native";
|
|
3
3
|
import { Ionicons } from "@expo/vector-icons";
|
|
4
4
|
import { useColorScheme } from "nativewind";
|
|
5
|
+
import { EntropyMark } from "./entropy-mark";
|
|
6
|
+
import { Tooltip, TooltipContent, TooltipTrigger } from "./tooltip";
|
|
5
7
|
const PROVIDERS = [
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
8
|
+
// The real `>_` company mark, not a stand-in glyph. This is a first-party
|
|
9
|
+
// sign-in sitting next to three brand marks; anything generic reads as a
|
|
10
|
+
// placeholder rather than as an option worth picking.
|
|
11
|
+
{ key: "entropy", label: "Entropy", icon: null },
|
|
12
|
+
{ key: "apple", label: "Apple", icon: "logo-apple" },
|
|
13
|
+
{ key: "google", label: "Google", icon: "logo-google" },
|
|
14
|
+
{ key: "microsoft", label: "Microsoft", icon: "logo-microsoft" },
|
|
9
15
|
];
|
|
10
16
|
/**
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
17
|
+
* Button row for federated sign-in: Entropy / Apple / Google / Microsoft.
|
|
18
|
+
*
|
|
19
|
+
* Each handler is optional — a provider with no handler still renders but fires
|
|
20
|
+
* no action, which is the "coming soon" UX the consumer apps use during a
|
|
21
|
+
* staged rollout. All four route through ONE endpoint on the server
|
|
22
|
+
* (`/api/auth/oidc/start?connector=…`); the difference between them is a hint
|
|
23
|
+
* passed to Access, not a separate flow.
|
|
24
|
+
*
|
|
25
|
+
* The buttons are icon-only, so each carries a tooltip AND an
|
|
26
|
+
* `accessibilityLabel`. The two are not redundant: the tooltip is for a sighted
|
|
27
|
+
* user hovering on web or long-pressing on native, the label is what a screen
|
|
28
|
+
* reader announces. Without the tooltip these are four unlabelled squares, and
|
|
29
|
+
* a user has to guess which mark is which.
|
|
15
30
|
*/
|
|
16
|
-
export function SocialConnections({ onApple, onGoogle, onMicrosoft, }) {
|
|
31
|
+
export function SocialConnections({ onApple, onGoogle, onMicrosoft, onEntropy, }) {
|
|
17
32
|
const { colorScheme } = useColorScheme();
|
|
18
33
|
const isDark = colorScheme === "dark";
|
|
19
34
|
const handlers = {
|
|
35
|
+
entropy: onEntropy,
|
|
20
36
|
apple: onApple,
|
|
21
37
|
google: onGoogle,
|
|
22
38
|
microsoft: onMicrosoft,
|
|
23
39
|
};
|
|
24
40
|
return (<View className="w-full flex-row items-center justify-center gap-3">
|
|
25
|
-
{PROVIDERS.map(({ key, icon }) => (<
|
|
26
|
-
<
|
|
27
|
-
|
|
41
|
+
{PROVIDERS.map(({ key, icon, label }) => (<Tooltip key={key} delayDuration={200}>
|
|
42
|
+
<TooltipTrigger asChild>
|
|
43
|
+
<Pressable onPress={handlers[key]} className="h-12 w-12 items-center justify-center rounded-lg border border-border dark:border-neutral-600 active:opacity-70" accessibilityRole="button" accessibilityLabel={`Continue with ${label}`}>
|
|
44
|
+
{icon ? (<Ionicons name={icon} size={22} color={isDark ? "#FFFFFF" : "#000000"}/>) : (
|
|
45
|
+
// driftScale 0 collapses the echo offsets onto the mark. The
|
|
46
|
+
// drift is a boot-animation effect and at 18px it just reads as
|
|
47
|
+
// a smear, which next to three crisp brand glyphs looks like a
|
|
48
|
+
// rendering fault rather than a logo.
|
|
49
|
+
<EntropyMark size={20} driftScale={0}/>)}
|
|
50
|
+
</Pressable>
|
|
51
|
+
</TooltipTrigger>
|
|
52
|
+
<TooltipContent>{`Continue with ${label}`}</TooltipContent>
|
|
53
|
+
</Tooltip>))}
|
|
28
54
|
</View>);
|
|
29
55
|
}
|
|
30
56
|
export default SocialConnections;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"social-connections.jsx","sourceRoot":"","sources":["../../src/components/social-connections.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"social-connections.jsx","sourceRoot":"","sources":["../../src/components/social-connections.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAyBpE,MAAM,SAAS,GAAwB;IACrC,0EAA0E;IAC1E,yEAAyE;IACzE,sDAAsD;IACtD,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE;IAChD,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE;IACpD,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,aAAa,EAAE;IACvD,EAAE,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,gBAAgB,EAAE;CACjE,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,iBAAiB,CAAC,EAChC,OAAO,EACP,QAAQ,EACR,WAAW,EACX,SAAS,GACc;IACvB,MAAM,EAAE,WAAW,EAAE,GAAG,cAAc,EAAE,CAAC;IACzC,MAAM,MAAM,GAAG,WAAW,KAAK,MAAM,CAAC;IAEtC,MAAM,QAAQ,GAAkD;QAC9D,OAAO,EAAE,SAAS;QAClB,KAAK,EAAE,OAAO;QACd,MAAM,EAAE,QAAQ;QAChB,SAAS,EAAE,WAAW;KACvB,CAAC;IAEF,OAAO,CACL,CAAC,IAAI,CAAC,SAAS,CAAC,mDAAmD,CACjE;MAAA,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CACvC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,CACpC;UAAA,CAAC,cAAc,CAAC,OAAO,CACrB;YAAA,CAAC,SAAS,CACR,OAAO,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CACvB,SAAS,CAAC,iHAAiH,CAC3H,iBAAiB,CAAC,QAAQ,CAC1B,kBAAkB,CAAC,CAAC,iBAAiB,KAAK,EAAE,CAAC,CAE7C;cAAA,CAAC,IAAI,CAAC,CAAC,CAAC,CACN,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,EAAG,CAC1E,CAAC,CAAC,CAAC;YACF,6DAA6D;YAC7D,gEAAgE;YAChE,+DAA+D;YAC/D,sCAAsC;YACtC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAG,CACzC,CACH;YAAA,EAAE,SAAS,CACb;UAAA,EAAE,cAAc,CAChB;UAAA,CAAC,cAAc,CAAC,CAAC,iBAAiB,KAAK,EAAE,CAAC,EAAE,cAAc,CAC5D;QAAA,EAAE,OAAO,CAAC,CACX,CAAC,CACJ;IAAA,EAAE,IAAI,CAAC,CACR,CAAC;AACJ,CAAC;AAED,eAAe,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
export interface UpdateOverlayProps {
|
|
3
|
+
/** "downloading" shows a progress-aware label; "restarting" is the moment
|
|
4
|
+
* between a finished download and the reload call that applies it. */
|
|
5
|
+
phase: "downloading" | "restarting";
|
|
6
|
+
/** 0-1, and only meaningful while downloading. Undefined when the update
|
|
7
|
+
* server sent no Content-Length for expo-updates to compute it from, which
|
|
8
|
+
* is why the percentage renders conditionally rather than defaulting to 0 —
|
|
9
|
+
* a "0%" that never moves reads as a stall. */
|
|
10
|
+
progress?: number;
|
|
11
|
+
/**
|
|
12
|
+
* Glyph shown inside the ring. Defaults to the Entropy mark.
|
|
13
|
+
*
|
|
14
|
+
* A slot rather than a name or an icon set, because the consumers genuinely
|
|
15
|
+
* differ: vault shows its own product mark, wheatley and glados show the
|
|
16
|
+
* shared one. Whatever is passed must not derive its colour from the theme,
|
|
17
|
+
* for the reason in the header — pass an explicit ink.
|
|
18
|
+
*/
|
|
19
|
+
mark?: React.ReactNode;
|
|
20
|
+
/**
|
|
21
|
+
* Force a colour scheme instead of following the system.
|
|
22
|
+
*
|
|
23
|
+
* Dark-only apps pass `"dark"`: without it the overlay would follow a light
|
|
24
|
+
* system setting and render a white flash before a dark app.
|
|
25
|
+
*/
|
|
26
|
+
scheme?: "light" | "dark";
|
|
27
|
+
/**
|
|
28
|
+
* Ground colour override.
|
|
29
|
+
*
|
|
30
|
+
* Defaults to the palette's own background. Worth setting when the native
|
|
31
|
+
* splash and window background use a specific value — matching it makes the
|
|
32
|
+
* overlay read as a continuation of the launch rather than a second screen.
|
|
33
|
+
*/
|
|
34
|
+
background?: string;
|
|
35
|
+
/** Label under the ring while downloading. */
|
|
36
|
+
downloadingLabel?: string;
|
|
37
|
+
/** Label under the ring while restarting. */
|
|
38
|
+
restartingLabel?: string;
|
|
39
|
+
}
|
|
40
|
+
export declare function UpdateOverlay({ phase, progress, mark, scheme, background, downloadingLabel, restartingLabel, }: UpdateOverlayProps): React.JSX.Element;
|
|
41
|
+
//# sourceMappingURL=update-overlay.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update-overlay.d.ts","sourceRoot":"","sources":["../../src/components/update-overlay.tsx"],"names":[],"mappings":"AAmCA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAY/B,MAAM,WAAW,kBAAkB;IACjC;2EACuE;IACvE,KAAK,EAAE,aAAa,GAAG,YAAY,CAAC;IACpC;;;oDAGgD;IAChD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;;;;OAOG;IACH,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB;;;;;OAKG;IACH,MAAM,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC1B;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,8CAA8C;IAC9C,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,6CAA6C;IAC7C,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAuBD,wBAAgB,aAAa,CAAC,EAC5B,KAAK,EACL,QAAQ,EACR,IAAI,EACJ,MAAM,EACN,UAAU,EACV,gBAAuC,EACvC,eAA+B,GAChC,EAAE,kBAAkB,qBAuDpB"}
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
// Full-screen overlay shown while an EAS Update downloads and applies.
|
|
2
|
+
//
|
|
3
|
+
// It exists because of what expo-updates does by DEFAULT, which is nothing
|
|
4
|
+
// visible. `fallbackToCacheTimeout: 0` means the app launches from the cached
|
|
5
|
+
// bundle immediately, fetches any new update in the background, and applies it
|
|
6
|
+
// on the NEXT cold start — so a tester relaunches once, sees the old build,
|
|
7
|
+
// relaunches again, and sees the new one. Every app here reacts to the pending
|
|
8
|
+
// update by reloading straight away instead; this component is what turns the
|
|
9
|
+
// resulting pause into a visible, explained wait rather than the app appearing
|
|
10
|
+
// to hang.
|
|
11
|
+
//
|
|
12
|
+
// # Why this is in the shared package
|
|
13
|
+
//
|
|
14
|
+
// It was written in vault, ported by hand into wheatley and glados, and then
|
|
15
|
+
// FIXED in the ports while vault kept the bug (see the colour note below).
|
|
16
|
+
// Three copies, one of which was wrong, of a component whose entire job is to
|
|
17
|
+
// render correctly in the worst conditions the app ever has. Sharing it is how
|
|
18
|
+
// the next fix reaches all three.
|
|
19
|
+
//
|
|
20
|
+
// # Every colour is a literal, and that is the fix
|
|
21
|
+
//
|
|
22
|
+
// This renders while the app is NOT ready — during a cold start whose update
|
|
23
|
+
// is still downloading, and during the reload that applies it. NativeWind's
|
|
24
|
+
// `dark:` variant and theme tokens like `text-foreground` only resolve once the
|
|
25
|
+
// provider tree has mounted and run its effects, which by definition has not
|
|
26
|
+
// happened yet. Asking the theme produced light-mode ink on a dark ground: an
|
|
27
|
+
// invisible label on what the user reads as a black screen. Observed for real
|
|
28
|
+
// on Android in both wheatley (2026-08-23) and vault (2026-08-29).
|
|
29
|
+
//
|
|
30
|
+
// The values ARE the palettes' own — this matches the theme, it just does not
|
|
31
|
+
// ask it. An overlay whose whole job is to render before the app is ready
|
|
32
|
+
// cannot depend on app state to be legible.
|
|
33
|
+
//
|
|
34
|
+
// reanimated rather than RN's `Animated`, matching the animation convention in
|
|
35
|
+
// every consumer.
|
|
36
|
+
import * as React from "react";
|
|
37
|
+
import { StyleSheet, Text, View, useColorScheme } from "react-native";
|
|
38
|
+
import Animated, { Easing, useAnimatedStyle, useSharedValue, withRepeat, withTiming, } from "react-native-reanimated";
|
|
39
|
+
import { EntropyMark } from "./entropy-mark";
|
|
40
|
+
/** How long one full turn takes. Slow enough to read as deliberate, fast
|
|
41
|
+
* enough to look like work rather than a frozen frame. */
|
|
42
|
+
const SPIN_MS = 1100;
|
|
43
|
+
const PALETTE = {
|
|
44
|
+
dark: {
|
|
45
|
+
ground: "#000000",
|
|
46
|
+
ink: "#EBEFEB",
|
|
47
|
+
muted: "#A3A3A3",
|
|
48
|
+
track: "#262626",
|
|
49
|
+
arc: "#FFFFFF",
|
|
50
|
+
},
|
|
51
|
+
light: {
|
|
52
|
+
ground: "#FFFFFF",
|
|
53
|
+
ink: "#0A0A0A",
|
|
54
|
+
muted: "#737373",
|
|
55
|
+
track: "#E5E5E5",
|
|
56
|
+
arc: "#000000",
|
|
57
|
+
},
|
|
58
|
+
};
|
|
59
|
+
export function UpdateOverlay({ phase, progress, mark, scheme, background, downloadingLabel = "Installing update…", restartingLabel = "Restarting…", }) {
|
|
60
|
+
// RN's own hook, not NativeWind's: this has to work before the NativeWind
|
|
61
|
+
// provider has done anything, which is the entire premise of the component.
|
|
62
|
+
const system = useColorScheme();
|
|
63
|
+
const isDark = (scheme ?? system) !== "light";
|
|
64
|
+
const c = isDark ? PALETTE.dark : PALETTE.light;
|
|
65
|
+
const rotation = useSharedValue(0);
|
|
66
|
+
// Started on mount rather than gated on a `visible` prop: the caller renders
|
|
67
|
+
// this conditionally, so mounting IS becoming visible, and a prop would be a
|
|
68
|
+
// second source of truth for the same fact.
|
|
69
|
+
React.useEffect(() => {
|
|
70
|
+
rotation.value = withRepeat(withTiming(360, { duration: SPIN_MS, easing: Easing.linear }), -1, false);
|
|
71
|
+
}, [rotation]);
|
|
72
|
+
const ringStyle = useAnimatedStyle(() => ({
|
|
73
|
+
transform: [{ rotate: `${rotation.value}deg` }],
|
|
74
|
+
}));
|
|
75
|
+
return (<View style={[StyleSheet.absoluteFill, styles.ground, { backgroundColor: background ?? c.ground }]}
|
|
76
|
+
// Announced as one modal thing rather than as its parts: a screen reader
|
|
77
|
+
// reading "Installing update" then "43%" as separate nodes during a
|
|
78
|
+
// two-second wait is noise, and the percentage is decoration on top of
|
|
79
|
+
// the label rather than information of its own.
|
|
80
|
+
accessibilityViewIsModal accessibilityLabel={phase === "downloading" ? downloadingLabel : restartingLabel}>
|
|
81
|
+
<View style={styles.markWell}>
|
|
82
|
+
<Animated.View style={[
|
|
83
|
+
ringStyle,
|
|
84
|
+
styles.ring,
|
|
85
|
+
// The track, then one lit arc. A single contrasting border-top is
|
|
86
|
+
// what makes a plain rotation read as a spinner — a uniform ring
|
|
87
|
+
// rotating is indistinguishable from a static one.
|
|
88
|
+
{ borderColor: c.track, borderTopColor: c.arc },
|
|
89
|
+
]}/>
|
|
90
|
+
{mark ?? <EntropyMark size={32} variant="chroma"/>}
|
|
91
|
+
</View>
|
|
92
|
+
<Text style={[styles.label, { color: c.ink }]}>
|
|
93
|
+
{phase === "downloading" ? downloadingLabel : restartingLabel}
|
|
94
|
+
</Text>
|
|
95
|
+
{phase === "downloading" && typeof progress === "number" ? (<Text style={[styles.progress, { color: c.muted }]}>{Math.round(progress * 100)}%</Text>) : null}
|
|
96
|
+
</View>);
|
|
97
|
+
}
|
|
98
|
+
// StyleSheet rather than className throughout, deliberately: NativeWind classes
|
|
99
|
+
// resolve through the same provider this component cannot wait for. Plain RN
|
|
100
|
+
// styles are the only thing guaranteed to apply here. The ring also needs
|
|
101
|
+
// concrete numbers that agree with each other (a 72px box, a 36px radius, one
|
|
102
|
+
// 3px border), and its transform comes from an animated style anyway.
|
|
103
|
+
const styles = StyleSheet.create({
|
|
104
|
+
ground: {
|
|
105
|
+
alignItems: "center",
|
|
106
|
+
justifyContent: "center",
|
|
107
|
+
// Both, not either: zIndex orders within the JS view hierarchy and
|
|
108
|
+
// elevation is what Android's native compositor honours. A high zIndex
|
|
109
|
+
// alone can still be drawn under an elevated sibling.
|
|
110
|
+
zIndex: 10000,
|
|
111
|
+
elevation: 10000,
|
|
112
|
+
},
|
|
113
|
+
markWell: {
|
|
114
|
+
width: 72,
|
|
115
|
+
height: 72,
|
|
116
|
+
alignItems: "center",
|
|
117
|
+
justifyContent: "center",
|
|
118
|
+
},
|
|
119
|
+
ring: {
|
|
120
|
+
position: "absolute",
|
|
121
|
+
width: 72,
|
|
122
|
+
height: 72,
|
|
123
|
+
borderRadius: 36,
|
|
124
|
+
borderWidth: 3,
|
|
125
|
+
},
|
|
126
|
+
// No font family: the overlay can render before the app's fonts have loaded,
|
|
127
|
+
// and naming one that is not there yet gives a blank label rather than a
|
|
128
|
+
// system-font fallback.
|
|
129
|
+
label: { marginTop: 20, fontSize: 16, fontWeight: "500" },
|
|
130
|
+
progress: { marginTop: 4, fontSize: 12 },
|
|
131
|
+
});
|
|
132
|
+
//# sourceMappingURL=update-overlay.jsx.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update-overlay.jsx","sourceRoot":"","sources":["../../src/components/update-overlay.tsx"],"names":[],"mappings":"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"}
|
|
@@ -32,6 +32,17 @@ export type LogoComponent = React.ComponentType<{
|
|
|
32
32
|
*/
|
|
33
33
|
color?: string;
|
|
34
34
|
style?: StyleProp<ViewStyle> | StyleProp<ImageStyle>;
|
|
35
|
+
/**
|
|
36
|
+
* Render the mark flush to its box, without whatever internal padding it
|
|
37
|
+
* normally carries.
|
|
38
|
+
*
|
|
39
|
+
* A mark usually bakes in breathing room so it drops into arbitrary layouts
|
|
40
|
+
* safely. In a lockup that padding fights the layout instead: the caller is
|
|
41
|
+
* already controlling the gap, and the baked margin makes the mark read as
|
|
42
|
+
* smaller than the text it is supposed to match. Logos that have no internal
|
|
43
|
+
* padding can ignore this.
|
|
44
|
+
*/
|
|
45
|
+
bleed?: boolean;
|
|
35
46
|
}>;
|
|
36
47
|
export interface AppConfig {
|
|
37
48
|
/** User-facing brand name. Renders in headings, toasts, MFA issuer, etc. */
|
|
@@ -45,6 +56,22 @@ export interface AppConfig {
|
|
|
45
56
|
* a generic "An Entropy Softworks platform".
|
|
46
57
|
*/
|
|
47
58
|
tagline?: string;
|
|
59
|
+
/**
|
|
60
|
+
* How to set the tagline against the app name. Omit for the default: stacked
|
|
61
|
+
* centred underneath, no rule.
|
|
62
|
+
*
|
|
63
|
+
* "inline" — same line, pipe-separated: `Vault | Password Manager`
|
|
64
|
+
* "ruled" — under the name, hairline rule between the two
|
|
65
|
+
* "lockup" — logo to the LEFT of the name and tagline stacked, with the
|
|
66
|
+
* mark sized to the height of those two lines together. The
|
|
67
|
+
* conventional app lockup, and the tidiest option when the
|
|
68
|
+
* tagline is a short category label.
|
|
69
|
+
*
|
|
70
|
+
* `"inline"` and `"lockup"` both need an app-name text to set against, so a
|
|
71
|
+
* `logoIsWordmark` mark — which renders alone at its natural width — falls
|
|
72
|
+
* back to `"ruled"`.
|
|
73
|
+
*/
|
|
74
|
+
taglineLayout?: "inline" | "ruled" | "lockup";
|
|
48
75
|
/**
|
|
49
76
|
* Optional terms-of-service markdown / plain text. Welcome screen and
|
|
50
77
|
* the dedicated terms screen render this. When omitted, the screens
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AppConfigContext.d.ts","sourceRoot":"","sources":["../../src/context/AppConfigContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA6C,MAAM,OAAO,CAAC;AAClE,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,KAAK,UAAU,EAAE,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAE/E;;;;GAIG;AACH,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,IAAI,CAAC;IACd,KAAK,EAAE,IAAI,CAAC;IACZ,QAAQ,EAAE,IAAI,CAAC;IACf,cAAc,EAAE,IAAI,CAAC;IACrB,aAAa,EAAE,IAAI,CAAC;IACpB,WAAW,EAAE,IAAI,CAAC;IAClB,YAAY,EAAE,IAAI,CAAC;IACnB,SAAS,EAAE,IAAI,CAAC;IAChB,cAAc,EAAE,IAAI,CAAC;IACrB,aAAa,EAAE,IAAI,CAAC;IACpB,YAAY,EAAE,IAAI,CAAC;IACnB,UAAU,EAAE,IAAI,CAAC;IACjB,yEAAyE;IACzE,IAAI,EAAE,IAAI,CAAC;CACZ;AAED,MAAM,MAAM,aAAa,GAAG,KAAK,CAAC,aAAa,CAAC;IAC9C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"AppConfigContext.d.ts","sourceRoot":"","sources":["../../src/context/AppConfigContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA6C,MAAM,OAAO,CAAC;AAClE,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,KAAK,UAAU,EAAE,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAE/E;;;;GAIG;AACH,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,IAAI,CAAC;IACd,KAAK,EAAE,IAAI,CAAC;IACZ,QAAQ,EAAE,IAAI,CAAC;IACf,cAAc,EAAE,IAAI,CAAC;IACrB,aAAa,EAAE,IAAI,CAAC;IACpB,WAAW,EAAE,IAAI,CAAC;IAClB,YAAY,EAAE,IAAI,CAAC;IACnB,SAAS,EAAE,IAAI,CAAC;IAChB,cAAc,EAAE,IAAI,CAAC;IACrB,aAAa,EAAE,IAAI,CAAC;IACpB,YAAY,EAAE,IAAI,CAAC;IACnB,UAAU,EAAE,IAAI,CAAC;IACjB,yEAAyE;IACzE,IAAI,EAAE,IAAI,CAAC;CACZ;AAED,MAAM,MAAM,aAAa,GAAG,KAAK,CAAC,aAAa,CAAC;IAC9C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC;IACrD;;;;;;;;;OASG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC,CAAC;AAEH,MAAM,WAAW,SAAS;IACxB,4EAA4E;IAC5E,OAAO,EAAE,MAAM,CAAC;IAChB,qDAAqD;IACrD,IAAI,EAAE,aAAa,CAAC;IACpB,yBAAyB;IACzB,MAAM,EAAE,SAAS,CAAC;IAClB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;;;;;;;;;;;OAcG;IACH,aAAa,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,QAAQ,CAAC;IAC9C;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,qDAAqD;IACrD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;;;OAMG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAID,wBAAgB,iBAAiB,CAAC,EAChC,MAAM,EACN,QAAQ,GACT,EAAE;IACD,MAAM,EAAE,SAAS,CAAC;IAClB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,qBAGA;AAED,wBAAgB,YAAY,IAAI,SAAS,CAQxC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AppConfigContext.jsx","sourceRoot":"","sources":["../../src/context/AppConfigContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,aAAa,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"AppConfigContext.jsx","sourceRoot":"","sources":["../../src/context/AppConfigContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,aAAa,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAoGlE,MAAM,gBAAgB,GAAG,aAAa,CAAmB,IAAI,CAAC,CAAC;AAE/D,MAAM,UAAU,iBAAiB,CAAC,EAChC,MAAM,EACN,QAAQ,GAIT;IACC,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAC9C,OAAO,CAAC,gBAAgB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,gBAAgB,CAAC,QAAQ,CAAC,CAAC;AACzF,CAAC;AAED,MAAM,UAAU,YAAY;IAC1B,MAAM,GAAG,GAAG,UAAU,CAAC,gBAAgB,CAAC,CAAC;IACzC,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,MAAM,IAAI,KAAK,CACb,gFAAgF,CACjF,CAAC;IACJ,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
|