@oxy.so/bloom 4.5.0 → 4.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/docs/adoption-matrix.mdx +12 -12
- package/docs/code.mdx +12 -0
- package/docs/context-menu.mdx +2 -0
- package/docs/dropdown-menu.mdx +21 -0
- package/docs/icons.mdx +2 -2
- package/docs/menubar.mdx +6 -2
- package/docs/popover.mdx +4 -2
- package/docs/segmented-control.mdx +12 -0
- package/docs/select.mdx +19 -0
- package/docs/tabs.mdx +12 -0
- package/lib/commonjs/agent-chat/index.web.js.map +1 -1
- package/lib/commonjs/ai-chat/index.web.js.map +1 -1
- package/lib/commonjs/alert-dialog/index.web.js +10 -1
- package/lib/commonjs/alert-dialog/index.web.js.map +1 -1
- package/lib/commonjs/avatar-group/index.web.js.map +1 -1
- package/lib/commonjs/bottom-sheet/index.web.js.map +1 -1
- package/lib/commonjs/code/index.js +13 -0
- package/lib/commonjs/code/index.js.map +1 -1
- package/lib/commonjs/command/index.web.js +5 -0
- package/lib/commonjs/command/index.web.js.map +1 -1
- package/lib/commonjs/composer-loader/ComposerLoader.web.js +9 -0
- package/lib/commonjs/composer-loader/ComposerLoader.web.js.map +1 -1
- package/lib/commonjs/composer-loader/index.web.js.map +1 -1
- package/lib/commonjs/composer-panel/index.web.js.map +1 -1
- package/lib/commonjs/connection-dots/index.web.js.map +1 -1
- package/lib/commonjs/connection-status/index.web.js.map +1 -1
- package/lib/commonjs/content-panel/index.web.js.map +1 -1
- package/lib/commonjs/context-menu/ContextMenu.web.js +22 -4
- package/lib/commonjs/context-menu/ContextMenu.web.js.map +1 -1
- package/lib/commonjs/context-menu/context.js.map +1 -1
- package/lib/commonjs/context-menu/index.web.js.map +1 -1
- package/lib/commonjs/dialog/Dialog.web.js +14 -0
- package/lib/commonjs/dialog/Dialog.web.js.map +1 -1
- package/lib/commonjs/dialog/index.web.js.map +1 -1
- package/lib/commonjs/dropdown-menu/DropdownMenu.web.js +22 -2
- package/lib/commonjs/dropdown-menu/DropdownMenu.web.js.map +1 -1
- package/lib/commonjs/dropdown-menu/index.web.js.map +1 -1
- package/lib/commonjs/floating/FloatingPanel.js +42 -33
- package/lib/commonjs/floating/FloatingPanel.js.map +1 -1
- package/lib/commonjs/floating/escape-stack.js +90 -0
- package/lib/commonjs/floating/escape-stack.js.map +1 -0
- package/lib/commonjs/floating/menu-keyboard.js +238 -0
- package/lib/commonjs/floating/menu-keyboard.js.map +1 -0
- package/lib/commonjs/floating/menu-sub-flyout.js +28 -16
- package/lib/commonjs/floating/menu-sub-flyout.js.map +1 -1
- package/lib/commonjs/fonts/index.web.js.map +1 -1
- package/lib/commonjs/frosted-icon-button/FrostedIconButton.web.js +10 -0
- package/lib/commonjs/frosted-icon-button/FrostedIconButton.web.js.map +1 -1
- package/lib/commonjs/frosted-icon-button/index.web.js.map +1 -1
- package/lib/commonjs/hooks/roving-focus.js +192 -0
- package/lib/commonjs/hooks/roving-focus.js.map +1 -0
- package/lib/commonjs/hover-card/index.web.js.map +1 -1
- package/lib/commonjs/icons/remix/RiBookReadLine.js +12 -0
- package/lib/commonjs/icons/remix/RiBookReadLine.js.map +1 -0
- package/lib/commonjs/icons/remix/RiBugLine.js +12 -0
- package/lib/commonjs/icons/remix/RiBugLine.js.map +1 -0
- package/lib/commonjs/icons/remix/RiChat1Line.js +12 -0
- package/lib/commonjs/icons/remix/RiChat1Line.js.map +1 -0
- package/lib/commonjs/icons/remix/RiCloudLine.js +12 -0
- package/lib/commonjs/icons/remix/RiCloudLine.js.map +1 -0
- package/lib/commonjs/icons/remix/RiCodeLine.js +12 -0
- package/lib/commonjs/icons/remix/RiCodeLine.js.map +1 -0
- package/lib/commonjs/icons/remix/RiCpuLine.js +12 -0
- package/lib/commonjs/icons/remix/RiCpuLine.js.map +1 -0
- package/lib/commonjs/icons/remix/RiFloodLine.js +12 -0
- package/lib/commonjs/icons/remix/RiFloodLine.js.map +1 -0
- package/lib/commonjs/icons/remix/RiLockUnlockLine.js +12 -0
- package/lib/commonjs/icons/remix/RiLockUnlockLine.js.map +1 -0
- package/lib/commonjs/icons/remix/RiMoneyDollarCircleLine.js +12 -0
- package/lib/commonjs/icons/remix/RiMoneyDollarCircleLine.js.map +1 -0
- package/lib/commonjs/icons/remix/RiPlayCircleLine.js +12 -0
- package/lib/commonjs/icons/remix/RiPlayCircleLine.js.map +1 -0
- package/lib/commonjs/icons/remix/RiRocket2Line.js +12 -0
- package/lib/commonjs/icons/remix/RiRocket2Line.js.map +1 -0
- package/lib/commonjs/icons/remix/RiServerLine.js +12 -0
- package/lib/commonjs/icons/remix/RiServerLine.js.map +1 -0
- package/lib/commonjs/icons/remix/RiShareBoxLine.js +12 -0
- package/lib/commonjs/icons/remix/RiShareBoxLine.js.map +1 -0
- package/lib/commonjs/icons/remix/RiTv2Line.js +12 -0
- package/lib/commonjs/icons/remix/RiTv2Line.js.map +1 -0
- package/lib/commonjs/icons/remix/index.js +98 -0
- package/lib/commonjs/icons/remix/index.js.map +1 -1
- package/lib/commonjs/list/index.web.js.map +1 -1
- package/lib/commonjs/loading/Loading.js +21 -157
- package/lib/commonjs/loading/Loading.js.map +1 -1
- package/lib/commonjs/loading/Loading.web.js +23 -157
- package/lib/commonjs/loading/Loading.web.js.map +1 -1
- package/lib/commonjs/loading/LoadingBase.js +202 -0
- package/lib/commonjs/loading/LoadingBase.js.map +1 -0
- package/lib/commonjs/loading/index.web.js.map +1 -1
- package/lib/commonjs/media-flight/index.web.js.map +1 -1
- package/lib/commonjs/menubar/Menubar.js +31 -123
- package/lib/commonjs/menubar/Menubar.js.map +1 -1
- package/lib/commonjs/menubar/Menubar.web.js +33 -114
- package/lib/commonjs/menubar/Menubar.web.js.map +1 -1
- package/lib/commonjs/menubar/MenubarBase.js +154 -0
- package/lib/commonjs/menubar/MenubarBase.js.map +1 -0
- package/lib/commonjs/menubar/index.web.js.map +1 -1
- package/lib/commonjs/popover/index.web.js.map +1 -1
- package/lib/commonjs/popover/parts.js +69 -11
- package/lib/commonjs/popover/parts.js.map +1 -1
- package/lib/commonjs/popover/surface.js +39 -13
- package/lib/commonjs/popover/surface.js.map +1 -1
- package/lib/commonjs/portal/index.web.js.map +1 -1
- package/lib/commonjs/progressive-blur/index.web.js.map +1 -1
- package/lib/commonjs/scroll/index.web.js.map +1 -1
- package/lib/commonjs/segmented-control/SegmentedControl.js +36 -1
- package/lib/commonjs/segmented-control/SegmentedControl.js.map +1 -1
- package/lib/commonjs/select/Select.js +6 -81
- package/lib/commonjs/select/Select.js.map +1 -1
- package/lib/commonjs/select/Select.web.js +147 -85
- package/lib/commonjs/select/Select.web.js.map +1 -1
- package/lib/commonjs/select/index.js +4 -4
- package/lib/commonjs/select/index.js.map +1 -1
- package/lib/commonjs/select/index.web.js +4 -4
- package/lib/commonjs/select/index.web.js.map +1 -1
- package/lib/commonjs/select/shared.js +110 -5
- package/lib/commonjs/select/shared.js.map +1 -1
- package/lib/commonjs/sidebar/SidebarTeamMenu.js +1 -1
- package/lib/commonjs/sidebar/SidebarTeamMenu.js.map +1 -1
- package/lib/commonjs/sidebar/SidebarUserMenu.js +1 -1
- package/lib/commonjs/sidebar/SidebarUserMenu.js.map +1 -1
- package/lib/commonjs/sidebar/parts.js +9 -9
- package/lib/commonjs/sidebar/parts.js.map +1 -1
- package/lib/commonjs/surfaces/SurfaceHost.js +6 -0
- package/lib/commonjs/surfaces/SurfaceHost.js.map +1 -1
- package/lib/commonjs/surfaces/index.web.js +14 -4
- package/lib/commonjs/surfaces/index.web.js.map +1 -1
- package/lib/commonjs/tab-bar/index.web.js +13 -10
- package/lib/commonjs/tab-bar/index.web.js.map +1 -1
- package/lib/commonjs/tabs/Tabs.js +49 -2
- package/lib/commonjs/tabs/Tabs.js.map +1 -1
- package/lib/commonjs/theme/color-scope/index.web.js.map +1 -1
- package/lib/commonjs/theme/seed-scope/index.web.js.map +1 -1
- package/lib/commonjs/tooltip/index.web.js.map +1 -1
- package/lib/module/agent-chat/index.web.js +5 -3
- package/lib/module/agent-chat/index.web.js.map +1 -1
- package/lib/module/ai-chat/index.web.js +5 -2
- package/lib/module/ai-chat/index.web.js.map +1 -1
- package/lib/module/alert-dialog/index.web.js +10 -1
- package/lib/module/alert-dialog/index.web.js.map +1 -1
- package/lib/module/avatar-group/index.web.js +5 -0
- package/lib/module/avatar-group/index.web.js.map +1 -1
- package/lib/module/bottom-sheet/index.web.js +5 -0
- package/lib/module/bottom-sheet/index.web.js.map +1 -1
- package/lib/module/code/index.js +1 -0
- package/lib/module/code/index.js.map +1 -1
- package/lib/module/command/index.web.js +5 -0
- package/lib/module/command/index.web.js.map +1 -1
- package/lib/module/composer-loader/ComposerLoader.web.js +8 -0
- package/lib/module/composer-loader/ComposerLoader.web.js.map +1 -1
- package/lib/module/composer-loader/index.web.js +5 -2
- package/lib/module/composer-loader/index.web.js.map +1 -1
- package/lib/module/composer-panel/index.web.js +5 -3
- package/lib/module/composer-panel/index.web.js.map +1 -1
- package/lib/module/connection-dots/index.web.js +5 -0
- package/lib/module/connection-dots/index.web.js.map +1 -1
- package/lib/module/connection-status/index.web.js +5 -0
- package/lib/module/connection-status/index.web.js.map +1 -1
- package/lib/module/content-panel/index.web.js +5 -0
- package/lib/module/content-panel/index.web.js.map +1 -1
- package/lib/module/context-menu/ContextMenu.web.js +22 -4
- package/lib/module/context-menu/ContextMenu.web.js.map +1 -1
- package/lib/module/context-menu/context.js.map +1 -1
- package/lib/module/context-menu/index.web.js +5 -0
- package/lib/module/context-menu/index.web.js.map +1 -1
- package/lib/module/dialog/Dialog.web.js +13 -0
- package/lib/module/dialog/Dialog.web.js.map +1 -1
- package/lib/module/dialog/index.web.js +7 -11
- package/lib/module/dialog/index.web.js.map +1 -1
- package/lib/module/dropdown-menu/DropdownMenu.web.js +23 -3
- package/lib/module/dropdown-menu/DropdownMenu.web.js.map +1 -1
- package/lib/module/dropdown-menu/index.web.js +5 -0
- package/lib/module/dropdown-menu/index.web.js.map +1 -1
- package/lib/module/floating/FloatingPanel.js +42 -33
- package/lib/module/floating/FloatingPanel.js.map +1 -1
- package/lib/module/floating/escape-stack.js +85 -0
- package/lib/module/floating/escape-stack.js.map +1 -0
- package/lib/module/floating/menu-keyboard.js +227 -0
- package/lib/module/floating/menu-keyboard.js.map +1 -0
- package/lib/module/floating/menu-sub-flyout.js +28 -16
- package/lib/module/floating/menu-sub-flyout.js.map +1 -1
- package/lib/module/fonts/index.web.js +5 -20
- package/lib/module/fonts/index.web.js.map +1 -1
- package/lib/module/frosted-icon-button/FrostedIconButton.web.js +9 -0
- package/lib/module/frosted-icon-button/FrostedIconButton.web.js.map +1 -1
- package/lib/module/frosted-icon-button/index.web.js +5 -7
- package/lib/module/frosted-icon-button/index.web.js.map +1 -1
- package/lib/module/hooks/roving-focus.js +181 -0
- package/lib/module/hooks/roving-focus.js.map +1 -0
- package/lib/module/hover-card/index.web.js +5 -0
- package/lib/module/hover-card/index.web.js.map +1 -1
- package/lib/module/icons/remix/RiBookReadLine.js +9 -0
- package/lib/module/icons/remix/RiBookReadLine.js.map +1 -0
- package/lib/module/icons/remix/RiBugLine.js +9 -0
- package/lib/module/icons/remix/RiBugLine.js.map +1 -0
- package/lib/module/icons/remix/RiChat1Line.js +9 -0
- package/lib/module/icons/remix/RiChat1Line.js.map +1 -0
- package/lib/module/icons/remix/RiCloudLine.js +9 -0
- package/lib/module/icons/remix/RiCloudLine.js.map +1 -0
- package/lib/module/icons/remix/RiCodeLine.js +9 -0
- package/lib/module/icons/remix/RiCodeLine.js.map +1 -0
- package/lib/module/icons/remix/RiCpuLine.js +9 -0
- package/lib/module/icons/remix/RiCpuLine.js.map +1 -0
- package/lib/module/icons/remix/RiFloodLine.js +9 -0
- package/lib/module/icons/remix/RiFloodLine.js.map +1 -0
- package/lib/module/icons/remix/RiLockUnlockLine.js +9 -0
- package/lib/module/icons/remix/RiLockUnlockLine.js.map +1 -0
- package/lib/module/icons/remix/RiMoneyDollarCircleLine.js +9 -0
- package/lib/module/icons/remix/RiMoneyDollarCircleLine.js.map +1 -0
- package/lib/module/icons/remix/RiPlayCircleLine.js +9 -0
- package/lib/module/icons/remix/RiPlayCircleLine.js.map +1 -0
- package/lib/module/icons/remix/RiRocket2Line.js +9 -0
- package/lib/module/icons/remix/RiRocket2Line.js.map +1 -0
- package/lib/module/icons/remix/RiServerLine.js +9 -0
- package/lib/module/icons/remix/RiServerLine.js.map +1 -0
- package/lib/module/icons/remix/RiShareBoxLine.js +9 -0
- package/lib/module/icons/remix/RiShareBoxLine.js.map +1 -0
- package/lib/module/icons/remix/RiTv2Line.js +9 -0
- package/lib/module/icons/remix/RiTv2Line.js.map +1 -0
- package/lib/module/icons/remix/index.js +14 -0
- package/lib/module/icons/remix/index.js.map +1 -1
- package/lib/module/list/index.web.js +5 -0
- package/lib/module/list/index.web.js.map +1 -1
- package/lib/module/loading/Loading.js +17 -155
- package/lib/module/loading/Loading.js.map +1 -1
- package/lib/module/loading/Loading.web.js +19 -155
- package/lib/module/loading/Loading.web.js.map +1 -1
- package/lib/module/loading/LoadingBase.js +194 -0
- package/lib/module/loading/LoadingBase.js.map +1 -0
- package/lib/module/loading/index.web.js +5 -13
- package/lib/module/loading/index.web.js.map +1 -1
- package/lib/module/media-flight/index.web.js +5 -9
- package/lib/module/media-flight/index.web.js.map +1 -1
- package/lib/module/menubar/Menubar.js +15 -122
- package/lib/module/menubar/Menubar.js.map +1 -1
- package/lib/module/menubar/Menubar.web.js +18 -114
- package/lib/module/menubar/Menubar.web.js.map +1 -1
- package/lib/module/menubar/MenubarBase.js +146 -0
- package/lib/module/menubar/MenubarBase.js.map +1 -0
- package/lib/module/menubar/index.web.js +5 -0
- package/lib/module/menubar/index.web.js.map +1 -1
- package/lib/module/motion/index.web.js +5 -5
- package/lib/module/motion/index.web.js.map +1 -1
- package/lib/module/popover/index.web.js +5 -0
- package/lib/module/popover/index.web.js.map +1 -1
- package/lib/module/popover/parts.js +70 -12
- package/lib/module/popover/parts.js.map +1 -1
- package/lib/module/popover/surface.js +39 -13
- package/lib/module/popover/surface.js.map +1 -1
- package/lib/module/portal/index.web.js +6 -1
- package/lib/module/portal/index.web.js.map +1 -1
- package/lib/module/progressive-blur/index.web.js +5 -0
- package/lib/module/progressive-blur/index.web.js.map +1 -1
- package/lib/module/scroll/index.web.js +5 -0
- package/lib/module/scroll/index.web.js.map +1 -1
- package/lib/module/segmented-control/SegmentedControl.js +36 -1
- package/lib/module/segmented-control/SegmentedControl.js.map +1 -1
- package/lib/module/select/Select.js +5 -77
- package/lib/module/select/Select.js.map +1 -1
- package/lib/module/select/Select.web.js +147 -82
- package/lib/module/select/Select.web.js.map +1 -1
- package/lib/module/select/index.js +2 -2
- package/lib/module/select/index.js.map +1 -1
- package/lib/module/select/index.web.js +7 -2
- package/lib/module/select/index.web.js.map +1 -1
- package/lib/module/select/shared.js +106 -6
- package/lib/module/select/shared.js.map +1 -1
- package/lib/module/sidebar/SidebarTeamMenu.js +2 -2
- package/lib/module/sidebar/SidebarTeamMenu.js.map +1 -1
- package/lib/module/sidebar/SidebarUserMenu.js +2 -2
- package/lib/module/sidebar/SidebarUserMenu.js.map +1 -1
- package/lib/module/sidebar/parts.js +8 -8
- package/lib/module/sidebar/parts.js.map +1 -1
- package/lib/module/surfaces/SurfaceHost.js +6 -0
- package/lib/module/surfaces/SurfaceHost.js.map +1 -1
- package/lib/module/surfaces/index.web.js +14 -4
- package/lib/module/surfaces/index.web.js.map +1 -1
- package/lib/module/tab-bar/index.web.js +13 -10
- package/lib/module/tab-bar/index.web.js.map +1 -1
- package/lib/module/tabs/Tabs.js +49 -2
- package/lib/module/tabs/Tabs.js.map +1 -1
- package/lib/module/theme/color-scope/index.web.js +5 -0
- package/lib/module/theme/color-scope/index.web.js.map +1 -1
- package/lib/module/theme/seed-scope/index.web.js +5 -0
- package/lib/module/theme/seed-scope/index.web.js.map +1 -1
- package/lib/module/tooltip/index.web.js +5 -0
- package/lib/module/tooltip/index.web.js.map +1 -1
- package/lib/typescript/commonjs/agent-chat/index.web.d.ts.map +1 -1
- package/lib/typescript/commonjs/ai-chat/index.web.d.ts.map +1 -1
- package/lib/typescript/commonjs/alert-dialog/index.web.d.ts +5 -1
- package/lib/typescript/commonjs/alert-dialog/index.web.d.ts.map +1 -1
- package/lib/typescript/commonjs/avatar-group/index.web.d.ts.map +1 -1
- package/lib/typescript/commonjs/bottom-sheet/index.web.d.ts.map +1 -1
- package/lib/typescript/commonjs/code/index.d.ts +2 -0
- package/lib/typescript/commonjs/code/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/command/index.web.d.ts.map +1 -1
- package/lib/typescript/commonjs/composer-loader/ComposerLoader.web.d.ts +8 -0
- package/lib/typescript/commonjs/composer-loader/ComposerLoader.web.d.ts.map +1 -1
- package/lib/typescript/commonjs/composer-loader/index.web.d.ts.map +1 -1
- package/lib/typescript/commonjs/composer-panel/index.web.d.ts.map +1 -1
- package/lib/typescript/commonjs/connection-dots/index.web.d.ts.map +1 -1
- package/lib/typescript/commonjs/connection-status/index.web.d.ts.map +1 -1
- package/lib/typescript/commonjs/content-panel/index.web.d.ts.map +1 -1
- package/lib/typescript/commonjs/context-menu/ContextMenu.web.d.ts.map +1 -1
- package/lib/typescript/commonjs/context-menu/context.d.ts +3 -0
- package/lib/typescript/commonjs/context-menu/context.d.ts.map +1 -1
- package/lib/typescript/commonjs/context-menu/index.web.d.ts.map +1 -1
- package/lib/typescript/commonjs/dialog/Dialog.web.d.ts.map +1 -1
- package/lib/typescript/commonjs/dialog/index.web.d.ts +2 -1
- package/lib/typescript/commonjs/dialog/index.web.d.ts.map +1 -1
- package/lib/typescript/commonjs/dropdown-menu/DropdownMenu.web.d.ts.map +1 -1
- package/lib/typescript/commonjs/dropdown-menu/index.web.d.ts.map +1 -1
- package/lib/typescript/commonjs/floating/FloatingPanel.d.ts +1 -1
- package/lib/typescript/commonjs/floating/FloatingPanel.d.ts.map +1 -1
- package/lib/typescript/commonjs/floating/escape-stack.d.ts +55 -0
- package/lib/typescript/commonjs/floating/escape-stack.d.ts.map +1 -0
- package/lib/typescript/commonjs/floating/menu-keyboard.d.ts +57 -0
- package/lib/typescript/commonjs/floating/menu-keyboard.d.ts.map +1 -0
- package/lib/typescript/commonjs/floating/menu-sub-flyout.d.ts.map +1 -1
- package/lib/typescript/commonjs/floating/types.d.ts +11 -0
- package/lib/typescript/commonjs/floating/types.d.ts.map +1 -1
- package/lib/typescript/commonjs/fonts/index.web.d.ts.map +1 -1
- package/lib/typescript/commonjs/frosted-icon-button/FrostedIconButton.web.d.ts.map +1 -1
- package/lib/typescript/commonjs/frosted-icon-button/index.web.d.ts.map +1 -1
- package/lib/typescript/commonjs/hooks/roving-focus.d.ts +66 -0
- package/lib/typescript/commonjs/hooks/roving-focus.d.ts.map +1 -0
- package/lib/typescript/commonjs/hover-card/index.web.d.ts.map +1 -1
- package/lib/typescript/commonjs/icons/remix/RiBookReadLine.d.ts +8 -0
- package/lib/typescript/commonjs/icons/remix/RiBookReadLine.d.ts.map +1 -0
- package/lib/typescript/commonjs/icons/remix/RiBugLine.d.ts +8 -0
- package/lib/typescript/commonjs/icons/remix/RiBugLine.d.ts.map +1 -0
- package/lib/typescript/commonjs/icons/remix/RiChat1Line.d.ts +8 -0
- package/lib/typescript/commonjs/icons/remix/RiChat1Line.d.ts.map +1 -0
- package/lib/typescript/commonjs/icons/remix/RiCloudLine.d.ts +8 -0
- package/lib/typescript/commonjs/icons/remix/RiCloudLine.d.ts.map +1 -0
- package/lib/typescript/commonjs/icons/remix/RiCodeLine.d.ts +8 -0
- package/lib/typescript/commonjs/icons/remix/RiCodeLine.d.ts.map +1 -0
- package/lib/typescript/commonjs/icons/remix/RiCpuLine.d.ts +8 -0
- package/lib/typescript/commonjs/icons/remix/RiCpuLine.d.ts.map +1 -0
- package/lib/typescript/commonjs/icons/remix/RiFloodLine.d.ts +8 -0
- package/lib/typescript/commonjs/icons/remix/RiFloodLine.d.ts.map +1 -0
- package/lib/typescript/commonjs/icons/remix/RiLockUnlockLine.d.ts +8 -0
- package/lib/typescript/commonjs/icons/remix/RiLockUnlockLine.d.ts.map +1 -0
- package/lib/typescript/commonjs/icons/remix/RiMoneyDollarCircleLine.d.ts +8 -0
- package/lib/typescript/commonjs/icons/remix/RiMoneyDollarCircleLine.d.ts.map +1 -0
- package/lib/typescript/commonjs/icons/remix/RiPlayCircleLine.d.ts +8 -0
- package/lib/typescript/commonjs/icons/remix/RiPlayCircleLine.d.ts.map +1 -0
- package/lib/typescript/commonjs/icons/remix/RiRocket2Line.d.ts +8 -0
- package/lib/typescript/commonjs/icons/remix/RiRocket2Line.d.ts.map +1 -0
- package/lib/typescript/commonjs/icons/remix/RiServerLine.d.ts +8 -0
- package/lib/typescript/commonjs/icons/remix/RiServerLine.d.ts.map +1 -0
- package/lib/typescript/commonjs/icons/remix/RiShareBoxLine.d.ts +8 -0
- package/lib/typescript/commonjs/icons/remix/RiShareBoxLine.d.ts.map +1 -0
- package/lib/typescript/commonjs/icons/remix/RiTv2Line.d.ts +8 -0
- package/lib/typescript/commonjs/icons/remix/RiTv2Line.d.ts.map +1 -0
- package/lib/typescript/commonjs/icons/remix/index.d.ts +14 -0
- package/lib/typescript/commonjs/icons/remix/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/list/index.web.d.ts.map +1 -1
- package/lib/typescript/commonjs/loading/Loading.d.ts +8 -2
- package/lib/typescript/commonjs/loading/Loading.d.ts.map +1 -1
- package/lib/typescript/commonjs/loading/Loading.web.d.ts +10 -2
- package/lib/typescript/commonjs/loading/Loading.web.d.ts.map +1 -1
- package/lib/typescript/commonjs/loading/LoadingBase.d.ts +64 -0
- package/lib/typescript/commonjs/loading/LoadingBase.d.ts.map +1 -0
- package/lib/typescript/commonjs/loading/index.web.d.ts.map +1 -1
- package/lib/typescript/commonjs/media-flight/index.web.d.ts +0 -9
- package/lib/typescript/commonjs/media-flight/index.web.d.ts.map +1 -1
- package/lib/typescript/commonjs/menubar/Menubar.d.ts +14 -9
- package/lib/typescript/commonjs/menubar/Menubar.d.ts.map +1 -1
- package/lib/typescript/commonjs/menubar/Menubar.web.d.ts +8 -6
- package/lib/typescript/commonjs/menubar/Menubar.web.d.ts.map +1 -1
- package/lib/typescript/commonjs/menubar/MenubarBase.d.ts +5 -0
- package/lib/typescript/commonjs/menubar/MenubarBase.d.ts.map +1 -0
- package/lib/typescript/commonjs/menubar/index.web.d.ts.map +1 -1
- package/lib/typescript/commonjs/motion/index.web.d.ts +0 -5
- package/lib/typescript/commonjs/motion/index.web.d.ts.map +1 -1
- package/lib/typescript/commonjs/popover/index.web.d.ts.map +1 -1
- package/lib/typescript/commonjs/popover/parts.d.ts.map +1 -1
- package/lib/typescript/commonjs/popover/surface.d.ts +15 -5
- package/lib/typescript/commonjs/popover/surface.d.ts.map +1 -1
- package/lib/typescript/commonjs/portal/index.web.d.ts +1 -1
- package/lib/typescript/commonjs/portal/index.web.d.ts.map +1 -1
- package/lib/typescript/commonjs/progressive-blur/index.web.d.ts.map +1 -1
- package/lib/typescript/commonjs/scroll/index.web.d.ts.map +1 -1
- package/lib/typescript/commonjs/segmented-control/SegmentedControl.d.ts.map +1 -1
- package/lib/typescript/commonjs/select/Select.d.ts +2 -4
- package/lib/typescript/commonjs/select/Select.d.ts.map +1 -1
- package/lib/typescript/commonjs/select/Select.web.d.ts +2 -4
- package/lib/typescript/commonjs/select/Select.web.d.ts.map +1 -1
- package/lib/typescript/commonjs/select/index.d.ts +2 -2
- package/lib/typescript/commonjs/select/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/select/index.web.d.ts +2 -2
- package/lib/typescript/commonjs/select/index.web.d.ts.map +1 -1
- package/lib/typescript/commonjs/select/shared.d.ts +52 -5
- package/lib/typescript/commonjs/select/shared.d.ts.map +1 -1
- package/lib/typescript/commonjs/select/types.d.ts +6 -0
- package/lib/typescript/commonjs/select/types.d.ts.map +1 -1
- package/lib/typescript/commonjs/sidebar/parts.d.ts +8 -2
- package/lib/typescript/commonjs/sidebar/parts.d.ts.map +1 -1
- package/lib/typescript/commonjs/surfaces/SurfaceHost.d.ts.map +1 -1
- package/lib/typescript/commonjs/surfaces/index.web.d.ts +9 -4
- package/lib/typescript/commonjs/surfaces/index.web.d.ts.map +1 -1
- package/lib/typescript/commonjs/tab-bar/index.web.d.ts.map +1 -1
- package/lib/typescript/commonjs/tabs/Tabs.d.ts.map +1 -1
- package/lib/typescript/commonjs/tabs/types.d.ts +6 -0
- package/lib/typescript/commonjs/tabs/types.d.ts.map +1 -1
- package/lib/typescript/commonjs/theme/color-scope/index.web.d.ts.map +1 -1
- package/lib/typescript/commonjs/theme/seed-scope/index.web.d.ts.map +1 -1
- package/lib/typescript/commonjs/tooltip/index.web.d.ts.map +1 -1
- package/lib/typescript/module/agent-chat/index.web.d.ts.map +1 -1
- package/lib/typescript/module/ai-chat/index.web.d.ts.map +1 -1
- package/lib/typescript/module/alert-dialog/index.web.d.ts +5 -1
- package/lib/typescript/module/alert-dialog/index.web.d.ts.map +1 -1
- package/lib/typescript/module/avatar-group/index.web.d.ts.map +1 -1
- package/lib/typescript/module/bottom-sheet/index.web.d.ts.map +1 -1
- package/lib/typescript/module/code/index.d.ts +2 -0
- package/lib/typescript/module/code/index.d.ts.map +1 -1
- package/lib/typescript/module/command/index.web.d.ts.map +1 -1
- package/lib/typescript/module/composer-loader/ComposerLoader.web.d.ts +8 -0
- package/lib/typescript/module/composer-loader/ComposerLoader.web.d.ts.map +1 -1
- package/lib/typescript/module/composer-loader/index.web.d.ts.map +1 -1
- package/lib/typescript/module/composer-panel/index.web.d.ts.map +1 -1
- package/lib/typescript/module/connection-dots/index.web.d.ts.map +1 -1
- package/lib/typescript/module/connection-status/index.web.d.ts.map +1 -1
- package/lib/typescript/module/content-panel/index.web.d.ts.map +1 -1
- package/lib/typescript/module/context-menu/ContextMenu.web.d.ts.map +1 -1
- package/lib/typescript/module/context-menu/context.d.ts +3 -0
- package/lib/typescript/module/context-menu/context.d.ts.map +1 -1
- package/lib/typescript/module/context-menu/index.web.d.ts.map +1 -1
- package/lib/typescript/module/dialog/Dialog.web.d.ts.map +1 -1
- package/lib/typescript/module/dialog/index.web.d.ts +2 -1
- package/lib/typescript/module/dialog/index.web.d.ts.map +1 -1
- package/lib/typescript/module/dropdown-menu/DropdownMenu.web.d.ts.map +1 -1
- package/lib/typescript/module/dropdown-menu/index.web.d.ts.map +1 -1
- package/lib/typescript/module/floating/FloatingPanel.d.ts +1 -1
- package/lib/typescript/module/floating/FloatingPanel.d.ts.map +1 -1
- package/lib/typescript/module/floating/escape-stack.d.ts +55 -0
- package/lib/typescript/module/floating/escape-stack.d.ts.map +1 -0
- package/lib/typescript/module/floating/menu-keyboard.d.ts +57 -0
- package/lib/typescript/module/floating/menu-keyboard.d.ts.map +1 -0
- package/lib/typescript/module/floating/menu-sub-flyout.d.ts.map +1 -1
- package/lib/typescript/module/floating/types.d.ts +11 -0
- package/lib/typescript/module/floating/types.d.ts.map +1 -1
- package/lib/typescript/module/fonts/index.web.d.ts.map +1 -1
- package/lib/typescript/module/frosted-icon-button/FrostedIconButton.web.d.ts.map +1 -1
- package/lib/typescript/module/frosted-icon-button/index.web.d.ts.map +1 -1
- package/lib/typescript/module/hooks/roving-focus.d.ts +66 -0
- package/lib/typescript/module/hooks/roving-focus.d.ts.map +1 -0
- package/lib/typescript/module/hover-card/index.web.d.ts.map +1 -1
- package/lib/typescript/module/icons/remix/RiBookReadLine.d.ts +8 -0
- package/lib/typescript/module/icons/remix/RiBookReadLine.d.ts.map +1 -0
- package/lib/typescript/module/icons/remix/RiBugLine.d.ts +8 -0
- package/lib/typescript/module/icons/remix/RiBugLine.d.ts.map +1 -0
- package/lib/typescript/module/icons/remix/RiChat1Line.d.ts +8 -0
- package/lib/typescript/module/icons/remix/RiChat1Line.d.ts.map +1 -0
- package/lib/typescript/module/icons/remix/RiCloudLine.d.ts +8 -0
- package/lib/typescript/module/icons/remix/RiCloudLine.d.ts.map +1 -0
- package/lib/typescript/module/icons/remix/RiCodeLine.d.ts +8 -0
- package/lib/typescript/module/icons/remix/RiCodeLine.d.ts.map +1 -0
- package/lib/typescript/module/icons/remix/RiCpuLine.d.ts +8 -0
- package/lib/typescript/module/icons/remix/RiCpuLine.d.ts.map +1 -0
- package/lib/typescript/module/icons/remix/RiFloodLine.d.ts +8 -0
- package/lib/typescript/module/icons/remix/RiFloodLine.d.ts.map +1 -0
- package/lib/typescript/module/icons/remix/RiLockUnlockLine.d.ts +8 -0
- package/lib/typescript/module/icons/remix/RiLockUnlockLine.d.ts.map +1 -0
- package/lib/typescript/module/icons/remix/RiMoneyDollarCircleLine.d.ts +8 -0
- package/lib/typescript/module/icons/remix/RiMoneyDollarCircleLine.d.ts.map +1 -0
- package/lib/typescript/module/icons/remix/RiPlayCircleLine.d.ts +8 -0
- package/lib/typescript/module/icons/remix/RiPlayCircleLine.d.ts.map +1 -0
- package/lib/typescript/module/icons/remix/RiRocket2Line.d.ts +8 -0
- package/lib/typescript/module/icons/remix/RiRocket2Line.d.ts.map +1 -0
- package/lib/typescript/module/icons/remix/RiServerLine.d.ts +8 -0
- package/lib/typescript/module/icons/remix/RiServerLine.d.ts.map +1 -0
- package/lib/typescript/module/icons/remix/RiShareBoxLine.d.ts +8 -0
- package/lib/typescript/module/icons/remix/RiShareBoxLine.d.ts.map +1 -0
- package/lib/typescript/module/icons/remix/RiTv2Line.d.ts +8 -0
- package/lib/typescript/module/icons/remix/RiTv2Line.d.ts.map +1 -0
- package/lib/typescript/module/icons/remix/index.d.ts +14 -0
- package/lib/typescript/module/icons/remix/index.d.ts.map +1 -1
- package/lib/typescript/module/list/index.web.d.ts.map +1 -1
- package/lib/typescript/module/loading/Loading.d.ts +8 -2
- package/lib/typescript/module/loading/Loading.d.ts.map +1 -1
- package/lib/typescript/module/loading/Loading.web.d.ts +10 -2
- package/lib/typescript/module/loading/Loading.web.d.ts.map +1 -1
- package/lib/typescript/module/loading/LoadingBase.d.ts +64 -0
- package/lib/typescript/module/loading/LoadingBase.d.ts.map +1 -0
- package/lib/typescript/module/loading/index.web.d.ts.map +1 -1
- package/lib/typescript/module/media-flight/index.web.d.ts +0 -9
- package/lib/typescript/module/media-flight/index.web.d.ts.map +1 -1
- package/lib/typescript/module/menubar/Menubar.d.ts +14 -9
- package/lib/typescript/module/menubar/Menubar.d.ts.map +1 -1
- package/lib/typescript/module/menubar/Menubar.web.d.ts +8 -6
- package/lib/typescript/module/menubar/Menubar.web.d.ts.map +1 -1
- package/lib/typescript/module/menubar/MenubarBase.d.ts +5 -0
- package/lib/typescript/module/menubar/MenubarBase.d.ts.map +1 -0
- package/lib/typescript/module/menubar/index.web.d.ts.map +1 -1
- package/lib/typescript/module/motion/index.web.d.ts +0 -5
- package/lib/typescript/module/motion/index.web.d.ts.map +1 -1
- package/lib/typescript/module/popover/index.web.d.ts.map +1 -1
- package/lib/typescript/module/popover/parts.d.ts.map +1 -1
- package/lib/typescript/module/popover/surface.d.ts +15 -5
- package/lib/typescript/module/popover/surface.d.ts.map +1 -1
- package/lib/typescript/module/portal/index.web.d.ts +1 -1
- package/lib/typescript/module/portal/index.web.d.ts.map +1 -1
- package/lib/typescript/module/progressive-blur/index.web.d.ts.map +1 -1
- package/lib/typescript/module/scroll/index.web.d.ts.map +1 -1
- package/lib/typescript/module/segmented-control/SegmentedControl.d.ts.map +1 -1
- package/lib/typescript/module/select/Select.d.ts +2 -4
- package/lib/typescript/module/select/Select.d.ts.map +1 -1
- package/lib/typescript/module/select/Select.web.d.ts +2 -4
- package/lib/typescript/module/select/Select.web.d.ts.map +1 -1
- package/lib/typescript/module/select/index.d.ts +2 -2
- package/lib/typescript/module/select/index.d.ts.map +1 -1
- package/lib/typescript/module/select/index.web.d.ts +2 -2
- package/lib/typescript/module/select/index.web.d.ts.map +1 -1
- package/lib/typescript/module/select/shared.d.ts +52 -5
- package/lib/typescript/module/select/shared.d.ts.map +1 -1
- package/lib/typescript/module/select/types.d.ts +6 -0
- package/lib/typescript/module/select/types.d.ts.map +1 -1
- package/lib/typescript/module/sidebar/parts.d.ts +8 -2
- package/lib/typescript/module/sidebar/parts.d.ts.map +1 -1
- package/lib/typescript/module/surfaces/SurfaceHost.d.ts.map +1 -1
- package/lib/typescript/module/surfaces/index.web.d.ts +9 -4
- package/lib/typescript/module/surfaces/index.web.d.ts.map +1 -1
- package/lib/typescript/module/tab-bar/index.web.d.ts.map +1 -1
- package/lib/typescript/module/tabs/Tabs.d.ts.map +1 -1
- package/lib/typescript/module/tabs/types.d.ts +6 -0
- package/lib/typescript/module/tabs/types.d.ts.map +1 -1
- package/lib/typescript/module/theme/color-scope/index.web.d.ts.map +1 -1
- package/lib/typescript/module/theme/seed-scope/index.web.d.ts.map +1 -1
- package/lib/typescript/module/tooltip/index.web.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/agent-chat/index.web.ts +5 -3
- package/src/ai-chat/index.web.ts +5 -2
- package/src/alert-dialog/index.web.ts +10 -1
- package/src/avatar-group/index.web.ts +5 -0
- package/src/bottom-sheet/index.web.ts +5 -0
- package/src/code/index.ts +2 -0
- package/src/command/index.web.ts +5 -0
- package/src/composer-loader/ComposerLoader.web.tsx +8 -0
- package/src/composer-loader/index.web.ts +5 -2
- package/src/composer-panel/index.web.ts +5 -3
- package/src/connection-dots/index.web.ts +5 -0
- package/src/connection-status/index.web.ts +5 -0
- package/src/content-panel/index.web.ts +5 -0
- package/src/context-menu/ContextMenu.web.tsx +26 -3
- package/src/context-menu/context.ts +3 -0
- package/src/context-menu/index.web.ts +5 -0
- package/src/dialog/Dialog.web.tsx +13 -0
- package/src/dialog/index.web.ts +7 -11
- package/src/dropdown-menu/DropdownMenu.web.tsx +25 -2
- package/src/dropdown-menu/index.web.ts +5 -0
- package/src/floating/FloatingPanel.tsx +37 -38
- package/src/floating/escape-stack.ts +92 -0
- package/src/floating/menu-keyboard.ts +242 -0
- package/src/floating/menu-sub-flyout.tsx +22 -17
- package/src/floating/types.ts +11 -0
- package/src/fonts/index.web.ts +5 -20
- package/src/frosted-icon-button/FrostedIconButton.web.tsx +9 -0
- package/src/frosted-icon-button/index.web.ts +5 -7
- package/src/hooks/roving-focus.ts +204 -0
- package/src/hover-card/index.web.ts +5 -0
- package/src/icons/remix/RiBookReadLine.tsx +6 -0
- package/src/icons/remix/RiBugLine.tsx +6 -0
- package/src/icons/remix/RiChat1Line.tsx +6 -0
- package/src/icons/remix/RiCloudLine.tsx +6 -0
- package/src/icons/remix/RiCodeLine.tsx +6 -0
- package/src/icons/remix/RiCpuLine.tsx +6 -0
- package/src/icons/remix/RiFloodLine.tsx +6 -0
- package/src/icons/remix/RiLockUnlockLine.tsx +6 -0
- package/src/icons/remix/RiMoneyDollarCircleLine.tsx +6 -0
- package/src/icons/remix/RiPlayCircleLine.tsx +6 -0
- package/src/icons/remix/RiRocket2Line.tsx +6 -0
- package/src/icons/remix/RiServerLine.tsx +6 -0
- package/src/icons/remix/RiShareBoxLine.tsx +6 -0
- package/src/icons/remix/RiTv2Line.tsx +6 -0
- package/src/icons/remix/index.ts +14 -0
- package/src/list/index.web.ts +5 -0
- package/src/loading/Loading.tsx +15 -135
- package/src/loading/Loading.web.tsx +16 -134
- package/src/loading/LoadingBase.tsx +170 -0
- package/src/loading/index.web.ts +5 -13
- package/src/media-flight/index.web.ts +5 -9
- package/src/menubar/Menubar.tsx +16 -147
- package/src/menubar/Menubar.web.tsx +15 -138
- package/src/menubar/MenubarBase.tsx +170 -0
- package/src/menubar/index.web.ts +5 -0
- package/src/motion/index.web.ts +5 -5
- package/src/popover/index.web.ts +5 -0
- package/src/popover/parts.tsx +76 -12
- package/src/popover/surface.ts +68 -15
- package/src/portal/index.web.ts +6 -1
- package/src/progressive-blur/index.web.ts +5 -0
- package/src/scroll/index.web.ts +5 -0
- package/src/segmented-control/SegmentedControl.tsx +45 -1
- package/src/select/Select.tsx +4 -67
- package/src/select/Select.web.tsx +133 -69
- package/src/select/index.ts +3 -3
- package/src/select/index.web.ts +8 -3
- package/src/select/shared.tsx +107 -5
- package/src/select/types.ts +6 -0
- package/src/sidebar/SidebarTeamMenu.tsx +2 -2
- package/src/sidebar/SidebarUserMenu.tsx +2 -2
- package/src/sidebar/parts.tsx +8 -9
- package/src/surfaces/SurfaceHost.tsx +6 -0
- package/src/surfaces/index.web.ts +14 -4
- package/src/tab-bar/index.web.ts +13 -10
- package/src/tabs/Tabs.tsx +65 -1
- package/src/tabs/types.ts +6 -0
- package/src/theme/color-scope/index.web.ts +5 -0
- package/src/theme/seed-scope/index.web.ts +5 -0
- package/src/tooltip/index.web.ts +5 -0
package/src/select/shared.tsx
CHANGED
|
@@ -2,11 +2,13 @@
|
|
|
2
2
|
* The parts of `Select` that are the SAME on both platforms, plus the contexts
|
|
3
3
|
* the two forks publish.
|
|
4
4
|
*
|
|
5
|
-
* `SelectGroup`, `SelectLabel
|
|
6
|
-
*
|
|
7
|
-
*
|
|
5
|
+
* `SelectGroup`, `SelectLabel`, the two scroll buttons, the option's own text,
|
|
6
|
+
* its selection mark and the rule between groups live here rather than being
|
|
7
|
+
* written twice, because nothing in them is platform-specific: a group is a
|
|
8
|
+
* `role="group"` box, a label is a line of muted text, the scroll buttons ask
|
|
8
9
|
* one context whether there is anything to scroll — a question native answers
|
|
9
|
-
* "no" by never publishing the context at all
|
|
10
|
+
* "no" by never publishing the context at all — and the last three read only
|
|
11
|
+
* the palette and the per-ITEM context, which both forks provide.
|
|
10
12
|
*
|
|
11
13
|
* The barrels export them from here directly, so each part still has exactly one
|
|
12
14
|
* owner and neither fork re-exports the other's work.
|
|
@@ -14,10 +16,17 @@
|
|
|
14
16
|
import React, { createContext, useContext } from 'react';
|
|
15
17
|
import Svg, { Path } from 'react-native-svg';
|
|
16
18
|
|
|
17
|
-
import {
|
|
19
|
+
import {
|
|
20
|
+
ROW_ICON_SIZE,
|
|
21
|
+
ROW_INDICATOR_END_CLASS,
|
|
22
|
+
ROW_LABEL_CLASS,
|
|
23
|
+
SELECT_ITEM_TEXT_CLASS,
|
|
24
|
+
SELECT_SEPARATOR_CLASS,
|
|
25
|
+
} from '../floating/constants';
|
|
18
26
|
import { useMenuPalette } from '../floating/menu-palette';
|
|
19
27
|
import { menuType, menuTypeClass } from '../floating/menu-type';
|
|
20
28
|
import { cx } from '../floating/shared';
|
|
29
|
+
import { RiCheckLine as CheckIcon } from '../icons/remix/RiCheckLine';
|
|
21
30
|
import { RiArrowDownSLine as ChevronDownIcon } from '../icons/remix/RiArrowDownSLine';
|
|
22
31
|
import { RiArrowUpSLine as ChevronUpIcon } from '../icons/remix/RiArrowUpSLine';
|
|
23
32
|
import {
|
|
@@ -28,6 +37,8 @@ import {
|
|
|
28
37
|
import type {
|
|
29
38
|
SelectGroupProps,
|
|
30
39
|
SelectItemContextValue,
|
|
40
|
+
SelectItemIndicatorProps,
|
|
41
|
+
SelectItemTextProps,
|
|
31
42
|
SelectLabelProps,
|
|
32
43
|
SelectScrollButtonProps,
|
|
33
44
|
SelectSize,
|
|
@@ -141,6 +152,7 @@ export function defaultItemValueExtractor(item: unknown): string {
|
|
|
141
152
|
export const ItemContext = createContext<SelectItemContextValue>({
|
|
142
153
|
selected: false,
|
|
143
154
|
disabled: false,
|
|
155
|
+
size: 'md',
|
|
144
156
|
});
|
|
145
157
|
ItemContext.displayName = 'SelectItemContext';
|
|
146
158
|
|
|
@@ -261,3 +273,93 @@ export function SelectScrollDownButton({
|
|
|
261
273
|
return <SelectScrollButton direction="down" className={className} style={style} />;
|
|
262
274
|
}
|
|
263
275
|
SelectScrollDownButton.displayName = 'SelectScrollDownButton';
|
|
276
|
+
|
|
277
|
+
// ---------------------------------------------------------------------------
|
|
278
|
+
// The option's own parts
|
|
279
|
+
// ---------------------------------------------------------------------------
|
|
280
|
+
|
|
281
|
+
/** The type ramp an option's label takes, per list size. */
|
|
282
|
+
export const VALUE_TYPE = { md: 'body-medium', sm: 'body-2-medium' } as const;
|
|
283
|
+
|
|
284
|
+
/**
|
|
285
|
+
* An option's label. The selected option is marked by the check and the row
|
|
286
|
+
* highlight, so its text stays at the same weight as every other row's.
|
|
287
|
+
*
|
|
288
|
+
* The colour is inline ONLY without a caller `className`: an inline colour
|
|
289
|
+
* outranks a class on native, so a `text-*` utility would be silently dead.
|
|
290
|
+
*/
|
|
291
|
+
export function SelectItemText({ children, className, style }: SelectItemTextProps) {
|
|
292
|
+
const { disabled, size } = useSelectItemContext();
|
|
293
|
+
const palette = useMenuPalette();
|
|
294
|
+
return (
|
|
295
|
+
<StyledText
|
|
296
|
+
numberOfLines={1}
|
|
297
|
+
className={cx(
|
|
298
|
+
SELECT_ITEM_TEXT_CLASS[size],
|
|
299
|
+
menuTypeClass(VALUE_TYPE[size], className),
|
|
300
|
+
className && 'text-foreground',
|
|
301
|
+
className,
|
|
302
|
+
)}
|
|
303
|
+
style={[
|
|
304
|
+
menuType(VALUE_TYPE[size], className),
|
|
305
|
+
className ? null : { color: disabled ? palette.textDisabled : palette.text },
|
|
306
|
+
style,
|
|
307
|
+
]}>
|
|
308
|
+
{children}
|
|
309
|
+
</StyledText>
|
|
310
|
+
);
|
|
311
|
+
}
|
|
312
|
+
SelectItemText.displayName = 'SelectItemText';
|
|
313
|
+
|
|
314
|
+
/**
|
|
315
|
+
* The selection mark: `absolute right-2 flex size-3.5 items-center
|
|
316
|
+
* justify-center` holding a `size-4` check.
|
|
317
|
+
*
|
|
318
|
+
* A select's tick sits on the RIGHT — the opposite side from a menu's — which
|
|
319
|
+
* is what leaves the option's own text starting flush at `pl-2` like every
|
|
320
|
+
* other line in the panel. Bloom once drew a `RadioIndicator` in a left gutter
|
|
321
|
+
* in the row's FLOW, so a select and a dropdown menu disagreed about both the
|
|
322
|
+
* mark and the edge it belongs on, and native and web disagreed with each
|
|
323
|
+
* other on top of that.
|
|
324
|
+
*/
|
|
325
|
+
export function SelectItemIndicator({ icon: IconComponent = CheckIcon }: SelectItemIndicatorProps) {
|
|
326
|
+
const palette = useMenuPalette();
|
|
327
|
+
const { selected } = useSelectItemContext();
|
|
328
|
+
|
|
329
|
+
if (!selected) return null;
|
|
330
|
+
|
|
331
|
+
return (
|
|
332
|
+
<StyledView className={ROW_INDICATOR_END_CLASS} pointerEvents="none">
|
|
333
|
+
<IconComponent
|
|
334
|
+
width={ROW_ICON_SIZE}
|
|
335
|
+
height={ROW_ICON_SIZE}
|
|
336
|
+
fill={palette.textSecondary}
|
|
337
|
+
/>
|
|
338
|
+
</StyledView>
|
|
339
|
+
);
|
|
340
|
+
}
|
|
341
|
+
SelectItemIndicator.displayName = 'SelectItemIndicator';
|
|
342
|
+
|
|
343
|
+
/**
|
|
344
|
+
* The rule between groups: `-mx-2 my-1.5 h-px bg-border-button-default`,
|
|
345
|
+
* bleeding back through the listbox's `p-2`. A FILLED 1px box, not a bottom
|
|
346
|
+
* border on a stretched one.
|
|
347
|
+
*/
|
|
348
|
+
export function SelectSeparator() {
|
|
349
|
+
const palette = useMenuPalette();
|
|
350
|
+
return (
|
|
351
|
+
<StyledView className={SELECT_SEPARATOR_CLASS} style={{ backgroundColor: palette.border }} />
|
|
352
|
+
);
|
|
353
|
+
}
|
|
354
|
+
SelectSeparator.displayName = 'SelectSeparator';
|
|
355
|
+
|
|
356
|
+
/**
|
|
357
|
+
* The label a `SelectValue` shows for an item when the caller gave no
|
|
358
|
+
* `extractLabel`. Pure, and identical on both platforms.
|
|
359
|
+
*/
|
|
360
|
+
export function defaultExtractLabel(item: unknown): React.ReactNode {
|
|
361
|
+
if (item != null && typeof item === 'object' && 'label' in item) {
|
|
362
|
+
return (item as { label: React.ReactNode }).label;
|
|
363
|
+
}
|
|
364
|
+
return String(item);
|
|
365
|
+
}
|
package/src/select/types.ts
CHANGED
|
@@ -174,4 +174,10 @@ export type SelectItemContextValue = {
|
|
|
174
174
|
selected: boolean;
|
|
175
175
|
/** Read by `SelectItemText`, which paints `text-disabled`. */
|
|
176
176
|
disabled: boolean;
|
|
177
|
+
/**
|
|
178
|
+
* The list's size token, so `SelectItemText` can pick its type ramp without
|
|
179
|
+
* reading the forked `SelectContext` — which is what kept it, and the check
|
|
180
|
+
* and the rule beside it, written out twice.
|
|
181
|
+
*/
|
|
182
|
+
size: SelectSize;
|
|
177
183
|
};
|
|
@@ -22,7 +22,7 @@ import {
|
|
|
22
22
|
Collapsible,
|
|
23
23
|
IS_WEB,
|
|
24
24
|
MenuDivider,
|
|
25
|
-
|
|
25
|
+
SIDEBAR_MENU_PANEL,
|
|
26
26
|
SidebarAvatarView,
|
|
27
27
|
useSidebarWebCss,
|
|
28
28
|
useSidebarCollapseProgress,
|
|
@@ -246,7 +246,7 @@ const SidebarTeamMenuComponent: React.FC<SidebarTeamMenuProps> = ({ team, collap
|
|
|
246
246
|
align={narrow ? 'start' : 'end'}
|
|
247
247
|
sideOffset={8}
|
|
248
248
|
maxWidth={width - 32}
|
|
249
|
-
style={
|
|
249
|
+
style={SIDEBAR_MENU_PANEL}
|
|
250
250
|
testID={testID ? `${testID}-menu` : undefined}
|
|
251
251
|
>
|
|
252
252
|
<View style={{ gap: 7 }}>
|
|
@@ -18,7 +18,7 @@ import {
|
|
|
18
18
|
Collapsible,
|
|
19
19
|
IS_WEB,
|
|
20
20
|
MenuDivider,
|
|
21
|
-
|
|
21
|
+
SIDEBAR_MENU_PANEL,
|
|
22
22
|
SidebarAvatarView,
|
|
23
23
|
useSidebarWebCss,
|
|
24
24
|
useSidebarCollapseProgress,
|
|
@@ -223,7 +223,7 @@ const SidebarUserMenuComponent: React.FC<SidebarUserMenuProps> = ({
|
|
|
223
223
|
align="start"
|
|
224
224
|
sideOffset={8}
|
|
225
225
|
maxWidth={width - 32}
|
|
226
|
-
style={
|
|
226
|
+
style={SIDEBAR_MENU_PANEL}
|
|
227
227
|
testID={testID ? `${testID}-menu` : undefined}
|
|
228
228
|
>
|
|
229
229
|
<SidebarAccountMenuContent account={account} onSelect={() => setOpen(false)} />
|
package/src/sidebar/parts.tsx
CHANGED
|
@@ -235,15 +235,14 @@ export function ChevronUpDownSmall({ color, size = 16 }: { color: string; size?:
|
|
|
235
235
|
);
|
|
236
236
|
}
|
|
237
237
|
|
|
238
|
-
/**
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
const MENU_PANEL: ViewStyle = { width: 265 };
|
|
238
|
+
/**
|
|
239
|
+
* The width both sidebar menus give their popover: `w-[265px]` — the only
|
|
240
|
+
* thing these menus say differently from the popover panel itself. Radius,
|
|
241
|
+
* border, surface, `p-2.5` and `shadow-dropdown` are `Popover`'s own defaults
|
|
242
|
+
* (`popover/surface.ts`), which is why this stopped being a function of the
|
|
243
|
+
* palette: it took one and ignored it, and both call sites kept passing one.
|
|
244
|
+
*/
|
|
245
|
+
export const SIDEBAR_MENU_PANEL: ViewStyle = { width: 265 };
|
|
247
246
|
|
|
248
247
|
/** Full-bleed menu divider: `-mx-2.5 h-px bg-border-button-default`. */
|
|
249
248
|
export function MenuDivider({ palette, spacing }: { palette: SidebarPalette; spacing: number }) {
|
|
@@ -7,6 +7,7 @@ import React, {
|
|
|
7
7
|
import { BackHandler, Platform } from 'react-native';
|
|
8
8
|
|
|
9
9
|
import { useDialogControl } from '../dialog/context';
|
|
10
|
+
import { hasOpenFloatingSurface } from '../floating/escape-stack';
|
|
10
11
|
import type { DialogProps } from '../dialog/types';
|
|
11
12
|
import {
|
|
12
13
|
finalizeClose,
|
|
@@ -211,6 +212,11 @@ function useEscapeDismissesTop(): void {
|
|
|
211
212
|
if (typeof window === 'undefined' || typeof document === 'undefined') return;
|
|
212
213
|
const handler = (e: KeyboardEvent) => {
|
|
213
214
|
if (e.key !== 'Escape') return;
|
|
215
|
+
// An open anchored surface (a Select's list, a menu, a popover) takes
|
|
216
|
+
// Escape first — `floating/escape-stack.ts` closes it and keeps the key
|
|
217
|
+
// from the dialog underneath. Dismissing the top dialog here would close
|
|
218
|
+
// the dialog UNDER the open list, and the list with it.
|
|
219
|
+
if (hasOpenFloatingSurface()) return;
|
|
214
220
|
const stack = getSnapshot();
|
|
215
221
|
const top = stack[stack.length - 1];
|
|
216
222
|
if (!top) return;
|
|
@@ -1,11 +1,21 @@
|
|
|
1
|
+
// AUTO-GENERATED by scripts/generate-platform-exports.mjs — DO NOT EDIT.
|
|
2
|
+
// Source of truth: src/surfaces/index.ts.
|
|
3
|
+
// Re-run `bun run generate:exports` (or any `bun run build`) after
|
|
4
|
+
// changing that barrel or the set of web-forked subpaths.
|
|
5
|
+
|
|
1
6
|
import { Dialog } from '../dialog/index.web';
|
|
2
7
|
import { createSurfaceHost } from './SurfaceHost';
|
|
3
8
|
|
|
4
9
|
/**
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
* imperative API
|
|
10
|
+
* The shared, content-agnostic SURFACE STACK.
|
|
11
|
+
*
|
|
12
|
+
* `<SurfaceProvider>`/`<SurfaceHost>` render the coordinated stack; the
|
|
13
|
+
* imperative `surfaces` API (+ its named functions) present into it from
|
|
14
|
+
* anywhere; `useSurface()` gives a presented surface its own controls.
|
|
15
|
+
*
|
|
16
|
+
* `SurfaceHost`/`SurfaceProvider` are bound to the NATIVE `Dialog` here; the web
|
|
17
|
+
* fork (`./index.web`) binds the web `Dialog`. The store, imperative API, hook,
|
|
18
|
+
* and types are platform-agnostic and shared by both.
|
|
9
19
|
*/
|
|
10
20
|
const { SurfaceHost, SurfaceProvider } = createSurfaceHost(Dialog);
|
|
11
21
|
|
package/src/tab-bar/index.web.ts
CHANGED
|
@@ -1,18 +1,21 @@
|
|
|
1
|
+
// AUTO-GENERATED by scripts/generate-platform-exports.mjs — DO NOT EDIT.
|
|
2
|
+
// Source of truth: src/tab-bar/index.ts.
|
|
3
|
+
// Re-run `bun run generate:exports` (or any `bun run build`) after
|
|
4
|
+
// changing that barrel or the set of web-forked subpaths.
|
|
5
|
+
|
|
1
6
|
/**
|
|
2
7
|
* Ported from expo-glass-tabs v0.1.1 — src/index.ts
|
|
3
8
|
* (MIT © 2026 David Mokos).
|
|
4
9
|
*
|
|
5
|
-
*
|
|
6
|
-
* `browser` export condition.
|
|
10
|
+
* DEFAULT entry for `@oxy.so/bloom/tab-bar`.
|
|
7
11
|
*
|
|
8
|
-
* The
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
* behaviour, and it is what any resolver lands on here.
|
|
12
|
+
* The platform pieces are imported by their BARE relative name so Metro's
|
|
13
|
+
* platform-extension resolution picks `surface.native.tsx` / `glyph.native.tsx`
|
|
14
|
+
* on iOS and Android, and every other resolver falls back to the neutral
|
|
15
|
+
* `surface.tsx` / `glyph.tsx`. Both neutral files, and everything else this
|
|
16
|
+
* module reaches, are free of native-only imports, so a consumer's `tsc` and a
|
|
17
|
+
* non-Metro bundler resolve this entry cleanly. Web bundlers select
|
|
18
|
+
* `index.web.tsx` instead, through the package's `browser` export condition.
|
|
16
19
|
*/
|
|
17
20
|
import { ProgressiveBlur } from '../progressive-blur/index.web';
|
|
18
21
|
import { createTabBar, createTabBarButton } from './TabBarBase';
|
package/src/tabs/Tabs.tsx
CHANGED
|
@@ -36,6 +36,7 @@ import { useInteractionState } from '../hooks/use-interaction-state';
|
|
|
36
36
|
import { borderRadius } from '../styles/tokens';
|
|
37
37
|
import { hairlineOn, surfaceFillOn, useSurfaceFill } from '../styles/surface-levels';
|
|
38
38
|
import { interactiveWebCss, useInteractiveWebCss } from '../styles/interactive-web-css';
|
|
39
|
+
import { handleRovingKeyDown, useRovingTabIndex } from '../hooks/roving-focus';
|
|
39
40
|
import type { WebCssStyle } from '../styles/web-view-style';
|
|
40
41
|
import type {
|
|
41
42
|
TabsContentProps,
|
|
@@ -222,6 +223,12 @@ const IS_WEB = Platform.OS === 'web';
|
|
|
222
223
|
|
|
223
224
|
const STYLE_ID = 'bloom-tabs-web-css';
|
|
224
225
|
const TRIGGER = '[data-bloom-tabs-trigger]';
|
|
226
|
+
/** The strip — the owner a trigger's keyboard walks within. */
|
|
227
|
+
const STRIP = '[data-bloom-tabs-strip]';
|
|
228
|
+
|
|
229
|
+
function isSelectedTab(element: HTMLElement): boolean {
|
|
230
|
+
return element.getAttribute('aria-selected') === 'true';
|
|
231
|
+
}
|
|
225
232
|
|
|
226
233
|
const BLOOM_TABS_CSS = interactiveWebCss({
|
|
227
234
|
selector: TRIGGER,
|
|
@@ -280,6 +287,13 @@ interface TabsContextValue {
|
|
|
280
287
|
reportTriggerLayout: (value: string, layout: TriggerLayout) => void;
|
|
281
288
|
/** A trigger reports that the ROUTER considers it focused. */
|
|
282
289
|
reportFocused: (value: string) => void;
|
|
290
|
+
/**
|
|
291
|
+
* What an arrow key does on web: `follow` selects the tab it lands on
|
|
292
|
+
* (automatic activation, the controlled path), `manual` only moves focus and
|
|
293
|
+
* leaves Enter/Space to select (the focus-driven path, where selecting is a
|
|
294
|
+
* navigation). See `TabsProps.value`.
|
|
295
|
+
*/
|
|
296
|
+
activation: 'follow' | 'manual';
|
|
283
297
|
}
|
|
284
298
|
|
|
285
299
|
const TabsContext = createContext<TabsContextValue | null>(null);
|
|
@@ -340,6 +354,7 @@ const TabsBarComponent = forwardRef<TabsDragController, TabsProps>(function Tabs
|
|
|
340
354
|
hasSelection = true,
|
|
341
355
|
variant = 'underline',
|
|
342
356
|
fullWidth = false,
|
|
357
|
+
label,
|
|
343
358
|
children,
|
|
344
359
|
style,
|
|
345
360
|
testID,
|
|
@@ -378,6 +393,7 @@ const TabsBarComponent = forwardRef<TabsDragController, TabsProps>(function Tabs
|
|
|
378
393
|
const remeasureScheduledRef = useRef(false);
|
|
379
394
|
const indicatorPlacedRef = useRef(false);
|
|
380
395
|
const scrollRef = useRef<ScrollView>(null);
|
|
396
|
+
const stripRef = useRef<View>(null);
|
|
381
397
|
const viewportWidthRef = useRef(0);
|
|
382
398
|
// The value the underline currently belongs to, from EITHER path. A ref
|
|
383
399
|
// because the layout callback below must see the latest selection without
|
|
@@ -572,6 +588,21 @@ const TabsBarComponent = forwardRef<TabsDragController, TabsProps>(function Tabs
|
|
|
572
588
|
// is the bug.
|
|
573
589
|
useEffect(scheduleRemeasure);
|
|
574
590
|
|
|
591
|
+
// Web: ONE tab stop for the strip — the selected tab, or the first enabled one
|
|
592
|
+
// when none is — as the ARIA tabs pattern requires (`hooks/roving-focus.ts`).
|
|
593
|
+
// The strip is whichever node carries `role="tablist"`: the scroll view's own
|
|
594
|
+
// node, or the full-width row.
|
|
595
|
+
useRovingTabIndex(
|
|
596
|
+
() =>
|
|
597
|
+
(fullWidth
|
|
598
|
+
? (stripRef.current as unknown as Element | null)
|
|
599
|
+
: ((scrollRef.current as unknown as { getScrollableNode?: () => Element | null } | null)
|
|
600
|
+
?.getScrollableNode?.() ?? null)),
|
|
601
|
+
TRIGGER,
|
|
602
|
+
isSelectedTab,
|
|
603
|
+
STRIP,
|
|
604
|
+
);
|
|
605
|
+
|
|
575
606
|
useImperativeHandle(
|
|
576
607
|
dragRef,
|
|
577
608
|
(): TabsDragController => ({
|
|
@@ -640,6 +671,7 @@ const TabsBarComponent = forwardRef<TabsDragController, TabsProps>(function Tabs
|
|
|
640
671
|
registerTrigger,
|
|
641
672
|
reportTriggerLayout,
|
|
642
673
|
reportFocused,
|
|
674
|
+
activation: value === undefined ? 'manual' : 'follow',
|
|
643
675
|
}),
|
|
644
676
|
[
|
|
645
677
|
value,
|
|
@@ -669,6 +701,13 @@ const TabsBarComponent = forwardRef<TabsDragController, TabsProps>(function Tabs
|
|
|
669
701
|
[isUnderline, paint.separator],
|
|
670
702
|
);
|
|
671
703
|
|
|
704
|
+
// Web only: `role="tablist"` and its name. On native the strip stays a plain
|
|
705
|
+
// container — a named native View would become ONE accessibility element
|
|
706
|
+
// and swallow its tabs on iOS.
|
|
707
|
+
const stripA11y: Record<string, unknown> = IS_WEB
|
|
708
|
+
? { role: 'tablist', 'aria-label': label, dataSet: { bloomTabsStrip: '' } }
|
|
709
|
+
: {};
|
|
710
|
+
|
|
672
711
|
// The underline sits OVER the baseline: it is `bottom-0` of a wrapper whose
|
|
673
712
|
// child carries the border. An absolute child is placed inside the border,
|
|
674
713
|
// so it is pulled down by the baseline's own width — read from the caller's
|
|
@@ -731,7 +770,7 @@ const TabsBarComponent = forwardRef<TabsDragController, TabsProps>(function Tabs
|
|
|
731
770
|
return (
|
|
732
771
|
<TabsContext.Provider value={contextValue}>
|
|
733
772
|
{fullWidth ? (
|
|
734
|
-
<View style={[containerStyle, style]} testID={testID}>
|
|
773
|
+
<View ref={stripRef} {...stripA11y} style={[containerStyle, style]} testID={testID}>
|
|
735
774
|
{isUnderline ? null : indicator}
|
|
736
775
|
{children}
|
|
737
776
|
{isUnderline ? indicator : null}
|
|
@@ -739,6 +778,7 @@ const TabsBarComponent = forwardRef<TabsDragController, TabsProps>(function Tabs
|
|
|
739
778
|
) : (
|
|
740
779
|
<ScrollView
|
|
741
780
|
ref={scrollRef}
|
|
781
|
+
{...stripA11y}
|
|
742
782
|
horizontal
|
|
743
783
|
showsHorizontalScrollIndicator={false}
|
|
744
784
|
contentContainerStyle={[containerStyle, style]}
|
|
@@ -777,6 +817,7 @@ const TabComponent: React.FC<TabsTriggerProps> = ({
|
|
|
777
817
|
registerTrigger,
|
|
778
818
|
reportTriggerLayout,
|
|
779
819
|
reportFocused,
|
|
820
|
+
activation,
|
|
780
821
|
} = useTabsContext('TabsTrigger');
|
|
781
822
|
// The two paths meet here: an explicit `isFocused` (router adapter) wins;
|
|
782
823
|
// otherwise selection comes from the bar's controlled `value`.
|
|
@@ -827,6 +868,28 @@ const TabComponent: React.FC<TabsTriggerProps> = ({
|
|
|
827
868
|
if (isFocused === undefined) onValueChange?.(value);
|
|
828
869
|
}, [value, disabled, onValueChange, onPressProp, isFocused]);
|
|
829
870
|
|
|
871
|
+
// Web keyboard (ARIA tabs): Left/Right move between tabs with wrap-around,
|
|
872
|
+
// Home/End jump to the ends, disabled tabs are skipped, and Space selects —
|
|
873
|
+
// react-native-web presses a `tab` on Enter only. Enter stays with its own
|
|
874
|
+
// press handling.
|
|
875
|
+
const webKeyboard = useMemo(
|
|
876
|
+
() =>
|
|
877
|
+
IS_WEB
|
|
878
|
+
? {
|
|
879
|
+
onKeyDown: (event: { key: string; currentTarget: unknown; preventDefault: () => void }) => {
|
|
880
|
+
handleRovingKeyDown(event, {
|
|
881
|
+
selector: TRIGGER,
|
|
882
|
+
owner: STRIP,
|
|
883
|
+
orientation: 'horizontal',
|
|
884
|
+
homeEnd: true,
|
|
885
|
+
activate: activation,
|
|
886
|
+
});
|
|
887
|
+
},
|
|
888
|
+
}
|
|
889
|
+
: {},
|
|
890
|
+
[activation],
|
|
891
|
+
);
|
|
892
|
+
|
|
830
893
|
const labelColor = isSelected ? paint.selectedLabel : paint.idleLabel;
|
|
831
894
|
const iconColor = isSelected ? paint.selectedIcon : paint.idleIcon;
|
|
832
895
|
|
|
@@ -878,6 +941,7 @@ const TabComponent: React.FC<TabsTriggerProps> = ({
|
|
|
878
941
|
>
|
|
879
942
|
<Pressable
|
|
880
943
|
{...webDataSet({ bloomTabsTrigger: variant })}
|
|
944
|
+
{...webKeyboard}
|
|
881
945
|
style={[
|
|
882
946
|
triggerStyle,
|
|
883
947
|
fullWidth && { flex: 1 },
|
package/src/tabs/types.ts
CHANGED
|
@@ -62,6 +62,12 @@ export interface TabsProps {
|
|
|
62
62
|
* set of tabs (e.g. 2–3). Defaults to `false`.
|
|
63
63
|
*/
|
|
64
64
|
fullWidth?: boolean;
|
|
65
|
+
/**
|
|
66
|
+
* The strip's accessible name — the `tablist`'s `aria-label` on web ("Account
|
|
67
|
+
* sections"). The tab labels name the TABS, not the set of them. Ignored on
|
|
68
|
+
* native, where naming the container would fold its tabs into one element.
|
|
69
|
+
*/
|
|
70
|
+
label?: string;
|
|
65
71
|
/** The tab items. Must be TabsTrigger components. */
|
|
66
72
|
children: React.ReactNode;
|
|
67
73
|
style?: StyleProp<ViewStyle>;
|
|
@@ -1,2 +1,7 @@
|
|
|
1
|
+
// AUTO-GENERATED by scripts/generate-platform-exports.mjs — DO NOT EDIT.
|
|
2
|
+
// Source of truth: src/theme/color-scope/index.ts.
|
|
3
|
+
// Re-run `bun run generate:exports` (or any `bun run build`) after
|
|
4
|
+
// changing that barrel or the set of web-forked subpaths.
|
|
5
|
+
|
|
1
6
|
export { BloomColorScope, useColorScopeStyle } from './ColorScope.web';
|
|
2
7
|
export type { BloomColorScopeProps } from './ColorScope.web';
|
|
@@ -1,2 +1,7 @@
|
|
|
1
|
+
// AUTO-GENERATED by scripts/generate-platform-exports.mjs — DO NOT EDIT.
|
|
2
|
+
// Source of truth: src/theme/seed-scope/index.ts.
|
|
3
|
+
// Re-run `bun run generate:exports` (or any `bun run build`) after
|
|
4
|
+
// changing that barrel or the set of web-forked subpaths.
|
|
5
|
+
|
|
1
6
|
export { BloomSeedScope } from './SeedScope.web';
|
|
2
7
|
export type { BloomSeedScopeProps } from './SeedScope.web';
|
package/src/tooltip/index.web.ts
CHANGED
|
@@ -1,3 +1,8 @@
|
|
|
1
|
+
// AUTO-GENERATED by scripts/generate-platform-exports.mjs — DO NOT EDIT.
|
|
2
|
+
// Source of truth: src/tooltip/index.ts.
|
|
3
|
+
// Re-run `bun run generate:exports` (or any `bun run build`) after
|
|
4
|
+
// changing that barrel or the set of web-forked subpaths.
|
|
5
|
+
|
|
1
6
|
export {
|
|
2
7
|
Tooltip,
|
|
3
8
|
TooltipTrigger,
|