@oxy.so/bloom 2.12.4 → 3.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (285) 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 +61 -0
  6. package/docs/layout.mdx +72 -4
  7. package/docs/migrating-to-3.0.mdx +169 -0
  8. package/docs/page-header.mdx +237 -36
  9. package/lib/commonjs/button/Button.js +2 -0
  10. package/lib/commonjs/button/Button.js.map +1 -1
  11. package/lib/commonjs/button-group/ButtonGroup.js +124 -19
  12. package/lib/commonjs/button-group/ButtonGroup.js.map +1 -1
  13. package/lib/commonjs/control-surface/ControlSurface.js +46 -0
  14. package/lib/commonjs/control-surface/ControlSurface.js.map +1 -0
  15. package/lib/commonjs/control-surface/context.js +84 -0
  16. package/lib/commonjs/control-surface/context.js.map +1 -0
  17. package/lib/commonjs/control-surface/index.js +26 -0
  18. package/lib/commonjs/control-surface/index.js.map +1 -0
  19. package/lib/commonjs/control-surface/types.js +6 -0
  20. package/lib/commonjs/control-surface/types.js.map +1 -0
  21. package/lib/commonjs/field/Field.js +71 -26
  22. package/lib/commonjs/field/Field.js.map +1 -1
  23. package/lib/commonjs/field/context.js +80 -0
  24. package/lib/commonjs/field/context.js.map +1 -0
  25. package/lib/commonjs/field/index.js +7 -0
  26. package/lib/commonjs/field/index.js.map +1 -1
  27. package/lib/commonjs/floating/TriggerSlot.js +32 -0
  28. package/lib/commonjs/floating/TriggerSlot.js.map +1 -1
  29. package/lib/commonjs/glass/GlassIsland.js +107 -0
  30. package/lib/commonjs/glass/GlassIsland.js.map +1 -0
  31. package/lib/commonjs/glass/GlassSurface.js +4 -1
  32. package/lib/commonjs/glass/GlassSurface.js.map +1 -1
  33. package/lib/commonjs/glass/index.js +7 -0
  34. package/lib/commonjs/glass/index.js.map +1 -1
  35. package/lib/commonjs/index.js +564 -517
  36. package/lib/commonjs/index.js.map +1 -1
  37. package/lib/commonjs/index.web.js +564 -517
  38. package/lib/commonjs/index.web.js.map +1 -1
  39. package/lib/commonjs/label/Label.js +4 -1
  40. package/lib/commonjs/label/Label.js.map +1 -1
  41. package/lib/commonjs/layout/bottom-edge.js +3 -42
  42. package/lib/commonjs/layout/bottom-edge.js.map +1 -1
  43. package/lib/commonjs/layout/edge-store.js +65 -0
  44. package/lib/commonjs/layout/edge-store.js.map +1 -0
  45. package/lib/commonjs/layout/index.js +32 -0
  46. package/lib/commonjs/layout/index.js.map +1 -1
  47. package/lib/commonjs/layout/scroll-offset.js +83 -0
  48. package/lib/commonjs/layout/scroll-offset.js.map +1 -0
  49. package/lib/commonjs/layout/top-edge.js +109 -0
  50. package/lib/commonjs/layout/top-edge.js.map +1 -0
  51. package/lib/commonjs/page-header/EdgeScrim.js +136 -0
  52. package/lib/commonjs/page-header/EdgeScrim.js.map +1 -0
  53. package/lib/commonjs/page-header/PageHeader.js +236 -61
  54. package/lib/commonjs/page-header/PageHeader.js.map +1 -1
  55. package/lib/commonjs/provider/BloomProvider.js +5 -2
  56. package/lib/commonjs/provider/BloomProvider.js.map +1 -1
  57. package/lib/commonjs/social-button/OxyMark.js +2 -2
  58. package/lib/commonjs/social-button/OxyMark.js.map +1 -1
  59. package/lib/commonjs/social-button/SocialButton.js +2 -2
  60. package/lib/commonjs/social-button/SocialButton.js.map +1 -1
  61. package/lib/commonjs/styles/svg-id.js +29 -0
  62. package/lib/commonjs/styles/svg-id.js.map +1 -0
  63. package/lib/commonjs/text-field/TextField.js +39 -6
  64. package/lib/commonjs/text-field/TextField.js.map +1 -1
  65. package/lib/commonjs/theme/glass-colors.js +81 -1
  66. package/lib/commonjs/theme/glass-colors.js.map +1 -1
  67. package/lib/module/button/Button.js +2 -0
  68. package/lib/module/button/Button.js.map +1 -1
  69. package/lib/module/button-group/ButtonGroup.js +124 -19
  70. package/lib/module/button-group/ButtonGroup.js.map +1 -1
  71. package/lib/module/control-surface/ControlSurface.js +41 -0
  72. package/lib/module/control-surface/ControlSurface.js.map +1 -0
  73. package/lib/module/control-surface/context.js +77 -0
  74. package/lib/module/control-surface/context.js.map +1 -0
  75. package/lib/module/control-surface/index.js +5 -0
  76. package/lib/module/control-surface/index.js.map +1 -0
  77. package/lib/module/control-surface/types.js +4 -0
  78. package/lib/module/control-surface/types.js.map +1 -0
  79. package/lib/module/field/Field.js +72 -27
  80. package/lib/module/field/Field.js.map +1 -1
  81. package/lib/module/field/context.js +74 -0
  82. package/lib/module/field/context.js.map +1 -0
  83. package/lib/module/field/index.js +1 -0
  84. package/lib/module/field/index.js.map +1 -1
  85. package/lib/module/floating/TriggerSlot.js +33 -1
  86. package/lib/module/floating/TriggerSlot.js.map +1 -1
  87. package/lib/module/glass/GlassIsland.js +102 -0
  88. package/lib/module/glass/GlassIsland.js.map +1 -0
  89. package/lib/module/glass/GlassSurface.js +5 -2
  90. package/lib/module/glass/GlassSurface.js.map +1 -1
  91. package/lib/module/glass/index.js +1 -0
  92. package/lib/module/glass/index.js.map +1 -1
  93. package/lib/module/index.js +2 -1
  94. package/lib/module/index.js.map +1 -1
  95. package/lib/module/index.web.js +2 -1
  96. package/lib/module/index.web.js.map +1 -1
  97. package/lib/module/label/Label.js +4 -1
  98. package/lib/module/label/Label.js.map +1 -1
  99. package/lib/module/layout/bottom-edge.js +2 -41
  100. package/lib/module/layout/bottom-edge.js.map +1 -1
  101. package/lib/module/layout/edge-store.js +58 -0
  102. package/lib/module/layout/edge-store.js.map +1 -0
  103. package/lib/module/layout/index.js +8 -3
  104. package/lib/module/layout/index.js.map +1 -1
  105. package/lib/module/layout/scroll-offset.js +77 -0
  106. package/lib/module/layout/scroll-offset.js.map +1 -0
  107. package/lib/module/layout/top-edge.js +102 -0
  108. package/lib/module/layout/top-edge.js.map +1 -0
  109. package/lib/module/page-header/EdgeScrim.js +132 -0
  110. package/lib/module/page-header/EdgeScrim.js.map +1 -0
  111. package/lib/module/page-header/PageHeader.js +233 -58
  112. package/lib/module/page-header/PageHeader.js.map +1 -1
  113. package/lib/module/provider/BloomProvider.js +5 -2
  114. package/lib/module/provider/BloomProvider.js.map +1 -1
  115. package/lib/module/social-button/OxyMark.js +1 -1
  116. package/lib/module/social-button/OxyMark.js.map +1 -1
  117. package/lib/module/social-button/SocialButton.js +1 -1
  118. package/lib/module/social-button/SocialButton.js.map +1 -1
  119. package/lib/module/styles/svg-id.js +26 -0
  120. package/lib/module/styles/svg-id.js.map +1 -0
  121. package/lib/module/text-field/TextField.js +39 -6
  122. package/lib/module/text-field/TextField.js.map +1 -1
  123. package/lib/module/theme/glass-colors.js +79 -0
  124. package/lib/module/theme/glass-colors.js.map +1 -1
  125. package/lib/typescript/commonjs/button/Button.d.ts.map +1 -1
  126. package/lib/typescript/commonjs/button-group/ButtonGroup.d.ts.map +1 -1
  127. package/lib/typescript/commonjs/button-group/types.d.ts +61 -5
  128. package/lib/typescript/commonjs/button-group/types.d.ts.map +1 -1
  129. package/lib/typescript/commonjs/control-surface/ControlSurface.d.ts +4 -0
  130. package/lib/typescript/commonjs/control-surface/ControlSurface.d.ts.map +1 -0
  131. package/lib/typescript/commonjs/control-surface/context.d.ts +21 -0
  132. package/lib/typescript/commonjs/control-surface/context.d.ts.map +1 -0
  133. package/lib/typescript/commonjs/control-surface/index.d.ts +4 -0
  134. package/lib/typescript/commonjs/control-surface/index.d.ts.map +1 -0
  135. package/lib/typescript/commonjs/control-surface/types.d.ts +37 -0
  136. package/lib/typescript/commonjs/control-surface/types.d.ts.map +1 -0
  137. package/lib/typescript/commonjs/field/Field.d.ts +1 -1
  138. package/lib/typescript/commonjs/field/Field.d.ts.map +1 -1
  139. package/lib/typescript/commonjs/field/context.d.ts +55 -0
  140. package/lib/typescript/commonjs/field/context.d.ts.map +1 -0
  141. package/lib/typescript/commonjs/field/index.d.ts +2 -0
  142. package/lib/typescript/commonjs/field/index.d.ts.map +1 -1
  143. package/lib/typescript/commonjs/field/types.d.ts +22 -3
  144. package/lib/typescript/commonjs/field/types.d.ts.map +1 -1
  145. package/lib/typescript/commonjs/floating/TriggerSlot.d.ts.map +1 -1
  146. package/lib/typescript/commonjs/glass/GlassIsland.d.ts +4 -0
  147. package/lib/typescript/commonjs/glass/GlassIsland.d.ts.map +1 -0
  148. package/lib/typescript/commonjs/glass/GlassSurface.d.ts.map +1 -1
  149. package/lib/typescript/commonjs/glass/index.d.ts +2 -1
  150. package/lib/typescript/commonjs/glass/index.d.ts.map +1 -1
  151. package/lib/typescript/commonjs/glass/types.d.ts +43 -0
  152. package/lib/typescript/commonjs/glass/types.d.ts.map +1 -1
  153. package/lib/typescript/commonjs/index.d.ts +2 -1
  154. package/lib/typescript/commonjs/index.d.ts.map +1 -1
  155. package/lib/typescript/commonjs/index.web.d.ts +2 -1
  156. package/lib/typescript/commonjs/index.web.d.ts.map +1 -1
  157. package/lib/typescript/commonjs/label/Label.d.ts.map +1 -1
  158. package/lib/typescript/commonjs/label/types.d.ts +7 -1
  159. package/lib/typescript/commonjs/label/types.d.ts.map +1 -1
  160. package/lib/typescript/commonjs/layout/bottom-edge.d.ts.map +1 -1
  161. package/lib/typescript/commonjs/layout/edge-store.d.ts +31 -0
  162. package/lib/typescript/commonjs/layout/edge-store.d.ts.map +1 -0
  163. package/lib/typescript/commonjs/layout/index.d.ts +8 -3
  164. package/lib/typescript/commonjs/layout/index.d.ts.map +1 -1
  165. package/lib/typescript/commonjs/layout/scroll-offset.d.ts +16 -0
  166. package/lib/typescript/commonjs/layout/scroll-offset.d.ts.map +1 -0
  167. package/lib/typescript/commonjs/layout/top-edge.d.ts +77 -0
  168. package/lib/typescript/commonjs/layout/top-edge.d.ts.map +1 -0
  169. package/lib/typescript/commonjs/page-header/EdgeScrim.d.ts +95 -0
  170. package/lib/typescript/commonjs/page-header/EdgeScrim.d.ts.map +1 -0
  171. package/lib/typescript/commonjs/page-header/PageHeader.d.ts +1 -1
  172. package/lib/typescript/commonjs/page-header/PageHeader.d.ts.map +1 -1
  173. package/lib/typescript/commonjs/page-header/index.d.ts +1 -1
  174. package/lib/typescript/commonjs/page-header/index.d.ts.map +1 -1
  175. package/lib/typescript/commonjs/page-header/types.d.ts +97 -10
  176. package/lib/typescript/commonjs/page-header/types.d.ts.map +1 -1
  177. package/lib/typescript/commonjs/provider/BloomProvider.d.ts.map +1 -1
  178. package/lib/typescript/commonjs/styles/svg-id.d.ts +20 -0
  179. package/lib/typescript/commonjs/styles/svg-id.d.ts.map +1 -0
  180. package/lib/typescript/commonjs/text-field/TextField.d.ts.map +1 -1
  181. package/lib/typescript/commonjs/theme/glass-colors.d.ts +67 -0
  182. package/lib/typescript/commonjs/theme/glass-colors.d.ts.map +1 -1
  183. package/lib/typescript/module/button/Button.d.ts.map +1 -1
  184. package/lib/typescript/module/button-group/ButtonGroup.d.ts.map +1 -1
  185. package/lib/typescript/module/button-group/types.d.ts +61 -5
  186. package/lib/typescript/module/button-group/types.d.ts.map +1 -1
  187. package/lib/typescript/module/control-surface/ControlSurface.d.ts +4 -0
  188. package/lib/typescript/module/control-surface/ControlSurface.d.ts.map +1 -0
  189. package/lib/typescript/module/control-surface/context.d.ts +21 -0
  190. package/lib/typescript/module/control-surface/context.d.ts.map +1 -0
  191. package/lib/typescript/module/control-surface/index.d.ts +4 -0
  192. package/lib/typescript/module/control-surface/index.d.ts.map +1 -0
  193. package/lib/typescript/module/control-surface/types.d.ts +37 -0
  194. package/lib/typescript/module/control-surface/types.d.ts.map +1 -0
  195. package/lib/typescript/module/field/Field.d.ts +1 -1
  196. package/lib/typescript/module/field/Field.d.ts.map +1 -1
  197. package/lib/typescript/module/field/context.d.ts +55 -0
  198. package/lib/typescript/module/field/context.d.ts.map +1 -0
  199. package/lib/typescript/module/field/index.d.ts +2 -0
  200. package/lib/typescript/module/field/index.d.ts.map +1 -1
  201. package/lib/typescript/module/field/types.d.ts +22 -3
  202. package/lib/typescript/module/field/types.d.ts.map +1 -1
  203. package/lib/typescript/module/floating/TriggerSlot.d.ts.map +1 -1
  204. package/lib/typescript/module/glass/GlassIsland.d.ts +4 -0
  205. package/lib/typescript/module/glass/GlassIsland.d.ts.map +1 -0
  206. package/lib/typescript/module/glass/GlassSurface.d.ts.map +1 -1
  207. package/lib/typescript/module/glass/index.d.ts +2 -1
  208. package/lib/typescript/module/glass/index.d.ts.map +1 -1
  209. package/lib/typescript/module/glass/types.d.ts +43 -0
  210. package/lib/typescript/module/glass/types.d.ts.map +1 -1
  211. package/lib/typescript/module/index.d.ts +2 -1
  212. package/lib/typescript/module/index.d.ts.map +1 -1
  213. package/lib/typescript/module/index.web.d.ts +2 -1
  214. package/lib/typescript/module/index.web.d.ts.map +1 -1
  215. package/lib/typescript/module/label/Label.d.ts.map +1 -1
  216. package/lib/typescript/module/label/types.d.ts +7 -1
  217. package/lib/typescript/module/label/types.d.ts.map +1 -1
  218. package/lib/typescript/module/layout/bottom-edge.d.ts.map +1 -1
  219. package/lib/typescript/module/layout/edge-store.d.ts +31 -0
  220. package/lib/typescript/module/layout/edge-store.d.ts.map +1 -0
  221. package/lib/typescript/module/layout/index.d.ts +8 -3
  222. package/lib/typescript/module/layout/index.d.ts.map +1 -1
  223. package/lib/typescript/module/layout/scroll-offset.d.ts +16 -0
  224. package/lib/typescript/module/layout/scroll-offset.d.ts.map +1 -0
  225. package/lib/typescript/module/layout/top-edge.d.ts +77 -0
  226. package/lib/typescript/module/layout/top-edge.d.ts.map +1 -0
  227. package/lib/typescript/module/page-header/EdgeScrim.d.ts +95 -0
  228. package/lib/typescript/module/page-header/EdgeScrim.d.ts.map +1 -0
  229. package/lib/typescript/module/page-header/PageHeader.d.ts +1 -1
  230. package/lib/typescript/module/page-header/PageHeader.d.ts.map +1 -1
  231. package/lib/typescript/module/page-header/index.d.ts +1 -1
  232. package/lib/typescript/module/page-header/index.d.ts.map +1 -1
  233. package/lib/typescript/module/page-header/types.d.ts +97 -10
  234. package/lib/typescript/module/page-header/types.d.ts.map +1 -1
  235. package/lib/typescript/module/provider/BloomProvider.d.ts.map +1 -1
  236. package/lib/typescript/module/styles/svg-id.d.ts +20 -0
  237. package/lib/typescript/module/styles/svg-id.d.ts.map +1 -0
  238. package/lib/typescript/module/text-field/TextField.d.ts.map +1 -1
  239. package/lib/typescript/module/theme/glass-colors.d.ts +67 -0
  240. package/lib/typescript/module/theme/glass-colors.d.ts.map +1 -1
  241. package/package.json +15 -1
  242. package/src/button/Button.tsx +10 -1
  243. package/src/button-group/ButtonGroup.tsx +146 -19
  244. package/src/button-group/types.ts +68 -5
  245. package/src/control-surface/ControlSurface.tsx +41 -0
  246. package/src/control-surface/context.ts +81 -0
  247. package/src/control-surface/index.ts +4 -0
  248. package/src/control-surface/types.ts +40 -0
  249. package/src/field/Field.tsx +84 -27
  250. package/src/field/context.ts +110 -0
  251. package/src/field/index.ts +3 -0
  252. package/src/field/types.ts +22 -3
  253. package/src/floating/TriggerSlot.tsx +35 -1
  254. package/src/glass/GlassIsland.tsx +109 -0
  255. package/src/glass/GlassSurface.tsx +26 -2
  256. package/src/glass/index.ts +3 -0
  257. package/src/glass/types.ts +45 -0
  258. package/src/index.ts +6 -0
  259. package/src/index.web.ts +6 -0
  260. package/src/label/Label.tsx +3 -1
  261. package/src/label/types.ts +7 -1
  262. package/src/layout/bottom-edge.tsx +3 -56
  263. package/src/layout/edge-store.ts +69 -0
  264. package/src/layout/index.ts +8 -3
  265. package/src/layout/scroll-offset.ts +76 -0
  266. package/src/layout/top-edge.tsx +109 -0
  267. package/src/page-header/EdgeScrim.tsx +118 -0
  268. package/src/page-header/PageHeader.tsx +253 -61
  269. package/src/page-header/index.ts +9 -1
  270. package/src/page-header/types.ts +103 -10
  271. package/src/provider/BloomProvider.tsx +12 -1
  272. package/src/social-button/OxyMark.tsx +1 -1
  273. package/src/social-button/SocialButton.tsx +1 -1
  274. package/src/styles/svg-id.ts +23 -0
  275. package/src/text-field/TextField.tsx +44 -5
  276. package/src/theme/glass-colors.ts +80 -0
  277. package/lib/commonjs/social-button/use-svg-id.js +0 -16
  278. package/lib/commonjs/social-button/use-svg-id.js.map +0 -1
  279. package/lib/module/social-button/use-svg-id.js +0 -13
  280. package/lib/module/social-button/use-svg-id.js.map +0 -1
  281. package/lib/typescript/commonjs/social-button/use-svg-id.d.ts +0 -7
  282. package/lib/typescript/commonjs/social-button/use-svg-id.d.ts.map +0 -1
  283. package/lib/typescript/module/social-button/use-svg-id.d.ts +0 -7
  284. package/lib/typescript/module/social-button/use-svg-id.d.ts.map +0 -1
  285. package/src/social-button/use-svg-id.ts +0 -10
@@ -6,18 +6,37 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.ButtonGroupItem = exports.ButtonGroup = void 0;
7
7
  var _react = _interopRequireWildcard(require("react"));
8
8
  var _reactNative = require("react-native");
9
+ var _index = require("../control-surface/index.js");
10
+ var _index2 = require("../glass/index.js");
9
11
  var _useTheme = require("../theme/use-theme.js");
10
12
  var _Typography = require("../typography/Typography.js");
11
13
  var _useInteractionState = require("../hooks/use-interaction-state.js");
14
+ var _surfaceLevels = require("../styles/surface-levels.js");
12
15
  var _interactiveWebCss = require("../styles/interactive-web-css.js");
16
+ var _colorUtils = require("../theme/color-utils.js");
13
17
  var _shared = require("../button/shared.js");
14
18
  var _jsxRuntime = require("react/jsx-runtime");
15
19
  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); }
16
20
  /**
17
- * A group of secondary-style buttons fused into one control — one bordered,
18
- * shadowed container, items divided by 1px hairlines, only the outer ends
19
- * rounded. Colours come from the same Bloom-derived ramps as `Button`
20
- * (`button/shared.ts`), and like `Button` the container is a full pill.
21
+ * A group of buttons the consumer has declared as ONE control.
22
+ *
23
+ * ── TWO MATERIALS, ONE GROUP ────────────────────────────────────────────────
24
+ *
25
+ * `solid` is the original: one bordered, shadowed container, items divided by
26
+ * 1px hairlines, only the outer ends rounded, colours from the same
27
+ * Bloom-derived ramps as `Button` (`button/shared.ts`).
28
+ *
29
+ * `glass` is the same group as a floating ISLAND — one translucent pane
30
+ * (`glass/GlassIsland`) that the items sit FLUSH on. The group owns the
31
+ * material and the items paint no fill of their own at rest; a second fill
32
+ * under a translucent pane is the thing that makes a row of controls read as a
33
+ * row of cards rather than as one island, and a second BLUR is not available at
34
+ * all on Android.
35
+ *
36
+ * Neither is a decoration a caller has to ask for by name. The variant is
37
+ * INHERITED from the nearest `ControlSurface`, so `<ButtonGroup>` inside a
38
+ * floating `PageHeader` is glass and the same group inside a card is solid,
39
+ * with no prop either way. An explicit `variant` still wins.
21
40
  *
22
41
  * medium small
23
42
  * item h 34 30 (plus the container's 1px border = 36 / 32)
@@ -68,6 +87,51 @@ function resolveGroupPalette(theme) {
68
87
  };
69
88
  }
70
89
 
90
+ /**
91
+ * The items' paint on a GLASS island.
92
+ *
93
+ * Every state that is not "at rest" is an alpha of the theme's own `text` — an
94
+ * ink wash, not a fill. That is the one recipe that works on a pane whose
95
+ * composited colour Bloom cannot predict: a fixed neutral tuned against the
96
+ * island's own fill goes invisible the moment a photograph behind it moves the
97
+ * pane 40 levels, while a wash of the label's colour keeps the same relation to
98
+ * the label at every composite.
99
+ *
100
+ * `transparent` at rest is load-bearing rather than tidy. It is what makes the
101
+ * island ONE pane: give the items a fill and the group is a row of chips inside
102
+ * a capsule, which is the shape this variant exists to stop.
103
+ *
104
+ * The disabled label is read off the island's own fill with `surfaceTextOn`
105
+ * rather than picked from the ramp, because a ramp stop measured against the
106
+ * page is not measured against this surface.
107
+ */
108
+ function resolveGlassItemPalette(theme) {
109
+ const {
110
+ accent
111
+ } = (0, _shared.resolveButtonRamps)(theme);
112
+ const level = (0, _surfaceLevels.resolveSurfaceLevel)(theme, 1);
113
+ const ink = theme.colors.text;
114
+ const wash = theme.isDark ? {
115
+ hover: 0.12,
116
+ active: 0.2
117
+ } : {
118
+ hover: 0.08,
119
+ active: 0.14
120
+ };
121
+ return {
122
+ // The island owns the box: the group draws neither border nor divider.
123
+ groupBorder: 'transparent',
124
+ divider: (0, _colorUtils.withAlpha)(ink, theme.isDark ? 0.16 : 0.12),
125
+ background: 'transparent',
126
+ hover: (0, _colorUtils.withAlpha)(ink, wash.hover),
127
+ active: (0, _colorUtils.withAlpha)(ink, wash.active),
128
+ disabledBackground: 'transparent',
129
+ foreground: ink,
130
+ disabledForeground: level.textGraphical,
131
+ ring: accent[500]
132
+ };
133
+ }
134
+
71
135
  // ---------------------------------------------------------------------------
72
136
  // Keyboard focus on web — an inset `ring-2`. Items are react-native-web
73
137
  // `Pressable`s, so the rules hang off a `dataSet` attribute (a class never
@@ -104,7 +168,9 @@ ${SELECTOR}${_interactiveWebCss.NOT_DISABLED}:focus-visible {
104
168
  const IS_WEB = _reactNative.Platform.OS === 'web';
105
169
  const GroupContext = /*#__PURE__*/(0, _react.createContext)(null);
106
170
  const ButtonGroupComponent = ({
107
- size = 'medium',
171
+ variant,
172
+ size: sizeProp,
173
+ dividers,
108
174
  children,
109
175
  accessibilityLabel,
110
176
  style,
@@ -112,12 +178,36 @@ const ButtonGroupComponent = ({
112
178
  }) => {
113
179
  const theme = (0, _useTheme.useTheme)();
114
180
  (0, _interactiveWebCss.useInteractiveWebCss)(STYLE_ID, BUTTON_GROUP_CSS);
115
- const palette = (0, _react.useMemo)(() => resolveGroupPalette(theme), [theme]);
181
+ const material = (0, _index.useInheritedControl)('material', variant, 'solid');
182
+ const size = (0, _index.useInheritedControl)('density', sizeProp, 'medium');
183
+ const palette = (0, _react.useMemo)(() => material === 'glass' ? resolveGlassItemPalette(theme) : resolveGroupPalette(theme), [material, theme]);
116
184
  const context = (0, _react.useMemo)(() => ({
117
185
  size,
186
+ material,
118
187
  palette
119
- }), [size, palette]);
188
+ }), [size, material, palette]);
120
189
  const items = _react.Children.toArray(children).filter(_react.isValidElement);
190
+ const showDividers = dividers ?? material === 'solid';
191
+ const row = items.map((item, index) => /*#__PURE__*/(0, _jsxRuntime.jsxs)(_react.Fragment, {
192
+ children: [showDividers && index > 0 ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
193
+ style: {
194
+ width: 1,
195
+ backgroundColor: palette.divider
196
+ }
197
+ }) : null, item]
198
+ }, item.key ?? index));
199
+ if (material === 'glass') {
200
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(GroupContext.Provider, {
201
+ value: context,
202
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_index2.GlassIsland, {
203
+ role: "group",
204
+ accessibilityLabel: accessibilityLabel,
205
+ style: style,
206
+ testID: testID,
207
+ children: row
208
+ })
209
+ });
210
+ }
121
211
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(GroupContext.Provider, {
122
212
  value: context,
123
213
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
@@ -135,34 +225,40 @@ const ButtonGroupComponent = ({
135
225
  boxShadow: _shared.BUTTON_SHADOW[theme.isDark ? 'dark' : 'light'],
136
226
  overflow: 'hidden'
137
227
  }, style],
138
- children: items.map((item, index) => /*#__PURE__*/(0, _jsxRuntime.jsxs)(_react.Fragment, {
139
- children: [index > 0 ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
140
- style: {
141
- width: 1,
142
- backgroundColor: palette.divider
143
- }
144
- }) : null, item]
145
- }, item.key ?? index))
228
+ children: row
146
229
  })
147
230
  });
148
231
  };
149
232
  const ButtonGroupItemComponent = ({
150
233
  onPress,
234
+ onLongPress,
151
235
  children,
152
236
  size: sizeProp,
237
+ variant,
153
238
  selected = false,
154
239
  disabled = false,
155
240
  iconOnly = false,
156
241
  leadingIcon: LeadingIcon,
157
242
  trailingIcon: TrailingIcon,
158
243
  accessibilityLabel,
244
+ accessibilityRole = 'button',
245
+ hitSlop,
246
+ 'aria-expanded': ariaExpanded,
247
+ 'aria-haspopup': ariaHasPopup,
159
248
  style,
160
249
  testID
161
250
  }) => {
162
251
  const theme = (0, _useTheme.useTheme)();
163
252
  const group = (0, _react.useContext)(GroupContext);
164
- const palette = (0, _react.useMemo)(() => group?.palette ?? resolveGroupPalette(theme), [group, theme]);
165
- const size = sizeProp ?? group?.size ?? 'medium';
253
+ // An item can be rendered OUTSIDE its group's children — an anchored family's
254
+ // `asChild` trigger clones it into the caller's tree — so the material falls
255
+ // back to the inherited `ControlSurface` (which `GlassIsland` mounts) before
256
+ // it falls back to `solid`.
257
+ const inheritedMaterial = (0, _index.useInheritedControl)('material', undefined, 'solid');
258
+ const inheritedDensity = (0, _index.useInheritedControl)('density', undefined, 'medium');
259
+ const material = variant ?? group?.material ?? inheritedMaterial;
260
+ const palette = (0, _react.useMemo)(() => group && group.material === material ? group.palette : material === 'glass' ? resolveGlassItemPalette(theme) : resolveGroupPalette(theme), [group, material, theme]);
261
+ const size = sizeProp ?? group?.size ?? inheritedDensity;
166
262
  const geometry = GEOMETRY[size];
167
263
  const {
168
264
  state: hovered,
@@ -186,6 +282,10 @@ const ButtonGroupItemComponent = ({
186
282
  justifyContent: 'center',
187
283
  gap: 4,
188
284
  backgroundColor: background,
285
+ // On glass the island does not clip (a clipping node loses its iOS drop
286
+ // shadow), so the item rounds its OWN highlight. On solid the container
287
+ // clips and a square item is what makes the fused ends read as one pill.
288
+ borderRadius: material === 'glass' ? _shared.BUTTON_RADIUS : undefined,
189
289
  '--bloom-button-group-ring': palette.ring
190
290
  };
191
291
  const labelStyle = {
@@ -199,21 +299,26 @@ const ButtonGroupItemComponent = ({
199
299
  } : {}),
200
300
  style: [containerStyle, style],
201
301
  onPress: disabled ? undefined : onPress,
302
+ onLongPress: disabled ? undefined : onLongPress,
202
303
  onPressIn: disabled ? undefined : onPressIn,
203
304
  onPressOut: disabled ? undefined : onPressOut,
204
305
  onHoverIn: onHoverIn,
205
306
  onHoverOut: onHoverOut,
307
+ hitSlop: hitSlop,
206
308
  disabled: disabled,
207
- accessibilityRole: "button",
309
+ accessibilityRole: accessibilityRole,
208
310
  accessibilityLabel: accessibilityLabel
209
311
  // Both spellings: react-native-web reads only `aria-pressed`, React Native
210
312
  // has no `aria-pressed` and reads `accessibilityState`.
211
313
  ,
212
314
  accessibilityState: {
213
315
  disabled,
214
- selected
316
+ selected,
317
+ expanded: ariaExpanded
215
318
  },
216
319
  "aria-pressed": selected,
320
+ "aria-expanded": ariaExpanded,
321
+ "aria-haspopup": ariaHasPopup,
217
322
  testID: testID,
218
323
  children: [LeadingIcon ? /*#__PURE__*/(0, _jsxRuntime.jsx)(LeadingIcon, {
219
324
  width: geometry.iconSize,
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_useTheme","_Typography","_useInteractionState","_interactiveWebCss","_shared","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","GEOMETRY","medium","height","paddingHorizontal","iconSize","small","resolveGroupPalette","theme","accent","neutral","resolveButtonRamps","isDark","groupBorder","mixColor","divider","background","hover","active","disabledBackground","foreground","colors","text","disabledForeground","ring","card","STYLE_ID","SELECTOR","BUTTON_GROUP_CSS","interactiveWebCss","selector","varPrefix","base","transition","BUTTON_TRANSITION_MS","declarations","outlineOffset","extraRules","NOT_DISABLED","IS_WEB","Platform","OS","GroupContext","createContext","ButtonGroupComponent","size","children","accessibilityLabel","style","testID","useTheme","useInteractiveWebCss","palette","useMemo","context","items","Children","toArray","filter","isValidElement","jsx","Provider","value","View","role","flexDirection","alignItems","alignSelf","borderWidth","borderColor","borderRadius","BUTTON_RADIUS","backgroundColor","boxShadow","BUTTON_SHADOW","overflow","map","item","index","jsxs","Fragment","width","key","ButtonGroupItemComponent","onPress","sizeProp","selected","disabled","iconOnly","leadingIcon","LeadingIcon","trailingIcon","TrailingIcon","group","useContext","geometry","state","hovered","onIn","onHoverIn","onOut","onHoverOut","useInteractionState","pressed","onPressIn","onPressOut","containerStyle","minWidth","undefined","justifyContent","gap","labelStyle","color","Pressable","dataSet","bloomButtonGroupItem","accessibilityRole","accessibilityState","fill","Text","variant","numberOfLines","ButtonGroup","exports","memo","displayName","ButtonGroupItem"],"sourceRoot":"../../../src","sources":["button-group/ButtonGroup.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_index","_index2","_useTheme","_Typography","_useInteractionState","_surfaceLevels","_interactiveWebCss","_colorUtils","_shared","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","GEOMETRY","medium","height","paddingHorizontal","iconSize","small","resolveGroupPalette","theme","accent","neutral","resolveButtonRamps","isDark","groupBorder","mixColor","divider","background","hover","active","disabledBackground","foreground","colors","text","disabledForeground","ring","card","resolveGlassItemPalette","level","resolveSurfaceLevel","ink","wash","withAlpha","textGraphical","STYLE_ID","SELECTOR","BUTTON_GROUP_CSS","interactiveWebCss","selector","varPrefix","base","transition","BUTTON_TRANSITION_MS","declarations","outlineOffset","extraRules","NOT_DISABLED","IS_WEB","Platform","OS","GroupContext","createContext","ButtonGroupComponent","variant","size","sizeProp","dividers","children","accessibilityLabel","style","testID","useTheme","useInteractiveWebCss","material","useInheritedControl","palette","useMemo","context","items","Children","toArray","filter","isValidElement","showDividers","row","map","item","index","jsxs","Fragment","jsx","View","width","backgroundColor","key","Provider","value","GlassIsland","role","flexDirection","alignItems","alignSelf","borderWidth","borderColor","borderRadius","BUTTON_RADIUS","boxShadow","BUTTON_SHADOW","overflow","ButtonGroupItemComponent","onPress","onLongPress","selected","disabled","iconOnly","leadingIcon","LeadingIcon","trailingIcon","TrailingIcon","accessibilityRole","hitSlop","ariaExpanded","ariaHasPopup","group","useContext","inheritedMaterial","undefined","inheritedDensity","geometry","state","hovered","onIn","onHoverIn","onOut","onHoverOut","useInteractionState","pressed","onPressIn","onPressOut","containerStyle","minWidth","justifyContent","gap","labelStyle","color","Pressable","dataSet","bloomButtonGroupItem","accessibilityState","expanded","fill","Text","numberOfLines","ButtonGroup","exports","memo","displayName","ButtonGroupItem"],"sourceRoot":"../../../src","sources":["button-group/ButtonGroup.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.ControlSurface = void 0;
7
+ var _react = _interopRequireWildcard(require("react"));
8
+ var _context = require("./context.js");
9
+ var _jsxRuntime = require("react/jsx-runtime");
10
+ 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); }
11
+ /**
12
+ * Declare the presentation the controls inside should default to.
13
+ *
14
+ * Renders nothing of its own — no view, no layout node — so it can be dropped
15
+ * anywhere without moving anything. Bloom's own containers (`ButtonGroup`'s
16
+ * glass variant, `PageHeader`'s islands) mount it for you; this is the explicit
17
+ * entry point for an app that wants the same effect around its own controls.
18
+ *
19
+ * ```tsx
20
+ * <ControlSurface material="glass">
21
+ * <ButtonGroup accessibilityLabel="Playback">…</ButtonGroup>
22
+ * </ControlSurface>
23
+ * ```
24
+ *
25
+ * A field left `undefined` INHERITS rather than resetting, so a nested
26
+ * `<ControlSurface density="small">` inside a glass island stays glass. The
27
+ * full precedence rule is in `control-surface/context.ts`.
28
+ */
29
+ const ControlSurfaceComponent = ({
30
+ material,
31
+ density,
32
+ children
33
+ }) => {
34
+ const inherited = (0, _context.useControlSurface)();
35
+ const value = (0, _react.useMemo)(() => ({
36
+ material: material ?? inherited?.material ?? 'solid',
37
+ density: density ?? inherited?.density ?? 'medium'
38
+ }), [material, density, inherited?.material, inherited?.density]);
39
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_context.ControlSurfaceProvider, {
40
+ value: value,
41
+ children: children
42
+ });
43
+ };
44
+ const ControlSurface = exports.ControlSurface = /*#__PURE__*/(0, _react.memo)(ControlSurfaceComponent);
45
+ ControlSurface.displayName = 'ControlSurface';
46
+ //# sourceMappingURL=ControlSurface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_context","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ControlSurfaceComponent","material","density","children","inherited","useControlSurface","value","useMemo","jsx","ControlSurfaceProvider","ControlSurface","exports","memo","displayName"],"sourceRoot":"../../../src","sources":["control-surface/ControlSurface.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AAEA,IAAAC,QAAA,GAAAD,OAAA;AAAsE,IAAAE,WAAA,GAAAF,OAAA;AAAA,SAAAD,wBAAAI,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAN,uBAAA,YAAAA,CAAAI,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;AAGtE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMkB,uBAAsD,GAAGA,CAAC;EAC9DC,QAAQ;EACRC,OAAO;EACPC;AACF,CAAC,KAAK;EACJ,MAAMC,SAAS,GAAG,IAAAC,0BAAiB,EAAC,CAAC;EACrC,MAAMC,KAAK,GAAG,IAAAC,cAAO,EACnB,OAAO;IACLN,QAAQ,EAAEA,QAAQ,IAAIG,SAAS,EAAEH,QAAQ,IAAI,OAAO;IACpDC,OAAO,EAAEA,OAAO,IAAIE,SAAS,EAAEF,OAAO,IAAI;EAC5C,CAAC,CAAC,EACF,CAACD,QAAQ,EAAEC,OAAO,EAAEE,SAAS,EAAEH,QAAQ,EAAEG,SAAS,EAAEF,OAAO,CAC7D,CAAC;EACD,oBAAO,IAAAtB,WAAA,CAAA4B,GAAA,EAAC7B,QAAA,CAAA8B,sBAAsB;IAACH,KAAK,EAAEA,KAAM;IAAAH,QAAA,EAAEA;EAAQ,CAAyB,CAAC;AAClF,CAAC;AAEM,MAAMO,cAAc,GAAAC,OAAA,CAAAD,cAAA,gBAAG,IAAAE,WAAI,EAACZ,uBAAuB,CAAC;AAC3DU,cAAc,CAACG,WAAW,GAAG,gBAAgB","ignoreList":[]}
@@ -0,0 +1,84 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.ControlSurfaceProvider = void 0;
7
+ exports.useControlSurface = useControlSurface;
8
+ exports.useInheritedControl = useInheritedControl;
9
+ var _react = require("react");
10
+ /**
11
+ * The inherited CONTROL PRESENTATION contract — the third of Bloom's visual
12
+ * contexts, beside the theme (`theme/use-theme`) and the surface ladder
13
+ * (`styles/surface-levels`).
14
+ *
15
+ * ## What it is for
16
+ *
17
+ * A container that owns a material has to be able to say so once, rather than
18
+ * have every control inside it repeat the material as a prop. A page header's
19
+ * action island owns its glass; the `ButtonGroup` inside it should not need
20
+ * `variant="glass"` written on it, and the items inside THAT should not need it
21
+ * either. Written as props it is three places to keep in step, and the app is
22
+ * the one that pays when they drift.
23
+ *
24
+ * ## Precedence, in one rule
25
+ *
26
+ * an explicit prop > the nearest container > the component's default
27
+ *
28
+ * {@link useInheritedControl} is that rule, and it is a function rather than a
29
+ * convention so the three consumers cannot each interpret it slightly
30
+ * differently. `undefined` is the only value that defers: passing
31
+ * `material="solid"` inside a glass island paints a solid control, which is a
32
+ * decision the caller is allowed to make.
33
+ *
34
+ * ## What deliberately does NOT travel through it
35
+ *
36
+ * Only VISUAL CONFIGURATION. A constraint — `disabled`, a modal's inertness,
37
+ * the user's reduce-transparency preference — is not a default, and the rule
38
+ * above is exactly wrong for one: a descendant must not be able to re-enable an
39
+ * action its group disabled by passing a prop. Constraints keep their own
40
+ * channels (a group's `disabled` is applied by the group when it renders its
41
+ * items; accessibility preferences are read from the OS at the point of use).
42
+ *
43
+ * Nor does STATE. `checked`, `selected`, a field's value and any business datum
44
+ * are owned by the component that holds them; a visual context that also
45
+ * carried state would make every container a place state could leak from.
46
+ *
47
+ * ## Scope
48
+ *
49
+ * One context, two fields, both of which change rarely (a container sets them
50
+ * once at mount). Scroll offsets, focus, form state and the overlay stack each
51
+ * have their own context for the opposite reason — they change often, and a
52
+ * consumer of one must not re-render for a change in another.
53
+ */
54
+
55
+ const ControlSurfaceContext = /*#__PURE__*/(0, _react.createContext)(null);
56
+ ControlSurfaceContext.displayName = 'BloomControlSurfaceContext';
57
+
58
+ /** @internal The provider `ControlSurface` renders. */
59
+ const ControlSurfaceProvider = exports.ControlSurfaceProvider = ControlSurfaceContext.Provider;
60
+
61
+ /**
62
+ * The nearest container's presentation, or `null` when there is none.
63
+ *
64
+ * `null` rather than a default object on purpose: a control's own default is
65
+ * the control's to choose (`ButtonGroup` defaults to `solid`, a media overlay's
66
+ * toolbar could default to `glass`), and a context that invented one here would
67
+ * take that choice away by looking like an answer.
68
+ */
69
+ function useControlSurface() {
70
+ return (0, _react.useContext)(ControlSurfaceContext);
71
+ }
72
+
73
+ /**
74
+ * Resolve one field by the precedence rule: `explicit` → container → `fallback`.
75
+ *
76
+ * ```ts
77
+ * const material = useInheritedControl('material', variant, 'solid');
78
+ * ```
79
+ */
80
+ function useInheritedControl(key, explicit, fallback) {
81
+ const inherited = (0, _react.useContext)(ControlSurfaceContext);
82
+ return explicit ?? inherited?.[key] ?? fallback;
83
+ }
84
+ //# sourceMappingURL=context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","require","ControlSurfaceContext","createContext","displayName","ControlSurfaceProvider","exports","Provider","useControlSurface","useContext","useInheritedControl","key","explicit","fallback","inherited"],"sourceRoot":"../../../src","sources":["control-surface/context.ts"],"mappings":";;;;;;;;AA4CA,IAAAA,MAAA,GAAAC,OAAA;AA5CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAKA,MAAMC,qBAAqB,gBAAG,IAAAC,oBAAa,EAA6B,IAAI,CAAC;AAC7ED,qBAAqB,CAACE,WAAW,GAAG,4BAA4B;;AAEhE;AACO,MAAMC,sBAAsB,GAAAC,OAAA,CAAAD,sBAAA,GAAGH,qBAAqB,CAACK,QAAQ;;AAEpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,iBAAiBA,CAAA,EAA+B;EAC9D,OAAO,IAAAC,iBAAU,EAACP,qBAAqB,CAAC;AAC1C;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASQ,mBAAmBA,CACjCC,GAAM,EACNC,QAA4C,EAC5CC,QAAgC,EACR;EACxB,MAAMC,SAAS,GAAG,IAAAL,iBAAU,EAACP,qBAAqB,CAAC;EACnD,OAAOU,QAAQ,IAAIE,SAAS,GAAGH,GAAG,CAAC,IAAIE,QAAQ;AACjD","ignoreList":[]}
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "ControlSurface", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _ControlSurface.ControlSurface;
10
+ }
11
+ });
12
+ Object.defineProperty(exports, "useControlSurface", {
13
+ enumerable: true,
14
+ get: function () {
15
+ return _context.useControlSurface;
16
+ }
17
+ });
18
+ Object.defineProperty(exports, "useInheritedControl", {
19
+ enumerable: true,
20
+ get: function () {
21
+ return _context.useInheritedControl;
22
+ }
23
+ });
24
+ var _ControlSurface = require("./ControlSurface.js");
25
+ var _context = require("./context.js");
26
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_ControlSurface","require","_context"],"sourceRoot":"../../../src","sources":["control-surface/index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,eAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA","ignoreList":[]}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../../src","sources":["control-surface/types.ts"],"mappings":"","ignoreList":[]}
@@ -10,6 +10,7 @@ var _index = require("../typography/index.js");
10
10
  var _index2 = require("../label/index.js");
11
11
  var _index3 = require("../styles/index.js");
12
12
  var _shared = require("../text-field/shared.js");
13
+ var _context = require("./context.js");
13
14
  var _jsxRuntime = require("react/jsx-runtime");
14
15
  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); }
15
16
  /**
@@ -20,6 +21,20 @@ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r
20
21
  * Bloom's `Label`. Unlike `TextField` — which bakes its label/error into the
21
22
  * input chrome — `Field` wraps any arbitrary control (a `Switch`, a
22
23
  * `SegmentedControl`, a custom picker, etc.).
24
+ *
25
+ * ── IT ASSOCIATES, IT DOES NOT ONLY STACK ───────────────────────────────────
26
+ *
27
+ * The three pieces are wired to the control through `field/context.ts`: the
28
+ * control's id, `aria-describedby` for whichever of description/error is
29
+ * showing, the invalid state, the required state and the disabled state. A
30
+ * control opts in by reading `useFieldControl()`; one that does not renders
31
+ * exactly as before. Ids are generated from `useId` when the caller gives no
32
+ * `nativeID`, so they survive SSR and hydration.
33
+ *
34
+ * `multiple` is the several-controls case — a radio set, a date's three boxes.
35
+ * The field becomes a labelled `group` and stops handing out a control id,
36
+ * because one id on three inputs is invalid and one error described by three
37
+ * inputs is read three times.
23
38
  */
24
39
  /** `HintText`: 4px under the control (`gap-1`) plus its own 1px `pt-px`. */
25
40
  const hintStyle = {
@@ -33,38 +48,68 @@ const FieldComponent = function Field({
33
48
  error,
34
49
  required = false,
35
50
  disabled = false,
51
+ multiple = false,
36
52
  nativeID,
37
53
  style,
38
54
  testID
39
55
  }) {
40
56
  const palette = (0, _shared.useTextFieldPalette)();
41
57
  const hasError = typeof error === 'string' && error.length > 0;
42
- const descriptionID = nativeID ? `${nativeID}-description` : undefined;
43
- const errorID = nativeID ? `${nativeID}-error` : undefined;
44
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
45
- style: [_index3.atoms.w_full, style],
46
- testID: testID,
47
- children: [label != null ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_index2.Label, {
48
- htmlFor: nativeID,
49
- required: required,
50
- disabled: disabled,
51
- children: label
52
- }) : null, children, hasError ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_index.Text, {
53
- variant: "caption-1-medium",
54
- nativeID: errorID,
55
- accessibilityRole: "alert",
56
- style: [hintStyle, {
57
- color: palette.error
58
- }],
59
- children: error
60
- }) : description != null ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_index.Text, {
61
- variant: "caption-1-medium",
62
- nativeID: descriptionID,
63
- style: [hintStyle, {
64
- color: disabled ? palette.placeholder : palette.hint
65
- }],
66
- children: description
67
- }) : null]
58
+ // `useId` is the seed only when the caller gave no id, so an explicit
59
+ // `nativeID` still owns every derived id and a consumer that wired its own
60
+ // `aria-describedby` keeps working.
61
+ const generated = (0, _react.useId)().replace(/[^a-zA-Z0-9]/g, '');
62
+ const base = nativeID ?? `bloom-field-${generated}`;
63
+ const labelID = `${base}-label`;
64
+ const descriptionID = `${base}-description`;
65
+ const errorID = `${base}-error`;
66
+ const hasDescription = !hasError && description != null;
67
+ const field = (0, _react.useMemo)(() => ({
68
+ controlId: multiple ? undefined : base,
69
+ labelId: label != null ? labelID : undefined,
70
+ // In a `multiple` field the GROUP is described, not each control: an
71
+ // error pointed at by three inputs is announced three times.
72
+ describedBy: multiple ? undefined : hasError ? errorID : hasDescription ? descriptionID : undefined,
73
+ labelText: typeof label === 'string' ? label : undefined,
74
+ invalid: hasError,
75
+ required,
76
+ disabled
77
+ }), [multiple, base, label, labelID, hasError, errorID, hasDescription, descriptionID, required, disabled]);
78
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_context.FieldControlProvider, {
79
+ value: field,
80
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
81
+ style: [_index3.atoms.w_full, style],
82
+ testID: testID
83
+ // A group only when it holds several controls. A `group` around one
84
+ // control is a wrapper a screen reader has to step into for nothing,
85
+ // and it competes with the control's own name.
86
+ ,
87
+ role: multiple ? 'group' : undefined,
88
+ "aria-labelledby": multiple && label != null ? labelID : undefined,
89
+ "aria-describedby": multiple ? hasError ? errorID : hasDescription ? descriptionID : undefined : undefined,
90
+ children: [label != null ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_index2.Label, {
91
+ nativeID: labelID,
92
+ htmlFor: multiple ? null : base,
93
+ required: required,
94
+ disabled: disabled,
95
+ children: label
96
+ }) : null, children, hasError ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_index.Text, {
97
+ variant: "caption-1-medium",
98
+ nativeID: errorID,
99
+ accessibilityRole: "alert",
100
+ style: [hintStyle, {
101
+ color: palette.error
102
+ }],
103
+ children: error
104
+ }) : description != null ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_index.Text, {
105
+ variant: "caption-1-medium",
106
+ nativeID: descriptionID,
107
+ style: [hintStyle, {
108
+ color: disabled ? palette.placeholder : palette.hint
109
+ }],
110
+ children: description
111
+ }) : null]
112
+ })
68
113
  });
69
114
  };
70
115
  const Field = exports.Field = /*#__PURE__*/(0, _react.memo)(FieldComponent);
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_index","_index2","_index3","_shared","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","hintStyle","marginTop","TEXT_FIELD_STACK_GAP","paddingTop","FieldComponent","Field","children","label","description","error","required","disabled","nativeID","style","testID","palette","useTextFieldPalette","hasError","length","descriptionID","undefined","errorID","jsxs","View","a","w_full","jsx","Label","htmlFor","Text","variant","accessibilityRole","color","placeholder","hint","exports","memo","displayName"],"sourceRoot":"../../../src","sources":["field/Field.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_index","_index2","_index3","_shared","_context","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","hintStyle","marginTop","TEXT_FIELD_STACK_GAP","paddingTop","FieldComponent","Field","children","label","description","error","required","disabled","multiple","nativeID","style","testID","palette","useTextFieldPalette","hasError","length","generated","useId","replace","base","labelID","descriptionID","errorID","hasDescription","field","useMemo","controlId","undefined","labelId","describedBy","labelText","invalid","jsx","FieldControlProvider","value","jsxs","View","a","w_full","role","Label","htmlFor","Text","variant","accessibilityRole","color","placeholder","hint","exports","memo","displayName"],"sourceRoot":"../../../src","sources":["field/Field.tsx"],"mappings":"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","ignoreList":[]}