@oxyhq/services 13.0.3 → 13.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (78) hide show
  1. package/lib/commonjs/index.js +18 -0
  2. package/lib/commonjs/index.js.map +1 -1
  3. package/lib/commonjs/ui/components/ProfileButton.js +233 -0
  4. package/lib/commonjs/ui/components/ProfileButton.js.map +1 -0
  5. package/lib/commonjs/ui/components/ProfileMenu.js +374 -0
  6. package/lib/commonjs/ui/components/ProfileMenu.js.map +1 -0
  7. package/lib/commonjs/ui/components/SettingsIcon.js.map +1 -1
  8. package/lib/commonjs/ui/components/fileManagement/FileViewer.js.map +1 -1
  9. package/lib/commonjs/ui/context/OxyContext.js +64 -11
  10. package/lib/commonjs/ui/context/OxyContext.js.map +1 -1
  11. package/lib/commonjs/ui/context/hooks/useAuthOperations.js +28 -1
  12. package/lib/commonjs/ui/context/hooks/useAuthOperations.js.map +1 -1
  13. package/lib/commonjs/ui/index.js +14 -0
  14. package/lib/commonjs/ui/index.js.map +1 -1
  15. package/lib/commonjs/ui/screens/FeedbackScreen.js.map +1 -1
  16. package/lib/commonjs/ui/utils/activeAuthuser.js +47 -0
  17. package/lib/commonjs/ui/utils/activeAuthuser.js.map +1 -1
  18. package/lib/module/index.js +5 -0
  19. package/lib/module/index.js.map +1 -1
  20. package/lib/module/ui/components/ProfileButton.js +228 -0
  21. package/lib/module/ui/components/ProfileButton.js.map +1 -0
  22. package/lib/module/ui/components/ProfileMenu.js +370 -0
  23. package/lib/module/ui/components/ProfileMenu.js.map +1 -0
  24. package/lib/module/ui/components/SettingsIcon.js.map +1 -1
  25. package/lib/module/ui/components/fileManagement/FileViewer.js.map +1 -1
  26. package/lib/module/ui/context/OxyContext.js +65 -12
  27. package/lib/module/ui/context/OxyContext.js.map +1 -1
  28. package/lib/module/ui/context/hooks/useAuthOperations.js +29 -2
  29. package/lib/module/ui/context/hooks/useAuthOperations.js.map +1 -1
  30. package/lib/module/ui/index.js +2 -0
  31. package/lib/module/ui/index.js.map +1 -1
  32. package/lib/module/ui/screens/FeedbackScreen.js.map +1 -1
  33. package/lib/module/ui/utils/activeAuthuser.js +45 -1
  34. package/lib/module/ui/utils/activeAuthuser.js.map +1 -1
  35. package/lib/typescript/commonjs/index.d.ts +4 -0
  36. package/lib/typescript/commonjs/index.d.ts.map +1 -1
  37. package/lib/typescript/commonjs/ui/components/ProfileButton.d.ts +46 -0
  38. package/lib/typescript/commonjs/ui/components/ProfileButton.d.ts.map +1 -0
  39. package/lib/typescript/commonjs/ui/components/ProfileMenu.d.ts +39 -0
  40. package/lib/typescript/commonjs/ui/components/ProfileMenu.d.ts.map +1 -0
  41. package/lib/typescript/commonjs/ui/components/SettingsIcon.d.ts +2 -1
  42. package/lib/typescript/commonjs/ui/components/SettingsIcon.d.ts.map +1 -1
  43. package/lib/typescript/commonjs/ui/components/payment/types.d.ts +3 -1
  44. package/lib/typescript/commonjs/ui/components/payment/types.d.ts.map +1 -1
  45. package/lib/typescript/commonjs/ui/context/OxyContext.d.ts.map +1 -1
  46. package/lib/typescript/commonjs/ui/context/hooks/useAuthOperations.d.ts.map +1 -1
  47. package/lib/typescript/commonjs/ui/index.d.ts +2 -0
  48. package/lib/typescript/commonjs/ui/index.d.ts.map +1 -1
  49. package/lib/typescript/commonjs/ui/utils/activeAuthuser.d.ts +24 -0
  50. package/lib/typescript/commonjs/ui/utils/activeAuthuser.d.ts.map +1 -1
  51. package/lib/typescript/module/index.d.ts +4 -0
  52. package/lib/typescript/module/index.d.ts.map +1 -1
  53. package/lib/typescript/module/ui/components/ProfileButton.d.ts +46 -0
  54. package/lib/typescript/module/ui/components/ProfileButton.d.ts.map +1 -0
  55. package/lib/typescript/module/ui/components/ProfileMenu.d.ts +39 -0
  56. package/lib/typescript/module/ui/components/ProfileMenu.d.ts.map +1 -0
  57. package/lib/typescript/module/ui/components/SettingsIcon.d.ts +2 -1
  58. package/lib/typescript/module/ui/components/SettingsIcon.d.ts.map +1 -1
  59. package/lib/typescript/module/ui/components/payment/types.d.ts +3 -1
  60. package/lib/typescript/module/ui/components/payment/types.d.ts.map +1 -1
  61. package/lib/typescript/module/ui/context/OxyContext.d.ts.map +1 -1
  62. package/lib/typescript/module/ui/context/hooks/useAuthOperations.d.ts.map +1 -1
  63. package/lib/typescript/module/ui/index.d.ts +2 -0
  64. package/lib/typescript/module/ui/index.d.ts.map +1 -1
  65. package/lib/typescript/module/ui/utils/activeAuthuser.d.ts +24 -0
  66. package/lib/typescript/module/ui/utils/activeAuthuser.d.ts.map +1 -1
  67. package/package.json +5 -4
  68. package/src/index.ts +8 -0
  69. package/src/ui/components/ProfileButton.tsx +270 -0
  70. package/src/ui/components/ProfileMenu.tsx +416 -0
  71. package/src/ui/components/SettingsIcon.tsx +2 -2
  72. package/src/ui/components/fileManagement/FileViewer.tsx +1 -1
  73. package/src/ui/components/payment/types.ts +3 -1
  74. package/src/ui/context/OxyContext.tsx +65 -11
  75. package/src/ui/context/hooks/useAuthOperations.ts +35 -2
  76. package/src/ui/index.ts +2 -0
  77. package/src/ui/screens/FeedbackScreen.tsx +3 -3
  78. package/src/ui/utils/activeAuthuser.ts +46 -0
@@ -135,6 +135,18 @@ Object.defineProperty(exports, "PreferencesScreen", {
135
135
  return _PreferencesScreen.default;
136
136
  }
137
137
  });
138
+ Object.defineProperty(exports, "ProfileButton", {
139
+ enumerable: true,
140
+ get: function () {
141
+ return _ProfileButton.default;
142
+ }
143
+ });
144
+ Object.defineProperty(exports, "ProfileMenu", {
145
+ enumerable: true,
146
+ get: function () {
147
+ return _ProfileMenu.default;
148
+ }
149
+ });
138
150
  Object.defineProperty(exports, "closeBottomSheet", {
139
151
  enumerable: true,
140
152
  get: function () {
@@ -644,6 +656,8 @@ var _LogoIcon = require("./ui/components/logo/LogoIcon.js");
644
656
  var _LogoText = require("./ui/components/logo/LogoText.js");
645
657
  var _AccountMenu = _interopRequireDefault(require("./ui/components/AccountMenu.js"));
646
658
  var _AccountMenuButton = _interopRequireDefault(require("./ui/components/AccountMenuButton.js"));
659
+ var _ProfileButton = _interopRequireDefault(require("./ui/components/ProfileButton.js"));
660
+ var _ProfileMenu = _interopRequireDefault(require("./ui/components/ProfileMenu.js"));
647
661
  var _AccountSwitcher = _interopRequireWildcard(require("./ui/components/AccountSwitcher.js"));
648
662
  var _useDeviceAccounts = require("./ui/hooks/useDeviceAccounts.js");
649
663
  var _ManageAccountScreen = _interopRequireDefault(require("./ui/screens/ManageAccountScreen.js"));
@@ -740,6 +754,10 @@ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e
740
754
 
741
755
  // Unified account menu (device-only switcher — popover on web, sheet on native)
742
756
 
757
+ // Sidebar account button + its device-account switcher menu (Bluesky-style
758
+ // ProfileCard). `ProfileButton` owns its own open state + anchor measurement
759
+ // and opens `ProfileMenu` upward from a sidebar footer.
760
+
743
761
  // Unified account switcher (device sign-ins + account graph). `AccountMenuButton`
744
762
  // opens this; the `AccountSwitcherView` body also backs the `AccountSwitcher`
745
763
  // bottom-sheet route.
@@ -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","_useOnlineStatus","_errorHandlers","_crossApex","_useFileFiltering","_Avatar","_OxySignInButton","_OxyAuthPrompt","_OxyLogo","_FollowButton","_LogoIcon","_LogoText","_AccountMenu","_AccountMenuButton","_AccountSwitcher","_interopRequireWildcard","_useDeviceAccounts","_ManageAccountScreen","_NotificationsScreen","_PreferencesScreen","_ConnectedAppsScreen","_AccountSwitcherScreen","_CreateAccountScreen","_AccountMembersScreen","_AccountSettingsScreen","_bottomSheetManager","_SignInModal","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","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","_useOnlineStatus","_errorHandlers","_crossApex","_useFileFiltering","_Avatar","_OxySignInButton","_OxyAuthPrompt","_OxyLogo","_FollowButton","_LogoIcon","_LogoText","_AccountMenu","_AccountMenuButton","_ProfileButton","_ProfileMenu","_AccountSwitcher","_interopRequireWildcard","_useDeviceAccounts","_ManageAccountScreen","_NotificationsScreen","_PreferencesScreen","_ConnectedAppsScreen","_AccountSwitcherScreen","_CreateAccountScreen","_AccountMembersScreen","_AccountSettingsScreen","_bottomSheetManager","_SignInModal","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","setPlatformOS","Platform","OS"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,233 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _react = require("react");
8
+ var _reactNative = require("react-native");
9
+ var _vectorIcons = require("@expo/vector-icons");
10
+ var _avatar = require("@oxyhq/bloom/avatar");
11
+ var _typography = require("@oxyhq/bloom/typography");
12
+ var _theme = require("@oxyhq/bloom/theme");
13
+ var _core = require("@oxyhq/core");
14
+ var _useAuth = require("../hooks/useAuth.js");
15
+ var _useI18n = require("../hooks/useI18n.js");
16
+ var _ProfileMenu = _interopRequireDefault(require("./ProfileMenu.js"));
17
+ var _jsxRuntime = require("react/jsx-runtime");
18
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
19
+ const isWeb = _reactNative.Platform.OS === 'web';
20
+
21
+ /**
22
+ * Fixed popover width used by {@link ProfileMenu} on web. `ProfileButton`
23
+ * mirrors this constant when computing the trigger-relative anchor so the
24
+ * left-edge clamp keeps the panel fully on-screen. Keep the two in sync.
25
+ */
26
+ const MENU_WIDTH = 300;
27
+
28
+ /** Gutter, in px, kept between the popover and the viewport edges on web. */
29
+ const VIEWPORT_GUTTER = 8;
30
+ /**
31
+ * Self-contained sidebar account trigger, modeled on Bluesky's ProfileCard and
32
+ * the Oxy inbox's `MailboxDrawer` footer. Owns its own open state + anchor
33
+ * measurement, and renders {@link ProfileMenu} (the device-account switcher).
34
+ *
35
+ * Three auth states from {@link useAuth}:
36
+ * - **Undetermined** (`!isAuthResolved || isPrivateApiPending`): a neutral
37
+ * avatar-sized skeleton circle, no press.
38
+ * - **Signed in**: a pressable row — Bloom `Avatar` + display name + `@handle`
39
+ * + an `unfold-more-horizontal` chevron. Press opens the menu upward (web)
40
+ * against the measured trigger, or as a bottom sheet (native).
41
+ * - **Signed out**: a "Sign in" row that calls `useAuth().signIn()`.
42
+ *
43
+ * All display strings resolve through `@oxyhq/core`'s
44
+ * `getAccountDisplayName` / `getAccountFallbackHandle` — no hand-rolled name
45
+ * fallbacks. Avatars pass the bare file id as `source` + `variant="thumb"`, so
46
+ * the app's registered `ImageResolver` builds the thumbnail URL.
47
+ */
48
+ const ProfileButton = ({
49
+ expanded = true,
50
+ avatarSize,
51
+ onNavigateManage,
52
+ onAddAccount,
53
+ onNavigateProfile,
54
+ onBeforeSessionChange,
55
+ className,
56
+ style
57
+ }) => {
58
+ const {
59
+ user,
60
+ isAuthenticated,
61
+ isAuthResolved,
62
+ isPrivateApiPending,
63
+ signIn
64
+ } = (0, _useAuth.useAuth)();
65
+ const {
66
+ colors
67
+ } = (0, _theme.useTheme)();
68
+ const {
69
+ t,
70
+ locale
71
+ } = (0, _useI18n.useI18n)();
72
+ const [menuOpen, setMenuOpen] = (0, _react.useState)(false);
73
+ const [anchor, setAnchor] = (0, _react.useState)(null);
74
+
75
+ // Trigger ref for the web anchor measurement. RN-Web exposes `measure()` on
76
+ // host views, so we anchor the popover to the button rect and open upward.
77
+ const triggerRef = (0, _react.useRef)(null);
78
+ const resolvedAvatarSize = avatarSize ?? (expanded ? 40 : 32);
79
+ const openMenu = (0, _react.useCallback)(() => {
80
+ if (!isWeb) {
81
+ setAnchor(null);
82
+ setMenuOpen(true);
83
+ return;
84
+ }
85
+ const node = triggerRef.current;
86
+ if (!node || typeof node.measure !== 'function' || typeof window === 'undefined') {
87
+ setAnchor(null);
88
+ setMenuOpen(true);
89
+ return;
90
+ }
91
+ node.measure((_x, _y, _w, _h, pageX, pageY) => {
92
+ if (typeof pageX !== 'number' || typeof pageY !== 'number') {
93
+ setAnchor(null);
94
+ } else {
95
+ // Clamp the panel's left edge inside the viewport gutter.
96
+ const maxLeft = Math.max(VIEWPORT_GUTTER, window.innerWidth - MENU_WIDTH - VIEWPORT_GUTTER);
97
+ const left = Math.min(Math.max(VIEWPORT_GUTTER, pageX), maxLeft);
98
+ // Anchor the panel's BOTTOM edge just above the trigger top so
99
+ // the menu opens upward from this footer button.
100
+ const bottom = Math.max(VIEWPORT_GUTTER, window.innerHeight - pageY + VIEWPORT_GUTTER);
101
+ setAnchor({
102
+ left,
103
+ bottom
104
+ });
105
+ }
106
+ setMenuOpen(true);
107
+ });
108
+ }, []);
109
+ const handleClose = (0, _react.useCallback)(() => {
110
+ setMenuOpen(false);
111
+ }, []);
112
+
113
+ // ── Undetermined: skeleton circle, no interaction. ──────────────────────
114
+ if (!isAuthResolved || isPrivateApiPending) {
115
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
116
+ className: className,
117
+ style: style,
118
+ accessibilityElementsHidden: true,
119
+ importantForAccessibility: "no-hide-descendants",
120
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
121
+ className: "rounded-full bg-secondary",
122
+ style: {
123
+ width: resolvedAvatarSize,
124
+ height: resolvedAvatarSize
125
+ }
126
+ })
127
+ });
128
+ }
129
+
130
+ // ── Signed out: "Sign in" row. ──────────────────────────────────────────
131
+ if (!isAuthenticated || !user) {
132
+ const signInLabel = t('common.actions.signIn') || 'Sign in';
133
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Pressable, {
134
+ className: `flex-row items-center gap-3 rounded-full px-2 py-2 ${className ?? ''}`,
135
+ style: style,
136
+ onPress: () => {
137
+ void signIn();
138
+ },
139
+ accessibilityRole: "button",
140
+ accessibilityLabel: signInLabel,
141
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
142
+ className: "items-center justify-center rounded-full bg-secondary",
143
+ style: {
144
+ width: resolvedAvatarSize,
145
+ height: resolvedAvatarSize
146
+ },
147
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_vectorIcons.MaterialCommunityIcons, {
148
+ name: "login",
149
+ size: Math.round(resolvedAvatarSize * 0.5),
150
+ color: colors.icon
151
+ })
152
+ }), expanded ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_typography.Text, {
153
+ className: "flex-1 font-semibold text-foreground",
154
+ numberOfLines: 1,
155
+ children: signInLabel
156
+ }) : null]
157
+ });
158
+ }
159
+
160
+ // ── Signed in: avatar + identity + chevron. ─────────────────────────────
161
+ const displayName = (0, _core.getAccountDisplayName)(user, locale);
162
+ const handle = (0, _core.getAccountFallbackHandle)(user);
163
+ const handleLine = handle ? `@${handle}` : null;
164
+ const avatarNode = /*#__PURE__*/(0, _jsxRuntime.jsx)(_avatar.Avatar, {
165
+ source: user.avatar ?? undefined,
166
+ variant: "thumb",
167
+ name: displayName,
168
+ size: resolvedAvatarSize
169
+ });
170
+ if (!expanded) {
171
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
172
+ className: className,
173
+ style: style,
174
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Pressable, {
175
+ ref: triggerRef,
176
+ className: "rounded-full",
177
+ onPress: openMenu,
178
+ accessibilityRole: "button",
179
+ accessibilityLabel: t('accountSwitcher.switchWhileSignedInAs', {
180
+ name: displayName
181
+ }) || `Switch account, signed in as ${displayName}`,
182
+ children: avatarNode
183
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ProfileMenu.default, {
184
+ open: menuOpen,
185
+ onClose: handleClose,
186
+ anchor: anchor,
187
+ onNavigateManage: onNavigateManage,
188
+ onAddAccount: onAddAccount,
189
+ onNavigateProfile: onNavigateProfile,
190
+ onBeforeSessionChange: onBeforeSessionChange
191
+ })]
192
+ });
193
+ }
194
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
195
+ className: className,
196
+ style: style,
197
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Pressable, {
198
+ ref: triggerRef,
199
+ className: "flex-row items-center gap-3 rounded-full px-2 py-2",
200
+ onPress: openMenu,
201
+ accessibilityRole: "button",
202
+ accessibilityLabel: t('accountSwitcher.switchWhileSignedInAs', {
203
+ name: displayName
204
+ }) || `Switch account, signed in as ${displayName}`,
205
+ children: [avatarNode, /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
206
+ className: "min-w-0 flex-1",
207
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_typography.Text, {
208
+ className: "font-bold text-foreground",
209
+ numberOfLines: 1,
210
+ children: displayName
211
+ }), handleLine ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_typography.Text, {
212
+ className: "text-xs text-muted-foreground",
213
+ numberOfLines: 1,
214
+ children: handleLine
215
+ }) : null]
216
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_vectorIcons.MaterialCommunityIcons, {
217
+ name: "unfold-more-horizontal",
218
+ size: 18,
219
+ color: colors.textSecondary
220
+ })]
221
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ProfileMenu.default, {
222
+ open: menuOpen,
223
+ onClose: handleClose,
224
+ anchor: anchor,
225
+ onNavigateManage: onNavigateManage,
226
+ onAddAccount: onAddAccount,
227
+ onNavigateProfile: onNavigateProfile,
228
+ onBeforeSessionChange: onBeforeSessionChange
229
+ })]
230
+ });
231
+ };
232
+ var _default = exports.default = ProfileButton;
233
+ //# sourceMappingURL=ProfileButton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","require","_reactNative","_vectorIcons","_avatar","_typography","_theme","_core","_useAuth","_useI18n","_ProfileMenu","_interopRequireDefault","_jsxRuntime","e","__esModule","default","isWeb","Platform","OS","MENU_WIDTH","VIEWPORT_GUTTER","ProfileButton","expanded","avatarSize","onNavigateManage","onAddAccount","onNavigateProfile","onBeforeSessionChange","className","style","user","isAuthenticated","isAuthResolved","isPrivateApiPending","signIn","useAuth","colors","useTheme","t","locale","useI18n","menuOpen","setMenuOpen","useState","anchor","setAnchor","triggerRef","useRef","resolvedAvatarSize","openMenu","useCallback","node","current","measure","window","_x","_y","_w","_h","pageX","pageY","maxLeft","Math","max","innerWidth","left","min","bottom","innerHeight","handleClose","jsx","View","accessibilityElementsHidden","importantForAccessibility","children","width","height","signInLabel","jsxs","Pressable","onPress","accessibilityRole","accessibilityLabel","MaterialCommunityIcons","name","size","round","color","icon","Text","numberOfLines","displayName","getAccountDisplayName","handle","getAccountFallbackHandle","handleLine","avatarNode","Avatar","source","avatar","undefined","variant","ref","open","onClose","textSecondary","_default","exports"],"sourceRoot":"../../../../src","sources":["ui/components/ProfileButton.tsx"],"mappings":"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","ignoreList":[]}