@oxyhq/services 8.0.1 → 8.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/lib/commonjs/index.js +7 -0
  2. package/lib/commonjs/index.js.map +1 -1
  3. package/lib/commonjs/ui/client.js +7 -0
  4. package/lib/commonjs/ui/client.js.map +1 -1
  5. package/lib/commonjs/ui/components/OxyAuthPrompt.js +124 -0
  6. package/lib/commonjs/ui/components/OxyAuthPrompt.js.map +1 -0
  7. package/lib/commonjs/ui/index.js +7 -0
  8. package/lib/commonjs/ui/index.js.map +1 -1
  9. package/lib/module/index.js +1 -0
  10. package/lib/module/index.js.map +1 -1
  11. package/lib/module/ui/client.js +1 -0
  12. package/lib/module/ui/client.js.map +1 -1
  13. package/lib/module/ui/components/OxyAuthPrompt.js +118 -0
  14. package/lib/module/ui/components/OxyAuthPrompt.js.map +1 -0
  15. package/lib/module/ui/index.js +1 -0
  16. package/lib/module/ui/index.js.map +1 -1
  17. package/lib/typescript/commonjs/index.d.ts +2 -0
  18. package/lib/typescript/commonjs/index.d.ts.map +1 -1
  19. package/lib/typescript/commonjs/ui/client.d.ts +2 -0
  20. package/lib/typescript/commonjs/ui/client.d.ts.map +1 -1
  21. package/lib/typescript/commonjs/ui/components/OxyAuthPrompt.d.ts +59 -0
  22. package/lib/typescript/commonjs/ui/components/OxyAuthPrompt.d.ts.map +1 -0
  23. package/lib/typescript/commonjs/ui/index.d.ts +2 -0
  24. package/lib/typescript/commonjs/ui/index.d.ts.map +1 -1
  25. package/lib/typescript/module/index.d.ts +2 -0
  26. package/lib/typescript/module/index.d.ts.map +1 -1
  27. package/lib/typescript/module/ui/client.d.ts +2 -0
  28. package/lib/typescript/module/ui/client.d.ts.map +1 -1
  29. package/lib/typescript/module/ui/components/OxyAuthPrompt.d.ts +59 -0
  30. package/lib/typescript/module/ui/components/OxyAuthPrompt.d.ts.map +1 -0
  31. package/lib/typescript/module/ui/index.d.ts +2 -0
  32. package/lib/typescript/module/ui/index.d.ts.map +1 -1
  33. package/package.json +1 -1
  34. package/src/index.ts +2 -0
  35. package/src/ui/client.ts +2 -0
  36. package/src/ui/components/OxyAuthPrompt.tsx +162 -0
  37. package/src/ui/index.ts +2 -0
@@ -69,6 +69,12 @@ Object.defineProperty(exports, "NotificationsScreen", {
69
69
  return _NotificationsScreen.default;
70
70
  }
71
71
  });
72
+ Object.defineProperty(exports, "OxyAuthPrompt", {
73
+ enumerable: true,
74
+ get: function () {
75
+ return _OxyAuthPrompt.OxyAuthPrompt;
76
+ }
77
+ });
72
78
  Object.defineProperty(exports, "OxyLogo", {
73
79
  enumerable: true,
74
80
  get: function () {
@@ -575,6 +581,7 @@ var _errorHandlers = require("./ui/utils/errorHandlers.js");
575
581
  var _useFileFiltering = require("./ui/hooks/useFileFiltering.js");
576
582
  var _Avatar = _interopRequireDefault(require("./ui/components/Avatar.js"));
577
583
  var _OxySignInButton = require("./ui/components/OxySignInButton.js");
584
+ var _OxyAuthPrompt = require("./ui/components/OxyAuthPrompt.js");
578
585
  var _OxyLogo = _interopRequireDefault(require("./ui/components/OxyLogo.js"));
579
586
  var _FollowButton = _interopRequireDefault(require("./ui/components/FollowButton.js"));
580
587
  var _LogoIcon = require("./ui/components/logo/LogoIcon.js");
@@ -1 +1 @@
1
- {"version":3,"names":["_core","require","_reactNative","_OxyProvider","_interopRequireDefault","_OxyContext","_useAuth","_FontLoader","_authStore","_assetStore","_useSessionSocket","_useAssets","_useFileDownloadUrl","_useFollow","_useAccountQueries","_useServicesQueries","_useSecurityQueries","_usePaymentQueries","_useAccountMutations","_useServicesMutations","_mutationFactory","_mutationKeys","_queryKeys","_useMutationStatus","_errorHandlers","_useFileFiltering","_Avatar","_OxySignInButton","_OxyLogo","_FollowButton","_LogoIcon","_LogoText","_ActingAsBanner","_AccountMenu","_AccountMenuButton","_ManageAccountScreen","_NotificationsScreen","_PreferencesScreen","_ConnectedAppsScreen","_bottomSheetManager","_SignInModal","e","__esModule","default","setPlatformOS","Platform","OS"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_core","require","_reactNative","_OxyProvider","_interopRequireDefault","_OxyContext","_useAuth","_FontLoader","_authStore","_assetStore","_useSessionSocket","_useAssets","_useFileDownloadUrl","_useFollow","_useAccountQueries","_useServicesQueries","_useSecurityQueries","_usePaymentQueries","_useAccountMutations","_useServicesMutations","_mutationFactory","_mutationKeys","_queryKeys","_useMutationStatus","_errorHandlers","_useFileFiltering","_Avatar","_OxySignInButton","_OxyAuthPrompt","_OxyLogo","_FollowButton","_LogoIcon","_LogoText","_ActingAsBanner","_AccountMenu","_AccountMenuButton","_ManageAccountScreen","_NotificationsScreen","_PreferencesScreen","_ConnectedAppsScreen","_bottomSheetManager","_SignInModal","e","__esModule","default","setPlatformOS","Platform","OS"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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","ignoreList":[]}
@@ -39,6 +39,12 @@ Object.defineProperty(exports, "ManageAccountScreen", {
39
39
  return _ManageAccountScreen.default;
40
40
  }
41
41
  });
42
+ Object.defineProperty(exports, "OxyAuthPrompt", {
43
+ enumerable: true,
44
+ get: function () {
45
+ return _OxyAuthPrompt.default;
46
+ }
47
+ });
42
48
  Object.defineProperty(exports, "OxyIcon", {
43
49
  enumerable: true,
44
50
  get: function () {
@@ -143,6 +149,7 @@ Object.defineProperty(exports, "useStorage", {
143
149
  });
144
150
  var _OxyProvider = _interopRequireDefault(require("./components/OxyProvider.js"));
145
151
  var _OxySignInButton = _interopRequireDefault(require("./components/OxySignInButton.js"));
152
+ var _OxyAuthPrompt = _interopRequireDefault(require("./components/OxyAuthPrompt.js"));
146
153
  var _OxyLogo = _interopRequireDefault(require("./components/OxyLogo.js"));
147
154
  var _Avatar = _interopRequireDefault(require("./components/Avatar.js"));
148
155
  var _FollowButton = _interopRequireDefault(require("./components/FollowButton.js"));
@@ -1 +1 @@
1
- {"version":3,"names":["_OxyProvider","_interopRequireDefault","require","_OxySignInButton","_OxyLogo","_Avatar","_FollowButton","_OxyPayButton","_FontLoader","_OxyIcon","_AccountMenu","_AccountMenuButton","_OxyContext","_useAuth","_useFollow","_useStorage","_ProfileScreen","_ManageAccountScreen","_authStore","_accountStore","_errorHandlers","e","__esModule","default"],"sourceRoot":"../../../src","sources":["ui/client.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAWA,IAAAA,YAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,gBAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,QAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,OAAA,GAAAJ,sBAAA,CAAAC,OAAA;AACA,IAAAI,aAAA,GAAAL,sBAAA,CAAAC,OAAA;AACA,IAAAK,aAAA,GAAAN,sBAAA,CAAAC,OAAA;AACA,IAAAM,WAAA,GAAAN,OAAA;AACA,IAAAO,QAAA,GAAAR,sBAAA,CAAAC,OAAA;AACA,IAAAQ,YAAA,GAAAT,sBAAA,CAAAC,OAAA;AAEA,IAAAS,kBAAA,GAAAV,sBAAA,CAAAC,OAAA;AAIA,IAAAU,WAAA,GAAAV,OAAA;AAGA,IAAAW,QAAA,GAAAX,OAAA;AAEA,IAAAY,UAAA,GAAAZ,OAAA;AACA,IAAAa,WAAA,GAAAb,OAAA;AAIA,IAAAc,cAAA,GAAAf,sBAAA,CAAAC,OAAA;AACA,IAAAe,oBAAA,GAAAhB,sBAAA,CAAAC,OAAA;AAGA,IAAAgB,UAAA,GAAAhB,OAAA;AACA,IAAAiB,aAAA,GAAAjB,OAAA;AAGA,IAAAkB,cAAA,GAAAlB,OAAA;AAK+B,SAAAD,uBAAAoB,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA","ignoreList":[]}
1
+ {"version":3,"names":["_OxyProvider","_interopRequireDefault","require","_OxySignInButton","_OxyAuthPrompt","_OxyLogo","_Avatar","_FollowButton","_OxyPayButton","_FontLoader","_OxyIcon","_AccountMenu","_AccountMenuButton","_OxyContext","_useAuth","_useFollow","_useStorage","_ProfileScreen","_ManageAccountScreen","_authStore","_accountStore","_errorHandlers","e","__esModule","default"],"sourceRoot":"../../../src","sources":["ui/client.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAWA,IAAAA,YAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,gBAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,cAAA,GAAAH,sBAAA,CAAAC,OAAA;AAEA,IAAAG,QAAA,GAAAJ,sBAAA,CAAAC,OAAA;AACA,IAAAI,OAAA,GAAAL,sBAAA,CAAAC,OAAA;AACA,IAAAK,aAAA,GAAAN,sBAAA,CAAAC,OAAA;AACA,IAAAM,aAAA,GAAAP,sBAAA,CAAAC,OAAA;AACA,IAAAO,WAAA,GAAAP,OAAA;AACA,IAAAQ,QAAA,GAAAT,sBAAA,CAAAC,OAAA;AACA,IAAAS,YAAA,GAAAV,sBAAA,CAAAC,OAAA;AAEA,IAAAU,kBAAA,GAAAX,sBAAA,CAAAC,OAAA;AAIA,IAAAW,WAAA,GAAAX,OAAA;AAGA,IAAAY,QAAA,GAAAZ,OAAA;AAEA,IAAAa,UAAA,GAAAb,OAAA;AACA,IAAAc,WAAA,GAAAd,OAAA;AAIA,IAAAe,cAAA,GAAAhB,sBAAA,CAAAC,OAAA;AACA,IAAAgB,oBAAA,GAAAjB,sBAAA,CAAAC,OAAA;AAGA,IAAAiB,UAAA,GAAAjB,OAAA;AACA,IAAAkB,aAAA,GAAAlB,OAAA;AAGA,IAAAmB,cAAA,GAAAnB,OAAA;AAK+B,SAAAD,uBAAAqB,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA","ignoreList":[]}
@@ -0,0 +1,124 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = exports.OxyAuthPrompt = void 0;
7
+ var _reactNative = require("react-native");
8
+ var _theme = require("@oxyhq/bloom/theme");
9
+ var _shallow = require("zustand/react/shallow");
10
+ var _authStore = require("../stores/authStore.js");
11
+ var _LogoIcon = _interopRequireDefault(require("./logo/LogoIcon.js"));
12
+ var _OxySignInButton = _interopRequireDefault(require("./OxySignInButton.js"));
13
+ var _jsxRuntime = require("react/jsx-runtime");
14
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
15
+ /**
16
+ * Inline empty-state shown when an unauthenticated user reaches a surface
17
+ * that requires sign-in (e.g. a settings subscreen, a deep-linked private
18
+ * route, the body of a tab that requires identity).
19
+ *
20
+ * Renders the Oxy logo, a section label, a rationale line, and an embedded
21
+ * `OxySignInButton` that opens the standard sign-in flow (web modal /
22
+ * native bottom sheet, identical to anywhere else `OxySignInButton` is
23
+ * used).
24
+ *
25
+ * Mounts as a regular flex child - it does NOT cover the screen, take over
26
+ * the navigation, or block the back button. For full-screen modal gating
27
+ * use a Bloom Dialog/BottomSheet at the layout level and place this
28
+ * component inside it.
29
+ *
30
+ * When the user is authenticated this component renders `null`. This makes
31
+ * it safe to drop into a screen body without an `isAuthenticated` guard at
32
+ * the call site.
33
+ *
34
+ * @example
35
+ * ```tsx
36
+ * if (!isAuthenticated) {
37
+ * return (
38
+ * <ThemedView className="flex-1">
39
+ * <Header options={{ title: 'Notifications' }} />
40
+ * <OxyAuthPrompt label="Notifications" />
41
+ * </ThemedView>
42
+ * );
43
+ * }
44
+ * ```
45
+ */
46
+ const OxyAuthPrompt = ({
47
+ label,
48
+ description,
49
+ signInButtonVariant = 'contained',
50
+ style
51
+ }) => {
52
+ const theme = (0, _theme.useTheme)();
53
+ const isAuthenticated = (0, _authStore.useAuthStore)((0, _shallow.useShallow)(state => state.isAuthenticated));
54
+ if (isAuthenticated) return null;
55
+ const resolvedDescription = description ?? `Sign in to access your ${label.toLowerCase()}.`;
56
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
57
+ style: [styles.container, style],
58
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
59
+ style: [styles.logoBadge, {
60
+ backgroundColor: `${theme.colors.primary}15`
61
+ }],
62
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_LogoIcon.default, {
63
+ height: 44,
64
+ color: theme.colors.primary
65
+ })
66
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
67
+ style: styles.copy,
68
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
69
+ accessibilityRole: "header",
70
+ style: [styles.title, {
71
+ color: theme.colors.text
72
+ }],
73
+ children: label
74
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
75
+ style: [styles.subtitle, {
76
+ color: theme.colors.textSecondary
77
+ }],
78
+ children: resolvedDescription
79
+ })]
80
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_OxySignInButton.default, {
81
+ variant: signInButtonVariant,
82
+ style: styles.cta
83
+ })]
84
+ });
85
+ };
86
+ exports.OxyAuthPrompt = OxyAuthPrompt;
87
+ const styles = _reactNative.StyleSheet.create({
88
+ container: {
89
+ paddingHorizontal: 32,
90
+ paddingVertical: 48,
91
+ alignItems: 'center',
92
+ justifyContent: 'center',
93
+ gap: 20
94
+ },
95
+ logoBadge: {
96
+ width: 88,
97
+ height: 88,
98
+ borderRadius: 44,
99
+ alignItems: 'center',
100
+ justifyContent: 'center'
101
+ },
102
+ copy: {
103
+ alignItems: 'center',
104
+ gap: 6
105
+ },
106
+ title: {
107
+ fontSize: 20,
108
+ fontWeight: '700',
109
+ textAlign: 'center'
110
+ },
111
+ subtitle: {
112
+ fontSize: 14,
113
+ lineHeight: 20,
114
+ textAlign: 'center',
115
+ maxWidth: 320
116
+ },
117
+ cta: {
118
+ marginTop: 4,
119
+ width: '100%',
120
+ maxWidth: 320
121
+ }
122
+ });
123
+ var _default = exports.default = OxyAuthPrompt;
124
+ //# sourceMappingURL=OxyAuthPrompt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_reactNative","require","_theme","_shallow","_authStore","_LogoIcon","_interopRequireDefault","_OxySignInButton","_jsxRuntime","e","__esModule","default","OxyAuthPrompt","label","description","signInButtonVariant","style","theme","useTheme","isAuthenticated","useAuthStore","useShallow","state","resolvedDescription","toLowerCase","jsxs","View","styles","container","children","jsx","logoBadge","backgroundColor","colors","primary","height","color","copy","Text","accessibilityRole","title","text","subtitle","textSecondary","variant","cta","exports","StyleSheet","create","paddingHorizontal","paddingVertical","alignItems","justifyContent","gap","width","borderRadius","fontSize","fontWeight","textAlign","lineHeight","maxWidth","marginTop","_default"],"sourceRoot":"../../../../src","sources":["ui/components/OxyAuthPrompt.tsx"],"mappings":"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","ignoreList":[]}
@@ -39,6 +39,12 @@ Object.defineProperty(exports, "ManageAccountScreen", {
39
39
  return _ManageAccountScreen.default;
40
40
  }
41
41
  });
42
+ Object.defineProperty(exports, "OxyAuthPrompt", {
43
+ enumerable: true,
44
+ get: function () {
45
+ return _OxyAuthPrompt.default;
46
+ }
47
+ });
42
48
  Object.defineProperty(exports, "OxyIcon", {
43
49
  enumerable: true,
44
50
  get: function () {
@@ -143,6 +149,7 @@ Object.defineProperty(exports, "useStorage", {
143
149
  });
144
150
  var _OxyProvider = _interopRequireDefault(require("./components/OxyProvider.js"));
145
151
  var _OxySignInButton = _interopRequireDefault(require("./components/OxySignInButton.js"));
152
+ var _OxyAuthPrompt = _interopRequireDefault(require("./components/OxyAuthPrompt.js"));
146
153
  var _OxyLogo = _interopRequireDefault(require("./components/OxyLogo.js"));
147
154
  var _Avatar = _interopRequireDefault(require("./components/Avatar.js"));
148
155
  var _FollowButton = _interopRequireDefault(require("./components/FollowButton.js"));
@@ -1 +1 @@
1
- {"version":3,"names":["_OxyProvider","_interopRequireDefault","require","_OxySignInButton","_OxyLogo","_Avatar","_FollowButton","_OxyPayButton","_FontLoader","_OxyIcon","_AccountMenu","_AccountMenuButton","_OxyContext","_useAuth","_useFollow","_useStorage","_ProfileScreen","_ManageAccountScreen","_authStore","_accountStore","_errorHandlers","e","__esModule","default"],"sourceRoot":"../../../src","sources":["ui/index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAeA,IAAAA,YAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,gBAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,QAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,OAAA,GAAAJ,sBAAA,CAAAC,OAAA;AACA,IAAAI,aAAA,GAAAL,sBAAA,CAAAC,OAAA;AACA,IAAAK,aAAA,GAAAN,sBAAA,CAAAC,OAAA;AACA,IAAAM,WAAA,GAAAN,OAAA;AACA,IAAAO,QAAA,GAAAR,sBAAA,CAAAC,OAAA;AACA,IAAAQ,YAAA,GAAAT,sBAAA,CAAAC,OAAA;AACA,IAAAS,kBAAA,GAAAV,sBAAA,CAAAC,OAAA;AAGA,IAAAU,WAAA,GAAAV,OAAA;AACA,IAAAW,QAAA,GAAAX,OAAA;AACA,IAAAY,UAAA,GAAAZ,OAAA;AACA,IAAAa,WAAA,GAAAb,OAAA;AAIA,IAAAc,cAAA,GAAAf,sBAAA,CAAAC,OAAA;AACA,IAAAe,oBAAA,GAAAhB,sBAAA,CAAAC,OAAA;AAGA,IAAAgB,UAAA,GAAAhB,OAAA;AACA,IAAAiB,aAAA,GAAAjB,OAAA;AAGA,IAAAkB,cAAA,GAAAlB,OAAA;AAK+B,SAAAD,uBAAAoB,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA","ignoreList":[]}
1
+ {"version":3,"names":["_OxyProvider","_interopRequireDefault","require","_OxySignInButton","_OxyAuthPrompt","_OxyLogo","_Avatar","_FollowButton","_OxyPayButton","_FontLoader","_OxyIcon","_AccountMenu","_AccountMenuButton","_OxyContext","_useAuth","_useFollow","_useStorage","_ProfileScreen","_ManageAccountScreen","_authStore","_accountStore","_errorHandlers","e","__esModule","default"],"sourceRoot":"../../../src","sources":["ui/index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAeA,IAAAA,YAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,gBAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,cAAA,GAAAH,sBAAA,CAAAC,OAAA;AAEA,IAAAG,QAAA,GAAAJ,sBAAA,CAAAC,OAAA;AACA,IAAAI,OAAA,GAAAL,sBAAA,CAAAC,OAAA;AACA,IAAAK,aAAA,GAAAN,sBAAA,CAAAC,OAAA;AACA,IAAAM,aAAA,GAAAP,sBAAA,CAAAC,OAAA;AACA,IAAAO,WAAA,GAAAP,OAAA;AACA,IAAAQ,QAAA,GAAAT,sBAAA,CAAAC,OAAA;AACA,IAAAS,YAAA,GAAAV,sBAAA,CAAAC,OAAA;AACA,IAAAU,kBAAA,GAAAX,sBAAA,CAAAC,OAAA;AAGA,IAAAW,WAAA,GAAAX,OAAA;AACA,IAAAY,QAAA,GAAAZ,OAAA;AACA,IAAAa,UAAA,GAAAb,OAAA;AACA,IAAAc,WAAA,GAAAd,OAAA;AAIA,IAAAe,cAAA,GAAAhB,sBAAA,CAAAC,OAAA;AACA,IAAAgB,oBAAA,GAAAjB,sBAAA,CAAAC,OAAA;AAGA,IAAAiB,UAAA,GAAAjB,OAAA;AACA,IAAAkB,aAAA,GAAAlB,OAAA;AAGA,IAAAmB,cAAA,GAAAnB,OAAA;AAK+B,SAAAD,uBAAAqB,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA","ignoreList":[]}
@@ -94,6 +94,7 @@ export { useFileFiltering } from "./ui/hooks/useFileFiltering.js";
94
94
  // ---------------------------------------------------------------------------
95
95
  export { default as Avatar } from "./ui/components/Avatar.js";
96
96
  export { OxySignInButton } from "./ui/components/OxySignInButton.js";
97
+ export { OxyAuthPrompt } from "./ui/components/OxyAuthPrompt.js";
97
98
  export { default as OxyLogo } from "./ui/components/OxyLogo.js";
98
99
  export { default as FollowButton } from "./ui/components/FollowButton.js";
99
100
  export { LogoIcon } from "./ui/components/logo/LogoIcon.js";
@@ -1 +1 @@
1
- {"version":3,"names":["setPlatformOS","Platform","OS","default","OxyProvider","useOxy","useAuth","FontLoader","useAuthStore","useAssetStore","useAssets","useAssetsStore","useAsset","useUploadProgress","useAssetLoading","useAssetErrors","useAssetsByApp","useAssetsByEntity","useAssetUsageCount","useIsAssetLinked","useSessionSocket","setOxyAssetInstance","useFileDownloadUrl","useFollow","useFollowerCounts","useUserProfile","useUserProfiles","useCurrentUser","useUserById","useUserByUsername","useUsersBySessions","usePrivacySettings","useAuthorizedApps","useSessions","useSession","useDeviceSessions","useUserDevices","useSecurityInfo","useAccountStorageUsage","useSecurityActivity","useRecentSecurityActivity","useInfiniteSecurityActivity","useUserSubscription","useUserPayments","useUserWallet","useUserWalletTransactions","useUpdateProfile","useUploadAvatar","useUpdateAccountSettings","useUpdatePrivacySettings","useUpdateNotificationPreferences","useUpdateUserPreferences","useRevokeAuthorizedApp","useUploadFile","useSwitchSession","useLogoutSession","useLogoutAll","useUpdateDeviceName","useRemoveDevice","createProfileMutation","createGenericMutation","mutationKeys","queryKeys","invalidateAccountQueries","invalidateUserQueries","invalidateSessionQueries","invalidateDeviceQueries","invalidatePrivacyQueries","invalidateSecurityQueries","invalidateStorageQueries","invalidatePaymentsQueries","invalidateConnectedAppsQueries","useMutationStatus","handleAuthError","isInvalidSessionError","isTimeoutOrNetworkError","extractErrorMessage","useFileFiltering","Avatar","OxySignInButton","OxyLogo","FollowButton","LogoIcon","LogoText","ActingAsBanner","AccountMenu","AccountMenuButton","ManageAccountScreen","NotificationsScreen","PreferencesScreen","ConnectedAppsScreen","showBottomSheet","closeBottomSheet","showSignInModal","hideSignInModal"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["setPlatformOS","Platform","OS","default","OxyProvider","useOxy","useAuth","FontLoader","useAuthStore","useAssetStore","useAssets","useAssetsStore","useAsset","useUploadProgress","useAssetLoading","useAssetErrors","useAssetsByApp","useAssetsByEntity","useAssetUsageCount","useIsAssetLinked","useSessionSocket","setOxyAssetInstance","useFileDownloadUrl","useFollow","useFollowerCounts","useUserProfile","useUserProfiles","useCurrentUser","useUserById","useUserByUsername","useUsersBySessions","usePrivacySettings","useAuthorizedApps","useSessions","useSession","useDeviceSessions","useUserDevices","useSecurityInfo","useAccountStorageUsage","useSecurityActivity","useRecentSecurityActivity","useInfiniteSecurityActivity","useUserSubscription","useUserPayments","useUserWallet","useUserWalletTransactions","useUpdateProfile","useUploadAvatar","useUpdateAccountSettings","useUpdatePrivacySettings","useUpdateNotificationPreferences","useUpdateUserPreferences","useRevokeAuthorizedApp","useUploadFile","useSwitchSession","useLogoutSession","useLogoutAll","useUpdateDeviceName","useRemoveDevice","createProfileMutation","createGenericMutation","mutationKeys","queryKeys","invalidateAccountQueries","invalidateUserQueries","invalidateSessionQueries","invalidateDeviceQueries","invalidatePrivacyQueries","invalidateSecurityQueries","invalidateStorageQueries","invalidatePaymentsQueries","invalidateConnectedAppsQueries","useMutationStatus","handleAuthError","isInvalidSessionError","isTimeoutOrNetworkError","extractErrorMessage","useFileFiltering","Avatar","OxySignInButton","OxyAuthPrompt","OxyLogo","FollowButton","LogoIcon","LogoText","ActingAsBanner","AccountMenu","AccountMenuButton","ManageAccountScreen","NotificationsScreen","PreferencesScreen","ConnectedAppsScreen","showBottomSheet","closeBottomSheet","showSignInModal","hideSignInModal"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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","ignoreList":[]}
@@ -13,6 +13,7 @@
13
13
  // Components
14
14
  export { default as OxyProvider } from "./components/OxyProvider.js";
15
15
  export { default as OxySignInButton } from "./components/OxySignInButton.js";
16
+ export { default as OxyAuthPrompt } from "./components/OxyAuthPrompt.js";
16
17
  export { default as OxyLogo } from "./components/OxyLogo.js";
17
18
  export { default as Avatar } from "./components/Avatar.js";
18
19
  export { default as FollowButton } from "./components/FollowButton.js";
@@ -1 +1 @@
1
- {"version":3,"names":["default","OxyProvider","OxySignInButton","OxyLogo","Avatar","FollowButton","OxyPayButton","FontLoader","setupFonts","OxyIcon","AccountMenu","AccountMenuButton","useOxy","useAuth","useFollow","useStorage","ProfileScreen","ManageAccountScreen","useAuthStore","useAccountStore","handleAuthError","isInvalidSessionError","isTimeoutOrNetworkError","extractErrorMessage"],"sourceRoot":"../../../src","sources":["ui/client.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,SAASA,OAAO,IAAIC,WAAW,QAAQ,6BAA0B;AACjE,SAASD,OAAO,IAAIE,eAAe,QAAQ,iCAA8B;AACzE,SAASF,OAAO,IAAIG,OAAO,QAAQ,yBAAsB;AACzD,SAASH,OAAO,IAAII,MAAM,QAAQ,wBAAqB;AACvD,SAASJ,OAAO,IAAIK,YAAY,QAAQ,8BAA2B;AACnE,SAASL,OAAO,IAAIM,YAAY,QAAQ,8BAA2B;AACnE,SAASC,UAAU,EAAEC,UAAU,QAAQ,4BAAyB;AAChE,SAASR,OAAO,IAAIS,OAAO,QAAQ,8BAA2B;AAC9D,SAAST,OAAO,IAAIU,WAAW,QAAQ,6BAA0B;AAEjE,SAASV,OAAO,IAAIW,iBAAiB,QAAQ,mCAAgC;AAG7E;AACA,SAASC,MAAM,QAAQ,yBAAsB;;AAE7C;AACA,SAASC,OAAO,QAAQ,oBAAiB;AAEzC,SAASC,SAAS,QAAQ,sBAAmB;AAC7C,SAASC,UAAU,QAAQ,uBAAoB;AAG/C;AACA,SAASf,OAAO,IAAIgB,aAAa,QAAQ,4BAAyB;AAClE,SAAShB,OAAO,IAAIiB,mBAAmB,QAAQ,kCAA+B;;AAE9E;AACA,SAASC,YAAY,QAAQ,uBAAoB;AACjD,SAASC,eAAe,QAAQ,0BAAuB;;AAEvD;AACA,SACIC,eAAe,EACfC,qBAAqB,EACrBC,uBAAuB,EACvBC,mBAAmB,QAChB,0BAAuB","ignoreList":[]}
1
+ {"version":3,"names":["default","OxyProvider","OxySignInButton","OxyAuthPrompt","OxyLogo","Avatar","FollowButton","OxyPayButton","FontLoader","setupFonts","OxyIcon","AccountMenu","AccountMenuButton","useOxy","useAuth","useFollow","useStorage","ProfileScreen","ManageAccountScreen","useAuthStore","useAccountStore","handleAuthError","isInvalidSessionError","isTimeoutOrNetworkError","extractErrorMessage"],"sourceRoot":"../../../src","sources":["ui/client.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,SAASA,OAAO,IAAIC,WAAW,QAAQ,6BAA0B;AACjE,SAASD,OAAO,IAAIE,eAAe,QAAQ,iCAA8B;AACzE,SAASF,OAAO,IAAIG,aAAa,QAAQ,+BAA4B;AAErE,SAASH,OAAO,IAAII,OAAO,QAAQ,yBAAsB;AACzD,SAASJ,OAAO,IAAIK,MAAM,QAAQ,wBAAqB;AACvD,SAASL,OAAO,IAAIM,YAAY,QAAQ,8BAA2B;AACnE,SAASN,OAAO,IAAIO,YAAY,QAAQ,8BAA2B;AACnE,SAASC,UAAU,EAAEC,UAAU,QAAQ,4BAAyB;AAChE,SAAST,OAAO,IAAIU,OAAO,QAAQ,8BAA2B;AAC9D,SAASV,OAAO,IAAIW,WAAW,QAAQ,6BAA0B;AAEjE,SAASX,OAAO,IAAIY,iBAAiB,QAAQ,mCAAgC;AAG7E;AACA,SAASC,MAAM,QAAQ,yBAAsB;;AAE7C;AACA,SAASC,OAAO,QAAQ,oBAAiB;AAEzC,SAASC,SAAS,QAAQ,sBAAmB;AAC7C,SAASC,UAAU,QAAQ,uBAAoB;AAG/C;AACA,SAAShB,OAAO,IAAIiB,aAAa,QAAQ,4BAAyB;AAClE,SAASjB,OAAO,IAAIkB,mBAAmB,QAAQ,kCAA+B;;AAE9E;AACA,SAASC,YAAY,QAAQ,uBAAoB;AACjD,SAASC,eAAe,QAAQ,0BAAuB;;AAEvD;AACA,SACIC,eAAe,EACfC,qBAAqB,EACrBC,uBAAuB,EACvBC,mBAAmB,QAChB,0BAAuB","ignoreList":[]}
@@ -0,0 +1,118 @@
1
+ "use strict";
2
+
3
+ import { StyleSheet, Text, View } from 'react-native';
4
+ import { useTheme } from '@oxyhq/bloom/theme';
5
+ import { useShallow } from 'zustand/react/shallow';
6
+ import { useAuthStore } from "../stores/authStore.js";
7
+ import LogoIcon from "./logo/LogoIcon.js";
8
+ import OxySignInButton from "./OxySignInButton.js";
9
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
10
+ /**
11
+ * Inline empty-state shown when an unauthenticated user reaches a surface
12
+ * that requires sign-in (e.g. a settings subscreen, a deep-linked private
13
+ * route, the body of a tab that requires identity).
14
+ *
15
+ * Renders the Oxy logo, a section label, a rationale line, and an embedded
16
+ * `OxySignInButton` that opens the standard sign-in flow (web modal /
17
+ * native bottom sheet, identical to anywhere else `OxySignInButton` is
18
+ * used).
19
+ *
20
+ * Mounts as a regular flex child - it does NOT cover the screen, take over
21
+ * the navigation, or block the back button. For full-screen modal gating
22
+ * use a Bloom Dialog/BottomSheet at the layout level and place this
23
+ * component inside it.
24
+ *
25
+ * When the user is authenticated this component renders `null`. This makes
26
+ * it safe to drop into a screen body without an `isAuthenticated` guard at
27
+ * the call site.
28
+ *
29
+ * @example
30
+ * ```tsx
31
+ * if (!isAuthenticated) {
32
+ * return (
33
+ * <ThemedView className="flex-1">
34
+ * <Header options={{ title: 'Notifications' }} />
35
+ * <OxyAuthPrompt label="Notifications" />
36
+ * </ThemedView>
37
+ * );
38
+ * }
39
+ * ```
40
+ */
41
+ export const OxyAuthPrompt = ({
42
+ label,
43
+ description,
44
+ signInButtonVariant = 'contained',
45
+ style
46
+ }) => {
47
+ const theme = useTheme();
48
+ const isAuthenticated = useAuthStore(useShallow(state => state.isAuthenticated));
49
+ if (isAuthenticated) return null;
50
+ const resolvedDescription = description ?? `Sign in to access your ${label.toLowerCase()}.`;
51
+ return /*#__PURE__*/_jsxs(View, {
52
+ style: [styles.container, style],
53
+ children: [/*#__PURE__*/_jsx(View, {
54
+ style: [styles.logoBadge, {
55
+ backgroundColor: `${theme.colors.primary}15`
56
+ }],
57
+ children: /*#__PURE__*/_jsx(LogoIcon, {
58
+ height: 44,
59
+ color: theme.colors.primary
60
+ })
61
+ }), /*#__PURE__*/_jsxs(View, {
62
+ style: styles.copy,
63
+ children: [/*#__PURE__*/_jsx(Text, {
64
+ accessibilityRole: "header",
65
+ style: [styles.title, {
66
+ color: theme.colors.text
67
+ }],
68
+ children: label
69
+ }), /*#__PURE__*/_jsx(Text, {
70
+ style: [styles.subtitle, {
71
+ color: theme.colors.textSecondary
72
+ }],
73
+ children: resolvedDescription
74
+ })]
75
+ }), /*#__PURE__*/_jsx(OxySignInButton, {
76
+ variant: signInButtonVariant,
77
+ style: styles.cta
78
+ })]
79
+ });
80
+ };
81
+ const styles = StyleSheet.create({
82
+ container: {
83
+ paddingHorizontal: 32,
84
+ paddingVertical: 48,
85
+ alignItems: 'center',
86
+ justifyContent: 'center',
87
+ gap: 20
88
+ },
89
+ logoBadge: {
90
+ width: 88,
91
+ height: 88,
92
+ borderRadius: 44,
93
+ alignItems: 'center',
94
+ justifyContent: 'center'
95
+ },
96
+ copy: {
97
+ alignItems: 'center',
98
+ gap: 6
99
+ },
100
+ title: {
101
+ fontSize: 20,
102
+ fontWeight: '700',
103
+ textAlign: 'center'
104
+ },
105
+ subtitle: {
106
+ fontSize: 14,
107
+ lineHeight: 20,
108
+ textAlign: 'center',
109
+ maxWidth: 320
110
+ },
111
+ cta: {
112
+ marginTop: 4,
113
+ width: '100%',
114
+ maxWidth: 320
115
+ }
116
+ });
117
+ export default OxyAuthPrompt;
118
+ //# sourceMappingURL=OxyAuthPrompt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["StyleSheet","Text","View","useTheme","useShallow","useAuthStore","LogoIcon","OxySignInButton","jsx","_jsx","jsxs","_jsxs","OxyAuthPrompt","label","description","signInButtonVariant","style","theme","isAuthenticated","state","resolvedDescription","toLowerCase","styles","container","children","logoBadge","backgroundColor","colors","primary","height","color","copy","accessibilityRole","title","text","subtitle","textSecondary","variant","cta","create","paddingHorizontal","paddingVertical","alignItems","justifyContent","gap","width","borderRadius","fontSize","fontWeight","textAlign","lineHeight","maxWidth","marginTop"],"sourceRoot":"../../../../src","sources":["ui/components/OxyAuthPrompt.tsx"],"mappings":"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","ignoreList":[]}
@@ -17,6 +17,7 @@
17
17
  // Components
18
18
  export { default as OxyProvider } from "./components/OxyProvider.js";
19
19
  export { default as OxySignInButton } from "./components/OxySignInButton.js";
20
+ export { default as OxyAuthPrompt } from "./components/OxyAuthPrompt.js";
20
21
  export { default as OxyLogo } from "./components/OxyLogo.js";
21
22
  export { default as Avatar } from "./components/Avatar.js";
22
23
  export { default as FollowButton } from "./components/FollowButton.js";
@@ -1 +1 @@
1
- {"version":3,"names":["default","OxyProvider","OxySignInButton","OxyLogo","Avatar","FollowButton","OxyPayButton","FontLoader","setupFonts","OxyIcon","AccountMenu","AccountMenuButton","useOxy","useAuth","useFollow","useStorage","ProfileScreen","ManageAccountScreen","useAuthStore","useAccountStore","handleAuthError","isInvalidSessionError","isTimeoutOrNetworkError","extractErrorMessage"],"sourceRoot":"../../../src","sources":["ui/index.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,SAASA,OAAO,IAAIC,WAAW,QAAQ,6BAA0B;AACjE,SAASD,OAAO,IAAIE,eAAe,QAAQ,iCAA8B;AACzE,SAASF,OAAO,IAAIG,OAAO,QAAQ,yBAAsB;AACzD,SAASH,OAAO,IAAII,MAAM,QAAQ,wBAAqB;AACvD,SAASJ,OAAO,IAAIK,YAAY,QAAQ,8BAA2B;AACnE,SAASL,OAAO,IAAIM,YAAY,QAAQ,8BAA2B;AACnE,SAASC,UAAU,EAAEC,UAAU,QAAQ,4BAAyB;AAChE,SAASR,OAAO,IAAIS,OAAO,QAAQ,8BAA2B;AAC9D,SAAST,OAAO,IAAIU,WAAW,QAAQ,6BAA0B;AACjE,SAASV,OAAO,IAAIW,iBAAiB,QAAQ,mCAAgC;;AAE7E;AACA,SAASC,MAAM,QAAQ,yBAAsB;AAC7C,SAASC,OAAO,QAAQ,oBAAiB;AACzC,SAASC,SAAS,QAAQ,sBAAmB;AAC7C,SAASC,UAAU,QAAQ,uBAAoB;AAG/C;AACA,SAASf,OAAO,IAAIgB,aAAa,QAAQ,4BAAyB;AAClE,SAAShB,OAAO,IAAIiB,mBAAmB,QAAQ,kCAA+B;;AAE9E;AACA,SAASC,YAAY,QAAQ,uBAAoB;AACjD,SAASC,eAAe,QAAQ,0BAAuB;;AAEvD;AACA,SACIC,eAAe,EACfC,qBAAqB,EACrBC,uBAAuB,EACvBC,mBAAmB,QAChB,0BAAuB","ignoreList":[]}
1
+ {"version":3,"names":["default","OxyProvider","OxySignInButton","OxyAuthPrompt","OxyLogo","Avatar","FollowButton","OxyPayButton","FontLoader","setupFonts","OxyIcon","AccountMenu","AccountMenuButton","useOxy","useAuth","useFollow","useStorage","ProfileScreen","ManageAccountScreen","useAuthStore","useAccountStore","handleAuthError","isInvalidSessionError","isTimeoutOrNetworkError","extractErrorMessage"],"sourceRoot":"../../../src","sources":["ui/index.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,SAASA,OAAO,IAAIC,WAAW,QAAQ,6BAA0B;AACjE,SAASD,OAAO,IAAIE,eAAe,QAAQ,iCAA8B;AACzE,SAASF,OAAO,IAAIG,aAAa,QAAQ,+BAA4B;AAErE,SAASH,OAAO,IAAII,OAAO,QAAQ,yBAAsB;AACzD,SAASJ,OAAO,IAAIK,MAAM,QAAQ,wBAAqB;AACvD,SAASL,OAAO,IAAIM,YAAY,QAAQ,8BAA2B;AACnE,SAASN,OAAO,IAAIO,YAAY,QAAQ,8BAA2B;AACnE,SAASC,UAAU,EAAEC,UAAU,QAAQ,4BAAyB;AAChE,SAAST,OAAO,IAAIU,OAAO,QAAQ,8BAA2B;AAC9D,SAASV,OAAO,IAAIW,WAAW,QAAQ,6BAA0B;AACjE,SAASX,OAAO,IAAIY,iBAAiB,QAAQ,mCAAgC;;AAE7E;AACA,SAASC,MAAM,QAAQ,yBAAsB;AAC7C,SAASC,OAAO,QAAQ,oBAAiB;AACzC,SAASC,SAAS,QAAQ,sBAAmB;AAC7C,SAASC,UAAU,QAAQ,uBAAoB;AAG/C;AACA,SAAShB,OAAO,IAAIiB,aAAa,QAAQ,4BAAyB;AAClE,SAASjB,OAAO,IAAIkB,mBAAmB,QAAQ,kCAA+B;;AAE9E;AACA,SAASC,YAAY,QAAQ,uBAAoB;AACjD,SAASC,eAAe,QAAQ,0BAAuB;;AAEvD;AACA,SACIC,eAAe,EACfC,qBAAqB,EACrBC,uBAAuB,EACvBC,mBAAmB,QAChB,0BAAuB","ignoreList":[]}
@@ -51,6 +51,8 @@ export type { ViewMode, SortBy, SortOrder } from './ui/hooks/useFileFiltering';
51
51
  export { default as Avatar } from './ui/components/Avatar';
52
52
  export type { AvatarProps } from './ui/components/Avatar';
53
53
  export { OxySignInButton } from './ui/components/OxySignInButton';
54
+ export { OxyAuthPrompt } from './ui/components/OxyAuthPrompt';
55
+ export type { OxyAuthPromptProps } from './ui/components/OxyAuthPrompt';
54
56
  export { default as OxyLogo } from './ui/components/OxyLogo';
55
57
  export { default as FollowButton } from './ui/components/FollowButton';
56
58
  export { LogoIcon } from './ui/components/logo/LogoIcon';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,8 @@
9
9
  */
10
10
  export { default as OxyProvider } from './components/OxyProvider';
11
11
  export { default as OxySignInButton } from './components/OxySignInButton';
12
+ export { default as OxyAuthPrompt } from './components/OxyAuthPrompt';
13
+ export type { OxyAuthPromptProps } from './components/OxyAuthPrompt';
12
14
  export { default as OxyLogo } from './components/OxyLogo';
13
15
  export { default as Avatar } from './components/Avatar';
14
16
  export { default as FollowButton } from './components/FollowButton';
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../../src/ui/client.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAClE,YAAY,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAC9E,YAAY,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AAG7E,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAG9C,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC1C,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC7E,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,YAAY,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAG9E,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAG/E,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAGxD,OAAO,EACH,eAAe,EACf,qBAAqB,EACrB,uBAAuB,EACvB,mBAAmB,GACtB,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../../src/ui/client.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,4BAA4B,CAAC;AACtE,YAAY,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAClE,YAAY,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAC9E,YAAY,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AAG7E,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAG9C,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC1C,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC7E,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,YAAY,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAG9E,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAG/E,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAGxD,OAAO,EACH,eAAe,EACf,qBAAqB,EACrB,uBAAuB,EACvB,mBAAmB,GACtB,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC"}
@@ -0,0 +1,59 @@
1
+ import type React from 'react';
2
+ import { type StyleProp, type ViewStyle } from 'react-native';
3
+ export interface OxyAuthPromptProps {
4
+ /**
5
+ * Short label describing what the user is trying to access. Rendered as
6
+ * the prompt title (e.g. "Notifications", "Privacy"). Keep it to 1-3
7
+ * words; the subtitle expands on the rationale.
8
+ */
9
+ label: string;
10
+ /**
11
+ * Optional longer description. If omitted, a generic
12
+ * `"Sign in to access your {label.toLowerCase()}."` is shown.
13
+ */
14
+ description?: string;
15
+ /**
16
+ * Variant of the embedded `OxySignInButton`. Defaults to `contained` for
17
+ * primary placement; pass `outline` or `default` for secondary contexts.
18
+ */
19
+ signInButtonVariant?: 'default' | 'outline' | 'contained';
20
+ /**
21
+ * Container style override. Use sparingly - the prompt is designed to fit
22
+ * inside a parent screen / sheet body with its own spacing.
23
+ */
24
+ style?: StyleProp<ViewStyle>;
25
+ }
26
+ /**
27
+ * Inline empty-state shown when an unauthenticated user reaches a surface
28
+ * that requires sign-in (e.g. a settings subscreen, a deep-linked private
29
+ * route, the body of a tab that requires identity).
30
+ *
31
+ * Renders the Oxy logo, a section label, a rationale line, and an embedded
32
+ * `OxySignInButton` that opens the standard sign-in flow (web modal /
33
+ * native bottom sheet, identical to anywhere else `OxySignInButton` is
34
+ * used).
35
+ *
36
+ * Mounts as a regular flex child - it does NOT cover the screen, take over
37
+ * the navigation, or block the back button. For full-screen modal gating
38
+ * use a Bloom Dialog/BottomSheet at the layout level and place this
39
+ * component inside it.
40
+ *
41
+ * When the user is authenticated this component renders `null`. This makes
42
+ * it safe to drop into a screen body without an `isAuthenticated` guard at
43
+ * the call site.
44
+ *
45
+ * @example
46
+ * ```tsx
47
+ * if (!isAuthenticated) {
48
+ * return (
49
+ * <ThemedView className="flex-1">
50
+ * <Header options={{ title: 'Notifications' }} />
51
+ * <OxyAuthPrompt label="Notifications" />
52
+ * </ThemedView>
53
+ * );
54
+ * }
55
+ * ```
56
+ */
57
+ export declare const OxyAuthPrompt: React.FC<OxyAuthPromptProps>;
58
+ export default OxyAuthPrompt;
59
+ //# sourceMappingURL=OxyAuthPrompt.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OxyAuthPrompt.d.ts","sourceRoot":"","sources":["../../../../../src/ui/components/OxyAuthPrompt.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAIH,KAAK,SAAS,EACd,KAAK,SAAS,EACjB,MAAM,cAAc,CAAC;AAOtB,MAAM,WAAW,kBAAkB;IAC/B;;;;OAIG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;OAGG;IACH,mBAAmB,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,WAAW,CAAC;IAE1D;;;OAGG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CAChC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAkDtD,CAAC;AAuCF,eAAe,aAAa,CAAC"}
@@ -13,6 +13,8 @@
13
13
  */
14
14
  export { default as OxyProvider } from './components/OxyProvider';
15
15
  export { default as OxySignInButton } from './components/OxySignInButton';
16
+ export { default as OxyAuthPrompt } from './components/OxyAuthPrompt';
17
+ export type { OxyAuthPromptProps } from './components/OxyAuthPrompt';
16
18
  export { default as OxyLogo } from './components/OxyLogo';
17
19
  export { default as Avatar } from './components/Avatar';
18
20
  export { default as FollowButton } from './components/FollowButton';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/ui/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAGH,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAG9E,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,YAAY,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAG9E,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAG/E,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAGxD,OAAO,EACH,eAAe,EACf,qBAAqB,EACrB,uBAAuB,EACvB,mBAAmB,GACtB,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/ui/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAGH,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,4BAA4B,CAAC;AACtE,YAAY,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAG9E,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,YAAY,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAG9E,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAG/E,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAGxD,OAAO,EACH,eAAe,EACf,qBAAqB,EACrB,uBAAuB,EACvB,mBAAmB,GACtB,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC"}
@@ -51,6 +51,8 @@ export type { ViewMode, SortBy, SortOrder } from './ui/hooks/useFileFiltering';
51
51
  export { default as Avatar } from './ui/components/Avatar';
52
52
  export type { AvatarProps } from './ui/components/Avatar';
53
53
  export { OxySignInButton } from './ui/components/OxySignInButton';
54
+ export { OxyAuthPrompt } from './ui/components/OxyAuthPrompt';
55
+ export type { OxyAuthPromptProps } from './ui/components/OxyAuthPrompt';
54
56
  export { default as OxyLogo } from './ui/components/OxyLogo';
55
57
  export { default as FollowButton } from './ui/components/FollowButton';
56
58
  export { LogoIcon } from './ui/components/logo/LogoIcon';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,8 @@
9
9
  */
10
10
  export { default as OxyProvider } from './components/OxyProvider';
11
11
  export { default as OxySignInButton } from './components/OxySignInButton';
12
+ export { default as OxyAuthPrompt } from './components/OxyAuthPrompt';
13
+ export type { OxyAuthPromptProps } from './components/OxyAuthPrompt';
12
14
  export { default as OxyLogo } from './components/OxyLogo';
13
15
  export { default as Avatar } from './components/Avatar';
14
16
  export { default as FollowButton } from './components/FollowButton';
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../../src/ui/client.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAClE,YAAY,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAC9E,YAAY,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AAG7E,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAG9C,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC1C,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC7E,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,YAAY,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAG9E,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAG/E,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAGxD,OAAO,EACH,eAAe,EACf,qBAAqB,EACrB,uBAAuB,EACvB,mBAAmB,GACtB,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../../src/ui/client.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,4BAA4B,CAAC;AACtE,YAAY,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAClE,YAAY,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAC9E,YAAY,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AAG7E,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAG9C,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC1C,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC7E,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,YAAY,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAG9E,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAG/E,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAGxD,OAAO,EACH,eAAe,EACf,qBAAqB,EACrB,uBAAuB,EACvB,mBAAmB,GACtB,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC"}
@@ -0,0 +1,59 @@
1
+ import type React from 'react';
2
+ import { type StyleProp, type ViewStyle } from 'react-native';
3
+ export interface OxyAuthPromptProps {
4
+ /**
5
+ * Short label describing what the user is trying to access. Rendered as
6
+ * the prompt title (e.g. "Notifications", "Privacy"). Keep it to 1-3
7
+ * words; the subtitle expands on the rationale.
8
+ */
9
+ label: string;
10
+ /**
11
+ * Optional longer description. If omitted, a generic
12
+ * `"Sign in to access your {label.toLowerCase()}."` is shown.
13
+ */
14
+ description?: string;
15
+ /**
16
+ * Variant of the embedded `OxySignInButton`. Defaults to `contained` for
17
+ * primary placement; pass `outline` or `default` for secondary contexts.
18
+ */
19
+ signInButtonVariant?: 'default' | 'outline' | 'contained';
20
+ /**
21
+ * Container style override. Use sparingly - the prompt is designed to fit
22
+ * inside a parent screen / sheet body with its own spacing.
23
+ */
24
+ style?: StyleProp<ViewStyle>;
25
+ }
26
+ /**
27
+ * Inline empty-state shown when an unauthenticated user reaches a surface
28
+ * that requires sign-in (e.g. a settings subscreen, a deep-linked private
29
+ * route, the body of a tab that requires identity).
30
+ *
31
+ * Renders the Oxy logo, a section label, a rationale line, and an embedded
32
+ * `OxySignInButton` that opens the standard sign-in flow (web modal /
33
+ * native bottom sheet, identical to anywhere else `OxySignInButton` is
34
+ * used).
35
+ *
36
+ * Mounts as a regular flex child - it does NOT cover the screen, take over
37
+ * the navigation, or block the back button. For full-screen modal gating
38
+ * use a Bloom Dialog/BottomSheet at the layout level and place this
39
+ * component inside it.
40
+ *
41
+ * When the user is authenticated this component renders `null`. This makes
42
+ * it safe to drop into a screen body without an `isAuthenticated` guard at
43
+ * the call site.
44
+ *
45
+ * @example
46
+ * ```tsx
47
+ * if (!isAuthenticated) {
48
+ * return (
49
+ * <ThemedView className="flex-1">
50
+ * <Header options={{ title: 'Notifications' }} />
51
+ * <OxyAuthPrompt label="Notifications" />
52
+ * </ThemedView>
53
+ * );
54
+ * }
55
+ * ```
56
+ */
57
+ export declare const OxyAuthPrompt: React.FC<OxyAuthPromptProps>;
58
+ export default OxyAuthPrompt;
59
+ //# sourceMappingURL=OxyAuthPrompt.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OxyAuthPrompt.d.ts","sourceRoot":"","sources":["../../../../../src/ui/components/OxyAuthPrompt.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAIH,KAAK,SAAS,EACd,KAAK,SAAS,EACjB,MAAM,cAAc,CAAC;AAOtB,MAAM,WAAW,kBAAkB;IAC/B;;;;OAIG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;OAGG;IACH,mBAAmB,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,WAAW,CAAC;IAE1D;;;OAGG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CAChC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAkDtD,CAAC;AAuCF,eAAe,aAAa,CAAC"}
@@ -13,6 +13,8 @@
13
13
  */
14
14
  export { default as OxyProvider } from './components/OxyProvider';
15
15
  export { default as OxySignInButton } from './components/OxySignInButton';
16
+ export { default as OxyAuthPrompt } from './components/OxyAuthPrompt';
17
+ export type { OxyAuthPromptProps } from './components/OxyAuthPrompt';
16
18
  export { default as OxyLogo } from './components/OxyLogo';
17
19
  export { default as Avatar } from './components/Avatar';
18
20
  export { default as FollowButton } from './components/FollowButton';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/ui/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAGH,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAG9E,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,YAAY,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAG9E,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAG/E,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAGxD,OAAO,EACH,eAAe,EACf,qBAAqB,EACrB,uBAAuB,EACvB,mBAAmB,GACtB,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/ui/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAGH,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,4BAA4B,CAAC;AACtE,YAAY,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAG9E,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,YAAY,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAG9E,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAG/E,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAGxD,OAAO,EACH,eAAe,EACf,qBAAqB,EACrB,uBAAuB,EACvB,mBAAmB,GACtB,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@oxyhq/services",
3
- "version": "8.0.1",
3
+ "version": "8.1.0",
4
4
  "description": "OxyHQ Expo/React Native SDK — UI components, screens, and native features",
5
5
  "main": "lib/commonjs/index.js",
6
6
  "module": "lib/module/index.js",
package/src/index.ts CHANGED
@@ -189,6 +189,8 @@ export type { ViewMode, SortBy, SortOrder } from './ui/hooks/useFileFiltering';
189
189
  export { default as Avatar } from './ui/components/Avatar';
190
190
  export type { AvatarProps } from './ui/components/Avatar';
191
191
  export { OxySignInButton } from './ui/components/OxySignInButton';
192
+ export { OxyAuthPrompt } from './ui/components/OxyAuthPrompt';
193
+ export type { OxyAuthPromptProps } from './ui/components/OxyAuthPrompt';
192
194
  export { default as OxyLogo } from './ui/components/OxyLogo';
193
195
  export { default as FollowButton } from './ui/components/FollowButton';
194
196
  export { LogoIcon } from './ui/components/logo/LogoIcon';
package/src/ui/client.ts CHANGED
@@ -11,6 +11,8 @@
11
11
  // Components
12
12
  export { default as OxyProvider } from './components/OxyProvider';
13
13
  export { default as OxySignInButton } from './components/OxySignInButton';
14
+ export { default as OxyAuthPrompt } from './components/OxyAuthPrompt';
15
+ export type { OxyAuthPromptProps } from './components/OxyAuthPrompt';
14
16
  export { default as OxyLogo } from './components/OxyLogo';
15
17
  export { default as Avatar } from './components/Avatar';
16
18
  export { default as FollowButton } from './components/FollowButton';
@@ -0,0 +1,162 @@
1
+ import type React from 'react';
2
+ import {
3
+ StyleSheet,
4
+ Text,
5
+ View,
6
+ type StyleProp,
7
+ type ViewStyle,
8
+ } from 'react-native';
9
+ import { useTheme } from '@oxyhq/bloom/theme';
10
+ import { useShallow } from 'zustand/react/shallow';
11
+ import { useAuthStore } from '../stores/authStore';
12
+ import LogoIcon from './logo/LogoIcon';
13
+ import OxySignInButton from './OxySignInButton';
14
+
15
+ export interface OxyAuthPromptProps {
16
+ /**
17
+ * Short label describing what the user is trying to access. Rendered as
18
+ * the prompt title (e.g. "Notifications", "Privacy"). Keep it to 1-3
19
+ * words; the subtitle expands on the rationale.
20
+ */
21
+ label: string;
22
+
23
+ /**
24
+ * Optional longer description. If omitted, a generic
25
+ * `"Sign in to access your {label.toLowerCase()}."` is shown.
26
+ */
27
+ description?: string;
28
+
29
+ /**
30
+ * Variant of the embedded `OxySignInButton`. Defaults to `contained` for
31
+ * primary placement; pass `outline` or `default` for secondary contexts.
32
+ */
33
+ signInButtonVariant?: 'default' | 'outline' | 'contained';
34
+
35
+ /**
36
+ * Container style override. Use sparingly - the prompt is designed to fit
37
+ * inside a parent screen / sheet body with its own spacing.
38
+ */
39
+ style?: StyleProp<ViewStyle>;
40
+ }
41
+
42
+ /**
43
+ * Inline empty-state shown when an unauthenticated user reaches a surface
44
+ * that requires sign-in (e.g. a settings subscreen, a deep-linked private
45
+ * route, the body of a tab that requires identity).
46
+ *
47
+ * Renders the Oxy logo, a section label, a rationale line, and an embedded
48
+ * `OxySignInButton` that opens the standard sign-in flow (web modal /
49
+ * native bottom sheet, identical to anywhere else `OxySignInButton` is
50
+ * used).
51
+ *
52
+ * Mounts as a regular flex child - it does NOT cover the screen, take over
53
+ * the navigation, or block the back button. For full-screen modal gating
54
+ * use a Bloom Dialog/BottomSheet at the layout level and place this
55
+ * component inside it.
56
+ *
57
+ * When the user is authenticated this component renders `null`. This makes
58
+ * it safe to drop into a screen body without an `isAuthenticated` guard at
59
+ * the call site.
60
+ *
61
+ * @example
62
+ * ```tsx
63
+ * if (!isAuthenticated) {
64
+ * return (
65
+ * <ThemedView className="flex-1">
66
+ * <Header options={{ title: 'Notifications' }} />
67
+ * <OxyAuthPrompt label="Notifications" />
68
+ * </ThemedView>
69
+ * );
70
+ * }
71
+ * ```
72
+ */
73
+ export const OxyAuthPrompt: React.FC<OxyAuthPromptProps> = ({
74
+ label,
75
+ description,
76
+ signInButtonVariant = 'contained',
77
+ style,
78
+ }) => {
79
+ const theme = useTheme();
80
+ const isAuthenticated = useAuthStore(
81
+ useShallow((state) => state.isAuthenticated)
82
+ );
83
+
84
+ if (isAuthenticated) return null;
85
+
86
+ const resolvedDescription =
87
+ description ?? `Sign in to access your ${label.toLowerCase()}.`;
88
+
89
+ return (
90
+ <View style={[styles.container, style]}>
91
+ <View
92
+ style={[
93
+ styles.logoBadge,
94
+ { backgroundColor: `${theme.colors.primary}15` },
95
+ ]}
96
+ >
97
+ <LogoIcon height={44} color={theme.colors.primary} />
98
+ </View>
99
+
100
+ <View style={styles.copy}>
101
+ <Text
102
+ accessibilityRole="header"
103
+ style={[styles.title, { color: theme.colors.text }]}
104
+ >
105
+ {label}
106
+ </Text>
107
+ <Text
108
+ style={[
109
+ styles.subtitle,
110
+ { color: theme.colors.textSecondary },
111
+ ]}
112
+ >
113
+ {resolvedDescription}
114
+ </Text>
115
+ </View>
116
+
117
+ <OxySignInButton
118
+ variant={signInButtonVariant}
119
+ style={styles.cta}
120
+ />
121
+ </View>
122
+ );
123
+ };
124
+
125
+ const styles = StyleSheet.create({
126
+ container: {
127
+ paddingHorizontal: 32,
128
+ paddingVertical: 48,
129
+ alignItems: 'center',
130
+ justifyContent: 'center',
131
+ gap: 20,
132
+ },
133
+ logoBadge: {
134
+ width: 88,
135
+ height: 88,
136
+ borderRadius: 44,
137
+ alignItems: 'center',
138
+ justifyContent: 'center',
139
+ },
140
+ copy: {
141
+ alignItems: 'center',
142
+ gap: 6,
143
+ },
144
+ title: {
145
+ fontSize: 20,
146
+ fontWeight: '700',
147
+ textAlign: 'center',
148
+ },
149
+ subtitle: {
150
+ fontSize: 14,
151
+ lineHeight: 20,
152
+ textAlign: 'center',
153
+ maxWidth: 320,
154
+ },
155
+ cta: {
156
+ marginTop: 4,
157
+ width: '100%',
158
+ maxWidth: 320,
159
+ },
160
+ });
161
+
162
+ export default OxyAuthPrompt;
package/src/ui/index.ts CHANGED
@@ -15,6 +15,8 @@
15
15
  // Components
16
16
  export { default as OxyProvider } from './components/OxyProvider';
17
17
  export { default as OxySignInButton } from './components/OxySignInButton';
18
+ export { default as OxyAuthPrompt } from './components/OxyAuthPrompt';
19
+ export type { OxyAuthPromptProps } from './components/OxyAuthPrompt';
18
20
  export { default as OxyLogo } from './components/OxyLogo';
19
21
  export { default as Avatar } from './components/Avatar';
20
22
  export { default as FollowButton } from './components/FollowButton';