@oxyhq/bloom 1.0.3 → 1.0.5

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 (123) hide show
  1. package/docs/dropdown-menu.mdx +27 -4
  2. package/lib/commonjs/context-menu/ContextMenu.js +2 -0
  3. package/lib/commonjs/context-menu/ContextMenu.js.map +1 -1
  4. package/lib/commonjs/context-menu/ContextMenu.web.js +2 -0
  5. package/lib/commonjs/context-menu/ContextMenu.web.js.map +1 -1
  6. package/lib/commonjs/dialog/SheetShell.js +6 -1
  7. package/lib/commonjs/dialog/SheetShell.js.map +1 -1
  8. package/lib/commonjs/dropdown-menu/DropdownMenu.js +7 -1
  9. package/lib/commonjs/dropdown-menu/DropdownMenu.js.map +1 -1
  10. package/lib/commonjs/dropdown-menu/DropdownMenu.web.js +2 -0
  11. package/lib/commonjs/dropdown-menu/DropdownMenu.web.js.map +1 -1
  12. package/lib/commonjs/floating/TriggerSlot.js +3 -1
  13. package/lib/commonjs/floating/TriggerSlot.js.map +1 -1
  14. package/lib/commonjs/floating/constants.js +4 -1
  15. package/lib/commonjs/floating/constants.js.map +1 -1
  16. package/lib/commonjs/floating/menu-rows.js +28 -22
  17. package/lib/commonjs/floating/menu-rows.js.map +1 -1
  18. package/lib/commonjs/floating/menu-sub-flyout.js +58 -28
  19. package/lib/commonjs/floating/menu-sub-flyout.js.map +1 -1
  20. package/lib/commonjs/floating/menu-sub-inline.js +5 -1
  21. package/lib/commonjs/floating/menu-sub-inline.js.map +1 -1
  22. package/lib/commonjs/floating/shared.js +2 -2
  23. package/lib/commonjs/floating/shared.js.map +1 -1
  24. package/lib/commonjs/popover/Popover.js +2 -0
  25. package/lib/commonjs/popover/Popover.js.map +1 -1
  26. package/lib/commonjs/popover/Popover.web.js +2 -0
  27. package/lib/commonjs/popover/Popover.web.js.map +1 -1
  28. package/lib/module/context-menu/ContextMenu.js +2 -0
  29. package/lib/module/context-menu/ContextMenu.js.map +1 -1
  30. package/lib/module/context-menu/ContextMenu.web.js +2 -0
  31. package/lib/module/context-menu/ContextMenu.web.js.map +1 -1
  32. package/lib/module/dialog/SheetShell.js +6 -1
  33. package/lib/module/dialog/SheetShell.js.map +1 -1
  34. package/lib/module/dropdown-menu/DropdownMenu.js +7 -1
  35. package/lib/module/dropdown-menu/DropdownMenu.js.map +1 -1
  36. package/lib/module/dropdown-menu/DropdownMenu.web.js +2 -0
  37. package/lib/module/dropdown-menu/DropdownMenu.web.js.map +1 -1
  38. package/lib/module/floating/TriggerSlot.js +5 -3
  39. package/lib/module/floating/TriggerSlot.js.map +1 -1
  40. package/lib/module/floating/constants.js +3 -0
  41. package/lib/module/floating/constants.js.map +1 -1
  42. package/lib/module/floating/menu-rows.js +29 -23
  43. package/lib/module/floating/menu-rows.js.map +1 -1
  44. package/lib/module/floating/menu-sub-flyout.js +58 -28
  45. package/lib/module/floating/menu-sub-flyout.js.map +1 -1
  46. package/lib/module/floating/menu-sub-inline.js +5 -1
  47. package/lib/module/floating/menu-sub-inline.js.map +1 -1
  48. package/lib/module/floating/shared.js +3 -3
  49. package/lib/module/floating/shared.js.map +1 -1
  50. package/lib/module/popover/Popover.js +2 -0
  51. package/lib/module/popover/Popover.js.map +1 -1
  52. package/lib/module/popover/Popover.web.js +2 -0
  53. package/lib/module/popover/Popover.web.js.map +1 -1
  54. package/lib/typescript/commonjs/context-menu/ContextMenu.d.ts +1 -1
  55. package/lib/typescript/commonjs/context-menu/ContextMenu.d.ts.map +1 -1
  56. package/lib/typescript/commonjs/context-menu/ContextMenu.web.d.ts +1 -1
  57. package/lib/typescript/commonjs/context-menu/ContextMenu.web.d.ts.map +1 -1
  58. package/lib/typescript/commonjs/context-menu/types.d.ts +2 -0
  59. package/lib/typescript/commonjs/context-menu/types.d.ts.map +1 -1
  60. package/lib/typescript/commonjs/dialog/SheetShell.d.ts +4 -1
  61. package/lib/typescript/commonjs/dialog/SheetShell.d.ts.map +1 -1
  62. package/lib/typescript/commonjs/dropdown-menu/DropdownMenu.d.ts +2 -2
  63. package/lib/typescript/commonjs/dropdown-menu/DropdownMenu.d.ts.map +1 -1
  64. package/lib/typescript/commonjs/dropdown-menu/DropdownMenu.web.d.ts +1 -1
  65. package/lib/typescript/commonjs/dropdown-menu/DropdownMenu.web.d.ts.map +1 -1
  66. package/lib/typescript/commonjs/floating/TriggerSlot.d.ts +3 -1
  67. package/lib/typescript/commonjs/floating/TriggerSlot.d.ts.map +1 -1
  68. package/lib/typescript/commonjs/floating/constants.d.ts +2 -0
  69. package/lib/typescript/commonjs/floating/constants.d.ts.map +1 -1
  70. package/lib/typescript/commonjs/floating/menu-rows.d.ts.map +1 -1
  71. package/lib/typescript/commonjs/floating/menu-sub-flyout.d.ts.map +1 -1
  72. package/lib/typescript/commonjs/floating/menu-sub-inline.d.ts.map +1 -1
  73. package/lib/typescript/commonjs/floating/shared.d.ts +2 -2
  74. package/lib/typescript/commonjs/floating/shared.d.ts.map +1 -1
  75. package/lib/typescript/commonjs/floating/types.d.ts +29 -3
  76. package/lib/typescript/commonjs/floating/types.d.ts.map +1 -1
  77. package/lib/typescript/commonjs/popover/Popover.d.ts +1 -1
  78. package/lib/typescript/commonjs/popover/Popover.d.ts.map +1 -1
  79. package/lib/typescript/commonjs/popover/Popover.web.d.ts +1 -1
  80. package/lib/typescript/commonjs/popover/Popover.web.d.ts.map +1 -1
  81. package/lib/typescript/module/context-menu/ContextMenu.d.ts +1 -1
  82. package/lib/typescript/module/context-menu/ContextMenu.d.ts.map +1 -1
  83. package/lib/typescript/module/context-menu/ContextMenu.web.d.ts +1 -1
  84. package/lib/typescript/module/context-menu/ContextMenu.web.d.ts.map +1 -1
  85. package/lib/typescript/module/context-menu/types.d.ts +2 -0
  86. package/lib/typescript/module/context-menu/types.d.ts.map +1 -1
  87. package/lib/typescript/module/dialog/SheetShell.d.ts +4 -1
  88. package/lib/typescript/module/dialog/SheetShell.d.ts.map +1 -1
  89. package/lib/typescript/module/dropdown-menu/DropdownMenu.d.ts +2 -2
  90. package/lib/typescript/module/dropdown-menu/DropdownMenu.d.ts.map +1 -1
  91. package/lib/typescript/module/dropdown-menu/DropdownMenu.web.d.ts +1 -1
  92. package/lib/typescript/module/dropdown-menu/DropdownMenu.web.d.ts.map +1 -1
  93. package/lib/typescript/module/floating/TriggerSlot.d.ts +3 -1
  94. package/lib/typescript/module/floating/TriggerSlot.d.ts.map +1 -1
  95. package/lib/typescript/module/floating/constants.d.ts +2 -0
  96. package/lib/typescript/module/floating/constants.d.ts.map +1 -1
  97. package/lib/typescript/module/floating/menu-rows.d.ts.map +1 -1
  98. package/lib/typescript/module/floating/menu-sub-flyout.d.ts.map +1 -1
  99. package/lib/typescript/module/floating/menu-sub-inline.d.ts.map +1 -1
  100. package/lib/typescript/module/floating/shared.d.ts +2 -2
  101. package/lib/typescript/module/floating/shared.d.ts.map +1 -1
  102. package/lib/typescript/module/floating/types.d.ts +29 -3
  103. package/lib/typescript/module/floating/types.d.ts.map +1 -1
  104. package/lib/typescript/module/popover/Popover.d.ts +1 -1
  105. package/lib/typescript/module/popover/Popover.d.ts.map +1 -1
  106. package/lib/typescript/module/popover/Popover.web.d.ts +1 -1
  107. package/lib/typescript/module/popover/Popover.web.d.ts.map +1 -1
  108. package/package.json +1 -1
  109. package/src/context-menu/ContextMenu.tsx +2 -0
  110. package/src/context-menu/ContextMenu.web.tsx +2 -0
  111. package/src/context-menu/types.ts +2 -0
  112. package/src/dialog/SheetShell.tsx +10 -2
  113. package/src/dropdown-menu/DropdownMenu.tsx +11 -1
  114. package/src/dropdown-menu/DropdownMenu.web.tsx +2 -0
  115. package/src/floating/TriggerSlot.tsx +7 -3
  116. package/src/floating/constants.ts +3 -1
  117. package/src/floating/menu-rows.tsx +36 -25
  118. package/src/floating/menu-sub-flyout.tsx +62 -28
  119. package/src/floating/menu-sub-inline.tsx +12 -2
  120. package/src/floating/shared.tsx +11 -4
  121. package/src/floating/types.ts +29 -3
  122. package/src/popover/Popover.tsx +2 -0
  123. package/src/popover/Popover.web.tsx +2 -0
@@ -1 +1 @@
1
- {"version":3,"file":"SheetShell.d.ts","sourceRoot":"","sources":["../../../../src/dialog/SheetShell.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,KAAsE,MAAM,OAAO,CAAC;AAC3F,OAAO,EAA+B,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAO3F,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAElD,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,kBAAkB,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,qEAAqE;IACrE,YAAY,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IACpC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,EACzB,OAAO,EACP,KAAK,EACL,MAAM,EACN,OAAO,EACP,YAAY,EACZ,QAAQ,GACT,EAAE,eAAe,2CAgGjB"}
1
+ {"version":3,"file":"SheetShell.d.ts","sourceRoot":"","sources":["../../../../src/dialog/SheetShell.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,KAAsE,MAAM,OAAO,CAAC;AAC3F,OAAO,EAA+B,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAQ3F,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAElD,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,kBAAkB,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,6DAA6D;IAC7D,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,qEAAqE;IACrE,YAAY,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IACpC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,EACzB,OAAO,EACP,KAAK,EACL,MAAM,EACN,OAAO,EACP,gBAAgB,EAChB,YAAY,EACZ,aAAa,EACb,QAAQ,GACT,EAAE,eAAe,2CAkGjB"}
@@ -15,8 +15,8 @@
15
15
  import React from 'react';
16
16
  import type { DropdownMenuContentProps, DropdownMenuProps, DropdownMenuTriggerProps } from './types';
17
17
  export declare function DropdownMenu({ children, open, defaultOpen, onOpenChange, }: DropdownMenuProps): import("react/jsx-runtime").JSX.Element;
18
- export declare function DropdownMenuTrigger({ children, asChild, disabled, label, style, testID, }: DropdownMenuTriggerProps): import("react/jsx-runtime").JSX.Element;
19
- export declare function DropdownMenuContent({ children, label, style, }: DropdownMenuContentProps): import("react/jsx-runtime").JSX.Element;
18
+ export declare function DropdownMenuTrigger({ children, asChild, disabled, label, className, style, testID, }: DropdownMenuTriggerProps): import("react/jsx-runtime").JSX.Element;
19
+ export declare function DropdownMenuContent({ children, label, className, style, testID, }: DropdownMenuContentProps): import("react/jsx-runtime").JSX.Element;
20
20
  export declare const DropdownMenuItem: React.ComponentType<import("../floating").MenuRowProps>;
21
21
  export declare const DropdownMenuCheckboxItem: React.ComponentType<import("../floating").MenuCheckboxRowProps>;
22
22
  export declare const DropdownMenuRadioGroup: React.ComponentType<import("../floating").MenuRadioGroupProps>;
@@ -1 +1 @@
1
- {"version":3,"file":"DropdownMenu.d.ts","sourceRoot":"","sources":["../../../../src/dropdown-menu/DropdownMenu.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,KAA0B,MAAM,OAAO,CAAC;AAY/C,OAAO,KAAK,EACV,wBAAwB,EACxB,iBAAiB,EACjB,wBAAwB,EACzB,MAAM,SAAS,CAAC;AAEjB,wBAAgB,YAAY,CAAC,EAC3B,QAAQ,EACR,IAAI,EACJ,WAAmB,EACnB,YAAY,GACb,EAAE,iBAAiB,2CAUnB;AAED,wBAAgB,mBAAmB,CAAC,EAClC,QAAQ,EACR,OAAO,EACP,QAAQ,EACR,KAAK,EACL,KAAK,EACL,MAAM,GACP,EAAE,wBAAwB,2CAoB1B;AAED,wBAAgB,mBAAmB,CAAC,EAClC,QAAQ,EACR,KAAc,EACd,KAAK,GACN,EAAE,wBAAwB,2CAa1B;AAID,eAAO,MAAM,gBAAgB,yDAAY,CAAC;AAC1C,eAAO,MAAM,wBAAwB,iEAAoB,CAAC;AAC1D,eAAO,MAAM,sBAAsB,gEAAkB,CAAC;AACtD,eAAO,MAAM,qBAAqB,8DAAiB,CAAC;AACpD,eAAO,MAAM,iBAAiB,2DAAa,CAAC;AAC5C,eAAO,MAAM,qBAAqB,4CAAiB,CAAC;AACpD,eAAO,MAAM,oBAAoB,8DAAgB,CAAC;AAClD,eAAO,MAAM,iBAAiB,2DAAa,CAAC;AAC5C,eAAO,MAAM,eAAe,yDAAW,CAAC;AACxC,eAAO,MAAM,sBAAsB,gEAAkB,CAAC;AACtD,eAAO,MAAM,sBAAsB,gEAAkB,CAAC"}
1
+ {"version":3,"file":"DropdownMenu.d.ts","sourceRoot":"","sources":["../../../../src/dropdown-menu/DropdownMenu.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,KAA0B,MAAM,OAAO,CAAC;AAY/C,OAAO,KAAK,EACV,wBAAwB,EACxB,iBAAiB,EACjB,wBAAwB,EACzB,MAAM,SAAS,CAAC;AAEjB,wBAAgB,YAAY,CAAC,EAC3B,QAAQ,EACR,IAAI,EACJ,WAAmB,EACnB,YAAY,GACb,EAAE,iBAAiB,2CAUnB;AAED,wBAAgB,mBAAmB,CAAC,EAClC,QAAQ,EACR,OAAO,EACP,QAAQ,EACR,KAAK,EACL,SAAS,EACT,KAAK,EACL,MAAM,GACP,EAAE,wBAAwB,2CAqB1B;AAED,wBAAgB,mBAAmB,CAAC,EAClC,QAAQ,EACR,KAAc,EACd,SAAS,EACT,KAAK,EACL,MAAM,GACP,EAAE,wBAAwB,2CAmB1B;AAID,eAAO,MAAM,gBAAgB,yDAAY,CAAC;AAC1C,eAAO,MAAM,wBAAwB,iEAAoB,CAAC;AAC1D,eAAO,MAAM,sBAAsB,gEAAkB,CAAC;AACtD,eAAO,MAAM,qBAAqB,8DAAiB,CAAC;AACpD,eAAO,MAAM,iBAAiB,2DAAa,CAAC;AAC5C,eAAO,MAAM,qBAAqB,4CAAiB,CAAC;AACpD,eAAO,MAAM,oBAAoB,8DAAgB,CAAC;AAClD,eAAO,MAAM,iBAAiB,2DAAa,CAAC;AAC5C,eAAO,MAAM,eAAe,yDAAW,CAAC;AACxC,eAAO,MAAM,sBAAsB,gEAAkB,CAAC;AACtD,eAAO,MAAM,sBAAsB,gEAAkB,CAAC"}
@@ -9,7 +9,7 @@
9
9
  import React from 'react';
10
10
  import type { DropdownMenuContentProps, DropdownMenuProps, DropdownMenuTriggerProps } from './types';
11
11
  export declare function DropdownMenu({ children, open, defaultOpen, onOpenChange, }: DropdownMenuProps): import("react/jsx-runtime").JSX.Element;
12
- export declare function DropdownMenuTrigger({ children, asChild, disabled, label, style, testID, }: DropdownMenuTriggerProps): import("react/jsx-runtime").JSX.Element;
12
+ export declare function DropdownMenuTrigger({ children, asChild, disabled, label, className, style, testID, }: DropdownMenuTriggerProps): import("react/jsx-runtime").JSX.Element;
13
13
  export declare function DropdownMenuContent({ children, label, side, align, sideOffset, alignOffset, dismissible, minWidth, maxWidth, className, style, testID, }: DropdownMenuContentProps): import("react/jsx-runtime").JSX.Element;
14
14
  export declare const DropdownMenuItem: React.ComponentType<import("../floating").MenuRowProps>;
15
15
  export declare const DropdownMenuCheckboxItem: React.ComponentType<import("../floating").MenuCheckboxRowProps>;
@@ -1 +1 @@
1
- {"version":3,"file":"DropdownMenu.web.d.ts","sourceRoot":"","sources":["../../../../src/dropdown-menu/DropdownMenu.web.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAAuC,MAAM,OAAO,CAAC;AAa5D,OAAO,KAAK,EACV,wBAAwB,EACxB,iBAAiB,EACjB,wBAAwB,EACzB,MAAM,SAAS,CAAC;AAEjB,wBAAgB,YAAY,CAAC,EAC3B,QAAQ,EACR,IAAI,EACJ,WAAmB,EACnB,YAAY,GACb,EAAE,iBAAiB,2CAUnB;AAED,wBAAgB,mBAAmB,CAAC,EAClC,QAAQ,EACR,OAAO,EACP,QAAQ,EACR,KAAK,EACL,KAAK,EACL,MAAM,GACP,EAAE,wBAAwB,2CAuB1B;AAED,wBAAgB,mBAAmB,CAAC,EAClC,QAAQ,EACR,KAAc,EACd,IAAI,EACJ,KAAe,EACf,UAAU,EACV,WAAW,EACX,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,KAAK,EACL,MAAM,GACP,EAAE,wBAAwB,2CAgC1B;AAID,eAAO,MAAM,gBAAgB,yDAAY,CAAC;AAC1C,eAAO,MAAM,wBAAwB,iEAAoB,CAAC;AAC1D,eAAO,MAAM,sBAAsB,gEAAkB,CAAC;AACtD,eAAO,MAAM,qBAAqB,8DAAiB,CAAC;AACpD,eAAO,MAAM,iBAAiB,2DAAa,CAAC;AAC5C,eAAO,MAAM,qBAAqB,4CAAiB,CAAC;AACpD,eAAO,MAAM,oBAAoB,8DAAgB,CAAC;AAClD,eAAO,MAAM,iBAAiB,2DAAa,CAAC;AAC5C,eAAO,MAAM,eAAe,yDAAW,CAAC;AACxC,eAAO,MAAM,sBAAsB,gEAAkB,CAAC;AACtD,eAAO,MAAM,sBAAsB,gEAAkB,CAAC"}
1
+ {"version":3,"file":"DropdownMenu.web.d.ts","sourceRoot":"","sources":["../../../../src/dropdown-menu/DropdownMenu.web.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAAuC,MAAM,OAAO,CAAC;AAa5D,OAAO,KAAK,EACV,wBAAwB,EACxB,iBAAiB,EACjB,wBAAwB,EACzB,MAAM,SAAS,CAAC;AAEjB,wBAAgB,YAAY,CAAC,EAC3B,QAAQ,EACR,IAAI,EACJ,WAAmB,EACnB,YAAY,GACb,EAAE,iBAAiB,2CAUnB;AAED,wBAAgB,mBAAmB,CAAC,EAClC,QAAQ,EACR,OAAO,EACP,QAAQ,EACR,KAAK,EACL,SAAS,EACT,KAAK,EACL,MAAM,GACP,EAAE,wBAAwB,2CAwB1B;AAED,wBAAgB,mBAAmB,CAAC,EAClC,QAAQ,EACR,KAAc,EACd,IAAI,EACJ,KAAe,EACf,UAAU,EACV,WAAW,EACX,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,KAAK,EACL,MAAM,GACP,EAAE,wBAAwB,2CAgC1B;AAID,eAAO,MAAM,gBAAgB,yDAAY,CAAC;AAC1C,eAAO,MAAM,wBAAwB,iEAAoB,CAAC;AAC1D,eAAO,MAAM,sBAAsB,gEAAkB,CAAC;AACtD,eAAO,MAAM,qBAAqB,8DAAiB,CAAC;AACpD,eAAO,MAAM,iBAAiB,2DAAa,CAAC;AAC5C,eAAO,MAAM,qBAAqB,4CAAiB,CAAC;AACpD,eAAO,MAAM,oBAAoB,8DAAgB,CAAC;AAClD,eAAO,MAAM,iBAAiB,2DAAa,CAAC;AAC5C,eAAO,MAAM,eAAe,yDAAW,CAAC;AACxC,eAAO,MAAM,sBAAsB,gEAAkB,CAAC;AACtD,eAAO,MAAM,sBAAsB,gEAAkB,CAAC"}
@@ -33,9 +33,11 @@ export interface TriggerSlotProps {
33
33
  handle: TriggerHandleProps;
34
34
  /** Measured by the web forks to position the surface. Unused on native. */
35
35
  anchorRef?: React.RefObject<View | null>;
36
+ /** Classes for the wrapper box — the node the parent lays out. */
37
+ className?: string;
36
38
  /** Style for the wrapper box. The child styles itself. */
37
39
  style?: StyleProp<ViewStyle>;
38
40
  testID?: string;
39
41
  }
40
- export declare function TriggerSlot({ asChild, children, handle, anchorRef, style, testID, }: TriggerSlotProps): import("react/jsx-runtime").JSX.Element;
42
+ export declare function TriggerSlot({ asChild, children, handle, anchorRef, className, style, testID, }: TriggerSlotProps): import("react/jsx-runtime").JSX.Element;
41
43
  //# sourceMappingURL=TriggerSlot.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TriggerSlot.d.ts","sourceRoot":"","sources":["../../../../src/floating/TriggerSlot.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,OAAO,KAAyD,MAAM,OAAO,CAAC;AAC9E,OAAO,EAAc,IAAI,EAAE,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAKhF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAElD,MAAM,WAAW,gBAAgB;IAC/B,qEAAqE;IACrE,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,yEAAyE;IACzE,MAAM,EAAE,kBAAkB,CAAC;IAC3B,2EAA2E;IAC3E,SAAS,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;IACzC,0DAA0D;IAC1D,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAiDD,wBAAgB,WAAW,CAAC,EAC1B,OAAe,EACf,QAAQ,EACR,MAAM,EACN,SAAS,EACT,KAAK,EACL,MAAM,GACP,EAAE,gBAAgB,2CAsBlB"}
1
+ {"version":3,"file":"TriggerSlot.d.ts","sourceRoot":"","sources":["../../../../src/floating/TriggerSlot.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,OAAO,KAAyD,MAAM,OAAO,CAAC;AAC9E,OAAO,EAAc,IAAI,EAAE,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAKhF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAElD,MAAM,WAAW,gBAAgB;IAC/B,qEAAqE;IACrE,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,yEAAyE;IACzE,MAAM,EAAE,kBAAkB,CAAC;IAC3B,2EAA2E;IAC3E,SAAS,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;IACzC,kEAAkE;IAClE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,0DAA0D;IAC1D,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAiDD,wBAAgB,WAAW,CAAC,EAC1B,OAAe,EACf,QAAQ,EACR,MAAM,EACN,SAAS,EACT,SAAS,EACT,KAAK,EACL,MAAM,GACP,EAAE,gBAAgB,2CAuBlB"}
@@ -185,6 +185,8 @@ export declare const ROW_DISABLED_CLASS = "opacity-50 cursor-not-allowed";
185
185
  export declare const ROW_INSET_CLASS = "pl-space-32";
186
186
  /** `pl-8 pr-2` on the two rows that carry an out-of-flow indicator. */
187
187
  export declare const ROW_GUTTER_CLASS = "pl-space-32 pr-space-8";
188
+ /** `pl-2 pr-8` when that out-of-flow indicator sits on the trailing edge. */
189
+ export declare const ROW_GUTTER_END_CLASS = "pl-space-8 pr-space-32";
188
190
  /**
189
191
  * The row's own label: `text-sm`, no weight of its own.
190
192
  *
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../src/floating/constants.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../src/floating/constants.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"menu-rows.d.ts","sourceRoot":"","sources":["../../../../src/floating/menu-rows.tsx"],"names":[],"mappings":"AA0DA,OAAO,KAAK,EAMV,YAAY,EAGZ,cAAc,EACf,MAAM,SAAS,CAAC;AAiCjB;;;;;;;;;;GAUG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,cAAc,GAAG,YAAY,CA2MtF"}
1
+ {"version":3,"file":"menu-rows.d.ts","sourceRoot":"","sources":["../../../../src/floating/menu-rows.tsx"],"names":[],"mappings":"AA2DA,OAAO,KAAK,EAMV,YAAY,EAGZ,cAAc,EACf,MAAM,SAAS,CAAC;AAqCjB;;;;;;;;;;GAUG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,cAAc,GAAG,YAAY,CAiNtF"}
@@ -1 +1 @@
1
- {"version":3,"file":"menu-sub-flyout.d.ts","sourceRoot":"","sources":["../../../../src/floating/menu-sub-flyout.tsx"],"names":[],"mappings":"AAuDA,OAAO,KAAK,EAGV,YAAY,EAGb,MAAM,SAAS,CAAC;AA6LjB,0FAA0F;AAC1F,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,CAgOhE"}
1
+ {"version":3,"file":"menu-sub-flyout.d.ts","sourceRoot":"","sources":["../../../../src/floating/menu-sub-flyout.tsx"],"names":[],"mappings":"AAuDA,OAAO,KAAK,EAGV,YAAY,EAGb,MAAM,SAAS,CAAC;AAmMjB,0FAA0F;AAC1F,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,CA4PhE"}
@@ -1 +1 @@
1
- {"version":3,"file":"menu-sub-inline.d.ts","sourceRoot":"","sources":["../../../../src/floating/menu-sub-inline.tsx"],"names":[],"mappings":"AA2BA,OAAO,KAAK,EAEV,YAAY,EAGb,MAAM,SAAS,CAAC;AAEjB,0FAA0F;AAC1F,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,CA0EhE"}
1
+ {"version":3,"file":"menu-sub-inline.d.ts","sourceRoot":"","sources":["../../../../src/floating/menu-sub-inline.tsx"],"names":[],"mappings":"AA2BA,OAAO,KAAK,EAEV,YAAY,EAGb,MAAM,SAAS,CAAC;AAEjB,0FAA0F;AAC1F,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,CAoFhE"}
@@ -89,8 +89,8 @@ export interface MenuRowShellProps {
89
89
  destructive?: boolean;
90
90
  /** Indent to line up with the rows that carry an indicator. */
91
91
  inset?: boolean;
92
- /** This row carries an out-of-flow indicator, so it takes the full gutter. */
93
- gutter?: boolean;
92
+ /** This row carries an out-of-flow indicator at the named edge. */
93
+ gutter?: 'leading' | 'trailing';
94
94
  leading?: React.ReactNode;
95
95
  trailing?: React.ReactNode;
96
96
  /** A plain-string child, rendered as the row's own label. */
@@ -1 +1 @@
1
- {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../../src/floating/shared.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAE9D,OAAO,EAIL,KAAK,YAAY,EAClB,MAAM,6BAA6B,CAAC;AAerC;;;;;;;;;;;GAWG;AACH,wBAAgB,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,MAAM,GAAG,KAAK,GAAG,IAAI,GAAG,SAAS,CAAC,EAAE,GAAG,MAAM,CAE1E;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,GAAG;IACxD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CACxB,CAEA;AAED;;;;;;;;GAQG;AACH,MAAM,MAAM,WAAW,GAAG,UAAU,GAAG,UAAU,GAAG,OAAO,CAAC;AAE5D,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,WAAW,CAAC;IAClB,mEAAmE;IACnE,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,0CAA0C;IAC1C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;;;;;;;;OAWG;IACH,QAAQ,CAAC,EAAE,YAAY,CAAC,eAAe,CAAC,CAAC;IACzC,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,+DAA+D;IAC/D,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,8EAA8E;IAC9E,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,6DAA6D;IAC7D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,EAC3B,IAAI,EACJ,OAAO,EACP,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,WAAmB,EACnB,KAAa,EACb,MAAc,EACd,OAAO,EACP,QAAQ,EACR,KAAK,EACL,OAAO,EACP,kBAAkB,EAClB,SAAS,EACT,KAAK,EACL,MAAM,EACN,QAAQ,GACT,EAAE,iBAAiB,2CAwDnB;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,2CAEzE;AAED;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,oBAAoB,CAAC"}
1
+ {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../../src/floating/shared.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAE9D,OAAO,EAIL,KAAK,YAAY,EAClB,MAAM,6BAA6B,CAAC;AAgBrC;;;;;;;;;;;GAWG;AACH,wBAAgB,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,MAAM,GAAG,KAAK,GAAG,IAAI,GAAG,SAAS,CAAC,EAAE,GAAG,MAAM,CAE1E;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,GAAG;IACxD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CACxB,CAEA;AAED;;;;;;;;GAQG;AACH,MAAM,MAAM,WAAW,GAAG,UAAU,GAAG,UAAU,GAAG,OAAO,CAAC;AAE5D,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,WAAW,CAAC;IAClB,mEAAmE;IACnE,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,0CAA0C;IAC1C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;;;;;;;;OAWG;IACH,QAAQ,CAAC,EAAE,YAAY,CAAC,eAAe,CAAC,CAAC;IACzC,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,+DAA+D;IAC/D,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,mEAAmE;IACnE,MAAM,CAAC,EAAE,SAAS,GAAG,UAAU,CAAC;IAChC,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,6DAA6D;IAC7D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,EAC3B,IAAI,EACJ,OAAO,EACP,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,WAAmB,EACnB,KAAa,EACb,MAAM,EACN,OAAO,EACP,QAAQ,EACR,KAAK,EACL,OAAO,EACP,kBAAkB,EAClB,SAAS,EACT,KAAK,EACL,MAAM,EACN,QAAQ,GACT,EAAE,iBAAiB,2CA8DnB;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,2CAEzE;AAED;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,oBAAoB,CAAC"}
@@ -179,9 +179,8 @@ export interface OverlayTriggerProps {
179
179
  /** Accessible name. Ignored when the `asChild` child carries its own. */
180
180
  label?: string;
181
181
  /**
182
- * Appended to whatever chrome the trigger draws of its own. A trigger that
183
- * draws none (a dropdown's, a popover's) simply has nothing to append to, so
184
- * the class lands alone.
182
+ * Bare triggers apply this to the measured anchor wrapper; families whose
183
+ * trigger owns chrome append it to that chrome instead.
185
184
  */
186
185
  className?: string;
187
186
  style?: StyleProp<ViewStyle>;
@@ -250,6 +249,13 @@ export interface MenuRowProps {
250
249
  export interface MenuCheckboxRowProps extends Omit<MenuRowProps, 'onPress' | 'variant' | 'leading' | 'inset'> {
251
250
  checked: boolean;
252
251
  onCheckedChange: (checked: boolean) => void;
252
+ /**
253
+ * Mark rendered while checked. Omit for Bloom's default check; pass `null`
254
+ * to suppress it or a glyph to match a product-specific menu.
255
+ */
256
+ indicator?: React.ReactNode;
257
+ /** Where the mark sits. Defaults to the established leading gutter. */
258
+ indicatorPosition?: 'leading' | 'trailing';
253
259
  }
254
260
  export interface MenuRadioGroupProps {
255
261
  children?: React.ReactNode;
@@ -258,6 +264,13 @@ export interface MenuRadioGroupProps {
258
264
  }
259
265
  export interface MenuRadioRowProps extends Omit<MenuRowProps, 'onPress' | 'variant' | 'leading' | 'inset'> {
260
266
  value: string;
267
+ /**
268
+ * Mark rendered while this value is selected. Omit for Bloom's default dot;
269
+ * pass `null` to suppress it or a glyph to match a product-specific menu.
270
+ */
271
+ indicator?: React.ReactNode;
272
+ /** Where the mark sits. Defaults to the established leading gutter. */
273
+ indicatorPosition?: 'leading' | 'trailing';
261
274
  }
262
275
  export interface MenuLabelProps {
263
276
  children?: React.ReactNode;
@@ -292,9 +305,22 @@ export interface MenuSubTriggerProps {
292
305
  }
293
306
  export interface MenuSubContentProps {
294
307
  children?: React.ReactNode;
308
+ /** Accessible name of the flyout panel on web. */
309
+ label?: string;
310
+ /** Preferred lateral side on web. Defaults to `'right'` and may flip to fit. */
311
+ side?: Extract<FloatingSide, 'left' | 'right'>;
312
+ /** Vertical alignment against the sub trigger on web. Defaults to `'start'`. */
313
+ align?: FloatingAlign;
314
+ /** Gap from the parent panel edge on web. Defaults to Bloom's submenu seam. */
315
+ sideOffset?: number;
316
+ /** Vertical shift applied before viewport clamping on web. */
317
+ alignOffset?: number;
318
+ minWidth?: number;
319
+ maxWidth?: number;
295
320
  /** Appended to the sub panel's own classes — see {@link MenuRowProps.className}. */
296
321
  className?: string;
297
322
  style?: StyleProp<ViewStyle>;
323
+ testID?: string;
298
324
  }
299
325
  /**
300
326
  * The sub-menu trio, the ONE part of the row vocabulary that presents
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/floating/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,KAAK,EAAE,qBAAqB,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEjG,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAEhE;;;;;GAKG;AACH,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACjC,wEAAwE;IACxE,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;CACzC;AAED;;;;;;;;GAQG;AACH,MAAM,MAAM,YAAY,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC;AAE/D;;;;GAIG;AACH,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAC;AAEvD,iFAAiF;AACjF,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IACpC,4DAA4D;IAC5D,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,uEAAuE;IACvE,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,kEAAkE;IAClE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,uEAAuE;IACvE,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,kBAAmB,SAAQ,qBAAqB;IAC/D,8EAA8E;IAC9E,IAAI,EAAE,OAAO,CAAC;IACd;;;OAGG;IACH,MAAM,EAAE,cAAc,GAAG,IAAI,CAAC;IAC9B,qEAAqE;IACrE,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;;;;;;;;;;;OAaG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,uEAAuE;IACvE,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,oCAAoC;IACpC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,IAAI,EAAE,MAAM,GAAG,QAAQ,CAAC;IACxB,mEAAmE;IACnE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,CAAC,KAAK,EAAE,qBAAqB,KAAK,IAAI,CAAC;IAChD,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,qBAAqB,KAAK,IAAI,CAAC;IACrD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,iBAAiB,CAAC,EAAE,QAAQ,CAAC;IAC7B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;;;OAIG;IACH,eAAe,CAAC,EAAE,YAAY,CAAC,eAAe,CAAC,CAAC;CACjD;AAED;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC/B,+DAA+D;IAC/D,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,iEAAiE;IACjE,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,mEAAmE;IACnE,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;CACxC;AAED,0DAA0D;AAC1D,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,yEAAyE;IACzE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,gFAAgF;AAChF,MAAM,WAAW,mBAAoB,SAAQ,qBAAqB;IAChE,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,sCAAsC;IACtC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,+DAA+D;IAC/D,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,uFAAuF;IACvF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAYD,MAAM,WAAW,YAAY;IAC3B;;;;OAIG;IACH,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,qFAAqF;IACrF,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,uCAAuC;IACvC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,gFAAgF;IAChF,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,qEAAqE;IACrE,OAAO,CAAC,EAAE,SAAS,GAAG,aAAa,CAAC;IACpC;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;;;;;;;;;OAYG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B;;;;;OAKG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,oBACf,SAAQ,IAAI,CAAC,YAAY,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;IACvE,OAAO,EAAE,OAAO,CAAC;IACjB,eAAe,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;CAC7C;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACxC;AAED,MAAM,WAAW,iBACf,SAAQ,IAAI,CAAC,YAAY,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;IACvE,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,gFAAgF;IAChF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CAC9B;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,mFAAmF;IACnF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CAC9B;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CAC9B;AAED,MAAM,MAAM,YAAY,GAAG,KAAK,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;AAErE,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,wEAAwE;IACxE,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,8EAA8E;IAC9E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,oFAAoF;IACpF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CAC9B;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,KAAK,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;IACvC,UAAU,EAAE,KAAK,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAC;IACrD,UAAU,EAAE,KAAK,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAC;CACtD;AAED,0FAA0F;AAC1F,MAAM,MAAM,cAAc,GAAG,CAAC,MAAM,EAAE,MAAM,KAAK,YAAY,CAAC;AAE9D;;;GAGG;AACH,MAAM,WAAW,YAAa,SAAQ,YAAY;IAChD,IAAI,EAAE,KAAK,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;IACxC,YAAY,EAAE,KAAK,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC;IACxD,UAAU,EAAE,KAAK,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAC;IACrD,SAAS,EAAE,KAAK,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC;IAClD,KAAK,EAAE,KAAK,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;IAC3C,SAAS,EAAE,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;IACtD,QAAQ,EAAE,KAAK,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC;IACjD,KAAK,EAAE,KAAK,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;CAC5C"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/floating/types.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import type { PopoverContentProps, PopoverProps, PopoverTriggerProps } from './types';
2
2
  export declare function Popover({ children, open, defaultOpen, onOpenChange }: PopoverProps): import("react/jsx-runtime").JSX.Element;
3
- export declare function PopoverTrigger({ children, asChild, disabled, label, style, testID, }: PopoverTriggerProps): import("react/jsx-runtime").JSX.Element;
3
+ export declare function PopoverTrigger({ children, asChild, disabled, label, className, style, testID, }: PopoverTriggerProps): import("react/jsx-runtime").JSX.Element;
4
4
  export declare function PopoverContent({ children, label, style }: PopoverContentProps): import("react/jsx-runtime").JSX.Element;
5
5
  //# sourceMappingURL=Popover.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Popover.d.ts","sourceRoot":"","sources":["../../../../src/popover/Popover.tsx"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAE,mBAAmB,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAEtF,wBAAgB,OAAO,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAmB,EAAE,YAAY,EAAE,EAAE,YAAY,2CAU1F;AAED,wBAAgB,cAAc,CAAC,EAC7B,QAAQ,EACR,OAAO,EACP,QAAQ,EACR,KAAK,EACL,KAAK,EACL,MAAM,GACP,EAAE,mBAAmB,2CAoBrB;AAED,wBAAgB,cAAc,CAAC,EAAE,QAAQ,EAAE,KAAiB,EAAE,KAAK,EAAE,EAAE,mBAAmB,2CASzF"}
1
+ {"version":3,"file":"Popover.d.ts","sourceRoot":"","sources":["../../../../src/popover/Popover.tsx"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAE,mBAAmB,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAEtF,wBAAgB,OAAO,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAmB,EAAE,YAAY,EAAE,EAAE,YAAY,2CAU1F;AAED,wBAAgB,cAAc,CAAC,EAC7B,QAAQ,EACR,OAAO,EACP,QAAQ,EACR,KAAK,EACL,SAAS,EACT,KAAK,EACL,MAAM,GACP,EAAE,mBAAmB,2CAqBrB;AAED,wBAAgB,cAAc,CAAC,EAAE,QAAQ,EAAE,KAAiB,EAAE,KAAK,EAAE,EAAE,mBAAmB,2CASzF"}
@@ -1,5 +1,5 @@
1
1
  import type { PopoverContentProps, PopoverProps, PopoverTriggerProps } from './types';
2
2
  export declare function Popover({ children, open, defaultOpen, onOpenChange }: PopoverProps): import("react/jsx-runtime").JSX.Element;
3
- export declare function PopoverTrigger({ children, asChild, disabled, label, style, testID, }: PopoverTriggerProps): import("react/jsx-runtime").JSX.Element;
3
+ export declare function PopoverTrigger({ children, asChild, disabled, label, className, style, testID, }: PopoverTriggerProps): import("react/jsx-runtime").JSX.Element;
4
4
  export declare function PopoverContent({ children, label, side, align, sideOffset, alignOffset, dismissible, minWidth, maxWidth, className, style, testID, }: PopoverContentProps): import("react/jsx-runtime").JSX.Element;
5
5
  //# sourceMappingURL=Popover.web.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Popover.web.d.ts","sourceRoot":"","sources":["../../../../src/popover/Popover.web.tsx"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAE,mBAAmB,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAEtF,wBAAgB,OAAO,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAmB,EAAE,YAAY,EAAE,EAAE,YAAY,2CAU1F;AAED,wBAAgB,cAAc,CAAC,EAC7B,QAAQ,EACR,OAAO,EACP,QAAQ,EACR,KAAK,EACL,KAAK,EACL,MAAM,GACP,EAAE,mBAAmB,2CAoBrB;AAED,wBAAgB,cAAc,CAAC,EAC7B,QAAQ,EACR,KAAiB,EACjB,IAAI,EACJ,KAAgB,EAChB,UAAU,EACV,WAAW,EACX,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,KAAK,EACL,MAAM,GACP,EAAE,mBAAmB,2CA+BrB"}
1
+ {"version":3,"file":"Popover.web.d.ts","sourceRoot":"","sources":["../../../../src/popover/Popover.web.tsx"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAE,mBAAmB,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAEtF,wBAAgB,OAAO,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAmB,EAAE,YAAY,EAAE,EAAE,YAAY,2CAU1F;AAED,wBAAgB,cAAc,CAAC,EAC7B,QAAQ,EACR,OAAO,EACP,QAAQ,EACR,KAAK,EACL,SAAS,EACT,KAAK,EACL,MAAM,GACP,EAAE,mBAAmB,2CAqBrB;AAED,wBAAgB,cAAc,CAAC,EAC7B,QAAQ,EACR,KAAiB,EACjB,IAAI,EACJ,KAAgB,EAChB,UAAU,EACV,WAAW,EACX,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,KAAK,EACL,MAAM,GACP,EAAE,mBAAmB,2CA+BrB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@oxyhq/bloom",
3
- "version": "1.0.3",
3
+ "version": "1.0.5",
4
4
  "packageManager": "bun@1.3.14",
5
5
  "description": "Bloom UI — Oxy ecosystem component library for React Native + Expo + Web",
6
6
  "main": "lib/commonjs/index.js",
@@ -51,6 +51,7 @@ export function ContextMenuTrigger({
51
51
  asChild,
52
52
  disabled,
53
53
  label,
54
+ className,
54
55
  style,
55
56
  testID,
56
57
  }: ContextMenuTriggerProps) {
@@ -59,6 +60,7 @@ export function ContextMenuTrigger({
59
60
  return (
60
61
  <TriggerSlot
61
62
  asChild={asChild}
63
+ className={className}
62
64
  style={style}
63
65
  testID={testID}
64
66
  handle={{
@@ -53,6 +53,7 @@ export function ContextMenuTrigger({
53
53
  asChild,
54
54
  disabled,
55
55
  label,
56
+ className,
56
57
  style,
57
58
  testID,
58
59
  }: ContextMenuTriggerProps) {
@@ -87,6 +88,7 @@ export function ContextMenuTrigger({
87
88
  <TriggerSlot
88
89
  asChild={asChild}
89
90
  anchorRef={wrapperRef}
91
+ className={className}
90
92
  style={style}
91
93
  testID={testID}
92
94
  handle={{
@@ -37,6 +37,8 @@ export interface ContextMenuTriggerProps {
37
37
  disabled?: boolean;
38
38
  /** Accessible name. Ignored when the `asChild` child carries its own. */
39
39
  label?: string;
40
+ /** Applied to the measured anchor wrapper; the context trigger draws no chrome. */
41
+ className?: string;
40
42
  style?: StyleProp<ViewStyle>;
41
43
  testID?: string;
42
44
  }
@@ -15,6 +15,7 @@ import { Pressable, StyleSheet, View, type StyleProp, type ViewStyle } from 'rea
15
15
 
16
16
  import { BottomSheet, type BottomSheetRef } from '../bottom-sheet';
17
17
  import { useAccessibilityFocus } from '../hooks/use-accessibility-focus';
18
+ import { StyledView } from '../styles/styled-primitives';
18
19
  import { Z_INDEX } from '../styles/z-index';
19
20
  import { useTheme } from '../theme/use-theme';
20
21
  import { Context } from './context';
@@ -25,8 +26,11 @@ export interface SheetShellProps {
25
26
  label?: string;
26
27
  header?: React.ReactNode;
27
28
  onClose?: () => void;
29
+ /** Classes applied to the inner padded content container. */
30
+ contentClassName?: string;
28
31
  /** Style overrides applied to the inner padded content container. */
29
32
  contentStyle?: StyleProp<ViewStyle>;
33
+ contentTestID?: string;
30
34
  children?: React.ReactNode;
31
35
  }
32
36
 
@@ -40,7 +44,9 @@ export function SheetShell({
40
44
  label,
41
45
  header,
42
46
  onClose,
47
+ contentClassName,
43
48
  contentStyle,
49
+ contentTestID,
44
50
  children,
45
51
  }: SheetShellProps) {
46
52
  const theme = useTheme();
@@ -119,7 +125,7 @@ export function SheetShell({
119
125
  <Context.Provider value={context}>
120
126
  <SheetHandle onPress={() => close()} />
121
127
  {header}
122
- <View
128
+ <StyledView
123
129
  // Deliberately NOT `accessible`: collapsing the body into one
124
130
  // accessibility element would make its rows unreachable, and the
125
131
  // focus move below would land on the group instead of the first row.
@@ -131,10 +137,12 @@ export function SheetShell({
131
137
  // sheet is an RN `<Modal>`, whose `onRequestClose` it fires.
132
138
  onAccessibilityEscape={() => close()}
133
139
  accessibilityLabel={label}
140
+ className={contentClassName}
141
+ testID={contentTestID}
134
142
  style={[styles.body, { backgroundColor: theme.colors.background }, contentStyle]}
135
143
  >
136
144
  {children}
137
- </View>
145
+ </StyledView>
138
146
  </Context.Provider>
139
147
  </BottomSheet>
140
148
  );
@@ -52,6 +52,7 @@ export function DropdownMenuTrigger({
52
52
  asChild,
53
53
  disabled,
54
54
  label,
55
+ className,
55
56
  style,
56
57
  testID,
57
58
  }: DropdownMenuTriggerProps) {
@@ -61,6 +62,7 @@ export function DropdownMenuTrigger({
61
62
  <TriggerSlot
62
63
  asChild={asChild}
63
64
  anchorRef={menu.anchorRef}
65
+ className={className}
64
66
  style={style}
65
67
  testID={testID}
66
68
  handle={{
@@ -79,7 +81,9 @@ export function DropdownMenuTrigger({
79
81
  export function DropdownMenuContent({
80
82
  children,
81
83
  label = 'Menu',
84
+ className,
82
85
  style,
86
+ testID,
83
87
  }: DropdownMenuContentProps) {
84
88
  const menu = useDropdownMenu();
85
89
  const { control, onSheetClose } = useSheetOpenBridge(menu.open, menu.setOpen);
@@ -89,7 +93,13 @@ export function DropdownMenuContent({
89
93
  );
90
94
 
91
95
  return (
92
- <SheetShell control={control} label={label} onClose={onSheetClose} contentStyle={style}>
96
+ <SheetShell
97
+ control={control}
98
+ label={label}
99
+ onClose={onSheetClose}
100
+ contentClassName={className}
101
+ contentStyle={style}
102
+ contentTestID={testID}>
93
103
  <MenuSurfaceProvider value={surface}>{children}</MenuSurfaceProvider>
94
104
  </SheetShell>
95
105
  );
@@ -47,6 +47,7 @@ export function DropdownMenuTrigger({
47
47
  asChild,
48
48
  disabled,
49
49
  label,
50
+ className,
50
51
  style,
51
52
  testID,
52
53
  }: DropdownMenuTriggerProps) {
@@ -56,6 +57,7 @@ export function DropdownMenuTrigger({
56
57
  <TriggerSlot
57
58
  asChild={asChild}
58
59
  anchorRef={menu.anchorRef}
60
+ className={className}
59
61
  style={style}
60
62
  testID={testID}
61
63
  handle={{
@@ -27,7 +27,7 @@ import { StyleSheet, View, type StyleProp, type ViewStyle } from 'react-native';
27
27
 
28
28
  import { useRestoreAccessibilityFocus } from '../hooks/use-accessibility-focus';
29
29
  import { mergeRefs } from '../hooks/merge-refs';
30
- import { StyledPressable } from '../styles/styled-primitives';
30
+ import { StyledPressable, StyledView } from '../styles/styled-primitives';
31
31
  import type { TriggerHandleProps } from './types';
32
32
 
33
33
  export interface TriggerSlotProps {
@@ -38,6 +38,8 @@ export interface TriggerSlotProps {
38
38
  handle: TriggerHandleProps;
39
39
  /** Measured by the web forks to position the surface. Unused on native. */
40
40
  anchorRef?: React.RefObject<View | null>;
41
+ /** Classes for the wrapper box — the node the parent lays out. */
42
+ className?: string;
41
43
  /** Style for the wrapper box. The child styles itself. */
42
44
  style?: StyleProp<ViewStyle>;
43
45
  testID?: string;
@@ -95,6 +97,7 @@ export function TriggerSlot({
95
97
  children,
96
98
  handle,
97
99
  anchorRef,
100
+ className,
98
101
  style,
99
102
  testID,
100
103
  }: TriggerSlotProps) {
@@ -107,9 +110,10 @@ export function TriggerSlot({
107
110
  useRestoreAccessibilityFocus(handle['aria-expanded'] === true, ownRef);
108
111
 
109
112
  return (
110
- <View
113
+ <StyledView
111
114
  ref={mergeRefs([ownRef, anchorRef])}
112
115
  collapsable={false}
116
+ className={className}
113
117
  style={[styles.wrap, style]}
114
118
  testID={testID}>
115
119
  {asChild ? (
@@ -117,7 +121,7 @@ export function TriggerSlot({
117
121
  ) : (
118
122
  <StyledPressable {...handle}>{children}</StyledPressable>
119
123
  )}
120
- </View>
124
+ </StyledView>
121
125
  );
122
126
  }
123
127
 
@@ -225,6 +225,9 @@ export const ROW_INSET_CLASS = 'pl-space-32';
225
225
  /** `pl-8 pr-2` on the two rows that carry an out-of-flow indicator. */
226
226
  export const ROW_GUTTER_CLASS = 'pl-space-32 pr-space-8';
227
227
 
228
+ /** `pl-2 pr-8` when that out-of-flow indicator sits on the trailing edge. */
229
+ export const ROW_GUTTER_END_CLASS = 'pl-space-8 pr-space-32';
230
+
228
231
  /**
229
232
  * The row's own label: `text-sm`, no weight of its own.
230
233
  *
@@ -340,4 +343,3 @@ export const SELECT_ITEM_CLASS =
340
343
 
341
344
  /** `text-foreground select-none text-sm`. */
342
345
  export const SELECT_ITEM_TEXT_CLASS = 'flex-1 min-w-0 text-sm text-foreground';
343
-
@@ -48,6 +48,7 @@ import { useTheme } from '../theme/use-theme';
48
48
  import {
49
49
  ROW_ICON_SIZE,
50
50
  ROW_INDICATOR_CLASS,
51
+ ROW_INDICATOR_END_CLASS,
51
52
  ROW_LABEL_CLASS,
52
53
  ROW_LABEL_INSET_CLASS,
53
54
  ROW_RADIO_DOT_CLASS,
@@ -69,13 +70,13 @@ import type {
69
70
  } from './types';
70
71
 
71
72
  /**
72
- * The target's `pl-8` gutter with its `absolute left-2 size-3.5` indicator.
73
+ * The target's 32px selection gutter with its out-of-flow 14px indicator.
73
74
  *
74
75
  * The indicator is OUT OF FLOW, which is the whole point: a checkbox row's text
75
- * starts at a fixed 32px whether or not a check is drawn, so a menu's rows line
76
- * up with each other and with an `inset` plain row. Passing it as a leading slot
77
- * instead would put it back in flow and add the row's `gap-2` on top, and it
78
- * would also make the column collapse to nothing on an unchecked row.
76
+ * starts at a fixed inset whether or not a check is drawn, so a menu's rows line
77
+ * up. `indicatorPosition="trailing"` mirrors that geometry for products whose
78
+ * menu vocabulary puts the check at the far edge. Passing the mark as a normal
79
+ * slot would put it back in flow and collapse the column on an unchecked row.
79
80
  *
80
81
  * `pointerEvents="none"` as a PROP, not a style entry: the box sits ON TOP of
81
82
  * the row's own pressable, so without it the indicator swallows the press that
@@ -84,15 +85,19 @@ import type {
84
85
  */
85
86
  function IndicatorGutter({
86
87
  indicator,
88
+ position,
87
89
  children,
88
90
  }: {
89
91
  indicator: React.ReactNode;
92
+ position: 'leading' | 'trailing';
90
93
  children: React.ReactNode;
91
94
  }) {
92
95
  return (
93
96
  <StyledView className="relative">
94
97
  {children}
95
- <StyledView className={ROW_INDICATOR_CLASS} pointerEvents="none">
98
+ <StyledView
99
+ className={position === 'leading' ? ROW_INDICATOR_CLASS : ROW_INDICATOR_END_CLASS}
100
+ pointerEvents="none">
96
101
  {indicator}
97
102
  </StyledView>
98
103
  </StyledView>
@@ -157,6 +162,8 @@ export function createMenuRows(prefix: string, createSub: MenuSubFactory): MenuR
157
162
  children,
158
163
  checked,
159
164
  onCheckedChange,
165
+ indicator,
166
+ indicatorPosition = 'leading',
160
167
  disabled = false,
161
168
  trailing,
162
169
  keepOpen = false,
@@ -168,23 +175,26 @@ export function createMenuRows(prefix: string, createSub: MenuSubFactory): MenuR
168
175
  const theme = useTheme();
169
176
  const surface = useMenuSurface();
170
177
  const { title, body } = splitChildren(children);
178
+ const selectedIndicator =
179
+ indicator === undefined ? (
180
+ <CheckIcon
181
+ width={ROW_ICON_SIZE}
182
+ height={ROW_ICON_SIZE}
183
+ fill={theme.colors.text}
184
+ />
185
+ ) : (
186
+ indicator
187
+ );
171
188
 
172
189
  return (
173
190
  <IndicatorGutter
174
- indicator={
175
- checked ? (
176
- <CheckIcon
177
- width={ROW_ICON_SIZE}
178
- height={ROW_ICON_SIZE}
179
- fill={theme.colors.text}
180
- />
181
- ) : null
182
- }>
191
+ position={indicatorPosition}
192
+ indicator={checked ? selectedIndicator : null}>
183
193
  <MenuRowShell
184
194
  role="checkbox"
185
195
  checked={checked}
186
196
  disabled={disabled}
187
- gutter
197
+ gutter={indicatorPosition}
188
198
  trailing={trailing}
189
199
  title={title}
190
200
  onPress={() => {
@@ -215,6 +225,8 @@ export function createMenuRows(prefix: string, createSub: MenuSubFactory): MenuR
215
225
  function MenuRadioItem({
216
226
  children,
217
227
  value,
228
+ indicator,
229
+ indicatorPosition = 'leading',
218
230
  disabled = false,
219
231
  trailing,
220
232
  keepOpen = false,
@@ -227,22 +239,21 @@ export function createMenuRows(prefix: string, createSub: MenuSubFactory): MenuR
227
239
  const group = useMenuRadioGroup();
228
240
  const { title, body } = splitChildren(children);
229
241
  const checked = group.value === value;
242
+ // `bg-foreground h-2 w-2 rounded-full`: the established default remains a
243
+ // filled dot. A caller-supplied node replaces only this selected mark; the
244
+ // shared gutter and ARIA state remain owned here.
245
+ const selectedIndicator =
246
+ indicator === undefined ? <StyledView className={ROW_RADIO_DOT_CLASS} /> : indicator;
230
247
 
231
248
  return (
232
249
  <IndicatorGutter
233
- indicator={
234
- // `bg-foreground h-2 w-2 rounded-full` — a selected radio row is a
235
- // FILLED DOT with no ring, which is what fits an 8px mark inside a
236
- // 14px indicator box. `radio-indicator/` draws Bloom's ringed control,
237
- // a different thing at a different size, and using it here is what made
238
- // a menu radio row twice the width of its checkbox sibling.
239
- checked ? <StyledView className={ROW_RADIO_DOT_CLASS} /> : null
240
- }>
250
+ position={indicatorPosition}
251
+ indicator={checked ? selectedIndicator : null}>
241
252
  <MenuRowShell
242
253
  role="radio"
243
254
  checked={checked}
244
255
  disabled={disabled}
245
- gutter
256
+ gutter={indicatorPosition}
246
257
  trailing={trailing}
247
258
  title={title}
248
259
  onPress={() => {