@oxy.so/bloom 2.12.3 → 3.0.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 (306) hide show
  1. package/README.md +4 -4
  2. package/docs/button-group.mdx +46 -4
  3. package/docs/composition.mdx +159 -0
  4. package/docs/field.mdx +39 -1
  5. package/docs/glass.mdx +46 -0
  6. package/docs/layout.mdx +72 -4
  7. package/docs/message-bubble.mdx +37 -3
  8. package/docs/message-media.mdx +6 -0
  9. package/docs/migrating-to-3.0.mdx +169 -0
  10. package/docs/page-header.mdx +192 -36
  11. package/lib/commonjs/button/Button.js +2 -0
  12. package/lib/commonjs/button/Button.js.map +1 -1
  13. package/lib/commonjs/button-group/ButtonGroup.js +124 -19
  14. package/lib/commonjs/button-group/ButtonGroup.js.map +1 -1
  15. package/lib/commonjs/control-surface/ControlSurface.js +46 -0
  16. package/lib/commonjs/control-surface/ControlSurface.js.map +1 -0
  17. package/lib/commonjs/control-surface/context.js +84 -0
  18. package/lib/commonjs/control-surface/context.js.map +1 -0
  19. package/lib/commonjs/control-surface/index.js +26 -0
  20. package/lib/commonjs/control-surface/index.js.map +1 -0
  21. package/lib/commonjs/control-surface/types.js +6 -0
  22. package/lib/commonjs/control-surface/types.js.map +1 -0
  23. package/lib/commonjs/field/Field.js +71 -26
  24. package/lib/commonjs/field/Field.js.map +1 -1
  25. package/lib/commonjs/field/context.js +80 -0
  26. package/lib/commonjs/field/context.js.map +1 -0
  27. package/lib/commonjs/field/index.js +7 -0
  28. package/lib/commonjs/field/index.js.map +1 -1
  29. package/lib/commonjs/floating/TriggerSlot.js +32 -0
  30. package/lib/commonjs/floating/TriggerSlot.js.map +1 -1
  31. package/lib/commonjs/glass/GlassIsland.js +107 -0
  32. package/lib/commonjs/glass/GlassIsland.js.map +1 -0
  33. package/lib/commonjs/glass/GlassSurface.js +4 -1
  34. package/lib/commonjs/glass/GlassSurface.js.map +1 -1
  35. package/lib/commonjs/glass/index.js +7 -0
  36. package/lib/commonjs/glass/index.js.map +1 -1
  37. package/lib/commonjs/index.js +564 -517
  38. package/lib/commonjs/index.js.map +1 -1
  39. package/lib/commonjs/index.web.js +564 -517
  40. package/lib/commonjs/index.web.js.map +1 -1
  41. package/lib/commonjs/label/Label.js +4 -1
  42. package/lib/commonjs/label/Label.js.map +1 -1
  43. package/lib/commonjs/layout/bottom-edge.js +3 -42
  44. package/lib/commonjs/layout/bottom-edge.js.map +1 -1
  45. package/lib/commonjs/layout/edge-store.js +65 -0
  46. package/lib/commonjs/layout/edge-store.js.map +1 -0
  47. package/lib/commonjs/layout/index.js +32 -0
  48. package/lib/commonjs/layout/index.js.map +1 -1
  49. package/lib/commonjs/layout/scroll-offset.js +83 -0
  50. package/lib/commonjs/layout/scroll-offset.js.map +1 -0
  51. package/lib/commonjs/layout/top-edge.js +109 -0
  52. package/lib/commonjs/layout/top-edge.js.map +1 -0
  53. package/lib/commonjs/message-bubble/MessageBubble.js +16 -5
  54. package/lib/commonjs/message-bubble/MessageBubble.js.map +1 -1
  55. package/lib/commonjs/page-header/EdgeScrim.js +136 -0
  56. package/lib/commonjs/page-header/EdgeScrim.js.map +1 -0
  57. package/lib/commonjs/page-header/PageHeader.js +236 -61
  58. package/lib/commonjs/page-header/PageHeader.js.map +1 -1
  59. package/lib/commonjs/provider/BloomProvider.js +5 -2
  60. package/lib/commonjs/provider/BloomProvider.js.map +1 -1
  61. package/lib/commonjs/social-button/OxyMark.js +2 -2
  62. package/lib/commonjs/social-button/OxyMark.js.map +1 -1
  63. package/lib/commonjs/social-button/SocialButton.js +2 -2
  64. package/lib/commonjs/social-button/SocialButton.js.map +1 -1
  65. package/lib/commonjs/styles/svg-id.js +29 -0
  66. package/lib/commonjs/styles/svg-id.js.map +1 -0
  67. package/lib/commonjs/text-field/TextField.js +39 -6
  68. package/lib/commonjs/text-field/TextField.js.map +1 -1
  69. package/lib/commonjs/theme/glass-colors.js +81 -1
  70. package/lib/commonjs/theme/glass-colors.js.map +1 -1
  71. package/lib/module/button/Button.js +2 -0
  72. package/lib/module/button/Button.js.map +1 -1
  73. package/lib/module/button-group/ButtonGroup.js +124 -19
  74. package/lib/module/button-group/ButtonGroup.js.map +1 -1
  75. package/lib/module/control-surface/ControlSurface.js +41 -0
  76. package/lib/module/control-surface/ControlSurface.js.map +1 -0
  77. package/lib/module/control-surface/context.js +77 -0
  78. package/lib/module/control-surface/context.js.map +1 -0
  79. package/lib/module/control-surface/index.js +5 -0
  80. package/lib/module/control-surface/index.js.map +1 -0
  81. package/lib/module/control-surface/types.js +4 -0
  82. package/lib/module/control-surface/types.js.map +1 -0
  83. package/lib/module/field/Field.js +72 -27
  84. package/lib/module/field/Field.js.map +1 -1
  85. package/lib/module/field/context.js +74 -0
  86. package/lib/module/field/context.js.map +1 -0
  87. package/lib/module/field/index.js +1 -0
  88. package/lib/module/field/index.js.map +1 -1
  89. package/lib/module/floating/TriggerSlot.js +33 -1
  90. package/lib/module/floating/TriggerSlot.js.map +1 -1
  91. package/lib/module/glass/GlassIsland.js +102 -0
  92. package/lib/module/glass/GlassIsland.js.map +1 -0
  93. package/lib/module/glass/GlassSurface.js +5 -2
  94. package/lib/module/glass/GlassSurface.js.map +1 -1
  95. package/lib/module/glass/index.js +1 -0
  96. package/lib/module/glass/index.js.map +1 -1
  97. package/lib/module/index.js +2 -1
  98. package/lib/module/index.js.map +1 -1
  99. package/lib/module/index.web.js +2 -1
  100. package/lib/module/index.web.js.map +1 -1
  101. package/lib/module/label/Label.js +4 -1
  102. package/lib/module/label/Label.js.map +1 -1
  103. package/lib/module/layout/bottom-edge.js +2 -41
  104. package/lib/module/layout/bottom-edge.js.map +1 -1
  105. package/lib/module/layout/edge-store.js +58 -0
  106. package/lib/module/layout/edge-store.js.map +1 -0
  107. package/lib/module/layout/index.js +8 -3
  108. package/lib/module/layout/index.js.map +1 -1
  109. package/lib/module/layout/scroll-offset.js +77 -0
  110. package/lib/module/layout/scroll-offset.js.map +1 -0
  111. package/lib/module/layout/top-edge.js +102 -0
  112. package/lib/module/layout/top-edge.js.map +1 -0
  113. package/lib/module/message-bubble/MessageBubble.js +16 -5
  114. package/lib/module/message-bubble/MessageBubble.js.map +1 -1
  115. package/lib/module/page-header/EdgeScrim.js +132 -0
  116. package/lib/module/page-header/EdgeScrim.js.map +1 -0
  117. package/lib/module/page-header/PageHeader.js +233 -58
  118. package/lib/module/page-header/PageHeader.js.map +1 -1
  119. package/lib/module/provider/BloomProvider.js +5 -2
  120. package/lib/module/provider/BloomProvider.js.map +1 -1
  121. package/lib/module/social-button/OxyMark.js +1 -1
  122. package/lib/module/social-button/OxyMark.js.map +1 -1
  123. package/lib/module/social-button/SocialButton.js +1 -1
  124. package/lib/module/social-button/SocialButton.js.map +1 -1
  125. package/lib/module/styles/svg-id.js +26 -0
  126. package/lib/module/styles/svg-id.js.map +1 -0
  127. package/lib/module/text-field/TextField.js +39 -6
  128. package/lib/module/text-field/TextField.js.map +1 -1
  129. package/lib/module/theme/glass-colors.js +79 -0
  130. package/lib/module/theme/glass-colors.js.map +1 -1
  131. package/lib/typescript/commonjs/button/Button.d.ts.map +1 -1
  132. package/lib/typescript/commonjs/button-group/ButtonGroup.d.ts.map +1 -1
  133. package/lib/typescript/commonjs/button-group/types.d.ts +61 -5
  134. package/lib/typescript/commonjs/button-group/types.d.ts.map +1 -1
  135. package/lib/typescript/commonjs/control-surface/ControlSurface.d.ts +4 -0
  136. package/lib/typescript/commonjs/control-surface/ControlSurface.d.ts.map +1 -0
  137. package/lib/typescript/commonjs/control-surface/context.d.ts +21 -0
  138. package/lib/typescript/commonjs/control-surface/context.d.ts.map +1 -0
  139. package/lib/typescript/commonjs/control-surface/index.d.ts +4 -0
  140. package/lib/typescript/commonjs/control-surface/index.d.ts.map +1 -0
  141. package/lib/typescript/commonjs/control-surface/types.d.ts +37 -0
  142. package/lib/typescript/commonjs/control-surface/types.d.ts.map +1 -0
  143. package/lib/typescript/commonjs/field/Field.d.ts +1 -1
  144. package/lib/typescript/commonjs/field/Field.d.ts.map +1 -1
  145. package/lib/typescript/commonjs/field/context.d.ts +55 -0
  146. package/lib/typescript/commonjs/field/context.d.ts.map +1 -0
  147. package/lib/typescript/commonjs/field/index.d.ts +2 -0
  148. package/lib/typescript/commonjs/field/index.d.ts.map +1 -1
  149. package/lib/typescript/commonjs/field/types.d.ts +22 -3
  150. package/lib/typescript/commonjs/field/types.d.ts.map +1 -1
  151. package/lib/typescript/commonjs/floating/TriggerSlot.d.ts.map +1 -1
  152. package/lib/typescript/commonjs/glass/GlassIsland.d.ts +4 -0
  153. package/lib/typescript/commonjs/glass/GlassIsland.d.ts.map +1 -0
  154. package/lib/typescript/commonjs/glass/GlassSurface.d.ts.map +1 -1
  155. package/lib/typescript/commonjs/glass/index.d.ts +2 -1
  156. package/lib/typescript/commonjs/glass/index.d.ts.map +1 -1
  157. package/lib/typescript/commonjs/glass/types.d.ts +43 -0
  158. package/lib/typescript/commonjs/glass/types.d.ts.map +1 -1
  159. package/lib/typescript/commonjs/index.d.ts +3 -2
  160. package/lib/typescript/commonjs/index.d.ts.map +1 -1
  161. package/lib/typescript/commonjs/index.web.d.ts +3 -2
  162. package/lib/typescript/commonjs/index.web.d.ts.map +1 -1
  163. package/lib/typescript/commonjs/label/Label.d.ts.map +1 -1
  164. package/lib/typescript/commonjs/label/types.d.ts +7 -1
  165. package/lib/typescript/commonjs/label/types.d.ts.map +1 -1
  166. package/lib/typescript/commonjs/layout/bottom-edge.d.ts.map +1 -1
  167. package/lib/typescript/commonjs/layout/edge-store.d.ts +31 -0
  168. package/lib/typescript/commonjs/layout/edge-store.d.ts.map +1 -0
  169. package/lib/typescript/commonjs/layout/index.d.ts +8 -3
  170. package/lib/typescript/commonjs/layout/index.d.ts.map +1 -1
  171. package/lib/typescript/commonjs/layout/scroll-offset.d.ts +16 -0
  172. package/lib/typescript/commonjs/layout/scroll-offset.d.ts.map +1 -0
  173. package/lib/typescript/commonjs/layout/top-edge.d.ts +77 -0
  174. package/lib/typescript/commonjs/layout/top-edge.d.ts.map +1 -0
  175. package/lib/typescript/commonjs/message-bubble/MessageBubble.d.ts +1 -1
  176. package/lib/typescript/commonjs/message-bubble/MessageBubble.d.ts.map +1 -1
  177. package/lib/typescript/commonjs/message-bubble/index.d.ts +1 -1
  178. package/lib/typescript/commonjs/message-bubble/index.d.ts.map +1 -1
  179. package/lib/typescript/commonjs/message-bubble/types.d.ts +27 -5
  180. package/lib/typescript/commonjs/message-bubble/types.d.ts.map +1 -1
  181. package/lib/typescript/commonjs/page-header/EdgeScrim.d.ts +95 -0
  182. package/lib/typescript/commonjs/page-header/EdgeScrim.d.ts.map +1 -0
  183. package/lib/typescript/commonjs/page-header/PageHeader.d.ts +1 -1
  184. package/lib/typescript/commonjs/page-header/PageHeader.d.ts.map +1 -1
  185. package/lib/typescript/commonjs/page-header/index.d.ts +1 -1
  186. package/lib/typescript/commonjs/page-header/index.d.ts.map +1 -1
  187. package/lib/typescript/commonjs/page-header/types.d.ts +97 -10
  188. package/lib/typescript/commonjs/page-header/types.d.ts.map +1 -1
  189. package/lib/typescript/commonjs/provider/BloomProvider.d.ts.map +1 -1
  190. package/lib/typescript/commonjs/styles/svg-id.d.ts +20 -0
  191. package/lib/typescript/commonjs/styles/svg-id.d.ts.map +1 -0
  192. package/lib/typescript/commonjs/text-field/TextField.d.ts.map +1 -1
  193. package/lib/typescript/commonjs/theme/glass-colors.d.ts +67 -0
  194. package/lib/typescript/commonjs/theme/glass-colors.d.ts.map +1 -1
  195. package/lib/typescript/module/button/Button.d.ts.map +1 -1
  196. package/lib/typescript/module/button-group/ButtonGroup.d.ts.map +1 -1
  197. package/lib/typescript/module/button-group/types.d.ts +61 -5
  198. package/lib/typescript/module/button-group/types.d.ts.map +1 -1
  199. package/lib/typescript/module/control-surface/ControlSurface.d.ts +4 -0
  200. package/lib/typescript/module/control-surface/ControlSurface.d.ts.map +1 -0
  201. package/lib/typescript/module/control-surface/context.d.ts +21 -0
  202. package/lib/typescript/module/control-surface/context.d.ts.map +1 -0
  203. package/lib/typescript/module/control-surface/index.d.ts +4 -0
  204. package/lib/typescript/module/control-surface/index.d.ts.map +1 -0
  205. package/lib/typescript/module/control-surface/types.d.ts +37 -0
  206. package/lib/typescript/module/control-surface/types.d.ts.map +1 -0
  207. package/lib/typescript/module/field/Field.d.ts +1 -1
  208. package/lib/typescript/module/field/Field.d.ts.map +1 -1
  209. package/lib/typescript/module/field/context.d.ts +55 -0
  210. package/lib/typescript/module/field/context.d.ts.map +1 -0
  211. package/lib/typescript/module/field/index.d.ts +2 -0
  212. package/lib/typescript/module/field/index.d.ts.map +1 -1
  213. package/lib/typescript/module/field/types.d.ts +22 -3
  214. package/lib/typescript/module/field/types.d.ts.map +1 -1
  215. package/lib/typescript/module/floating/TriggerSlot.d.ts.map +1 -1
  216. package/lib/typescript/module/glass/GlassIsland.d.ts +4 -0
  217. package/lib/typescript/module/glass/GlassIsland.d.ts.map +1 -0
  218. package/lib/typescript/module/glass/GlassSurface.d.ts.map +1 -1
  219. package/lib/typescript/module/glass/index.d.ts +2 -1
  220. package/lib/typescript/module/glass/index.d.ts.map +1 -1
  221. package/lib/typescript/module/glass/types.d.ts +43 -0
  222. package/lib/typescript/module/glass/types.d.ts.map +1 -1
  223. package/lib/typescript/module/index.d.ts +3 -2
  224. package/lib/typescript/module/index.d.ts.map +1 -1
  225. package/lib/typescript/module/index.web.d.ts +3 -2
  226. package/lib/typescript/module/index.web.d.ts.map +1 -1
  227. package/lib/typescript/module/label/Label.d.ts.map +1 -1
  228. package/lib/typescript/module/label/types.d.ts +7 -1
  229. package/lib/typescript/module/label/types.d.ts.map +1 -1
  230. package/lib/typescript/module/layout/bottom-edge.d.ts.map +1 -1
  231. package/lib/typescript/module/layout/edge-store.d.ts +31 -0
  232. package/lib/typescript/module/layout/edge-store.d.ts.map +1 -0
  233. package/lib/typescript/module/layout/index.d.ts +8 -3
  234. package/lib/typescript/module/layout/index.d.ts.map +1 -1
  235. package/lib/typescript/module/layout/scroll-offset.d.ts +16 -0
  236. package/lib/typescript/module/layout/scroll-offset.d.ts.map +1 -0
  237. package/lib/typescript/module/layout/top-edge.d.ts +77 -0
  238. package/lib/typescript/module/layout/top-edge.d.ts.map +1 -0
  239. package/lib/typescript/module/message-bubble/MessageBubble.d.ts +1 -1
  240. package/lib/typescript/module/message-bubble/MessageBubble.d.ts.map +1 -1
  241. package/lib/typescript/module/message-bubble/index.d.ts +1 -1
  242. package/lib/typescript/module/message-bubble/index.d.ts.map +1 -1
  243. package/lib/typescript/module/message-bubble/types.d.ts +27 -5
  244. package/lib/typescript/module/message-bubble/types.d.ts.map +1 -1
  245. package/lib/typescript/module/page-header/EdgeScrim.d.ts +95 -0
  246. package/lib/typescript/module/page-header/EdgeScrim.d.ts.map +1 -0
  247. package/lib/typescript/module/page-header/PageHeader.d.ts +1 -1
  248. package/lib/typescript/module/page-header/PageHeader.d.ts.map +1 -1
  249. package/lib/typescript/module/page-header/index.d.ts +1 -1
  250. package/lib/typescript/module/page-header/index.d.ts.map +1 -1
  251. package/lib/typescript/module/page-header/types.d.ts +97 -10
  252. package/lib/typescript/module/page-header/types.d.ts.map +1 -1
  253. package/lib/typescript/module/provider/BloomProvider.d.ts.map +1 -1
  254. package/lib/typescript/module/styles/svg-id.d.ts +20 -0
  255. package/lib/typescript/module/styles/svg-id.d.ts.map +1 -0
  256. package/lib/typescript/module/text-field/TextField.d.ts.map +1 -1
  257. package/lib/typescript/module/theme/glass-colors.d.ts +67 -0
  258. package/lib/typescript/module/theme/glass-colors.d.ts.map +1 -1
  259. package/package.json +15 -1
  260. package/src/button/Button.tsx +10 -1
  261. package/src/button-group/ButtonGroup.tsx +146 -19
  262. package/src/button-group/types.ts +68 -5
  263. package/src/control-surface/ControlSurface.tsx +41 -0
  264. package/src/control-surface/context.ts +81 -0
  265. package/src/control-surface/index.ts +4 -0
  266. package/src/control-surface/types.ts +40 -0
  267. package/src/field/Field.tsx +84 -27
  268. package/src/field/context.ts +110 -0
  269. package/src/field/index.ts +3 -0
  270. package/src/field/types.ts +22 -3
  271. package/src/floating/TriggerSlot.tsx +35 -1
  272. package/src/glass/GlassIsland.tsx +109 -0
  273. package/src/glass/GlassSurface.tsx +26 -2
  274. package/src/glass/index.ts +3 -0
  275. package/src/glass/types.ts +45 -0
  276. package/src/index.ts +7 -0
  277. package/src/index.web.ts +7 -0
  278. package/src/label/Label.tsx +3 -1
  279. package/src/label/types.ts +7 -1
  280. package/src/layout/bottom-edge.tsx +3 -56
  281. package/src/layout/edge-store.ts +69 -0
  282. package/src/layout/index.ts +8 -3
  283. package/src/layout/scroll-offset.ts +76 -0
  284. package/src/layout/top-edge.tsx +109 -0
  285. package/src/message-bubble/MessageBubble.tsx +19 -5
  286. package/src/message-bubble/index.ts +1 -0
  287. package/src/message-bubble/types.ts +28 -5
  288. package/src/page-header/EdgeScrim.tsx +118 -0
  289. package/src/page-header/PageHeader.tsx +253 -61
  290. package/src/page-header/index.ts +9 -1
  291. package/src/page-header/types.ts +103 -10
  292. package/src/provider/BloomProvider.tsx +12 -1
  293. package/src/social-button/OxyMark.tsx +1 -1
  294. package/src/social-button/SocialButton.tsx +1 -1
  295. package/src/styles/svg-id.ts +23 -0
  296. package/src/text-field/TextField.tsx +44 -5
  297. package/src/theme/glass-colors.ts +80 -0
  298. package/lib/commonjs/social-button/use-svg-id.js +0 -16
  299. package/lib/commonjs/social-button/use-svg-id.js.map +0 -1
  300. package/lib/module/social-button/use-svg-id.js +0 -13
  301. package/lib/module/social-button/use-svg-id.js.map +0 -1
  302. package/lib/typescript/commonjs/social-button/use-svg-id.d.ts +0 -7
  303. package/lib/typescript/commonjs/social-button/use-svg-id.d.ts.map +0 -1
  304. package/lib/typescript/module/social-button/use-svg-id.d.ts +0 -7
  305. package/lib/typescript/module/social-button/use-svg-id.d.ts.map +0 -1
  306. package/src/social-button/use-svg-id.ts +0 -10
@@ -0,0 +1 @@
1
+ {"version":3,"file":"edge-store.d.ts","sourceRoot":"","sources":["../../../../src/layout/edge-store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,MAAM,WAAW,SAAS;IACxB,SAAS,EAAE,CAAC,QAAQ,EAAE,MAAM,IAAI,KAAK,MAAM,IAAI,CAAC;IAChD;;;;OAIG;IACH,QAAQ,EAAE,MAAM,MAAM,CAAC;IACvB,KAAK,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5C,OAAO,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;CAC/B;AAED,wBAAgB,eAAe,IAAI,SAAS,CAoC3C;AAED;;;GAGG;AACH,eAAO,MAAM,eAAe,kBAAiB,CAAC;AAC9C,eAAO,MAAM,QAAQ,cAAU,CAAC"}
@@ -1,9 +1,14 @@
1
1
  /**
2
- * Window-edge geometry, shared by every floating surface.
2
+ * Window-edge geometry and screen-scope coordination, shared by every floating
3
+ * surface and every piece of scroll-linked chrome.
3
4
  *
4
- * `edge` answers "how far from the edge"; `bottom-edge` answers "what is already
5
- * parked there". A surface that floats at the bottom needs both.
5
+ * `edge` answers "how far from the edge"; `bottom-edge` and `top-edge` answer
6
+ * "what is already parked there"; `scroll-offset` answers "which scroller am I
7
+ * following". A surface that floats at an edge needs the first two; chrome that
8
+ * reacts to scrolling needs the third.
6
9
  */
7
10
  export { EDGE_GAP, windowEdgeGap } from './edge';
8
11
  export { BottomEdgeProvider, useBottomEdgeInset, useClaimBottomEdge } from './bottom-edge';
12
+ export { TopEdgeProvider, useClaimTopEdge, useTopEdgeInset } from './top-edge';
13
+ export { ScrollOffsetProvider, useScrollOffset } from './scroll-offset';
9
14
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/layout/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/layout/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAC3F,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC/E,OAAO,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC"}
@@ -0,0 +1,16 @@
1
+ import type { SharedValue } from 'react-native-reanimated';
2
+ /**
3
+ * Publish this subtree's scroll offset. `value` is a `SharedValue<number>` the
4
+ * scroll owner writes from its own animated handler.
5
+ */
6
+ export declare const ScrollOffsetProvider: import("react").Provider<SharedValue<number> | null>;
7
+ /**
8
+ * The nearest published scroll offset, or `null` when nothing published one.
9
+ *
10
+ * `null` rather than a zero shared value, because the two mean different things
11
+ * to the chrome reading it: a published zero is "the scroller is at the top",
12
+ * and `null` is "no one told me", which is the case where a web header may
13
+ * still fall back to the document's own scroll.
14
+ */
15
+ export declare function useScrollOffset(): SharedValue<number> | null;
16
+ //# sourceMappingURL=scroll-offset.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scroll-offset.d.ts","sourceRoot":"","sources":["../../../../src/layout/scroll-offset.ts"],"names":[],"mappings":"AAsDA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAK3D;;;GAGG;AACH,eAAO,MAAM,oBAAoB,sDAA+B,CAAC;AAEjE;;;;;;;GAOG;AACH,wBAAgB,eAAe,IAAI,WAAW,CAAC,MAAM,CAAC,GAAG,IAAI,CAE5D"}
@@ -0,0 +1,77 @@
1
+ /**
2
+ * The top edge's OCCUPANCY — the mirror of `bottom-edge.tsx`, for chrome that
3
+ * parks at the TOP of a screen.
4
+ *
5
+ * ## Why a floating header needs it and a bar header does not
6
+ *
7
+ * A header that participates in layout answers this question by existing: the
8
+ * content starts where the header ends, because the header is a sibling above
9
+ * it in a column. A header that OVERLAYS content — the floating presentation,
10
+ * where the page scrolls under translucent islands — occupies no layout space
11
+ * at all, and the first item of the content lands underneath it.
12
+ *
13
+ * Somebody has to pad that content, and there are only three candidates. The
14
+ * app can hardcode a number, which is what every fleet header made its
15
+ * consumers do and which goes wrong the moment a subtitle, a safe-area inset or
16
+ * a larger font changes the height. The header can pad the content, which it
17
+ * cannot do — it does not own it, and often is not even its ancestor. Or the
18
+ * header can declare what it occupies and the content can read it. That is this
19
+ * registry, and it is the same object the bottom edge already uses
20
+ * (`edge-store.ts`), so a reader who knows one knows the other.
21
+ *
22
+ * ## The height is MEASURED, not computed
23
+ *
24
+ * `PageHeader` claims what `onLayout` reports, not a constant plus the insets.
25
+ * The two disagree in every case the constant was written to survive — a
26
+ * two-line title under an enlarged font, a subtitle that wraps in a long
27
+ * translation, a notch — and the failure of a computed height is silent: the
28
+ * content starts a few points under the islands and looks like a design
29
+ * decision.
30
+ *
31
+ * One consequence, stated rather than hidden: a claim registers in an EFFECT,
32
+ * so a reader mounted in the same commit sees `0` on its first render and the
33
+ * claimed number on the next. For a scroll container's `paddingTop` that is one
34
+ * frame of content sitting too high, before any scroll has happened.
35
+ *
36
+ * `PageHeader` narrows that frame rather than closing it: it claims its own
37
+ * resting height (the safe-area inset plus the 56pt bar) from the first commit
38
+ * and replaces it with the measured height once `onLayout` reports, so the one
39
+ * bad frame is off by whatever a subtitle or an enlarged font adds rather than
40
+ * by the whole header.
41
+ */
42
+ import { type PropsWithChildren } from 'react';
43
+ /**
44
+ * Wrap the app once — `BloomProvider` already does. A nested provider scopes a
45
+ * subtree to its own claims, which is what a full-screen modal with its own
46
+ * header wants: the content inside it must clear the MODAL's header, not the
47
+ * screen's.
48
+ */
49
+ export declare function TopEdgeProvider({ children }: PropsWithChildren): import("react/jsx-runtime").JSX.Element;
50
+ export declare namespace TopEdgeProvider {
51
+ var displayName: string;
52
+ }
53
+ /**
54
+ * How much of the top edge is already occupied, in px — the padding a scroll
55
+ * container needs so its first item is not born under the chrome.
56
+ *
57
+ * ```tsx
58
+ * <ScrollView contentContainerStyle={{ paddingTop: useTopEdgeInset() }}>
59
+ * ```
60
+ *
61
+ * `0` outside a provider, and `0` on the first render even inside one — a claim
62
+ * registers in an effect. See the module comment for what that costs and how
63
+ * `PageHeader` narrows it.
64
+ */
65
+ export declare function useTopEdgeInset(): number;
66
+ /**
67
+ * Claim `height` px of the top edge for as long as the caller is mounted.
68
+ *
69
+ * Claiming does not move the claimant — it declares the space it already
70
+ * occupies so that everything reading `useTopEdgeInset()` starts below it. Pass
71
+ * the FULL footprint: the chrome's measured height including any safe-area
72
+ * padding it applied itself.
73
+ *
74
+ * A no-op outside a provider, so the chrome stays usable standalone.
75
+ */
76
+ export declare function useClaimTopEdge(height: number): void;
77
+ //# sourceMappingURL=top-edge.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"top-edge.d.ts","sourceRoot":"","sources":["../../../../src/layout/top-edge.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,OAAO,EAOL,KAAK,iBAAiB,EACvB,MAAM,OAAO,CAAC;AAMf;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,EAAE,QAAQ,EAAE,EAAE,iBAAiB,2CAG9D;yBAHe,eAAe;;;AAO/B;;;;;;;;;;;GAWG;AACH,wBAAgB,eAAe,IAAI,MAAM,CAOxC;AAED;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CASpD"}
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import type { MessageBubbleProps } from './types';
3
- declare function MessageBubbleComponent({ direction, position, text, children, media, metaOverlay, tail, senderName, senderColorSeed, senderColor, renderEntity, replyTo, onPressReply, forwardedFrom, editedLabel, time, status, channelViews, authorSignature, reactions, onToggleReaction, onAddReaction, pending, failed, onRetry, selected, highlighted, deleted, onPress, onLongPress, onContextMenu, onDoublePress, onSwipeReply, maxWidth, labels, accessibilityLabel, style, bubbleStyle, textStyle, testID, }: MessageBubbleProps): import("react/jsx-runtime").JSX.Element;
3
+ declare function MessageBubbleComponent({ direction, position, text, children, media, mediaFit, metaOverlay, tail, senderName, senderColorSeed, senderColor, renderEntity, replyTo, onPressReply, forwardedFrom, editedLabel, time, status, channelViews, authorSignature, reactions, onToggleReaction, onAddReaction, pending, failed, onRetry, selected, highlighted, deleted, onPress, onLongPress, onContextMenu, onDoublePress, onSwipeReply, maxWidth, labels, accessibilityLabel, style, bubbleStyle, textStyle, testID, }: MessageBubbleProps): import("react/jsx-runtime").JSX.Element;
4
4
  export declare const MessageBubble: React.MemoExoticComponent<typeof MessageBubbleComponent>;
5
5
  export {};
6
6
  //# sourceMappingURL=MessageBubble.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"MessageBubble.d.ts","sourceRoot":"","sources":["../../../../src/message-bubble/MessageBubble.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA2C,MAAM,OAAO,CAAC;AA4ChE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAgDlD,iBAAS,sBAAsB,CAAC,EAC9B,SAAS,EACT,QAAmB,EACnB,IAAI,EACJ,QAAQ,EACR,KAAK,EACL,WAAW,EACX,IAAY,EACZ,UAAU,EACV,eAAe,EACf,WAAW,EACX,YAAY,EACZ,OAAO,EACP,YAAY,EACZ,aAAa,EACb,WAAW,EACX,IAAI,EACJ,MAAM,EACN,YAAY,EACZ,eAAe,EACf,SAAS,EACT,gBAAgB,EAChB,aAAa,EACb,OAAe,EACf,MAAc,EACd,OAAO,EACP,QAAQ,EACR,WAAmB,EACnB,OAAe,EACf,OAAO,EACP,WAAW,EACX,aAAa,EACb,aAAa,EACb,YAAY,EACZ,QAA4B,EAC5B,MAAM,EACN,kBAAkB,EAClB,KAAK,EACL,WAAW,EACX,SAAS,EACT,MAAM,GACP,EAAE,kBAAkB,2CAuTpB;AAED,eAAO,MAAM,aAAa,0DAA+B,CAAC"}
1
+ {"version":3,"file":"MessageBubble.d.ts","sourceRoot":"","sources":["../../../../src/message-bubble/MessageBubble.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA2C,MAAM,OAAO,CAAC;AA4ChE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAyDlD,iBAAS,sBAAsB,CAAC,EAC9B,SAAS,EACT,QAAmB,EACnB,IAAI,EACJ,QAAQ,EACR,KAAK,EACL,QAAkB,EAClB,WAAW,EACX,IAAY,EACZ,UAAU,EACV,eAAe,EACf,WAAW,EACX,YAAY,EACZ,OAAO,EACP,YAAY,EACZ,aAAa,EACb,WAAW,EACX,IAAI,EACJ,MAAM,EACN,YAAY,EACZ,eAAe,EACf,SAAS,EACT,gBAAgB,EAChB,aAAa,EACb,OAAe,EACf,MAAc,EACd,OAAO,EACP,QAAQ,EACR,WAAmB,EACnB,OAAe,EACf,OAAO,EACP,WAAW,EACX,aAAa,EACb,aAAa,EACb,YAAY,EACZ,QAA4B,EAC5B,MAAM,EACN,kBAAkB,EAClB,KAAK,EACL,WAAW,EACX,SAAS,EACT,MAAM,GACP,EAAE,kBAAkB,2CA2TpB;AAED,eAAO,MAAM,aAAa,0DAA+B,CAAC"}
@@ -8,5 +8,5 @@ export { CallSummaryRow } from './CallSummaryRow';
8
8
  export { TypingBubble } from './TypingBubble';
9
9
  export { BUBBLE_RADIUS, BUBBLE_TAIL_RADIUS, bubblePositions, bubbleRadii, groupMessages, messageEntities, senderNameColor, splitMessageText, } from './shared';
10
10
  export type { BubbleRadii, MessageTextPart } from './shared';
11
- export type { CallOutcome, CallSummaryRowProps, DateSeparatorProps, GroupedMessage, MessageBubbleLabels, MessageBubbleProps, MessageDirection, MessageEntity, MessageEntityType, MessageGroupProps, MessageListEntry, MessageListItem, MessageListProps, MessagePosition, MessageReaction, MessageReplyPreview, SystemMessageProps, TypingBubbleProps, UnreadSeparatorProps, } from './types';
11
+ export type { CallOutcome, CallSummaryRowProps, DateSeparatorProps, GroupedMessage, MessageBubbleLabels, MessageBubbleProps, MessageDirection, MessageEntity, MessageEntityType, MessageGroupProps, MessageListEntry, MessageListItem, MessageListProps, MessageMediaFit, MessagePosition, MessageReaction, MessageReplyPreview, SystemMessageProps, TypingBubbleProps, UnreadSeparatorProps, } from './types';
12
12
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/message-bubble/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EACL,aAAa,EACb,kBAAkB,EAClB,eAAe,EACf,WAAW,EACX,aAAa,EACb,eAAe,EACf,eAAe,EACf,gBAAgB,GACjB,MAAM,UAAU,CAAC;AAClB,YAAY,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC7D,YAAY,EACV,WAAW,EACX,mBAAmB,EACnB,kBAAkB,EAClB,cAAc,EACd,mBAAmB,EACnB,kBAAkB,EAClB,gBAAgB,EAChB,aAAa,EACb,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,mBAAmB,EACnB,kBAAkB,EAClB,iBAAiB,EACjB,oBAAoB,GACrB,MAAM,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/message-bubble/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EACL,aAAa,EACb,kBAAkB,EAClB,eAAe,EACf,WAAW,EACX,aAAa,EACb,eAAe,EACf,eAAe,EACf,gBAAgB,GACjB,MAAM,UAAU,CAAC;AAClB,YAAY,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC7D,YAAY,EACV,WAAW,EACX,mBAAmB,EACnB,kBAAkB,EAClB,cAAc,EACd,mBAAmB,EACnB,kBAAkB,EAClB,gBAAgB,EAChB,aAAa,EACb,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,eAAe,EACf,mBAAmB,EACnB,kBAAkB,EAClB,iBAAiB,EACjB,oBAAoB,GACrB,MAAM,SAAS,CAAC"}
@@ -9,6 +9,20 @@ export type MessageDirection = 'incoming' | 'outgoing';
9
9
  * bubble of a run, the one the tail would hang off.
10
10
  */
11
11
  export type MessagePosition = 'single' | 'first' | 'middle' | 'last';
12
+ /**
13
+ * How the `media` slot is fitted inside the bubble.
14
+ *
15
+ * bleed the bubble's padding is CANCELLED and the block runs to the radius
16
+ * — a photo, a video, an album, a sticker: something with its own
17
+ * edge, which an inset would frame twice
18
+ * inset the block keeps the bubble's padding — a poll, a place, a contact
19
+ * card: typography with no padding of its own, which bled means a
20
+ * question clipped against the top edge and an avatar on the left one
21
+ *
22
+ * It also decides where the meta row lands by default: over a bled block on a
23
+ * translucent pill, under an inset one where it cannot cover a line of text.
24
+ */
25
+ export type MessageMediaFit = 'bleed' | 'inset';
12
26
  /** A text span the bubble hands back to the caller to render. */
13
27
  export type MessageEntityType = 'link' | 'mention' | 'hashtag';
14
28
  export interface MessageEntity {
@@ -66,15 +80,23 @@ export interface MessageBubbleProps {
66
80
  /** Arbitrary bubble content, in place of `text`. */
67
81
  children?: ReactNode;
68
82
  /**
69
- * The rich-media slot — an image, a voice note, a file row. It is rendered
70
- * ABOVE the text, edge to edge inside the bubble's radius; the bubble adds no
71
- * padding around it.
83
+ * The rich-media slot — an image, a voice note, a file row, a poll. It is
84
+ * rendered ABOVE the text; `mediaFit` decides whether it bleeds to the
85
+ * bubble's radius or keeps its padding.
72
86
  */
73
87
  media?: ReactNode;
88
+ /**
89
+ * How `media` is fitted. Default `'bleed'` — today's photo. Pass `'inset'`
90
+ * for a block that draws no padding of its own (`PollMessage`,
91
+ * `LocationMessage`, `ContactMessage`). See {@link MessageMediaFit}.
92
+ */
93
+ mediaFit?: MessageMediaFit;
74
94
  /**
75
95
  * Floats the meta row over the media on a translucent pill instead of
76
- * tucking it after the text. Defaults to true when there is `media` and no
77
- * text or children.
96
+ * tucking it after the text. Defaults to true on a BLED media-only bubble,
97
+ * and false on an inset one — an inset block's last line is text, and a pill
98
+ * over "0 votes" or over an address is the same defect twice. Set it either
99
+ * way to override.
78
100
  */
79
101
  metaOverlay?: boolean;
80
102
  /** Draws the notch on the small corner. Off by default. */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/message-bubble/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/message-bubble/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,95 @@
1
+ import React from 'react';
2
+ /**
3
+ * The floating header's EDGE EFFECT: the page colour at the top, fading to
4
+ * nothing below the islands.
5
+ *
6
+ * ── WHY IT IS A GRADIENT AND NOT A BLUR ─────────────────────────────────────
7
+ *
8
+ * It is the thing that lets a title sit on a photograph and still be read, and
9
+ * it has exactly one job: no horizontal line anywhere. A translucent rectangle
10
+ * — even a blurred one — ends at its own bottom edge, and that edge is a line
11
+ * across the screen whether or not it is drawn. Apple's scroll edge effect is
12
+ * described the same way: it protects legibility at the edge and must not read
13
+ * as a slab over the content.
14
+ *
15
+ * It is NOT a blur of varying intensity, and saying so matters because the two
16
+ * are easy to conflate and only one of them is here. `backdrop-filter` and
17
+ * `expo-blur` both take a single radius for the whole surface; a falloff would
18
+ * need the ten stacked layers `progressive-blur` uses, which is a real cost for
19
+ * a strip this size. This is an opacity ramp of one flat colour, and that is
20
+ * all it claims to be.
21
+ *
22
+ * ── THE STOPS ───────────────────────────────────────────────────────────────
23
+ *
24
+ * Four of them, shaped as an ease-out rather than a straight line. A LINEAR
25
+ * ramp of opacity is perceptually not linear: it holds too much colour through
26
+ * the middle and then falls off visibly in the last fifth, which puts a soft
27
+ * but findable band across the content. Weighting the fall earlier spends the
28
+ * gradient's height where the eye is looking — the region behind the title —
29
+ * and arrives at zero gently.
30
+ *
31
+ * `TAIL_RATIO` extends the ramp BELOW the header's own box. The header is as
32
+ * tall as its islands plus its padding; the fade needs room after that, or it
33
+ * finishes at the same place the layout does, which is the line again.
34
+ *
35
+ * ── `stopOpacity`, NOT AN `rgba()` STOP ─────────────────────────────────────
36
+ *
37
+ * `react-native-svg` parses `stopColor` for its RGB and DISCARDS the alpha
38
+ * channel, so an `rgba(…, 0.4)` stop renders at FULL strength on native and
39
+ * correctly on web. That is the exact defect documented on `GLASS_SHEEN` in
40
+ * `theme/glass-colors.ts`, where it painted an Android pane as an achromatic
41
+ * white-to-black wipe while every gate stayed green. The colour and the opacity
42
+ * travel here in separate props for the same reason.
43
+ *
44
+ * ── `width="100%"` IS NOT REDUNDANT ─────────────────────────────────────────
45
+ *
46
+ * An `<svg>` is a REPLACED element. With `width: auto` its used width is its
47
+ * INTRINSIC width, and an SVG with no intrinsic size falls back to CSS's
48
+ * default 300 x 150 — so `position: absolute; left: 0; right: 0` does NOT
49
+ * stretch it: `right` is over-constrained and dropped. Measured in Chrome
50
+ * before this prop existed: a 760px-wide header painted a 300 x 150 block of
51
+ * scrim with a hard vertical edge down the middle of the screen, over content
52
+ * that was otherwise untouched.
53
+ *
54
+ * Native is unaffected — react-native-svg lays its host view out with flexbox
55
+ * there — which is exactly why the omission survives review: it is correct on
56
+ * the platform most of this library is tested on. Gate:
57
+ * `src/__tests__/svg-absolute-fill-size.test.ts`.
58
+ *
59
+ * ── THE GRADIENT ID ─────────────────────────────────────────────────────────
60
+ *
61
+ * From `useSvgIdPrefix`, which is `useId` with React's punctuation stripped.
62
+ * Two headers on one page (a split view) must not resolve each other's
63
+ * `url(#…)`, and a module-scope counter — which is what `GlassSurface` uses,
64
+ * and which is right for a native-only surface — increments in a different
65
+ * order on the server than during hydration, so an SSR'd page would reference a
66
+ * gradient that is not there.
67
+ */
68
+ /** How far past the header's own height the fade continues, as a ratio of it. */
69
+ export declare const SCRIM_TAIL_RATIO = 0.55;
70
+ /**
71
+ * Offset down the ramp -> how much of the page colour survives there.
72
+ *
73
+ * Read as: solid behind the title, nine tenths gone by three quarters of the
74
+ * way down, nothing at the bottom.
75
+ */
76
+ export declare const SCRIM_STOPS: readonly [{
77
+ readonly offset: 0;
78
+ readonly opacity: 1;
79
+ }, {
80
+ readonly offset: 0.42;
81
+ readonly opacity: 0.86;
82
+ }, {
83
+ readonly offset: 0.72;
84
+ readonly opacity: 0.38;
85
+ }, {
86
+ readonly offset: 1;
87
+ readonly opacity: 0;
88
+ }];
89
+ export interface EdgeScrimProps {
90
+ /** The page colour the ramp starts from — opaque, alpha travels separately. */
91
+ color: string;
92
+ testID?: string;
93
+ }
94
+ export declare const EdgeScrim: React.NamedExoticComponent<EdgeScrimProps>;
95
+ //# sourceMappingURL=EdgeScrim.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EdgeScrim.d.ts","sourceRoot":"","sources":["../../../../src/page-header/EdgeScrim.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAe,MAAM,OAAO,CAAC;AAMpC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiEG;AAEH,iFAAiF;AACjF,eAAO,MAAM,gBAAgB,OAAO,CAAC;AAErC;;;;;GAKG;AACH,eAAO,MAAM,WAAW;;;;;;;;;;;;EAKd,CAAC;AAEX,MAAM,WAAW,cAAc;IAC7B,+EAA+E;IAC/E,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAuBD,eAAO,MAAM,SAAS,4CAA2B,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import type { PageHeaderProps } from './types';
3
- declare function PageHeaderComponent({ title, subtitle, titleAlign, headingLevel, onBack, backLabel, leading, actions, border, transparent, scrollY: externalScrollY, scrollThreshold, sticky, safeArea, style, testID, }: PageHeaderProps): import("react/jsx-runtime").JSX.Element;
3
+ declare function PageHeaderComponent({ title, subtitle, titleAlign, headingLevel, titleReveal, presentation, placement, onBack, backLabel, leading, actions, border, transparent, scrim, scrimColor, scrollY: externalScrollY, scrollThreshold, sticky, safeArea, style, testID, }: PageHeaderProps): import("react/jsx-runtime").JSX.Element;
4
4
  export declare const PageHeader: React.MemoExoticComponent<typeof PageHeaderComponent>;
5
5
  export {};
6
6
  //# sourceMappingURL=PageHeader.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PageHeader.d.ts","sourceRoot":"","sources":["../../../../src/page-header/PageHeader.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAyD,MAAM,OAAO,CAAC;AAwB9E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAiC/C,iBAAS,mBAAmB,CAAC,EAC3B,KAAK,EACL,QAAQ,EACR,UAAoB,EACpB,YAAgB,EAChB,MAAM,EACN,SAAkB,EAClB,OAAO,EACP,OAAO,EACP,MAAe,EACf,WAAmB,EACnB,OAAO,EAAE,eAAe,EACxB,eAAmC,EACnC,MAAa,EACb,QAAQ,EACR,KAAK,EACL,MAAM,GACP,EAAE,eAAe,2CAuLjB;AA4DD,eAAO,MAAM,UAAU,uDAA4B,CAAC"}
1
+ {"version":3,"file":"PageHeader.d.ts","sourceRoot":"","sources":["../../../../src/page-header/PageHeader.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAyD,MAAM,OAAO,CAAC;AA6B9E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AA8E/C,iBAAS,mBAAmB,CAAC,EAC3B,KAAK,EACL,QAAQ,EACR,UAAoB,EACpB,YAAgB,EAChB,WAAsB,EACtB,YAAyB,EACzB,SAAoB,EACpB,MAAM,EACN,SAAkB,EAClB,OAAO,EACP,OAAO,EACP,MAAe,EACf,WAAmB,EACnB,KAAc,EACd,UAAU,EACV,OAAO,EAAE,eAAe,EACxB,eAAmC,EACnC,MAAa,EACb,QAAQ,EACR,KAAK,EACL,MAAM,GACP,EAAE,eAAe,2CAqTjB;AAuED,eAAO,MAAM,UAAU,uDAA4B,CAAC"}
@@ -1,3 +1,3 @@
1
1
  export { PageHeader } from './PageHeader';
2
- export type { PageHeaderBorder, PageHeaderProps, PageHeaderTitleAlign } from './types';
2
+ export type { PageHeaderBorder, PageHeaderPlacement, PageHeaderPresentation, PageHeaderProps, PageHeaderScrim, PageHeaderTitleAlign, PageHeaderTitleReveal, } from './types';
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/page-header/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,YAAY,EAAE,gBAAgB,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/page-header/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,YAAY,EACV,gBAAgB,EAChB,mBAAmB,EACnB,sBAAsB,EACtB,eAAe,EACf,eAAe,EACf,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,SAAS,CAAC"}
@@ -3,11 +3,64 @@ import type { StyleProp, ViewStyle } from 'react-native';
3
3
  import type { SharedValue } from 'react-native-reanimated';
4
4
  /** Where the title sits: after the back button, or centred on the bar. */
5
5
  export type PageHeaderTitleAlign = 'start' | 'center';
6
+ /**
7
+ * How the header presents itself.
8
+ *
9
+ * `floating` is the default: no bar at all. The back button sits in its own
10
+ * translucent capsule, related actions share one island, the title floats
11
+ * between them, and the whole thing ends in a soft vertical gradient instead of
12
+ * a horizontal edge. Content passes UNDER it.
13
+ *
14
+ * `bar` is Bloom's original flat header — an opaque full-width strip with a
15
+ * hairline separator and a scroll-linked shadow. It is still the right shape
16
+ * for a dense tool screen, a split-pane sidebar header or anywhere the chrome
17
+ * must not be mistaken for content; it is no longer the default.
18
+ */
19
+ export type PageHeaderPresentation = 'floating' | 'bar';
20
+ /**
21
+ * Who reserves the space the header occupies.
22
+ *
23
+ * `inline` (default): the header is a sibling ABOVE the content, in a column.
24
+ * It occupies layout, so nothing passes under it and nothing needs padding.
25
+ *
26
+ * `overlay`: the header is absolutely positioned over the content, which starts
27
+ * at the top of the container and scrolls under the islands. The header then
28
+ * CLAIMS its measured height on `layout/top-edge`, and the content reads it
29
+ * with `useTopEdgeInset()` so its first item is not born underneath. This is
30
+ * the placement the floating presentation was designed for; the two are
31
+ * separate props because a floating header above a fixed panel is also a real
32
+ * arrangement.
33
+ */
34
+ export type PageHeaderPlacement = 'inline' | 'overlay';
6
35
  /**
7
36
  * The bottom separator: `auto` fades it in once the page has scrolled past
8
37
  * `scrollThreshold`, `always` draws it at rest, `none` never draws it.
38
+ *
39
+ * `presentation="bar"` only. A floating header has no edge to separate.
9
40
  */
10
41
  export type PageHeaderBorder = 'auto' | 'always' | 'none';
42
+ /**
43
+ * The floating header's edge effect: a vertical gradient from the page colour
44
+ * to full transparency, behind the title and the islands.
45
+ *
46
+ * `auto` (default) fades it in over `[0, scrollThreshold]` of the scroll
47
+ * offset, so it appears exactly when content starts passing under it. `always`
48
+ * paints it at rest — for a header that is born over a photograph. `none`
49
+ * removes it, which leaves the islands to carry legibility on their own.
50
+ */
51
+ export type PageHeaderScrim = 'auto' | 'always' | 'none';
52
+ /**
53
+ * When the title is visible.
54
+ *
55
+ * `always` (default) is the ordinary screen header. `onScroll` holds the title
56
+ * back and fades it in with the scrim — the shape a header over a hero photo
57
+ * wants, where the photo already names the screen.
58
+ *
59
+ * It is a prop of its own rather than a side effect of the background, because
60
+ * the two are different questions and conflating them is how every header that
61
+ * turned transparent also lost its title.
62
+ */
63
+ export type PageHeaderTitleReveal = 'always' | 'onScroll';
11
64
  export interface PageHeaderProps {
12
65
  /** A string renders as the heading; a node renders as-is (and owns its own semantics). */
13
66
  title?: ReactNode;
@@ -17,6 +70,12 @@ export interface PageHeaderProps {
17
70
  titleAlign?: PageHeaderTitleAlign;
18
71
  /** The title's heading level. Default 1. */
19
72
  headingLevel?: 1 | 2 | 3 | 4 | 5 | 6;
73
+ /** Default `always`. */
74
+ titleReveal?: PageHeaderTitleReveal;
75
+ /** Default `floating`. */
76
+ presentation?: PageHeaderPresentation;
77
+ /** Default `inline`. */
78
+ placement?: PageHeaderPlacement;
20
79
  /**
21
80
  * Renders the back button and is called when it is pressed. The header is
22
81
  * router-agnostic: pass `router.back`, or your app's safe-back helper.
@@ -26,24 +85,52 @@ export interface PageHeaderProps {
26
85
  backLabel?: string;
27
86
  /** Rendered after the back button, before the title (an avatar, a logo). */
28
87
  leading?: ReactNode;
29
- /** Rendered at the end of the bar, 10 apart — typically Bloom `Button`s. */
88
+ /**
89
+ * Rendered at the end of the bar. In the floating presentation this slot is
90
+ * wrapped in a `ControlSurface` with `material: 'glass'`, so a `ButtonGroup`
91
+ * inside it becomes one island with no prop written on it. Declare the
92
+ * grouping yourself — the header never infers it by reading children.
93
+ */
30
94
  actions?: ReactNode;
31
- /** Default `auto`. */
95
+ /** `presentation="bar"` only. Default `auto`. */
32
96
  border?: PageHeaderBorder;
33
97
  /**
34
- * The bar's background, shadow and title fade in with scroll instead of
35
- * showing at rest — for a header over media. The back button and actions
36
- * stay visible (their own fill reads over any image).
98
+ * `presentation="bar"` only: the bar's background and shadow fade in with
99
+ * scroll instead of showing at rest.
100
+ *
101
+ * It no longer hides the title — that is `titleReveal="onScroll"`, and the
102
+ * two are set independently. A `bar` header that wants the old combined
103
+ * behaviour asks for both.
37
104
  */
38
105
  transparent?: boolean;
106
+ /** `presentation="floating"` only. Default `auto`. */
107
+ scrim?: PageHeaderScrim;
108
+ /**
109
+ * The colour the edge effect fades FROM. Defaults to `theme.colors.background`
110
+ * — the page colour, which is what the content scrolling under the header is
111
+ * disappearing into.
112
+ *
113
+ * Pass it when the screen paints a background the theme does not know about:
114
+ * a tinted section, a brand panel, a dark surface inside a light app. The
115
+ * header cannot read the colour behind it, and a scrim in the theme's
116
+ * background over a page in some other colour is a wash of the wrong hue
117
+ * rather than a fade.
118
+ *
119
+ * It must be OPAQUE. The alpha is the ramp's, and a colour that brings its
120
+ * own would multiply with it — `rgba(0,0,0,0.5)` at the ramp's 0.86 paints
121
+ * 0.43 and reads as a weak, dirty veil rather than the colour you asked for.
122
+ */
123
+ scrimColor?: string;
39
124
  /**
40
- * The scroll offset driving `border="auto"`, `transparent` and the shadow.
41
- * Pass it from a Reanimated scroll handler on native or for any scroll
42
- * container. Omitted on web, the header follows `window.scrollY`; omitted on
43
- * native, the header stays at rest.
125
+ * The scroll offset driving the scrim, the separator and the shadow.
126
+ *
127
+ * Resolution order: this prop, then the nearest `ScrollOffsetProvider`
128
+ * (`@oxy.so/bloom/layout`) — which is how a header inside a Bloom scroll
129
+ * composition gets it with no wiring — then, on web only, `window.scrollY`.
130
+ * On native with none of the three, the header stays at rest.
44
131
  */
45
132
  scrollY?: SharedValue<number>;
46
- /** The offset (px) over which border, background and shadow fade in. Default 20. */
133
+ /** The offset (px) over which the scrim, separator and shadow fade in. Default 20. */
47
134
  scrollThreshold?: number;
48
135
  /** Web only: pin the bar to the top of its scroll container. Default true. */
49
136
  sticky?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/page-header/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAE3D,0EAA0E;AAC1E,MAAM,MAAM,oBAAoB,GAAG,OAAO,GAAG,QAAQ,CAAC;AAEtD;;;GAGG;AACH,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAC;AAE1D,MAAM,WAAW,eAAe;IAC9B,0FAA0F;IAC1F,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,kFAAkF;IAClF,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,uBAAuB;IACvB,UAAU,CAAC,EAAE,oBAAoB,CAAC;IAClC,4CAA4C;IAC5C,YAAY,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAErC;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,yDAAyD;IACzD,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,4EAA4E;IAC5E,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,4EAA4E;IAC5E,OAAO,CAAC,EAAE,SAAS,CAAC;IAEpB,sBAAsB;IACtB,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAC1B;;;;OAIG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC9B,oFAAoF;IACpF,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,8EAA8E;IAC9E,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,gFAAgF;IAChF,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/page-header/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAE3D,0EAA0E;AAC1E,MAAM,MAAM,oBAAoB,GAAG,OAAO,GAAG,QAAQ,CAAC;AAEtD;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,sBAAsB,GAAG,UAAU,GAAG,KAAK,CAAC;AAExD;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,mBAAmB,GAAG,QAAQ,GAAG,SAAS,CAAC;AAEvD;;;;;GAKG;AACH,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAC;AAE1D;;;;;;;;GAQG;AACH,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAC;AAEzD;;;;;;;;;;GAUG;AACH,MAAM,MAAM,qBAAqB,GAAG,QAAQ,GAAG,UAAU,CAAC;AAE1D,MAAM,WAAW,eAAe;IAC9B,0FAA0F;IAC1F,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,kFAAkF;IAClF,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,uBAAuB;IACvB,UAAU,CAAC,EAAE,oBAAoB,CAAC;IAClC,4CAA4C;IAC5C,YAAY,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACrC,wBAAwB;IACxB,WAAW,CAAC,EAAE,qBAAqB,CAAC;IAEpC,0BAA0B;IAC1B,YAAY,CAAC,EAAE,sBAAsB,CAAC;IACtC,wBAAwB;IACxB,SAAS,CAAC,EAAE,mBAAmB,CAAC;IAEhC;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,yDAAyD;IACzD,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,4EAA4E;IAC5E,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,SAAS,CAAC;IAEpB,iDAAiD;IACjD,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAC1B;;;;;;;OAOG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,sDAAsD;IACtD,KAAK,CAAC,EAAE,eAAe,CAAC;IACxB;;;;;;;;;;;;;;OAcG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;;;;;OAOG;IACH,OAAO,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC9B,sFAAsF;IACtF,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,8EAA8E;IAC9E,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,gFAAgF;IAChF,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB"}
@@ -1 +1 @@
1
- {"version":3,"file":"BloomProvider.d.ts","sourceRoot":"","sources":["../../../../src/provider/BloomProvider.tsx"],"names":[],"mappings":"AA2CA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAElD,wBAAgB,aAAa,CAAC,EAC5B,QAAQ,EACR,aAAa,EACb,OAAc,EACd,GAAG,UAAU,EACd,EAAE,kBAAkB,2CAoCpB;yBAzCe,aAAa"}
1
+ {"version":3,"file":"BloomProvider.d.ts","sourceRoot":"","sources":["../../../../src/provider/BloomProvider.tsx"],"names":[],"mappings":"AA4CA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAElD,wBAAgB,aAAa,CAAC,EAC5B,QAAQ,EACR,aAAa,EACb,OAAc,EACd,GAAG,UAAU,EACd,EAAE,kBAAkB,2CA8CpB;yBAnDe,aAAa"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * A DOM-safe id prefix, per component instance.
3
+ *
4
+ * Two SVGs of one shape on a page must not resolve each other's `url(#…)`, and
5
+ * React's `useId` carries characters an SVG id cannot (`:r0:`). Stripping them
6
+ * keeps the id UNIQUE — `useId` is unique per instance before the strip and the
7
+ * strip is injective over React's own alphabet — while staying a legal XML name.
8
+ *
9
+ * It is `useId` rather than a module-scope counter for one reason a counter
10
+ * cannot give: SSR. A counter increments in a different order on the server than
11
+ * during hydration, so the markup React sends and the markup it re-renders
12
+ * reference different gradients and one of them is not there. `useId` is the
13
+ * hook React added for exactly this and is stable across the two passes.
14
+ *
15
+ * Lives in `styles/` rather than beside its first caller because it now has
16
+ * three (`social-button`'s mark and button, `page-header`'s edge gradient) —
17
+ * the second real need is the bar for extracting it, and this cleared it.
18
+ */
19
+ export declare function useSvgIdPrefix(prefix: string): string;
20
+ //# sourceMappingURL=svg-id.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"svg-id.d.ts","sourceRoot":"","sources":["../../../../src/styles/svg-id.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAErD"}
@@ -1 +1 @@
1
- {"version":3,"file":"TextField.d.ts","sourceRoot":"","sources":["../../../../src/text-field/TextField.tsx"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,kBAAkB,EAQxB,MAAM,cAAc,CAAC;AAMtB,OAAO,EAML,KAAK,aAAa,EACnB,MAAM,WAAW,CAAC;AAGnB,OAAO,EAmBL,KAAK,aAAa,EACnB,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EACV,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,cAAc,EACf,MAAM,SAAS,CAAC;AAkCjB;;;;;;;;GAQG;AACH,MAAM,WAAW,0BAA0B;IACzC,IAAI,EAAE,aAAa,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;CACnB;AACD,eAAO,MAAM,qBAAqB,4DAAyD,CAAC;AAiD5F,wBAAgB,SAAS,CAAC,EACxB,QAAQ,EACR,SAAS,EAAE,aAAqB,EAChC,QAAQ,EAAE,YAAoB,EAC9B,IAAI,EAAE,QAAmB,EACzB,MAA0B,EAC1B,YAAY,EACZ,KAAK,GACN,EAAE,cAAc,2CA6EhB;AAsFD,wBAAgB,cAAc,CAAC,EAC7B,KAAK,EACL,WAAW,EACX,KAAK,EACL,YAAY,EACZ,OAAO,EACP,MAAM,EACN,SAAS,EACT,QAAQ,EACR,IAAI,EACJ,QAAQ,EACR,KAAK,EACL,aAAqB,EACrB,GAAG,IAAI,EACR,EAAE,mBAAmB,2CAwJrB;AAmKD;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,EAC7B,QAAQ,EACR,QAAQ,EACR,QAAgB,EAChB,OAAe,EACf,KAAK,GACN,EAAE,mBAAmB,2CA6BrB;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,EAC5B,QAAQ,EACR,SAAiB,EACjB,QAAQ,EACR,KAAK,GACN,EAAE,kBAAkB,2CAkBpB;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,QAAoB,EAAE,EAAE,kBAAkB,2CA4BrF;AAED,wBAAgB,eAAe,CAAC,EAC9B,QAAQ,EACR,KAAK,EACL,iBAAiB,EACjB,KAAK,GACN,EAAE,KAAK,CAAC,iBAAiB,CACxB,aAAa,GAAG;IACd,KAAK,EAAE,MAAM,CAAC;IACd,iBAAiB,CAAC,EAAE,kBAAkB,CAAC,mBAAmB,CAAC,CAAC;CAC7D,CACF,2CAyBA;AAED,wBAAgB,cAAc,CAAC,EAC7B,QAAQ,EACR,KAAK,GACN,EAAE;IACD,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACf,2CAqCA"}
1
+ {"version":3,"file":"TextField.d.ts","sourceRoot":"","sources":["../../../../src/text-field/TextField.tsx"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,kBAAkB,EAQxB,MAAM,cAAc,CAAC;AAOtB,OAAO,EAML,KAAK,aAAa,EACnB,MAAM,WAAW,CAAC;AAGnB,OAAO,EAmBL,KAAK,aAAa,EACnB,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EACV,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,cAAc,EACf,MAAM,SAAS,CAAC;AAkCjB;;;;;;;;GAQG;AACH,MAAM,WAAW,0BAA0B;IACzC,IAAI,EAAE,aAAa,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;CACnB;AACD,eAAO,MAAM,qBAAqB,4DAAyD,CAAC;AAiD5F,wBAAgB,SAAS,CAAC,EACxB,QAAQ,EACR,SAAS,EAAE,aAAqB,EAChC,QAAQ,EAAE,YAAoB,EAC9B,IAAI,EAAE,QAAmB,EACzB,MAA0B,EAC1B,YAAY,EACZ,KAAK,GACN,EAAE,cAAc,2CA6EhB;AAsFD,wBAAgB,cAAc,CAAC,EAC7B,KAAK,EACL,WAAW,EACX,KAAK,EACL,YAAY,EACZ,OAAO,EACP,MAAM,EACN,SAAS,EACT,QAAQ,EACR,IAAI,EACJ,QAAQ,EACR,KAAK,EACL,aAAqB,EACrB,GAAG,IAAI,EACR,EAAE,mBAAmB,2CA8LrB;AAmKD;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,EAC7B,QAAQ,EACR,QAAQ,EACR,QAAgB,EAChB,OAAe,EACf,KAAK,GACN,EAAE,mBAAmB,2CA6BrB;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,EAC5B,QAAQ,EACR,SAAiB,EACjB,QAAQ,EACR,KAAK,GACN,EAAE,kBAAkB,2CAkBpB;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,QAAoB,EAAE,EAAE,kBAAkB,2CA4BrF;AAED,wBAAgB,eAAe,CAAC,EAC9B,QAAQ,EACR,KAAK,EACL,iBAAiB,EACjB,KAAK,GACN,EAAE,KAAK,CAAC,iBAAiB,CACxB,aAAa,GAAG;IACd,KAAK,EAAE,MAAM,CAAC;IACd,iBAAiB,CAAC,EAAE,kBAAkB,CAAC,mBAAmB,CAAC,CAAC;CAC7D,CACF,2CAyBA;AAED,wBAAgB,cAAc,CAAC,EAC7B,QAAQ,EACR,KAAK,GACN,EAAE;IACD,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACf,2CAqCA"}