@oxy.so/services 11.17.0 → 12.2.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 (129) hide show
  1. package/lib/commonjs/assets/assets/one/floral.jpg.d.ts +1 -1
  2. package/lib/commonjs/ui/client.js +13 -0
  3. package/lib/commonjs/ui/client.js.map +1 -1
  4. package/lib/commonjs/ui/components/OxyAuthChooser.js +1 -6
  5. package/lib/commonjs/ui/components/OxyAuthChooser.js.map +1 -1
  6. package/lib/commonjs/ui/components/OxyProvider.js +6 -5
  7. package/lib/commonjs/ui/components/OxyProvider.js.map +1 -1
  8. package/lib/commonjs/ui/components/ProfileButton.js +2 -4
  9. package/lib/commonjs/ui/components/ProfileButton.js.map +1 -1
  10. package/lib/commonjs/ui/components/SafeAreaRoot.js +139 -0
  11. package/lib/commonjs/ui/components/SafeAreaRoot.js.map +1 -0
  12. package/lib/commonjs/ui/components/fileManagement/FileViewer.js +17 -14
  13. package/lib/commonjs/ui/components/fileManagement/FileViewer.js.map +1 -1
  14. package/lib/commonjs/ui/components/photogrid/JustifiedPhotoGrid.js +10 -17
  15. package/lib/commonjs/ui/components/photogrid/JustifiedPhotoGrid.js.map +1 -1
  16. package/lib/commonjs/ui/index.js +0 -37
  17. package/lib/commonjs/ui/index.js.map +1 -1
  18. package/lib/commonjs/ui/navigation/accountDialogManager.js +5 -4
  19. package/lib/commonjs/ui/navigation/accountDialogManager.js.map +1 -1
  20. package/lib/commonjs/ui/navigation/surfaces.js +2 -2
  21. package/lib/commonjs/ui/one-video.js +3 -2
  22. package/lib/commonjs/ui/one-video.js.map +1 -1
  23. package/lib/commonjs/ui/screens/AvatarCropScreen.js +39 -25
  24. package/lib/commonjs/ui/screens/AvatarCropScreen.js.map +1 -1
  25. package/lib/commonjs/ui/screens/EditProfileFieldScreen.js +4 -2
  26. package/lib/commonjs/ui/screens/EditProfileFieldScreen.js.map +1 -1
  27. package/lib/commonjs/ui/screens/OxyOneScreen.js +3 -2
  28. package/lib/commonjs/ui/screens/OxyOneScreen.js.map +1 -1
  29. package/lib/commonjs/ui/utils/imageSize.js +31 -0
  30. package/lib/commonjs/ui/utils/imageSize.js.map +1 -0
  31. package/lib/commonjs/ui/utils/imageSize.native.js +31 -0
  32. package/lib/commonjs/ui/utils/imageSize.native.js.map +1 -0
  33. package/lib/module/assets/assets/one/floral.jpg.d.ts +1 -1
  34. package/lib/module/ui/client.js +3 -0
  35. package/lib/module/ui/client.js.map +1 -1
  36. package/lib/module/ui/components/OxyAuthChooser.js +1 -6
  37. package/lib/module/ui/components/OxyAuthChooser.js.map +1 -1
  38. package/lib/module/ui/components/OxyProvider.js +6 -5
  39. package/lib/module/ui/components/OxyProvider.js.map +1 -1
  40. package/lib/module/ui/components/ProfileButton.js +2 -4
  41. package/lib/module/ui/components/ProfileButton.js.map +1 -1
  42. package/lib/module/ui/components/SafeAreaRoot.js +135 -0
  43. package/lib/module/ui/components/SafeAreaRoot.js.map +1 -0
  44. package/lib/module/ui/components/fileManagement/FileViewer.js +18 -15
  45. package/lib/module/ui/components/fileManagement/FileViewer.js.map +1 -1
  46. package/lib/module/ui/components/photogrid/JustifiedPhotoGrid.js +11 -18
  47. package/lib/module/ui/components/photogrid/JustifiedPhotoGrid.js.map +1 -1
  48. package/lib/module/ui/index.js +5 -3
  49. package/lib/module/ui/index.js.map +1 -1
  50. package/lib/module/ui/navigation/accountDialogManager.js +5 -4
  51. package/lib/module/ui/navigation/accountDialogManager.js.map +1 -1
  52. package/lib/module/ui/navigation/surfaces.js +2 -2
  53. package/lib/module/ui/one-video.js +4 -3
  54. package/lib/module/ui/one-video.js.map +1 -1
  55. package/lib/module/ui/screens/AvatarCropScreen.js +41 -25
  56. package/lib/module/ui/screens/AvatarCropScreen.js.map +1 -1
  57. package/lib/module/ui/screens/EditProfileFieldScreen.js +5 -3
  58. package/lib/module/ui/screens/EditProfileFieldScreen.js.map +1 -1
  59. package/lib/module/ui/screens/OxyOneScreen.js +4 -3
  60. package/lib/module/ui/screens/OxyOneScreen.js.map +1 -1
  61. package/lib/module/ui/utils/imageSize.js +26 -0
  62. package/lib/module/ui/utils/imageSize.js.map +1 -0
  63. package/lib/module/ui/utils/imageSize.native.js +26 -0
  64. package/lib/module/ui/utils/imageSize.native.js.map +1 -0
  65. package/lib/typescript/assets/one/floral.jpg.d.ts +1 -1
  66. package/lib/typescript/commonjs/ui/client.d.ts +3 -0
  67. package/lib/typescript/commonjs/ui/client.d.ts.map +1 -1
  68. package/lib/typescript/commonjs/ui/components/OxyAuthChooser.d.ts.map +1 -1
  69. package/lib/typescript/commonjs/ui/components/OxyProvider.d.ts +3 -2
  70. package/lib/typescript/commonjs/ui/components/OxyProvider.d.ts.map +1 -1
  71. package/lib/typescript/commonjs/ui/components/ProfileButton.d.ts +0 -2
  72. package/lib/typescript/commonjs/ui/components/ProfileButton.d.ts.map +1 -1
  73. package/lib/typescript/commonjs/ui/components/SafeAreaRoot.d.ts +28 -0
  74. package/lib/typescript/commonjs/ui/components/SafeAreaRoot.d.ts.map +1 -0
  75. package/lib/typescript/commonjs/ui/components/fileManagement/FileViewer.d.ts.map +1 -1
  76. package/lib/typescript/commonjs/ui/components/photogrid/JustifiedPhotoGrid.d.ts.map +1 -1
  77. package/lib/typescript/commonjs/ui/index.d.ts.map +1 -1
  78. package/lib/typescript/commonjs/ui/navigation/accountDialogManager.d.ts +5 -5
  79. package/lib/typescript/commonjs/ui/navigation/accountDialogManager.d.ts.map +1 -1
  80. package/lib/typescript/commonjs/ui/one-video.d.ts.map +1 -1
  81. package/lib/typescript/commonjs/ui/screens/AvatarCropScreen.d.ts.map +1 -1
  82. package/lib/typescript/commonjs/ui/screens/EditProfileFieldScreen.d.ts.map +1 -1
  83. package/lib/typescript/commonjs/ui/screens/OxyOneScreen.d.ts.map +1 -1
  84. package/lib/typescript/commonjs/ui/utils/imageSize.d.ts +6 -0
  85. package/lib/typescript/commonjs/ui/utils/imageSize.d.ts.map +1 -0
  86. package/lib/typescript/commonjs/ui/utils/imageSize.native.d.ts +6 -0
  87. package/lib/typescript/commonjs/ui/utils/imageSize.native.d.ts.map +1 -0
  88. package/lib/typescript/module/ui/client.d.ts +3 -0
  89. package/lib/typescript/module/ui/client.d.ts.map +1 -1
  90. package/lib/typescript/module/ui/components/OxyAuthChooser.d.ts.map +1 -1
  91. package/lib/typescript/module/ui/components/OxyProvider.d.ts +3 -2
  92. package/lib/typescript/module/ui/components/OxyProvider.d.ts.map +1 -1
  93. package/lib/typescript/module/ui/components/ProfileButton.d.ts +0 -2
  94. package/lib/typescript/module/ui/components/ProfileButton.d.ts.map +1 -1
  95. package/lib/typescript/module/ui/components/SafeAreaRoot.d.ts +28 -0
  96. package/lib/typescript/module/ui/components/SafeAreaRoot.d.ts.map +1 -0
  97. package/lib/typescript/module/ui/components/fileManagement/FileViewer.d.ts.map +1 -1
  98. package/lib/typescript/module/ui/components/photogrid/JustifiedPhotoGrid.d.ts.map +1 -1
  99. package/lib/typescript/module/ui/index.d.ts.map +1 -1
  100. package/lib/typescript/module/ui/navigation/accountDialogManager.d.ts +5 -5
  101. package/lib/typescript/module/ui/navigation/accountDialogManager.d.ts.map +1 -1
  102. package/lib/typescript/module/ui/one-video.d.ts.map +1 -1
  103. package/lib/typescript/module/ui/screens/AvatarCropScreen.d.ts.map +1 -1
  104. package/lib/typescript/module/ui/screens/EditProfileFieldScreen.d.ts.map +1 -1
  105. package/lib/typescript/module/ui/screens/OxyOneScreen.d.ts.map +1 -1
  106. package/lib/typescript/module/ui/utils/imageSize.d.ts +6 -0
  107. package/lib/typescript/module/ui/utils/imageSize.d.ts.map +1 -0
  108. package/lib/typescript/module/ui/utils/imageSize.native.d.ts +6 -0
  109. package/lib/typescript/module/ui/utils/imageSize.native.d.ts.map +1 -0
  110. package/package.json +1 -1
  111. package/src/assets/one/floral.jpg.d.ts +1 -1
  112. package/src/ui/client.ts +8 -0
  113. package/src/ui/components/OxyAuthChooser.tsx +1 -6
  114. package/src/ui/components/OxyProvider.tsx +7 -6
  115. package/src/ui/components/ProfileButton.tsx +2 -12
  116. package/src/ui/components/SafeAreaRoot.tsx +123 -0
  117. package/src/ui/components/__tests__/SafeAreaRoot.test.tsx +162 -0
  118. package/src/ui/components/fileManagement/FileViewer.tsx +18 -13
  119. package/src/ui/components/photogrid/JustifiedPhotoGrid.tsx +13 -24
  120. package/src/ui/index.ts +5 -4
  121. package/src/ui/navigation/accountDialogManager.ts +5 -5
  122. package/src/ui/navigation/surfaces.ts +2 -2
  123. package/src/ui/one-video.tsx +3 -2
  124. package/src/ui/screens/AvatarCropScreen.tsx +30 -25
  125. package/src/ui/screens/EditProfileFieldScreen.tsx +7 -2
  126. package/src/ui/screens/OxyOneScreen.tsx +4 -3
  127. package/src/ui/utils/__tests__/imageSize.test.ts +61 -0
  128. package/src/ui/utils/imageSize.native.ts +26 -0
  129. package/src/ui/utils/imageSize.ts +26 -0
@@ -41,21 +41,21 @@ export interface AccountDialogControls {
41
41
  }
42
42
  /**
43
43
  * Optional consumer overrides for account-dialog actions. `ProfileButton` (and
44
- * similar hosts) register these while mounted so inbox/accounts can route
45
- * "Manage" / "Add account" to app-local navigation instead of the SDK default.
44
+ * similar hosts) register these while mounted so an app can route "Add account"
45
+ * and "Profile" to app-local navigation, and add its own menu entries. "Manage
46
+ * your Oxy account" is not overridable: it always opens the SDK's ManageAccount.
46
47
  */
47
48
  export interface AccountDialogConsumerHooks {
48
- onNavigateManage?: () => void;
49
49
  onAddAccount?: () => void;
50
50
  onNavigateProfile?: () => void;
51
51
  menuItems?: readonly AccountDialogMenuItem[];
52
52
  menuSections?: readonly AccountDialogMenuSection[];
53
53
  }
54
54
  export declare function registerAccountDialogControls(next: AccountDialogControls): () => void;
55
- /** Register app-local manage/add/profile handlers for the account dialog. */
55
+ /** Register app-local add/profile handlers and menu entries for the account dialog. */
56
56
  export declare function registerAccountDialogConsumerHooks(next: AccountDialogConsumerHooks | null): () => void;
57
57
  export declare function getAccountDialogConsumerHooks(): AccountDialogConsumerHooks | null;
58
- /** Subscribe to consumer-hook registration changes (menu items, manage/add overrides). */
58
+ /** Subscribe to consumer-hook registration changes (menu items, add/profile overrides). */
59
59
  export declare function subscribeToAccountDialogConsumerHooks(listener: () => void): () => void;
60
60
  /** Open the account dialog on `view` (default `accounts`). No-op before mount. */
61
61
  export declare function openAccountDialog(view?: AccountDialogView): void;
@@ -1 +1 @@
1
- {"version":3,"file":"accountDialogManager.d.ts","sourceRoot":"","sources":["../../../../../src/ui/navigation/accountDialogManager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAE9D,mEAAmE;AACnE,MAAM,WAAW,qBAAqB;IACpC,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,iDAAiD;IACjD,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,iEAAiE;IACjE,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,yEAAyE;AACzE,MAAM,WAAW,wBAAwB;IACvC,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,SAAS,qBAAqB,EAAE,CAAC;CACzC;AAED;;;;GAIG;AACH,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,iBAAiB,KAAK,IAAI,CAAC;IACzC,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB;AAED;;;;GAIG;AACH,MAAM,WAAW,0BAA0B;IACzC,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC9B,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,iBAAiB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC/B,SAAS,CAAC,EAAE,SAAS,qBAAqB,EAAE,CAAC;IAC7C,YAAY,CAAC,EAAE,SAAS,wBAAwB,EAAE,CAAC;CACpD;AAaD,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,qBAAqB,GAAG,MAAM,IAAI,CAOrF;AAED,6EAA6E;AAC7E,wBAAgB,kCAAkC,CAChD,IAAI,EAAE,0BAA0B,GAAG,IAAI,GACtC,MAAM,IAAI,CASZ;AAED,wBAAgB,6BAA6B,IAAI,0BAA0B,GAAG,IAAI,CAEjF;AAED,0FAA0F;AAC1F,wBAAgB,qCAAqC,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAKtF;AAED,kFAAkF;AAClF,wBAAgB,iBAAiB,CAAC,IAAI,CAAC,EAAE,iBAAiB,GAAG,IAAI,CAEhE;AAED,oDAAoD;AACpD,wBAAgB,kBAAkB,IAAI,IAAI,CAEzC;AAED,sFAAsF;AACtF,wBAAgB,6BAA6B,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAIpE;AAED,sDAAsD;AACtD,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,GAAG,MAAM,IAAI,CAKzF"}
1
+ {"version":3,"file":"accountDialogManager.d.ts","sourceRoot":"","sources":["../../../../../src/ui/navigation/accountDialogManager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAE9D,mEAAmE;AACnE,MAAM,WAAW,qBAAqB;IACpC,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,iDAAiD;IACjD,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,iEAAiE;IACjE,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,yEAAyE;AACzE,MAAM,WAAW,wBAAwB;IACvC,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,SAAS,qBAAqB,EAAE,CAAC;CACzC;AAED;;;;GAIG;AACH,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,iBAAiB,KAAK,IAAI,CAAC;IACzC,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB;AAED;;;;;GAKG;AACH,MAAM,WAAW,0BAA0B;IACzC,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,iBAAiB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC/B,SAAS,CAAC,EAAE,SAAS,qBAAqB,EAAE,CAAC;IAC7C,YAAY,CAAC,EAAE,SAAS,wBAAwB,EAAE,CAAC;CACpD;AAaD,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,qBAAqB,GAAG,MAAM,IAAI,CAOrF;AAED,uFAAuF;AACvF,wBAAgB,kCAAkC,CAChD,IAAI,EAAE,0BAA0B,GAAG,IAAI,GACtC,MAAM,IAAI,CASZ;AAED,wBAAgB,6BAA6B,IAAI,0BAA0B,GAAG,IAAI,CAEjF;AAED,2FAA2F;AAC3F,wBAAgB,qCAAqC,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAKtF;AAED,kFAAkF;AAClF,wBAAgB,iBAAiB,CAAC,IAAI,CAAC,EAAE,iBAAiB,GAAG,IAAI,CAEhE;AAED,oDAAoD;AACpD,wBAAgB,kBAAkB,IAAI,IAAI,CAEzC;AAED,sFAAsF;AACtF,wBAAgB,6BAA6B,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAIpE;AAED,sDAAsD;AACtD,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,GAAG,MAAM,IAAI,CAKzF"}
@@ -1 +1 @@
1
- {"version":3,"file":"one-video.d.ts","sourceRoot":"","sources":["../../../../src/ui/one-video.tsx"],"names":[],"mappings":"AASA,oFAAoF;AACpF,wBAAgB,WAAW,gCAiC1B"}
1
+ {"version":3,"file":"one-video.d.ts","sourceRoot":"","sources":["../../../../src/ui/one-video.tsx"],"names":[],"mappings":"AAUA,oFAAoF;AACpF,wBAAgB,WAAW,gCAiC1B"}
@@ -1 +1 @@
1
- {"version":3,"file":"AvatarCropScreen.d.ts","sourceRoot":"","sources":["../../../../../src/ui/screens/AvatarCropScreen.tsx"],"names":[],"mappings":"AAKA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAsB/B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAK3D,mDAAmD;AACnD,MAAM,WAAW,gBAAgB;IAC/B,oDAAoD;IACpD,GAAG,EAAE,MAAM,CAAC;IACZ,iCAAiC;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,kCAAkC;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,uCAAuC;IACvC,IAAI,EAAE,YAAY,CAAC;CACpB;AAED,MAAM,WAAW,qBAAsB,SAAQ,eAAe;IAC5D,2EAA2E;IAC3E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;;OAKG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,yEAAyE;IACzE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,0EAA0E;IAC1E,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAuPD,QAAA,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,CAsxBrD,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
1
+ {"version":3,"file":"AvatarCropScreen.d.ts","sourceRoot":"","sources":["../../../../../src/ui/screens/AvatarCropScreen.tsx"],"names":[],"mappings":"AAKA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAuB/B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAM3D,mDAAmD;AACnD,MAAM,WAAW,gBAAgB;IAC/B,oDAAoD;IACpD,GAAG,EAAE,MAAM,CAAC;IACZ,iCAAiC;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,kCAAkC;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,uCAAuC;IACvC,IAAI,EAAE,YAAY,CAAC;CACpB;AAED,MAAM,WAAW,qBAAsB,SAAQ,eAAe;IAC5D,2EAA2E;IAC3E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;;OAKG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,yEAAyE;IACzE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,0EAA0E;IAC1E,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAsPD,QAAA,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,CA0xBrD,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"EditProfileFieldScreen.d.ts","sourceRoot":"","sources":["../../../../../src/ui/screens/EditProfileFieldScreen.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAyC,MAAM,OAAO,CAAC;AAG9D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAuB3D;;GAEG;AACH,MAAM,MAAM,gBAAgB,GACxB,aAAa,GACb,UAAU,GACV,KAAK,GACL,OAAO,GACP,SAAS,GACT,UAAU,GACV,UAAU,GACV,WAAW,GACX,OAAO,CAAC;AA4BZ,UAAU,2BAA4B,SAAQ,eAAe;IAC3D,6BAA6B;IAC7B,SAAS,CAAC,EAAE,gBAAgB,CAAC;CAC9B;;AAqoBD,wBAAkD"}
1
+ {"version":3,"file":"EditProfileFieldScreen.d.ts","sourceRoot":"","sources":["../../../../../src/ui/screens/EditProfileFieldScreen.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAyC,MAAM,OAAO,CAAC;AAI9D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAuB3D;;GAEG;AACH,MAAM,MAAM,gBAAgB,GACxB,aAAa,GACb,UAAU,GACV,KAAK,GACL,OAAO,GACP,SAAS,GACT,UAAU,GACV,UAAU,GACV,WAAW,GACX,OAAO,CAAC;AA4BZ,UAAU,2BAA4B,SAAQ,eAAe;IAC3D,6BAA6B;IAC7B,SAAS,CAAC,EAAE,gBAAgB,CAAC;CAC9B;;AAyoBD,wBAAkD"}
@@ -1 +1 @@
1
- {"version":3,"file":"OxyOneScreen.d.ts","sourceRoot":"","sources":["../../../../../src/ui/screens/OxyOneScreen.tsx"],"names":[],"mappings":"AAgCA;sEACsE;AACtE,MAAM,CAAC,OAAO,UAAU,YAAY,gCA4LnC"}
1
+ {"version":3,"file":"OxyOneScreen.d.ts","sourceRoot":"","sources":["../../../../../src/ui/screens/OxyOneScreen.tsx"],"names":[],"mappings":"AAiCA;sEACsE;AACtE,MAAM,CAAC,OAAO,UAAU,YAAY,gCA4LnC"}
@@ -0,0 +1,6 @@
1
+ export interface ImageSize {
2
+ width: number;
3
+ height: number;
4
+ }
5
+ export declare function getImageSize(uri: string): Promise<ImageSize>;
6
+ //# sourceMappingURL=imageSize.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"imageSize.d.ts","sourceRoot":"","sources":["../../../../../src/ui/utils/imageSize.ts"],"names":[],"mappings":"AAgBA,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAI5D"}
@@ -0,0 +1,6 @@
1
+ export interface ImageSize {
2
+ width: number;
3
+ height: number;
4
+ }
5
+ export declare function getImageSize(uri: string): Promise<ImageSize>;
6
+ //# sourceMappingURL=imageSize.native.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"imageSize.native.d.ts","sourceRoot":"","sources":["../../../../../src/ui/utils/imageSize.native.ts"],"names":[],"mappings":"AAUA,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,wBAAsB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAUlE"}
@@ -30,6 +30,9 @@ export { default as OxyPayButton } from './components/OxyPayButton.js';
30
30
  export type { OxyPayButtonProps } from './components/OxyPayButton.js';
31
31
  export { useOxy, useOptionalOxy, OxyProviderMissingError } from './context/OxyContext.js';
32
32
  export { useAuth } from './hooks/useAuth.js';
33
+ export { useAppAssertion, AppAssertionProviderMissingError, } from './appAssertion/AppAssertionContext.js';
34
+ export type { UseAppAssertionResult } from './appAssertion/AppAssertionContext.js';
35
+ export type { AppAssertionSnapshot, AppAssertionStatus } from './appAssertion/appAssertionManager.js';
33
36
  export type { AuthState, AuthActions, SignInOutcome, UseAuthReturn } from './hooks/useAuth.js';
34
37
  export { createDeferredProductAnalytics } from './analytics/productAnalytics.js';
35
38
  export type { OxyProductEvent, ProductAnalytics } from './analytics/productAnalytics.js';
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../../src/ui/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../../src/ui/client.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"OxyAuthChooser.d.ts","sourceRoot":"","sources":["../../../../../src/ui/components/OxyAuthChooser.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AA6C/B,MAAM,WAAW,mBAAmB;IAClC,4DAA4D;IAC5D,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;CACzB;AAED;;;;GAIG;AACH,QAAA,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CA0XjD,CAAC;AA8BF,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"OxyAuthChooser.d.ts","sourceRoot":"","sources":["../../../../../src/ui/components/OxyAuthChooser.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AA6C/B,MAAM,WAAW,mBAAmB;IAClC,4DAA4D;IAC5D,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;CACzB;AAED;;;;GAIG;AACH,QAAA,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAqXjD,CAAC;AA8BF,eAAe,cAAc,CAAC"}
@@ -4,8 +4,9 @@ import type { OxyProviderProps } from '../types/navigation.js';
4
4
  * OxyProvider - Universal provider for Expo apps (native + web)
5
5
  *
6
6
  * Provides authentication, session management, query client, and UI overlays.
7
- * Wraps its own overlay stack in SafeAreaProvider and GestureHandlerRootView so
8
- * the shared Bloom SURFACE STACK (`<SurfaceProvider>` / `<SurfaceHost>`) — which
7
+ * Wraps its own overlay stack in a safe-area root (`SafeAreaRoot`: the native
8
+ * SafeAreaProvider on a device, the window's metrics on web) and
9
+ * GestureHandlerRootView so the shared Bloom SURFACE STACK (`<SurfaceProvider>` / `<SurfaceHost>`) — which
9
10
  * hosts every SDK surface (the ~35 bottom-sheet routes + the AccountDialog) — can
10
11
  * safely render even when a consuming app has not mounted those providers yet.
11
12
  *
@@ -1 +1 @@
1
- {"version":3,"file":"OxyProvider.d.ts","sourceRoot":"","sources":["../../../../../src/ui/components/OxyProvider.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAwC,KAAK,EAAE,EAAE,MAAM,OAAO,CAAC;AAItE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAqB,CAAC;AAqC5D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;AACH,QAAA,MAAM,WAAW,EAAE,EAAE,CAAC,gBAAgB,CAyNrC,CAAC;AAEF,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"OxyProvider.d.ts","sourceRoot":"","sources":["../../../../../src/ui/components/OxyProvider.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAwC,KAAK,EAAE,EAAE,MAAM,OAAO,CAAC;AAGtE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAqB,CAAC;AAsC5D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;AACH,QAAA,MAAM,WAAW,EAAE,EAAE,CAAC,gBAAgB,CAyNrC,CAAC;AAEF,eAAe,WAAW,CAAC"}
@@ -11,8 +11,6 @@ export interface ProfileButtonProps {
11
11
  * Avatar diameter in px. Defaults to 40 when expanded, 32 when collapsed.
12
12
  */
13
13
  avatarSize?: number;
14
- /** Navigate to the "Manage account" surface (settings). */
15
- onNavigateManage?: () => void;
16
14
  /** Start the add-account / sign-in flow for an additional account. */
17
15
  onAddAccount?: () => void;
18
16
  /** Optional: navigate to the signed-in user's own profile. */
@@ -1 +1 @@
1
- {"version":3,"file":"ProfileButton.d.ts","sourceRoot":"","sources":["../../../../../src/ui/components/ProfileButton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAkBzD,OAAO,KAAK,EACV,qBAAqB,EACrB,wBAAwB,EACzB,MAAM,uCAAoC,CAAC;AAE5C,MAAM,WAAW,kBAAkB;IACjC;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,2DAA2D;IAC3D,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC9B,sEAAsE;IACtE,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,8DAA8D;IAC9D,iBAAiB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC/B,6DAA6D;IAC7D,SAAS,CAAC,EAAE,SAAS,qBAAqB,EAAE,CAAC;IAC7C,wEAAwE;IACxE,YAAY,CAAC,EAAE,SAAS,wBAAwB,EAAE,CAAC;IACnD;;;;OAIG;IACH,SAAS,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,CAAC;IACnC;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gDAAgD;IAChD,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CAC9B;AAED,sEAAsE;AACtE,QAAA,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CA4I/C,CAAC;AAEF,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"ProfileButton.d.ts","sourceRoot":"","sources":["../../../../../src/ui/components/ProfileButton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAkBzD,OAAO,KAAK,EACV,qBAAqB,EACrB,wBAAwB,EACzB,MAAM,uCAAoC,CAAC;AAE5C,MAAM,WAAW,kBAAkB;IACjC;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,sEAAsE;IACtE,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,8DAA8D;IAC9D,iBAAiB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC/B,6DAA6D;IAC7D,SAAS,CAAC,EAAE,SAAS,qBAAqB,EAAE,CAAC;IAC7C,wEAAwE;IACxE,YAAY,CAAC,EAAE,SAAS,wBAAwB,EAAE,CAAC;IACnD;;;;OAIG;IACH,SAAS,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,CAAC;IACnC;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gDAAgD;IAChD,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CAC9B;AAED,sEAAsE;AACtE,QAAA,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAoI/C,CAAC;AAEF,eAAe,aAAa,CAAC"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * The safe-area root `OxyProvider` mounts around everything it renders.
3
+ *
4
+ * On iOS and Android it is react-native-safe-area-context's own
5
+ * `SafeAreaProvider`, which measures the native root view.
6
+ *
7
+ * On web it does NOT measure. From react-native-safe-area-context 5.9, the web
8
+ * provider measures its own element and reports
9
+ * `windowInsets.bottom - (innerHeight - rect.bottom)` as the bottom inset with
10
+ * no upper clamp (likewise `top - rect.top`). `OxyProvider` wraps the app's
11
+ * whole document, and on a page that scrolls that element is taller than the
12
+ * viewport, so everything below the fold became bottom inset: an 844px phone
13
+ * viewport with a 2690px page reported a ~1850px inset, and the mobile account
14
+ * dialog laid itself out empty. Web therefore gets the WINDOW's metrics — what
15
+ * every version before 5.9 reported for a root provider:
16
+ *
17
+ * - insets: CSS `env(safe-area-inset-*)`, read from one fixed, hidden probe
18
+ * after mount (zero during server rendering and hydration);
19
+ * - frame: the viewport (`useWindowDimensions`), never the document's height.
20
+ *
21
+ * Bloom raises its own web insets to the same `env()` values
22
+ * (`useCssSafeAreaInsets`), so nothing pads twice.
23
+ */
24
+ import type { ReactNode } from 'react';
25
+ export declare function SafeAreaRoot({ children }: {
26
+ children?: ReactNode;
27
+ }): import("react").JSX.Element;
28
+ //# sourceMappingURL=SafeAreaRoot.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SafeAreaRoot.d.ts","sourceRoot":"","sources":["../../../../../src/ui/components/SafeAreaRoot.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAcvC,wBAAgB,YAAY,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,CAAC,EAAE,SAAS,CAAA;CAAE,+BAGlE"}
@@ -1 +1 @@
1
- {"version":3,"file":"FileViewer.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/components/fileManagement/FileViewer.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAQ/B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAIjD,UAAU,eAAe;IACvB,IAAI,EAAE,YAAY,CAAC;IACnB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,kBAAkB,EAAE,OAAO,CAAC;IAC5B,uBAAuB,EAAE,OAAO,CAAC;IACjC,eAAe,EAAE,MAAM,IAAI,CAAC;IAC5B,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IACvD,iFAAiF;IACjF,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IACrD,mFAAmF;IACnF,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;CAClB;AA0BD,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAuWhD,CAAC"}
1
+ {"version":3,"file":"FileViewer.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/components/fileManagement/FileViewer.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAQ/B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAKjD,UAAU,eAAe;IACvB,IAAI,EAAE,YAAY,CAAC;IACnB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,kBAAkB,EAAE,OAAO,CAAC;IAC5B,uBAAuB,EAAE,OAAO,CAAC;IACjC,eAAe,EAAE,MAAM,IAAI,CAAC;IAC5B,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IACvD,iFAAiF;IACjF,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IACrD,mFAAmF;IACnF,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;CAClB;AA0BD,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CA2WhD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"JustifiedPhotoGrid.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/components/photogrid/JustifiedPhotoGrid.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAyC,MAAM,OAAO,CAAC;AAI9D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AA4CjD,6EAA6E;AAC7E,eAAO,MAAM,cAAc,IAAI,CAAC;AAEhC,yEAAyE;AACzE,wBAAgB,WAAW,CAAC,MAAM,EAAE,YAAY,EAAE,EAAE,MAAM,EAAE,MAAM,GAAG,YAAY,EAAE,EAAE,CAMpF;AAED,MAAM,WAAW,uBAAuB;IACtC,MAAM,EAAE,YAAY,EAAE,CAAC;IACvB;;;;OAIG;IACH,WAAW,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,MAAM,GAAG,SAAS,CAAC;IACzD,wBAAwB,EAAE,CACxB,KAAK,EAAE,YAAY,EACnB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,OAAO,KACZ,KAAK,CAAC,YAAY,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;;AA6KD,wBAA8C"}
1
+ {"version":3,"file":"JustifiedPhotoGrid.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/components/photogrid/JustifiedPhotoGrid.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAyC,MAAM,OAAO,CAAC;AAI9D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAiCjD,6EAA6E;AAC7E,eAAO,MAAM,cAAc,IAAI,CAAC;AAEhC,yEAAyE;AACzE,wBAAgB,WAAW,CAAC,MAAM,EAAE,YAAY,EAAE,EAAE,MAAM,EAAE,MAAM,GAAG,YAAY,EAAE,EAAE,CAMpF;AAED,MAAM,WAAW,uBAAuB;IACtC,MAAM,EAAE,YAAY,EAAE,CAAC;IACvB;;;;OAIG;IACH,WAAW,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,MAAM,GAAG,SAAS,CAAC;IACzD,wBAAwB,EAAE,CACxB,KAAK,EAAE,YAAY,EACnB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,OAAO,KACZ,KAAK,CAAC,YAAY,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;;AA6KD,wBAA8C"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/ui/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAWH,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,6BAA0B,CAAC;AAClE,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,iCAA8B,CAAC;AAC1E,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,+BAA4B,CAAC;AACtE,YAAY,EAAE,kBAAkB,EAAE,MAAM,+BAA4B,CAAC;AACrE,OAAO,EAAE,QAAQ,EAAE,MAAM,+BAA4B,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,+BAA4B,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,gCAA6B,CAAC;AAC7D,YAAY,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,gCAA6B,CAAC;AAE7F,YAAY,EAAE,oBAAoB,EAAE,MAAM,oCAAiC,CAAC;AAC5E,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,8BAA2B,CAAC;AACpE,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,8BAA2B,CAAC;AACpE,YAAY,EAAE,iBAAiB,EAAE,MAAM,8BAA2B,CAAC;AACnE,8CAA8C;AAC9C,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,8BAA2B,CAAC;AACpE,mDAAmD;AACnD,YAAY,EAAE,iBAAiB,EAAE,MAAM,8BAA2B,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,+BAA4B,CAAC;AAGtE,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,uBAAuB,EAAE,MAAM,yBAAsB,CAAC;AACvF,OAAO,EAAE,eAAe,EAAE,MAAM,uCAAoC,CAAC;AACrE,YAAY,EAAE,qBAAqB,EAAE,MAAM,uCAAoC,CAAC;AAChF,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAiB,CAAC;AAC1C,YAAY,EAAE,WAAW,EAAE,SAAS,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,oBAAiB,CAAC;AAC5F,OAAO,EAAE,SAAS,EAAE,qBAAqB,EAAE,MAAM,sBAAmB,CAAC;AACrE,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAoB,CAAC;AAChD,YAAY,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,uBAAoB,CAAC;AAM9E,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAoB,CAAC;AAGlD,OAAO,EACL,eAAe,EACf,qBAAqB,EACrB,uBAAuB,EACvB,mBAAmB,GACpB,MAAM,0BAAuB,CAAC;AAC/B,YAAY,EAAE,sBAAsB,EAAE,MAAM,0BAAuB,CAAC;AAEpE,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,mCAAgC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/ui/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAYH,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,6BAA0B,CAAC;AAClE,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,iCAA8B,CAAC;AAC1E,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,+BAA4B,CAAC;AACtE,YAAY,EAAE,kBAAkB,EAAE,MAAM,+BAA4B,CAAC;AACrE,OAAO,EAAE,QAAQ,EAAE,MAAM,+BAA4B,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,+BAA4B,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,gCAA6B,CAAC;AAC7D,YAAY,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,gCAA6B,CAAC;AAE7F,YAAY,EAAE,oBAAoB,EAAE,MAAM,oCAAiC,CAAC;AAC5E,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,8BAA2B,CAAC;AACpE,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,8BAA2B,CAAC;AACpE,YAAY,EAAE,iBAAiB,EAAE,MAAM,8BAA2B,CAAC;AACnE,8CAA8C;AAC9C,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,8BAA2B,CAAC;AACpE,mDAAmD;AACnD,YAAY,EAAE,iBAAiB,EAAE,MAAM,8BAA2B,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,+BAA4B,CAAC;AAGtE,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,uBAAuB,EAAE,MAAM,yBAAsB,CAAC;AACvF,OAAO,EAAE,eAAe,EAAE,MAAM,uCAAoC,CAAC;AACrE,YAAY,EAAE,qBAAqB,EAAE,MAAM,uCAAoC,CAAC;AAChF,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAiB,CAAC;AAC1C,YAAY,EAAE,WAAW,EAAE,SAAS,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,oBAAiB,CAAC;AAC5F,OAAO,EAAE,SAAS,EAAE,qBAAqB,EAAE,MAAM,sBAAmB,CAAC;AACrE,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAoB,CAAC;AAChD,YAAY,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,uBAAoB,CAAC;AAM9E,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAoB,CAAC;AAGlD,OAAO,EACL,eAAe,EACf,qBAAqB,EACrB,uBAAuB,EACvB,mBAAmB,GACpB,MAAM,0BAAuB,CAAC;AAC/B,YAAY,EAAE,sBAAsB,EAAE,MAAM,0BAAuB,CAAC;AAEpE,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,mCAAgC,CAAC"}
@@ -41,21 +41,21 @@ export interface AccountDialogControls {
41
41
  }
42
42
  /**
43
43
  * Optional consumer overrides for account-dialog actions. `ProfileButton` (and
44
- * similar hosts) register these while mounted so inbox/accounts can route
45
- * "Manage" / "Add account" to app-local navigation instead of the SDK default.
44
+ * similar hosts) register these while mounted so an app can route "Add account"
45
+ * and "Profile" to app-local navigation, and add its own menu entries. "Manage
46
+ * your Oxy account" is not overridable: it always opens the SDK's ManageAccount.
46
47
  */
47
48
  export interface AccountDialogConsumerHooks {
48
- onNavigateManage?: () => void;
49
49
  onAddAccount?: () => void;
50
50
  onNavigateProfile?: () => void;
51
51
  menuItems?: readonly AccountDialogMenuItem[];
52
52
  menuSections?: readonly AccountDialogMenuSection[];
53
53
  }
54
54
  export declare function registerAccountDialogControls(next: AccountDialogControls): () => void;
55
- /** Register app-local manage/add/profile handlers for the account dialog. */
55
+ /** Register app-local add/profile handlers and menu entries for the account dialog. */
56
56
  export declare function registerAccountDialogConsumerHooks(next: AccountDialogConsumerHooks | null): () => void;
57
57
  export declare function getAccountDialogConsumerHooks(): AccountDialogConsumerHooks | null;
58
- /** Subscribe to consumer-hook registration changes (menu items, manage/add overrides). */
58
+ /** Subscribe to consumer-hook registration changes (menu items, add/profile overrides). */
59
59
  export declare function subscribeToAccountDialogConsumerHooks(listener: () => void): () => void;
60
60
  /** Open the account dialog on `view` (default `accounts`). No-op before mount. */
61
61
  export declare function openAccountDialog(view?: AccountDialogView): void;
@@ -1 +1 @@
1
- {"version":3,"file":"accountDialogManager.d.ts","sourceRoot":"","sources":["../../../../../src/ui/navigation/accountDialogManager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAE9D,mEAAmE;AACnE,MAAM,WAAW,qBAAqB;IACpC,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,iDAAiD;IACjD,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,iEAAiE;IACjE,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,yEAAyE;AACzE,MAAM,WAAW,wBAAwB;IACvC,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,SAAS,qBAAqB,EAAE,CAAC;CACzC;AAED;;;;GAIG;AACH,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,iBAAiB,KAAK,IAAI,CAAC;IACzC,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB;AAED;;;;GAIG;AACH,MAAM,WAAW,0BAA0B;IACzC,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC9B,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,iBAAiB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC/B,SAAS,CAAC,EAAE,SAAS,qBAAqB,EAAE,CAAC;IAC7C,YAAY,CAAC,EAAE,SAAS,wBAAwB,EAAE,CAAC;CACpD;AAaD,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,qBAAqB,GAAG,MAAM,IAAI,CAOrF;AAED,6EAA6E;AAC7E,wBAAgB,kCAAkC,CAChD,IAAI,EAAE,0BAA0B,GAAG,IAAI,GACtC,MAAM,IAAI,CASZ;AAED,wBAAgB,6BAA6B,IAAI,0BAA0B,GAAG,IAAI,CAEjF;AAED,0FAA0F;AAC1F,wBAAgB,qCAAqC,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAKtF;AAED,kFAAkF;AAClF,wBAAgB,iBAAiB,CAAC,IAAI,CAAC,EAAE,iBAAiB,GAAG,IAAI,CAEhE;AAED,oDAAoD;AACpD,wBAAgB,kBAAkB,IAAI,IAAI,CAEzC;AAED,sFAAsF;AACtF,wBAAgB,6BAA6B,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAIpE;AAED,sDAAsD;AACtD,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,GAAG,MAAM,IAAI,CAKzF"}
1
+ {"version":3,"file":"accountDialogManager.d.ts","sourceRoot":"","sources":["../../../../../src/ui/navigation/accountDialogManager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAE9D,mEAAmE;AACnE,MAAM,WAAW,qBAAqB;IACpC,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,iDAAiD;IACjD,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,iEAAiE;IACjE,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,yEAAyE;AACzE,MAAM,WAAW,wBAAwB;IACvC,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,SAAS,qBAAqB,EAAE,CAAC;CACzC;AAED;;;;GAIG;AACH,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,iBAAiB,KAAK,IAAI,CAAC;IACzC,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB;AAED;;;;;GAKG;AACH,MAAM,WAAW,0BAA0B;IACzC,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,iBAAiB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC/B,SAAS,CAAC,EAAE,SAAS,qBAAqB,EAAE,CAAC;IAC7C,YAAY,CAAC,EAAE,SAAS,wBAAwB,EAAE,CAAC;CACpD;AAaD,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,qBAAqB,GAAG,MAAM,IAAI,CAOrF;AAED,uFAAuF;AACvF,wBAAgB,kCAAkC,CAChD,IAAI,EAAE,0BAA0B,GAAG,IAAI,GACtC,MAAM,IAAI,CASZ;AAED,wBAAgB,6BAA6B,IAAI,0BAA0B,GAAG,IAAI,CAEjF;AAED,2FAA2F;AAC3F,wBAAgB,qCAAqC,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAKtF;AAED,kFAAkF;AAClF,wBAAgB,iBAAiB,CAAC,IAAI,CAAC,EAAE,iBAAiB,GAAG,IAAI,CAEhE;AAED,oDAAoD;AACpD,wBAAgB,kBAAkB,IAAI,IAAI,CAEzC;AAED,sFAAsF;AACtF,wBAAgB,6BAA6B,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAIpE;AAED,sDAAsD;AACtD,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,GAAG,MAAM,IAAI,CAKzF"}
@@ -1 +1 @@
1
- {"version":3,"file":"one-video.d.ts","sourceRoot":"","sources":["../../../../src/ui/one-video.tsx"],"names":[],"mappings":"AASA,oFAAoF;AACpF,wBAAgB,WAAW,gCAiC1B"}
1
+ {"version":3,"file":"one-video.d.ts","sourceRoot":"","sources":["../../../../src/ui/one-video.tsx"],"names":[],"mappings":"AAUA,oFAAoF;AACpF,wBAAgB,WAAW,gCAiC1B"}
@@ -1 +1 @@
1
- {"version":3,"file":"AvatarCropScreen.d.ts","sourceRoot":"","sources":["../../../../../src/ui/screens/AvatarCropScreen.tsx"],"names":[],"mappings":"AAKA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAsB/B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAqB,CAAC;AAK3D,mDAAmD;AACnD,MAAM,WAAW,gBAAgB;IAC/B,oDAAoD;IACpD,GAAG,EAAE,MAAM,CAAC;IACZ,iCAAiC;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,kCAAkC;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,uCAAuC;IACvC,IAAI,EAAE,YAAY,CAAC;CACpB;AAED,MAAM,WAAW,qBAAsB,SAAQ,eAAe;IAC5D,2EAA2E;IAC3E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;;OAKG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,yEAAyE;IACzE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,0EAA0E;IAC1E,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAuPD,QAAA,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,CAsxBrD,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
1
+ {"version":3,"file":"AvatarCropScreen.d.ts","sourceRoot":"","sources":["../../../../../src/ui/screens/AvatarCropScreen.tsx"],"names":[],"mappings":"AAKA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAuB/B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAqB,CAAC;AAM3D,mDAAmD;AACnD,MAAM,WAAW,gBAAgB;IAC/B,oDAAoD;IACpD,GAAG,EAAE,MAAM,CAAC;IACZ,iCAAiC;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,kCAAkC;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,uCAAuC;IACvC,IAAI,EAAE,YAAY,CAAC;CACpB;AAED,MAAM,WAAW,qBAAsB,SAAQ,eAAe;IAC5D,2EAA2E;IAC3E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;;OAKG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,yEAAyE;IACzE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,0EAA0E;IAC1E,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAsPD,QAAA,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,CA0xBrD,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"EditProfileFieldScreen.d.ts","sourceRoot":"","sources":["../../../../../src/ui/screens/EditProfileFieldScreen.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAyC,MAAM,OAAO,CAAC;AAG9D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAqB,CAAC;AAuB3D;;GAEG;AACH,MAAM,MAAM,gBAAgB,GACxB,aAAa,GACb,UAAU,GACV,KAAK,GACL,OAAO,GACP,SAAS,GACT,UAAU,GACV,UAAU,GACV,WAAW,GACX,OAAO,CAAC;AA4BZ,UAAU,2BAA4B,SAAQ,eAAe;IAC3D,6BAA6B;IAC7B,SAAS,CAAC,EAAE,gBAAgB,CAAC;CAC9B;;AAqoBD,wBAAkD"}
1
+ {"version":3,"file":"EditProfileFieldScreen.d.ts","sourceRoot":"","sources":["../../../../../src/ui/screens/EditProfileFieldScreen.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAyC,MAAM,OAAO,CAAC;AAI9D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAqB,CAAC;AAuB3D;;GAEG;AACH,MAAM,MAAM,gBAAgB,GACxB,aAAa,GACb,UAAU,GACV,KAAK,GACL,OAAO,GACP,SAAS,GACT,UAAU,GACV,UAAU,GACV,WAAW,GACX,OAAO,CAAC;AA4BZ,UAAU,2BAA4B,SAAQ,eAAe;IAC3D,6BAA6B;IAC7B,SAAS,CAAC,EAAE,gBAAgB,CAAC;CAC9B;;AAyoBD,wBAAkD"}
@@ -1 +1 @@
1
- {"version":3,"file":"OxyOneScreen.d.ts","sourceRoot":"","sources":["../../../../../src/ui/screens/OxyOneScreen.tsx"],"names":[],"mappings":"AAgCA;sEACsE;AACtE,MAAM,CAAC,OAAO,UAAU,YAAY,gCA4LnC"}
1
+ {"version":3,"file":"OxyOneScreen.d.ts","sourceRoot":"","sources":["../../../../../src/ui/screens/OxyOneScreen.tsx"],"names":[],"mappings":"AAiCA;sEACsE;AACtE,MAAM,CAAC,OAAO,UAAU,YAAY,gCA4LnC"}
@@ -0,0 +1,6 @@
1
+ export interface ImageSize {
2
+ width: number;
3
+ height: number;
4
+ }
5
+ export declare function getImageSize(uri: string): Promise<ImageSize>;
6
+ //# sourceMappingURL=imageSize.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"imageSize.d.ts","sourceRoot":"","sources":["../../../../../src/ui/utils/imageSize.ts"],"names":[],"mappings":"AAgBA,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAI5D"}
@@ -0,0 +1,6 @@
1
+ export interface ImageSize {
2
+ width: number;
3
+ height: number;
4
+ }
5
+ export declare function getImageSize(uri: string): Promise<ImageSize>;
6
+ //# sourceMappingURL=imageSize.native.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"imageSize.native.d.ts","sourceRoot":"","sources":["../../../../../src/ui/utils/imageSize.native.ts"],"names":[],"mappings":"AAUA,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,wBAAsB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAUlE"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@oxy.so/services",
3
- "version": "11.17.0",
3
+ "version": "12.2.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",
@@ -1,2 +1,2 @@
1
- declare const source: import('react-native').ImageSourcePropType;
1
+ declare const source: number;
2
2
  export default source;
package/src/ui/client.ts CHANGED
@@ -40,6 +40,14 @@ export { useOxy, useOptionalOxy, OxyProviderMissingError } from './context/OxyCo
40
40
 
41
41
  // Hooks
42
42
  export { useAuth } from './hooks/useAuth';
43
+ // This app's Oxy-signed assertion of which app it is (ADR 0045), for an SDK
44
+ // that attaches it to its own requests without pulling in the account screens.
45
+ export {
46
+ useAppAssertion,
47
+ AppAssertionProviderMissingError,
48
+ } from './appAssertion/AppAssertionContext';
49
+ export type { UseAppAssertionResult } from './appAssertion/AppAssertionContext';
50
+ export type { AppAssertionSnapshot, AppAssertionStatus } from './appAssertion/appAssertionManager';
43
51
  export type { AuthState, AuthActions, SignInOutcome, UseAuthReturn } from './hooks/useAuth';
44
52
  export { createDeferredProductAnalytics } from './analytics/productAnalytics';
45
53
  export type { OxyProductEvent, ProductAnalytics } from './analytics/productAnalytics';
@@ -284,13 +284,8 @@ const OxyAuthChooser: React.FC<OxyAuthChooserProps> = ({ onComplete }) => {
284
284
  );
285
285
 
286
286
  const handleManage = useCallback(() => {
287
- if (consumerHooks?.onNavigateManage) {
288
- onComplete?.();
289
- consumerHooks.onNavigateManage();
290
- return;
291
- }
292
287
  showBottomSheet?.('ManageAccount');
293
- }, [consumerHooks, onComplete, showBottomSheet]);
288
+ }, [showBottomSheet]);
294
289
 
295
290
  const handleAdd = useCallback(() => {
296
291
  if (consumerHooks?.onAddAccount) {
@@ -3,7 +3,6 @@ import { loadScreens } from '../navigation/routes';
3
3
  import { useEffect, useRef, useState, useMemo, type FC } from 'react';
4
4
  import { AppState, Platform, StyleSheet } from 'react-native';
5
5
  import { GestureHandlerRootView } from 'react-native-gesture-handler';
6
- import { SafeAreaProvider } from 'react-native-safe-area-context';
7
6
  import type { OxyProviderProps } from '../types/navigation';
8
7
  import { OxyRuntimeProvider, type OxyRuntimeProviderProps } from '../context/OxyContext';
9
8
  import { QueryClientProvider, focusManager, onlineManager } from '@tanstack/react-query';
@@ -19,6 +18,7 @@ import {
19
18
  } from '../utils/storageHelpers';
20
19
  import { isNetConnectivityOnline } from '../utils/netConnectivity';
21
20
  import { KeyboardBoundary } from './KeyboardBoundary';
21
+ import { SafeAreaRoot } from './SafeAreaRoot';
22
22
  import { ProductAnalyticsObserver } from '../analytics/productAnalytics';
23
23
  import { LanguageBridge } from './LanguageBridge';
24
24
  import { BloomLocaleBridge } from './BloomLocaleBridge';
@@ -45,8 +45,9 @@ const isWeb = Platform.OS === 'web';
45
45
  * OxyProvider - Universal provider for Expo apps (native + web)
46
46
  *
47
47
  * Provides authentication, session management, query client, and UI overlays.
48
- * Wraps its own overlay stack in SafeAreaProvider and GestureHandlerRootView so
49
- * the shared Bloom SURFACE STACK (`<SurfaceProvider>` / `<SurfaceHost>`) — which
48
+ * Wraps its own overlay stack in a safe-area root (`SafeAreaRoot`: the native
49
+ * SafeAreaProvider on a device, the window's metrics on web) and
50
+ * GestureHandlerRootView so the shared Bloom SURFACE STACK (`<SurfaceProvider>` / `<SurfaceHost>`) — which
50
51
  * hosts every SDK surface (the ~35 bottom-sheet routes + the AccountDialog) — can
51
52
  * safely render even when a consuming app has not mounted those providers yet.
52
53
  *
@@ -118,7 +119,7 @@ const OxyProvider: FC<OxyProviderProps> = ({
118
119
  [onAskAlia, documentationUrl, aliaAvatar, oxyOneArtwork],
119
120
  );
120
121
  useEffect(() => {
121
- // Full entries are already registered; lean entries warm their screen chunk.
122
+ // The root entry registers the screens itself; `ui` and `ui/client` warm their chunk here.
122
123
  void loadScreens().catch(() => undefined);
123
124
  }, []);
124
125
  // Storage + persistence wiring.
@@ -302,9 +303,9 @@ const OxyProvider: FC<OxyProviderProps> = ({
302
303
 
303
304
  return (
304
305
  <GestureHandlerRootView style={bootStyles.providerRoot}>
305
- <SafeAreaProvider>
306
+ <SafeAreaRoot>
306
307
  <KeyboardBoundary>{coreContent}</KeyboardBoundary>
307
- </SafeAreaProvider>
308
+ </SafeAreaRoot>
308
309
  </GestureHandlerRootView>
309
310
  );
310
311
  };
@@ -33,8 +33,6 @@ export interface ProfileButtonProps {
33
33
  * Avatar diameter in px. Defaults to 40 when expanded, 32 when collapsed.
34
34
  */
35
35
  avatarSize?: number;
36
- /** Navigate to the "Manage account" surface (settings). */
37
- onNavigateManage?: () => void;
38
36
  /** Start the add-account / sign-in flow for an additional account. */
39
37
  onAddAccount?: () => void;
40
38
  /** Optional: navigate to the signed-in user's own profile. */
@@ -63,7 +61,6 @@ export interface ProfileButtonProps {
63
61
  const ProfileButton: React.FC<ProfileButtonProps> = ({
64
62
  expanded = true,
65
63
  avatarSize,
66
- onNavigateManage,
67
64
  onAddAccount,
68
65
  onNavigateProfile,
69
66
  menuItems,
@@ -83,23 +80,16 @@ const ProfileButton: React.FC<ProfileButtonProps> = ({
83
80
  }, [openAccountDialog]);
84
81
 
85
82
  useEffect(() => {
86
- if (
87
- !onNavigateManage &&
88
- !onAddAccount &&
89
- !onNavigateProfile &&
90
- !menuItems?.length &&
91
- !menuSections?.length
92
- ) {
83
+ if (!onAddAccount && !onNavigateProfile && !menuItems?.length && !menuSections?.length) {
93
84
  return undefined;
94
85
  }
95
86
  return registerAccountDialogConsumerHooks({
96
- onNavigateManage,
97
87
  onAddAccount,
98
88
  onNavigateProfile,
99
89
  menuItems,
100
90
  menuSections,
101
91
  });
102
- }, [onNavigateManage, onAddAccount, onNavigateProfile, menuItems, menuSections]);
92
+ }, [onAddAccount, onNavigateProfile, menuItems, menuSections]);
103
93
 
104
94
  const avatarUrl = useMemo(
105
95
  () => (user?.avatar ? oxyServices.assets.publicUrl(user.avatar, 'thumb') : undefined),
@@ -0,0 +1,123 @@
1
+ /**
2
+ * The safe-area root `OxyProvider` mounts around everything it renders.
3
+ *
4
+ * On iOS and Android it is react-native-safe-area-context's own
5
+ * `SafeAreaProvider`, which measures the native root view.
6
+ *
7
+ * On web it does NOT measure. From react-native-safe-area-context 5.9, the web
8
+ * provider measures its own element and reports
9
+ * `windowInsets.bottom - (innerHeight - rect.bottom)` as the bottom inset with
10
+ * no upper clamp (likewise `top - rect.top`). `OxyProvider` wraps the app's
11
+ * whole document, and on a page that scrolls that element is taller than the
12
+ * viewport, so everything below the fold became bottom inset: an 844px phone
13
+ * viewport with a 2690px page reported a ~1850px inset, and the mobile account
14
+ * dialog laid itself out empty. Web therefore gets the WINDOW's metrics — what
15
+ * every version before 5.9 reported for a root provider:
16
+ *
17
+ * - insets: CSS `env(safe-area-inset-*)`, read from one fixed, hidden probe
18
+ * after mount (zero during server rendering and hydration);
19
+ * - frame: the viewport (`useWindowDimensions`), never the document's height.
20
+ *
21
+ * Bloom raises its own web insets to the same `env()` values
22
+ * (`useCssSafeAreaInsets`), so nothing pads twice.
23
+ */
24
+ import type { ReactNode } from 'react';
25
+ import { useMemo, useSyncExternalStore } from 'react';
26
+ import { Platform, StyleSheet, useWindowDimensions, View } from 'react-native';
27
+ import {
28
+ type EdgeInsets,
29
+ SafeAreaFrameContext,
30
+ SafeAreaInsetsContext,
31
+ SafeAreaProvider,
32
+ } from 'react-native-safe-area-context';
33
+
34
+ const styles = StyleSheet.create({
35
+ fill: { flex: 1 },
36
+ });
37
+
38
+ export function SafeAreaRoot({ children }: { children?: ReactNode }) {
39
+ if (Platform.OS === 'web') return <WindowSafeAreaProvider>{children}</WindowSafeAreaProvider>;
40
+ return <SafeAreaProvider>{children}</SafeAreaProvider>;
41
+ }
42
+
43
+ /** Web: window metrics, provided through the library's own contexts. */
44
+ function WindowSafeAreaProvider({ children }: { children?: ReactNode }) {
45
+ const insets = useSyncExternalStore(subscribeWindowInsets, readWindowInsets, readServerInsets);
46
+ const { width, height } = useWindowDimensions();
47
+ const frame = useMemo(() => ({ x: 0, y: 0, width, height }), [width, height]);
48
+ // The same flex-filling view `SafeAreaProvider` renders, so layout below is unchanged.
49
+ return (
50
+ <View style={styles.fill}>
51
+ <SafeAreaFrameContext.Provider value={frame}>
52
+ <SafeAreaInsetsContext.Provider value={insets}>{children}</SafeAreaInsetsContext.Provider>
53
+ </SafeAreaFrameContext.Provider>
54
+ </View>
55
+ );
56
+ }
57
+
58
+ const ZERO: EdgeInsets = Object.freeze({ top: 0, right: 0, bottom: 0, left: 0 });
59
+
60
+ let probe: HTMLElement | null = null;
61
+ let snapshot: EdgeInsets = ZERO;
62
+ const listeners = new Set<() => void>();
63
+
64
+ function readServerInsets(): EdgeInsets {
65
+ return ZERO;
66
+ }
67
+
68
+ function readWindowInsets(): EdgeInsets {
69
+ return snapshot;
70
+ }
71
+
72
+ function measure(): void {
73
+ if (!probe) return;
74
+ const style = getComputedStyle(probe);
75
+ const next = {
76
+ top: Number.parseFloat(style.paddingTop) || 0,
77
+ right: Number.parseFloat(style.paddingRight) || 0,
78
+ bottom: Number.parseFloat(style.paddingBottom) || 0,
79
+ left: Number.parseFloat(style.paddingLeft) || 0,
80
+ };
81
+ if (
82
+ next.top === snapshot.top &&
83
+ next.right === snapshot.right &&
84
+ next.bottom === snapshot.bottom &&
85
+ next.left === snapshot.left
86
+ ) {
87
+ return;
88
+ }
89
+ snapshot = next.top || next.right || next.bottom || next.left ? next : ZERO;
90
+ for (const listener of listeners) listener();
91
+ }
92
+
93
+ function subscribeWindowInsets(listener: () => void): () => void {
94
+ if (typeof document === 'undefined' || !document.body) return () => {};
95
+ listeners.add(listener);
96
+ if (!probe) {
97
+ probe = document.createElement('div');
98
+ probe.setAttribute('aria-hidden', 'true');
99
+ // Through the CSSOM, which CSP `style-src` does not block.
100
+ probe.style.position = 'fixed';
101
+ probe.style.visibility = 'hidden';
102
+ probe.style.pointerEvents = 'none';
103
+ probe.style.top = '0';
104
+ probe.style.left = '0';
105
+ probe.style.setProperty('padding-top', 'env(safe-area-inset-top, 0px)');
106
+ probe.style.setProperty('padding-right', 'env(safe-area-inset-right, 0px)');
107
+ probe.style.setProperty('padding-bottom', 'env(safe-area-inset-bottom, 0px)');
108
+ probe.style.setProperty('padding-left', 'env(safe-area-inset-left, 0px)');
109
+ document.body.appendChild(probe);
110
+ window.addEventListener('resize', measure);
111
+ window.addEventListener('orientationchange', measure);
112
+ }
113
+ measure();
114
+ return () => {
115
+ listeners.delete(listener);
116
+ if (listeners.size > 0 || !probe) return;
117
+ window.removeEventListener('resize', measure);
118
+ window.removeEventListener('orientationchange', measure);
119
+ probe.remove();
120
+ probe = null;
121
+ snapshot = ZERO;
122
+ };
123
+ }