@oxyhq/bloom 0.3.12 → 0.5.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 (191) hide show
  1. package/README.md +133 -90
  2. package/lib/commonjs/bottom-sheet/index.js +341 -98
  3. package/lib/commonjs/bottom-sheet/index.js.map +1 -1
  4. package/lib/commonjs/context-menu/index.js +18 -19
  5. package/lib/commonjs/context-menu/index.js.map +1 -1
  6. package/lib/commonjs/dialog/BloomDialogProvider.js +61 -0
  7. package/lib/commonjs/dialog/BloomDialogProvider.js.map +1 -0
  8. package/lib/commonjs/dialog/BloomDialogProvider.web.js +45 -0
  9. package/lib/commonjs/dialog/BloomDialogProvider.web.js.map +1 -0
  10. package/lib/commonjs/dialog/Dialog.js +197 -100
  11. package/lib/commonjs/dialog/Dialog.js.map +1 -1
  12. package/lib/commonjs/dialog/Dialog.web.js +194 -84
  13. package/lib/commonjs/dialog/Dialog.web.js.map +1 -1
  14. package/lib/commonjs/dialog/SheetShell.js +149 -0
  15. package/lib/commonjs/dialog/SheetShell.js.map +1 -0
  16. package/lib/commonjs/dialog/alert-store.js +116 -0
  17. package/lib/commonjs/dialog/alert-store.js.map +1 -0
  18. package/lib/commonjs/dialog/alert.js +38 -0
  19. package/lib/commonjs/dialog/alert.js.map +1 -0
  20. package/lib/commonjs/dialog/context.js +10 -2
  21. package/lib/commonjs/dialog/context.js.map +1 -1
  22. package/lib/commonjs/dialog/index.js +8 -24
  23. package/lib/commonjs/dialog/index.js.map +1 -1
  24. package/lib/commonjs/dialog/index.web.js +10 -20
  25. package/lib/commonjs/dialog/index.web.js.map +1 -1
  26. package/lib/commonjs/index.js +101 -66
  27. package/lib/commonjs/index.js.map +1 -1
  28. package/lib/commonjs/index.web.js +101 -66
  29. package/lib/commonjs/index.web.js.map +1 -1
  30. package/lib/commonjs/menu/index.js +21 -23
  31. package/lib/commonjs/menu/index.js.map +1 -1
  32. package/lib/commonjs/select/index.js +26 -27
  33. package/lib/commonjs/select/index.js.map +1 -1
  34. package/lib/commonjs/toast/index.js +42 -13
  35. package/lib/commonjs/toast/index.js.map +1 -1
  36. package/lib/commonjs/toast/index.web.js +19 -15
  37. package/lib/commonjs/toast/index.web.js.map +1 -1
  38. package/lib/module/bottom-sheet/index.js +341 -98
  39. package/lib/module/bottom-sheet/index.js.map +1 -1
  40. package/lib/module/context-menu/index.js +15 -16
  41. package/lib/module/context-menu/index.js.map +1 -1
  42. package/lib/module/dialog/BloomDialogProvider.js +57 -0
  43. package/lib/module/dialog/BloomDialogProvider.js.map +1 -0
  44. package/lib/module/dialog/BloomDialogProvider.web.js +41 -0
  45. package/lib/module/dialog/BloomDialogProvider.web.js.map +1 -0
  46. package/lib/module/dialog/Dialog.js +199 -87
  47. package/lib/module/dialog/Dialog.js.map +1 -1
  48. package/lib/module/dialog/Dialog.web.js +195 -70
  49. package/lib/module/dialog/Dialog.web.js.map +1 -1
  50. package/lib/module/dialog/SheetShell.js +143 -0
  51. package/lib/module/dialog/SheetShell.js.map +1 -0
  52. package/lib/module/dialog/alert-store.js +107 -0
  53. package/lib/module/dialog/alert-store.js.map +1 -0
  54. package/lib/module/dialog/alert.js +35 -0
  55. package/lib/module/dialog/alert.js.map +1 -0
  56. package/lib/module/dialog/context.js +10 -2
  57. package/lib/module/dialog/context.js.map +1 -1
  58. package/lib/module/dialog/index.js +3 -1
  59. package/lib/module/dialog/index.js.map +1 -1
  60. package/lib/module/dialog/index.web.js +9 -7
  61. package/lib/module/dialog/index.web.js.map +1 -1
  62. package/lib/module/index.js +2 -3
  63. package/lib/module/index.js.map +1 -1
  64. package/lib/module/index.web.js +2 -3
  65. package/lib/module/index.web.js.map +1 -1
  66. package/lib/module/menu/index.js +11 -13
  67. package/lib/module/menu/index.js.map +1 -1
  68. package/lib/module/select/index.js +27 -28
  69. package/lib/module/select/index.js.map +1 -1
  70. package/lib/module/toast/index.js +41 -11
  71. package/lib/module/toast/index.js.map +1 -1
  72. package/lib/module/toast/index.web.js +18 -13
  73. package/lib/module/toast/index.web.js.map +1 -1
  74. package/lib/typescript/commonjs/__tests__/Dialog.test.d.ts +2 -0
  75. package/lib/typescript/commonjs/__tests__/Dialog.test.d.ts.map +1 -0
  76. package/lib/typescript/commonjs/bottom-sheet/index.d.ts +47 -1
  77. package/lib/typescript/commonjs/bottom-sheet/index.d.ts.map +1 -1
  78. package/lib/typescript/commonjs/context-menu/index.d.ts +4 -3
  79. package/lib/typescript/commonjs/context-menu/index.d.ts.map +1 -1
  80. package/lib/typescript/commonjs/dialog/BloomDialogProvider.d.ts +27 -0
  81. package/lib/typescript/commonjs/dialog/BloomDialogProvider.d.ts.map +1 -0
  82. package/lib/typescript/commonjs/dialog/BloomDialogProvider.web.d.ts +15 -0
  83. package/lib/typescript/commonjs/dialog/BloomDialogProvider.web.d.ts.map +1 -0
  84. package/lib/typescript/commonjs/dialog/Dialog.d.ts +37 -10
  85. package/lib/typescript/commonjs/dialog/Dialog.d.ts.map +1 -1
  86. package/lib/typescript/commonjs/dialog/Dialog.web.d.ts +26 -10
  87. package/lib/typescript/commonjs/dialog/Dialog.web.d.ts.map +1 -1
  88. package/lib/typescript/commonjs/dialog/SheetShell.d.ts +31 -0
  89. package/lib/typescript/commonjs/dialog/SheetShell.d.ts.map +1 -0
  90. package/lib/typescript/commonjs/dialog/alert-store.d.ts +70 -0
  91. package/lib/typescript/commonjs/dialog/alert-store.d.ts.map +1 -0
  92. package/lib/typescript/commonjs/dialog/alert.d.ts +27 -0
  93. package/lib/typescript/commonjs/dialog/alert.d.ts.map +1 -0
  94. package/lib/typescript/commonjs/dialog/context.d.ts +7 -0
  95. package/lib/typescript/commonjs/dialog/context.d.ts.map +1 -1
  96. package/lib/typescript/commonjs/dialog/index.d.ts +5 -2
  97. package/lib/typescript/commonjs/dialog/index.d.ts.map +1 -1
  98. package/lib/typescript/commonjs/dialog/index.web.d.ts +5 -2
  99. package/lib/typescript/commonjs/dialog/index.web.d.ts.map +1 -1
  100. package/lib/typescript/commonjs/dialog/types.d.ts +70 -15
  101. package/lib/typescript/commonjs/dialog/types.d.ts.map +1 -1
  102. package/lib/typescript/commonjs/index.d.ts +3 -3
  103. package/lib/typescript/commonjs/index.d.ts.map +1 -1
  104. package/lib/typescript/commonjs/index.web.d.ts +3 -3
  105. package/lib/typescript/commonjs/index.web.d.ts.map +1 -1
  106. package/lib/typescript/commonjs/menu/index.d.ts +4 -4
  107. package/lib/typescript/commonjs/menu/index.d.ts.map +1 -1
  108. package/lib/typescript/commonjs/select/index.d.ts.map +1 -1
  109. package/lib/typescript/commonjs/toast/index.d.ts +32 -3
  110. package/lib/typescript/commonjs/toast/index.d.ts.map +1 -1
  111. package/lib/typescript/commonjs/toast/index.web.d.ts +14 -7
  112. package/lib/typescript/commonjs/toast/index.web.d.ts.map +1 -1
  113. package/lib/typescript/module/__tests__/Dialog.test.d.ts +2 -0
  114. package/lib/typescript/module/__tests__/Dialog.test.d.ts.map +1 -0
  115. package/lib/typescript/module/bottom-sheet/index.d.ts +47 -1
  116. package/lib/typescript/module/bottom-sheet/index.d.ts.map +1 -1
  117. package/lib/typescript/module/context-menu/index.d.ts +4 -3
  118. package/lib/typescript/module/context-menu/index.d.ts.map +1 -1
  119. package/lib/typescript/module/dialog/BloomDialogProvider.d.ts +27 -0
  120. package/lib/typescript/module/dialog/BloomDialogProvider.d.ts.map +1 -0
  121. package/lib/typescript/module/dialog/BloomDialogProvider.web.d.ts +15 -0
  122. package/lib/typescript/module/dialog/BloomDialogProvider.web.d.ts.map +1 -0
  123. package/lib/typescript/module/dialog/Dialog.d.ts +37 -10
  124. package/lib/typescript/module/dialog/Dialog.d.ts.map +1 -1
  125. package/lib/typescript/module/dialog/Dialog.web.d.ts +26 -10
  126. package/lib/typescript/module/dialog/Dialog.web.d.ts.map +1 -1
  127. package/lib/typescript/module/dialog/SheetShell.d.ts +31 -0
  128. package/lib/typescript/module/dialog/SheetShell.d.ts.map +1 -0
  129. package/lib/typescript/module/dialog/alert-store.d.ts +70 -0
  130. package/lib/typescript/module/dialog/alert-store.d.ts.map +1 -0
  131. package/lib/typescript/module/dialog/alert.d.ts +27 -0
  132. package/lib/typescript/module/dialog/alert.d.ts.map +1 -0
  133. package/lib/typescript/module/dialog/context.d.ts +7 -0
  134. package/lib/typescript/module/dialog/context.d.ts.map +1 -1
  135. package/lib/typescript/module/dialog/index.d.ts +5 -2
  136. package/lib/typescript/module/dialog/index.d.ts.map +1 -1
  137. package/lib/typescript/module/dialog/index.web.d.ts +5 -2
  138. package/lib/typescript/module/dialog/index.web.d.ts.map +1 -1
  139. package/lib/typescript/module/dialog/types.d.ts +70 -15
  140. package/lib/typescript/module/dialog/types.d.ts.map +1 -1
  141. package/lib/typescript/module/index.d.ts +3 -3
  142. package/lib/typescript/module/index.d.ts.map +1 -1
  143. package/lib/typescript/module/index.web.d.ts +3 -3
  144. package/lib/typescript/module/index.web.d.ts.map +1 -1
  145. package/lib/typescript/module/menu/index.d.ts +4 -4
  146. package/lib/typescript/module/menu/index.d.ts.map +1 -1
  147. package/lib/typescript/module/select/index.d.ts.map +1 -1
  148. package/lib/typescript/module/toast/index.d.ts +32 -3
  149. package/lib/typescript/module/toast/index.d.ts.map +1 -1
  150. package/lib/typescript/module/toast/index.web.d.ts +14 -7
  151. package/lib/typescript/module/toast/index.web.d.ts.map +1 -1
  152. package/package.json +3 -14
  153. package/src/__tests__/BottomSheet.test.tsx +149 -2
  154. package/src/__tests__/Dialog.test.tsx +177 -0
  155. package/src/bottom-sheet/index.tsx +367 -83
  156. package/src/context-menu/index.tsx +12 -12
  157. package/src/dialog/BloomDialogProvider.tsx +61 -0
  158. package/src/dialog/BloomDialogProvider.web.tsx +46 -0
  159. package/src/dialog/Dialog.tsx +217 -64
  160. package/src/dialog/Dialog.web.tsx +240 -75
  161. package/src/dialog/SheetShell.tsx +154 -0
  162. package/src/dialog/alert-store.ts +126 -0
  163. package/src/dialog/alert.ts +42 -0
  164. package/src/dialog/context.ts +14 -3
  165. package/src/dialog/index.ts +14 -2
  166. package/src/dialog/index.web.ts +20 -8
  167. package/src/dialog/types.ts +73 -16
  168. package/src/index.ts +17 -3
  169. package/src/index.web.ts +17 -3
  170. package/src/menu/index.tsx +13 -17
  171. package/src/select/index.tsx +30 -30
  172. package/src/toast/index.tsx +55 -11
  173. package/src/toast/index.web.tsx +33 -13
  174. package/lib/commonjs/prompt/Prompt.js +0 -267
  175. package/lib/commonjs/prompt/Prompt.js.map +0 -1
  176. package/lib/commonjs/prompt/index.js +0 -61
  177. package/lib/commonjs/prompt/index.js.map +0 -1
  178. package/lib/module/prompt/Prompt.js +0 -250
  179. package/lib/module/prompt/Prompt.js.map +0 -1
  180. package/lib/module/prompt/index.js +0 -4
  181. package/lib/module/prompt/index.js.map +0 -1
  182. package/lib/typescript/commonjs/prompt/Prompt.d.ts +0 -42
  183. package/lib/typescript/commonjs/prompt/Prompt.d.ts.map +0 -1
  184. package/lib/typescript/commonjs/prompt/index.d.ts +0 -3
  185. package/lib/typescript/commonjs/prompt/index.d.ts.map +0 -1
  186. package/lib/typescript/module/prompt/Prompt.d.ts +0 -42
  187. package/lib/typescript/module/prompt/Prompt.d.ts.map +0 -1
  188. package/lib/typescript/module/prompt/index.d.ts +0 -3
  189. package/lib/typescript/module/prompt/index.d.ts.map +0 -1
  190. package/src/prompt/Prompt.tsx +0 -247
  191. package/src/prompt/index.ts +0 -13
@@ -1 +1 @@
1
- {"version":3,"file":"index.web.d.ts","sourceRoot":"","sources":["../../../src/index.web.ts"],"names":[],"mappings":"AAMA,cAAc,SAAS,CAAC;AAGxB,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1C,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAC7D,OAAO,KAAK,MAAM,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAGhF,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAG9D,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,KAAK,KAAK,IAAI,SAAS,EAAE,KAAK,IAAI,SAAS,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAGhG,cAAc,oBAAoB,CAAC;AACnC,OAAO,KAAK,MAAM,MAAM,oBAAoB,CAAC;AAC7C,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,cAAc,UAAU,CAAC;AACzB,cAAc,mBAAmB,CAAC;AAClC,cAAc,WAAW,CAAC;AAC1B,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,YAAY,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,OAAO,KAAK,WAAW,MAAM,gBAAgB,CAAC;AAC9C,cAAc,UAAU,CAAC;AACzB,OAAO,KAAK,KAAK,MAAM,mBAAmB,CAAC;AAG3C,OAAO,KAAK,UAAU,MAAM,cAAc,CAAC;AAG3C,OAAO,KAAK,QAAQ,MAAM,YAAY,CAAC;AACvC,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAC/B,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAG3C,OAAO,KAAK,SAAS,MAAM,cAAc,CAAC;AAC1C,OAAO,KAAK,gBAAgB,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAG7C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,YAAY,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAGvE,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,OAAO,KAAK,SAAS,MAAM,aAAa,CAAC;AAGzC,cAAc,iBAAiB,CAAC;AAGhC,OAAO,KAAK,UAAU,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,IAAI,MAAM,kBAAkB,CAAC;AACzC,OAAO,KAAK,OAAO,MAAM,qBAAqB,CAAC;AAC/C,OAAO,KAAK,MAAM,MAAM,oBAAoB,CAAC;AAC7C,OAAO,KAAK,WAAW,MAAM,0BAA0B,CAAC;AAGxD,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAG/B,OAAO,KAAK,KAAK,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.web.d.ts","sourceRoot":"","sources":["../../../src/index.web.ts"],"names":[],"mappings":"AAMA,cAAc,SAAS,CAAC;AAGxB,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1C,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAC7D,OAAO,KAAK,MAAM,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAGhF,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAG9D,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,KAAK,KAAK,IAAI,SAAS,EAAE,KAAK,IAAI,SAAS,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAGhG,cAAc,oBAAoB,CAAC;AACnC,OAAO,EACL,MAAM,EACN,mBAAmB,EACnB,KAAK,EACL,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EACV,WAAW,EACX,gBAAgB,EAChB,YAAY,EACZ,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,WAAW,GACZ,MAAM,oBAAoB,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,mBAAmB,CAAC;AAClC,cAAc,WAAW,CAAC;AAC1B,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,YAAY,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,OAAO,KAAK,WAAW,MAAM,gBAAgB,CAAC;AAC9C,cAAc,UAAU,CAAC;AACzB,OAAO,EAAE,KAAK,EAAE,KAAK,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAGtD,OAAO,KAAK,UAAU,MAAM,cAAc,CAAC;AAG3C,OAAO,KAAK,QAAQ,MAAM,YAAY,CAAC;AACvC,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAC/B,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAG3C,OAAO,KAAK,SAAS,MAAM,cAAc,CAAC;AAC1C,OAAO,KAAK,gBAAgB,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAG7C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,YAAY,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAGvE,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,OAAO,KAAK,SAAS,MAAM,aAAa,CAAC;AAGzC,cAAc,iBAAiB,CAAC;AAGhC,OAAO,KAAK,UAAU,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,IAAI,MAAM,kBAAkB,CAAC;AACzC,OAAO,KAAK,OAAO,MAAM,qBAAqB,CAAC;AAC/C,OAAO,KAAK,MAAM,MAAM,oBAAoB,CAAC;AAC7C,OAAO,KAAK,WAAW,MAAM,0BAA0B,CAAC;AAGxD,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAG/B,OAAO,KAAK,KAAK,MAAM,mBAAmB,CAAC"}
@@ -1,13 +1,13 @@
1
1
  import React from 'react';
2
2
  import { type StyleProp, type ViewStyle } from 'react-native';
3
- import * as Dialog from '../dialog';
3
+ import type { DialogControlProps } from '../dialog/types';
4
4
  import { useMenuContext } from './context';
5
5
  import type { GroupProps, ItemIconProps, ItemProps, ItemTextProps, TriggerProps } from './types';
6
- export type { DialogControlProps as MenuControlProps } from '../dialog';
7
- export { useDialogControl as useMenuControl } from '../dialog';
6
+ export type { DialogControlProps as MenuControlProps } from '../dialog/types';
7
+ export { useDialogControl as useMenuControl } from '../dialog/context';
8
8
  export { useMenuContext };
9
9
  export declare function Root({ children, control, }: React.PropsWithChildren<{
10
- control?: Dialog.DialogControlProps;
10
+ control?: DialogControlProps;
11
11
  }>): import("react/jsx-runtime").JSX.Element;
12
12
  export declare function Trigger({ children, label, role, hint, }: TriggerProps): React.ReactNode;
13
13
  export declare function Outer({ children, showCancel, }: React.PropsWithChildren<{
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/menu/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAiF,MAAM,OAAO,CAAC;AACtG,OAAO,EAA+B,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAK3F,OAAO,KAAK,MAAM,MAAM,WAAW,CAAC;AACpC,OAAO,EAGL,cAAc,EAEf,MAAM,WAAW,CAAC;AACnB,OAAO,KAAK,EAEV,UAAU,EACV,aAAa,EACb,SAAS,EACT,aAAa,EACb,YAAY,EACb,MAAM,SAAS,CAAC;AAEjB,YAAY,EAAE,kBAAkB,IAAI,gBAAgB,EAAE,MAAM,WAAW,CAAC;AACxE,OAAO,EAAE,gBAAgB,IAAI,cAAc,EAAE,MAAM,WAAW,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,CAAC;AAE1B,wBAAgB,IAAI,CAAC,EACnB,QAAQ,EACR,OAAO,GACR,EAAE,KAAK,CAAC,iBAAiB,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC,kBAAkB,CAAC;CACrC,CAAC,2CAcD;AAED,wBAAgB,OAAO,CAAC,EACtB,QAAQ,EACR,KAAK,EACL,IAAe,EACf,IAAI,GACL,EAAE,YAAY,mBAqBd;AAED,wBAAgB,KAAK,CAAC,EACpB,QAAQ,EACR,UAAU,GACX,EAAE,KAAK,CAAC,iBAAiB,CAAC;IACzB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CAC9B,CAAC,2CAmBD;AAED,wBAAgB,IAAI,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,EAAE,SAAS,2CAkD3E;AAED,wBAAgB,QAAQ,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,aAAa,2CAiB1D;AAED,wBAAgB,QAAQ,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,aAAa,2CAgB3D;AAED,wBAAgB,KAAK,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,UAAU,2CAsCpD;AAED,wBAAgB,OAAO,SAEtB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/menu/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAiF,MAAM,OAAO,CAAC;AACtG,OAAO,EAA+B,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAO3F,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAGL,cAAc,EAEf,MAAM,WAAW,CAAC;AACnB,OAAO,KAAK,EAEV,UAAU,EACV,aAAa,EACb,SAAS,EACT,aAAa,EACb,YAAY,EACb,MAAM,SAAS,CAAC;AAEjB,YAAY,EAAE,kBAAkB,IAAI,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAC9E,OAAO,EAAE,gBAAgB,IAAI,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACvE,OAAO,EAAE,cAAc,EAAE,CAAC;AAE1B,wBAAgB,IAAI,CAAC,EACnB,QAAQ,EACR,OAAO,GACR,EAAE,KAAK,CAAC,iBAAiB,CAAC;IACzB,OAAO,CAAC,EAAE,kBAAkB,CAAC;CAC9B,CAAC,2CAcD;AAED,wBAAgB,OAAO,CAAC,EACtB,QAAQ,EACR,KAAK,EACL,IAAe,EACf,IAAI,GACL,EAAE,YAAY,mBAqBd;AAED,wBAAgB,KAAK,CAAC,EACpB,QAAQ,EACR,UAAU,GACX,EAAE,KAAK,CAAC,iBAAiB,CAAC;IACzB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CAC9B,CAAC,2CAaD;AAED,wBAAgB,IAAI,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,EAAE,SAAS,2CAkD3E;AAED,wBAAgB,QAAQ,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,aAAa,2CAiB1D;AAED,wBAAgB,QAAQ,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,aAAa,2CAgB3D;AAED,wBAAgB,KAAK,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,UAAU,2CAsCpD;AAED,wBAAgB,OAAO,SAEtB"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/select/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAON,MAAM,OAAO,CAAC;AAYf,OAAO,EAA0C,cAAc,EAAE,MAAM,UAAU,CAAC;AAClF,OAAO,KAAK,EACV,YAAY,EACZ,SAAS,EACT,kBAAkB,EAClB,SAAS,EACT,aAAa,EACb,SAAS,EAET,YAAY,EACZ,cAAc,EACf,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,cAAc,EAAE,CAAC;AA8B1B,wBAAgB,IAAI,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,EAAE,SAAS,2CAgB3E;AAMD,wBAAgB,OAAO,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,YAAY,yTAqCxD;AAMD,wBAAgB,SAAS,CAAC,EACxB,WAAW,EACX,QAAQ,EAAE,YAAkC,EAC5C,KAAK,GACN,EAAE,cAAc,2CAkBhB;AAaD,wBAAgB,IAAI,CAAC,MAAM,EAAE,SAAS,2CAGrC;AAMD,wBAAgB,OAAO,CAAC,CAAC,EAAE,EACzB,KAAK,EACL,cAA0C,EAC1C,GAAG,KAAK,EACT,EAAE,YAAY,CAAC,CAAC,CAAC,2CA0BjB;AAkED,wBAAgB,IAAI,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,SAAS,2CA2ChE;AAMD,wBAAgB,QAAQ,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,aAAa,2CAc1D;AAMD,wBAAgB,aAAa,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE,kBAAkB,2CAYxE;AAMD,wBAAgB,SAAS,4CAWxB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/select/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAON,MAAM,OAAO,CAAC;AAcf,OAAO,EAA0C,cAAc,EAAE,MAAM,UAAU,CAAC;AAClF,OAAO,KAAK,EACV,YAAY,EACZ,SAAS,EACT,kBAAkB,EAClB,SAAS,EACT,aAAa,EACb,SAAS,EAET,YAAY,EACZ,cAAc,EACf,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,cAAc,EAAE,CAAC;AA8B1B,wBAAgB,IAAI,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,EAAE,SAAS,2CAgB3E;AAMD,wBAAgB,OAAO,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,YAAY,yTAqCxD;AAMD,wBAAgB,SAAS,CAAC,EACxB,WAAW,EACX,QAAQ,EAAE,YAAkC,EAC5C,KAAK,GACN,EAAE,cAAc,2CAkBhB;AAaD,wBAAgB,IAAI,CAAC,MAAM,EAAE,SAAS,2CAGrC;AAMD,wBAAgB,OAAO,CAAC,CAAC,EAAE,EACzB,KAAK,EACL,cAA0C,EAC1C,GAAG,KAAK,EACT,EAAE,YAAY,CAAC,CAAC,CAAC,2CAwBjB;AAkED,wBAAgB,IAAI,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,SAAS,2CA2ChE;AAMD,wBAAgB,QAAQ,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,aAAa,2CAc1D;AAMD,wBAAgB,aAAa,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE,kBAAkB,2CAYxE;AAMD,wBAAgB,SAAS,4CAWxB"}
@@ -9,7 +9,8 @@ export type { ToastType, BaseToastOptions } from './types';
9
9
  */
10
10
  export declare function ToastOutlet(): import("react/jsx-runtime").JSX.Element;
11
11
  /**
12
- * Access the full Sonner API
12
+ * Direct access to the Sonner API. Use sparingly — `toast()` covers the
13
+ * common case and keeps the surface tied to bloom's themed look.
13
14
  */
14
15
  export declare const api: ((message: string, data?: Omit<import("sonner-native").ToastProps, "title" | "id" | "type" | "variant" | "jsx" | "promise"> & {
15
16
  id?: string | number;
@@ -49,7 +50,35 @@ export declare const api: ((message: string, data?: Omit<import("sonner-native")
49
50
  /**
50
51
  * Show a toast notification.
51
52
  *
52
- * Pass a string for a simple text toast, or a React element for a custom toast.
53
+ * Pass a string for a simple text toast, or a React element for a custom
54
+ * toast. The optional `options` argument accepts the standard Sonner
55
+ * options plus a bloom `type` (defaults to `'default'`).
56
+ *
57
+ * ```ts
58
+ * toast('Saved');
59
+ * toast.success('Profile updated');
60
+ * toast.error('Network error', { duration: 5000 });
61
+ * toast.dismiss(id);
62
+ * ```
63
+ *
64
+ * Pre-typed variants (`toast.success`, `toast.error`, `toast.warning`,
65
+ * `toast.info`) are aliases for the corresponding `type`.
66
+ */
67
+ export interface ToastFn {
68
+ (content: React.ReactNode, options?: BaseToastOptions): void;
69
+ success: (content: React.ReactNode, options?: Omit<BaseToastOptions, 'type'>) => void;
70
+ error: (content: React.ReactNode, options?: Omit<BaseToastOptions, 'type'>) => void;
71
+ warning: (content: React.ReactNode, options?: Omit<BaseToastOptions, 'type'>) => void;
72
+ info: (content: React.ReactNode, options?: Omit<BaseToastOptions, 'type'>) => void;
73
+ dismiss: (id?: string | number) => void;
74
+ }
75
+ export declare const toast: ToastFn;
76
+ /**
77
+ * Alias of `toast` kept for compatibility with the original 0.4.x surface
78
+ * where `show()` was the documented entry point. New code should prefer
79
+ * `toast()` directly.
53
80
  */
54
- export declare function show(content: React.ReactNode, { type, ...options }?: BaseToastOptions): void;
81
+ export declare const show: ToastFn;
82
+ /** Re-export the Toast function type so callers can refer to it. */
83
+ export type Toast = ToastFn;
55
84
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/toast/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAyB,MAAM,OAAO,CAAC;AAY9C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAEhD,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AACzE,YAAY,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAE3D;;;GAGG;AACH,wBAAgB,WAAW,4CAE1B;AAUD;;GAEG;AACH,eAAO,MAAM,GAAG;;;mCAmDwuE,CAAC;;;gCAAqE,CAAC;;;iCAAsE,CAAC;;;mCAAwE,CAAC;;;0CAA+E,CAAC;;;;;;;;;mBAlE/gF,CAAA;mBACF,CAAC;iBAA4B,CAAC;;;mCAiE+pF,CAAC;;;gBAAqD,CAAC;;CAnDzuF,CAAC;AAE1B;;;;GAIG;AACH,wBAAgB,IAAI,CAClB,OAAO,EAAE,KAAK,CAAC,SAAS,EACxB,EAAE,IAAgB,EAAE,GAAG,OAAO,EAAE,GAAE,gBAAqB,QAkCxD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/toast/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAyB,MAAM,OAAO,CAAC;AAY9C,OAAO,KAAK,EAAE,gBAAgB,EAAa,MAAM,SAAS,CAAC;AAE3D,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AACzE,YAAY,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAE3D;;;GAGG;AACH,wBAAgB,WAAW,4CAE1B;AAUD;;;GAGG;AACH,eAAO,MAAM,GAAG;;;mCA8F+W,CAAC;;;gCAAqE,CAAC;;;iCAAsE,CAAC;;;mCAAwE,CAAC;;;0CAA+E,CAAC;;;;;;;;;mBA9GlqB,CAAC;mBACF,CAAC;iBAA4B,CAAC;;;mCA6GizB,CAAC;;;gBAAqD,CAAC;;CA9Fh3B,CAAC;AAwC1B;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,WAAW,OAAO;IACtB,CAAC,OAAO,EAAE,KAAK,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAC7D,OAAO,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,KAAK,IAAI,CAAC;IACtF,KAAK,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,KAAK,IAAI,CAAC;IACpF,OAAO,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,KAAK,IAAI,CAAC;IACtF,IAAI,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,KAAK,IAAI,CAAC;IACnF,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,KAAK,IAAI,CAAC;CACzC;AAYD,eAAO,MAAM,KAAK,EAAE,OAAmB,CAAC;AAExC;;;;GAIG;AACH,eAAO,MAAM,IAAI,EAAE,OAAmB,CAAC;AAEvC,oEAAoE;AACpE,MAAM,MAAM,KAAK,GAAG,OAAO,CAAC"}
@@ -9,14 +9,21 @@ export type { ToastType, BaseToastOptions } from './types';
9
9
  * component tree.
10
10
  */
11
11
  export declare function ToastOutlet(): import("react/jsx-runtime").JSX.Element;
12
- /**
13
- * Access the full Sonner API
14
- */
12
+ /** Direct access to the underlying Sonner API. Use sparingly. */
15
13
  export declare const api: typeof sonner;
16
14
  /**
17
- * Show a toast notification.
18
- *
19
- * Pass a string for a simple text toast, or a React element for a custom toast.
15
+ * Show a toast notification. Identical API to the native variant — see
16
+ * `./index.tsx` for the full usage docs.
20
17
  */
21
- export declare function show(content: React.ReactNode, { type, ...options }?: BaseToastOptions): void;
18
+ export interface ToastFn {
19
+ (content: React.ReactNode, options?: BaseToastOptions): void;
20
+ success: (content: React.ReactNode, options?: Omit<BaseToastOptions, 'type'>) => void;
21
+ error: (content: React.ReactNode, options?: Omit<BaseToastOptions, 'type'>) => void;
22
+ warning: (content: React.ReactNode, options?: Omit<BaseToastOptions, 'type'>) => void;
23
+ info: (content: React.ReactNode, options?: Omit<BaseToastOptions, 'type'>) => void;
24
+ dismiss: (id?: string | number) => void;
25
+ }
26
+ export declare const toast: ToastFn;
27
+ export declare const show: ToastFn;
28
+ export type Toast = ToastFn;
22
29
  //# sourceMappingURL=index.web.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.web.d.ts","sourceRoot":"","sources":["../../../../src/toast/index.web.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAyB,MAAM,OAAO,CAAC;AAE9C,OAAO,EAAE,KAAK,IAAI,MAAM,EAAW,MAAM,QAAQ,CAAC;AASlD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAEhD,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AACzE,YAAY,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAE3D;;;GAGG;AACH,wBAAgB,WAAW,4CAS1B;AAED;;GAEG;AACH,eAAO,MAAM,GAAG,EAAE,OAAO,MAAe,CAAC;AAEzC;;;;GAIG;AACH,wBAAgB,IAAI,CAClB,OAAO,EAAE,KAAK,CAAC,SAAS,EACxB,EAAE,IAAgB,EAAE,GAAG,OAAO,EAAE,GAAE,gBAAqB,QAoCxD"}
1
+ {"version":3,"file":"index.web.d.ts","sourceRoot":"","sources":["../../../../src/toast/index.web.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAyB,MAAM,OAAO,CAAC;AAE9C,OAAO,EAAE,KAAK,IAAI,MAAM,EAAW,MAAM,QAAQ,CAAC;AASlD,OAAO,KAAK,EAAE,gBAAgB,EAAa,MAAM,SAAS,CAAC;AAE3D,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AACzE,YAAY,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAE3D;;;GAGG;AACH,wBAAgB,WAAW,4CAS1B;AAED,iEAAiE;AACjE,eAAO,MAAM,GAAG,EAAE,OAAO,MAAe,CAAC;AA0CzC;;;GAGG;AACH,MAAM,WAAW,OAAO;IACtB,CAAC,OAAO,EAAE,KAAK,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAC7D,OAAO,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,KAAK,IAAI,CAAC;IACtF,KAAK,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,KAAK,IAAI,CAAC;IACpF,OAAO,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,KAAK,IAAI,CAAC;IACtF,IAAI,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,KAAK,IAAI,CAAC;IACnF,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,KAAK,IAAI,CAAC;CACzC;AAYD,eAAO,MAAM,KAAK,EAAE,OAAmB,CAAC;AACxC,eAAO,MAAM,IAAI,EAAE,OAAmB,CAAC;AACvC,MAAM,MAAM,KAAK,GAAG,OAAO,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=Dialog.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Dialog.test.d.ts","sourceRoot":"","sources":["../../../../src/__tests__/Dialog.test.tsx"],"names":[],"mappings":""}
@@ -38,10 +38,56 @@ export interface BottomSheetProps {
38
38
  /**
39
39
  * Opacity of the dimming backdrop behind the sheet (0–1). Defaults to `0.5`.
40
40
  * Set to a higher value (e.g. `0.7`) when the sheet is presented over another
41
- * bottom sheet (Dialog/Prompt cases) so the underlying handle/content does not
41
+ * bottom sheet (Dialog cases) so the underlying handle/content does not
42
42
  * bleed through.
43
43
  */
44
44
  backdropOpacity?: number;
45
+ /**
46
+ * When `true` (default), children are wrapped in an internal scrollable
47
+ * container — convenient for vertical content that can overflow.
48
+ *
49
+ * Set to `false` when the screen owns its own scrolling primitive
50
+ * (e.g. a `FlatList`, `SectionList`, or any other VirtualizedList).
51
+ * Nesting a VirtualizedList inside the internal ScrollView would break
52
+ * windowing/keyboard handling and trigger a React Native warning. In
53
+ * non-scrollable mode the screen receives the full available height
54
+ * (minus the drag handle) and must manage its own overflow.
55
+ */
56
+ scrollable?: boolean;
57
+ /**
58
+ * When `true`, the body pan uses RNGH's `manualActivation` and only
59
+ * activates when (a) the inner ScrollView is at the top AND (b) the user
60
+ * has moved their finger downward by > 8dp. This is the @gorhom/bottom-sheet
61
+ * coordination model — recommended for sheets containing scrollable content
62
+ * on Android (avoids stealing vertical events from the inner scroller).
63
+ *
64
+ * When `false` (default), the body pan is always active and gates on the
65
+ * scroll offset at `onStart` time. This is the legacy behavior, preserved
66
+ * for backwards compatibility with current bloom consumers.
67
+ *
68
+ * Enabling this also splits the drag handle into its own dedicated,
69
+ * unconditional pan so users can always grab the handle to drag — even
70
+ * when the inner ScrollView is mid-scroll.
71
+ */
72
+ manualActivation?: boolean;
73
+ /**
74
+ * When `true`, the backdrop dims proportionally with drag distance — the
75
+ * overlay fades from full opacity (sheet at rest) to 30% as the sheet is
76
+ * pulled down 40% of the screen height. iOS Photos style. The base
77
+ * `backdropOpacity` still controls the resting dim level.
78
+ *
79
+ * Defaults to `false` (constant opacity during drag).
80
+ */
81
+ dynamicBackdrop?: boolean;
82
+ /**
83
+ * Custom handle slot. When provided, replaces the default drag handle
84
+ * (the 36×5 pill). The rendered handle is wrapped in the dedicated handle
85
+ * gesture detector (when `manualActivation` is `true`) so it remains
86
+ * unconditionally draggable. `showHandle={false}` still suppresses any
87
+ * handle rendering — `handleComponent` is only consulted when
88
+ * `showHandle` is `true`.
89
+ */
90
+ handleComponent?: () => React.ReactNode;
45
91
  }
46
92
  declare const BottomSheet: React.ForwardRefExoticComponent<BottomSheetProps & React.RefAttributes<BottomSheetRef>>;
47
93
  export default BottomSheet;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/bottom-sheet/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAOH,KAAK,SAAS,EACd,KAAK,SAAS,EACjB,MAAM,cAAc,CAAC;AA8CtB,MAAM,WAAW,cAAc;IAC3B,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,QAAQ,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;CACrD;AAED,MAAM,WAAW,gBAAgB;IAC7B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,mBAAmB,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAA;KAAE,KAAK,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC;IAC7F,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;KAAE,KAAK,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC;IACjH;;;;;OAKG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,0BAA0B,CAAC,EAAE,OAAO,CAAC;IACrC,gBAAgB,CAAC,EAAE,MAAM,OAAO,CAAC;IACjC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;OAIG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;;OAKG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,QAAA,MAAM,WAAW,yFA+Vf,CAAC;AAqGH,eAAe,WAAW,CAAC;AAC3B,OAAO,EAAE,WAAW,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/bottom-sheet/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAOH,KAAK,SAAS,EACd,KAAK,SAAS,EACjB,MAAM,cAAc,CAAC;AA8CtB,MAAM,WAAW,cAAc;IAC3B,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,QAAQ,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;CACrD;AAED,MAAM,WAAW,gBAAgB;IAC7B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,mBAAmB,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAA;KAAE,KAAK,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC;IAC7F,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;KAAE,KAAK,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC;IACjH;;;;;OAKG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,0BAA0B,CAAC,EAAE,OAAO,CAAC;IACrC,gBAAgB,CAAC,EAAE,MAAM,OAAO,CAAC;IACjC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;OAIG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;;OAKG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;;;;;;;;OAUG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;;;;;;;;;;;OAcG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B;;;;;;;OAOG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;;;;;;OAOG;IACH,eAAe,CAAC,EAAE,MAAM,KAAK,CAAC,SAAS,CAAC;CAC3C;AAED,QAAA,MAAM,WAAW,yFAwjBf,CAAC;AA0HH,eAAe,WAAW,CAAC;AAC3B,OAAO,EAAE,WAAW,EAAE,CAAC"}
@@ -1,9 +1,10 @@
1
1
  /**
2
2
  * ContextMenu — Native implementation
3
3
  *
4
- * Opens a bottom-sheet menu via Bloom's Dialog when the user long-presses
5
- * the trigger. The menu body is rendered through Bloom's Menu component
6
- * pattern using Dialog.Outer / Dialog.ScrollableInner.
4
+ * Opens a bottom-sheet menu when the user long-presses the trigger. The
5
+ * menu body uses bloom's internal `SheetShell` (a `BottomSheet`
6
+ * presentation primitive with the same drag-handle + close-on-tap
7
+ * semantics shared by `Menu` and `Select`).
7
8
  */
8
9
  import React from 'react';
9
10
  import type { GroupProps, ItemIconProps, ItemProps, ItemTextProps, OuterProps, TriggerProps } from './types';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/context-menu/index.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAKN,MAAM,OAAO,CAAC;AAQf,OAAO,KAAK,EAEV,UAAU,EAEV,aAAa,EACb,SAAS,EACT,aAAa,EACb,UAAU,EACV,YAAY,EACb,MAAM,SAAS,CAAC;AA2BjB,wBAAgB,IAAI,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,2CAkB/D;AAMD,wBAAgB,OAAO,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,YAAY,2CAwBrE;AAMD,wBAAgB,KAAK,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,UAAU,2CAoBpD;AAMD,wBAAgB,IAAI,CAAC,EACnB,QAAQ,EACR,KAAK,EACL,OAAO,EACP,QAAgB,EAChB,KAAK,GACN,EAAE,SAAS,2CAgDX;AAMD,wBAAgB,QAAQ,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,aAAa,2CAiB1D;AAMD,wBAAgB,QAAQ,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,aAAa,2CAUrD;AAMD,wBAAgB,KAAK,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,UAAU,2CAEpD;AAMD,wBAAgB,OAAO,4CAWtB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/context-menu/index.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAKN,MAAM,OAAO,CAAC;AAUf,OAAO,KAAK,EAEV,UAAU,EAEV,aAAa,EACb,SAAS,EACT,aAAa,EACb,UAAU,EACV,YAAY,EACb,MAAM,SAAS,CAAC;AA2BjB,wBAAgB,IAAI,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,2CAkB/D;AAMD,wBAAgB,OAAO,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,YAAY,2CAwBrE;AAMD,wBAAgB,KAAK,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,UAAU,2CAiBpD;AAMD,wBAAgB,IAAI,CAAC,EACnB,QAAQ,EACR,KAAK,EACL,OAAO,EACP,QAAgB,EAChB,KAAK,GACN,EAAE,SAAS,2CAgDX;AAMD,wBAAgB,QAAQ,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,aAAa,2CAiB1D;AAMD,wBAAgB,QAAQ,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,aAAa,2CAUrD;AAMD,wBAAgB,KAAK,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,UAAU,2CAEpD;AAMD,wBAAgB,OAAO,4CAWtB"}
@@ -0,0 +1,27 @@
1
+ import React from 'react';
2
+ /**
3
+ * Mounts the imperative `alert()` host inside your app.
4
+ *
5
+ * Wrap your app root once (after `BloomThemeProvider`, so the dialog's
6
+ * colours come from the active theme) and you can call `alert()` from
7
+ * anywhere — including from code that runs before the provider mounts
8
+ * (alerts are queued and drained on subscribe).
9
+ *
10
+ * ```tsx
11
+ * import { BloomDialogProvider } from '@oxyhq/bloom';
12
+ *
13
+ * <BloomThemeProvider mode="system" colorPreset="oxy">
14
+ * <BloomDialogProvider>
15
+ * <App />
16
+ * </BloomDialogProvider>
17
+ * </BloomThemeProvider>
18
+ * ```
19
+ *
20
+ * Alerts are presented one at a time. While one is on screen, subsequent
21
+ * `alert()` calls enqueue and present in FIFO order once their predecessor
22
+ * has finished closing.
23
+ */
24
+ export declare function BloomDialogProvider({ children }: {
25
+ children: React.ReactNode;
26
+ }): import("react/jsx-runtime").JSX.Element;
27
+ //# sourceMappingURL=BloomDialogProvider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BloomDialogProvider.d.ts","sourceRoot":"","sources":["../../../../src/dialog/BloomDialogProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAUnD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,mBAAmB,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,2CAgB9E"}
@@ -0,0 +1,15 @@
1
+ import React from 'react';
2
+ /**
3
+ * Web variant of `BloomDialogProvider`. Identical surface area to the
4
+ * native version — it just uses the web-fork `Dialog` (`Dialog.web.tsx`)
5
+ * underneath instead of the bottom-sheet variant.
6
+ *
7
+ * See the native file (`./BloomDialogProvider.tsx`) for the full design
8
+ * notes; this fork exists purely so the bundler's `browser` condition can
9
+ * resolve to a `Dialog` that doesn't pull in the native gesture-handler /
10
+ * reanimated stack.
11
+ */
12
+ export declare function BloomDialogProvider({ children }: {
13
+ children: React.ReactNode;
14
+ }): import("react/jsx-runtime").JSX.Element;
15
+ //# sourceMappingURL=BloomDialogProvider.web.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BloomDialogProvider.web.d.ts","sourceRoot":"","sources":["../../../../src/dialog/BloomDialogProvider.web.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAUnD;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,2CAa9E"}
@@ -1,11 +1,38 @@
1
- import React from 'react';
2
- import type { DialogInnerProps, DialogOuterProps } from './types';
3
- export { useDialogContext, useDialogControl } from './context';
4
- export type { DialogControlProps, DialogOuterProps, DialogInnerProps } from './types';
5
- export declare function Outer({ children, control, onClose, testID, }: React.PropsWithChildren<DialogOuterProps>): import("react/jsx-runtime").JSX.Element;
6
- export declare function Inner({ children, style, header, contentContainerStyle }: DialogInnerProps): import("react/jsx-runtime").JSX.Element;
7
- export declare function ScrollableInner(props: DialogInnerProps): import("react/jsx-runtime").JSX.Element;
8
- export declare function Handle(): import("react/jsx-runtime").JSX.Element;
9
- export declare function Close(): null;
10
- export declare function Backdrop(): null;
1
+ import type { DialogAction, DialogProps } from './types';
2
+ /**
3
+ * Native variant of `<Dialog>`.
4
+ *
5
+ * Uses bloom's own `BottomSheet` in `detached` mode as the underlying
6
+ * surface a floating, dynamically-sized, content-hugging card that
7
+ * gracefully degrades from sheet (phone) to centered card (tablet, via the
8
+ * 500px max-width cap).
9
+ *
10
+ * The component accepts three rendering modes simultaneously:
11
+ *
12
+ * 1. Declarative — `title`, `description`, `actions`. Bloom renders a
13
+ * standard confirm/destructive/cancel layout.
14
+ * 2. Custom children — caller passes JSX, bloom renders the chrome (title
15
+ * + close behaviour) and the children fill the body.
16
+ * 3. Pure children — no `title`/`description`/`actions`; caller owns
17
+ * every pixel.
18
+ *
19
+ * All three share the same dismissal semantics: tapping the backdrop, the
20
+ * drag handle, swiping down, or `control.close()` runs the queued close
21
+ * callbacks once the sheet's exit animation has settled.
22
+ */
23
+ export declare function Dialog({ control, onClose, testID, title, description, actions, style, label, children, }: DialogProps): import("react/jsx-runtime").JSX.Element;
24
+ /**
25
+ * Helper used by the imperative `alert()` API. Mounts a `<Dialog>` against
26
+ * a fresh control and presents it immediately. `onResolve` is invoked
27
+ * exactly once when the dialog finishes closing (regardless of how the
28
+ * dismissal happened).
29
+ *
30
+ * Kept private to the dialog module — `alert()` is the public surface.
31
+ */
32
+ export declare function AutoMountedDialog({ title, description, actions, onResolve, }: {
33
+ title?: string;
34
+ description?: string;
35
+ actions: DialogAction[];
36
+ onResolve: () => void;
37
+ }): import("react/jsx-runtime").JSX.Element;
11
38
  //# sourceMappingURL=Dialog.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Dialog.d.ts","sourceRoot":"","sources":["../../../../src/dialog/Dialog.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4D,MAAM,OAAO,CAAC;AAMjF,OAAO,KAAK,EAAsB,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAEtF,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC/D,YAAY,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAEtF,wBAAgB,KAAK,CAAC,EACpB,QAAQ,EACR,OAAO,EACP,OAAO,EACP,MAAM,GACP,EAAE,KAAK,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,2CAgF3C;AAED,wBAAgB,KAAK,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,qBAAqB,EAAE,EAAE,gBAAgB,2CAmBzF;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,gBAAgB,2CAEtD;AAOD,wBAAgB,MAAM,4CAgBrB;AAED,wBAAgB,KAAK,SAEpB;AAED,wBAAgB,QAAQ,SAEvB"}
1
+ {"version":3,"file":"Dialog.d.ts","sourceRoot":"","sources":["../../../../src/dialog/Dialog.tsx"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EACV,YAAY,EAGZ,WAAW,EACZ,MAAM,SAAS,CAAC;AAEjB;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,MAAM,CAAC,EACrB,OAAO,EACP,OAAO,EACP,MAAM,EACN,KAAK,EACL,WAAW,EACX,OAAO,EACP,KAAK,EACL,KAAK,EACL,QAAQ,GACT,EAAE,WAAW,2CA6Hb;AAqFD;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,EAChC,KAAK,EACL,WAAW,EACX,OAAO,EACP,SAAS,GACV,EAAE;IACD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,SAAS,EAAE,MAAM,IAAI,CAAC;CACvB,2CAoBA"}
@@ -1,13 +1,29 @@
1
- import React from 'react';
2
- import type { DialogInnerProps, DialogOuterProps } from './types';
3
- export { useDialogContext, useDialogControl } from './context';
4
- export type { DialogControlProps, DialogOuterProps, DialogInnerProps } from './types';
5
- export declare function Outer({ children, control, onClose, testID, webOptions, }: React.PropsWithChildren<DialogOuterProps>): import("react/jsx-runtime").JSX.Element | null;
6
- export declare function Inner({ children, style, label, header, contentContainerStyle, }: DialogInnerProps): import("react/jsx-runtime").JSX.Element;
7
- export declare function ScrollableInner(props: DialogInnerProps): import("react/jsx-runtime").JSX.Element;
8
- export declare function Handle(): null;
9
- export declare function Close(): import("react/jsx-runtime").JSX.Element;
10
- export declare function Backdrop(): null;
1
+ import type { DialogAction, DialogProps } from './types';
2
+ /**
3
+ * Web variant of `<Dialog>`.
4
+ *
5
+ * A centered modal card rendered into the bloom Portal at the end of
6
+ * `document.body`. Same prop API as native `title`, `description`,
7
+ * `actions`, or arbitrary `children` — so call sites are platform
8
+ * agnostic.
9
+ *
10
+ * Accessibility: the panel has `role="dialog"` and the `title`/`description`
11
+ * props (when provided) become the `aria-labelledby` / `aria-describedby`
12
+ * targets. Pressing the backdrop dismisses. Pressing `Escape` dismisses.
13
+ * Focus is locked inside the dialog while it's open.
14
+ */
15
+ export declare function Dialog({ control, onClose, testID, title, description, actions, style, label, children, }: DialogProps): import("react/jsx-runtime").JSX.Element | null;
16
+ /**
17
+ * Inline imperative dialog used by `alert()`. Mounts and immediately
18
+ * presents; resolves the host's `onResolve` once the dialog has finished
19
+ * its exit animation.
20
+ */
21
+ export declare function AutoMountedDialog({ title, description, actions, onResolve, }: {
22
+ title?: string;
23
+ description?: string;
24
+ actions: DialogAction[];
25
+ onResolve: () => void;
26
+ }): import("react/jsx-runtime").JSX.Element;
11
27
  /**
12
28
  * CSS keyframes required for web dialog animations.
13
29
  * Consumers should inject this string into a <style> tag or their global CSS:
@@ -1 +1 @@
1
- {"version":3,"file":"Dialog.web.d.ts","sourceRoot":"","sources":["../../../../src/dialog/Dialog.web.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4G,MAAM,OAAO,CAAC;AAOjI,OAAO,KAAK,EAAsB,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAEtF,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC/D,YAAY,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAQtF,wBAAgB,KAAK,CAAC,EACpB,QAAQ,EACR,OAAO,EACP,OAAO,EACP,MAAM,EACN,UAAU,GACX,EAAE,KAAK,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,kDAwF3C;AAED,wBAAgB,KAAK,CAAC,EACpB,QAAQ,EACR,KAAK,EACL,KAAK,EACL,MAAM,EACN,qBAAqB,GACtB,EAAE,gBAAgB,2CAsClB;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,gBAAgB,2CAEtD;AAED,wBAAgB,MAAM,SAErB;AAED,wBAAgB,KAAK,4CA+BpB;AAoBD,wBAAgB,QAAQ,SAEvB;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,gBAAgB,mZAK5B,CAAC"}
1
+ {"version":3,"file":"Dialog.web.d.ts","sourceRoot":"","sources":["../../../../src/dialog/Dialog.web.tsx"],"names":[],"mappings":"AAyBA,OAAO,KAAK,EACV,YAAY,EAGZ,WAAW,EACZ,MAAM,SAAS,CAAC;AAQjB;;;;;;;;;;;;GAYG;AACH,wBAAgB,MAAM,CAAC,EACrB,OAAO,EACP,OAAO,EACP,MAAM,EACN,KAAK,EACL,WAAW,EACX,OAAO,EACP,KAAK,EACL,KAAK,EACL,QAAQ,GACT,EAAE,WAAW,kDAwGb;AA8LD;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,EAChC,KAAK,EACL,WAAW,EACX,OAAO,EACP,SAAS,GACV,EAAE;IACD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,SAAS,EAAE,MAAM,IAAI,CAAC;CACvB,2CAgBA;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,gBAAgB,mZAK5B,CAAC"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Internal bottom-sheet shell shared by `Menu`, `Select` and `ContextMenu`.
3
+ *
4
+ * Not exported from the public `@oxyhq/bloom` surface — these three
5
+ * components historically used the low-level `Dialog.Outer / Inner /
6
+ * Handle` primitives, which are gone in 0.5.0. This shell captures the
7
+ * shared shape (BottomSheet + drag handle + close-on-tap context) in a
8
+ * single place so the three internal call sites stay symmetrical.
9
+ *
10
+ * Consumers needing the same behaviour for app code should use the public
11
+ * `BottomSheet` primitive directly.
12
+ */
13
+ import React from 'react';
14
+ import { type StyleProp, type ViewStyle } from 'react-native';
15
+ import type { DialogControlProps } from './types';
16
+ export interface SheetShellProps {
17
+ control: DialogControlProps;
18
+ label?: string;
19
+ header?: React.ReactNode;
20
+ onClose?: () => void;
21
+ /** Style overrides applied to the inner padded content container. */
22
+ contentStyle?: StyleProp<ViewStyle>;
23
+ children?: React.ReactNode;
24
+ }
25
+ /**
26
+ * Bottom-sheet shell with an embedded drag handle. Exposes the bloom
27
+ * dialog `close()` context to descendants — `Menu.Item`, `Select.Item`
28
+ * etc. rely on it to dismiss the sheet after selection.
29
+ */
30
+ export declare function SheetShell({ control, label, header, onClose, contentStyle, children, }: SheetShellProps): import("react/jsx-runtime").JSX.Element;
31
+ //# sourceMappingURL=SheetShell.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SheetShell.d.ts","sourceRoot":"","sources":["../../../../src/dialog/SheetShell.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,KAA4D,MAAM,OAAO,CAAC;AACjF,OAAO,EAA+B,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAK3F,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAElD,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,kBAAkB,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,qEAAqE;IACrE,YAAY,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IACpC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,EACzB,OAAO,EACP,KAAK,EACL,MAAM,EACN,OAAO,EACP,YAAY,EACZ,QAAQ,GACT,EAAE,eAAe,2CAwEjB"}
@@ -0,0 +1,70 @@
1
+ import type { DialogAction } from './types';
2
+ /**
3
+ * Imperative-alert store.
4
+ *
5
+ * The store sits in module scope so `alert()` works from anywhere — event
6
+ * handlers, async callbacks, top-level helpers — without threading a
7
+ * provider context through every call site.
8
+ *
9
+ * The visible UI is owned by a single subscriber (the `<BloomDialogProvider>`
10
+ * mounted inside the app's React tree). When there is no subscriber yet —
11
+ * because `alert()` was called before the provider mounted, or because the
12
+ * app forgot to mount the provider — entries accumulate in the queue and
13
+ * drain as soon as a subscriber attaches.
14
+ *
15
+ * Multiple subscribers are not supported by design. Two providers would
16
+ * race for the same alert; we instead enforce a single listener and let
17
+ * the most recent subscription win (the older one falls back to no-op).
18
+ */
19
+ export type AlertButtonStyle = 'default' | 'cancel' | 'destructive';
20
+ export interface AlertButton {
21
+ /** Button label. Required. */
22
+ text: string;
23
+ /** Tap handler. Invoked after the dialog has finished its close animation. */
24
+ onPress?: () => void;
25
+ /** Visual treatment. Defaults to `'default'`. */
26
+ style?: AlertButtonStyle;
27
+ }
28
+ export interface AlertEntry {
29
+ id: string;
30
+ title: string;
31
+ message?: string;
32
+ buttons: AlertButton[];
33
+ }
34
+ type Listener = (queue: AlertEntry[]) => void;
35
+ /**
36
+ * Enqueue an alert. Returns the generated id so callers can dismiss it
37
+ * imperatively (rare — usually the dialog dismisses itself via a button
38
+ * tap). The runtime guarantees this enqueues even before any provider
39
+ * mounts; the provider drains pending entries on subscribe.
40
+ */
41
+ export declare function enqueueAlert(entry: Omit<AlertEntry, 'id'>): string;
42
+ /**
43
+ * Remove an alert from the queue. Called by the provider once the bloom
44
+ * Dialog has finished closing for that entry.
45
+ */
46
+ export declare function dismissAlert(id: string): void;
47
+ /**
48
+ * Subscribe to queue changes. Replaces any previously-registered listener
49
+ * (single-subscriber model — see header). Returns an unsubscribe function.
50
+ *
51
+ * On subscribe, the current queue is delivered synchronously so the
52
+ * subscriber can render pending entries that arrived before mount.
53
+ */
54
+ export declare function subscribeAlerts(fn: Listener): () => void;
55
+ /** Inspect the current queue. Used internally and by tests. */
56
+ export declare function getAlertQueue(): readonly AlertEntry[];
57
+ /**
58
+ * Translate an alert button to the action shape the unified `Dialog`
59
+ * accepts. Pure — no React, no theme — so it can be reused on web and
60
+ * native without forking.
61
+ */
62
+ export declare function buttonToAction(button: AlertButton): DialogAction;
63
+ /**
64
+ * Compute the effective button set for an alert. Mirrors React Native's
65
+ * `Alert.alert` semantics — an empty/omitted buttons array implies a
66
+ * single `OK` confirmation button.
67
+ */
68
+ export declare function resolveButtons(buttons: AlertButton[] | undefined): AlertButton[];
69
+ export {};
70
+ //# sourceMappingURL=alert-store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"alert-store.d.ts","sourceRoot":"","sources":["../../../../src/dialog/alert-store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAQ5C;;;;;;;;;;;;;;;;GAgBG;AAEH,MAAM,MAAM,gBAAgB,GAAG,SAAS,GAAG,QAAQ,GAAG,aAAa,CAAC;AAEpE,MAAM,WAAW,WAAW;IAC1B,8BAA8B;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,8EAA8E;IAC9E,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,iDAAiD;IACjD,KAAK,CAAC,EAAE,gBAAgB,CAAC;CAC1B;AAED,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,WAAW,EAAE,CAAC;CACxB;AAED,KAAK,QAAQ,GAAG,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,IAAI,CAAC;AAS9C;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,GAAG,MAAM,CAKlE;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAK7C;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,EAAE,EAAE,QAAQ,GAAG,MAAM,IAAI,CAQxD;AAED,+DAA+D;AAC/D,wBAAgB,aAAa,IAAI,SAAS,UAAU,EAAE,CAErD;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,WAAW,GAAG,YAAY,CAWhE;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,WAAW,EAAE,GAAG,SAAS,GAAG,WAAW,EAAE,CAGhF"}
@@ -0,0 +1,27 @@
1
+ import { type AlertButton } from './alert-store';
2
+ /**
3
+ * Show a Bloom-styled confirmation dialog. Mirrors React Native's
4
+ * `Alert.alert(title, message?, buttons?)` signature so existing call
5
+ * sites migrate by changing the import only.
6
+ *
7
+ * If no buttons are passed, a single `OK` confirmation is rendered.
8
+ *
9
+ * The alert is enqueued in a module-scope store and rendered by
10
+ * `<BloomDialogProvider>`. Calls made before the provider mounts are
11
+ * queued and drained once the provider attaches — there is no fire-and-
12
+ * forget loss window. Calls made when no provider is ever mounted are
13
+ * silently queued forever; in development, mount the provider once at
14
+ * the app root and the queue will catch up immediately.
15
+ *
16
+ * ```tsx
17
+ * import { alert } from '@oxyhq/bloom';
18
+ *
19
+ * alert('Sign out?', 'You will need to enter your password to sign in again.', [
20
+ * { text: 'Cancel', style: 'cancel' },
21
+ * { text: 'Sign out', style: 'destructive', onPress: doSignOut },
22
+ * ]);
23
+ * ```
24
+ */
25
+ export declare function alert(title: string, message?: string, buttons?: AlertButton[]): void;
26
+ export type { AlertButton, AlertButtonStyle } from './alert-store';
27
+ //# sourceMappingURL=alert.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"alert.d.ts","sourceRoot":"","sources":["../../../../src/dialog/alert.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,WAAW,EACjB,MAAM,eAAe,CAAC;AAEvB;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,KAAK,CACnB,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,WAAW,EAAE,GACtB,IAAI,CAMN;AAED,YAAY,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC"}
@@ -1,5 +1,12 @@
1
1
  import type { DialogContextProps, DialogControlProps } from './types';
2
2
  export declare const Context: import("react").Context<DialogContextProps>;
3
3
  export declare function useDialogContext(): DialogContextProps;
4
+ /**
5
+ * Return a stable handle that can imperatively `open()` and `close()` a
6
+ * `<Dialog>` mounted with the same control.
7
+ *
8
+ * The handle survives across re-renders; mounting a different `<Dialog>`
9
+ * with the same control attaches the new instance via the internal ref.
10
+ */
4
11
  export declare function useDialogControl(): DialogControlProps;
5
12
  //# sourceMappingURL=context.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../../src/dialog/context.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAyB,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAE7F,eAAO,MAAM,OAAO,6CAGlB,CAAC;AAGH,wBAAgB,gBAAgB,IAAI,kBAAkB,CAErD;AAED,wBAAgB,gBAAgB,IAAI,kBAAkB,CAoBrD"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../../src/dialog/context.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,kBAAkB,EAClB,kBAAkB,EAEnB,MAAM,SAAS,CAAC;AAEjB,eAAO,MAAM,OAAO,6CAGlB,CAAC;AAGH,wBAAgB,gBAAgB,IAAI,kBAAkB,CAErD;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,IAAI,kBAAkB,CAoBrD"}
@@ -1,4 +1,7 @@
1
- export { Outer, Inner, ScrollableInner, Handle, Close, Backdrop } from './Dialog';
1
+ export { Dialog } from './Dialog';
2
+ export { BloomDialogProvider } from './BloomDialogProvider';
3
+ export { alert } from './alert';
2
4
  export { useDialogContext, useDialogControl } from './context';
3
- export type { DialogControlProps, DialogOuterProps, DialogInnerProps, DialogContextProps } from './types';
5
+ export type { AlertButton, AlertButtonStyle, } from './alert-store';
6
+ export type { DialogAction, DialogActionColor, DialogContextProps, DialogControlProps, DialogProps, } from './types';
4
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/dialog/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAClF,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC/D,YAAY,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/dialog/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC/D,YAAY,EACV,WAAW,EACX,gBAAgB,GACjB,MAAM,eAAe,CAAC;AACvB,YAAY,EACV,YAAY,EACZ,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,WAAW,GACZ,MAAM,SAAS,CAAC"}
@@ -1,4 +1,7 @@
1
- export { Outer, Inner, ScrollableInner, Handle, Close, Backdrop } from './Dialog.web';
1
+ export { Dialog, BLOOM_DIALOG_CSS } from './Dialog.web';
2
+ export { BloomDialogProvider } from './BloomDialogProvider.web';
3
+ export { alert } from './alert';
2
4
  export { useDialogContext, useDialogControl } from './context';
3
- export type { DialogControlProps, DialogOuterProps, DialogInnerProps, DialogContextProps } from './types';
5
+ export type { AlertButton, AlertButtonStyle, } from './alert-store';
6
+ export type { DialogAction, DialogActionColor, DialogContextProps, DialogControlProps, DialogProps, } from './types';
4
7
  //# sourceMappingURL=index.web.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.web.d.ts","sourceRoot":"","sources":["../../../../src/dialog/index.web.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACtF,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC/D,YAAY,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC"}
1
+ {"version":3,"file":"index.web.d.ts","sourceRoot":"","sources":["../../../../src/dialog/index.web.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC/D,YAAY,EACV,WAAW,EACX,gBAAgB,GACjB,MAAM,eAAe,CAAC;AACvB,YAAY,EACV,YAAY,EACZ,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,WAAW,GACZ,MAAM,SAAS,CAAC"}