@oxyhq/bloom 1.0.2 → 1.0.4

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 (150) hide show
  1. package/docs/button.mdx +19 -17
  2. package/docs/design-tokens.mdx +12 -10
  3. package/docs/dropdown-menu.mdx +26 -3
  4. package/lib/commonjs/context-menu/ContextMenu.js +2 -0
  5. package/lib/commonjs/context-menu/ContextMenu.js.map +1 -1
  6. package/lib/commonjs/context-menu/ContextMenu.web.js +2 -0
  7. package/lib/commonjs/context-menu/ContextMenu.web.js.map +1 -1
  8. package/lib/commonjs/design-tokens/tokens.json +11040 -0
  9. package/lib/commonjs/dialog/SheetShell.js +6 -1
  10. package/lib/commonjs/dialog/SheetShell.js.map +1 -1
  11. package/lib/commonjs/dropdown-menu/DropdownMenu.js +7 -1
  12. package/lib/commonjs/dropdown-menu/DropdownMenu.js.map +1 -1
  13. package/lib/commonjs/dropdown-menu/DropdownMenu.web.js +2 -0
  14. package/lib/commonjs/dropdown-menu/DropdownMenu.web.js.map +1 -1
  15. package/lib/commonjs/floating/TriggerSlot.js +3 -1
  16. package/lib/commonjs/floating/TriggerSlot.js.map +1 -1
  17. package/lib/commonjs/floating/constants.js +4 -1
  18. package/lib/commonjs/floating/constants.js.map +1 -1
  19. package/lib/commonjs/floating/menu-rows.js +28 -22
  20. package/lib/commonjs/floating/menu-rows.js.map +1 -1
  21. package/lib/commonjs/floating/menu-sub-flyout.js +18 -5
  22. package/lib/commonjs/floating/menu-sub-flyout.js.map +1 -1
  23. package/lib/commonjs/floating/menu-sub-inline.js +5 -1
  24. package/lib/commonjs/floating/menu-sub-inline.js.map +1 -1
  25. package/lib/commonjs/floating/shared.js +2 -2
  26. package/lib/commonjs/floating/shared.js.map +1 -1
  27. package/lib/commonjs/popover/Popover.js +2 -0
  28. package/lib/commonjs/popover/Popover.js.map +1 -1
  29. package/lib/commonjs/popover/Popover.web.js +2 -0
  30. package/lib/commonjs/popover/Popover.web.js.map +1 -1
  31. package/lib/commonjs/theme/color-policy.js +1 -1
  32. package/lib/commonjs/theme/color-presets.js +331 -1
  33. package/lib/commonjs/theme/color-presets.js.map +1 -1
  34. package/lib/commonjs/theme/glass-colors.js +22 -19
  35. package/lib/commonjs/theme/glass-colors.js.map +1 -1
  36. package/lib/module/context-menu/ContextMenu.js +2 -0
  37. package/lib/module/context-menu/ContextMenu.js.map +1 -1
  38. package/lib/module/context-menu/ContextMenu.web.js +2 -0
  39. package/lib/module/context-menu/ContextMenu.web.js.map +1 -1
  40. package/lib/module/design-tokens/tokens.json +11040 -0
  41. package/lib/module/dialog/SheetShell.js +6 -1
  42. package/lib/module/dialog/SheetShell.js.map +1 -1
  43. package/lib/module/dropdown-menu/DropdownMenu.js +7 -1
  44. package/lib/module/dropdown-menu/DropdownMenu.js.map +1 -1
  45. package/lib/module/dropdown-menu/DropdownMenu.web.js +2 -0
  46. package/lib/module/dropdown-menu/DropdownMenu.web.js.map +1 -1
  47. package/lib/module/floating/TriggerSlot.js +5 -3
  48. package/lib/module/floating/TriggerSlot.js.map +1 -1
  49. package/lib/module/floating/constants.js +3 -0
  50. package/lib/module/floating/constants.js.map +1 -1
  51. package/lib/module/floating/menu-rows.js +29 -23
  52. package/lib/module/floating/menu-rows.js.map +1 -1
  53. package/lib/module/floating/menu-sub-flyout.js +18 -5
  54. package/lib/module/floating/menu-sub-flyout.js.map +1 -1
  55. package/lib/module/floating/menu-sub-inline.js +5 -1
  56. package/lib/module/floating/menu-sub-inline.js.map +1 -1
  57. package/lib/module/floating/shared.js +3 -3
  58. package/lib/module/floating/shared.js.map +1 -1
  59. package/lib/module/popover/Popover.js +2 -0
  60. package/lib/module/popover/Popover.js.map +1 -1
  61. package/lib/module/popover/Popover.web.js +2 -0
  62. package/lib/module/popover/Popover.web.js.map +1 -1
  63. package/lib/module/theme/color-policy.js +1 -1
  64. package/lib/module/theme/color-presets.js +331 -1
  65. package/lib/module/theme/color-presets.js.map +1 -1
  66. package/lib/module/theme/glass-colors.js +22 -19
  67. package/lib/module/theme/glass-colors.js.map +1 -1
  68. package/lib/typescript/commonjs/context-menu/ContextMenu.d.ts +1 -1
  69. package/lib/typescript/commonjs/context-menu/ContextMenu.d.ts.map +1 -1
  70. package/lib/typescript/commonjs/context-menu/ContextMenu.web.d.ts +1 -1
  71. package/lib/typescript/commonjs/context-menu/ContextMenu.web.d.ts.map +1 -1
  72. package/lib/typescript/commonjs/context-menu/types.d.ts +2 -0
  73. package/lib/typescript/commonjs/context-menu/types.d.ts.map +1 -1
  74. package/lib/typescript/commonjs/dialog/SheetShell.d.ts +4 -1
  75. package/lib/typescript/commonjs/dialog/SheetShell.d.ts.map +1 -1
  76. package/lib/typescript/commonjs/dropdown-menu/DropdownMenu.d.ts +2 -2
  77. package/lib/typescript/commonjs/dropdown-menu/DropdownMenu.d.ts.map +1 -1
  78. package/lib/typescript/commonjs/dropdown-menu/DropdownMenu.web.d.ts +1 -1
  79. package/lib/typescript/commonjs/dropdown-menu/DropdownMenu.web.d.ts.map +1 -1
  80. package/lib/typescript/commonjs/floating/TriggerSlot.d.ts +3 -1
  81. package/lib/typescript/commonjs/floating/TriggerSlot.d.ts.map +1 -1
  82. package/lib/typescript/commonjs/floating/constants.d.ts +2 -0
  83. package/lib/typescript/commonjs/floating/constants.d.ts.map +1 -1
  84. package/lib/typescript/commonjs/floating/menu-rows.d.ts.map +1 -1
  85. package/lib/typescript/commonjs/floating/menu-sub-flyout.d.ts.map +1 -1
  86. package/lib/typescript/commonjs/floating/menu-sub-inline.d.ts.map +1 -1
  87. package/lib/typescript/commonjs/floating/shared.d.ts +2 -2
  88. package/lib/typescript/commonjs/floating/shared.d.ts.map +1 -1
  89. package/lib/typescript/commonjs/floating/types.d.ts +29 -3
  90. package/lib/typescript/commonjs/floating/types.d.ts.map +1 -1
  91. package/lib/typescript/commonjs/popover/Popover.d.ts +1 -1
  92. package/lib/typescript/commonjs/popover/Popover.d.ts.map +1 -1
  93. package/lib/typescript/commonjs/popover/Popover.web.d.ts +1 -1
  94. package/lib/typescript/commonjs/popover/Popover.web.d.ts.map +1 -1
  95. package/lib/typescript/commonjs/theme/color-presets.d.ts +331 -1
  96. package/lib/typescript/commonjs/theme/color-presets.d.ts.map +1 -1
  97. package/lib/typescript/commonjs/theme/glass-colors.d.ts +22 -19
  98. package/lib/typescript/commonjs/theme/glass-colors.d.ts.map +1 -1
  99. package/lib/typescript/module/context-menu/ContextMenu.d.ts +1 -1
  100. package/lib/typescript/module/context-menu/ContextMenu.d.ts.map +1 -1
  101. package/lib/typescript/module/context-menu/ContextMenu.web.d.ts +1 -1
  102. package/lib/typescript/module/context-menu/ContextMenu.web.d.ts.map +1 -1
  103. package/lib/typescript/module/context-menu/types.d.ts +2 -0
  104. package/lib/typescript/module/context-menu/types.d.ts.map +1 -1
  105. package/lib/typescript/module/dialog/SheetShell.d.ts +4 -1
  106. package/lib/typescript/module/dialog/SheetShell.d.ts.map +1 -1
  107. package/lib/typescript/module/dropdown-menu/DropdownMenu.d.ts +2 -2
  108. package/lib/typescript/module/dropdown-menu/DropdownMenu.d.ts.map +1 -1
  109. package/lib/typescript/module/dropdown-menu/DropdownMenu.web.d.ts +1 -1
  110. package/lib/typescript/module/dropdown-menu/DropdownMenu.web.d.ts.map +1 -1
  111. package/lib/typescript/module/floating/TriggerSlot.d.ts +3 -1
  112. package/lib/typescript/module/floating/TriggerSlot.d.ts.map +1 -1
  113. package/lib/typescript/module/floating/constants.d.ts +2 -0
  114. package/lib/typescript/module/floating/constants.d.ts.map +1 -1
  115. package/lib/typescript/module/floating/menu-rows.d.ts.map +1 -1
  116. package/lib/typescript/module/floating/menu-sub-flyout.d.ts.map +1 -1
  117. package/lib/typescript/module/floating/menu-sub-inline.d.ts.map +1 -1
  118. package/lib/typescript/module/floating/shared.d.ts +2 -2
  119. package/lib/typescript/module/floating/shared.d.ts.map +1 -1
  120. package/lib/typescript/module/floating/types.d.ts +29 -3
  121. package/lib/typescript/module/floating/types.d.ts.map +1 -1
  122. package/lib/typescript/module/popover/Popover.d.ts +1 -1
  123. package/lib/typescript/module/popover/Popover.d.ts.map +1 -1
  124. package/lib/typescript/module/popover/Popover.web.d.ts +1 -1
  125. package/lib/typescript/module/popover/Popover.web.d.ts.map +1 -1
  126. package/lib/typescript/module/theme/color-presets.d.ts +331 -1
  127. package/lib/typescript/module/theme/color-presets.d.ts.map +1 -1
  128. package/lib/typescript/module/theme/glass-colors.d.ts +22 -19
  129. package/lib/typescript/module/theme/glass-colors.d.ts.map +1 -1
  130. package/package.json +1 -1
  131. package/src/context-menu/ContextMenu.tsx +2 -0
  132. package/src/context-menu/ContextMenu.web.tsx +2 -0
  133. package/src/context-menu/types.ts +2 -0
  134. package/src/design-tokens/tokens.json +11040 -0
  135. package/src/dialog/SheetShell.tsx +10 -2
  136. package/src/dropdown-menu/DropdownMenu.tsx +11 -1
  137. package/src/dropdown-menu/DropdownMenu.web.tsx +2 -0
  138. package/src/floating/TriggerSlot.tsx +7 -3
  139. package/src/floating/constants.ts +3 -1
  140. package/src/floating/menu-rows.tsx +36 -25
  141. package/src/floating/menu-sub-flyout.tsx +22 -5
  142. package/src/floating/menu-sub-inline.tsx +12 -2
  143. package/src/floating/shared.tsx +11 -4
  144. package/src/floating/types.ts +29 -3
  145. package/src/popover/Popover.tsx +2 -0
  146. package/src/popover/Popover.web.tsx +2 -0
  147. package/src/theme/__tests__/__fixtures__/golden-resolved-tokens.json +3600 -0
  148. package/src/theme/color-policy.ts +1 -1
  149. package/src/theme/color-presets.ts +361 -1
  150. package/src/theme/glass-colors.ts +22 -19
package/docs/button.mdx CHANGED
@@ -35,13 +35,13 @@ import { Button } from '@oxyhq/bloom';
35
35
 
36
36
  The glass is the sheen, not the wash. What reads as glass is the rim, the vertical gradient and the hairline; the 15% of the backdrop that shows through is a hint of depth, not the effect itself.
37
37
 
38
- **One measured cost, stated because it is real.** The 15% bleed moves the pane toward the surface under it, which in light mode means lighter — the one direction a white label cannot afford. Of `primary`'s 340 preset × mode × surface combinations, **38 fall below WCAG AA**, in the band 4.17–4.49, all in light mode, on `blue`, `faircoin`, `green`, `lagoon`, `lavender`, `mint`, `olive`, `orange`, `pine`, `plum`, `pumpkin`, `rose`, `sky` and `yellow`. Both solid Button fills pass all 680 rows; glass `destructive` is also unaffected (0/340, worst 5.32). The alpha at which the failures reach zero is 0.89.
38
+ **One measured cost, stated because it is real.** The 15% bleed moves the pane toward the surface under it, which in light mode means lighter — the one direction a white label cannot afford. Of `primary`'s 640 preset × mode × surface combinations, **73 fall below WCAG AA**, in the band 4.17–4.50, all in light mode, on `acid-canopy`, `arctic-signal`, `blue`, `bronze-neon`, `clay-current`, `copper-field`, `electric-tide`, `faircoin`, `green`, `lagoon`, `lavender`, `malachite-rush`, `midnight-citrus`, `mint`, `olive`, `orange`, `pacific-flare`, `pine`, `plum`, `pumpkin`, `reef-pulse`, `rose`, `saffron-depth`, `sky`, `solar-flux`, `viridian-orbit` and `yellow`. Both solid Button fills pass all 1,280 rows; glass `destructive` is also unaffected (0/640, worst 5.32). The alpha at which the failures reach zero remains 0.89.
39
39
 
40
- The previous 18-preset oracle was exactly 30/180. Those same rows and nine IDs remain unchanged; all eight added failures come from the new recipes. A browser helper briefly printed 45 because it parsed the structured `GLASS_SHEEN.bottom` channel object as CSS. That was drift in the measurement script, not Bloom's shipped baseline and not a threshold relaxed from 45 to 38.
40
+ The 1.0.1 catalog remains exactly 38/340, including the original 18-preset oracle at 30/180. The 30 new three-seed combinations contribute 35/300 and do not lower the existing 4.17 floor. These cohorts are asserted independently, so an unchanged total cannot hide a regression moving from one into the other.
41
41
 
42
- If your app runs one of those fourteen presets in light mode and needs AA on its primary button, use `variant="inverse"` for that call site, or raise `GLASS_FILL_ALPHA`.
42
+ If your app runs one of those 27 presets in light mode and needs AA on its primary button, use `variant="inverse"` for that call site, or raise `GLASS_FILL_ALPHA`.
43
43
 
44
- Over a retained black/mid-grey/white media sample, **25 of 204** preset × mode × backdrop rows fall below AA, worst 3.61 (`destructive`: 0). That is a sample rather than a promise about arbitrary pixels. If a CTA must be legible over an image, `variant="inverse"` is opaque and backdrop-independent:
44
+ Over a retained black/mid-grey/white media sample, **50 of 384** preset × mode × backdrop rows fall below AA, worst 3.61 (`destructive`: 0). The 1.0.1 catalog remains 25/204; the additions contribute 25/180, worst 4.17. That is a sample rather than a promise about arbitrary pixels. If a CTA must be legible over an image, `variant="inverse"` is opaque and backdrop-independent:
45
45
 
46
46
  ```tsx
47
47
  <Button variant="inverse">Comprar</Button>
@@ -83,23 +83,25 @@ bun run storybook # the DEV server; the script reads the theme through
83
83
  node scripts/measure-glass-alpha.mjs --url http://localhost:6006 --image docs/glass-alpha-sweep.png
84
84
  ```
85
85
 
86
- ![The same button at eleven fill alphas, over a flat page, a photograph and a hard stripe pattern](./glass-alpha-sweep.png)
86
+ ![The same button at thirteen fill alphas, over a flat page, a photograph and a hard stripe pattern](./glass-alpha-sweep.png)
87
87
 
88
88
  Measured in Chrome off painted pixels, with the label removed from the measurement clones so a white glyph cannot be mistaken for backdrop:
89
89
 
90
90
  | alpha | backdrop response | blur delta over a photo (max/mean) | blur delta on a flat page | `primary` rows < AA | `destructive` rows < AA |
91
91
  | --- | --- | --- | --- | --- | --- |
92
- | 0.89 | 28.0 | 13 / 3.5 | 1 | 0 / 340 | 0 / 340 |
93
- | 0.88 | 31.0 | 15 / 3.8 | 1 | 5 / 340 | 0 / 340 |
94
- | 0.87 | 33.0 | 16 / 4.0 | 1 | 14 / 340 | 0 / 340 |
95
- | 0.86 | 36.0 | 17 / 4.4 | 1 | 25 / 340 | 0 / 340 |
96
- | **0.85** (shipped) | 38.0 | 18 / 4.7 | 1 | 38 / 340 | 0 / 340 |
97
- | 0.75 | 63.7 | 31 / 7.8 | 1 | 216 / 340 | 68 / 340 |
98
- | 0.65 | 88.7 | 43 / 10.9 | 1 | 252 / 340 | 340 / 340 |
99
- | 0.55 | 114.7 | 55 / 14.2 | 1 | 272 / 340 | 340 / 340 |
100
- | 0.45 | 139.3 | 67 / 17.4 | 0 | 301 / 340 | 340 / 340 |
101
- | 0.35 | 165.3 | 79 / 20.6 | 1 | 335 / 340 | 340 / 340 |
102
- | 0.25 | 190.3 | 91 / 23.8 | 1 | 335 / 340 | 340 / 340 |
92
+ | 0.91 | 23.0 | 11 / 2.9 | 1 | 0 / 640 | 0 / 640 |
93
+ | 0.90 | 25.0 | 12 / 3.1 | 1 | 0 / 640 | 0 / 640 |
94
+ | 0.89 | 28.0 | 13 / 3.5 | 1 | 0 / 640 | 0 / 640 |
95
+ | 0.88 | 31.0 | 15 / 3.8 | 1 | 8 / 640 | 0 / 640 |
96
+ | 0.87 | 33.0 | 16 / 4.0 | 1 | 26 / 640 | 0 / 640 |
97
+ | 0.86 | 36.0 | 17 / 4.4 | 1 | 49 / 640 | 0 / 640 |
98
+ | **0.85** (shipped) | 38.0 | 18 / 4.7 | 1 | 73 / 640 | 0 / 640 |
99
+ | 0.75 | 63.7 | 31 / 7.8 | 1 | 431 / 640 | 128 / 640 |
100
+ | 0.65 | 88.7 | 43 / 10.9 | 1 | 492 / 640 | 640 / 640 |
101
+ | 0.55 | 114.7 | 55 / 14.2 | 1 | 531 / 640 | 640 / 640 |
102
+ | 0.45 | 139.3 | 67 / 17.4 | 0 | 580 / 640 | 640 / 640 |
103
+ | 0.35 | 165.3 | 79 / 20.6 | 1 | 635 / 640 | 640 / 640 |
104
+ | 0.25 | 190.3 | 91 / 23.8 | 1 | 635 / 640 | 640 / 640 |
103
105
 
104
106
  Everything is out of 255. Backdrop response is how far the painted pane moves between a white and a black backdrop — linear in `1 - alpha`, at 25.4 ± 0.7 per 0.10 of alpha. Blur delta is how much the picture changes when the blur is switched off, which is the honest form of "can you see the blur".
105
107
 
@@ -107,7 +109,7 @@ Three things the table settles:
107
109
 
108
110
  - **On a flat page the blur is worth ~1/255 at every alpha, including 0.25.** There is nothing behind the pane to blur, so lowering the alpha does not make a flat page glassy — it only makes the button paler. That is the whole of the "it doesn't look glassy" complaint, and no alpha fixes it.
109
111
  - **Over a photograph the blur is already visible at 0.85** (18/255 peak). Where there is something to see, the shipped material is doing the thing.
110
- - **Legibility falls off a cliff immediately below 0.85.** One step down takes `primary` from 38 to 216 failures and `destructive` from 0 to 68; two steps down puts every one of `destructive`'s 340 rows under AA.
112
+ - **Legibility falls off a cliff immediately below 0.85.** One step down takes `primary` from 73 to 431 failures and `destructive` from 0 to 128; two steps down puts every one of `destructive`'s 640 rows under AA.
111
113
 
112
114
  So there is no single alpha that both matches the reference and reads as glass on a flat surface. That is a property of the material — a blur needs a backdrop — not a constant nobody has tuned yet. To make a specific surface read as glass, put something behind it.
113
115
 
@@ -18,7 +18,7 @@ working.
18
18
 
19
19
  ## Preset recipes and runtime colour
20
20
 
21
- Bloom ships **34 named recipes**, authored once in the type-checked
21
+ Bloom ships **64 named recipes**, authored once in the type-checked
22
22
  `COLOR_PRESET_REGISTRY`. A recipe is not a frozen light/dark token table: it is
23
23
  an identity seed, a scheme variant and optionally explicit secondary/tertiary
24
24
  seeds. `BloomThemeProvider`, `getResolvedTokens()` and `BloomColorScope` run
@@ -43,14 +43,16 @@ COLOR_PRESET_FAMILY_REGISTRY[0].displayName; // stable family copy and order
43
43
  COLOR_PRESET_GROUPS.ocean.presets; // ordered recipes for a picker
44
44
  ```
45
45
 
46
- The 16 `pairing: 'curated'` recipes pin a complementary `tertiaryHex`. The
47
- identity remains `--primary`; the standout action is `--tertiary`, which is the
48
- role used by FABs and compose actions. The other 18 recipes derive their accent
49
- families dynamically. Every recipe exposes `displayName`, `description`,
50
- `family`, `pairing` and `featured` metadata, so consumer pickers do not need a
51
- second name/category map. Historical `APP_COLOR_PRESETS`, name arrays, hex
52
- lookup and access-gate arrays are derived from this registry and retain their
53
- existing public shapes.
46
+ The 46 `pairing: 'curated'` recipes pin an intentional action seed. The first 16
47
+ pin `tertiaryHex`; the newest 30 are complete three-seed combinations and pin
48
+ both `secondaryHex` support and `tertiaryHex` action. Identity remains
49
+ `--primary`, support resolves through `--secondary`, and the standout action is
50
+ `--tertiary`, which is the role used by FABs and compose actions. The other 18
51
+ recipes derive both accent families dynamically. Every recipe exposes
52
+ `displayName`, `description`, `family`, `pairing` and `featured` metadata, so
53
+ consumer pickers do not need a second name/category map. Historical
54
+ `APP_COLOR_PRESETS`, name arrays, hex lookup and access-gate arrays are derived
55
+ from this registry and retain their existing public shapes.
54
56
 
55
57
  For visual review, run Storybook and open **Theme / Color System Playground**
56
58
  (`src/theme/ColorSystemLab.stories.tsx`). It keeps signed-in and public Mention
@@ -214,7 +216,7 @@ track, a selected `Item`, the solid `TabBar`, a plain `Card` on a panel, the
214
216
  Those tones are owned by `SURFACE_RAMP` in `theme/color-policy.ts` rather than
215
217
  taken from Material 3's container roles. M3's ramp steps by 2 tones, which at
216
218
  these lightnesses is about **1.2 ΔE00** — below the just-noticeable difference for
217
- two large flat patches. Measured across all 34 presets, **4 tones (~2.4 ΔE00)** is
219
+ two large flat patches. Measured across all 64 presets, **4 tones (~2.4 ΔE00)** is
218
220
  the first spacing at which every pair separates.
219
221
 
220
222
  `--background` is deliberately not part of the ramp: the page tone is every
@@ -63,6 +63,8 @@ Handlers the child already carries are composed, not replaced — `track()` runs
63
63
 
64
64
  `disabled` on the trigger is guarded the same way, at the composition layer rather than on the child alone — pass `disabled` to `DropdownMenuTrigger`, not to your own child element, or the open handler still fires.
65
65
 
66
+ `className` and `style` land on the trigger's anchor wrapper, the node the parent lays out and the web surface measures. With `asChild`, keep the button's visual chrome on the child and use the trigger props for anchor geometry.
67
+
66
68
  ## Controlled
67
69
 
68
70
  ```tsx
@@ -78,18 +80,32 @@ Uncontrolled by default; pass `open` to take over. `onOpenChange` fires either w
78
80
  ## Checkbox and radio rows
79
81
 
80
82
  ```tsx
83
+ import { Check_Stroke2_Corner0_Rounded as CheckIcon } from '@oxyhq/bloom/icons';
84
+
81
85
  <DropdownMenuCheckboxItem checked={dense} onCheckedChange={setDense} keepOpen>
82
86
  Dense rows
83
87
  </DropdownMenuCheckboxItem>
84
88
 
85
89
  <DropdownMenuRadioGroup value={sort} onValueChange={setSort}>
86
- <DropdownMenuRadioItem value="newest">Newest</DropdownMenuRadioItem>
87
- <DropdownMenuRadioItem value="oldest">Oldest</DropdownMenuRadioItem>
90
+ <DropdownMenuRadioItem
91
+ value="newest"
92
+ indicator={<CheckIcon size="sm" />}
93
+ indicatorPosition="trailing">
94
+ Newest
95
+ </DropdownMenuRadioItem>
96
+ <DropdownMenuRadioItem
97
+ value="oldest"
98
+ indicator={<CheckIcon size="sm" />}
99
+ indicatorPosition="trailing">
100
+ Oldest
101
+ </DropdownMenuRadioItem>
88
102
  </DropdownMenuRadioGroup>
89
103
  ```
90
104
 
91
105
  Both announce their state as `aria-checked`, which is the spelling react-native-web reads and React Native folds back into `accessibilityState` — so it reaches assistive tech on both platforms.
92
106
 
107
+ The established defaults stay unchanged: checkbox rows use a check and radio rows use a dot, both in the leading gutter. `indicator` replaces that selected mark, `indicatorPosition="trailing"` moves its reserved gutter to the opposite edge, and `indicator={null}` suppresses the visual mark without removing `aria-checked`. These props are implemented once by the shared row factory, so `ContextMenu` and `Menubar` receive the identical contract.
108
+
93
109
  ## Sub-menus: a flyout on web, an inline disclosure on native
94
110
 
95
111
  The API is one thing on both platforms — a shadcn call site ports across unchanged — and the presentation is the platform's own, matching what each platform's upstream does.
@@ -97,7 +113,12 @@ The API is one thing on both platforms — a shadcn call site ports across uncha
97
113
  ```tsx
98
114
  <DropdownMenuSub>
99
115
  <DropdownMenuSubTrigger>Send to…</DropdownMenuSubTrigger>
100
- <DropdownMenuSubContent>
116
+ <DropdownMenuSubContent
117
+ side="right"
118
+ align="start"
119
+ sideOffset={2}
120
+ className="w-[150px]"
121
+ testID="effort-menu">
101
122
  <DropdownMenuItem>Email</DropdownMenuItem>
102
123
  <DropdownMenuItem>Messages</DropdownMenuItem>
103
124
  </DropdownMenuSubContent>
@@ -115,6 +136,8 @@ The API is one thing on both platforms — a shadcn call site ports across uncha
115
136
 
116
137
  **On native** it is an inline disclosure: the trigger expands its content in place, under the row, and the chevron swaps between down and up. react-native-reusables renders it the same way there, and a menu on native is a bottom sheet — there is nowhere for a flyout to fly to.
117
138
 
139
+ `DropdownMenuSubContent` accepts `side="left" | "right"`, `align`, `sideOffset`, `alignOffset`, `minWidth`, `maxWidth`, `className`, `style`, `label` and `testID`. Web applies the geometry to the flyout and still fit-flip-clamps it; native keeps the same API, forwards identity and styling to the inline disclosure, and ignores flyout-only placement.
140
+
118
141
  The split is a build-time one, not a `Platform.OS` branch: `floating/menu-sub-flyout.tsx` and `floating/menu-sub-inline.tsx` are passed to `createMenuRows` by each family's own platform fork, so the web-only `FloatingPanel` never reaches a native bundle.
119
142
 
120
143
  Verified in a real browser by `scripts/verify-submenu-flyout.mjs` — jest can see none of it.
@@ -57,12 +57,14 @@ function ContextMenuTrigger({
57
57
  asChild,
58
58
  disabled,
59
59
  label,
60
+ className,
60
61
  style,
61
62
  testID
62
63
  }) {
63
64
  const menu = (0, _context2.useContextMenu)();
64
65
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_TriggerSlot.TriggerSlot, {
65
66
  asChild: asChild,
67
+ className: className,
66
68
  style: style,
67
69
  testID: testID,
68
70
  handle: {
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_SheetShell","_constants","_context","_menuRows","_menuSubInline","_TriggerSlot","_useSheetOpenBridge","_context2","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ContextMenu","children","onOpenChange","open","setOpen","useState","value","useMemo","openAt","close","anchor","jsx","ContextMenuProvider","ContextMenuTrigger","asChild","disabled","label","style","testID","menu","useContextMenu","TriggerSlot","handle","onPress","onLongPress","accessibilityLabel","accessibilityRole","MENU_TRIGGER_POPUP","ContextMenuContent","useCallback","next","control","onSheetClose","useSheetOpenBridge","surface","presentation","SheetShell","onClose","contentStyle","MenuSurfaceProvider","rows","createMenuRows","createInlineMenuSub","ContextMenuItem","exports","Item","ContextMenuCheckboxItem","CheckboxItem","ContextMenuRadioGroup","RadioGroup","ContextMenuRadioItem","RadioItem","ContextMenuLabel","Label","ContextMenuSeparator","Separator","ContextMenuShortcut","Shortcut","ContextMenuGroup","Group","ContextMenuSub","Sub","ContextMenuSubTrigger","SubTrigger","ContextMenuSubContent","SubContent"],"sourceRoot":"../../../src","sources":["context-menu/ContextMenu.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_SheetShell","_constants","_context","_menuRows","_menuSubInline","_TriggerSlot","_useSheetOpenBridge","_context2","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ContextMenu","children","onOpenChange","open","setOpen","useState","value","useMemo","openAt","close","anchor","jsx","ContextMenuProvider","ContextMenuTrigger","asChild","disabled","label","className","style","testID","menu","useContextMenu","TriggerSlot","handle","onPress","onLongPress","accessibilityLabel","accessibilityRole","MENU_TRIGGER_POPUP","ContextMenuContent","useCallback","next","control","onSheetClose","useSheetOpenBridge","surface","presentation","SheetShell","onClose","contentStyle","MenuSurfaceProvider","rows","createMenuRows","createInlineMenuSub","ContextMenuItem","exports","Item","ContextMenuCheckboxItem","CheckboxItem","ContextMenuRadioGroup","RadioGroup","ContextMenuRadioItem","RadioItem","ContextMenuLabel","Label","ContextMenuSeparator","Separator","ContextMenuShortcut","Shortcut","ContextMenuGroup","Group","ContextMenuSub","Sub","ContextMenuSubTrigger","SubTrigger","ContextMenuSubContent","SubContent"],"sourceRoot":"../../../src","sources":["context-menu/ContextMenu.tsx"],"mappings":"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","ignoreList":[]}
@@ -57,6 +57,7 @@ function ContextMenuTrigger({
57
57
  asChild,
58
58
  disabled,
59
59
  label,
60
+ className,
60
61
  style,
61
62
  testID
62
63
  }) {
@@ -90,6 +91,7 @@ function ContextMenuTrigger({
90
91
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_TriggerSlot.TriggerSlot, {
91
92
  asChild: asChild,
92
93
  anchorRef: wrapperRef,
94
+ className: className,
93
95
  style: style,
94
96
  testID: testID,
95
97
  handle: {
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_constants","_context","_FloatingPanel","_menuRows","_menuSubFlyout","_shared","_TriggerSlot","_context2","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ContextMenu","children","onOpenChange","anchor","setAnchor","useState","value","useMemo","open","openAt","next","close","jsx","ContextMenuProvider","ContextMenuTrigger","asChild","disabled","label","style","testID","menu","useContextMenu","wrapperRef","useRef","useEffect","element","current","addEventListener","onContextMenu","event","preventDefault","top","clientY","bottom","left","clientX","right","removeEventListener","TriggerSlot","anchorRef","handle","onPress","accessibilityLabel","accessibilityRole","MENU_TRIGGER_POPUP","ContextMenuContent","side","align","sideOffset","alignOffset","dismissible","minWidth","maxWidth","className","surface","presentation","onDismiss","useCallback","FloatingPanel","role","cx","MENU_MIN_WIDTH_CLASS","MenuSurfaceProvider","rows","createMenuRows","createFlyoutMenuSub","ContextMenuItem","exports","Item","ContextMenuCheckboxItem","CheckboxItem","ContextMenuRadioGroup","RadioGroup","ContextMenuRadioItem","RadioItem","ContextMenuLabel","Label","ContextMenuSeparator","Separator","ContextMenuShortcut","Shortcut","ContextMenuGroup","Group","ContextMenuSub","Sub","ContextMenuSubTrigger","SubTrigger","ContextMenuSubContent","SubContent"],"sourceRoot":"../../../src","sources":["context-menu/ContextMenu.web.tsx"],"mappings":";;;;;;;;;;AAQA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AAGA,IAAAC,UAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AACA,IAAAG,cAAA,GAAAH,OAAA;AACA,IAAAI,SAAA,GAAAJ,OAAA;AACA,IAAAK,cAAA,GAAAL,OAAA;AACA,IAAAM,OAAA,GAAAN,OAAA;AACA,IAAAO,YAAA,GAAAP,OAAA;AAEA,IAAAQ,SAAA,GAAAR,OAAA;AAAgE,IAAAS,WAAA,GAAAT,OAAA;AAAA,SAAAD,wBAAAW,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAb,uBAAA,YAAAA,CAAAW,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;AAnBhE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAmBO,SAASkB,WAAWA,CAAC;EAAEC,QAAQ;EAAEC;AAA+B,CAAC,EAAE;EACxE,MAAM,CAACC,MAAM,EAAEC,SAAS,CAAC,GAAG,IAAAC,eAAQ,EAAwB,IAAI,CAAC;EAEjE,MAAMC,KAAK,GAAG,IAAAC,cAAO,EACnB,OAAO;IACL;IACA;IACAC,IAAI,EAAEL,MAAM,KAAK,IAAI;IACrBM,MAAM,EAAGC,IAA2B,IAAK;MACvCN,SAAS,CAACM,IAAI,CAAC;MACfR,YAAY,GAAGQ,IAAI,KAAK,IAAI,CAAC;IAC/B,CAAC;IACDC,KAAK,EAAEA,CAAA,KAAM;MACXP,SAAS,CAAC,IAAI,CAAC;MACfF,YAAY,GAAG,KAAK,CAAC;IACvB,CAAC;IACDC;EACF,CAAC,CAAC,EACF,CAACA,MAAM,EAAED,YAAY,CACvB,CAAC;EAED,oBAAO,IAAAtB,WAAA,CAAAgC,GAAA,EAACjC,SAAA,CAAAkC,mBAAmB;IAACP,KAAK,EAAEA,KAAM;IAAAL,QAAA,EAAEA;EAAQ,CAAsB,CAAC;AAC5E;AAEO,SAASa,kBAAkBA,CAAC;EACjCb,QAAQ;EACRc,OAAO;EACPC,QAAQ;EACRC,KAAK;EACLC,KAAK;EACLC;AACuB,CAAC,EAAE;EAC1B,MAAMC,IAAI,GAAG,IAAAC,wBAAc,EAAC,CAAC;EAC7B,MAAMC,UAAU,GAAG,IAAAC,aAAM,EAAc,IAAI,CAAC;EAC5C,MAAM;IAAEd;EAAO,CAAC,GAAGW,IAAI;;EAEvB;EACA;EACA;EACA;EACA;EACA,IAAAI,gBAAS,EAAC,MAAM;IACd,IAAIR,QAAQ,EAAE;IACd,MAAMS,OAAO,GAAGH,UAAU,CAACI,OAAwC;IACnE,IAAI,OAAOD,OAAO,EAAEE,gBAAgB,KAAK,UAAU,EAAE;IAErD,MAAMC,aAAa,GAAIC,KAAiB,IAAK;MAC3CA,KAAK,CAACC,cAAc,CAAC,CAAC;MACtBrB,MAAM,CAAC;QACLsB,GAAG,EAAEF,KAAK,CAACG,OAAO;QAClBC,MAAM,EAAEJ,KAAK,CAACG,OAAO;QACrBE,IAAI,EAAEL,KAAK,CAACM,OAAO;QACnBC,KAAK,EAAEP,KAAK,CAACM;MACf,CAAC,CAAC;IACJ,CAAC;IACDV,OAAO,CAACE,gBAAgB,CAAC,aAAa,EAAEC,aAAa,CAAC;IACtD,OAAO,MAAMH,OAAO,CAACY,mBAAmB,CAAC,aAAa,EAAET,aAAa,CAAC;EACxE,CAAC,EAAE,CAACnB,MAAM,EAAEO,QAAQ,CAAC,CAAC;EAEtB,oBACE,IAAApC,WAAA,CAAAgC,GAAA,EAAClC,YAAA,CAAA4D,WAAW;IACVvB,OAAO,EAAEA,OAAQ;IACjBwB,SAAS,EAAEjB,UAAW;IACtBJ,KAAK,EAAEA,KAAM;IACbC,MAAM,EAAEA,MAAO;IACfqB,MAAM,EAAE;MACN;MACA;MACAC,OAAO,EAAEA,CAAA,KAAM,CAAC,CAAC;MACjBzB,QAAQ;MACR0B,kBAAkB,EAAEzB,KAAK;MACzB0B,iBAAiB,EAAE,QAAQ;MAC3B,eAAe,EAAEC,6BAAkB;MACnC,eAAe,EAAExB,IAAI,CAACZ;IACxB,CAAE;IAAAP,QAAA,EACDA;EAAQ,CACE,CAAC;AAElB;AAEO,SAAS4C,kBAAkBA,CAAC;EACjC5C,QAAQ;EACRgB,KAAK,GAAG,cAAc;EACtB6B,IAAI;EACJC,KAAK,GAAG,OAAO;EACf;EACA;EACA;EACAC,UAAU,GAAG,CAAC;EACdC,WAAW;EACXC,WAAW;EACXC,QAAQ;EACRC,QAAQ;EACRC,SAAS;EACTnC,KAAK;EACLC;AACuB,CAAC,EAAE;EAC1B,MAAMC,IAAI,GAAG,IAAAC,wBAAc,EAAC,CAAC;EAC7B,MAAMiC,OAAO,GAAG,IAAA/C,cAAO,EACrB,OAAO;IAAEI,KAAK,EAAES,IAAI,CAACT,KAAK;IAAE4C,YAAY,EAAE;EAAW,CAAC,CAAC,EACvD,CAACnC,IAAI,CAACT,KAAK,CACb,CAAC;EACD,MAAM6C,SAAS,GAAG,IAAAC,kBAAW,EAAC,MAAMrC,IAAI,CAACT,KAAK,CAAC,CAAC,EAAE,CAACS,IAAI,CAAC,CAAC;EAEzD,oBACE,IAAAxC,WAAA,CAAAgC,GAAA,EAACtC,cAAA,CAAAoF,aAAa;IACZlD,IAAI,EAAEY,IAAI,CAACZ,IAAK;IAChBL,MAAM,EAAEiB,IAAI,CAACjB,MAAO;IACpBwD,IAAI,EAAC,MAAM;IACX1C,KAAK,EAAEA,KAAM;IACb6B,IAAI,EAAEA,IAAK;IACXC,KAAK,EAAEA,KAAM;IACbC,UAAU,EAAEA,UAAW;IACvBC,WAAW,EAAEA,WAAY;IACzBC,WAAW,EAAEA,WAAY;IACzBC,QAAQ,EAAEA,QAAS;IACnBC,QAAQ,EAAEA,QAAS;IACnBI,SAAS,EAAEA,SAAU;IACrBH,SAAS,EAAE,IAAAO,UAAE,EAACC,+BAAoB,EAAER,SAAS,CAAE;IAC/CnC,KAAK,EAAEA,KAAM;IACbC,MAAM,EAAEA,MAAO;IAAAlB,QAAA,eACf,IAAArB,WAAA,CAAAgC,GAAA,EAACvC,QAAA,CAAAyF,mBAAmB;MAACxD,KAAK,EAAEgD,OAAQ;MAAArD,QAAA,EAAEA;IAAQ,CAAsB;EAAC,CACxD,CAAC;AAEpB;AAEA,MAAM8D,IAAI,GAAG,IAAAC,wBAAc,EAAC,aAAa,EAAEC,kCAAmB,CAAC;AAExD,MAAMC,eAAe,GAAAC,OAAA,CAAAD,eAAA,GAAGH,IAAI,CAACK,IAAI;AACjC,MAAMC,uBAAuB,GAAAF,OAAA,CAAAE,uBAAA,GAAGN,IAAI,CAACO,YAAY;AACjD,MAAMC,qBAAqB,GAAAJ,OAAA,CAAAI,qBAAA,GAAGR,IAAI,CAACS,UAAU;AAC7C,MAAMC,oBAAoB,GAAAN,OAAA,CAAAM,oBAAA,GAAGV,IAAI,CAACW,SAAS;AAC3C,MAAMC,gBAAgB,GAAAR,OAAA,CAAAQ,gBAAA,GAAGZ,IAAI,CAACa,KAAK;AACnC,MAAMC,oBAAoB,GAAAV,OAAA,CAAAU,oBAAA,GAAGd,IAAI,CAACe,SAAS;AAC3C,MAAMC,mBAAmB,GAAAZ,OAAA,CAAAY,mBAAA,GAAGhB,IAAI,CAACiB,QAAQ;AACzC,MAAMC,gBAAgB,GAAAd,OAAA,CAAAc,gBAAA,GAAGlB,IAAI,CAACmB,KAAK;AACnC,MAAMC,cAAc,GAAAhB,OAAA,CAAAgB,cAAA,GAAGpB,IAAI,CAACqB,GAAG;AAC/B,MAAMC,qBAAqB,GAAAlB,OAAA,CAAAkB,qBAAA,GAAGtB,IAAI,CAACuB,UAAU;AAC7C,MAAMC,qBAAqB,GAAApB,OAAA,CAAAoB,qBAAA,GAAGxB,IAAI,CAACyB,UAAU","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_constants","_context","_FloatingPanel","_menuRows","_menuSubFlyout","_shared","_TriggerSlot","_context2","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ContextMenu","children","onOpenChange","anchor","setAnchor","useState","value","useMemo","open","openAt","next","close","jsx","ContextMenuProvider","ContextMenuTrigger","asChild","disabled","label","className","style","testID","menu","useContextMenu","wrapperRef","useRef","useEffect","element","current","addEventListener","onContextMenu","event","preventDefault","top","clientY","bottom","left","clientX","right","removeEventListener","TriggerSlot","anchorRef","handle","onPress","accessibilityLabel","accessibilityRole","MENU_TRIGGER_POPUP","ContextMenuContent","side","align","sideOffset","alignOffset","dismissible","minWidth","maxWidth","surface","presentation","onDismiss","useCallback","FloatingPanel","role","cx","MENU_MIN_WIDTH_CLASS","MenuSurfaceProvider","rows","createMenuRows","createFlyoutMenuSub","ContextMenuItem","exports","Item","ContextMenuCheckboxItem","CheckboxItem","ContextMenuRadioGroup","RadioGroup","ContextMenuRadioItem","RadioItem","ContextMenuLabel","Label","ContextMenuSeparator","Separator","ContextMenuShortcut","Shortcut","ContextMenuGroup","Group","ContextMenuSub","Sub","ContextMenuSubTrigger","SubTrigger","ContextMenuSubContent","SubContent"],"sourceRoot":"../../../src","sources":["context-menu/ContextMenu.web.tsx"],"mappings":"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","ignoreList":[]}