@lobehub/ui 4.35.2 → 4.36.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.
Files changed (165) hide show
  1. package/es/Accordion/Accordion.d.mts +2 -2
  2. package/es/Accordion/AccordionItem.d.mts +2 -2
  3. package/es/ActionIcon/ActionIcon.d.mts +2 -2
  4. package/es/Alert/Alert.d.mts +2 -2
  5. package/es/Alert/type.d.mts +1 -1
  6. package/es/AutoComplete/Select.d.mts +2 -2
  7. package/es/Avatar/Avatar.mjs +1 -1
  8. package/es/Avatar/AvatarGroup/index.d.mts +2 -2
  9. package/es/Burger/Burger.d.mts +2 -2
  10. package/es/CodeDiff/CodeDiff.d.mts +2 -2
  11. package/es/CodeDiff/PatchDiff.d.mts +2 -2
  12. package/es/CodeEditor/CodeEditor.d.mts +2 -2
  13. package/es/Collapse/Collapse.d.mts +2 -2
  14. package/es/ColorSwatches/ColorSwatches.mjs +1 -1
  15. package/es/ConfigProvider/index.d.mts +2 -2
  16. package/es/ContextMenu/ContextMenuHost.d.mts +2 -2
  17. package/es/ContextMenu/ContextMenuHost.mjs +4 -9
  18. package/es/ContextMenu/ContextMenuHost.mjs.map +1 -1
  19. package/es/CopyButton/CopyButton.d.mts +2 -2
  20. package/es/DatePicker/DatePicker.d.mts +2 -2
  21. package/es/DraggablePanel/components/DraggablePanelBody.d.mts +2 -2
  22. package/es/DraggablePanel/components/DraggablePanelContainer.d.mts +2 -2
  23. package/es/DraggablePanel/components/DraggablePanelFooter.d.mts +2 -2
  24. package/es/DraggablePanel/components/DraggablePanelHeader.d.mts +2 -2
  25. package/es/DraggableSideNav/DraggableSideNav.d.mts +2 -2
  26. package/es/Drawer/Drawer.d.mts +2 -2
  27. package/es/Dropdown/Dropdown.d.mts +2 -2
  28. package/es/DropdownMenu/DropdownMenu.d.mts +2 -2
  29. package/es/DropdownMenu/atoms.d.mts +18 -18
  30. package/es/DropdownMenu/atoms.mjs +4 -4
  31. package/es/DropdownMenu/atoms.mjs.map +1 -1
  32. package/es/EditableText/EditableText.d.mts +2 -2
  33. package/es/EditorSlashMenu/atoms.d.mts +13 -13
  34. package/es/EditorSlashMenu/atoms.mjs +3 -3
  35. package/es/EditorSlashMenu/atoms.mjs.map +1 -1
  36. package/es/EmojiPicker/EmojiPicker.d.mts +2 -2
  37. package/es/Flex/FlexBasic.d.mts +2 -2
  38. package/es/FontLoader/index.d.mts +2 -2
  39. package/es/Footer/Footer.d.mts +2 -2
  40. package/es/Form/components/FormGroup.d.mts +2 -2
  41. package/es/Form/components/FormItem.d.mts +2 -2
  42. package/es/Form/components/FormSubmitFooter.d.mts +2 -2
  43. package/es/FormModal/FormModal.d.mts +2 -2
  44. package/es/Freeze/Freeze.d.mts +2 -2
  45. package/es/GuideCard/GuideCard.d.mts +2 -2
  46. package/es/Header/Header.d.mts +2 -2
  47. package/es/Highlighter/Highlighter.d.mts +2 -2
  48. package/es/Highlighter/SyntaxHighlighter/index.d.mts +2 -2
  49. package/es/Hotkey/Hotkey.d.mts +2 -2
  50. package/es/HotkeyInput/HotkeyInput.d.mts +2 -2
  51. package/es/Icon/Icon.d.mts +2 -2
  52. package/es/Icon/components/IconProvider.d.mts +3 -3
  53. package/es/Image/PreviewGroup.d.mts +2 -2
  54. package/es/ImageSelect/ImageSelect.d.mts +2 -2
  55. package/es/Input/Input.d.mts +2 -2
  56. package/es/Input/InputPassword.d.mts +2 -2
  57. package/es/Input/TextArea.d.mts +2 -2
  58. package/es/Layout/components/LayoutFooter.d.mts +2 -2
  59. package/es/Layout/components/LayoutHeader.d.mts +2 -2
  60. package/es/Layout/components/LayoutMain.d.mts +2 -2
  61. package/es/Layout/components/LayoutSidebar.d.mts +2 -2
  62. package/es/Layout/components/LayoutSidebarInner.d.mts +2 -2
  63. package/es/Layout/components/LayoutToc.d.mts +2 -2
  64. package/es/List/ListItem/index.d.mts +2 -2
  65. package/es/LobeSelect/LobeSelect.d.mts +2 -2
  66. package/es/LobeSelect/LobeSelect.mjs +45 -51
  67. package/es/LobeSelect/LobeSelect.mjs.map +1 -1
  68. package/es/LobeSelect/atoms.d.mts +19 -19
  69. package/es/LobeSelect/atoms.mjs +4 -4
  70. package/es/LobeSelect/atoms.mjs.map +1 -1
  71. package/es/LobeSwitch/LobeSwitch.d.mts +2 -2
  72. package/es/LobeSwitch/atoms.d.mts +4 -4
  73. package/es/Markdown/Markdown.d.mts +2 -2
  74. package/es/Markdown/Typography.d.mts +2 -2
  75. package/es/Markdown/components/SearchResultCards/index.d.mts +2 -2
  76. package/es/Menu/Menu.d.mts +2 -2
  77. package/es/Mermaid/Mermaid.d.mts +2 -2
  78. package/es/Mermaid/SyntaxMermaid/index.d.mts +2 -2
  79. package/es/Modal/imperative.d.mts +2 -2
  80. package/es/MotionProvider/index.d.mts +2 -2
  81. package/es/Popover/ArrowIcon.d.mts +2 -2
  82. package/es/Popover/PopoverPortal.mjs +8 -12
  83. package/es/Popover/PopoverPortal.mjs.map +1 -1
  84. package/es/Popover/atoms.d.mts +9 -9
  85. package/es/Popover/context.d.mts +2 -2
  86. package/es/ScrollArea/atoms.d.mts +7 -7
  87. package/es/SearchBar/SearchBar.d.mts +2 -2
  88. package/es/Segmented/Segmented.d.mts +2 -2
  89. package/es/Select/Select.d.mts +2 -2
  90. package/es/SideNav/SideNav.d.mts +2 -2
  91. package/es/SliderWithInput/SliderWithInput.d.mts +2 -2
  92. package/es/SortableList/components/DragHandle.d.mts +2 -2
  93. package/es/SortableList/components/SortableItem.d.mts +2 -2
  94. package/es/ThemeProvider/AppElementContext.d.mts +7 -0
  95. package/es/ThemeProvider/AppElementContext.mjs +14 -0
  96. package/es/ThemeProvider/AppElementContext.mjs.map +1 -0
  97. package/es/ThemeProvider/GlobalStyle/global.mjs +10 -17
  98. package/es/ThemeProvider/GlobalStyle/global.mjs.map +1 -1
  99. package/es/ThemeProvider/ThemeProvider.d.mts +2 -2
  100. package/es/ThemeProvider/ThemeProvider.mjs +9 -2
  101. package/es/ThemeProvider/ThemeProvider.mjs.map +1 -1
  102. package/es/ThemeProvider/index.d.mts +2 -1
  103. package/es/ThemeProvider/index.mjs +2 -1
  104. package/es/Toast/imperative.d.mts +3 -3
  105. package/es/Toast/imperative.mjs +7 -44
  106. package/es/Toast/imperative.mjs.map +1 -1
  107. package/es/Toc/Toc.d.mts +2 -2
  108. package/es/Tooltip/TooltipGroup.mjs +3 -3
  109. package/es/Tooltip/TooltipGroup.mjs.map +1 -1
  110. package/es/Tooltip/TooltipStandalone.mjs +3 -3
  111. package/es/Tooltip/TooltipStandalone.mjs.map +1 -1
  112. package/es/Video/index.d.mts +2 -2
  113. package/es/awesome/AuroraBackground/AuroraBackground.d.mts +2 -2
  114. package/es/awesome/BottomGradientButton/BottomGradientButton.d.mts +2 -2
  115. package/es/awesome/Features/Features.d.mts +2 -2
  116. package/es/awesome/Giscus/Giscus.d.mts +2 -2
  117. package/es/awesome/GradientButton/GradientButton.d.mts +2 -2
  118. package/es/awesome/GridBackground/GridBackground.d.mts +2 -2
  119. package/es/awesome/GridBackground/GridShowcase.d.mts +2 -2
  120. package/es/awesome/Hero/Hero.d.mts +2 -2
  121. package/es/awesome/Spline/Spine.d.mts +2 -2
  122. package/es/awesome/Spotlight/Spotlight.d.mts +2 -2
  123. package/es/awesome/SpotlightCard/SpotlightCard.d.mts +2 -2
  124. package/es/awesome/TypewriterEffect/TypewriterEffect.d.mts +2 -2
  125. package/es/brand/LobeChat/index.d.mts +2 -2
  126. package/es/brand/LobeHub/index.d.mts +2 -2
  127. package/es/brand/LogoThree/LogoSpline.d.mts +2 -2
  128. package/es/brand/LogoThree/index.d.mts +2 -2
  129. package/es/chat/BackBottom/BackBottom.d.mts +2 -2
  130. package/es/chat/ChatInputArea/components/ChatInputAreaInner.d.mts +2 -2
  131. package/es/chat/ChatItem/ChatItem.d.mts +2 -2
  132. package/es/chat/ChatList/ChatList.d.mts +2 -2
  133. package/es/chat/EditableMessage/EditableMessage.d.mts +2 -2
  134. package/es/chat/EditableMessageList/EditableMessageList.d.mts +2 -2
  135. package/es/chat/MessageInput/MessageInput.d.mts +2 -2
  136. package/es/chat/MessageModal/MessageModal.d.mts +2 -2
  137. package/es/color/ColorScales/index.d.mts +2 -2
  138. package/es/color/CssVar/index.d.mts +2 -2
  139. package/es/i18n/context.d.mts +2 -2
  140. package/es/icons/lucideExtra/BotPromptIcon.d.mts +2 -2
  141. package/es/icons/lucideExtra/CreateBotIcon.d.mts +3 -3
  142. package/es/icons/lucideExtra/DiscordIcon.d.mts +3 -3
  143. package/es/icons/lucideExtra/GlobeOffIcon.d.mts +2 -2
  144. package/es/icons/lucideExtra/GroupBotIcon.d.mts +2 -2
  145. package/es/icons/lucideExtra/GroupBotSquareIcon.d.mts +3 -3
  146. package/es/icons/lucideExtra/LeftClickIcon.d.mts +3 -3
  147. package/es/icons/lucideExtra/LeftDoubleClickIcon.d.mts +3 -3
  148. package/es/icons/lucideExtra/McpIcon.d.mts +3 -3
  149. package/es/icons/lucideExtra/ProviderIcon.d.mts +3 -3
  150. package/es/icons/lucideExtra/RightClickIcon.d.mts +3 -3
  151. package/es/icons/lucideExtra/RightDoubleClickIcon.d.mts +3 -3
  152. package/es/icons/lucideExtra/ShapesUploadIcon.d.mts +3 -3
  153. package/es/icons/lucideExtra/TreeDownRightIcon.d.mts +3 -3
  154. package/es/icons/lucideExtra/TreeUpDownRightIcon.d.mts +2 -2
  155. package/es/index.d.mts +2 -1
  156. package/es/index.mjs +7 -6
  157. package/es/mdx/Mdx/index.d.mts +2 -2
  158. package/es/mobile/ChatHeader/ChatHeaderTitle.d.mts +2 -2
  159. package/es/mobile/ChatInputArea/components/ChatSendButton.d.mts +2 -2
  160. package/es/storybook/StoryBook/index.d.mts +2 -2
  161. package/package.json +1 -1
  162. package/es/Tooltip/TooltipPortal.mjs +0 -45
  163. package/es/Tooltip/TooltipPortal.mjs.map +0 -1
  164. package/es/hooks/usePortalContainer.mjs +0 -24
  165. package/es/hooks/usePortalContainer.mjs.map +0 -1
@@ -1,8 +1,8 @@
1
1
  import { AccordionProps } from "./type.mjs";
2
- import * as react84 from "react";
2
+ import * as react10 from "react";
3
3
 
4
4
  //#region src/Accordion/Accordion.d.ts
5
- declare const Accordion: react84.NamedExoticComponent<AccordionProps>;
5
+ declare const Accordion: react10.NamedExoticComponent<AccordionProps>;
6
6
  //#endregion
7
7
  export { Accordion };
8
8
  //# sourceMappingURL=Accordion.d.mts.map
@@ -1,8 +1,8 @@
1
1
  import { AccordionItemProps } from "./type.mjs";
2
- import * as react85 from "react";
2
+ import * as react11 from "react";
3
3
 
4
4
  //#region src/Accordion/AccordionItem.d.ts
5
- declare const AccordionItem: react85.NamedExoticComponent<AccordionItemProps>;
5
+ declare const AccordionItem: react11.NamedExoticComponent<AccordionItemProps>;
6
6
  //#endregion
7
7
  export { AccordionItem };
8
8
  //# sourceMappingURL=AccordionItem.d.mts.map
@@ -1,8 +1,8 @@
1
1
  import { ActionIconProps } from "./type.mjs";
2
- import * as react86 from "react";
2
+ import * as react38 from "react";
3
3
 
4
4
  //#region src/ActionIcon/ActionIcon.d.ts
5
- declare const ActionIcon: react86.NamedExoticComponent<ActionIconProps>;
5
+ declare const ActionIcon: react38.NamedExoticComponent<ActionIconProps>;
6
6
  //#endregion
7
7
  export { ActionIcon };
8
8
  //# sourceMappingURL=ActionIcon.d.mts.map
@@ -1,8 +1,8 @@
1
1
  import { AlertProps } from "./type.mjs";
2
- import * as react9 from "react";
2
+ import * as react1 from "react";
3
3
 
4
4
  //#region src/Alert/Alert.d.ts
5
- declare const Alert: react9.NamedExoticComponent<AlertProps>;
5
+ declare const Alert: react1.NamedExoticComponent<AlertProps>;
6
6
  //#endregion
7
7
  export { Alert };
8
8
  //# sourceMappingURL=Alert.d.mts.map
@@ -5,7 +5,7 @@ import { AlertProps } from "antd";
5
5
  import { AlertRef } from "antd/lib/alert/Alert";
6
6
 
7
7
  //#region src/Alert/type.d.ts
8
- interface AlertProps$1 extends Omit<AlertProps, 'icon' | 'type'> {
8
+ interface AlertProps$1 extends Omit<AlertProps, 'classNames' | 'icon' | 'styles' | 'type'> {
9
9
  classNames?: {
10
10
  alert?: string;
11
11
  container?: string;
@@ -1,8 +1,8 @@
1
1
  import { AutoCompleteProps } from "./type.mjs";
2
- import * as react87 from "react";
2
+ import * as react80 from "react";
3
3
 
4
4
  //#region src/AutoComplete/Select.d.ts
5
- declare const AutoComplete: react87.NamedExoticComponent<AutoCompleteProps>;
5
+ declare const AutoComplete: react80.NamedExoticComponent<AutoCompleteProps>;
6
6
  //#endregion
7
7
  export { AutoComplete };
8
8
  //# sourceMappingURL=Select.d.mts.map
@@ -1,8 +1,8 @@
1
1
  'use client';
2
2
 
3
3
  import Center_default from "../Flex/Center.mjs";
4
- import Icon_default from "../Icon/Icon.mjs";
5
4
  import { safeReadableColor } from "../utils/safeReadableColor.mjs";
5
+ import Icon_default from "../Icon/Icon.mjs";
6
6
  import Img_default from "../Img/index.mjs";
7
7
  import FluentEmoji_default from "../FluentEmoji/FluentEmoji.mjs";
8
8
  import { styles, variants } from "./style.mjs";
@@ -1,8 +1,8 @@
1
1
  import { AvatarGroupProps } from "../type.mjs";
2
- import * as react76 from "react";
2
+ import * as react78 from "react";
3
3
 
4
4
  //#region src/Avatar/AvatarGroup/index.d.ts
5
- declare const AvatarGroup: react76.NamedExoticComponent<AvatarGroupProps>;
5
+ declare const AvatarGroup: react78.NamedExoticComponent<AvatarGroupProps>;
6
6
  //#endregion
7
7
  export { AvatarGroup };
8
8
  //# sourceMappingURL=index.d.mts.map
@@ -1,8 +1,8 @@
1
1
  import { BurgerProps } from "./type.mjs";
2
- import * as react75 from "react";
2
+ import * as react9 from "react";
3
3
 
4
4
  //#region src/Burger/Burger.d.ts
5
- declare const Burger: react75.NamedExoticComponent<BurgerProps>;
5
+ declare const Burger: react9.NamedExoticComponent<BurgerProps>;
6
6
  //#endregion
7
7
  export { Burger };
8
8
  //# sourceMappingURL=Burger.d.mts.map
@@ -1,8 +1,8 @@
1
1
  import { CodeDiffProps } from "./type.mjs";
2
- import * as react33 from "react";
2
+ import * as react7 from "react";
3
3
 
4
4
  //#region src/CodeDiff/CodeDiff.d.ts
5
- declare const CodeDiff: react33.NamedExoticComponent<CodeDiffProps>;
5
+ declare const CodeDiff: react7.NamedExoticComponent<CodeDiffProps>;
6
6
  //#endregion
7
7
  export { CodeDiff };
8
8
  //# sourceMappingURL=CodeDiff.d.mts.map
@@ -1,8 +1,8 @@
1
1
  import { PatchDiffProps } from "./type.mjs";
2
- import * as react34 from "react";
2
+ import * as react8 from "react";
3
3
 
4
4
  //#region src/CodeDiff/PatchDiff.d.ts
5
- declare const PatchDiff: react34.NamedExoticComponent<PatchDiffProps>;
5
+ declare const PatchDiff: react8.NamedExoticComponent<PatchDiffProps>;
6
6
  //#endregion
7
7
  export { PatchDiff };
8
8
  //# sourceMappingURL=PatchDiff.d.mts.map
@@ -1,8 +1,8 @@
1
1
  import { CodeEditorProps } from "./type.mjs";
2
- import * as react32 from "react";
2
+ import * as react6 from "react";
3
3
 
4
4
  //#region src/CodeEditor/CodeEditor.d.ts
5
- declare const CodeEditor: react32.NamedExoticComponent<CodeEditorProps>;
5
+ declare const CodeEditor: react6.NamedExoticComponent<CodeEditorProps>;
6
6
  //#endregion
7
7
  export { CodeEditor };
8
8
  //# sourceMappingURL=CodeEditor.d.mts.map
@@ -1,8 +1,8 @@
1
1
  import { CollapseProps } from "./type.mjs";
2
- import * as react30 from "react";
2
+ import * as react4 from "react";
3
3
 
4
4
  //#region src/Collapse/Collapse.d.ts
5
- declare const Collapse: react30.NamedExoticComponent<CollapseProps>;
5
+ declare const Collapse: react4.NamedExoticComponent<CollapseProps>;
6
6
  //#endregion
7
7
  export { Collapse };
8
8
  //# sourceMappingURL=Collapse.d.mts.map
@@ -2,8 +2,8 @@
2
2
 
3
3
  import FlexBasic_default from "../Flex/FlexBasic.mjs";
4
4
  import Center_default from "../Flex/Center.mjs";
5
- import Icon_default from "../Icon/Icon.mjs";
6
5
  import { safeReadableColor } from "../utils/safeReadableColor.mjs";
6
+ import Icon_default from "../Icon/Icon.mjs";
7
7
  import Tooltip_default from "../Tooltip/Tooltip.mjs";
8
8
  import { styles } from "./style.mjs";
9
9
  import { useMemo } from "react";
@@ -1,7 +1,7 @@
1
1
  import { TranslationResourcesInput } from "../i18n/types.mjs";
2
2
  import { MotionComponentType } from "../MotionProvider/index.mjs";
3
3
  import { CDN, CdnApi } from "../utils/genCdnUrl.mjs";
4
- import * as react77 from "react";
4
+ import * as react82 from "react";
5
5
  import { ElementType, ReactNode } from "react";
6
6
 
7
7
  //#region src/ConfigProvider/index.d.ts
@@ -19,7 +19,7 @@ interface ConfigProviderProps {
19
19
  motion: MotionComponentType;
20
20
  resources?: TranslationResourcesInput;
21
21
  }
22
- declare const ConfigProvider: react77.NamedExoticComponent<ConfigProviderProps>;
22
+ declare const ConfigProvider: react82.NamedExoticComponent<ConfigProviderProps>;
23
23
  type CdnFn = ({
24
24
  pkg,
25
25
  version,
@@ -1,8 +1,8 @@
1
- import * as react122 from "react";
1
+ import * as react125 from "react";
2
2
  import * as react_jsx_runtime61 from "react/jsx-runtime";
3
3
 
4
4
  //#region src/ContextMenu/ContextMenuHost.d.ts
5
- declare const ContextMenuHost: react122.MemoExoticComponent<() => react_jsx_runtime61.JSX.Element | null>;
5
+ declare const ContextMenuHost: react125.MemoExoticComponent<() => react_jsx_runtime61.JSX.Element | null>;
6
6
  //#endregion
7
7
  export { ContextMenuHost };
8
8
  //# sourceMappingURL=ContextMenuHost.d.mts.map
@@ -1,9 +1,8 @@
1
1
  'use client';
2
2
 
3
3
  import { useIsClient } from "../hooks/useIsClient.mjs";
4
- import { LOBE_THEME_APP_ID } from "../ThemeProvider/constants.mjs";
4
+ import { useAppElement } from "../ThemeProvider/AppElementContext.mjs";
5
5
  import { preventDefaultAndStopPropagation } from "../utils/dom.mjs";
6
- import { usePortalContainer } from "../hooks/usePortalContainer.mjs";
7
6
  import { styles } from "../Menu/sharedStyle.mjs";
8
7
  import { registerDevSingleton } from "../utils/devSingleton.mjs";
9
8
  import { renderContextMenuItems } from "./renderItems.mjs";
@@ -13,16 +12,14 @@ import { jsx } from "react/jsx-runtime";
13
12
  import { ContextMenu } from "@base-ui/react/context-menu";
14
13
 
15
14
  //#region src/ContextMenu/ContextMenuHost.tsx
16
- const CONTEXT_MENU_CONTAINER_ATTR = "data-lobe-ui-context-menu-container";
17
15
  const ContextMenuHost = memo(() => {
18
16
  const isClient = useIsClient();
17
+ const appElement = useAppElement();
19
18
  const state = useSyncExternalStore(subscribe, getSnapshot, getServerSnapshot);
20
19
  useEffect(() => {
21
20
  const DEV = process.env.NODE_ENV === "development";
22
21
  if (!isClient || !DEV) return;
23
- const themeApp = document.querySelector(`#${LOBE_THEME_APP_ID}`);
24
- const contextMenuContainer = document.querySelector(`[${CONTEXT_MENU_CONTAINER_ATTR}="true"]`);
25
- return registerDevSingleton("ContextMenuHost", themeApp ?? contextMenuContainer ?? document.body);
22
+ return registerDevSingleton("ContextMenuHost", document.body);
26
23
  }, [isClient]);
27
24
  useEffect(() => {
28
25
  const handler = (event) => updateLastPointer(event);
@@ -41,10 +38,8 @@ const ContextMenuHost = memo(() => {
41
38
  state.iconAlign,
42
39
  state.iconSpaceMode
43
40
  ]);
44
- const portalContainer = usePortalContainer(CONTEXT_MENU_CONTAINER_ATTR);
45
41
  if (!isClient) return null;
46
42
  if (!state.open && state.items.length === 0) return null;
47
- if (!portalContainer) return null;
48
43
  return /* @__PURE__ */ jsx(ContextMenu.Root, {
49
44
  open: state.open,
50
45
  onOpenChange: (open) => {
@@ -55,7 +50,7 @@ const ContextMenuHost = memo(() => {
55
50
  closeContextMenu();
56
51
  },
57
52
  children: /* @__PURE__ */ jsx(ContextMenu.Portal, {
58
- container: portalContainer,
53
+ container: appElement ?? void 0,
59
54
  children: /* @__PURE__ */ jsx(ContextMenu.Positioner, {
60
55
  anchor: state.anchor ?? void 0,
61
56
  className: styles.positioner,
@@ -1 +1 @@
1
- {"version":3,"file":"ContextMenuHost.mjs","names":[],"sources":["../../src/ContextMenu/ContextMenuHost.tsx"],"sourcesContent":["'use client';\n\nimport { ContextMenu } from '@base-ui/react/context-menu';\nimport { memo, useEffect, useMemo, useSyncExternalStore } from 'react';\n\nimport { useIsClient } from '@/hooks/useIsClient';\nimport { usePortalContainer } from '@/hooks/usePortalContainer';\nimport { LOBE_THEME_APP_ID } from '@/ThemeProvider';\nimport { registerDevSingleton } from '@/utils/devSingleton';\nimport { preventDefaultAndStopPropagation } from '@/utils/dom';\n\nimport { renderContextMenuItems } from './renderItems';\nimport {\n closeContextMenu,\n getServerSnapshot,\n getSnapshot,\n setContextMenuState,\n subscribe,\n updateLastPointer,\n} from './store';\nimport { styles } from './style';\n\nconst CONTEXT_MENU_CONTAINER_ATTR = 'data-lobe-ui-context-menu-container';\n\nexport const ContextMenuHost = memo(() => {\n const isClient = useIsClient();\n const state = useSyncExternalStore(subscribe, getSnapshot, getServerSnapshot);\n\n useEffect(() => {\n const DEV = process.env.NODE_ENV === 'development';\n if (!isClient || !DEV) return;\n // Enforce singleton per portal container (dev-only).\n const themeApp = document.querySelector<HTMLElement>(`#${LOBE_THEME_APP_ID}`);\n const contextMenuContainer = document.querySelector<HTMLElement>(\n `[${CONTEXT_MENU_CONTAINER_ATTR}=\"true\"]`,\n );\n const scope = themeApp ?? contextMenuContainer ?? document.body;\n return registerDevSingleton('ContextMenuHost', scope);\n }, [isClient]);\n\n useEffect(() => {\n const handler = (event: MouseEvent | PointerEvent) => updateLastPointer(event);\n window.addEventListener('pointerdown', handler, true);\n window.addEventListener('contextmenu', handler, true);\n return () => {\n window.removeEventListener('pointerdown', handler, true);\n window.removeEventListener('contextmenu', handler, true);\n };\n }, []);\n\n const menuItems = useMemo(\n () =>\n renderContextMenuItems(state.items, [], {\n iconAlign: state.iconAlign,\n iconSpaceMode: state.iconSpaceMode,\n }),\n [state.items, state.iconAlign, state.iconSpaceMode],\n );\n const portalContainer = usePortalContainer(CONTEXT_MENU_CONTAINER_ATTR);\n\n if (!isClient) return null;\n if (!state.open && state.items.length === 0) return null;\n if (!portalContainer) return null;\n\n return (\n <ContextMenu.Root\n open={state.open}\n onOpenChange={(open) => {\n if (open) {\n setContextMenuState({ open });\n return;\n }\n closeContextMenu();\n }}\n >\n <ContextMenu.Portal container={portalContainer}>\n <ContextMenu.Positioner\n anchor={state.anchor ?? undefined}\n className={styles.positioner}\n sideOffset={6}\n >\n <ContextMenu.Popup\n className={styles.popup}\n onContextMenu={preventDefaultAndStopPropagation}\n >\n {menuItems}\n </ContextMenu.Popup>\n </ContextMenu.Positioner>\n </ContextMenu.Portal>\n </ContextMenu.Root>\n );\n});\n\nContextMenuHost.displayName = 'ContextMenuHost';\n"],"mappings":";;;;;;;;;;;;;;;AAsBA,MAAM,8BAA8B;AAEpC,MAAa,kBAAkB,WAAW;CACxC,MAAM,WAAW,aAAa;CAC9B,MAAM,QAAQ,qBAAqB,WAAW,aAAa,kBAAkB;AAE7E,iBAAgB;EACd,MAAM,MAAM,QAAQ,IAAI,aAAa;AACrC,MAAI,CAAC,YAAY,CAAC,IAAK;EAEvB,MAAM,WAAW,SAAS,cAA2B,IAAI,oBAAoB;EAC7E,MAAM,uBAAuB,SAAS,cACpC,IAAI,4BAA4B,UACjC;AAED,SAAO,qBAAqB,mBADd,YAAY,wBAAwB,SAAS,KACN;IACpD,CAAC,SAAS,CAAC;AAEd,iBAAgB;EACd,MAAM,WAAW,UAAqC,kBAAkB,MAAM;AAC9E,SAAO,iBAAiB,eAAe,SAAS,KAAK;AACrD,SAAO,iBAAiB,eAAe,SAAS,KAAK;AACrD,eAAa;AACX,UAAO,oBAAoB,eAAe,SAAS,KAAK;AACxD,UAAO,oBAAoB,eAAe,SAAS,KAAK;;IAEzD,EAAE,CAAC;CAEN,MAAM,YAAY,cAEd,uBAAuB,MAAM,OAAO,EAAE,EAAE;EACtC,WAAW,MAAM;EACjB,eAAe,MAAM;EACtB,CAAC,EACJ;EAAC,MAAM;EAAO,MAAM;EAAW,MAAM;EAAc,CACpD;CACD,MAAM,kBAAkB,mBAAmB,4BAA4B;AAEvE,KAAI,CAAC,SAAU,QAAO;AACtB,KAAI,CAAC,MAAM,QAAQ,MAAM,MAAM,WAAW,EAAG,QAAO;AACpD,KAAI,CAAC,gBAAiB,QAAO;AAE7B,QACE,oBAAC,YAAY;EACX,MAAM,MAAM;EACZ,eAAe,SAAS;AACtB,OAAI,MAAM;AACR,wBAAoB,EAAE,MAAM,CAAC;AAC7B;;AAEF,qBAAkB;;YAGpB,oBAAC,YAAY;GAAO,WAAW;aAC7B,oBAAC,YAAY;IACX,QAAQ,MAAM,UAAU;IACxB,WAAW,OAAO;IAClB,YAAY;cAEZ,oBAAC,YAAY;KACX,WAAW,OAAO;KAClB,eAAe;eAEd;MACiB;KACG;IACN;GACJ;EAErB;AAEF,gBAAgB,cAAc"}
1
+ {"version":3,"file":"ContextMenuHost.mjs","names":[],"sources":["../../src/ContextMenu/ContextMenuHost.tsx"],"sourcesContent":["'use client';\n\nimport { ContextMenu } from '@base-ui/react/context-menu';\nimport { memo, useEffect, useMemo, useSyncExternalStore } from 'react';\n\nimport { useIsClient } from '@/hooks/useIsClient';\nimport { useAppElement } from '@/ThemeProvider';\nimport { registerDevSingleton } from '@/utils/devSingleton';\nimport { preventDefaultAndStopPropagation } from '@/utils/dom';\n\nimport { renderContextMenuItems } from './renderItems';\nimport {\n closeContextMenu,\n getServerSnapshot,\n getSnapshot,\n setContextMenuState,\n subscribe,\n updateLastPointer,\n} from './store';\nimport { styles } from './style';\n\nexport const ContextMenuHost = memo(() => {\n const isClient = useIsClient();\n const appElement = useAppElement();\n const state = useSyncExternalStore(subscribe, getSnapshot, getServerSnapshot);\n\n useEffect(() => {\n const DEV = process.env.NODE_ENV === 'development';\n if (!isClient || !DEV) return;\n return registerDevSingleton('ContextMenuHost', document.body);\n }, [isClient]);\n\n useEffect(() => {\n const handler = (event: MouseEvent | PointerEvent) => updateLastPointer(event);\n window.addEventListener('pointerdown', handler, true);\n window.addEventListener('contextmenu', handler, true);\n return () => {\n window.removeEventListener('pointerdown', handler, true);\n window.removeEventListener('contextmenu', handler, true);\n };\n }, []);\n\n const menuItems = useMemo(\n () =>\n renderContextMenuItems(state.items, [], {\n iconAlign: state.iconAlign,\n iconSpaceMode: state.iconSpaceMode,\n }),\n [state.items, state.iconAlign, state.iconSpaceMode],\n );\n if (!isClient) return null;\n if (!state.open && state.items.length === 0) return null;\n\n return (\n <ContextMenu.Root\n open={state.open}\n onOpenChange={(open) => {\n if (open) {\n setContextMenuState({ open });\n return;\n }\n closeContextMenu();\n }}\n >\n <ContextMenu.Portal container={appElement ?? undefined}>\n <ContextMenu.Positioner\n anchor={state.anchor ?? undefined}\n className={styles.positioner}\n sideOffset={6}\n >\n <ContextMenu.Popup\n className={styles.popup}\n onContextMenu={preventDefaultAndStopPropagation}\n >\n {menuItems}\n </ContextMenu.Popup>\n </ContextMenu.Positioner>\n </ContextMenu.Portal>\n </ContextMenu.Root>\n );\n});\n\nContextMenuHost.displayName = 'ContextMenuHost';\n"],"mappings":";;;;;;;;;;;;;;AAqBA,MAAa,kBAAkB,WAAW;CACxC,MAAM,WAAW,aAAa;CAC9B,MAAM,aAAa,eAAe;CAClC,MAAM,QAAQ,qBAAqB,WAAW,aAAa,kBAAkB;AAE7E,iBAAgB;EACd,MAAM,MAAM,QAAQ,IAAI,aAAa;AACrC,MAAI,CAAC,YAAY,CAAC,IAAK;AACvB,SAAO,qBAAqB,mBAAmB,SAAS,KAAK;IAC5D,CAAC,SAAS,CAAC;AAEd,iBAAgB;EACd,MAAM,WAAW,UAAqC,kBAAkB,MAAM;AAC9E,SAAO,iBAAiB,eAAe,SAAS,KAAK;AACrD,SAAO,iBAAiB,eAAe,SAAS,KAAK;AACrD,eAAa;AACX,UAAO,oBAAoB,eAAe,SAAS,KAAK;AACxD,UAAO,oBAAoB,eAAe,SAAS,KAAK;;IAEzD,EAAE,CAAC;CAEN,MAAM,YAAY,cAEd,uBAAuB,MAAM,OAAO,EAAE,EAAE;EACtC,WAAW,MAAM;EACjB,eAAe,MAAM;EACtB,CAAC,EACJ;EAAC,MAAM;EAAO,MAAM;EAAW,MAAM;EAAc,CACpD;AACD,KAAI,CAAC,SAAU,QAAO;AACtB,KAAI,CAAC,MAAM,QAAQ,MAAM,MAAM,WAAW,EAAG,QAAO;AAEpD,QACE,oBAAC,YAAY;EACX,MAAM,MAAM;EACZ,eAAe,SAAS;AACtB,OAAI,MAAM;AACR,wBAAoB,EAAE,MAAM,CAAC;AAC7B;;AAEF,qBAAkB;;YAGpB,oBAAC,YAAY;GAAO,WAAW,cAAc;aAC3C,oBAAC,YAAY;IACX,QAAQ,MAAM,UAAU;IACxB,WAAW,OAAO;IAClB,YAAY;cAEZ,oBAAC,YAAY;KACX,WAAW,OAAO;KAClB,eAAe;eAEd;MACiB;KACG;IACN;GACJ;EAErB;AAEF,gBAAgB,cAAc"}
@@ -1,8 +1,8 @@
1
1
  import { CopyButtonProps } from "./type.mjs";
2
- import * as react29 from "react";
2
+ import * as react0 from "react";
3
3
 
4
4
  //#region src/CopyButton/CopyButton.d.ts
5
- declare const CopyButton: react29.NamedExoticComponent<CopyButtonProps>;
5
+ declare const CopyButton: react0.NamedExoticComponent<CopyButtonProps>;
6
6
  //#endregion
7
7
  export { CopyButton };
8
8
  //# sourceMappingURL=CopyButton.d.mts.map
@@ -1,8 +1,8 @@
1
1
  import { DatePickerProps } from "./type.mjs";
2
- import * as react28 from "react";
2
+ import * as react12 from "react";
3
3
 
4
4
  //#region src/DatePicker/DatePicker.d.ts
5
- declare const DatePicker: react28.NamedExoticComponent<DatePickerProps>;
5
+ declare const DatePicker: react12.NamedExoticComponent<DatePickerProps>;
6
6
  //#endregion
7
7
  export { DatePicker };
8
8
  //# sourceMappingURL=DatePicker.d.mts.map
@@ -1,9 +1,9 @@
1
1
  import { DivProps } from "../../types/index.mjs";
2
- import * as react25 from "react";
2
+ import * as react75 from "react";
3
3
 
4
4
  //#region src/DraggablePanel/components/DraggablePanelBody.d.ts
5
5
  type DraggablePanelBodyProps = DivProps;
6
- declare const DraggablePanelBody: react25.NamedExoticComponent<DivProps>;
6
+ declare const DraggablePanelBody: react75.NamedExoticComponent<DivProps>;
7
7
  //#endregion
8
8
  export { DraggablePanelBody, DraggablePanelBodyProps };
9
9
  //# sourceMappingURL=DraggablePanelBody.d.mts.map
@@ -1,9 +1,9 @@
1
1
  import { DivProps } from "../../types/index.mjs";
2
- import * as react24 from "react";
2
+ import * as react74 from "react";
3
3
 
4
4
  //#region src/DraggablePanel/components/DraggablePanelContainer.d.ts
5
5
  type DraggablePanelContainerProps = DivProps;
6
- declare const DraggablePanelContainer: react24.NamedExoticComponent<DivProps>;
6
+ declare const DraggablePanelContainer: react74.NamedExoticComponent<DivProps>;
7
7
  //#endregion
8
8
  export { DraggablePanelContainer, DraggablePanelContainerProps };
9
9
  //# sourceMappingURL=DraggablePanelContainer.d.mts.map
@@ -1,9 +1,9 @@
1
1
  import { DivProps } from "../../types/index.mjs";
2
- import * as react27 from "react";
2
+ import * as react73 from "react";
3
3
 
4
4
  //#region src/DraggablePanel/components/DraggablePanelFooter.d.ts
5
5
  type DraggablePanelFooterProps = DivProps;
6
- declare const DraggablePanelFooter: react27.NamedExoticComponent<DivProps>;
6
+ declare const DraggablePanelFooter: react73.NamedExoticComponent<DivProps>;
7
7
  //#endregion
8
8
  export { DraggablePanelFooter, DraggablePanelFooterProps };
9
9
  //# sourceMappingURL=DraggablePanelFooter.d.mts.map
@@ -1,5 +1,5 @@
1
1
  import { DivProps } from "../../types/index.mjs";
2
- import * as react26 from "react";
2
+ import * as react76 from "react";
3
3
 
4
4
  //#region src/DraggablePanel/components/DraggablePanelHeader.d.ts
5
5
  interface DraggablePanelHeaderProps extends Omit<DivProps, 'children'> {
@@ -9,7 +9,7 @@ interface DraggablePanelHeaderProps extends Omit<DivProps, 'children'> {
9
9
  setPin?: (pin: boolean) => void;
10
10
  title?: string;
11
11
  }
12
- declare const DraggablePanelHeader: react26.NamedExoticComponent<DraggablePanelHeaderProps>;
12
+ declare const DraggablePanelHeader: react76.NamedExoticComponent<DraggablePanelHeaderProps>;
13
13
  //#endregion
14
14
  export { DraggablePanelHeader, DraggablePanelHeaderProps };
15
15
  //# sourceMappingURL=DraggablePanelHeader.d.mts.map
@@ -1,8 +1,8 @@
1
1
  import { DraggableSideNavProps } from "./type.mjs";
2
- import * as react23 from "react";
2
+ import * as react5 from "react";
3
3
 
4
4
  //#region src/DraggableSideNav/DraggableSideNav.d.ts
5
- declare const DraggableSideNav: react23.NamedExoticComponent<DraggableSideNavProps>;
5
+ declare const DraggableSideNav: react5.NamedExoticComponent<DraggableSideNavProps>;
6
6
  //#endregion
7
7
  export { DraggableSideNav };
8
8
  //# sourceMappingURL=DraggableSideNav.d.mts.map
@@ -1,8 +1,8 @@
1
1
  import { DrawerProps } from "./type.mjs";
2
- import * as react22 from "react";
2
+ import * as react3 from "react";
3
3
 
4
4
  //#region src/Drawer/Drawer.d.ts
5
- declare const Drawer: react22.NamedExoticComponent<DrawerProps>;
5
+ declare const Drawer: react3.NamedExoticComponent<DrawerProps>;
6
6
  //#endregion
7
7
  export { Drawer };
8
8
  //# sourceMappingURL=Drawer.d.mts.map
@@ -1,5 +1,5 @@
1
1
  import { DropdownProps } from "./type.mjs";
2
- import * as react20 from "react";
2
+ import * as react2 from "react";
3
3
 
4
4
  //#region src/Dropdown/Dropdown.d.ts
5
5
 
@@ -9,7 +9,7 @@ import * as react20 from "react";
9
9
  * @see https://ui.lobehub.com/components/context-menu
10
10
  * @see https://ui.lobehub.com/components/dropdown-menu
11
11
  */
12
- declare const Dropdown: react20.NamedExoticComponent<DropdownProps>;
12
+ declare const Dropdown: react2.NamedExoticComponent<DropdownProps>;
13
13
  //#endregion
14
14
  export { Dropdown };
15
15
  //# sourceMappingURL=Dropdown.d.mts.map
@@ -1,8 +1,8 @@
1
1
  import { DropdownMenuProps } from "./type.mjs";
2
- import * as react19 from "react";
2
+ import * as react0 from "react";
3
3
 
4
4
  //#region src/DropdownMenu/DropdownMenu.d.ts
5
- declare const DropdownMenu: react19.NamedExoticComponent<DropdownMenuProps<unknown>>;
5
+ declare const DropdownMenu: react0.NamedExoticComponent<DropdownMenuProps<unknown>>;
6
6
  //#endregion
7
7
  export { DropdownMenu };
8
8
  //# sourceMappingURL=DropdownMenu.d.mts.map
@@ -1,6 +1,6 @@
1
1
  import { DropdownMenuPlacement } from "./type.mjs";
2
2
  import React from "react";
3
- import * as react_jsx_runtime11 from "react/jsx-runtime";
3
+ import * as react_jsx_runtime0 from "react/jsx-runtime";
4
4
  import * as _base_ui_react_menu0 from "@base-ui/react/menu";
5
5
  import { Menu } from "@base-ui/react/menu";
6
6
 
@@ -19,7 +19,7 @@ declare const DropdownMenuTrigger: {
19
19
  nativeButton,
20
20
  ref: refProp,
21
21
  ...rest
22
- }: DropdownMenuTriggerProps): react_jsx_runtime11.JSX.Element;
22
+ }: DropdownMenuTriggerProps): react_jsx_runtime0.JSX.Element;
23
23
  displayName: string;
24
24
  };
25
25
  type DropdownMenuPortalProps = React.ComponentProps<typeof Menu.Portal> & {
@@ -32,7 +32,7 @@ declare const DropdownMenuPortal: {
32
32
  ({
33
33
  container,
34
34
  ...rest
35
- }: DropdownMenuPortalProps): react_jsx_runtime11.JSX.Element;
35
+ }: DropdownMenuPortalProps): react_jsx_runtime0.JSX.Element;
36
36
  displayName: string;
37
37
  };
38
38
  type DropdownMenuPositionerProps = React.ComponentProps<typeof Menu.Positioner> & {
@@ -49,7 +49,7 @@ declare const DropdownMenuPositioner: {
49
49
  sideOffset,
50
50
  children,
51
51
  ...rest
52
- }: DropdownMenuPositionerProps): react_jsx_runtime11.JSX.Element;
52
+ }: DropdownMenuPositionerProps): react_jsx_runtime0.JSX.Element;
53
53
  displayName: string;
54
54
  };
55
55
  type DropdownMenuPopupProps = React.ComponentProps<typeof Menu.Popup>;
@@ -57,7 +57,7 @@ declare const DropdownMenuPopup: {
57
57
  ({
58
58
  className,
59
59
  ...rest
60
- }: DropdownMenuPopupProps): react_jsx_runtime11.JSX.Element;
60
+ }: DropdownMenuPopupProps): react_jsx_runtime0.JSX.Element;
61
61
  displayName: string;
62
62
  };
63
63
  type DropdownMenuItemProps = React.ComponentProps<typeof Menu.Item> & {
@@ -68,7 +68,7 @@ declare const DropdownMenuItem: {
68
68
  className,
69
69
  danger,
70
70
  ...rest
71
- }: DropdownMenuItemProps): react_jsx_runtime11.JSX.Element;
71
+ }: DropdownMenuItemProps): react_jsx_runtime0.JSX.Element;
72
72
  displayName: string;
73
73
  };
74
74
  type DropdownMenuCheckboxItemProps = React.ComponentProps<typeof Menu.CheckboxItem> & {
@@ -79,7 +79,7 @@ declare const DropdownMenuCheckboxItemPrimitive: {
79
79
  className,
80
80
  danger,
81
81
  ...rest
82
- }: DropdownMenuCheckboxItemProps): react_jsx_runtime11.JSX.Element;
82
+ }: DropdownMenuCheckboxItemProps): react_jsx_runtime0.JSX.Element;
83
83
  displayName: string;
84
84
  };
85
85
  type DropdownMenuSeparatorProps = React.ComponentProps<typeof Menu.Separator>;
@@ -87,7 +87,7 @@ declare const DropdownMenuSeparator: {
87
87
  ({
88
88
  className,
89
89
  ...rest
90
- }: DropdownMenuSeparatorProps): react_jsx_runtime11.JSX.Element;
90
+ }: DropdownMenuSeparatorProps): react_jsx_runtime0.JSX.Element;
91
91
  displayName: string;
92
92
  };
93
93
  declare const DropdownMenuGroup: React.ForwardRefExoticComponent<_base_ui_react_menu0.MenuGroupProps & React.RefAttributes<Element>>;
@@ -96,7 +96,7 @@ declare const DropdownMenuGroupLabel: {
96
96
  ({
97
97
  className,
98
98
  ...rest
99
- }: DropdownMenuGroupLabelProps): react_jsx_runtime11.JSX.Element;
99
+ }: DropdownMenuGroupLabelProps): react_jsx_runtime0.JSX.Element;
100
100
  displayName: string;
101
101
  };
102
102
  type DropdownMenuSubmenuTriggerProps = React.ComponentProps<typeof Menu.SubmenuTrigger> & {
@@ -107,7 +107,7 @@ declare const DropdownMenuSubmenuTrigger: {
107
107
  className,
108
108
  danger,
109
109
  ...rest
110
- }: DropdownMenuSubmenuTriggerProps): react_jsx_runtime11.JSX.Element;
110
+ }: DropdownMenuSubmenuTriggerProps): react_jsx_runtime0.JSX.Element;
111
111
  displayName: string;
112
112
  };
113
113
  type DropdownMenuItemContentProps = React.HTMLAttributes<HTMLDivElement>;
@@ -115,7 +115,7 @@ declare const DropdownMenuItemContent: {
115
115
  ({
116
116
  className,
117
117
  ...rest
118
- }: DropdownMenuItemContentProps): react_jsx_runtime11.JSX.Element;
118
+ }: DropdownMenuItemContentProps): react_jsx_runtime0.JSX.Element;
119
119
  displayName: string;
120
120
  };
121
121
  type DropdownMenuItemIconProps = React.HTMLAttributes<HTMLSpanElement>;
@@ -123,7 +123,7 @@ declare const DropdownMenuItemIcon: {
123
123
  ({
124
124
  className,
125
125
  ...rest
126
- }: DropdownMenuItemIconProps): react_jsx_runtime11.JSX.Element;
126
+ }: DropdownMenuItemIconProps): react_jsx_runtime0.JSX.Element;
127
127
  displayName: string;
128
128
  };
129
129
  type DropdownMenuItemLabelGroupProps = React.HTMLAttributes<HTMLDivElement>;
@@ -131,7 +131,7 @@ declare const DropdownMenuItemLabelGroup: {
131
131
  ({
132
132
  className,
133
133
  ...rest
134
- }: DropdownMenuItemLabelGroupProps): react_jsx_runtime11.JSX.Element;
134
+ }: DropdownMenuItemLabelGroupProps): react_jsx_runtime0.JSX.Element;
135
135
  displayName: string;
136
136
  };
137
137
  type DropdownMenuItemLabelProps = React.HTMLAttributes<HTMLSpanElement>;
@@ -139,7 +139,7 @@ declare const DropdownMenuItemLabel: {
139
139
  ({
140
140
  className,
141
141
  ...rest
142
- }: DropdownMenuItemLabelProps): react_jsx_runtime11.JSX.Element;
142
+ }: DropdownMenuItemLabelProps): react_jsx_runtime0.JSX.Element;
143
143
  displayName: string;
144
144
  };
145
145
  type DropdownMenuItemDescProps = React.HTMLAttributes<HTMLSpanElement>;
@@ -147,7 +147,7 @@ declare const DropdownMenuItemDesc: {
147
147
  ({
148
148
  className,
149
149
  ...rest
150
- }: DropdownMenuItemDescProps): react_jsx_runtime11.JSX.Element;
150
+ }: DropdownMenuItemDescProps): react_jsx_runtime0.JSX.Element;
151
151
  displayName: string;
152
152
  };
153
153
  type DropdownMenuItemExtraProps = React.HTMLAttributes<HTMLSpanElement>;
@@ -155,7 +155,7 @@ declare const DropdownMenuItemExtra: {
155
155
  ({
156
156
  className,
157
157
  ...rest
158
- }: DropdownMenuItemExtraProps): react_jsx_runtime11.JSX.Element;
158
+ }: DropdownMenuItemExtraProps): react_jsx_runtime0.JSX.Element;
159
159
  displayName: string;
160
160
  };
161
161
  type DropdownMenuSubmenuArrowProps = React.HTMLAttributes<HTMLSpanElement>;
@@ -163,7 +163,7 @@ declare const DropdownMenuSubmenuArrow: {
163
163
  ({
164
164
  className,
165
165
  ...rest
166
- }: DropdownMenuSubmenuArrowProps): react_jsx_runtime11.JSX.Element;
166
+ }: DropdownMenuSubmenuArrowProps): react_jsx_runtime0.JSX.Element;
167
167
  displayName: string;
168
168
  };
169
169
  type DropdownMenuSwitchItemProps = Omit<React.ComponentProps<typeof Menu.Item>, 'onClick'> & {
@@ -184,7 +184,7 @@ declare const DropdownMenuSwitchItem: {
184
184
  onCheckedChange,
185
185
  children,
186
186
  ...rest
187
- }: DropdownMenuSwitchItemProps): react_jsx_runtime11.JSX.Element;
187
+ }: DropdownMenuSwitchItemProps): react_jsx_runtime0.JSX.Element;
188
188
  displayName: string;
189
189
  };
190
190
  //#endregion
@@ -2,9 +2,9 @@
2
2
 
3
3
  import { useNativeButton } from "../hooks/useNativeButton.mjs";
4
4
  import { FloatingLayerProvider } from "../hooks/useFloatingLayer.mjs";
5
- import { placementMap } from "../utils/placement.mjs";
5
+ import { useAppElement } from "../ThemeProvider/AppElementContext.mjs";
6
6
  import { CLASSNAMES } from "../styles/classNames.mjs";
7
- import { usePortalContainer } from "../hooks/usePortalContainer.mjs";
7
+ import { placementMap } from "../utils/placement.mjs";
8
8
  import { styles } from "../Menu/sharedStyle.mjs";
9
9
  import { cloneElement, isValidElement, useCallback, useState } from "react";
10
10
  import { jsx, jsxs } from "react/jsx-runtime";
@@ -64,9 +64,9 @@ const DropdownMenuTrigger = ({ children, className, nativeButton, ref: refProp,
64
64
  };
65
65
  DropdownMenuTrigger.displayName = "DropdownMenuTrigger";
66
66
  const DropdownMenuPortal = ({ container, ...rest }) => {
67
- const defaultContainer = usePortalContainer(DROPDOWN_MENU_CONTAINER_ATTR);
67
+ const appElement = useAppElement();
68
68
  return /* @__PURE__ */ jsx(Menu$1.Portal, {
69
- container: container ?? defaultContainer,
69
+ container: container ?? appElement ?? void 0,
70
70
  ...rest
71
71
  });
72
72
  };