@lobehub/ui 4.8.1 → 4.9.1

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 (145) 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/AutoComplete/Select.d.mts +2 -2
  6. package/es/Avatar/AvatarGroup/index.d.mts +2 -2
  7. package/es/Burger/Burger.d.mts +2 -2
  8. package/es/CodeEditor/CodeEditor.d.mts +2 -2
  9. package/es/Collapse/Collapse.d.mts +2 -2
  10. package/es/ConfigProvider/index.d.mts +2 -2
  11. package/es/ContextMenu/ContextMenuHost.d.mts +2 -2
  12. package/es/ContextMenu/ContextMenuHost.mjs +7 -0
  13. package/es/ContextMenu/ContextMenuHost.mjs.map +1 -1
  14. package/es/ContextMenu/ContextMenuTrigger.d.mts +2 -3
  15. package/es/ContextMenu/ContextMenuTrigger.mjs.map +1 -1
  16. package/es/ContextMenu/imperative.d.mts +1 -1
  17. package/es/ContextMenu/index.d.mts +3 -2
  18. package/es/ContextMenu/index.mjs +2 -2
  19. package/es/ContextMenu/renderItems.mjs +30 -5
  20. package/es/ContextMenu/renderItems.mjs.map +1 -1
  21. package/es/ContextMenu/store.d.mts +8 -4
  22. package/es/ContextMenu/store.mjs +9 -1
  23. package/es/ContextMenu/store.mjs.map +1 -1
  24. package/es/ContextMenu/type.d.mts +10 -0
  25. package/es/CopyButton/CopyButton.d.mts +2 -2
  26. package/es/DatePicker/DatePicker.d.mts +2 -2
  27. package/es/DraggablePanel/components/DraggablePanelBody.d.mts +2 -2
  28. package/es/DraggablePanel/components/DraggablePanelContainer.d.mts +2 -2
  29. package/es/DraggablePanel/components/DraggablePanelFooter.d.mts +2 -2
  30. package/es/DraggablePanel/components/DraggablePanelHeader.d.mts +2 -2
  31. package/es/DraggableSideNav/DraggableSideNav.d.mts +2 -2
  32. package/es/Drawer/Drawer.d.mts +2 -2
  33. package/es/Dropdown/Dropdown.d.mts +2 -2
  34. package/es/DropdownMenu/DropdownMenu.d.mts +2 -2
  35. package/es/DropdownMenu/DropdownMenu.mjs +19 -12
  36. package/es/DropdownMenu/DropdownMenu.mjs.map +1 -1
  37. package/es/DropdownMenu/type.d.mts +6 -20
  38. package/es/EditableText/EditableText.d.mts +2 -2
  39. package/es/EmojiPicker/EmojiPicker.d.mts +2 -2
  40. package/es/Flex/FlexBasic.d.mts +2 -2
  41. package/es/FontLoader/index.d.mts +2 -2
  42. package/es/Footer/Footer.d.mts +2 -2
  43. package/es/Form/components/FormGroup.d.mts +2 -2
  44. package/es/Form/components/FormItem.d.mts +2 -2
  45. package/es/Form/components/FormSubmitFooter.d.mts +2 -2
  46. package/es/FormModal/FormModal.d.mts +2 -2
  47. package/es/Header/Header.d.mts +2 -2
  48. package/es/Highlighter/Highlighter.d.mts +2 -2
  49. package/es/Highlighter/SyntaxHighlighter/index.d.mts +2 -2
  50. package/es/Hotkey/Hotkey.d.mts +2 -2
  51. package/es/HotkeyInput/HotkeyInput.d.mts +2 -2
  52. package/es/Icon/Icon.d.mts +2 -2
  53. package/es/Icon/components/IconProvider.d.mts +3 -3
  54. package/es/Image/PreviewGroup.d.mts +2 -2
  55. package/es/ImageSelect/ImageSelect.d.mts +2 -2
  56. package/es/Input/Input.d.mts +2 -2
  57. package/es/Input/InputNumber.d.mts +2 -2
  58. package/es/Input/InputOPT.d.mts +2 -2
  59. package/es/Input/InputPassword.d.mts +2 -2
  60. package/es/Input/TextArea.d.mts +2 -2
  61. package/es/Layout/components/LayoutFooter.d.mts +2 -2
  62. package/es/Layout/components/LayoutHeader.d.mts +2 -2
  63. package/es/Layout/components/LayoutMain.d.mts +2 -2
  64. package/es/Layout/components/LayoutSidebar.d.mts +2 -2
  65. package/es/Layout/components/LayoutSidebarInner.d.mts +2 -2
  66. package/es/Layout/components/LayoutToc.d.mts +2 -2
  67. package/es/List/ListItem/index.d.mts +2 -2
  68. package/es/Markdown/Markdown.d.mts +2 -2
  69. package/es/Markdown/Typography.d.mts +2 -2
  70. package/es/MaskShadow/MaskShadow.d.mts +2 -2
  71. package/es/Menu/Menu.d.mts +2 -2
  72. package/es/Menu/baseItem.d.mts +15 -0
  73. package/es/Menu/checkboxItem.d.mts +27 -0
  74. package/es/Menu/index.d.mts +3 -1
  75. package/es/Mermaid/Mermaid.d.mts +2 -2
  76. package/es/Mermaid/SyntaxMermaid/index.d.mts +2 -2
  77. package/es/Modal/Modal.d.mts +2 -2
  78. package/es/Modal/ModalProvider.d.mts +2 -2
  79. package/es/Modal/imperative.mjs +8 -2
  80. package/es/Modal/imperative.mjs.map +1 -1
  81. package/es/SearchBar/SearchBar.d.mts +2 -2
  82. package/es/Segmented/Segmented.d.mts +2 -2
  83. package/es/Select/Select.d.mts +2 -2
  84. package/es/SideNav/SideNav.d.mts +2 -2
  85. package/es/SliderWithInput/SliderWithInput.d.mts +2 -2
  86. package/es/SortableList/components/DragHandle.d.mts +2 -2
  87. package/es/SortableList/components/SortableItem.d.mts +2 -2
  88. package/es/ThemeProvider/GlobalStyle/antdOverride.mjs +9 -15
  89. package/es/ThemeProvider/GlobalStyle/antdOverride.mjs.map +1 -1
  90. package/es/ThemeProvider/ThemeProvider.d.mts +2 -2
  91. package/es/ThemeProvider/ThemeProvider.mjs +2 -3
  92. package/es/ThemeProvider/ThemeProvider.mjs.map +1 -1
  93. package/es/Toc/Toc.d.mts +2 -2
  94. package/es/awesome/AuroraBackground/AuroraBackground.d.mts +2 -2
  95. package/es/awesome/BottomGradientButton/BottomGradientButton.d.mts +2 -2
  96. package/es/awesome/GradientButton/GradientButton.d.mts +2 -2
  97. package/es/awesome/GridBackground/GridBackground.d.mts +2 -2
  98. package/es/awesome/GridBackground/GridShowcase.d.mts +2 -2
  99. package/es/awesome/Hero/Hero.d.mts +2 -2
  100. package/es/awesome/Spline/Spine.d.mts +2 -2
  101. package/es/awesome/Spotlight/Spotlight.d.mts +2 -2
  102. package/es/awesome/SpotlightCard/SpotlightCard.d.mts +2 -2
  103. package/es/awesome/TypewriterEffect/TypewriterEffect.d.mts +2 -2
  104. package/es/brand/LobeChat/index.d.mts +2 -2
  105. package/es/brand/LobeHub/index.d.mts +2 -2
  106. package/es/brand/LogoThree/LogoSpline.d.mts +2 -2
  107. package/es/brand/LogoThree/index.d.mts +2 -2
  108. package/es/chat/BackBottom/BackBottom.d.mts +2 -2
  109. package/es/chat/ChatInputArea/components/ChatInputAreaInner.d.mts +2 -2
  110. package/es/chat/ChatItem/ChatItem.d.mts +2 -2
  111. package/es/chat/ChatList/ChatList.d.mts +2 -2
  112. package/es/chat/EditableMessage/EditableMessage.d.mts +2 -2
  113. package/es/chat/EditableMessageList/EditableMessageList.d.mts +2 -2
  114. package/es/chat/MessageInput/MessageInput.d.mts +2 -2
  115. package/es/chat/MessageModal/MessageModal.d.mts +2 -2
  116. package/es/color/ColorScales/index.d.mts +2 -2
  117. package/es/color/CssVar/index.d.mts +2 -2
  118. package/es/i18n/context.d.mts +2 -2
  119. package/es/icons/lucideExtra/BotPromptIcon.d.mts +3 -3
  120. package/es/icons/lucideExtra/CreateBotIcon.d.mts +3 -3
  121. package/es/icons/lucideExtra/DiscordIcon.d.mts +3 -3
  122. package/es/icons/lucideExtra/GlobeOffIcon.d.mts +3 -3
  123. package/es/icons/lucideExtra/GroupBotIcon.d.mts +3 -3
  124. package/es/icons/lucideExtra/GroupBotSquareIcon.d.mts +3 -3
  125. package/es/icons/lucideExtra/LeftClickIcon.d.mts +3 -3
  126. package/es/icons/lucideExtra/LeftDoubleClickIcon.d.mts +2 -2
  127. package/es/icons/lucideExtra/McpIcon.d.mts +3 -3
  128. package/es/icons/lucideExtra/ProviderIcon.d.mts +3 -3
  129. package/es/icons/lucideExtra/RightClickIcon.d.mts +2 -2
  130. package/es/icons/lucideExtra/RightDoubleClickIcon.d.mts +3 -3
  131. package/es/icons/lucideExtra/ShapesUploadIcon.d.mts +2 -2
  132. package/es/icons/lucideExtra/TreeDownRightIcon.d.mts +2 -2
  133. package/es/icons/lucideExtra/TreeUpDownRightIcon.d.mts +3 -3
  134. package/es/index.d.mts +5 -2
  135. package/es/index.mjs +2 -2
  136. package/es/mdx/Mdx/index.d.mts +2 -2
  137. package/es/mobile/ChatHeader/ChatHeaderTitle.d.mts +2 -2
  138. package/es/mobile/ChatInputArea/components/ChatSendButton.d.mts +2 -2
  139. package/es/mobile/TabBar/TabBar.d.mts +2 -2
  140. package/es/storybook/StoryBook/index.d.mts +2 -2
  141. package/es/utils/devSingleton.mjs +61 -0
  142. package/es/utils/devSingleton.mjs.map +1 -0
  143. package/package.json +1 -1
  144. package/es/ThemeProvider/GlobalMouseDirectionContext.mjs +0 -28
  145. package/es/ThemeProvider/GlobalMouseDirectionContext.mjs.map +0 -1
@@ -14,11 +14,17 @@ import { mergeProps } from "@base-ui/react/merge-props";
14
14
  import clsx from "clsx";
15
15
 
16
16
  //#region src/DropdownMenu/DropdownMenu.tsx
17
+ const topCenter = {
18
+ align: "center",
19
+ side: "top"
20
+ };
21
+ const bottomCenter = {
22
+ align: "center",
23
+ side: "bottom"
24
+ };
17
25
  const placementMap = {
18
- bottomCenter: {
19
- align: "center",
20
- side: "bottom"
21
- },
26
+ bottom: bottomCenter,
27
+ bottomCenter,
22
28
  bottomLeft: {
23
29
  align: "start",
24
30
  side: "bottom"
@@ -27,10 +33,8 @@ const placementMap = {
27
33
  align: "end",
28
34
  side: "bottom"
29
35
  },
30
- topCenter: {
31
- align: "center",
32
- side: "top"
33
- },
36
+ top: topCenter,
37
+ topCenter,
34
38
  topLeft: {
35
39
  align: "start",
36
40
  side: "top"
@@ -78,6 +82,12 @@ const DropdownMenu = memo(({ children, defaultOpen, items, onOpenChange, open, p
78
82
  className: clsx(CLASSNAMES.DropdownMenuTrigger, triggerProps?.className),
79
83
  children
80
84
  });
85
+ const resolvedPositionerProps = {
86
+ ...positionerProps,
87
+ align: positionerProps?.align ?? placementConfig?.align ?? "center",
88
+ side: positionerProps?.side ?? placementConfig?.side ?? "bottom",
89
+ sideOffset: positionerProps?.sideOffset ?? 6
90
+ };
81
91
  return /* @__PURE__ */ jsxs(Menu.Root, {
82
92
  ...rest,
83
93
  defaultOpen,
@@ -87,11 +97,8 @@ const DropdownMenu = memo(({ children, defaultOpen, items, onOpenChange, open, p
87
97
  container: portalProps?.container ?? portalContainer,
88
98
  ...portalProps,
89
99
  children: /* @__PURE__ */ jsx(Menu.Positioner, {
90
- ...positionerProps,
91
- align: positionerProps?.align ?? placementConfig.align,
100
+ ...resolvedPositionerProps,
92
101
  className: (state) => cx(styles.positioner, typeof positionerProps?.className === "function" ? positionerProps.className(state) : positionerProps?.className),
93
- side: positionerProps?.side ?? placementConfig.side,
94
- sideOffset: positionerProps?.sideOffset ?? 6,
95
102
  children: /* @__PURE__ */ jsx(Menu.Popup, {
96
103
  ...popupProps,
97
104
  className: (state) => cx(styles.popup, typeof popupProps?.className === "function" ? popupProps.className(state) : popupProps?.className),
@@ -1 +1 @@
1
- {"version":3,"file":"DropdownMenu.mjs","names":["placementMap: Record<\n DropdownMenuPlacement,\n { align: 'start' | 'center' | 'end'; side: 'top' | 'bottom' }\n>","renderer: ComponentRenderFn<HTMLProps<any>, MenuTriggerState>"],"sources":["../../src/DropdownMenu/DropdownMenu.tsx"],"sourcesContent":["'use client';\n\nimport { Menu, type MenuTriggerState } from '@base-ui/react/menu';\nimport { mergeProps } from '@base-ui/react/merge-props';\nimport type { ComponentRenderFn, HTMLProps } from '@base-ui/react/utils/types';\nimport { cx } from 'antd-style';\nimport clsx from 'clsx';\nimport {\n cloneElement,\n isValidElement,\n memo,\n useCallback,\n useEffect,\n useMemo,\n useState,\n} from 'react';\n\nimport { styles } from '@/Menu/sharedStyle';\nimport { LOBE_THEME_APP_ID } from '@/ThemeProvider';\nimport { TOOLTIP_CONTAINER_ATTR } from '@/Tooltip/TooltipPortal';\nimport { useIsClient } from '@/hooks/useIsClient';\nimport { CLASSNAMES } from '@/styles/classNames';\n\nimport { renderDropdownMenuItems } from './renderItems';\nimport type { DropdownMenuPlacement, DropdownMenuProps } from './type';\n\nconst placementMap: Record<\n DropdownMenuPlacement,\n { align: 'start' | 'center' | 'end'; side: 'top' | 'bottom' }\n> = {\n bottomCenter: { align: 'center', side: 'bottom' },\n bottomLeft: { align: 'start', side: 'bottom' },\n bottomRight: { align: 'end', side: 'bottom' },\n topCenter: { align: 'center', side: 'top' },\n topLeft: { align: 'start', side: 'top' },\n topRight: { align: 'end', side: 'top' },\n};\n\nconst DropdownMenu = memo<DropdownMenuProps>(\n ({\n children,\n defaultOpen,\n\n items,\n onOpenChange,\n open,\n placement = 'bottomLeft',\n popupProps,\n portalProps,\n positionerProps,\n triggerProps,\n ...rest\n }) => {\n const isClient = useIsClient();\n const [uncontrolledOpen, setUncontrolledOpen] = useState(Boolean(defaultOpen));\n\n useEffect(() => {\n if (open === undefined) return;\n setUncontrolledOpen(open);\n }, [open]);\n\n const handleOpenChange = useCallback(\n (nextOpen: boolean, details: Parameters<NonNullable<typeof onOpenChange>>[1]) => {\n onOpenChange?.(nextOpen, details);\n if (open === undefined) {\n setUncontrolledOpen(nextOpen);\n }\n },\n [onOpenChange, open],\n );\n\n const shouldRenderItems = open ?? uncontrolledOpen;\n const menuItems = useMemo(() => {\n if (!shouldRenderItems) return null;\n const resolvedItems = typeof items === 'function' ? items() : items;\n return renderDropdownMenuItems(resolvedItems);\n }, [items, shouldRenderItems]);\n const portalContainer = useMemo(() => {\n if (!isClient) return null;\n\n const themeApp = document.querySelector<HTMLElement>(`#${LOBE_THEME_APP_ID}`);\n if (themeApp) return themeApp;\n\n const tooltipContainer = document.querySelector<HTMLElement>(\n `[${TOOLTIP_CONTAINER_ATTR}=\"true\"]`,\n );\n if (tooltipContainer) return tooltipContainer;\n\n return document.body;\n }, [isClient]);\n const placementConfig = placementMap[placement];\n\n const renderer: ComponentRenderFn<HTMLProps<any>, MenuTriggerState> = useCallback(\n (props) => {\n // FIXEE: Omit type: 'button' pass to and button\n // eslint-disable-next-line unused-imports/no-unused-vars, @typescript-eslint/no-unused-vars\n const { type, ...restProps } = props as any;\n return cloneElement(children as any, mergeProps((children as any).props, restProps));\n },\n [children],\n );\n const trigger = isValidElement(children) ? (\n <Menu.Trigger\n {...triggerProps}\n className={clsx(CLASSNAMES.DropdownMenuTrigger, triggerProps?.className)}\n render={renderer}\n />\n ) : (\n <Menu.Trigger\n {...triggerProps}\n className={clsx(CLASSNAMES.DropdownMenuTrigger, triggerProps?.className)}\n >\n {children}\n </Menu.Trigger>\n );\n\n return (\n <Menu.Root {...rest} defaultOpen={defaultOpen} onOpenChange={handleOpenChange} open={open}>\n {trigger}\n <Menu.Portal container={portalProps?.container ?? portalContainer} {...portalProps}>\n <Menu.Positioner\n {...positionerProps}\n align={positionerProps?.align ?? placementConfig.align}\n className={(state) =>\n cx(\n styles.positioner,\n typeof positionerProps?.className === 'function'\n ? positionerProps.className(state)\n : positionerProps?.className,\n )\n }\n side={positionerProps?.side ?? placementConfig.side}\n sideOffset={positionerProps?.sideOffset ?? 6}\n >\n <Menu.Popup\n {...popupProps}\n className={(state) =>\n cx(\n styles.popup,\n typeof popupProps?.className === 'function'\n ? popupProps.className(state)\n : popupProps?.className,\n )\n }\n >\n {menuItems}\n </Menu.Popup>\n </Menu.Positioner>\n </Menu.Portal>\n </Menu.Root>\n );\n },\n);\n\nDropdownMenu.displayName = 'DropdownMenuV2';\n\nexport default DropdownMenu;\n"],"mappings":";;;;;;;;;;;;;;;;AA0BA,MAAMA,eAGF;CACF,cAAc;EAAE,OAAO;EAAU,MAAM;EAAU;CACjD,YAAY;EAAE,OAAO;EAAS,MAAM;EAAU;CAC9C,aAAa;EAAE,OAAO;EAAO,MAAM;EAAU;CAC7C,WAAW;EAAE,OAAO;EAAU,MAAM;EAAO;CAC3C,SAAS;EAAE,OAAO;EAAS,MAAM;EAAO;CACxC,UAAU;EAAE,OAAO;EAAO,MAAM;EAAO;CACxC;AAED,MAAM,eAAe,MAClB,EACC,UACA,aAEA,OACA,cACA,MACA,YAAY,cACZ,YACA,aACA,iBACA,cACA,GAAG,WACC;CACJ,MAAM,WAAW,aAAa;CAC9B,MAAM,CAAC,kBAAkB,uBAAuB,SAAS,QAAQ,YAAY,CAAC;AAE9E,iBAAgB;AACd,MAAI,SAAS,OAAW;AACxB,sBAAoB,KAAK;IACxB,CAAC,KAAK,CAAC;CAEV,MAAM,mBAAmB,aACtB,UAAmB,YAA6D;AAC/E,iBAAe,UAAU,QAAQ;AACjC,MAAI,SAAS,OACX,qBAAoB,SAAS;IAGjC,CAAC,cAAc,KAAK,CACrB;CAED,MAAM,oBAAoB,QAAQ;CAClC,MAAM,YAAY,cAAc;AAC9B,MAAI,CAAC,kBAAmB,QAAO;AAE/B,SAAO,wBADe,OAAO,UAAU,aAAa,OAAO,GAAG,MACjB;IAC5C,CAAC,OAAO,kBAAkB,CAAC;CAC9B,MAAM,kBAAkB,cAAc;AACpC,MAAI,CAAC,SAAU,QAAO;EAEtB,MAAM,WAAW,SAAS,cAA2B,IAAI,oBAAoB;AAC7E,MAAI,SAAU,QAAO;EAErB,MAAM,mBAAmB,SAAS,cAChC,IAAI,uBAAuB,UAC5B;AACD,MAAI,iBAAkB,QAAO;AAE7B,SAAO,SAAS;IACf,CAAC,SAAS,CAAC;CACd,MAAM,kBAAkB,aAAa;CAErC,MAAMC,WAAgE,aACnE,UAAU;EAGT,MAAM,EAAE,MAAM,GAAG,cAAc;AAC/B,SAAO,aAAa,UAAiB,WAAY,SAAiB,OAAO,UAAU,CAAC;IAEtF,CAAC,SAAS,CACX;CACD,MAAM,UAAU,eAAe,SAAS,GACtC,oBAAC,KAAK;EACJ,GAAI;EACJ,WAAW,KAAK,WAAW,qBAAqB,cAAc,UAAU;EACxE,QAAQ;GACR,GAEF,oBAAC,KAAK;EACJ,GAAI;EACJ,WAAW,KAAK,WAAW,qBAAqB,cAAc,UAAU;EAEvE;GACY;AAGjB,QACE,qBAAC,KAAK;EAAK,GAAI;EAAmB;EAAa,cAAc;EAAwB;aAClF,SACD,oBAAC,KAAK;GAAO,WAAW,aAAa,aAAa;GAAiB,GAAI;aACrE,oBAAC,KAAK;IACJ,GAAI;IACJ,OAAO,iBAAiB,SAAS,gBAAgB;IACjD,YAAY,UACV,GACE,OAAO,YACP,OAAO,iBAAiB,cAAc,aAClC,gBAAgB,UAAU,MAAM,GAChC,iBAAiB,UACtB;IAEH,MAAM,iBAAiB,QAAQ,gBAAgB;IAC/C,YAAY,iBAAiB,cAAc;cAE3C,oBAAC,KAAK;KACJ,GAAI;KACJ,YAAY,UACV,GACE,OAAO,OACP,OAAO,YAAY,cAAc,aAC7B,WAAW,UAAU,MAAM,GAC3B,YAAY,UACjB;eAGF;MACU;KACG;IACN;GACJ;EAGjB;AAED,aAAa,cAAc;AAE3B,2BAAe"}
1
+ {"version":3,"file":"DropdownMenu.mjs","names":["topCenter: PlacementConfig","bottomCenter: PlacementConfig","placementMap: Record<DropdownMenuPlacement, PlacementConfig>","renderer: ComponentRenderFn<HTMLProps<any>, MenuTriggerState>"],"sources":["../../src/DropdownMenu/DropdownMenu.tsx"],"sourcesContent":["'use client';\n\nimport { Menu, type MenuTriggerState } from '@base-ui/react/menu';\nimport { mergeProps } from '@base-ui/react/merge-props';\nimport type { ComponentRenderFn, HTMLProps } from '@base-ui/react/utils/types';\nimport type { Align, Side } from '@base-ui/react/utils/useAnchorPositioning';\nimport { cx } from 'antd-style';\nimport clsx from 'clsx';\nimport {\n cloneElement,\n isValidElement,\n memo,\n useCallback,\n useEffect,\n useMemo,\n useState,\n} from 'react';\n\nimport { styles } from '@/Menu/sharedStyle';\nimport { LOBE_THEME_APP_ID } from '@/ThemeProvider';\nimport { TOOLTIP_CONTAINER_ATTR } from '@/Tooltip/TooltipPortal';\nimport { useIsClient } from '@/hooks/useIsClient';\nimport { CLASSNAMES } from '@/styles/classNames';\n\nimport { renderDropdownMenuItems } from './renderItems';\nimport type { DropdownMenuPlacement, DropdownMenuProps } from './type';\n\ntype PlacementConfig = {\n align: Align;\n side: Side;\n};\nconst topCenter: PlacementConfig = { align: 'center', side: 'top' };\nconst bottomCenter: PlacementConfig = { align: 'center', side: 'bottom' };\nconst topLeft: PlacementConfig = { align: 'start', side: 'top' };\nconst bottomLeft: PlacementConfig = { align: 'start', side: 'bottom' };\nconst topRight: PlacementConfig = { align: 'end', side: 'top' };\nconst bottomRight: PlacementConfig = { align: 'end', side: 'bottom' };\nconst placementMap: Record<DropdownMenuPlacement, PlacementConfig> = {\n bottom: bottomCenter,\n bottomCenter,\n bottomLeft,\n bottomRight,\n top: topCenter,\n topCenter,\n topLeft,\n topRight,\n};\n\nconst DropdownMenu = memo<DropdownMenuProps>(\n ({\n children,\n defaultOpen,\n\n items,\n onOpenChange,\n open,\n placement = 'bottomLeft',\n popupProps,\n portalProps,\n positionerProps,\n triggerProps,\n ...rest\n }) => {\n const isClient = useIsClient();\n const [uncontrolledOpen, setUncontrolledOpen] = useState(Boolean(defaultOpen));\n\n useEffect(() => {\n if (open === undefined) return;\n setUncontrolledOpen(open);\n }, [open]);\n\n const handleOpenChange = useCallback(\n (nextOpen: boolean, details: Parameters<NonNullable<typeof onOpenChange>>[1]) => {\n onOpenChange?.(nextOpen, details);\n if (open === undefined) {\n setUncontrolledOpen(nextOpen);\n }\n },\n [onOpenChange, open],\n );\n\n const shouldRenderItems = open ?? uncontrolledOpen;\n const menuItems = useMemo(() => {\n if (!shouldRenderItems) return null;\n const resolvedItems = typeof items === 'function' ? items() : items;\n return renderDropdownMenuItems(resolvedItems);\n }, [items, shouldRenderItems]);\n const portalContainer = useMemo(() => {\n if (!isClient) return null;\n\n const themeApp = document.querySelector<HTMLElement>(`#${LOBE_THEME_APP_ID}`);\n if (themeApp) return themeApp;\n\n const tooltipContainer = document.querySelector<HTMLElement>(\n `[${TOOLTIP_CONTAINER_ATTR}=\"true\"]`,\n );\n if (tooltipContainer) return tooltipContainer;\n\n return document.body;\n }, [isClient]);\n const placementConfig = placementMap[placement];\n\n const renderer: ComponentRenderFn<HTMLProps<any>, MenuTriggerState> = useCallback(\n (props) => {\n // FIXEE: Omit type: 'button' pass to and button\n // eslint-disable-next-line unused-imports/no-unused-vars, @typescript-eslint/no-unused-vars\n const { type, ...restProps } = props as any;\n return cloneElement(children as any, mergeProps((children as any).props, restProps));\n },\n [children],\n );\n const trigger = isValidElement(children) ? (\n <Menu.Trigger\n {...triggerProps}\n className={clsx(CLASSNAMES.DropdownMenuTrigger, triggerProps?.className)}\n render={renderer}\n />\n ) : (\n <Menu.Trigger\n {...triggerProps}\n className={clsx(CLASSNAMES.DropdownMenuTrigger, triggerProps?.className)}\n >\n {children}\n </Menu.Trigger>\n );\n\n const resolvedPositionerProps = {\n ...positionerProps,\n align: positionerProps?.align ?? placementConfig?.align ?? 'center',\n side: positionerProps?.side ?? placementConfig?.side ?? 'bottom',\n sideOffset: positionerProps?.sideOffset ?? 6,\n };\n return (\n <Menu.Root {...rest} defaultOpen={defaultOpen} onOpenChange={handleOpenChange} open={open}>\n {trigger}\n <Menu.Portal container={portalProps?.container ?? portalContainer} {...portalProps}>\n <Menu.Positioner\n {...resolvedPositionerProps}\n className={(state) =>\n cx(\n styles.positioner,\n typeof positionerProps?.className === 'function'\n ? positionerProps.className(state)\n : positionerProps?.className,\n )\n }\n >\n <Menu.Popup\n {...popupProps}\n className={(state) =>\n cx(\n styles.popup,\n typeof popupProps?.className === 'function'\n ? popupProps.className(state)\n : popupProps?.className,\n )\n }\n >\n {menuItems}\n </Menu.Popup>\n </Menu.Positioner>\n </Menu.Portal>\n </Menu.Root>\n );\n },\n);\n\nDropdownMenu.displayName = 'DropdownMenuV2';\n\nexport default DropdownMenu;\n"],"mappings":";;;;;;;;;;;;;;;;AA+BA,MAAMA,YAA6B;CAAE,OAAO;CAAU,MAAM;CAAO;AACnE,MAAMC,eAAgC;CAAE,OAAO;CAAU,MAAM;CAAU;AAKzE,MAAMC,eAA+D;CACnE,QAAQ;CACR;CACA,YANkC;EAAE,OAAO;EAAS,MAAM;EAAU;CAOpE,aALmC;EAAE,OAAO;EAAO,MAAM;EAAU;CAMnE,KAAK;CACL;CACA,SAX+B;EAAE,OAAO;EAAS,MAAM;EAAO;CAY9D,UAVgC;EAAE,OAAO;EAAO,MAAM;EAAO;CAW9D;AAED,MAAM,eAAe,MAClB,EACC,UACA,aAEA,OACA,cACA,MACA,YAAY,cACZ,YACA,aACA,iBACA,cACA,GAAG,WACC;CACJ,MAAM,WAAW,aAAa;CAC9B,MAAM,CAAC,kBAAkB,uBAAuB,SAAS,QAAQ,YAAY,CAAC;AAE9E,iBAAgB;AACd,MAAI,SAAS,OAAW;AACxB,sBAAoB,KAAK;IACxB,CAAC,KAAK,CAAC;CAEV,MAAM,mBAAmB,aACtB,UAAmB,YAA6D;AAC/E,iBAAe,UAAU,QAAQ;AACjC,MAAI,SAAS,OACX,qBAAoB,SAAS;IAGjC,CAAC,cAAc,KAAK,CACrB;CAED,MAAM,oBAAoB,QAAQ;CAClC,MAAM,YAAY,cAAc;AAC9B,MAAI,CAAC,kBAAmB,QAAO;AAE/B,SAAO,wBADe,OAAO,UAAU,aAAa,OAAO,GAAG,MACjB;IAC5C,CAAC,OAAO,kBAAkB,CAAC;CAC9B,MAAM,kBAAkB,cAAc;AACpC,MAAI,CAAC,SAAU,QAAO;EAEtB,MAAM,WAAW,SAAS,cAA2B,IAAI,oBAAoB;AAC7E,MAAI,SAAU,QAAO;EAErB,MAAM,mBAAmB,SAAS,cAChC,IAAI,uBAAuB,UAC5B;AACD,MAAI,iBAAkB,QAAO;AAE7B,SAAO,SAAS;IACf,CAAC,SAAS,CAAC;CACd,MAAM,kBAAkB,aAAa;CAErC,MAAMC,WAAgE,aACnE,UAAU;EAGT,MAAM,EAAE,MAAM,GAAG,cAAc;AAC/B,SAAO,aAAa,UAAiB,WAAY,SAAiB,OAAO,UAAU,CAAC;IAEtF,CAAC,SAAS,CACX;CACD,MAAM,UAAU,eAAe,SAAS,GACtC,oBAAC,KAAK;EACJ,GAAI;EACJ,WAAW,KAAK,WAAW,qBAAqB,cAAc,UAAU;EACxE,QAAQ;GACR,GAEF,oBAAC,KAAK;EACJ,GAAI;EACJ,WAAW,KAAK,WAAW,qBAAqB,cAAc,UAAU;EAEvE;GACY;CAGjB,MAAM,0BAA0B;EAC9B,GAAG;EACH,OAAO,iBAAiB,SAAS,iBAAiB,SAAS;EAC3D,MAAM,iBAAiB,QAAQ,iBAAiB,QAAQ;EACxD,YAAY,iBAAiB,cAAc;EAC5C;AACD,QACE,qBAAC,KAAK;EAAK,GAAI;EAAmB;EAAa,cAAc;EAAwB;aAClF,SACD,oBAAC,KAAK;GAAO,WAAW,aAAa,aAAa;GAAiB,GAAI;aACrE,oBAAC,KAAK;IACJ,GAAI;IACJ,YAAY,UACV,GACE,OAAO,YACP,OAAO,iBAAiB,cAAc,aAClC,gBAAgB,UAAU,MAAM,GAChC,iBAAiB,UACtB;cAGH,oBAAC,KAAK;KACJ,GAAI;KACJ,YAAY,UACV,GACE,OAAO,OACP,OAAO,YAAY,cAAc,aAC7B,WAAW,UAAU,MAAM,GAC3B,YAAY,UACjB;eAGF;MACU;KACG;IACN;GACJ;EAGjB;AAED,aAAa,cAAc;AAE3B,2BAAe"}
@@ -1,27 +1,13 @@
1
- import { IconProps } from "../Icon/type.mjs";
2
- import "../Icon/index.mjs";
3
- import { GenericItemType } from "../Menu/type.mjs";
1
+ import { MenuCheckboxItemType } from "../Menu/checkboxItem.mjs";
2
+ import { BaseMenuItemType } from "../Menu/baseItem.mjs";
4
3
  import "../Menu/index.mjs";
5
- import { Key, ReactNode } from "react";
4
+ import { ReactNode } from "react";
6
5
  import { MenuPopupProps, MenuPortalProps, MenuPositionerProps, MenuRootProps, MenuTriggerProps } from "@base-ui/react/menu";
7
6
 
8
7
  //#region src/DropdownMenu/type.d.ts
9
- type DropdownMenuPlacement = 'bottomLeft' | 'bottomCenter' | 'bottomRight' | 'topLeft' | 'topCenter' | 'topRight';
10
- interface DropdownMenuCheckboxItem {
11
- checked?: boolean;
12
- closeOnClick?: boolean;
13
- danger?: boolean;
14
- defaultChecked?: boolean;
15
- disabled?: boolean;
16
- extra?: ReactNode;
17
- icon?: IconProps['icon'];
18
- key: Key;
19
- label?: ReactNode;
20
- onCheckedChange?: (checked: boolean) => void;
21
- title?: ReactNode;
22
- type: 'checkbox';
23
- }
24
- type DropdownItem = GenericItemType | DropdownMenuCheckboxItem;
8
+ type DropdownMenuPlacement = 'bottomLeft' | 'bottomCenter' | 'bottomRight' | 'topLeft' | 'topCenter' | 'topRight' | 'top' | 'bottom';
9
+ type DropdownMenuCheckboxItem = MenuCheckboxItemType;
10
+ type DropdownItem = BaseMenuItemType;
25
11
  interface DropdownMenuProps<Payload = unknown> extends Omit<MenuRootProps<Payload>, 'children'> {
26
12
  children: ReactNode;
27
13
  items: DropdownItem[] | (() => DropdownItem[]);
@@ -1,8 +1,8 @@
1
1
  import { EditableTextProps } from "./type.mjs";
2
- import * as react1 from "react";
2
+ import * as react7 from "react";
3
3
 
4
4
  //#region src/EditableText/EditableText.d.ts
5
- declare const EditableText: react1.NamedExoticComponent<EditableTextProps>;
5
+ declare const EditableText: react7.NamedExoticComponent<EditableTextProps>;
6
6
  //#endregion
7
7
  export { EditableText };
8
8
  //# sourceMappingURL=EditableText.d.mts.map
@@ -1,8 +1,8 @@
1
1
  import { EmojiPickerProps } from "./type.mjs";
2
- import * as react5 from "react";
2
+ import * as react6 from "react";
3
3
 
4
4
  //#region src/EmojiPicker/EmojiPicker.d.ts
5
- declare const EmojiPicker: react5.NamedExoticComponent<EmojiPickerProps>;
5
+ declare const EmojiPicker: react6.NamedExoticComponent<EmojiPickerProps>;
6
6
  //#endregion
7
7
  export { EmojiPicker };
8
8
  //# sourceMappingURL=EmojiPicker.d.mts.map
@@ -1,8 +1,8 @@
1
1
  import { FlexBasicProps } from "./type.mjs";
2
- import * as react0 from "react";
2
+ import * as react65 from "react";
3
3
 
4
4
  //#region src/Flex/FlexBasic.d.ts
5
- declare const _default: react0.NamedExoticComponent<FlexBasicProps>;
5
+ declare const _default: react65.NamedExoticComponent<FlexBasicProps>;
6
6
  //#endregion
7
7
  export { _default };
8
8
  //# sourceMappingURL=FlexBasic.d.mts.map
@@ -1,10 +1,10 @@
1
- import * as react66 from "react";
1
+ import * as react69 from "react";
2
2
 
3
3
  //#region src/FontLoader/index.d.ts
4
4
  interface FontLoaderProps {
5
5
  url: string;
6
6
  }
7
- declare const FontLoader: react66.NamedExoticComponent<FontLoaderProps>;
7
+ declare const FontLoader: react69.NamedExoticComponent<FontLoaderProps>;
8
8
  //#endregion
9
9
  export { FontLoader, FontLoaderProps };
10
10
  //# sourceMappingURL=index.d.mts.map
@@ -1,8 +1,8 @@
1
1
  import { FooterProps } from "./type.mjs";
2
- import * as react0 from "react";
2
+ import * as react73 from "react";
3
3
 
4
4
  //#region src/Footer/Footer.d.ts
5
- declare const Footer: react0.NamedExoticComponent<FooterProps>;
5
+ declare const Footer: react73.NamedExoticComponent<FooterProps>;
6
6
  //#endregion
7
7
  export { Footer };
8
8
  //# sourceMappingURL=Footer.d.mts.map
@@ -1,8 +1,8 @@
1
1
  import { FormGroupProps } from "../type.mjs";
2
- import * as react64 from "react";
2
+ import * as react62 from "react";
3
3
 
4
4
  //#region src/Form/components/FormGroup.d.ts
5
- declare const FormGroup: react64.NamedExoticComponent<FormGroupProps>;
5
+ declare const FormGroup: react62.NamedExoticComponent<FormGroupProps>;
6
6
  //#endregion
7
7
  export { FormGroup };
8
8
  //# sourceMappingURL=FormGroup.d.mts.map
@@ -1,8 +1,8 @@
1
1
  import { FormItemProps } from "../type.mjs";
2
- import * as react65 from "react";
2
+ import * as react63 from "react";
3
3
 
4
4
  //#region src/Form/components/FormItem.d.ts
5
- declare const FormItem: react65.NamedExoticComponent<FormItemProps>;
5
+ declare const FormItem: react63.NamedExoticComponent<FormItemProps>;
6
6
  //#endregion
7
7
  export { FormItem };
8
8
  //# sourceMappingURL=FormItem.d.mts.map
@@ -1,8 +1,8 @@
1
1
  import { FormSubmitFooterProps } from "../type.mjs";
2
- import * as react63 from "react";
2
+ import * as react64 from "react";
3
3
 
4
4
  //#region src/Form/components/FormSubmitFooter.d.ts
5
- declare const FormSubmitFooter: react63.NamedExoticComponent<FormSubmitFooterProps>;
5
+ declare const FormSubmitFooter: react64.NamedExoticComponent<FormSubmitFooterProps>;
6
6
  //#endregion
7
7
  export { FormSubmitFooter };
8
8
  //# sourceMappingURL=FormSubmitFooter.d.mts.map
@@ -1,8 +1,8 @@
1
1
  import { FormModalProps } from "./type.mjs";
2
- import * as react62 from "react";
2
+ import * as react61 from "react";
3
3
 
4
4
  //#region src/FormModal/FormModal.d.ts
5
- declare const FormModal: react62.NamedExoticComponent<FormModalProps>;
5
+ declare const FormModal: react61.NamedExoticComponent<FormModalProps>;
6
6
  //#endregion
7
7
  export { FormModal };
8
8
  //# sourceMappingURL=FormModal.d.mts.map
@@ -1,8 +1,8 @@
1
1
  import { HeaderProps } from "./type.mjs";
2
- import * as react59 from "react";
2
+ import * as react60 from "react";
3
3
 
4
4
  //#region src/Header/Header.d.ts
5
- declare const Header: react59.NamedExoticComponent<HeaderProps>;
5
+ declare const Header: react60.NamedExoticComponent<HeaderProps>;
6
6
  //#endregion
7
7
  export { Header };
8
8
  //# sourceMappingURL=Header.d.mts.map
@@ -1,8 +1,8 @@
1
1
  import { HighlighterProps } from "./type.mjs";
2
- import * as react60 from "react";
2
+ import * as react10 from "react";
3
3
 
4
4
  //#region src/Highlighter/Highlighter.d.ts
5
- declare const Highlighter: react60.NamedExoticComponent<HighlighterProps>;
5
+ declare const Highlighter: react10.NamedExoticComponent<HighlighterProps>;
6
6
  //#endregion
7
7
  export { Highlighter };
8
8
  //# sourceMappingURL=Highlighter.d.mts.map
@@ -1,8 +1,8 @@
1
1
  import { SyntaxHighlighterProps } from "../type.mjs";
2
- import * as react61 from "react";
2
+ import * as react11 from "react";
3
3
 
4
4
  //#region src/Highlighter/SyntaxHighlighter/index.d.ts
5
- declare const SyntaxHighlighter: react61.NamedExoticComponent<SyntaxHighlighterProps>;
5
+ declare const SyntaxHighlighter: react11.NamedExoticComponent<SyntaxHighlighterProps>;
6
6
  //#endregion
7
7
  export { SyntaxHighlighter };
8
8
  //# sourceMappingURL=index.d.mts.map
@@ -1,8 +1,8 @@
1
1
  import { HotkeyProps } from "./type.mjs";
2
- import * as react58 from "react";
2
+ import * as react29 from "react";
3
3
 
4
4
  //#region src/Hotkey/Hotkey.d.ts
5
- declare const Hotkey: react58.NamedExoticComponent<HotkeyProps>;
5
+ declare const Hotkey: react29.NamedExoticComponent<HotkeyProps>;
6
6
  //#endregion
7
7
  export { Hotkey };
8
8
  //# sourceMappingURL=Hotkey.d.mts.map
@@ -1,8 +1,8 @@
1
1
  import { HotkeyInputProps } from "./type.mjs";
2
- import * as react54 from "react";
2
+ import * as react56 from "react";
3
3
 
4
4
  //#region src/HotkeyInput/HotkeyInput.d.ts
5
- declare const HotkeyInput: react54.NamedExoticComponent<HotkeyInputProps>;
5
+ declare const HotkeyInput: react56.NamedExoticComponent<HotkeyInputProps>;
6
6
  //#endregion
7
7
  export { HotkeyInput };
8
8
  //# sourceMappingURL=HotkeyInput.d.mts.map
@@ -1,8 +1,8 @@
1
1
  import { IconProps } from "./type.mjs";
2
- import * as react57 from "react";
2
+ import * as react59 from "react";
3
3
 
4
4
  //#region src/Icon/Icon.d.ts
5
- declare const Icon: react57.NamedExoticComponent<IconProps>;
5
+ declare const Icon: react59.NamedExoticComponent<IconProps>;
6
6
  //#endregion
7
7
  export { Icon };
8
8
  //# sourceMappingURL=Icon.d.mts.map
@@ -1,11 +1,11 @@
1
1
  import { IconProps } from "../type.mjs";
2
- import * as react55 from "react";
2
+ import * as react57 from "react";
3
3
  import { ReactNode } from "react";
4
4
 
5
5
  //#region src/Icon/components/IconProvider.d.ts
6
6
  type IconContentConfig = Omit<IconProps, 'icon' | 'ref'>;
7
- declare const IconContext: react55.Context<IconContentConfig>;
8
- declare const IconProvider: react55.NamedExoticComponent<{
7
+ declare const IconContext: react57.Context<IconContentConfig>;
8
+ declare const IconProvider: react57.NamedExoticComponent<{
9
9
  children: ReactNode;
10
10
  config?: IconContentConfig;
11
11
  }>;
@@ -1,8 +1,8 @@
1
1
  import { PreviewGroupProps } from "./type.mjs";
2
- import * as react53 from "react";
2
+ import * as react0 from "react";
3
3
 
4
4
  //#region src/Image/PreviewGroup.d.ts
5
- declare const PreviewGroup: react53.NamedExoticComponent<PreviewGroupProps>;
5
+ declare const PreviewGroup: react0.NamedExoticComponent<PreviewGroupProps>;
6
6
  //#endregion
7
7
  export { PreviewGroup };
8
8
  //# sourceMappingURL=PreviewGroup.d.mts.map
@@ -1,8 +1,8 @@
1
1
  import { ImageSelectProps } from "./type.mjs";
2
- import * as react109 from "react";
2
+ import * as react106 from "react";
3
3
 
4
4
  //#region src/ImageSelect/ImageSelect.d.ts
5
- declare const ImageSelect: react109.NamedExoticComponent<ImageSelectProps>;
5
+ declare const ImageSelect: react106.NamedExoticComponent<ImageSelectProps>;
6
6
  //#endregion
7
7
  export { ImageSelect };
8
8
  //# sourceMappingURL=ImageSelect.d.mts.map
@@ -1,8 +1,8 @@
1
1
  import { InputProps } from "./type.mjs";
2
- import * as react136 from "react";
2
+ import * as react134 from "react";
3
3
 
4
4
  //#region src/Input/Input.d.ts
5
- declare const Input: react136.NamedExoticComponent<InputProps>;
5
+ declare const Input: react134.NamedExoticComponent<InputProps>;
6
6
  //#endregion
7
7
  export { Input };
8
8
  //# sourceMappingURL=Input.d.mts.map
@@ -1,8 +1,8 @@
1
1
  import { InputNumberProps } from "./type.mjs";
2
- import * as react138 from "react";
2
+ import * as react135 from "react";
3
3
 
4
4
  //#region src/Input/InputNumber.d.ts
5
- declare const InputNumber: react138.NamedExoticComponent<InputNumberProps>;
5
+ declare const InputNumber: react135.NamedExoticComponent<InputNumberProps>;
6
6
  //#endregion
7
7
  export { InputNumber };
8
8
  //# sourceMappingURL=InputNumber.d.mts.map
@@ -1,8 +1,8 @@
1
1
  import { InputOPTProps } from "./type.mjs";
2
- import * as react135 from "react";
2
+ import * as react136 from "react";
3
3
 
4
4
  //#region src/Input/InputOPT.d.ts
5
- declare const InputOPT: react135.NamedExoticComponent<InputOPTProps>;
5
+ declare const InputOPT: react136.NamedExoticComponent<InputOPTProps>;
6
6
  //#endregion
7
7
  export { InputOPT };
8
8
  //# sourceMappingURL=InputOPT.d.mts.map
@@ -1,8 +1,8 @@
1
1
  import { InputPasswordProps } from "./type.mjs";
2
- import * as react134 from "react";
2
+ import * as react137 from "react";
3
3
 
4
4
  //#region src/Input/InputPassword.d.ts
5
- declare const InputPassword: react134.NamedExoticComponent<InputPasswordProps>;
5
+ declare const InputPassword: react137.NamedExoticComponent<InputPasswordProps>;
6
6
  //#endregion
7
7
  export { InputPassword };
8
8
  //# sourceMappingURL=InputPassword.d.mts.map
@@ -1,8 +1,8 @@
1
1
  import { TextAreaProps } from "./type.mjs";
2
- import * as react137 from "react";
2
+ import * as react138 from "react";
3
3
 
4
4
  //#region src/Input/TextArea.d.ts
5
- declare const TextArea: react137.NamedExoticComponent<TextAreaProps>;
5
+ declare const TextArea: react138.NamedExoticComponent<TextAreaProps>;
6
6
  //#endregion
7
7
  export { TextArea };
8
8
  //# sourceMappingURL=TextArea.d.mts.map
@@ -1,9 +1,9 @@
1
1
  import { DivProps } from "../../types/index.mjs";
2
2
  import "../../index.mjs";
3
- import * as react47 from "react";
3
+ import * as react50 from "react";
4
4
 
5
5
  //#region src/Layout/components/LayoutFooter.d.ts
6
- declare const LayoutFooter: react47.NamedExoticComponent<DivProps>;
6
+ declare const LayoutFooter: react50.NamedExoticComponent<DivProps>;
7
7
  //#endregion
8
8
  export { LayoutFooter };
9
9
  //# sourceMappingURL=LayoutFooter.d.mts.map
@@ -1,8 +1,8 @@
1
1
  import { LayoutHeaderProps } from "../type.mjs";
2
- import * as react48 from "react";
2
+ import * as react51 from "react";
3
3
 
4
4
  //#region src/Layout/components/LayoutHeader.d.ts
5
- declare const LayoutHeader: react48.NamedExoticComponent<LayoutHeaderProps>;
5
+ declare const LayoutHeader: react51.NamedExoticComponent<LayoutHeaderProps>;
6
6
  //#endregion
7
7
  export { LayoutHeader };
8
8
  //# sourceMappingURL=LayoutHeader.d.mts.map
@@ -1,9 +1,9 @@
1
1
  import { DivProps } from "../../types/index.mjs";
2
2
  import "../../index.mjs";
3
- import * as react49 from "react";
3
+ import * as react52 from "react";
4
4
 
5
5
  //#region src/Layout/components/LayoutMain.d.ts
6
- declare const LayoutMain: react49.NamedExoticComponent<DivProps>;
6
+ declare const LayoutMain: react52.NamedExoticComponent<DivProps>;
7
7
  //#endregion
8
8
  export { LayoutMain };
9
9
  //# sourceMappingURL=LayoutMain.d.mts.map
@@ -1,8 +1,8 @@
1
1
  import { LayoutSidebarProps } from "../type.mjs";
2
- import * as react50 from "react";
2
+ import * as react53 from "react";
3
3
 
4
4
  //#region src/Layout/components/LayoutSidebar.d.ts
5
- declare const LayoutSidebar: react50.NamedExoticComponent<LayoutSidebarProps>;
5
+ declare const LayoutSidebar: react53.NamedExoticComponent<LayoutSidebarProps>;
6
6
  //#endregion
7
7
  export { LayoutSidebar };
8
8
  //# sourceMappingURL=LayoutSidebar.d.mts.map
@@ -1,8 +1,8 @@
1
1
  import { LayoutSidebarInnerProps } from "../type.mjs";
2
- import * as react51 from "react";
2
+ import * as react54 from "react";
3
3
 
4
4
  //#region src/Layout/components/LayoutSidebarInner.d.ts
5
- declare const LayoutSidebarInner: react51.NamedExoticComponent<LayoutSidebarInnerProps>;
5
+ declare const LayoutSidebarInner: react54.NamedExoticComponent<LayoutSidebarInnerProps>;
6
6
  //#endregion
7
7
  export { LayoutSidebarInner };
8
8
  //# sourceMappingURL=LayoutSidebarInner.d.mts.map
@@ -1,8 +1,8 @@
1
1
  import { LayoutTocProps } from "../type.mjs";
2
- import * as react52 from "react";
2
+ import * as react55 from "react";
3
3
 
4
4
  //#region src/Layout/components/LayoutToc.d.ts
5
- declare const LayoutToc: react52.NamedExoticComponent<LayoutTocProps>;
5
+ declare const LayoutToc: react55.NamedExoticComponent<LayoutTocProps>;
6
6
  //#endregion
7
7
  export { LayoutToc };
8
8
  //# sourceMappingURL=LayoutToc.d.mts.map
@@ -1,8 +1,8 @@
1
1
  import { ListItemProps } from "../type.mjs";
2
- import * as react46 from "react";
2
+ import * as react49 from "react";
3
3
 
4
4
  //#region src/List/ListItem/index.d.ts
5
- declare const ListItem: react46.NamedExoticComponent<ListItemProps>;
5
+ declare const ListItem: react49.NamedExoticComponent<ListItemProps>;
6
6
  //#endregion
7
7
  export { ListItem };
8
8
  //# sourceMappingURL=index.d.mts.map
@@ -1,8 +1,8 @@
1
1
  import { MarkdownProps } from "./type.mjs";
2
- import * as react44 from "react";
2
+ import * as react48 from "react";
3
3
 
4
4
  //#region src/Markdown/Markdown.d.ts
5
- declare const Markdown: react44.NamedExoticComponent<MarkdownProps>;
5
+ declare const Markdown: react48.NamedExoticComponent<MarkdownProps>;
6
6
  //#endregion
7
7
  export { Markdown };
8
8
  //# sourceMappingURL=Markdown.d.mts.map
@@ -1,8 +1,8 @@
1
1
  import { TypographyProps } from "./type.mjs";
2
- import * as react43 from "react";
2
+ import * as react47 from "react";
3
3
 
4
4
  //#region src/Markdown/Typography.d.ts
5
- declare const Typography: react43.NamedExoticComponent<TypographyProps>;
5
+ declare const Typography: react47.NamedExoticComponent<TypographyProps>;
6
6
  //#endregion
7
7
  export { Typography };
8
8
  //# sourceMappingURL=Typography.d.mts.map
@@ -1,8 +1,8 @@
1
1
  import { MaskShadowProps } from "./type.mjs";
2
- import * as react45 from "react";
2
+ import * as react46 from "react";
3
3
 
4
4
  //#region src/MaskShadow/MaskShadow.d.ts
5
- declare const MaskShadow: react45.NamedExoticComponent<MaskShadowProps>;
5
+ declare const MaskShadow: react46.NamedExoticComponent<MaskShadowProps>;
6
6
  //#endregion
7
7
  export { MaskShadow };
8
8
  //# sourceMappingURL=MaskShadow.d.mts.map
@@ -1,8 +1,8 @@
1
1
  import { MenuProps } from "./type.mjs";
2
- import * as react42 from "react";
2
+ import * as react45 from "react";
3
3
 
4
4
  //#region src/Menu/Menu.d.ts
5
- declare const Menu: react42.NamedExoticComponent<MenuProps<unknown>>;
5
+ declare const Menu: react45.NamedExoticComponent<MenuProps<unknown>>;
6
6
  //#endregion
7
7
  export { Menu };
8
8
  //# sourceMappingURL=Menu.d.mts.map
@@ -0,0 +1,15 @@
1
+ import { MenuCheckboxItemType } from "./checkboxItem.mjs";
2
+ import { GenericItemType } from "./type.mjs";
3
+
4
+ //#region src/Menu/baseItem.d.ts
5
+
6
+ /**
7
+ * Base item union for Base UI driven menus (DropdownMenu / ContextMenu).
8
+ *
9
+ * Note: This intentionally does NOT change `GenericItemType` itself,
10
+ * because `GenericItemType` maps to rc-menu/antd Menu item types.
11
+ */
12
+ type BaseMenuItemType<T = unknown> = GenericItemType<T> | MenuCheckboxItemType;
13
+ //#endregion
14
+ export { BaseMenuItemType };
15
+ //# sourceMappingURL=baseItem.d.mts.map
@@ -0,0 +1,27 @@
1
+ import { IconProps } from "../Icon/type.mjs";
2
+ import "../Icon/index.mjs";
3
+ import { Key, ReactNode } from "react";
4
+
5
+ //#region src/Menu/checkboxItem.d.ts
6
+
7
+ /**
8
+ * Checkbox menu item shared by DropdownMenu / ContextMenu.
9
+ * This is intentionally aligned with Base UI's `Menu.CheckboxItem` API we use.
10
+ */
11
+ interface MenuCheckboxItemType {
12
+ checked?: boolean;
13
+ closeOnClick?: boolean;
14
+ danger?: boolean;
15
+ defaultChecked?: boolean;
16
+ disabled?: boolean;
17
+ extra?: ReactNode;
18
+ icon?: IconProps['icon'];
19
+ key: Key;
20
+ label?: ReactNode;
21
+ onCheckedChange?: (checked: boolean) => void;
22
+ title?: ReactNode;
23
+ type: 'checkbox';
24
+ }
25
+ //#endregion
26
+ export { MenuCheckboxItemType };
27
+ //# sourceMappingURL=checkboxItem.d.mts.map
@@ -1,4 +1,6 @@
1
+ import { MenuCheckboxItemType } from "./checkboxItem.mjs";
1
2
  import { GenericItemType, ItemType, MenuDividerType, MenuInfo, MenuItemGroupType, MenuItemType, MenuProps, SubMenuType } from "./type.mjs";
3
+ import { BaseMenuItemType } from "./baseItem.mjs";
2
4
  import { Menu } from "./Menu.mjs";
3
5
  import { mapItems } from "./utils.mjs";
4
- export { GenericItemType, ItemType, MenuDividerType, MenuInfo, MenuItemGroupType, MenuItemType, MenuProps, SubMenuType, Menu as default, mapItems };
6
+ export { type BaseMenuItemType, GenericItemType, ItemType, type MenuCheckboxItemType, MenuDividerType, MenuInfo, MenuItemGroupType, MenuItemType, MenuProps, SubMenuType, Menu as default, mapItems };
@@ -1,8 +1,8 @@
1
1
  import { MermaidProps } from "./type.mjs";
2
- import * as react35 from "react";
2
+ import * as react40 from "react";
3
3
 
4
4
  //#region src/Mermaid/Mermaid.d.ts
5
- declare const Mermaid: react35.NamedExoticComponent<MermaidProps>;
5
+ declare const Mermaid: react40.NamedExoticComponent<MermaidProps>;
6
6
  //#endregion
7
7
  export { Mermaid };
8
8
  //# sourceMappingURL=Mermaid.d.mts.map