@oxyhq/bloom 0.27.0 → 0.28.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 (253) hide show
  1. package/lib/commonjs/animated-check/AnimatedCheck.js +162 -0
  2. package/lib/commonjs/animated-check/AnimatedCheck.js.map +1 -0
  3. package/lib/commonjs/animated-check/index.js +13 -0
  4. package/lib/commonjs/animated-check/index.js.map +1 -0
  5. package/lib/commonjs/dialog/placement.js +9 -7
  6. package/lib/commonjs/dialog/placement.js.map +1 -1
  7. package/lib/commonjs/fill/index.js.map +1 -1
  8. package/lib/commonjs/hooks/index.js +20 -0
  9. package/lib/commonjs/hooks/index.js.map +1 -1
  10. package/lib/commonjs/hooks/useGutters.js +106 -0
  11. package/lib/commonjs/hooks/useGutters.js.map +1 -0
  12. package/lib/commonjs/hooks/useHaptics.js +69 -0
  13. package/lib/commonjs/hooks/useHaptics.js.map +1 -0
  14. package/lib/commonjs/hooks/useInteractionState.js +8 -2
  15. package/lib/commonjs/hooks/useInteractionState.js.map +1 -1
  16. package/lib/commonjs/index.js +155 -63
  17. package/lib/commonjs/index.js.map +1 -1
  18. package/lib/commonjs/index.web.js +155 -63
  19. package/lib/commonjs/index.web.js.map +1 -1
  20. package/lib/commonjs/media-inset-border/MediaInsetBorder.js +50 -0
  21. package/lib/commonjs/media-inset-border/MediaInsetBorder.js.map +1 -0
  22. package/lib/commonjs/media-inset-border/index.js +13 -0
  23. package/lib/commonjs/media-inset-border/index.js.map +1 -0
  24. package/lib/commonjs/motion/ScreenTransition.js +46 -0
  25. package/lib/commonjs/motion/ScreenTransition.js.map +1 -0
  26. package/lib/commonjs/motion/index.js +32 -0
  27. package/lib/commonjs/motion/index.js.map +1 -0
  28. package/lib/commonjs/motion/motion.js +93 -0
  29. package/lib/commonjs/motion/motion.js.map +1 -0
  30. package/lib/commonjs/pressable-scale/PressableScale.js +75 -0
  31. package/lib/commonjs/pressable-scale/PressableScale.js.map +1 -0
  32. package/lib/commonjs/pressable-scale/index.js +13 -0
  33. package/lib/commonjs/pressable-scale/index.js.map +1 -0
  34. package/lib/commonjs/pressable-with-hover/PressableWithHover.js +36 -0
  35. package/lib/commonjs/pressable-with-hover/PressableWithHover.js.map +1 -0
  36. package/lib/commonjs/pressable-with-hover/index.js +13 -0
  37. package/lib/commonjs/pressable-with-hover/index.js.map +1 -0
  38. package/lib/commonjs/styles/breakpoints.js +24 -0
  39. package/lib/commonjs/styles/breakpoints.js.map +1 -0
  40. package/lib/commonjs/styles/index.js +7 -0
  41. package/lib/commonjs/styles/index.js.map +1 -1
  42. package/lib/commonjs/subtle-hover/SubtleHover.js +69 -0
  43. package/lib/commonjs/subtle-hover/SubtleHover.js.map +1 -0
  44. package/lib/commonjs/subtle-hover/index.js +13 -0
  45. package/lib/commonjs/subtle-hover/index.js.map +1 -0
  46. package/lib/commonjs/theme/build-theme.js +2 -0
  47. package/lib/commonjs/theme/build-theme.js.map +1 -1
  48. package/lib/commonjs/theme/gradients.js +39 -0
  49. package/lib/commonjs/theme/gradients.js.map +1 -0
  50. package/lib/commonjs/theme/index.js +7 -0
  51. package/lib/commonjs/theme/index.js.map +1 -1
  52. package/lib/module/animated-check/AnimatedCheck.js +157 -0
  53. package/lib/module/animated-check/AnimatedCheck.js.map +1 -0
  54. package/lib/module/animated-check/index.js +4 -0
  55. package/lib/module/animated-check/index.js.map +1 -0
  56. package/lib/module/dialog/placement.js +9 -7
  57. package/lib/module/dialog/placement.js.map +1 -1
  58. package/lib/module/fill/index.js.map +1 -1
  59. package/lib/module/hooks/index.js +2 -0
  60. package/lib/module/hooks/index.js.map +1 -1
  61. package/lib/module/hooks/useGutters.js +103 -0
  62. package/lib/module/hooks/useGutters.js.map +1 -0
  63. package/lib/module/hooks/useHaptics.js +65 -0
  64. package/lib/module/hooks/useHaptics.js.map +1 -0
  65. package/lib/module/hooks/useInteractionState.js +10 -3
  66. package/lib/module/hooks/useInteractionState.js.map +1 -1
  67. package/lib/module/index.js +10 -1
  68. package/lib/module/index.js.map +1 -1
  69. package/lib/module/index.web.js +10 -1
  70. package/lib/module/index.web.js.map +1 -1
  71. package/lib/module/media-inset-border/MediaInsetBorder.js +47 -0
  72. package/lib/module/media-inset-border/MediaInsetBorder.js.map +1 -0
  73. package/lib/module/media-inset-border/index.js +4 -0
  74. package/lib/module/media-inset-border/index.js.map +1 -0
  75. package/lib/module/motion/ScreenTransition.js +40 -0
  76. package/lib/module/motion/ScreenTransition.js.map +1 -0
  77. package/lib/module/motion/index.js +5 -0
  78. package/lib/module/motion/index.js.map +1 -0
  79. package/lib/module/motion/motion.js +87 -0
  80. package/lib/module/motion/motion.js.map +1 -0
  81. package/lib/module/pressable-scale/PressableScale.js +72 -0
  82. package/lib/module/pressable-scale/PressableScale.js.map +1 -0
  83. package/lib/module/pressable-scale/index.js +4 -0
  84. package/lib/module/pressable-scale/index.js.map +1 -0
  85. package/lib/module/pressable-with-hover/PressableWithHover.js +31 -0
  86. package/lib/module/pressable-with-hover/PressableWithHover.js.map +1 -0
  87. package/lib/module/pressable-with-hover/index.js +4 -0
  88. package/lib/module/pressable-with-hover/index.js.map +1 -0
  89. package/lib/module/styles/breakpoints.js +20 -0
  90. package/lib/module/styles/breakpoints.js.map +1 -0
  91. package/lib/module/styles/index.js +1 -0
  92. package/lib/module/styles/index.js.map +1 -1
  93. package/lib/module/subtle-hover/SubtleHover.js +66 -0
  94. package/lib/module/subtle-hover/SubtleHover.js.map +1 -0
  95. package/lib/module/subtle-hover/index.js +4 -0
  96. package/lib/module/subtle-hover/index.js.map +1 -0
  97. package/lib/module/theme/build-theme.js +2 -0
  98. package/lib/module/theme/build-theme.js.map +1 -1
  99. package/lib/module/theme/gradients.js +35 -0
  100. package/lib/module/theme/gradients.js.map +1 -0
  101. package/lib/module/theme/index.js +1 -0
  102. package/lib/module/theme/index.js.map +1 -1
  103. package/lib/typescript/commonjs/animated-check/AnimatedCheck.d.ts +18 -0
  104. package/lib/typescript/commonjs/animated-check/AnimatedCheck.d.ts.map +1 -0
  105. package/lib/typescript/commonjs/animated-check/index.d.ts +3 -0
  106. package/lib/typescript/commonjs/animated-check/index.d.ts.map +1 -0
  107. package/lib/typescript/commonjs/dialog/placement.d.ts +8 -7
  108. package/lib/typescript/commonjs/dialog/placement.d.ts.map +1 -1
  109. package/lib/typescript/commonjs/fill/index.d.ts +2 -2
  110. package/lib/typescript/commonjs/fill/index.d.ts.map +1 -1
  111. package/lib/typescript/commonjs/hooks/index.d.ts +4 -0
  112. package/lib/typescript/commonjs/hooks/index.d.ts.map +1 -1
  113. package/lib/typescript/commonjs/hooks/useGutters.d.ts +32 -0
  114. package/lib/typescript/commonjs/hooks/useGutters.d.ts.map +1 -0
  115. package/lib/typescript/commonjs/hooks/useHaptics.d.ts +28 -0
  116. package/lib/typescript/commonjs/hooks/useHaptics.d.ts.map +1 -0
  117. package/lib/typescript/commonjs/hooks/useInteractionState.d.ts +6 -0
  118. package/lib/typescript/commonjs/hooks/useInteractionState.d.ts.map +1 -1
  119. package/lib/typescript/commonjs/index.d.ts +16 -0
  120. package/lib/typescript/commonjs/index.d.ts.map +1 -1
  121. package/lib/typescript/commonjs/index.web.d.ts +16 -0
  122. package/lib/typescript/commonjs/index.web.d.ts.map +1 -1
  123. package/lib/typescript/commonjs/media-inset-border/MediaInsetBorder.d.ts +26 -0
  124. package/lib/typescript/commonjs/media-inset-border/MediaInsetBorder.d.ts.map +1 -0
  125. package/lib/typescript/commonjs/media-inset-border/index.d.ts +3 -0
  126. package/lib/typescript/commonjs/media-inset-border/index.d.ts.map +1 -0
  127. package/lib/typescript/commonjs/motion/ScreenTransition.d.ts +33 -0
  128. package/lib/typescript/commonjs/motion/ScreenTransition.d.ts.map +1 -0
  129. package/lib/typescript/commonjs/motion/index.d.ts +4 -0
  130. package/lib/typescript/commonjs/motion/index.d.ts.map +1 -0
  131. package/lib/typescript/commonjs/motion/motion.d.ts +24 -0
  132. package/lib/typescript/commonjs/motion/motion.d.ts.map +1 -0
  133. package/lib/typescript/commonjs/pressable-scale/PressableScale.d.ts +21 -0
  134. package/lib/typescript/commonjs/pressable-scale/PressableScale.d.ts.map +1 -0
  135. package/lib/typescript/commonjs/pressable-scale/index.d.ts +3 -0
  136. package/lib/typescript/commonjs/pressable-scale/index.d.ts.map +1 -0
  137. package/lib/typescript/commonjs/pressable-with-hover/PressableWithHover.d.ts +18 -0
  138. package/lib/typescript/commonjs/pressable-with-hover/PressableWithHover.d.ts.map +1 -0
  139. package/lib/typescript/commonjs/pressable-with-hover/index.d.ts +3 -0
  140. package/lib/typescript/commonjs/pressable-with-hover/index.d.ts.map +1 -0
  141. package/lib/typescript/commonjs/styles/breakpoints.d.ts +18 -0
  142. package/lib/typescript/commonjs/styles/breakpoints.d.ts.map +1 -0
  143. package/lib/typescript/commonjs/styles/index.d.ts +2 -0
  144. package/lib/typescript/commonjs/styles/index.d.ts.map +1 -1
  145. package/lib/typescript/commonjs/subtle-hover/SubtleHover.d.ts +32 -0
  146. package/lib/typescript/commonjs/subtle-hover/SubtleHover.d.ts.map +1 -0
  147. package/lib/typescript/commonjs/subtle-hover/index.d.ts +3 -0
  148. package/lib/typescript/commonjs/subtle-hover/index.d.ts.map +1 -0
  149. package/lib/typescript/commonjs/theme/build-theme.d.ts.map +1 -1
  150. package/lib/typescript/commonjs/theme/gradients.d.ts +12 -0
  151. package/lib/typescript/commonjs/theme/gradients.d.ts.map +1 -0
  152. package/lib/typescript/commonjs/theme/index.d.ts +2 -1
  153. package/lib/typescript/commonjs/theme/index.d.ts.map +1 -1
  154. package/lib/typescript/commonjs/theme/types.d.ts +11 -0
  155. package/lib/typescript/commonjs/theme/types.d.ts.map +1 -1
  156. package/lib/typescript/module/animated-check/AnimatedCheck.d.ts +18 -0
  157. package/lib/typescript/module/animated-check/AnimatedCheck.d.ts.map +1 -0
  158. package/lib/typescript/module/animated-check/index.d.ts +3 -0
  159. package/lib/typescript/module/animated-check/index.d.ts.map +1 -0
  160. package/lib/typescript/module/dialog/placement.d.ts +8 -7
  161. package/lib/typescript/module/dialog/placement.d.ts.map +1 -1
  162. package/lib/typescript/module/fill/index.d.ts +2 -2
  163. package/lib/typescript/module/fill/index.d.ts.map +1 -1
  164. package/lib/typescript/module/hooks/index.d.ts +4 -0
  165. package/lib/typescript/module/hooks/index.d.ts.map +1 -1
  166. package/lib/typescript/module/hooks/useGutters.d.ts +32 -0
  167. package/lib/typescript/module/hooks/useGutters.d.ts.map +1 -0
  168. package/lib/typescript/module/hooks/useHaptics.d.ts +28 -0
  169. package/lib/typescript/module/hooks/useHaptics.d.ts.map +1 -0
  170. package/lib/typescript/module/hooks/useInteractionState.d.ts +6 -0
  171. package/lib/typescript/module/hooks/useInteractionState.d.ts.map +1 -1
  172. package/lib/typescript/module/index.d.ts +16 -0
  173. package/lib/typescript/module/index.d.ts.map +1 -1
  174. package/lib/typescript/module/index.web.d.ts +16 -0
  175. package/lib/typescript/module/index.web.d.ts.map +1 -1
  176. package/lib/typescript/module/media-inset-border/MediaInsetBorder.d.ts +26 -0
  177. package/lib/typescript/module/media-inset-border/MediaInsetBorder.d.ts.map +1 -0
  178. package/lib/typescript/module/media-inset-border/index.d.ts +3 -0
  179. package/lib/typescript/module/media-inset-border/index.d.ts.map +1 -0
  180. package/lib/typescript/module/motion/ScreenTransition.d.ts +33 -0
  181. package/lib/typescript/module/motion/ScreenTransition.d.ts.map +1 -0
  182. package/lib/typescript/module/motion/index.d.ts +4 -0
  183. package/lib/typescript/module/motion/index.d.ts.map +1 -0
  184. package/lib/typescript/module/motion/motion.d.ts +24 -0
  185. package/lib/typescript/module/motion/motion.d.ts.map +1 -0
  186. package/lib/typescript/module/pressable-scale/PressableScale.d.ts +21 -0
  187. package/lib/typescript/module/pressable-scale/PressableScale.d.ts.map +1 -0
  188. package/lib/typescript/module/pressable-scale/index.d.ts +3 -0
  189. package/lib/typescript/module/pressable-scale/index.d.ts.map +1 -0
  190. package/lib/typescript/module/pressable-with-hover/PressableWithHover.d.ts +18 -0
  191. package/lib/typescript/module/pressable-with-hover/PressableWithHover.d.ts.map +1 -0
  192. package/lib/typescript/module/pressable-with-hover/index.d.ts +3 -0
  193. package/lib/typescript/module/pressable-with-hover/index.d.ts.map +1 -0
  194. package/lib/typescript/module/styles/breakpoints.d.ts +18 -0
  195. package/lib/typescript/module/styles/breakpoints.d.ts.map +1 -0
  196. package/lib/typescript/module/styles/index.d.ts +2 -0
  197. package/lib/typescript/module/styles/index.d.ts.map +1 -1
  198. package/lib/typescript/module/subtle-hover/SubtleHover.d.ts +32 -0
  199. package/lib/typescript/module/subtle-hover/SubtleHover.d.ts.map +1 -0
  200. package/lib/typescript/module/subtle-hover/index.d.ts +3 -0
  201. package/lib/typescript/module/subtle-hover/index.d.ts.map +1 -0
  202. package/lib/typescript/module/theme/build-theme.d.ts.map +1 -1
  203. package/lib/typescript/module/theme/gradients.d.ts +12 -0
  204. package/lib/typescript/module/theme/gradients.d.ts.map +1 -0
  205. package/lib/typescript/module/theme/index.d.ts +2 -1
  206. package/lib/typescript/module/theme/index.d.ts.map +1 -1
  207. package/lib/typescript/module/theme/types.d.ts +11 -0
  208. package/lib/typescript/module/theme/types.d.ts.map +1 -1
  209. package/package.json +72 -1
  210. package/src/__tests__/AnimatedCheck.test.tsx +31 -0
  211. package/src/__tests__/MediaInsetBorder.test.tsx +36 -0
  212. package/src/__tests__/Motion.test.tsx +58 -0
  213. package/src/__tests__/PressableScale.test.tsx +29 -0
  214. package/src/__tests__/PressableWithHover.test.tsx +48 -0
  215. package/src/__tests__/SubtleHover.test.tsx +42 -0
  216. package/src/__tests__/theme-gradients.test.ts +31 -0
  217. package/src/__tests__/theme.test.ts +3 -0
  218. package/src/__tests__/useGutters.test.ts +58 -0
  219. package/src/__tests__/useHaptics.test.tsx +58 -0
  220. package/src/__tests__/useInteractionState.test.ts +27 -0
  221. package/src/animated-check/AnimatedCheck.stories.tsx +60 -0
  222. package/src/animated-check/AnimatedCheck.tsx +173 -0
  223. package/src/animated-check/index.ts +2 -0
  224. package/src/dialog/placement.ts +10 -7
  225. package/src/fill/index.tsx +2 -2
  226. package/src/hooks/index.ts +4 -0
  227. package/src/hooks/useGutters.ts +99 -0
  228. package/src/hooks/useHaptics.tsx +69 -0
  229. package/src/hooks/useInteractionState.ts +8 -2
  230. package/src/index.ts +20 -0
  231. package/src/index.web.ts +20 -0
  232. package/src/media-inset-border/MediaInsetBorder.stories.tsx +60 -0
  233. package/src/media-inset-border/MediaInsetBorder.tsx +72 -0
  234. package/src/media-inset-border/index.ts +2 -0
  235. package/src/motion/Motion.stories.tsx +99 -0
  236. package/src/motion/ScreenTransition.tsx +71 -0
  237. package/src/motion/index.ts +3 -0
  238. package/src/motion/motion.ts +75 -0
  239. package/src/pressable-scale/PressableScale.stories.tsx +71 -0
  240. package/src/pressable-scale/PressableScale.tsx +103 -0
  241. package/src/pressable-scale/index.ts +2 -0
  242. package/src/pressable-with-hover/PressableWithHover.stories.tsx +43 -0
  243. package/src/pressable-with-hover/PressableWithHover.tsx +43 -0
  244. package/src/pressable-with-hover/index.ts +2 -0
  245. package/src/styles/breakpoints.ts +18 -0
  246. package/src/styles/index.ts +2 -0
  247. package/src/subtle-hover/SubtleHover.stories.tsx +72 -0
  248. package/src/subtle-hover/SubtleHover.tsx +90 -0
  249. package/src/subtle-hover/index.ts +2 -0
  250. package/src/theme/build-theme.ts +2 -0
  251. package/src/theme/gradients.ts +61 -0
  252. package/src/theme/index.ts +2 -1
  253. package/src/theme/types.ts +13 -0
@@ -0,0 +1,93 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.ShrinkAndPop = exports.ScaleAndFadeOut = exports.ScaleAndFadeIn = void 0;
7
+ var _reactNativeReanimated = require("react-native-reanimated");
8
+ /**
9
+ * Reanimated custom layout-animation presets. Each is a worklet builder
10
+ * compatible with an `Animated.View`'s `entering` / `exiting` prop:
11
+ *
12
+ * ```tsx
13
+ * <Animated.View entering={ScaleAndFadeIn} exiting={ScaleAndFadeOut} />
14
+ * ```
15
+ *
16
+ * Ported from Bluesky's custom-animation set. The `'worklet'` directive is
17
+ * preserved through Bloom's build; the consuming app's Metro + reanimated Babel
18
+ * plugin transforms it so the animation runs on the UI thread (same path the
19
+ * existing `bottom-sheet` gesture worklets rely on).
20
+ */
21
+
22
+ /** Entering: fade in while growing from 70% to full size. */
23
+ const ScaleAndFadeIn = () => {
24
+ 'worklet';
25
+
26
+ return {
27
+ animations: {
28
+ opacity: (0, _reactNativeReanimated.withTiming)(1),
29
+ transform: [{
30
+ scale: (0, _reactNativeReanimated.withTiming)(1)
31
+ }]
32
+ },
33
+ initialValues: {
34
+ opacity: 0,
35
+ transform: [{
36
+ scale: 0.7
37
+ }]
38
+ }
39
+ };
40
+ };
41
+
42
+ /** Exiting counterpart to {@link ScaleAndFadeIn}: fade out while shrinking to 70%. */
43
+ exports.ScaleAndFadeIn = ScaleAndFadeIn;
44
+ const ScaleAndFadeOut = () => {
45
+ 'worklet';
46
+
47
+ return {
48
+ animations: {
49
+ opacity: (0, _reactNativeReanimated.withTiming)(0),
50
+ transform: [{
51
+ scale: (0, _reactNativeReanimated.withTiming)(0.7)
52
+ }]
53
+ },
54
+ initialValues: {
55
+ opacity: 1,
56
+ transform: [{
57
+ scale: 1
58
+ }]
59
+ }
60
+ };
61
+ };
62
+
63
+ /**
64
+ * Exiting with a brief "pop": the scale dips to 70%, overshoots to 110%, and the
65
+ * element fades out. Good for confirming a tapped or removed item.
66
+ */
67
+ exports.ScaleAndFadeOut = ScaleAndFadeOut;
68
+ const ShrinkAndPop = () => {
69
+ 'worklet';
70
+
71
+ return {
72
+ animations: {
73
+ opacity: (0, _reactNativeReanimated.withDelay)(125, (0, _reactNativeReanimated.withTiming)(0, {
74
+ duration: 125
75
+ })),
76
+ transform: [{
77
+ scale: (0, _reactNativeReanimated.withSequence)((0, _reactNativeReanimated.withTiming)(0.7, {
78
+ duration: 75
79
+ }), (0, _reactNativeReanimated.withTiming)(1.1, {
80
+ duration: 150
81
+ }))
82
+ }]
83
+ },
84
+ initialValues: {
85
+ opacity: 1,
86
+ transform: [{
87
+ scale: 1
88
+ }]
89
+ }
90
+ };
91
+ };
92
+ exports.ShrinkAndPop = ShrinkAndPop;
93
+ //# sourceMappingURL=motion.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_reactNativeReanimated","require","ScaleAndFadeIn","animations","opacity","withTiming","transform","scale","initialValues","exports","ScaleAndFadeOut","ShrinkAndPop","withDelay","duration","withSequence"],"sourceRoot":"../../../src","sources":["motion/motion.ts"],"mappings":";;;;;;AAAA,IAAAA,sBAAA,GAAAC,OAAA;AAOA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACO,MAAMC,cAAqC,GAAGA,CAAA,KAAM;EACzD,SAAS;;EACT,OAAO;IACLC,UAAU,EAAE;MACVC,OAAO,EAAE,IAAAC,iCAAU,EAAC,CAAC,CAAC;MACtBC,SAAS,EAAE,CAAC;QAAEC,KAAK,EAAE,IAAAF,iCAAU,EAAC,CAAC;MAAE,CAAC;IACtC,CAAC;IACDG,aAAa,EAAE;MACbJ,OAAO,EAAE,CAAC;MACVE,SAAS,EAAE,CAAC;QAAEC,KAAK,EAAE;MAAI,CAAC;IAC5B;EACF,CAAC;AACH,CAAC;;AAED;AAAAE,OAAA,CAAAP,cAAA,GAAAA,cAAA;AACO,MAAMQ,eAAsC,GAAGA,CAAA,KAAM;EAC1D,SAAS;;EACT,OAAO;IACLP,UAAU,EAAE;MACVC,OAAO,EAAE,IAAAC,iCAAU,EAAC,CAAC,CAAC;MACtBC,SAAS,EAAE,CAAC;QAAEC,KAAK,EAAE,IAAAF,iCAAU,EAAC,GAAG;MAAE,CAAC;IACxC,CAAC;IACDG,aAAa,EAAE;MACbJ,OAAO,EAAE,CAAC;MACVE,SAAS,EAAE,CAAC;QAAEC,KAAK,EAAE;MAAE,CAAC;IAC1B;EACF,CAAC;AACH,CAAC;;AAED;AACA;AACA;AACA;AAHAE,OAAA,CAAAC,eAAA,GAAAA,eAAA;AAIO,MAAMC,YAAmC,GAAGA,CAAA,KAAM;EACvD,SAAS;;EACT,OAAO;IACLR,UAAU,EAAE;MACVC,OAAO,EAAE,IAAAQ,gCAAS,EAAC,GAAG,EAAE,IAAAP,iCAAU,EAAC,CAAC,EAAE;QAAEQ,QAAQ,EAAE;MAAI,CAAC,CAAC,CAAC;MACzDP,SAAS,EAAE,CACT;QACEC,KAAK,EAAE,IAAAO,mCAAY,EACjB,IAAAT,iCAAU,EAAC,GAAG,EAAE;UAAEQ,QAAQ,EAAE;QAAG,CAAC,CAAC,EACjC,IAAAR,iCAAU,EAAC,GAAG,EAAE;UAAEQ,QAAQ,EAAE;QAAI,CAAC,CACnC;MACF,CAAC;IAEL,CAAC;IACDL,aAAa,EAAE;MACbJ,OAAO,EAAE,CAAC;MACVE,SAAS,EAAE,CAAC;QAAEC,KAAK,EAAE;MAAE,CAAC;IAC1B;EACF,CAAC;AACH,CAAC;AAACE,OAAA,CAAAE,YAAA,GAAAA,YAAA","ignoreList":[]}
@@ -0,0 +1,75 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.PressableScale = void 0;
7
+ var _react = _interopRequireWildcard(require("react"));
8
+ var _reactNative = require("react-native");
9
+ var _reactNativeReanimated = _interopRequireWildcard(require("react-native-reanimated"));
10
+ var _jsxRuntime = require("react/jsx-runtime");
11
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
12
+ /** Press-in / press-out timing, in ms. */const DURATION = 100;
13
+
14
+ /**
15
+ * True on touch-capable web browsers (coarse pointer). The press-scale
16
+ * affordance only makes sense where a finger obscures the element — with a
17
+ * mouse it reads as jitter — so it is disabled on non-touch web, matching the
18
+ * native / web-touch behaviour.
19
+ */
20
+ const IS_WEB_TOUCH_DEVICE = _reactNative.Platform.OS === 'web' && typeof window !== 'undefined' && typeof window.matchMedia === 'function' && window.matchMedia('(pointer: coarse)').matches;
21
+ const SCALE_SUPPORTED = _reactNative.Platform.OS !== 'web' || IS_WEB_TOUCH_DEVICE;
22
+ /**
23
+ * A drop-in {@link Pressable} whose content springs to a smaller scale on
24
+ * press-in and back on release. The outer pressable stays full size (so the
25
+ * touch target never shrinks) while an inner wrapper scales.
26
+ *
27
+ * Honours the OS "reduce motion" setting and disables the effect on non-touch
28
+ * web pointers.
29
+ */
30
+ const PressableScale = exports.PressableScale = /*#__PURE__*/(0, _react.forwardRef)(function PressableScale({
31
+ targetScale = 0.98,
32
+ style,
33
+ contentContainerStyle,
34
+ children,
35
+ onPressIn,
36
+ onPressOut,
37
+ ...rest
38
+ }, ref) {
39
+ const reducedMotion = (0, _reactNativeReanimated.useReducedMotion)();
40
+ const animate = SCALE_SUPPORTED && !reducedMotion;
41
+ const scale = (0, _reactNativeReanimated.useSharedValue)(1);
42
+ const animatedStyle = (0, _reactNativeReanimated.useAnimatedStyle)(() => ({
43
+ transform: [{
44
+ scale: scale.value
45
+ }]
46
+ }));
47
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Pressable, {
48
+ ref: ref,
49
+ accessibilityRole: "button",
50
+ onPressIn: e => {
51
+ onPressIn?.(e);
52
+ if (!animate) return;
53
+ (0, _reactNativeReanimated.cancelAnimation)(scale);
54
+ scale.value = (0, _reactNativeReanimated.withTiming)(targetScale, {
55
+ duration: DURATION
56
+ });
57
+ },
58
+ onPressOut: e => {
59
+ onPressOut?.(e);
60
+ if (!animate) return;
61
+ (0, _reactNativeReanimated.cancelAnimation)(scale);
62
+ scale.value = (0, _reactNativeReanimated.withTiming)(1, {
63
+ duration: DURATION
64
+ });
65
+ },
66
+ style: style,
67
+ ...rest,
68
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeReanimated.default.View, {
69
+ style: [animate ? animatedStyle : null, contentContainerStyle],
70
+ children: children
71
+ })
72
+ });
73
+ });
74
+ PressableScale.displayName = 'PressableScale';
75
+ //# sourceMappingURL=PressableScale.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactNativeReanimated","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","DURATION","IS_WEB_TOUCH_DEVICE","Platform","OS","window","matchMedia","matches","SCALE_SUPPORTED","PressableScale","exports","forwardRef","targetScale","style","contentContainerStyle","children","onPressIn","onPressOut","rest","ref","reducedMotion","useReducedMotion","animate","scale","useSharedValue","animatedStyle","useAnimatedStyle","transform","value","jsx","Pressable","accessibilityRole","cancelAnimation","withTiming","duration","View","displayName"],"sourceRoot":"../../../src","sources":["pressable-scale/PressableScale.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAQA,IAAAE,sBAAA,GAAAH,uBAAA,CAAAC,OAAA;AAMiC,IAAAG,WAAA,GAAAH,OAAA;AAAA,SAAAD,wBAAAK,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAP,uBAAA,YAAAA,CAAAK,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAEjC,0CACA,MAAMkB,QAAQ,GAAG,GAAG;;AAEpB;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,mBAAmB,GACvBC,qBAAQ,CAACC,EAAE,KAAK,KAAK,IACrB,OAAOC,MAAM,KAAK,WAAW,IAC7B,OAAOA,MAAM,CAACC,UAAU,KAAK,UAAU,IACvCD,MAAM,CAACC,UAAU,CAAC,mBAAmB,CAAC,CAACC,OAAO;AAEhD,MAAMC,eAAe,GAAGL,qBAAQ,CAACC,EAAE,KAAK,KAAK,IAAIF,mBAAmB;AAapE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMO,cAAc,GAAAC,OAAA,CAAAD,cAAA,gBAAG,IAAAE,iBAAU,EACtC,SAASF,cAAcA,CACrB;EACEG,WAAW,GAAG,IAAI;EAClBC,KAAK;EACLC,qBAAqB;EACrBC,QAAQ;EACRC,SAAS;EACTC,UAAU;EACV,GAAGC;AACL,CAAC,EACDC,GAAG,EACH;EACA,MAAMC,aAAa,GAAG,IAAAC,uCAAgB,EAAC,CAAC;EACxC,MAAMC,OAAO,GAAGd,eAAe,IAAI,CAACY,aAAa;EAEjD,MAAMG,KAAK,GAAG,IAAAC,qCAAc,EAAC,CAAC,CAAC;EAE/B,MAAMC,aAAa,GAAG,IAAAC,uCAAgB,EAAC,OAAO;IAC5CC,SAAS,EAAE,CAAC;MAAEJ,KAAK,EAAEA,KAAK,CAACK;IAAM,CAAC;EACpC,CAAC,CAAC,CAAC;EAEH,oBACE,IAAA/C,WAAA,CAAAgD,GAAA,EAAClD,YAAA,CAAAmD,SAAS;IACRX,GAAG,EAAEA,GAAI;IACTY,iBAAiB,EAAC,QAAQ;IAC1Bf,SAAS,EAAGlC,CAAC,IAAK;MAChBkC,SAAS,GAAGlC,CAAC,CAAC;MACd,IAAI,CAACwC,OAAO,EAAE;MACd,IAAAU,sCAAe,EAACT,KAAK,CAAC;MACtBA,KAAK,CAACK,KAAK,GAAG,IAAAK,iCAAU,EAACrB,WAAW,EAAE;QAAEsB,QAAQ,EAAEjC;MAAS,CAAC,CAAC;IAC/D,CAAE;IACFgB,UAAU,EAAGnC,CAAC,IAAK;MACjBmC,UAAU,GAAGnC,CAAC,CAAC;MACf,IAAI,CAACwC,OAAO,EAAE;MACd,IAAAU,sCAAe,EAACT,KAAK,CAAC;MACtBA,KAAK,CAACK,KAAK,GAAG,IAAAK,iCAAU,EAAC,CAAC,EAAE;QAAEC,QAAQ,EAAEjC;MAAS,CAAC,CAAC;IACrD,CAAE;IACFY,KAAK,EAAEA,KAAM;IAAA,GACTK,IAAI;IAAAH,QAAA,eAER,IAAAlC,WAAA,CAAAgD,GAAA,EAACjD,sBAAA,CAAAY,OAAQ,CAAC2C,IAAI;MAACtB,KAAK,EAAE,CAACS,OAAO,GAAGG,aAAa,GAAG,IAAI,EAAEX,qBAAqB,CAAE;MAAAC,QAAA,EAC3EA;IAAQ,CACI;EAAC,CACP,CAAC;AAEhB,CACF,CAAC;AAEDN,cAAc,CAAC2B,WAAW,GAAG,gBAAgB","ignoreList":[]}
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "PressableScale", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _PressableScale.PressableScale;
10
+ }
11
+ });
12
+ var _PressableScale = require("./PressableScale.js");
13
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_PressableScale","require"],"sourceRoot":"../../../src","sources":["pressable-scale/index.ts"],"mappings":";;;;;;;;;;;AAAA,IAAAA,eAAA,GAAAC,OAAA","ignoreList":[]}
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.PressableWithHover = void 0;
7
+ var _react = _interopRequireWildcard(require("react"));
8
+ var _reactNative = require("react-native");
9
+ var _useInteractionState = require("../hooks/useInteractionState.js");
10
+ var _jsxRuntime = require("react/jsx-runtime");
11
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
12
+ /**
13
+ * A {@link Pressable} that merges `hoverStyle` on top of `style` while hovered.
14
+ * Hover is a web-only affordance (native platforms have no pointer hover), so
15
+ * this behaves like a plain `Pressable` on touch devices.
16
+ */
17
+ const PressableWithHover = exports.PressableWithHover = /*#__PURE__*/(0, _react.forwardRef)(function PressableWithHover({
18
+ style,
19
+ hoverStyle,
20
+ ...props
21
+ }, ref) {
22
+ const {
23
+ state: hovered,
24
+ onIn: onHoverIn,
25
+ onOut: onHoverOut
26
+ } = (0, _useInteractionState.useInteractionState)();
27
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Pressable, {
28
+ ...props,
29
+ ref: ref,
30
+ onHoverIn: onHoverIn,
31
+ onHoverOut: onHoverOut,
32
+ style: hovered ? [style, hoverStyle] : style
33
+ });
34
+ });
35
+ PressableWithHover.displayName = 'PressableWithHover';
36
+ //# sourceMappingURL=PressableWithHover.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_useInteractionState","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","PressableWithHover","exports","forwardRef","style","hoverStyle","props","ref","state","hovered","onIn","onHoverIn","onOut","onHoverOut","useInteractionState","jsx","Pressable","displayName"],"sourceRoot":"../../../src","sources":["pressable-with-hover/PressableWithHover.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAQA,IAAAE,oBAAA,GAAAF,OAAA;AAAmE,IAAAG,WAAA,GAAAH,OAAA;AAAA,SAAAD,wBAAAK,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAP,uBAAA,YAAAA,CAAAK,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAYnE;AACA;AACA;AACA;AACA;AACO,MAAMkB,kBAAkB,GAAAC,OAAA,CAAAD,kBAAA,gBAAG,IAAAE,iBAAU,EAC1C,SAASF,kBAAkBA,CAAC;EAAEG,KAAK;EAAEC,UAAU;EAAE,GAAGC;AAAM,CAAC,EAAEC,GAAG,EAAE;EAChE,MAAM;IAAEC,KAAK,EAAEC,OAAO;IAAEC,IAAI,EAAEC,SAAS;IAAEC,KAAK,EAAEC;EAAW,CAAC,GAAG,IAAAC,wCAAmB,EAAC,CAAC;EAEpF,oBACE,IAAAjC,WAAA,CAAAkC,GAAA,EAACpC,YAAA,CAAAqC,SAAS;IAAA,GACJV,KAAK;IACTC,GAAG,EAAEA,GAAI;IACTI,SAAS,EAAEA,SAAU;IACrBE,UAAU,EAAEA,UAAW;IACvBT,KAAK,EAAEK,OAAO,GAAG,CAACL,KAAK,EAAEC,UAAU,CAAC,GAAGD;EAAM,CAC9C,CAAC;AAEN,CACF,CAAC;AAEDH,kBAAkB,CAACgB,WAAW,GAAG,oBAAoB","ignoreList":[]}
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "PressableWithHover", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _PressableWithHover.PressableWithHover;
10
+ }
11
+ });
12
+ var _PressableWithHover = require("./PressableWithHover.js");
13
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_PressableWithHover","require"],"sourceRoot":"../../../src","sources":["pressable-with-hover/index.ts"],"mappings":";;;;;;;;;;;AAAA,IAAAA,mBAAA,GAAAC,OAAA","ignoreList":[]}
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.BREAKPOINTS = void 0;
7
+ /**
8
+ * Bloom's responsive breakpoint min-widths (px), matching the Tailwind /
9
+ * NativeWind defaults used across the design system.
10
+ *
11
+ * This is the SINGLE SOURCE OF TRUTH for breakpoint values. Anything that
12
+ * branches on viewport width — the `<Dialog>` responsive `placement` resolver,
13
+ * the `useGutters` hook — reads from here rather than hardcoding its own
14
+ * numbers, so a change here propagates everywhere.
15
+ */
16
+ const BREAKPOINTS = exports.BREAKPOINTS = {
17
+ sm: 640,
18
+ md: 768,
19
+ lg: 1024,
20
+ xl: 1280
21
+ };
22
+
23
+ /** A named responsive breakpoint tier. */
24
+ //# sourceMappingURL=breakpoints.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["BREAKPOINTS","exports","sm","md","lg","xl"],"sourceRoot":"../../../src","sources":["styles/breakpoints.ts"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMA,WAAW,GAAAC,OAAA,CAAAD,WAAA,GAAG;EACzBE,EAAE,EAAE,GAAG;EACPC,EAAE,EAAE,GAAG;EACPC,EAAE,EAAE,IAAI;EACRC,EAAE,EAAE;AACN,CAAU;;AAEV","ignoreList":[]}
@@ -3,6 +3,12 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
+ Object.defineProperty(exports, "BREAKPOINTS", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _breakpoints.BREAKPOINTS;
10
+ }
11
+ });
6
12
  Object.defineProperty(exports, "SUPPORTS_NATIVE_DRIVER", {
7
13
  enumerable: true,
8
14
  get: function () {
@@ -73,6 +79,7 @@ Object.defineProperty(exports, "zIndex", {
73
79
  var _atoms = require("./atoms.js");
74
80
  var _tokens = _interopRequireWildcard(require("./tokens.js"));
75
81
  exports.tokens = _tokens;
82
+ var _breakpoints = require("./breakpoints.js");
76
83
  var _zIndex = require("./z-index.js");
77
84
  var _platform = require("./platform.js");
78
85
  var _nativeDriver = require("./native-driver.js");
@@ -1 +1 @@
1
- {"version":3,"names":["_atoms","require","_tokens","_interopRequireWildcard","exports","tokens","_zIndex","_platform","_nativeDriver","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor"],"sourceRoot":"../../../src","sources":["styles/index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAAyC,IAAAC,OAAA,GAAAC,uBAAA,CAAAF,OAAA;AAAAG,OAAA,CAAAC,MAAA,GAAAH,OAAA;AAGzC,IAAAI,OAAA,GAAAL,OAAA;AACA,IAAAM,SAAA,GAAAN,OAAA;AACA,IAAAO,aAAA,GAAAP,OAAA;AAAyD,SAAAE,wBAAAM,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAR,uBAAA,YAAAA,CAAAM,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA","ignoreList":[]}
1
+ {"version":3,"names":["_atoms","require","_tokens","_interopRequireWildcard","exports","tokens","_breakpoints","_zIndex","_platform","_nativeDriver","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor"],"sourceRoot":"../../../src","sources":["styles/index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAAyC,IAAAC,OAAA,GAAAC,uBAAA,CAAAF,OAAA;AAAAG,OAAA,CAAAC,MAAA,GAAAH,OAAA;AAGzC,IAAAI,YAAA,GAAAL,OAAA;AAEA,IAAAM,OAAA,GAAAN,OAAA;AACA,IAAAO,SAAA,GAAAP,OAAA;AACA,IAAAQ,aAAA,GAAAR,OAAA;AAAyD,SAAAE,wBAAAO,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAT,uBAAA,YAAAA,CAAAO,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA","ignoreList":[]}
@@ -0,0 +1,69 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.SubtleHover = SubtleHover;
7
+ var _react = _interopRequireDefault(require("react"));
8
+ var _reactNative = require("react-native");
9
+ var _index = require("../theme/index.js");
10
+ var _jsxRuntime = require("react/jsx-runtime");
11
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
12
+ /**
13
+ * True on touch-capable web browsers (coarse pointer). A hover wash only makes
14
+ * sense with a hovering pointer, so it is suppressed on touch web to match
15
+ * native (which has no hover at all).
16
+ */const IS_WEB_TOUCH_DEVICE = _reactNative.Platform.OS === 'web' && typeof window !== 'undefined' && typeof window.matchMedia === 'function' && window.matchMedia('(pointer: coarse)').matches;
17
+
18
+ /**
19
+ * Web-only style that (a) cross-fades the overlay opacity and (b) promotes it to
20
+ * its own GPU layer so Safari doesn't nudge the layout by a subpixel when the
21
+ * overlay composites on hover. Cast because RN's `ViewStyle` has no `willChange`
22
+ * / `transition*` keys; react-native-web forwards them to the DOM node.
23
+ */
24
+ const WEB_TRANSITION = {
25
+ transitionProperty: 'opacity',
26
+ transitionDuration: '0.1s',
27
+ transitionTimingFunction: 'ease',
28
+ willChange: 'opacity'
29
+ };
30
+ /**
31
+ * An absolutely-positioned, non-interactive contrast wash that fades in while
32
+ * its parent is hovered. Ported from Bluesky's `SubtleHover`. Pairs naturally
33
+ * with {@link useInteractionState} — pass its `state` as `hover`.
34
+ *
35
+ * Renders nothing on touch-web (no hovering pointer) and on native unless
36
+ * `native` is set. Color comes from the theme's `contrast50` token so the wash
37
+ * tracks the active preset and light/dark mode.
38
+ */
39
+ function SubtleHover({
40
+ hover,
41
+ opacity,
42
+ style,
43
+ native = false
44
+ }) {
45
+ const theme = (0, _index.useTheme)();
46
+ const isWeb = _reactNative.Platform.OS === 'web';
47
+ if (isWeb ? IS_WEB_TOUCH_DEVICE : !native) {
48
+ return null;
49
+ }
50
+ const targetOpacity = opacity ?? (theme.isDark ? 0.4 : 0.5);
51
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
52
+ style: [styles.overlay, {
53
+ backgroundColor: theme.colors.contrast50,
54
+ opacity: hover ? targetOpacity : 0
55
+ }, isWeb ? WEB_TRANSITION : null, style]
56
+ });
57
+ }
58
+ SubtleHover.displayName = 'SubtleHover';
59
+ const styles = _reactNative.StyleSheet.create({
60
+ overlay: {
61
+ position: 'absolute',
62
+ top: 0,
63
+ left: 0,
64
+ right: 0,
65
+ bottom: 0,
66
+ pointerEvents: 'none'
67
+ }
68
+ });
69
+ //# sourceMappingURL=SubtleHover.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_index","_jsxRuntime","e","__esModule","default","IS_WEB_TOUCH_DEVICE","Platform","OS","window","matchMedia","matches","WEB_TRANSITION","transitionProperty","transitionDuration","transitionTimingFunction","willChange","SubtleHover","hover","opacity","style","native","theme","useTheme","isWeb","targetOpacity","isDark","jsx","View","styles","overlay","backgroundColor","colors","contrast50","displayName","StyleSheet","create","position","top","left","right","bottom","pointerEvents"],"sourceRoot":"../../../src","sources":["subtle-hover/SubtleHover.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAEA,IAAAE,MAAA,GAAAF,OAAA;AAAoC,IAAAG,WAAA,GAAAH,OAAA;AAAA,SAAAD,uBAAAK,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAEpC;AACA;AACA;AACA;AACA,GACA,MAAMG,mBAAmB,GACvBC,qBAAQ,CAACC,EAAE,KAAK,KAAK,IACrB,OAAOC,MAAM,KAAK,WAAW,IAC7B,OAAOA,MAAM,CAACC,UAAU,KAAK,UAAU,IACvCD,MAAM,CAACC,UAAU,CAAC,mBAAmB,CAAC,CAACC,OAAO;;AAEhD;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,cAAc,GAAG;EACrBC,kBAAkB,EAAE,SAAS;EAC7BC,kBAAkB,EAAE,MAAM;EAC1BC,wBAAwB,EAAE,MAAM;EAChCC,UAAU,EAAE;AACd,CAAc;AAoBd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,WAAWA,CAAC;EAAEC,KAAK;EAAEC,OAAO;EAAEC,KAAK;EAAEC,MAAM,GAAG;AAAwB,CAAC,EAAE;EACvF,MAAMC,KAAK,GAAG,IAAAC,eAAQ,EAAC,CAAC;EAExB,MAAMC,KAAK,GAAGjB,qBAAQ,CAACC,EAAE,KAAK,KAAK;EACnC,IAAIgB,KAAK,GAAGlB,mBAAmB,GAAG,CAACe,MAAM,EAAE;IACzC,OAAO,IAAI;EACb;EAEA,MAAMI,aAAa,GAAGN,OAAO,KAAKG,KAAK,CAACI,MAAM,GAAG,GAAG,GAAG,GAAG,CAAC;EAE3D,oBACE,IAAAxB,WAAA,CAAAyB,GAAA,EAAC3B,YAAA,CAAA4B,IAAI;IACHR,KAAK,EAAE,CACLS,MAAM,CAACC,OAAO,EACd;MAAEC,eAAe,EAAET,KAAK,CAACU,MAAM,CAACC,UAAU;MAAEd,OAAO,EAAED,KAAK,GAAGO,aAAa,GAAG;IAAE,CAAC,EAChFD,KAAK,GAAGZ,cAAc,GAAG,IAAI,EAC7BQ,KAAK;EACL,CACH,CAAC;AAEN;AAEAH,WAAW,CAACiB,WAAW,GAAG,aAAa;AAEvC,MAAML,MAAM,GAAGM,uBAAU,CAACC,MAAM,CAAC;EAC/BN,OAAO,EAAE;IACPO,QAAQ,EAAE,UAAU;IACpBC,GAAG,EAAE,CAAC;IACNC,IAAI,EAAE,CAAC;IACPC,KAAK,EAAE,CAAC;IACRC,MAAM,EAAE,CAAC;IACTC,aAAa,EAAE;EACjB;AACF,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "SubtleHover", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _SubtleHover.SubtleHover;
10
+ }
11
+ });
12
+ var _SubtleHover = require("./SubtleHover.js");
13
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_SubtleHover","require"],"sourceRoot":"../../../src","sources":["subtle-hover/index.ts"],"mappings":";;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA","ignoreList":[]}
@@ -9,6 +9,7 @@ var _reactNative = require("react-native");
9
9
  var _colorPresets = require("./color-presets.js");
10
10
  var _adaptiveColors = require("./adaptive-colors.js");
11
11
  var _tokenRegistry = require("./token-registry.js");
12
+ var _gradients = require("./gradients.js");
12
13
  /**
13
14
  * Status colors used across the design system. Independent of the accent
14
15
  * preset so semantic intent stays stable across themes.
@@ -107,6 +108,7 @@ function buildTheme(preset, resolved, isAdaptive = false) {
107
108
  return {
108
109
  mode: resolved,
109
110
  colors,
111
+ gradients: _gradients.THEME_GRADIENTS,
110
112
  isDark: resolved === 'dark',
111
113
  isLight: resolved === 'light'
112
114
  };
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","_colorPresets","_adaptiveColors","_tokenRegistry","STATUS_COLORS","exports","success","error","warning","info","extractHue","triple","first","split","replace","hue","parseInt","Number","isFinite","buildColorsFromPreset","preset","resolved","t","getResolvedTokens","isDark","g","k","hslRgb","h","s","l","hslToSrgb","presetTokens","APP_COLOR_PRESETS","dark","light","pHue","dHue","background","backgroundSecondary","backgroundTertiary","text","textSecondary","textTertiary","border","borderLight","primary","primaryForeground","primaryLight","primaryDark","secondary","tint","icon","iconActive","primarySubtle","primarySubtleForeground","negative","negativeForeground","negativeSubtle","negativeSubtleForeground","contrast50","card","shadow","overlay","buildTheme","isAdaptive","adaptive","Platform","OS","getAdaptiveColors","undefined","colors","mode","isLight"],"sourceRoot":"../../../src","sources":["theme/build-theme.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_reactNative","require","_colorPresets","_adaptiveColors","_tokenRegistry","_gradients","STATUS_COLORS","exports","success","error","warning","info","extractHue","triple","first","split","replace","hue","parseInt","Number","isFinite","buildColorsFromPreset","preset","resolved","t","getResolvedTokens","isDark","g","k","hslRgb","h","s","l","hslToSrgb","presetTokens","APP_COLOR_PRESETS","dark","light","pHue","dHue","background","backgroundSecondary","backgroundTertiary","text","textSecondary","textTertiary","border","borderLight","primary","primaryForeground","primaryLight","primaryDark","secondary","tint","icon","iconActive","primarySubtle","primarySubtleForeground","negative","negativeForeground","negativeSubtle","negativeSubtleForeground","contrast50","card","shadow","overlay","buildTheme","isAdaptive","adaptive","Platform","OS","getAdaptiveColors","undefined","colors","mode","gradients","THEME_GRADIENTS","isLight"],"sourceRoot":"../../../src","sources":["theme/build-theme.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.THEME_GRADIENTS = void 0;
7
+ /**
8
+ * Brand-neutral named linear-gradient palettes shared across the design system —
9
+ * decorative avatar rings, hero surfaces, empty-state art, and similar accents.
10
+ *
11
+ * Each entry lists ordered `[offset, color]` stops where `offset` is a `0–1`
12
+ * position along the gradient axis. These are intentionally theme-agnostic (the
13
+ * same values are exposed in light and dark mode) and not tied to any single
14
+ * app's brand, so components can reference them by a stable, descriptive name.
15
+ */
16
+ const THEME_GRADIENTS = exports.THEME_GRADIENTS = {
17
+ sky: {
18
+ values: [[0, '#0A7AFF'], [1, '#59B9FF']]
19
+ },
20
+ midnight: {
21
+ values: [[0, '#022C5E'], [1, '#4079BC']]
22
+ },
23
+ sunrise: {
24
+ values: [[0, '#4E90AE'], [0.4, '#AEA3AB'], [0.8, '#E6A98F'], [1, '#F3A84C']]
25
+ },
26
+ sunset: {
27
+ values: [[0, '#6772AF'], [0.6, '#B88BB6'], [1, '#FFA6AC']]
28
+ },
29
+ summer: {
30
+ values: [[0, '#FF6A56'], [0.3, '#FF9156'], [1, '#FFDD87']]
31
+ },
32
+ nordic: {
33
+ values: [[0, '#083367'], [1, '#9EE8C1']]
34
+ },
35
+ bonfire: {
36
+ values: [[0, '#203E4E'], [0.4, '#755B62'], [0.8, '#CD7765'], [1, '#EF956E']]
37
+ }
38
+ };
39
+ //# sourceMappingURL=gradients.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["THEME_GRADIENTS","exports","sky","values","midnight","sunrise","sunset","summer","nordic","bonfire"],"sourceRoot":"../../../src","sources":["theme/gradients.ts"],"mappings":";;;;;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMA,eAA+B,GAAAC,OAAA,CAAAD,eAAA,GAAG;EAC7CE,GAAG,EAAE;IACHC,MAAM,EAAE,CACN,CAAC,CAAC,EAAE,SAAS,CAAC,EACd,CAAC,CAAC,EAAE,SAAS,CAAC;EAElB,CAAC;EACDC,QAAQ,EAAE;IACRD,MAAM,EAAE,CACN,CAAC,CAAC,EAAE,SAAS,CAAC,EACd,CAAC,CAAC,EAAE,SAAS,CAAC;EAElB,CAAC;EACDE,OAAO,EAAE;IACPF,MAAM,EAAE,CACN,CAAC,CAAC,EAAE,SAAS,CAAC,EACd,CAAC,GAAG,EAAE,SAAS,CAAC,EAChB,CAAC,GAAG,EAAE,SAAS,CAAC,EAChB,CAAC,CAAC,EAAE,SAAS,CAAC;EAElB,CAAC;EACDG,MAAM,EAAE;IACNH,MAAM,EAAE,CACN,CAAC,CAAC,EAAE,SAAS,CAAC,EACd,CAAC,GAAG,EAAE,SAAS,CAAC,EAChB,CAAC,CAAC,EAAE,SAAS,CAAC;EAElB,CAAC;EACDI,MAAM,EAAE;IACNJ,MAAM,EAAE,CACN,CAAC,CAAC,EAAE,SAAS,CAAC,EACd,CAAC,GAAG,EAAE,SAAS,CAAC,EAChB,CAAC,CAAC,EAAE,SAAS,CAAC;EAElB,CAAC;EACDK,MAAM,EAAE;IACNL,MAAM,EAAE,CACN,CAAC,CAAC,EAAE,SAAS,CAAC,EACd,CAAC,CAAC,EAAE,SAAS,CAAC;EAElB,CAAC;EACDM,OAAO,EAAE;IACPN,MAAM,EAAE,CACN,CAAC,CAAC,EAAE,SAAS,CAAC,EACd,CAAC,GAAG,EAAE,SAAS,CAAC,EAChB,CAAC,GAAG,EAAE,SAAS,CAAC,EAChB,CAAC,CAAC,EAAE,SAAS,CAAC;EAElB;AACF,CAAC","ignoreList":[]}
@@ -45,6 +45,12 @@ Object.defineProperty(exports, "STATUS_COLORS", {
45
45
  return _buildTheme.STATUS_COLORS;
46
46
  }
47
47
  });
48
+ Object.defineProperty(exports, "THEME_GRADIENTS", {
49
+ enumerable: true,
50
+ get: function () {
51
+ return _gradients.THEME_GRADIENTS;
52
+ }
53
+ });
48
54
  Object.defineProperty(exports, "applyDarkClass", {
49
55
  enumerable: true,
50
56
  get: function () {
@@ -126,6 +132,7 @@ Object.defineProperty(exports, "webLocalStorage", {
126
132
  var _BloomThemeProvider = require("./BloomThemeProvider.js");
127
133
  var _colorScope = require("./color-scope");
128
134
  var _buildTheme = require("./build-theme.js");
135
+ var _gradients = require("./gradients.js");
129
136
  var _useTheme = require("./use-theme.js");
130
137
  var _useNavigationTheme = require("./use-navigation-theme.js");
131
138
  var _colorPresets = require("./color-presets.js");
@@ -1 +1 @@
1
- {"version":3,"names":["_BloomThemeProvider","require","_colorScope","_buildTheme","_useTheme","_useNavigationTheme","_colorPresets","_presetVars","_applyDarkClass","_setColorSchemeSafe","_initCssInterop","_persistence"],"sourceRoot":"../../../src","sources":["theme/index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,mBAAA,GAAAC,OAAA;AAKA,IAAAC,WAAA,GAAAD,OAAA;AAEA,IAAAE,WAAA,GAAAF,OAAA;AACA,IAAAG,SAAA,GAAAH,OAAA;AACA,IAAAI,mBAAA,GAAAJ,OAAA;AAIA,IAAAK,aAAA,GAAAL,OAAA;AAOA,IAAAM,WAAA,GAAAN,OAAA;AACA,IAAAO,eAAA,GAAAP,OAAA;AACA,IAAAQ,mBAAA,GAAAR,OAAA;AACA,IAAAS,eAAA,GAAAT,OAAA;AAEA,IAAAU,YAAA,GAAAV,OAAA","ignoreList":[]}
1
+ {"version":3,"names":["_BloomThemeProvider","require","_colorScope","_buildTheme","_gradients","_useTheme","_useNavigationTheme","_colorPresets","_presetVars","_applyDarkClass","_setColorSchemeSafe","_initCssInterop","_persistence"],"sourceRoot":"../../../src","sources":["theme/index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,mBAAA,GAAAC,OAAA;AAKA,IAAAC,WAAA,GAAAD,OAAA;AAEA,IAAAE,WAAA,GAAAF,OAAA;AACA,IAAAG,UAAA,GAAAH,OAAA;AACA,IAAAI,SAAA,GAAAJ,OAAA;AACA,IAAAK,mBAAA,GAAAL,OAAA;AAIA,IAAAM,aAAA,GAAAN,OAAA;AAOA,IAAAO,WAAA,GAAAP,OAAA;AACA,IAAAQ,eAAA,GAAAR,OAAA;AACA,IAAAS,mBAAA,GAAAT,OAAA;AACA,IAAAU,eAAA,GAAAV,OAAA;AAEA,IAAAW,YAAA,GAAAX,OAAA","ignoreList":[]}