main repo

This commit is contained in:
Basilosaurusrex
2025-11-24 18:09:40 +01:00
parent b636ee5e70
commit f027651f9b
34146 changed files with 4436636 additions and 0 deletions

125
node_modules/@radix-ui/react-menubar/dist/index.d.mts generated vendored Normal file
View File

@@ -0,0 +1,125 @@
import * as react_jsx_runtime from 'react/jsx-runtime';
import * as React from 'react';
import * as MenuPrimitive from '@radix-ui/react-menu';
import * as RovingFocusGroup from '@radix-ui/react-roving-focus';
import { Primitive } from '@radix-ui/react-primitive';
import { Scope as Scope$1 } from '@radix-ui/react-context';
type Scope<C = any> = {
[scopeName: string]: React.Context<C>[];
} | undefined;
type ScopeHook = (scope: Scope) => {
[__scopeProp: string]: Scope;
};
interface CreateScope {
scopeName: string;
(): ScopeHook;
}
type ScopedProps<P> = P & {
__scopeMenubar?: Scope$1;
};
declare const createMenubarScope: CreateScope;
type RovingFocusGroupProps = React.ComponentPropsWithoutRef<typeof RovingFocusGroup.Root>;
type PrimitiveDivProps = React.ComponentPropsWithoutRef<typeof Primitive.div>;
interface MenubarProps extends PrimitiveDivProps {
value?: string;
defaultValue?: string;
onValueChange?: (value: string) => void;
loop?: RovingFocusGroupProps['loop'];
dir?: RovingFocusGroupProps['dir'];
}
declare const Menubar: React.ForwardRefExoticComponent<MenubarProps & React.RefAttributes<HTMLDivElement>>;
interface MenubarMenuProps {
value?: string;
children?: React.ReactNode;
}
declare const MenubarMenu: {
(props: ScopedProps<MenubarMenuProps>): react_jsx_runtime.JSX.Element;
displayName: string;
};
type PrimitiveButtonProps = React.ComponentPropsWithoutRef<typeof Primitive.button>;
interface MenubarTriggerProps extends PrimitiveButtonProps {
}
declare const MenubarTrigger: React.ForwardRefExoticComponent<MenubarTriggerProps & React.RefAttributes<HTMLButtonElement>>;
type MenuPortalProps = React.ComponentPropsWithoutRef<typeof MenuPrimitive.Portal>;
interface MenubarPortalProps extends MenuPortalProps {
}
declare const MenubarPortal: React.FC<MenubarPortalProps>;
type MenuContentProps = React.ComponentPropsWithoutRef<typeof MenuPrimitive.Content>;
interface MenubarContentProps extends Omit<MenuContentProps, 'onEntryFocus'> {
}
declare const MenubarContent: React.ForwardRefExoticComponent<MenubarContentProps & React.RefAttributes<HTMLDivElement>>;
type MenuGroupProps = React.ComponentPropsWithoutRef<typeof MenuPrimitive.Group>;
interface MenubarGroupProps extends MenuGroupProps {
}
declare const MenubarGroup: React.ForwardRefExoticComponent<MenubarGroupProps & React.RefAttributes<HTMLDivElement>>;
type MenuLabelProps = React.ComponentPropsWithoutRef<typeof MenuPrimitive.Label>;
interface MenubarLabelProps extends MenuLabelProps {
}
declare const MenubarLabel: React.ForwardRefExoticComponent<MenubarLabelProps & React.RefAttributes<HTMLDivElement>>;
type MenuItemProps = React.ComponentPropsWithoutRef<typeof MenuPrimitive.Item>;
interface MenubarItemProps extends MenuItemProps {
}
declare const MenubarItem: React.ForwardRefExoticComponent<MenubarItemProps & React.RefAttributes<HTMLDivElement>>;
type MenuCheckboxItemProps = React.ComponentPropsWithoutRef<typeof MenuPrimitive.CheckboxItem>;
interface MenubarCheckboxItemProps extends MenuCheckboxItemProps {
}
declare const MenubarCheckboxItem: React.ForwardRefExoticComponent<MenubarCheckboxItemProps & React.RefAttributes<HTMLDivElement>>;
type MenuRadioGroupProps = React.ComponentPropsWithoutRef<typeof MenuPrimitive.RadioGroup>;
interface MenubarRadioGroupProps extends MenuRadioGroupProps {
}
declare const MenubarRadioGroup: React.ForwardRefExoticComponent<MenubarRadioGroupProps & React.RefAttributes<HTMLDivElement>>;
type MenuRadioItemProps = React.ComponentPropsWithoutRef<typeof MenuPrimitive.RadioItem>;
interface MenubarRadioItemProps extends MenuRadioItemProps {
}
declare const MenubarRadioItem: React.ForwardRefExoticComponent<MenubarRadioItemProps & React.RefAttributes<HTMLDivElement>>;
type MenuItemIndicatorProps = React.ComponentPropsWithoutRef<typeof MenuPrimitive.ItemIndicator>;
interface MenubarItemIndicatorProps extends MenuItemIndicatorProps {
}
declare const MenubarItemIndicator: React.ForwardRefExoticComponent<MenubarItemIndicatorProps & React.RefAttributes<HTMLSpanElement>>;
type MenuSeparatorProps = React.ComponentPropsWithoutRef<typeof MenuPrimitive.Separator>;
interface MenubarSeparatorProps extends MenuSeparatorProps {
}
declare const MenubarSeparator: React.ForwardRefExoticComponent<MenubarSeparatorProps & React.RefAttributes<HTMLDivElement>>;
type MenuArrowProps = React.ComponentPropsWithoutRef<typeof MenuPrimitive.Arrow>;
interface MenubarArrowProps extends MenuArrowProps {
}
declare const MenubarArrow: React.ForwardRefExoticComponent<MenubarArrowProps & React.RefAttributes<SVGSVGElement>>;
interface MenubarSubProps {
children?: React.ReactNode;
open?: boolean;
defaultOpen?: boolean;
onOpenChange?(open: boolean): void;
}
declare const MenubarSub: React.FC<MenubarSubProps>;
type MenuSubTriggerProps = React.ComponentPropsWithoutRef<typeof MenuPrimitive.SubTrigger>;
interface MenubarSubTriggerProps extends MenuSubTriggerProps {
}
declare const MenubarSubTrigger: React.ForwardRefExoticComponent<MenubarSubTriggerProps & React.RefAttributes<HTMLDivElement>>;
type MenuSubContentProps = React.ComponentPropsWithoutRef<typeof MenuPrimitive.SubContent>;
interface MenubarSubContentProps extends MenuSubContentProps {
}
declare const MenubarSubContent: React.ForwardRefExoticComponent<MenubarSubContentProps & React.RefAttributes<HTMLDivElement>>;
declare const Root: React.ForwardRefExoticComponent<MenubarProps & React.RefAttributes<HTMLDivElement>>;
declare const Menu: {
(props: ScopedProps<MenubarMenuProps>): react_jsx_runtime.JSX.Element;
displayName: string;
};
declare const Trigger: React.ForwardRefExoticComponent<MenubarTriggerProps & React.RefAttributes<HTMLButtonElement>>;
declare const Portal: React.FC<MenubarPortalProps>;
declare const Content: React.ForwardRefExoticComponent<MenubarContentProps & React.RefAttributes<HTMLDivElement>>;
declare const Group: React.ForwardRefExoticComponent<MenubarGroupProps & React.RefAttributes<HTMLDivElement>>;
declare const Label: React.ForwardRefExoticComponent<MenubarLabelProps & React.RefAttributes<HTMLDivElement>>;
declare const Item: React.ForwardRefExoticComponent<MenubarItemProps & React.RefAttributes<HTMLDivElement>>;
declare const CheckboxItem: React.ForwardRefExoticComponent<MenubarCheckboxItemProps & React.RefAttributes<HTMLDivElement>>;
declare const RadioGroup: React.ForwardRefExoticComponent<MenubarRadioGroupProps & React.RefAttributes<HTMLDivElement>>;
declare const RadioItem: React.ForwardRefExoticComponent<MenubarRadioItemProps & React.RefAttributes<HTMLDivElement>>;
declare const ItemIndicator: React.ForwardRefExoticComponent<MenubarItemIndicatorProps & React.RefAttributes<HTMLSpanElement>>;
declare const Separator: React.ForwardRefExoticComponent<MenubarSeparatorProps & React.RefAttributes<HTMLDivElement>>;
declare const Arrow: React.ForwardRefExoticComponent<MenubarArrowProps & React.RefAttributes<SVGSVGElement>>;
declare const Sub: React.FC<MenubarSubProps>;
declare const SubTrigger: React.ForwardRefExoticComponent<MenubarSubTriggerProps & React.RefAttributes<HTMLDivElement>>;
declare const SubContent: React.ForwardRefExoticComponent<MenubarSubContentProps & React.RefAttributes<HTMLDivElement>>;
export { Arrow, CheckboxItem, Content, Group, Item, ItemIndicator, Label, Menu, Menubar, MenubarArrow, type MenubarArrowProps, MenubarCheckboxItem, type MenubarCheckboxItemProps, MenubarContent, type MenubarContentProps, MenubarGroup, type MenubarGroupProps, MenubarItem, MenubarItemIndicator, type MenubarItemIndicatorProps, type MenubarItemProps, MenubarLabel, type MenubarLabelProps, MenubarMenu, type MenubarMenuProps, MenubarPortal, type MenubarPortalProps, type MenubarProps, MenubarRadioGroup, type MenubarRadioGroupProps, MenubarRadioItem, type MenubarRadioItemProps, MenubarSeparator, type MenubarSeparatorProps, MenubarSub, MenubarSubContent, type MenubarSubContentProps, type MenubarSubProps, MenubarSubTrigger, type MenubarSubTriggerProps, MenubarTrigger, type MenubarTriggerProps, Portal, RadioGroup, RadioItem, Root, Separator, Sub, SubContent, SubTrigger, Trigger, createMenubarScope };

125
node_modules/@radix-ui/react-menubar/dist/index.d.ts generated vendored Normal file
View File

@@ -0,0 +1,125 @@
import * as react_jsx_runtime from 'react/jsx-runtime';
import * as React from 'react';
import * as MenuPrimitive from '@radix-ui/react-menu';
import * as RovingFocusGroup from '@radix-ui/react-roving-focus';
import { Primitive } from '@radix-ui/react-primitive';
import { Scope as Scope$1 } from '@radix-ui/react-context';
type Scope<C = any> = {
[scopeName: string]: React.Context<C>[];
} | undefined;
type ScopeHook = (scope: Scope) => {
[__scopeProp: string]: Scope;
};
interface CreateScope {
scopeName: string;
(): ScopeHook;
}
type ScopedProps<P> = P & {
__scopeMenubar?: Scope$1;
};
declare const createMenubarScope: CreateScope;
type RovingFocusGroupProps = React.ComponentPropsWithoutRef<typeof RovingFocusGroup.Root>;
type PrimitiveDivProps = React.ComponentPropsWithoutRef<typeof Primitive.div>;
interface MenubarProps extends PrimitiveDivProps {
value?: string;
defaultValue?: string;
onValueChange?: (value: string) => void;
loop?: RovingFocusGroupProps['loop'];
dir?: RovingFocusGroupProps['dir'];
}
declare const Menubar: React.ForwardRefExoticComponent<MenubarProps & React.RefAttributes<HTMLDivElement>>;
interface MenubarMenuProps {
value?: string;
children?: React.ReactNode;
}
declare const MenubarMenu: {
(props: ScopedProps<MenubarMenuProps>): react_jsx_runtime.JSX.Element;
displayName: string;
};
type PrimitiveButtonProps = React.ComponentPropsWithoutRef<typeof Primitive.button>;
interface MenubarTriggerProps extends PrimitiveButtonProps {
}
declare const MenubarTrigger: React.ForwardRefExoticComponent<MenubarTriggerProps & React.RefAttributes<HTMLButtonElement>>;
type MenuPortalProps = React.ComponentPropsWithoutRef<typeof MenuPrimitive.Portal>;
interface MenubarPortalProps extends MenuPortalProps {
}
declare const MenubarPortal: React.FC<MenubarPortalProps>;
type MenuContentProps = React.ComponentPropsWithoutRef<typeof MenuPrimitive.Content>;
interface MenubarContentProps extends Omit<MenuContentProps, 'onEntryFocus'> {
}
declare const MenubarContent: React.ForwardRefExoticComponent<MenubarContentProps & React.RefAttributes<HTMLDivElement>>;
type MenuGroupProps = React.ComponentPropsWithoutRef<typeof MenuPrimitive.Group>;
interface MenubarGroupProps extends MenuGroupProps {
}
declare const MenubarGroup: React.ForwardRefExoticComponent<MenubarGroupProps & React.RefAttributes<HTMLDivElement>>;
type MenuLabelProps = React.ComponentPropsWithoutRef<typeof MenuPrimitive.Label>;
interface MenubarLabelProps extends MenuLabelProps {
}
declare const MenubarLabel: React.ForwardRefExoticComponent<MenubarLabelProps & React.RefAttributes<HTMLDivElement>>;
type MenuItemProps = React.ComponentPropsWithoutRef<typeof MenuPrimitive.Item>;
interface MenubarItemProps extends MenuItemProps {
}
declare const MenubarItem: React.ForwardRefExoticComponent<MenubarItemProps & React.RefAttributes<HTMLDivElement>>;
type MenuCheckboxItemProps = React.ComponentPropsWithoutRef<typeof MenuPrimitive.CheckboxItem>;
interface MenubarCheckboxItemProps extends MenuCheckboxItemProps {
}
declare const MenubarCheckboxItem: React.ForwardRefExoticComponent<MenubarCheckboxItemProps & React.RefAttributes<HTMLDivElement>>;
type MenuRadioGroupProps = React.ComponentPropsWithoutRef<typeof MenuPrimitive.RadioGroup>;
interface MenubarRadioGroupProps extends MenuRadioGroupProps {
}
declare const MenubarRadioGroup: React.ForwardRefExoticComponent<MenubarRadioGroupProps & React.RefAttributes<HTMLDivElement>>;
type MenuRadioItemProps = React.ComponentPropsWithoutRef<typeof MenuPrimitive.RadioItem>;
interface MenubarRadioItemProps extends MenuRadioItemProps {
}
declare const MenubarRadioItem: React.ForwardRefExoticComponent<MenubarRadioItemProps & React.RefAttributes<HTMLDivElement>>;
type MenuItemIndicatorProps = React.ComponentPropsWithoutRef<typeof MenuPrimitive.ItemIndicator>;
interface MenubarItemIndicatorProps extends MenuItemIndicatorProps {
}
declare const MenubarItemIndicator: React.ForwardRefExoticComponent<MenubarItemIndicatorProps & React.RefAttributes<HTMLSpanElement>>;
type MenuSeparatorProps = React.ComponentPropsWithoutRef<typeof MenuPrimitive.Separator>;
interface MenubarSeparatorProps extends MenuSeparatorProps {
}
declare const MenubarSeparator: React.ForwardRefExoticComponent<MenubarSeparatorProps & React.RefAttributes<HTMLDivElement>>;
type MenuArrowProps = React.ComponentPropsWithoutRef<typeof MenuPrimitive.Arrow>;
interface MenubarArrowProps extends MenuArrowProps {
}
declare const MenubarArrow: React.ForwardRefExoticComponent<MenubarArrowProps & React.RefAttributes<SVGSVGElement>>;
interface MenubarSubProps {
children?: React.ReactNode;
open?: boolean;
defaultOpen?: boolean;
onOpenChange?(open: boolean): void;
}
declare const MenubarSub: React.FC<MenubarSubProps>;
type MenuSubTriggerProps = React.ComponentPropsWithoutRef<typeof MenuPrimitive.SubTrigger>;
interface MenubarSubTriggerProps extends MenuSubTriggerProps {
}
declare const MenubarSubTrigger: React.ForwardRefExoticComponent<MenubarSubTriggerProps & React.RefAttributes<HTMLDivElement>>;
type MenuSubContentProps = React.ComponentPropsWithoutRef<typeof MenuPrimitive.SubContent>;
interface MenubarSubContentProps extends MenuSubContentProps {
}
declare const MenubarSubContent: React.ForwardRefExoticComponent<MenubarSubContentProps & React.RefAttributes<HTMLDivElement>>;
declare const Root: React.ForwardRefExoticComponent<MenubarProps & React.RefAttributes<HTMLDivElement>>;
declare const Menu: {
(props: ScopedProps<MenubarMenuProps>): react_jsx_runtime.JSX.Element;
displayName: string;
};
declare const Trigger: React.ForwardRefExoticComponent<MenubarTriggerProps & React.RefAttributes<HTMLButtonElement>>;
declare const Portal: React.FC<MenubarPortalProps>;
declare const Content: React.ForwardRefExoticComponent<MenubarContentProps & React.RefAttributes<HTMLDivElement>>;
declare const Group: React.ForwardRefExoticComponent<MenubarGroupProps & React.RefAttributes<HTMLDivElement>>;
declare const Label: React.ForwardRefExoticComponent<MenubarLabelProps & React.RefAttributes<HTMLDivElement>>;
declare const Item: React.ForwardRefExoticComponent<MenubarItemProps & React.RefAttributes<HTMLDivElement>>;
declare const CheckboxItem: React.ForwardRefExoticComponent<MenubarCheckboxItemProps & React.RefAttributes<HTMLDivElement>>;
declare const RadioGroup: React.ForwardRefExoticComponent<MenubarRadioGroupProps & React.RefAttributes<HTMLDivElement>>;
declare const RadioItem: React.ForwardRefExoticComponent<MenubarRadioItemProps & React.RefAttributes<HTMLDivElement>>;
declare const ItemIndicator: React.ForwardRefExoticComponent<MenubarItemIndicatorProps & React.RefAttributes<HTMLSpanElement>>;
declare const Separator: React.ForwardRefExoticComponent<MenubarSeparatorProps & React.RefAttributes<HTMLDivElement>>;
declare const Arrow: React.ForwardRefExoticComponent<MenubarArrowProps & React.RefAttributes<SVGSVGElement>>;
declare const Sub: React.FC<MenubarSubProps>;
declare const SubTrigger: React.ForwardRefExoticComponent<MenubarSubTriggerProps & React.RefAttributes<HTMLDivElement>>;
declare const SubContent: React.ForwardRefExoticComponent<MenubarSubContentProps & React.RefAttributes<HTMLDivElement>>;
export { Arrow, CheckboxItem, Content, Group, Item, ItemIndicator, Label, Menu, Menubar, MenubarArrow, type MenubarArrowProps, MenubarCheckboxItem, type MenubarCheckboxItemProps, MenubarContent, type MenubarContentProps, MenubarGroup, type MenubarGroupProps, MenubarItem, MenubarItemIndicator, type MenubarItemIndicatorProps, type MenubarItemProps, MenubarLabel, type MenubarLabelProps, MenubarMenu, type MenubarMenuProps, MenubarPortal, type MenubarPortalProps, type MenubarProps, MenubarRadioGroup, type MenubarRadioGroupProps, MenubarRadioItem, type MenubarRadioItemProps, MenubarSeparator, type MenubarSeparatorProps, MenubarSub, MenubarSubContent, type MenubarSubContentProps, type MenubarSubProps, MenubarSubTrigger, type MenubarSubTriggerProps, MenubarTrigger, type MenubarTriggerProps, Portal, RadioGroup, RadioItem, Root, Separator, Sub, SubContent, SubTrigger, Trigger, createMenubarScope };

500
node_modules/@radix-ui/react-menubar/dist/index.js generated vendored Normal file
View File

@@ -0,0 +1,500 @@
"use strict";
"use client";
var __create = Object.create;
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __getProtoOf = Object.getPrototypeOf;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __export = (target, all) => {
for (var name in all)
__defProp(target, name, { get: all[name], enumerable: true });
};
var __copyProps = (to, from, except, desc) => {
if (from && typeof from === "object" || typeof from === "function") {
for (let key of __getOwnPropNames(from))
if (!__hasOwnProp.call(to, key) && key !== except)
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
}
return to;
};
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
// If the importer is in node compatibility mode or this is not an ESM
// file that has been converted to a CommonJS file using a Babel-
// compatible transform (i.e. "__esModule" has not been set), then set
// "default" to the CommonJS "module.exports" for node compatibility.
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
mod
));
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
// packages/react/menubar/src/index.ts
var src_exports = {};
__export(src_exports, {
Arrow: () => Arrow2,
CheckboxItem: () => CheckboxItem2,
Content: () => Content2,
Group: () => Group2,
Item: () => Item3,
ItemIndicator: () => ItemIndicator2,
Label: () => Label2,
Menu: () => Menu,
Menubar: () => Menubar,
MenubarArrow: () => MenubarArrow,
MenubarCheckboxItem: () => MenubarCheckboxItem,
MenubarContent: () => MenubarContent,
MenubarGroup: () => MenubarGroup,
MenubarItem: () => MenubarItem,
MenubarItemIndicator: () => MenubarItemIndicator,
MenubarLabel: () => MenubarLabel,
MenubarMenu: () => MenubarMenu,
MenubarPortal: () => MenubarPortal,
MenubarRadioGroup: () => MenubarRadioGroup,
MenubarRadioItem: () => MenubarRadioItem,
MenubarSeparator: () => MenubarSeparator,
MenubarSub: () => MenubarSub,
MenubarSubContent: () => MenubarSubContent,
MenubarSubTrigger: () => MenubarSubTrigger,
MenubarTrigger: () => MenubarTrigger,
Portal: () => Portal2,
RadioGroup: () => RadioGroup2,
RadioItem: () => RadioItem2,
Root: () => Root3,
Separator: () => Separator2,
Sub: () => Sub2,
SubContent: () => SubContent2,
SubTrigger: () => SubTrigger2,
Trigger: () => Trigger,
createMenubarScope: () => createMenubarScope
});
module.exports = __toCommonJS(src_exports);
// packages/react/menubar/src/Menubar.tsx
var React = __toESM(require("react"));
var import_react_collection = require("@radix-ui/react-collection");
var import_react_direction = require("@radix-ui/react-direction");
var import_primitive = require("@radix-ui/primitive");
var import_react_compose_refs = require("@radix-ui/react-compose-refs");
var import_react_context = require("@radix-ui/react-context");
var import_react_id = require("@radix-ui/react-id");
var MenuPrimitive = __toESM(require("@radix-ui/react-menu"));
var import_react_menu = require("@radix-ui/react-menu");
var RovingFocusGroup = __toESM(require("@radix-ui/react-roving-focus"));
var import_react_roving_focus = require("@radix-ui/react-roving-focus");
var import_react_primitive = require("@radix-ui/react-primitive");
var import_react_use_controllable_state = require("@radix-ui/react-use-controllable-state");
var import_jsx_runtime = require("react/jsx-runtime");
var MENUBAR_NAME = "Menubar";
var [Collection, useCollection, createCollectionScope] = (0, import_react_collection.createCollection)(MENUBAR_NAME);
var [createMenubarContext, createMenubarScope] = (0, import_react_context.createContextScope)(MENUBAR_NAME, [
createCollectionScope,
import_react_roving_focus.createRovingFocusGroupScope
]);
var useMenuScope = (0, import_react_menu.createMenuScope)();
var useRovingFocusGroupScope = (0, import_react_roving_focus.createRovingFocusGroupScope)();
var [MenubarContextProvider, useMenubarContext] = createMenubarContext(MENUBAR_NAME);
var Menubar = React.forwardRef(
(props, forwardedRef) => {
const {
__scopeMenubar,
value: valueProp,
onValueChange,
defaultValue,
loop = true,
dir,
...menubarProps
} = props;
const direction = (0, import_react_direction.useDirection)(dir);
const rovingFocusGroupScope = useRovingFocusGroupScope(__scopeMenubar);
const [value = "", setValue] = (0, import_react_use_controllable_state.useControllableState)({
prop: valueProp,
onChange: onValueChange,
defaultProp: defaultValue
});
const [currentTabStopId, setCurrentTabStopId] = React.useState(null);
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
MenubarContextProvider,
{
scope: __scopeMenubar,
value,
onMenuOpen: React.useCallback(
(value2) => {
setValue(value2);
setCurrentTabStopId(value2);
},
[setValue]
),
onMenuClose: React.useCallback(() => setValue(""), [setValue]),
onMenuToggle: React.useCallback(
(value2) => {
setValue((prevValue) => Boolean(prevValue) ? "" : value2);
setCurrentTabStopId(value2);
},
[setValue]
),
dir: direction,
loop,
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Collection.Provider, { scope: __scopeMenubar, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Collection.Slot, { scope: __scopeMenubar, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
RovingFocusGroup.Root,
{
asChild: true,
...rovingFocusGroupScope,
orientation: "horizontal",
loop,
dir: direction,
currentTabStopId,
onCurrentTabStopIdChange: setCurrentTabStopId,
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_primitive.Primitive.div, { role: "menubar", ...menubarProps, ref: forwardedRef })
}
) }) })
}
);
}
);
Menubar.displayName = MENUBAR_NAME;
var MENU_NAME = "MenubarMenu";
var [MenubarMenuProvider, useMenubarMenuContext] = createMenubarContext(MENU_NAME);
var MenubarMenu = (props) => {
const { __scopeMenubar, value: valueProp, ...menuProps } = props;
const autoValue = (0, import_react_id.useId)();
const value = valueProp || autoValue || "LEGACY_REACT_AUTO_VALUE";
const context = useMenubarContext(MENU_NAME, __scopeMenubar);
const menuScope = useMenuScope(__scopeMenubar);
const triggerRef = React.useRef(null);
const wasKeyboardTriggerOpenRef = React.useRef(false);
const open = context.value === value;
React.useEffect(() => {
if (!open) wasKeyboardTriggerOpenRef.current = false;
}, [open]);
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
MenubarMenuProvider,
{
scope: __scopeMenubar,
value,
triggerId: (0, import_react_id.useId)(),
triggerRef,
contentId: (0, import_react_id.useId)(),
wasKeyboardTriggerOpenRef,
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
MenuPrimitive.Root,
{
...menuScope,
open,
onOpenChange: (open2) => {
if (!open2) context.onMenuClose();
},
modal: false,
dir: context.dir,
...menuProps
}
)
}
);
};
MenubarMenu.displayName = MENU_NAME;
var TRIGGER_NAME = "MenubarTrigger";
var MenubarTrigger = React.forwardRef(
(props, forwardedRef) => {
const { __scopeMenubar, disabled = false, ...triggerProps } = props;
const rovingFocusGroupScope = useRovingFocusGroupScope(__scopeMenubar);
const menuScope = useMenuScope(__scopeMenubar);
const context = useMenubarContext(TRIGGER_NAME, __scopeMenubar);
const menuContext = useMenubarMenuContext(TRIGGER_NAME, __scopeMenubar);
const ref = React.useRef(null);
const composedRefs = (0, import_react_compose_refs.useComposedRefs)(forwardedRef, ref, menuContext.triggerRef);
const [isFocused, setIsFocused] = React.useState(false);
const open = context.value === menuContext.value;
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Collection.ItemSlot, { scope: __scopeMenubar, value: menuContext.value, disabled, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
RovingFocusGroup.Item,
{
asChild: true,
...rovingFocusGroupScope,
focusable: !disabled,
tabStopId: menuContext.value,
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(MenuPrimitive.Anchor, { asChild: true, ...menuScope, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
import_react_primitive.Primitive.button,
{
type: "button",
role: "menuitem",
id: menuContext.triggerId,
"aria-haspopup": "menu",
"aria-expanded": open,
"aria-controls": open ? menuContext.contentId : void 0,
"data-highlighted": isFocused ? "" : void 0,
"data-state": open ? "open" : "closed",
"data-disabled": disabled ? "" : void 0,
disabled,
...triggerProps,
ref: composedRefs,
onPointerDown: (0, import_primitive.composeEventHandlers)(props.onPointerDown, (event) => {
if (!disabled && event.button === 0 && event.ctrlKey === false) {
context.onMenuOpen(menuContext.value);
if (!open) event.preventDefault();
}
}),
onPointerEnter: (0, import_primitive.composeEventHandlers)(props.onPointerEnter, () => {
const menubarOpen = Boolean(context.value);
if (menubarOpen && !open) {
context.onMenuOpen(menuContext.value);
ref.current?.focus();
}
}),
onKeyDown: (0, import_primitive.composeEventHandlers)(props.onKeyDown, (event) => {
if (disabled) return;
if (["Enter", " "].includes(event.key)) context.onMenuToggle(menuContext.value);
if (event.key === "ArrowDown") context.onMenuOpen(menuContext.value);
if (["Enter", " ", "ArrowDown"].includes(event.key)) {
menuContext.wasKeyboardTriggerOpenRef.current = true;
event.preventDefault();
}
}),
onFocus: (0, import_primitive.composeEventHandlers)(props.onFocus, () => setIsFocused(true)),
onBlur: (0, import_primitive.composeEventHandlers)(props.onBlur, () => setIsFocused(false))
}
) })
}
) });
}
);
MenubarTrigger.displayName = TRIGGER_NAME;
var PORTAL_NAME = "MenubarPortal";
var MenubarPortal = (props) => {
const { __scopeMenubar, ...portalProps } = props;
const menuScope = useMenuScope(__scopeMenubar);
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(MenuPrimitive.Portal, { ...menuScope, ...portalProps });
};
MenubarPortal.displayName = PORTAL_NAME;
var CONTENT_NAME = "MenubarContent";
var MenubarContent = React.forwardRef(
(props, forwardedRef) => {
const { __scopeMenubar, align = "start", ...contentProps } = props;
const menuScope = useMenuScope(__scopeMenubar);
const context = useMenubarContext(CONTENT_NAME, __scopeMenubar);
const menuContext = useMenubarMenuContext(CONTENT_NAME, __scopeMenubar);
const getItems = useCollection(__scopeMenubar);
const hasInteractedOutsideRef = React.useRef(false);
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
MenuPrimitive.Content,
{
id: menuContext.contentId,
"aria-labelledby": menuContext.triggerId,
"data-radix-menubar-content": "",
...menuScope,
...contentProps,
ref: forwardedRef,
align,
onCloseAutoFocus: (0, import_primitive.composeEventHandlers)(props.onCloseAutoFocus, (event) => {
const menubarOpen = Boolean(context.value);
if (!menubarOpen && !hasInteractedOutsideRef.current) {
menuContext.triggerRef.current?.focus();
}
hasInteractedOutsideRef.current = false;
event.preventDefault();
}),
onFocusOutside: (0, import_primitive.composeEventHandlers)(props.onFocusOutside, (event) => {
const target = event.target;
const isMenubarTrigger = getItems().some((item) => item.ref.current?.contains(target));
if (isMenubarTrigger) event.preventDefault();
}),
onInteractOutside: (0, import_primitive.composeEventHandlers)(props.onInteractOutside, () => {
hasInteractedOutsideRef.current = true;
}),
onEntryFocus: (event) => {
if (!menuContext.wasKeyboardTriggerOpenRef.current) event.preventDefault();
},
onKeyDown: (0, import_primitive.composeEventHandlers)(
props.onKeyDown,
(event) => {
if (["ArrowRight", "ArrowLeft"].includes(event.key)) {
const target = event.target;
const targetIsSubTrigger = target.hasAttribute("data-radix-menubar-subtrigger");
const isKeyDownInsideSubMenu = target.closest("[data-radix-menubar-content]") !== event.currentTarget;
const prevMenuKey = context.dir === "rtl" ? "ArrowRight" : "ArrowLeft";
const isPrevKey = prevMenuKey === event.key;
const isNextKey = !isPrevKey;
if (isNextKey && targetIsSubTrigger) return;
if (isKeyDownInsideSubMenu && isPrevKey) return;
const items = getItems().filter((item) => !item.disabled);
let candidateValues = items.map((item) => item.value);
if (isPrevKey) candidateValues.reverse();
const currentIndex = candidateValues.indexOf(menuContext.value);
candidateValues = context.loop ? wrapArray(candidateValues, currentIndex + 1) : candidateValues.slice(currentIndex + 1);
const [nextValue] = candidateValues;
if (nextValue) context.onMenuOpen(nextValue);
}
},
{ checkForDefaultPrevented: false }
),
style: {
...props.style,
// re-namespace exposed content custom properties
...{
"--radix-menubar-content-transform-origin": "var(--radix-popper-transform-origin)",
"--radix-menubar-content-available-width": "var(--radix-popper-available-width)",
"--radix-menubar-content-available-height": "var(--radix-popper-available-height)",
"--radix-menubar-trigger-width": "var(--radix-popper-anchor-width)",
"--radix-menubar-trigger-height": "var(--radix-popper-anchor-height)"
}
}
}
);
}
);
MenubarContent.displayName = CONTENT_NAME;
var GROUP_NAME = "MenubarGroup";
var MenubarGroup = React.forwardRef(
(props, forwardedRef) => {
const { __scopeMenubar, ...groupProps } = props;
const menuScope = useMenuScope(__scopeMenubar);
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(MenuPrimitive.Group, { ...menuScope, ...groupProps, ref: forwardedRef });
}
);
MenubarGroup.displayName = GROUP_NAME;
var LABEL_NAME = "MenubarLabel";
var MenubarLabel = React.forwardRef(
(props, forwardedRef) => {
const { __scopeMenubar, ...labelProps } = props;
const menuScope = useMenuScope(__scopeMenubar);
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(MenuPrimitive.Label, { ...menuScope, ...labelProps, ref: forwardedRef });
}
);
MenubarLabel.displayName = LABEL_NAME;
var ITEM_NAME = "MenubarItem";
var MenubarItem = React.forwardRef(
(props, forwardedRef) => {
const { __scopeMenubar, ...itemProps } = props;
const menuScope = useMenuScope(__scopeMenubar);
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(MenuPrimitive.Item, { ...menuScope, ...itemProps, ref: forwardedRef });
}
);
MenubarItem.displayName = ITEM_NAME;
var CHECKBOX_ITEM_NAME = "MenubarCheckboxItem";
var MenubarCheckboxItem = React.forwardRef(
(props, forwardedRef) => {
const { __scopeMenubar, ...checkboxItemProps } = props;
const menuScope = useMenuScope(__scopeMenubar);
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(MenuPrimitive.CheckboxItem, { ...menuScope, ...checkboxItemProps, ref: forwardedRef });
}
);
MenubarCheckboxItem.displayName = CHECKBOX_ITEM_NAME;
var RADIO_GROUP_NAME = "MenubarRadioGroup";
var MenubarRadioGroup = React.forwardRef(
(props, forwardedRef) => {
const { __scopeMenubar, ...radioGroupProps } = props;
const menuScope = useMenuScope(__scopeMenubar);
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(MenuPrimitive.RadioGroup, { ...menuScope, ...radioGroupProps, ref: forwardedRef });
}
);
MenubarRadioGroup.displayName = RADIO_GROUP_NAME;
var RADIO_ITEM_NAME = "MenubarRadioItem";
var MenubarRadioItem = React.forwardRef(
(props, forwardedRef) => {
const { __scopeMenubar, ...radioItemProps } = props;
const menuScope = useMenuScope(__scopeMenubar);
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(MenuPrimitive.RadioItem, { ...menuScope, ...radioItemProps, ref: forwardedRef });
}
);
MenubarRadioItem.displayName = RADIO_ITEM_NAME;
var INDICATOR_NAME = "MenubarItemIndicator";
var MenubarItemIndicator = React.forwardRef((props, forwardedRef) => {
const { __scopeMenubar, ...itemIndicatorProps } = props;
const menuScope = useMenuScope(__scopeMenubar);
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(MenuPrimitive.ItemIndicator, { ...menuScope, ...itemIndicatorProps, ref: forwardedRef });
});
MenubarItemIndicator.displayName = INDICATOR_NAME;
var SEPARATOR_NAME = "MenubarSeparator";
var MenubarSeparator = React.forwardRef(
(props, forwardedRef) => {
const { __scopeMenubar, ...separatorProps } = props;
const menuScope = useMenuScope(__scopeMenubar);
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(MenuPrimitive.Separator, { ...menuScope, ...separatorProps, ref: forwardedRef });
}
);
MenubarSeparator.displayName = SEPARATOR_NAME;
var ARROW_NAME = "MenubarArrow";
var MenubarArrow = React.forwardRef(
(props, forwardedRef) => {
const { __scopeMenubar, ...arrowProps } = props;
const menuScope = useMenuScope(__scopeMenubar);
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(MenuPrimitive.Arrow, { ...menuScope, ...arrowProps, ref: forwardedRef });
}
);
MenubarArrow.displayName = ARROW_NAME;
var SUB_NAME = "MenubarSub";
var MenubarSub = (props) => {
const { __scopeMenubar, children, open: openProp, onOpenChange, defaultOpen } = props;
const menuScope = useMenuScope(__scopeMenubar);
const [open = false, setOpen] = (0, import_react_use_controllable_state.useControllableState)({
prop: openProp,
defaultProp: defaultOpen,
onChange: onOpenChange
});
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(MenuPrimitive.Sub, { ...menuScope, open, onOpenChange: setOpen, children });
};
MenubarSub.displayName = SUB_NAME;
var SUB_TRIGGER_NAME = "MenubarSubTrigger";
var MenubarSubTrigger = React.forwardRef(
(props, forwardedRef) => {
const { __scopeMenubar, ...subTriggerProps } = props;
const menuScope = useMenuScope(__scopeMenubar);
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
MenuPrimitive.SubTrigger,
{
"data-radix-menubar-subtrigger": "",
...menuScope,
...subTriggerProps,
ref: forwardedRef
}
);
}
);
MenubarSubTrigger.displayName = SUB_TRIGGER_NAME;
var SUB_CONTENT_NAME = "MenubarSubContent";
var MenubarSubContent = React.forwardRef(
(props, forwardedRef) => {
const { __scopeMenubar, ...subContentProps } = props;
const menuScope = useMenuScope(__scopeMenubar);
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
MenuPrimitive.SubContent,
{
...menuScope,
"data-radix-menubar-content": "",
...subContentProps,
ref: forwardedRef,
style: {
...props.style,
// re-namespace exposed content custom properties
...{
"--radix-menubar-content-transform-origin": "var(--radix-popper-transform-origin)",
"--radix-menubar-content-available-width": "var(--radix-popper-available-width)",
"--radix-menubar-content-available-height": "var(--radix-popper-available-height)",
"--radix-menubar-trigger-width": "var(--radix-popper-anchor-width)",
"--radix-menubar-trigger-height": "var(--radix-popper-anchor-height)"
}
}
}
);
}
);
MenubarSubContent.displayName = SUB_CONTENT_NAME;
function wrapArray(array, startIndex) {
return array.map((_, index) => array[(startIndex + index) % array.length]);
}
var Root3 = Menubar;
var Menu = MenubarMenu;
var Trigger = MenubarTrigger;
var Portal2 = MenubarPortal;
var Content2 = MenubarContent;
var Group2 = MenubarGroup;
var Label2 = MenubarLabel;
var Item3 = MenubarItem;
var CheckboxItem2 = MenubarCheckboxItem;
var RadioGroup2 = MenubarRadioGroup;
var RadioItem2 = MenubarRadioItem;
var ItemIndicator2 = MenubarItemIndicator;
var Separator2 = MenubarSeparator;
var Arrow2 = MenubarArrow;
var Sub2 = MenubarSub;
var SubTrigger2 = MenubarSubTrigger;
var SubContent2 = MenubarSubContent;
//# sourceMappingURL=index.js.map

File diff suppressed because one or more lines are too long

468
node_modules/@radix-ui/react-menubar/dist/index.mjs generated vendored Normal file
View File

@@ -0,0 +1,468 @@
"use client";
// packages/react/menubar/src/Menubar.tsx
import * as React from "react";
import { createCollection } from "@radix-ui/react-collection";
import { useDirection } from "@radix-ui/react-direction";
import { composeEventHandlers } from "@radix-ui/primitive";
import { useComposedRefs } from "@radix-ui/react-compose-refs";
import { createContextScope } from "@radix-ui/react-context";
import { useId } from "@radix-ui/react-id";
import * as MenuPrimitive from "@radix-ui/react-menu";
import { createMenuScope } from "@radix-ui/react-menu";
import * as RovingFocusGroup from "@radix-ui/react-roving-focus";
import { createRovingFocusGroupScope } from "@radix-ui/react-roving-focus";
import { Primitive } from "@radix-ui/react-primitive";
import { useControllableState } from "@radix-ui/react-use-controllable-state";
import { jsx } from "react/jsx-runtime";
var MENUBAR_NAME = "Menubar";
var [Collection, useCollection, createCollectionScope] = createCollection(MENUBAR_NAME);
var [createMenubarContext, createMenubarScope] = createContextScope(MENUBAR_NAME, [
createCollectionScope,
createRovingFocusGroupScope
]);
var useMenuScope = createMenuScope();
var useRovingFocusGroupScope = createRovingFocusGroupScope();
var [MenubarContextProvider, useMenubarContext] = createMenubarContext(MENUBAR_NAME);
var Menubar = React.forwardRef(
(props, forwardedRef) => {
const {
__scopeMenubar,
value: valueProp,
onValueChange,
defaultValue,
loop = true,
dir,
...menubarProps
} = props;
const direction = useDirection(dir);
const rovingFocusGroupScope = useRovingFocusGroupScope(__scopeMenubar);
const [value = "", setValue] = useControllableState({
prop: valueProp,
onChange: onValueChange,
defaultProp: defaultValue
});
const [currentTabStopId, setCurrentTabStopId] = React.useState(null);
return /* @__PURE__ */ jsx(
MenubarContextProvider,
{
scope: __scopeMenubar,
value,
onMenuOpen: React.useCallback(
(value2) => {
setValue(value2);
setCurrentTabStopId(value2);
},
[setValue]
),
onMenuClose: React.useCallback(() => setValue(""), [setValue]),
onMenuToggle: React.useCallback(
(value2) => {
setValue((prevValue) => Boolean(prevValue) ? "" : value2);
setCurrentTabStopId(value2);
},
[setValue]
),
dir: direction,
loop,
children: /* @__PURE__ */ jsx(Collection.Provider, { scope: __scopeMenubar, children: /* @__PURE__ */ jsx(Collection.Slot, { scope: __scopeMenubar, children: /* @__PURE__ */ jsx(
RovingFocusGroup.Root,
{
asChild: true,
...rovingFocusGroupScope,
orientation: "horizontal",
loop,
dir: direction,
currentTabStopId,
onCurrentTabStopIdChange: setCurrentTabStopId,
children: /* @__PURE__ */ jsx(Primitive.div, { role: "menubar", ...menubarProps, ref: forwardedRef })
}
) }) })
}
);
}
);
Menubar.displayName = MENUBAR_NAME;
var MENU_NAME = "MenubarMenu";
var [MenubarMenuProvider, useMenubarMenuContext] = createMenubarContext(MENU_NAME);
var MenubarMenu = (props) => {
const { __scopeMenubar, value: valueProp, ...menuProps } = props;
const autoValue = useId();
const value = valueProp || autoValue || "LEGACY_REACT_AUTO_VALUE";
const context = useMenubarContext(MENU_NAME, __scopeMenubar);
const menuScope = useMenuScope(__scopeMenubar);
const triggerRef = React.useRef(null);
const wasKeyboardTriggerOpenRef = React.useRef(false);
const open = context.value === value;
React.useEffect(() => {
if (!open) wasKeyboardTriggerOpenRef.current = false;
}, [open]);
return /* @__PURE__ */ jsx(
MenubarMenuProvider,
{
scope: __scopeMenubar,
value,
triggerId: useId(),
triggerRef,
contentId: useId(),
wasKeyboardTriggerOpenRef,
children: /* @__PURE__ */ jsx(
MenuPrimitive.Root,
{
...menuScope,
open,
onOpenChange: (open2) => {
if (!open2) context.onMenuClose();
},
modal: false,
dir: context.dir,
...menuProps
}
)
}
);
};
MenubarMenu.displayName = MENU_NAME;
var TRIGGER_NAME = "MenubarTrigger";
var MenubarTrigger = React.forwardRef(
(props, forwardedRef) => {
const { __scopeMenubar, disabled = false, ...triggerProps } = props;
const rovingFocusGroupScope = useRovingFocusGroupScope(__scopeMenubar);
const menuScope = useMenuScope(__scopeMenubar);
const context = useMenubarContext(TRIGGER_NAME, __scopeMenubar);
const menuContext = useMenubarMenuContext(TRIGGER_NAME, __scopeMenubar);
const ref = React.useRef(null);
const composedRefs = useComposedRefs(forwardedRef, ref, menuContext.triggerRef);
const [isFocused, setIsFocused] = React.useState(false);
const open = context.value === menuContext.value;
return /* @__PURE__ */ jsx(Collection.ItemSlot, { scope: __scopeMenubar, value: menuContext.value, disabled, children: /* @__PURE__ */ jsx(
RovingFocusGroup.Item,
{
asChild: true,
...rovingFocusGroupScope,
focusable: !disabled,
tabStopId: menuContext.value,
children: /* @__PURE__ */ jsx(MenuPrimitive.Anchor, { asChild: true, ...menuScope, children: /* @__PURE__ */ jsx(
Primitive.button,
{
type: "button",
role: "menuitem",
id: menuContext.triggerId,
"aria-haspopup": "menu",
"aria-expanded": open,
"aria-controls": open ? menuContext.contentId : void 0,
"data-highlighted": isFocused ? "" : void 0,
"data-state": open ? "open" : "closed",
"data-disabled": disabled ? "" : void 0,
disabled,
...triggerProps,
ref: composedRefs,
onPointerDown: composeEventHandlers(props.onPointerDown, (event) => {
if (!disabled && event.button === 0 && event.ctrlKey === false) {
context.onMenuOpen(menuContext.value);
if (!open) event.preventDefault();
}
}),
onPointerEnter: composeEventHandlers(props.onPointerEnter, () => {
const menubarOpen = Boolean(context.value);
if (menubarOpen && !open) {
context.onMenuOpen(menuContext.value);
ref.current?.focus();
}
}),
onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {
if (disabled) return;
if (["Enter", " "].includes(event.key)) context.onMenuToggle(menuContext.value);
if (event.key === "ArrowDown") context.onMenuOpen(menuContext.value);
if (["Enter", " ", "ArrowDown"].includes(event.key)) {
menuContext.wasKeyboardTriggerOpenRef.current = true;
event.preventDefault();
}
}),
onFocus: composeEventHandlers(props.onFocus, () => setIsFocused(true)),
onBlur: composeEventHandlers(props.onBlur, () => setIsFocused(false))
}
) })
}
) });
}
);
MenubarTrigger.displayName = TRIGGER_NAME;
var PORTAL_NAME = "MenubarPortal";
var MenubarPortal = (props) => {
const { __scopeMenubar, ...portalProps } = props;
const menuScope = useMenuScope(__scopeMenubar);
return /* @__PURE__ */ jsx(MenuPrimitive.Portal, { ...menuScope, ...portalProps });
};
MenubarPortal.displayName = PORTAL_NAME;
var CONTENT_NAME = "MenubarContent";
var MenubarContent = React.forwardRef(
(props, forwardedRef) => {
const { __scopeMenubar, align = "start", ...contentProps } = props;
const menuScope = useMenuScope(__scopeMenubar);
const context = useMenubarContext(CONTENT_NAME, __scopeMenubar);
const menuContext = useMenubarMenuContext(CONTENT_NAME, __scopeMenubar);
const getItems = useCollection(__scopeMenubar);
const hasInteractedOutsideRef = React.useRef(false);
return /* @__PURE__ */ jsx(
MenuPrimitive.Content,
{
id: menuContext.contentId,
"aria-labelledby": menuContext.triggerId,
"data-radix-menubar-content": "",
...menuScope,
...contentProps,
ref: forwardedRef,
align,
onCloseAutoFocus: composeEventHandlers(props.onCloseAutoFocus, (event) => {
const menubarOpen = Boolean(context.value);
if (!menubarOpen && !hasInteractedOutsideRef.current) {
menuContext.triggerRef.current?.focus();
}
hasInteractedOutsideRef.current = false;
event.preventDefault();
}),
onFocusOutside: composeEventHandlers(props.onFocusOutside, (event) => {
const target = event.target;
const isMenubarTrigger = getItems().some((item) => item.ref.current?.contains(target));
if (isMenubarTrigger) event.preventDefault();
}),
onInteractOutside: composeEventHandlers(props.onInteractOutside, () => {
hasInteractedOutsideRef.current = true;
}),
onEntryFocus: (event) => {
if (!menuContext.wasKeyboardTriggerOpenRef.current) event.preventDefault();
},
onKeyDown: composeEventHandlers(
props.onKeyDown,
(event) => {
if (["ArrowRight", "ArrowLeft"].includes(event.key)) {
const target = event.target;
const targetIsSubTrigger = target.hasAttribute("data-radix-menubar-subtrigger");
const isKeyDownInsideSubMenu = target.closest("[data-radix-menubar-content]") !== event.currentTarget;
const prevMenuKey = context.dir === "rtl" ? "ArrowRight" : "ArrowLeft";
const isPrevKey = prevMenuKey === event.key;
const isNextKey = !isPrevKey;
if (isNextKey && targetIsSubTrigger) return;
if (isKeyDownInsideSubMenu && isPrevKey) return;
const items = getItems().filter((item) => !item.disabled);
let candidateValues = items.map((item) => item.value);
if (isPrevKey) candidateValues.reverse();
const currentIndex = candidateValues.indexOf(menuContext.value);
candidateValues = context.loop ? wrapArray(candidateValues, currentIndex + 1) : candidateValues.slice(currentIndex + 1);
const [nextValue] = candidateValues;
if (nextValue) context.onMenuOpen(nextValue);
}
},
{ checkForDefaultPrevented: false }
),
style: {
...props.style,
// re-namespace exposed content custom properties
...{
"--radix-menubar-content-transform-origin": "var(--radix-popper-transform-origin)",
"--radix-menubar-content-available-width": "var(--radix-popper-available-width)",
"--radix-menubar-content-available-height": "var(--radix-popper-available-height)",
"--radix-menubar-trigger-width": "var(--radix-popper-anchor-width)",
"--radix-menubar-trigger-height": "var(--radix-popper-anchor-height)"
}
}
}
);
}
);
MenubarContent.displayName = CONTENT_NAME;
var GROUP_NAME = "MenubarGroup";
var MenubarGroup = React.forwardRef(
(props, forwardedRef) => {
const { __scopeMenubar, ...groupProps } = props;
const menuScope = useMenuScope(__scopeMenubar);
return /* @__PURE__ */ jsx(MenuPrimitive.Group, { ...menuScope, ...groupProps, ref: forwardedRef });
}
);
MenubarGroup.displayName = GROUP_NAME;
var LABEL_NAME = "MenubarLabel";
var MenubarLabel = React.forwardRef(
(props, forwardedRef) => {
const { __scopeMenubar, ...labelProps } = props;
const menuScope = useMenuScope(__scopeMenubar);
return /* @__PURE__ */ jsx(MenuPrimitive.Label, { ...menuScope, ...labelProps, ref: forwardedRef });
}
);
MenubarLabel.displayName = LABEL_NAME;
var ITEM_NAME = "MenubarItem";
var MenubarItem = React.forwardRef(
(props, forwardedRef) => {
const { __scopeMenubar, ...itemProps } = props;
const menuScope = useMenuScope(__scopeMenubar);
return /* @__PURE__ */ jsx(MenuPrimitive.Item, { ...menuScope, ...itemProps, ref: forwardedRef });
}
);
MenubarItem.displayName = ITEM_NAME;
var CHECKBOX_ITEM_NAME = "MenubarCheckboxItem";
var MenubarCheckboxItem = React.forwardRef(
(props, forwardedRef) => {
const { __scopeMenubar, ...checkboxItemProps } = props;
const menuScope = useMenuScope(__scopeMenubar);
return /* @__PURE__ */ jsx(MenuPrimitive.CheckboxItem, { ...menuScope, ...checkboxItemProps, ref: forwardedRef });
}
);
MenubarCheckboxItem.displayName = CHECKBOX_ITEM_NAME;
var RADIO_GROUP_NAME = "MenubarRadioGroup";
var MenubarRadioGroup = React.forwardRef(
(props, forwardedRef) => {
const { __scopeMenubar, ...radioGroupProps } = props;
const menuScope = useMenuScope(__scopeMenubar);
return /* @__PURE__ */ jsx(MenuPrimitive.RadioGroup, { ...menuScope, ...radioGroupProps, ref: forwardedRef });
}
);
MenubarRadioGroup.displayName = RADIO_GROUP_NAME;
var RADIO_ITEM_NAME = "MenubarRadioItem";
var MenubarRadioItem = React.forwardRef(
(props, forwardedRef) => {
const { __scopeMenubar, ...radioItemProps } = props;
const menuScope = useMenuScope(__scopeMenubar);
return /* @__PURE__ */ jsx(MenuPrimitive.RadioItem, { ...menuScope, ...radioItemProps, ref: forwardedRef });
}
);
MenubarRadioItem.displayName = RADIO_ITEM_NAME;
var INDICATOR_NAME = "MenubarItemIndicator";
var MenubarItemIndicator = React.forwardRef((props, forwardedRef) => {
const { __scopeMenubar, ...itemIndicatorProps } = props;
const menuScope = useMenuScope(__scopeMenubar);
return /* @__PURE__ */ jsx(MenuPrimitive.ItemIndicator, { ...menuScope, ...itemIndicatorProps, ref: forwardedRef });
});
MenubarItemIndicator.displayName = INDICATOR_NAME;
var SEPARATOR_NAME = "MenubarSeparator";
var MenubarSeparator = React.forwardRef(
(props, forwardedRef) => {
const { __scopeMenubar, ...separatorProps } = props;
const menuScope = useMenuScope(__scopeMenubar);
return /* @__PURE__ */ jsx(MenuPrimitive.Separator, { ...menuScope, ...separatorProps, ref: forwardedRef });
}
);
MenubarSeparator.displayName = SEPARATOR_NAME;
var ARROW_NAME = "MenubarArrow";
var MenubarArrow = React.forwardRef(
(props, forwardedRef) => {
const { __scopeMenubar, ...arrowProps } = props;
const menuScope = useMenuScope(__scopeMenubar);
return /* @__PURE__ */ jsx(MenuPrimitive.Arrow, { ...menuScope, ...arrowProps, ref: forwardedRef });
}
);
MenubarArrow.displayName = ARROW_NAME;
var SUB_NAME = "MenubarSub";
var MenubarSub = (props) => {
const { __scopeMenubar, children, open: openProp, onOpenChange, defaultOpen } = props;
const menuScope = useMenuScope(__scopeMenubar);
const [open = false, setOpen] = useControllableState({
prop: openProp,
defaultProp: defaultOpen,
onChange: onOpenChange
});
return /* @__PURE__ */ jsx(MenuPrimitive.Sub, { ...menuScope, open, onOpenChange: setOpen, children });
};
MenubarSub.displayName = SUB_NAME;
var SUB_TRIGGER_NAME = "MenubarSubTrigger";
var MenubarSubTrigger = React.forwardRef(
(props, forwardedRef) => {
const { __scopeMenubar, ...subTriggerProps } = props;
const menuScope = useMenuScope(__scopeMenubar);
return /* @__PURE__ */ jsx(
MenuPrimitive.SubTrigger,
{
"data-radix-menubar-subtrigger": "",
...menuScope,
...subTriggerProps,
ref: forwardedRef
}
);
}
);
MenubarSubTrigger.displayName = SUB_TRIGGER_NAME;
var SUB_CONTENT_NAME = "MenubarSubContent";
var MenubarSubContent = React.forwardRef(
(props, forwardedRef) => {
const { __scopeMenubar, ...subContentProps } = props;
const menuScope = useMenuScope(__scopeMenubar);
return /* @__PURE__ */ jsx(
MenuPrimitive.SubContent,
{
...menuScope,
"data-radix-menubar-content": "",
...subContentProps,
ref: forwardedRef,
style: {
...props.style,
// re-namespace exposed content custom properties
...{
"--radix-menubar-content-transform-origin": "var(--radix-popper-transform-origin)",
"--radix-menubar-content-available-width": "var(--radix-popper-available-width)",
"--radix-menubar-content-available-height": "var(--radix-popper-available-height)",
"--radix-menubar-trigger-width": "var(--radix-popper-anchor-width)",
"--radix-menubar-trigger-height": "var(--radix-popper-anchor-height)"
}
}
}
);
}
);
MenubarSubContent.displayName = SUB_CONTENT_NAME;
function wrapArray(array, startIndex) {
return array.map((_, index) => array[(startIndex + index) % array.length]);
}
var Root3 = Menubar;
var Menu = MenubarMenu;
var Trigger = MenubarTrigger;
var Portal2 = MenubarPortal;
var Content2 = MenubarContent;
var Group2 = MenubarGroup;
var Label2 = MenubarLabel;
var Item3 = MenubarItem;
var CheckboxItem2 = MenubarCheckboxItem;
var RadioGroup2 = MenubarRadioGroup;
var RadioItem2 = MenubarRadioItem;
var ItemIndicator2 = MenubarItemIndicator;
var Separator2 = MenubarSeparator;
var Arrow2 = MenubarArrow;
var Sub2 = MenubarSub;
var SubTrigger2 = MenubarSubTrigger;
var SubContent2 = MenubarSubContent;
export {
Arrow2 as Arrow,
CheckboxItem2 as CheckboxItem,
Content2 as Content,
Group2 as Group,
Item3 as Item,
ItemIndicator2 as ItemIndicator,
Label2 as Label,
Menu,
Menubar,
MenubarArrow,
MenubarCheckboxItem,
MenubarContent,
MenubarGroup,
MenubarItem,
MenubarItemIndicator,
MenubarLabel,
MenubarMenu,
MenubarPortal,
MenubarRadioGroup,
MenubarRadioItem,
MenubarSeparator,
MenubarSub,
MenubarSubContent,
MenubarSubTrigger,
MenubarTrigger,
Portal2 as Portal,
RadioGroup2 as RadioGroup,
RadioItem2 as RadioItem,
Root3 as Root,
Separator2 as Separator,
Sub2 as Sub,
SubContent2 as SubContent,
SubTrigger2 as SubTrigger,
Trigger,
createMenubarScope
};
//# sourceMappingURL=index.mjs.map

File diff suppressed because one or more lines are too long