@lobehub/ui 4.17.1 → 4.18.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 (170) 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/CodeDiff/CodeDiff.d.mts +8 -0
  9. package/es/CodeDiff/CodeDiff.mjs +122 -0
  10. package/es/CodeDiff/CodeDiff.mjs.map +1 -0
  11. package/es/CodeDiff/PatchDiff.d.mts +8 -0
  12. package/es/CodeDiff/PatchDiff.mjs +101 -0
  13. package/es/CodeDiff/PatchDiff.mjs.map +1 -0
  14. package/es/CodeDiff/index.d.mts +4 -0
  15. package/es/CodeDiff/index.d.ts +1 -0
  16. package/es/CodeDiff/index.js +1 -0
  17. package/es/CodeDiff/index.mjs +4 -0
  18. package/es/CodeDiff/style.mjs +122 -0
  19. package/es/CodeDiff/style.mjs.map +1 -0
  20. package/es/CodeDiff/type.d.mts +123 -0
  21. package/es/CodeEditor/CodeEditor.d.mts +2 -2
  22. package/es/Collapse/Collapse.d.mts +2 -2
  23. package/es/ConfigProvider/index.d.mts +2 -2
  24. package/es/ContextMenu/ContextMenuHost.d.mts +3 -3
  25. package/es/DatePicker/DatePicker.d.mts +2 -2
  26. package/es/DraggablePanel/components/DraggablePanelBody.d.mts +2 -2
  27. package/es/DraggablePanel/components/DraggablePanelContainer.d.mts +2 -2
  28. package/es/DraggablePanel/components/DraggablePanelFooter.d.mts +2 -2
  29. package/es/DraggablePanel/components/DraggablePanelHeader.d.mts +2 -2
  30. package/es/DraggableSideNav/DraggableSideNav.d.mts +2 -2
  31. package/es/Drawer/Drawer.d.mts +2 -2
  32. package/es/Dropdown/Dropdown.d.mts +2 -2
  33. package/es/DropdownMenu/DropdownMenu.d.mts +2 -2
  34. package/es/DropdownMenu/DropdownMenu.mjs +13 -42
  35. package/es/DropdownMenu/DropdownMenu.mjs.map +1 -1
  36. package/es/DropdownMenu/atoms.d.mts +145 -0
  37. package/es/DropdownMenu/atoms.mjs +163 -0
  38. package/es/DropdownMenu/atoms.mjs.map +1 -0
  39. package/es/DropdownMenu/index.d.mts +3 -1
  40. package/es/DropdownMenu/index.mjs +3 -1
  41. package/es/DropdownMenu/renderItems.d.mts +10 -0
  42. package/es/DropdownMenu/renderItems.mjs +22 -47
  43. package/es/DropdownMenu/renderItems.mjs.map +1 -1
  44. package/es/EditableText/EditableText.d.mts +2 -2
  45. package/es/EmojiPicker/EmojiPicker.d.mts +2 -2
  46. package/es/Flex/FlexBasic.d.mts +2 -2
  47. package/es/FontLoader/index.d.mts +2 -2
  48. package/es/Footer/Footer.d.mts +2 -2
  49. package/es/Form/components/FormGroup.d.mts +2 -2
  50. package/es/Form/components/FormItem.d.mts +2 -2
  51. package/es/Form/components/FormSubmitFooter.d.mts +2 -2
  52. package/es/FormModal/FormModal.d.mts +2 -2
  53. package/es/GuideCard/GuideCard.d.mts +2 -2
  54. package/es/Header/Header.d.mts +2 -2
  55. package/es/Highlighter/FullFeatured.mjs +1 -1
  56. package/es/Highlighter/Highlighter.d.mts +2 -2
  57. package/es/Highlighter/SyntaxHighlighter/index.d.mts +2 -2
  58. package/es/Hotkey/Hotkey.d.mts +2 -2
  59. package/es/HotkeyInput/HotkeyInput.d.mts +2 -2
  60. package/es/Icon/Icon.d.mts +2 -2
  61. package/es/Icon/components/IconProvider.d.mts +3 -3
  62. package/es/Image/PreviewGroup.d.mts +2 -2
  63. package/es/ImageSelect/ImageSelect.d.mts +2 -2
  64. package/es/Input/Input.d.mts +2 -2
  65. package/es/Input/InputNumber.d.mts +2 -2
  66. package/es/Input/InputOPT.d.mts +2 -2
  67. package/es/Input/InputPassword.d.mts +2 -2
  68. package/es/Input/TextArea.d.mts +2 -2
  69. package/es/Layout/components/LayoutFooter.d.mts +2 -2
  70. package/es/Layout/components/LayoutHeader.d.mts +2 -2
  71. package/es/Layout/components/LayoutMain.d.mts +2 -2
  72. package/es/Layout/components/LayoutSidebar.d.mts +2 -2
  73. package/es/Layout/components/LayoutSidebarInner.d.mts +2 -2
  74. package/es/Layout/components/LayoutToc.d.mts +2 -2
  75. package/es/List/ListItem/index.d.mts +2 -2
  76. package/es/Markdown/Markdown.d.mts +2 -2
  77. package/es/Markdown/Typography.d.mts +2 -2
  78. package/es/Markdown/components/SearchResultCards/index.d.mts +2 -2
  79. package/es/Markdown/type.d.mts +1 -2
  80. package/es/MaskShadow/MaskShadow.d.mts +2 -2
  81. package/es/Menu/Menu.d.mts +2 -2
  82. package/es/Menu/sharedStyle.mjs +1 -1
  83. package/es/Menu/sharedStyle.mjs.map +1 -1
  84. package/es/Mermaid/FullFeatured.mjs +1 -1
  85. package/es/Mermaid/Mermaid.d.mts +2 -2
  86. package/es/Mermaid/SyntaxMermaid/index.d.mts +2 -2
  87. package/es/Mermaid/type.d.mts +1 -1
  88. package/es/Modal/Modal.d.mts +2 -2
  89. package/es/Modal/ModalProvider.d.mts +2 -2
  90. package/es/Modal/imperative.d.mts +2 -2
  91. package/es/MotionProvider/index.d.mts +2 -2
  92. package/es/Popover/ArrowIcon.d.mts +7 -0
  93. package/es/Popover/PopoverGroup.mjs +14 -15
  94. package/es/Popover/PopoverGroup.mjs.map +1 -1
  95. package/es/Popover/PopoverPortal.d.mts +6 -0
  96. package/es/Popover/PopoverPortal.mjs +1 -1
  97. package/es/Popover/PopoverStandalone.mjs +20 -49
  98. package/es/Popover/PopoverStandalone.mjs.map +1 -1
  99. package/es/Popover/atoms.d.mts +77 -0
  100. package/es/Popover/atoms.mjs +104 -0
  101. package/es/Popover/atoms.mjs.map +1 -0
  102. package/es/Popover/context.d.mts +2 -2
  103. package/es/Popover/groupContext.d.mts +1 -0
  104. package/es/Popover/groupContext.mjs.map +1 -1
  105. package/es/Popover/index.d.mts +5 -2
  106. package/es/Popover/index.mjs +4 -1
  107. package/es/SearchBar/SearchBar.d.mts +2 -2
  108. package/es/Segmented/Segmented.d.mts +2 -2
  109. package/es/Select/Select.d.mts +2 -2
  110. package/es/SideNav/SideNav.d.mts +2 -2
  111. package/es/SliderWithInput/SliderWithInput.d.mts +2 -2
  112. package/es/SortableList/components/DragHandle.d.mts +2 -2
  113. package/es/SortableList/components/SortableItem.d.mts +2 -2
  114. package/es/ThemeProvider/ThemeProvider.d.mts +2 -2
  115. package/es/Toc/Toc.d.mts +2 -2
  116. package/es/Tooltip/groupContext.mjs.map +1 -1
  117. package/es/Video/index.d.mts +2 -2
  118. package/es/awesome/AuroraBackground/AuroraBackground.d.mts +2 -2
  119. package/es/awesome/Features/Features.d.mts +2 -2
  120. package/es/awesome/Giscus/Giscus.d.mts +2 -2
  121. package/es/awesome/Giscus/type.d.mts +4 -4
  122. package/es/awesome/GradientButton/GradientButton.d.mts +2 -2
  123. package/es/awesome/GridBackground/GridBackground.d.mts +2 -2
  124. package/es/awesome/GridBackground/GridShowcase.d.mts +2 -2
  125. package/es/awesome/Hero/Hero.d.mts +2 -2
  126. package/es/awesome/Spline/Spine.d.mts +2 -2
  127. package/es/awesome/Spotlight/Spotlight.d.mts +2 -2
  128. package/es/awesome/TypewriterEffect/TypewriterEffect.d.mts +2 -2
  129. package/es/brand/LobeChat/index.d.mts +2 -2
  130. package/es/brand/LobeHub/index.d.mts +2 -2
  131. package/es/brand/LogoThree/LogoSpline.d.mts +2 -2
  132. package/es/brand/LogoThree/index.d.mts +2 -2
  133. package/es/chat/BackBottom/BackBottom.d.mts +2 -2
  134. package/es/chat/ChatInputArea/components/ChatInputAreaInner.d.mts +2 -2
  135. package/es/chat/ChatItem/ChatItem.d.mts +2 -2
  136. package/es/chat/ChatList/ChatList.d.mts +2 -2
  137. package/es/chat/EditableMessage/EditableMessage.d.mts +2 -2
  138. package/es/chat/EditableMessageList/EditableMessageList.d.mts +2 -2
  139. package/es/chat/MessageInput/MessageInput.d.mts +2 -2
  140. package/es/chat/MessageModal/MessageModal.d.mts +2 -2
  141. package/es/color/ColorScales/index.d.mts +2 -2
  142. package/es/color/CssVar/index.d.mts +2 -2
  143. package/es/hooks/useMermaid.mjs.map +1 -1
  144. package/es/hooks/useStreamMermaid.mjs.map +1 -1
  145. package/es/i18n/context.d.mts +2 -2
  146. package/es/icons/lucideExtra/BotPromptIcon.d.mts +2 -2
  147. package/es/icons/lucideExtra/CreateBotIcon.d.mts +2 -2
  148. package/es/icons/lucideExtra/DiscordIcon.d.mts +2 -2
  149. package/es/icons/lucideExtra/GlobeOffIcon.d.mts +3 -3
  150. package/es/icons/lucideExtra/GroupBotIcon.d.mts +3 -3
  151. package/es/icons/lucideExtra/GroupBotSquareIcon.d.mts +3 -3
  152. package/es/icons/lucideExtra/LeftClickIcon.d.mts +3 -3
  153. package/es/icons/lucideExtra/LeftDoubleClickIcon.d.mts +3 -3
  154. package/es/icons/lucideExtra/McpIcon.d.mts +3 -3
  155. package/es/icons/lucideExtra/ProviderIcon.d.mts +3 -3
  156. package/es/icons/lucideExtra/RightClickIcon.d.mts +3 -3
  157. package/es/icons/lucideExtra/RightDoubleClickIcon.d.mts +3 -3
  158. package/es/icons/lucideExtra/ShapesUploadIcon.d.mts +3 -3
  159. package/es/icons/lucideExtra/TreeDownRightIcon.d.mts +3 -3
  160. package/es/icons/lucideExtra/TreeUpDownRightIcon.d.mts +3 -3
  161. package/es/index.d.mts +11 -2
  162. package/es/index.mjs +10 -3
  163. package/es/mdx/Mdx/index.d.mts +2 -2
  164. package/es/mobile/ChatHeader/ChatHeaderTitle.d.mts +2 -2
  165. package/es/mobile/ChatInputArea/components/ChatSendButton.d.mts +2 -2
  166. package/es/mobile/TabBar/TabBar.d.mts +2 -2
  167. package/es/storybook/StoryBook/index.d.mts +2 -2
  168. package/es/utils/placement.d.mts +7 -1
  169. package/es/utils/placement.mjs.map +1 -1
  170. package/package.json +2 -1
@@ -1,6 +1,6 @@
1
1
  import { FlexboxProps } from "../../../Flex/type.mjs";
2
2
  import "../../../Flex/index.mjs";
3
- import * as react52 from "react";
3
+ import * as react77 from "react";
4
4
  import { Ref } from "react";
5
5
 
6
6
  //#region src/Markdown/components/SearchResultCards/index.d.ts
@@ -14,7 +14,7 @@ interface SearchResultCardsProps extends FlexboxProps {
14
14
  dataSource: string[] | SearchResultItem[];
15
15
  ref?: Ref<HTMLDivElement>;
16
16
  }
17
- declare const SearchResultCards: react52.NamedExoticComponent<SearchResultCardsProps>;
17
+ declare const SearchResultCards: react77.NamedExoticComponent<SearchResultCardsProps>;
18
18
  //#endregion
19
19
  export { SearchResultCards, SearchResultCardsProps };
20
20
  //# sourceMappingURL=index.d.mts.map
@@ -10,8 +10,7 @@ import { VideoProps } from "../mdx/mdxComponents/Video.mjs";
10
10
  import "../mdx/index.mjs";
11
11
  import { CSSProperties, ElementType, FC, ReactNode, Ref } from "react";
12
12
  import { AnchorProps } from "antd";
13
- import { Options } from "react-markdown";
14
- import { Components } from "react-markdown/lib";
13
+ import { Components, Options } from "react-markdown";
15
14
  import { Pluggable } from "unified";
16
15
 
17
16
  //#region src/Markdown/type.d.ts
@@ -1,8 +1,8 @@
1
1
  import { MaskShadowProps } from "./type.mjs";
2
- import * as react66 from "react";
2
+ import * as react11 from "react";
3
3
 
4
4
  //#region src/MaskShadow/MaskShadow.d.ts
5
- declare const MaskShadow: react66.NamedExoticComponent<MaskShadowProps>;
5
+ declare const MaskShadow: react11.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 react0 from "react";
2
+ import * as react18 from "react";
3
3
 
4
4
  //#region src/Menu/Menu.d.ts
5
- declare const Menu: react0.NamedExoticComponent<MenuProps<unknown>>;
5
+ declare const Menu: react18.NamedExoticComponent<MenuProps<unknown>>;
6
6
  //#endregion
7
7
  export { Menu };
8
8
  //# sourceMappingURL=Menu.d.mts.map
@@ -56,7 +56,7 @@ const styles = createStaticStyles(({ css: css$1, cssVar: cssVar$1 }) => ({
56
56
  min-height: 36px;
57
57
  padding-block: 8px;
58
58
  padding-inline: 12px;
59
- border-radius: ${cssVar$1.borderRadius};
59
+ border-radius: ${cssVar$1.borderRadiusSM};
60
60
 
61
61
  font-size: 14px;
62
62
  line-height: 20px;
@@ -1 +1 @@
1
- {"version":3,"file":"sharedStyle.mjs","names":["cssVar"],"sources":["../../src/Menu/sharedStyle.ts"],"sourcesContent":["import { createStaticStyles } from 'antd-style';\n\nexport const styles = createStaticStyles(({ css, cssVar }) => ({\n danger: css`\n color: ${cssVar.colorError} !important;\n\n &:hover {\n background: ${cssVar.colorErrorBg} !important;\n }\n `,\n\n empty: css`\n cursor: default;\n font-style: italic;\n color: ${cssVar.colorTextTertiary};\n `,\n\n extra: css`\n margin-inline-start: auto;\n padding-inline-start: 16px;\n font-size: 12px;\n color: ${cssVar.colorTextTertiary};\n `,\n\n groupLabel: css`\n user-select: none;\n\n padding-block: 8px 4px;\n padding-inline: 12px;\n\n font-size: 12px;\n font-weight: 500;\n line-height: 16px;\n color: ${cssVar.colorTextTertiary};\n text-transform: uppercase;\n `,\n\n icon: css`\n display: flex;\n flex-shrink: 0;\n align-items: center;\n justify-content: center;\n\n width: 16px;\n height: 16px;\n margin-inline-end: 8px;\n `,\n\n item: css`\n cursor: pointer;\n user-select: none;\n\n position: relative;\n\n overflow: hidden;\n display: flex;\n align-items: center;\n\n width: 100%;\n min-height: 36px;\n padding-block: 8px;\n padding-inline: 12px;\n border-radius: ${cssVar.borderRadius};\n\n font-size: 14px;\n line-height: 20px;\n color: ${cssVar.colorText};\n\n outline: none;\n\n transition: all 150ms ${cssVar.motionEaseOut};\n\n &:hover {\n background: ${cssVar.colorFillTertiary};\n }\n\n &:active {\n background: ${cssVar.colorFillSecondary};\n }\n\n &[data-disabled] {\n cursor: not-allowed;\n color: ${cssVar.colorTextDisabled};\n opacity: 0.5;\n\n &:hover {\n background: transparent;\n }\n }\n\n &[data-highlighted]:not([data-disabled]) {\n background: ${cssVar.colorFillTertiary};\n }\n\n &[data-state='open']:not([data-disabled]),\n &[data-open]:not([data-disabled]),\n &[aria-expanded='true']:not([data-disabled]) {\n background: ${cssVar.colorFillTertiary};\n }\n `,\n\n itemContent: css`\n display: flex;\n flex: 1;\n gap: 0;\n align-items: center;\n `,\n\n label: css`\n overflow: hidden;\n flex: 1;\n text-overflow: ellipsis;\n white-space: nowrap;\n\n & a,\n & a:visited,\n & a:hover,\n & a:active {\n color: inherit;\n }\n `,\n\n popup: css`\n min-width: 120px;\n padding: 4px;\n border-radius: ${cssVar.borderRadius};\n\n background: ${cssVar.colorBgElevated};\n outline: none;\n box-shadow:\n 0 0 15px 0 #00000008,\n 0 2px 30px 0 #00000014,\n 0 0 0 1px ${cssVar.colorBorder} inset;\n `,\n positioner: css`\n z-index: 1100;\n\n &[data-hover-trigger] {\n --lobe-dropdown-animation-duration: 140ms;\n --lobe-dropdown-animation-translate: 6px;\n --lobe-dropdown-animation-scale: 0.98;\n --lobe-dropdown-animation-ease-in: ease-in;\n --lobe-dropdown-animation-ease-out: ${cssVar.motionEaseOut};\n --lobe-dropdown-translate-x: 0;\n --lobe-dropdown-translate-y: calc(var(--lobe-dropdown-animation-translate) * -1);\n\n & > * {\n will-change: opacity, transform;\n animation: none;\n }\n\n &[data-open] > * {\n transform: translate3d(0, 0, 0) scale(1);\n opacity: 1;\n transition:\n opacity var(--lobe-dropdown-animation-duration) var(--lobe-dropdown-animation-ease-out),\n transform var(--lobe-dropdown-animation-duration) var(--lobe-dropdown-animation-ease-out);\n }\n\n &[data-open] > *[data-starting-style] {\n transform: translate3d(\n var(--lobe-dropdown-translate-x),\n var(--lobe-dropdown-translate-y),\n 0\n )\n scale(var(--lobe-dropdown-animation-scale));\n opacity: 0;\n }\n\n &[data-closed] > * {\n transform: translate3d(\n var(--lobe-dropdown-translate-x),\n var(--lobe-dropdown-translate-y),\n 0\n )\n scale(var(--lobe-dropdown-animation-scale));\n opacity: 0;\n transition:\n opacity var(--lobe-dropdown-animation-duration) var(--lobe-dropdown-animation-ease-in),\n transform var(--lobe-dropdown-animation-duration) var(--lobe-dropdown-animation-ease-in);\n }\n\n &[data-placement='top'],\n &[data-placement='topCenter'],\n &[data-placement='topLeft'],\n &[data-placement='topRight'] {\n --lobe-dropdown-translate-y: var(--lobe-dropdown-animation-translate);\n }\n\n &[data-placement='bottom'],\n &[data-placement='bottomCenter'],\n &[data-placement='bottomLeft'],\n &[data-placement='bottomRight'] {\n --lobe-dropdown-translate-y: calc(var(--lobe-dropdown-animation-translate) * -1);\n }\n }\n `,\n\n separator: css`\n height: 1px;\n margin-block: 4px;\n margin-inline: 0;\n background: ${cssVar.colorBorder};\n `,\n\n submenuArrow: css`\n display: flex;\n flex-shrink: 0;\n align-items: center;\n justify-content: center;\n\n width: 20px;\n height: 20px;\n margin-inline-start: auto;\n padding-inline-start: 8px;\n `,\n}));\n"],"mappings":";;;AAEA,MAAa,SAAS,oBAAoB,EAAE,YAAK,wBAAc;CAC7D,QAAQ,KAAG;aACAA,SAAO,WAAW;;;oBAGXA,SAAO,aAAa;;;CAItC,OAAO,KAAG;;;aAGCA,SAAO,kBAAkB;;CAGpC,OAAO,KAAG;;;;aAICA,SAAO,kBAAkB;;CAGpC,YAAY,KAAG;;;;;;;;;aASJA,SAAO,kBAAkB;;;CAIpC,MAAM,KAAG;;;;;;;;;;CAWT,MAAM,KAAG;;;;;;;;;;;;;;qBAcUA,SAAO,aAAa;;;;aAI5BA,SAAO,UAAU;;;;4BAIFA,SAAO,cAAc;;;oBAG7BA,SAAO,kBAAkB;;;;oBAIzBA,SAAO,mBAAmB;;;;;eAK/BA,SAAO,kBAAkB;;;;;;;;;oBASpBA,SAAO,kBAAkB;;;;;;oBAMzBA,SAAO,kBAAkB;;;CAI3C,aAAa,KAAG;;;;;;CAOhB,OAAO,KAAG;;;;;;;;;;;;;CAcV,OAAO,KAAG;;;qBAGSA,SAAO,aAAa;;kBAEvBA,SAAO,gBAAgB;;;;;kBAKvBA,SAAO,YAAY;;CAEnC,YAAY,KAAG;;;;;;;;4CAQ2BA,SAAO,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwD/D,WAAW,KAAG;;;;kBAIEA,SAAO,YAAY;;CAGnC,cAAc,KAAG;;;;;;;;;;;CAWlB,EAAE"}
1
+ {"version":3,"file":"sharedStyle.mjs","names":["cssVar"],"sources":["../../src/Menu/sharedStyle.ts"],"sourcesContent":["import { createStaticStyles } from 'antd-style';\n\nexport const styles = createStaticStyles(({ css, cssVar }) => ({\n danger: css`\n color: ${cssVar.colorError} !important;\n\n &:hover {\n background: ${cssVar.colorErrorBg} !important;\n }\n `,\n\n empty: css`\n cursor: default;\n font-style: italic;\n color: ${cssVar.colorTextTertiary};\n `,\n\n extra: css`\n margin-inline-start: auto;\n padding-inline-start: 16px;\n font-size: 12px;\n color: ${cssVar.colorTextTertiary};\n `,\n\n groupLabel: css`\n user-select: none;\n\n padding-block: 8px 4px;\n padding-inline: 12px;\n\n font-size: 12px;\n font-weight: 500;\n line-height: 16px;\n color: ${cssVar.colorTextTertiary};\n text-transform: uppercase;\n `,\n\n icon: css`\n display: flex;\n flex-shrink: 0;\n align-items: center;\n justify-content: center;\n\n width: 16px;\n height: 16px;\n margin-inline-end: 8px;\n `,\n\n item: css`\n cursor: pointer;\n user-select: none;\n\n position: relative;\n\n overflow: hidden;\n display: flex;\n align-items: center;\n\n width: 100%;\n min-height: 36px;\n padding-block: 8px;\n padding-inline: 12px;\n border-radius: ${cssVar.borderRadiusSM};\n\n font-size: 14px;\n line-height: 20px;\n color: ${cssVar.colorText};\n\n outline: none;\n\n transition: all 150ms ${cssVar.motionEaseOut};\n\n &:hover {\n background: ${cssVar.colorFillTertiary};\n }\n\n &:active {\n background: ${cssVar.colorFillSecondary};\n }\n\n &[data-disabled] {\n cursor: not-allowed;\n color: ${cssVar.colorTextDisabled};\n opacity: 0.5;\n\n &:hover {\n background: transparent;\n }\n }\n\n &[data-highlighted]:not([data-disabled]) {\n background: ${cssVar.colorFillTertiary};\n }\n\n &[data-state='open']:not([data-disabled]),\n &[data-open]:not([data-disabled]),\n &[aria-expanded='true']:not([data-disabled]) {\n background: ${cssVar.colorFillTertiary};\n }\n `,\n\n itemContent: css`\n display: flex;\n flex: 1;\n gap: 0;\n align-items: center;\n `,\n\n label: css`\n overflow: hidden;\n flex: 1;\n text-overflow: ellipsis;\n white-space: nowrap;\n\n & a,\n & a:visited,\n & a:hover,\n & a:active {\n color: inherit;\n }\n `,\n\n popup: css`\n min-width: 120px;\n padding: 4px;\n border-radius: ${cssVar.borderRadius};\n\n background: ${cssVar.colorBgElevated};\n outline: none;\n box-shadow:\n 0 0 15px 0 #00000008,\n 0 2px 30px 0 #00000014,\n 0 0 0 1px ${cssVar.colorBorder} inset;\n `,\n positioner: css`\n z-index: 1100;\n\n &[data-hover-trigger] {\n --lobe-dropdown-animation-duration: 140ms;\n --lobe-dropdown-animation-translate: 6px;\n --lobe-dropdown-animation-scale: 0.98;\n --lobe-dropdown-animation-ease-in: ease-in;\n --lobe-dropdown-animation-ease-out: ${cssVar.motionEaseOut};\n --lobe-dropdown-translate-x: 0;\n --lobe-dropdown-translate-y: calc(var(--lobe-dropdown-animation-translate) * -1);\n\n & > * {\n will-change: opacity, transform;\n animation: none;\n }\n\n &[data-open] > * {\n transform: translate3d(0, 0, 0) scale(1);\n opacity: 1;\n transition:\n opacity var(--lobe-dropdown-animation-duration) var(--lobe-dropdown-animation-ease-out),\n transform var(--lobe-dropdown-animation-duration) var(--lobe-dropdown-animation-ease-out);\n }\n\n &[data-open] > *[data-starting-style] {\n transform: translate3d(\n var(--lobe-dropdown-translate-x),\n var(--lobe-dropdown-translate-y),\n 0\n )\n scale(var(--lobe-dropdown-animation-scale));\n opacity: 0;\n }\n\n &[data-closed] > * {\n transform: translate3d(\n var(--lobe-dropdown-translate-x),\n var(--lobe-dropdown-translate-y),\n 0\n )\n scale(var(--lobe-dropdown-animation-scale));\n opacity: 0;\n transition:\n opacity var(--lobe-dropdown-animation-duration) var(--lobe-dropdown-animation-ease-in),\n transform var(--lobe-dropdown-animation-duration) var(--lobe-dropdown-animation-ease-in);\n }\n\n &[data-placement='top'],\n &[data-placement='topCenter'],\n &[data-placement='topLeft'],\n &[data-placement='topRight'] {\n --lobe-dropdown-translate-y: var(--lobe-dropdown-animation-translate);\n }\n\n &[data-placement='bottom'],\n &[data-placement='bottomCenter'],\n &[data-placement='bottomLeft'],\n &[data-placement='bottomRight'] {\n --lobe-dropdown-translate-y: calc(var(--lobe-dropdown-animation-translate) * -1);\n }\n }\n `,\n\n separator: css`\n height: 1px;\n margin-block: 4px;\n margin-inline: 0;\n background: ${cssVar.colorBorder};\n `,\n\n submenuArrow: css`\n display: flex;\n flex-shrink: 0;\n align-items: center;\n justify-content: center;\n\n width: 20px;\n height: 20px;\n margin-inline-start: auto;\n padding-inline-start: 8px;\n `,\n}));\n"],"mappings":";;;AAEA,MAAa,SAAS,oBAAoB,EAAE,YAAK,wBAAc;CAC7D,QAAQ,KAAG;aACAA,SAAO,WAAW;;;oBAGXA,SAAO,aAAa;;;CAItC,OAAO,KAAG;;;aAGCA,SAAO,kBAAkB;;CAGpC,OAAO,KAAG;;;;aAICA,SAAO,kBAAkB;;CAGpC,YAAY,KAAG;;;;;;;;;aASJA,SAAO,kBAAkB;;;CAIpC,MAAM,KAAG;;;;;;;;;;CAWT,MAAM,KAAG;;;;;;;;;;;;;;qBAcUA,SAAO,eAAe;;;;aAI9BA,SAAO,UAAU;;;;4BAIFA,SAAO,cAAc;;;oBAG7BA,SAAO,kBAAkB;;;;oBAIzBA,SAAO,mBAAmB;;;;;eAK/BA,SAAO,kBAAkB;;;;;;;;;oBASpBA,SAAO,kBAAkB;;;;;;oBAMzBA,SAAO,kBAAkB;;;CAI3C,aAAa,KAAG;;;;;;CAOhB,OAAO,KAAG;;;;;;;;;;;;;CAcV,OAAO,KAAG;;;qBAGSA,SAAO,aAAa;;kBAEvBA,SAAO,gBAAgB;;;;;kBAKvBA,SAAO,YAAY;;CAEnC,YAAY,KAAG;;;;;;;;4CAQ2BA,SAAO,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwD/D,WAAW,KAAG;;;;kBAIEA,SAAO,YAAY;;CAGnC,cAAc,KAAG;;;;;;;;;;;CAWlB,EAAE"}
@@ -4,8 +4,8 @@ import FlexBasic_default from "../Flex/FlexBasic.mjs";
4
4
  import Text_default from "../Text/Text.mjs";
5
5
  import { stopPropagation } from "../utils/dom.mjs";
6
6
  import ActionIcon_default from "../ActionIcon/ActionIcon.mjs";
7
- import CopyButton_default from "../CopyButton/CopyButton.mjs";
8
7
  import MaterialFileTypeIcon_default from "../MaterialFileTypeIcon/MaterialFileTypeIcon.mjs";
8
+ import CopyButton_default from "../CopyButton/CopyButton.mjs";
9
9
  import { bodyVariants, headerVariants, variants } from "../Highlighter/style.mjs";
10
10
  import { memo, useCallback, useEffect, useMemo, useRef, useState } from "react";
11
11
  import { jsx, jsxs } from "react/jsx-runtime";
@@ -1,8 +1,8 @@
1
1
  import { MermaidProps } from "./type.mjs";
2
- import * as react64 from "react";
2
+ import * as react13 from "react";
3
3
 
4
4
  //#region src/Mermaid/Mermaid.d.ts
5
- declare const Mermaid: react64.NamedExoticComponent<MermaidProps>;
5
+ declare const Mermaid: react13.NamedExoticComponent<MermaidProps>;
6
6
  //#endregion
7
7
  export { Mermaid };
8
8
  //# sourceMappingURL=Mermaid.d.mts.map
@@ -1,8 +1,8 @@
1
1
  import { SyntaxMermaidProps } from "../type.mjs";
2
- import * as react65 from "react";
2
+ import * as react14 from "react";
3
3
 
4
4
  //#region src/Mermaid/SyntaxMermaid/index.d.ts
5
- declare const SyntaxMermaid: react65.NamedExoticComponent<SyntaxMermaidProps>;
5
+ declare const SyntaxMermaid: react14.NamedExoticComponent<SyntaxMermaidProps>;
6
6
  //#endregion
7
7
  export { SyntaxMermaid };
8
8
  //# sourceMappingURL=index.d.mts.map
@@ -2,7 +2,7 @@ import { DivProps } from "../types/index.mjs";
2
2
  import { ActionIconProps } from "../ActionIcon/type.mjs";
3
3
  import "../ActionIcon/index.mjs";
4
4
  import { CSSProperties, ReactNode, Ref } from "react";
5
- import { MermaidConfig } from "mermaid/dist/config.type";
5
+ import { MermaidConfig } from "mermaid";
6
6
 
7
7
  //#region src/Mermaid/type.d.ts
8
8
  interface SyntaxMermaidProps {
@@ -1,8 +1,8 @@
1
1
  import { ModalProps } from "./type.mjs";
2
- import * as react63 from "react";
2
+ import * as react15 from "react";
3
3
 
4
4
  //#region src/Modal/Modal.d.ts
5
- declare const Modal: react63.NamedExoticComponent<ModalProps>;
5
+ declare const Modal: react15.NamedExoticComponent<ModalProps>;
6
6
  //#endregion
7
7
  export { Modal };
8
8
  //# sourceMappingURL=Modal.d.mts.map
@@ -1,9 +1,9 @@
1
1
  import { ModalContextValue } from "./type.mjs";
2
- import * as react61 from "react";
2
+ import * as react16 from "react";
3
3
  import { ReactNode } from "react";
4
4
 
5
5
  //#region src/Modal/ModalProvider.d.ts
6
- declare const ModalProvider: react61.NamedExoticComponent<{
6
+ declare const ModalProvider: react16.NamedExoticComponent<{
7
7
  children: ReactNode;
8
8
  value: ModalContextValue;
9
9
  }>;
@@ -1,5 +1,5 @@
1
1
  import { ImperativeModalProps, ModalInstance, RawModalComponent, RawModalComponentProps, RawModalInstance, RawModalKeyOptions, RawModalOptions } from "./type.mjs";
2
- import * as react_jsx_runtime0 from "react/jsx-runtime";
2
+ import * as react_jsx_runtime5 from "react/jsx-runtime";
3
3
 
4
4
  //#region src/Modal/imperative.d.ts
5
5
  type ModalHostProps = {
@@ -7,7 +7,7 @@ type ModalHostProps = {
7
7
  };
8
8
  declare const ModalHost: ({
9
9
  root
10
- }: ModalHostProps) => react_jsx_runtime0.JSX.Element | null;
10
+ }: ModalHostProps) => react_jsx_runtime5.JSX.Element | null;
11
11
  declare const createModal: (props: ImperativeModalProps) => ModalInstance;
12
12
  declare function createRawModal<P extends RawModalComponentProps>(component: RawModalComponent<P>, props: Omit<P, 'open' | 'onClose'>, options?: RawModalOptions): RawModalInstance<P>;
13
13
  declare function createRawModal<P, OpenKey extends keyof P, CloseKey extends keyof P>(component: RawModalComponent<P>, props: Omit<P, OpenKey | CloseKey>, options: RawModalKeyOptions<OpenKey, CloseKey>): RawModalInstance<P, OpenKey, CloseKey>;
@@ -1,4 +1,4 @@
1
- import * as react53 from "react";
1
+ import * as react78 from "react";
2
2
  import { Context, ReactNode } from "react";
3
3
  import * as motion_react0 from "motion/react";
4
4
  import * as m from "motion/react-m";
@@ -6,7 +6,7 @@ import * as m from "motion/react-m";
6
6
  //#region src/MotionProvider/index.d.ts
7
7
  type MotionComponentType = typeof motion_react0.motion | typeof m;
8
8
  declare const MotionComponent: Context<MotionComponentType>;
9
- declare const MotionProvider: react53.NamedExoticComponent<{
9
+ declare const MotionProvider: react78.NamedExoticComponent<{
10
10
  children: ReactNode;
11
11
  motion: MotionComponentType;
12
12
  }>;
@@ -0,0 +1,7 @@
1
+ import * as react_jsx_runtime0 from "react/jsx-runtime";
2
+
3
+ //#region src/Popover/ArrowIcon.d.ts
4
+ declare const PopoverArrowIcon: react_jsx_runtime0.JSX.Element;
5
+ //#endregion
6
+ export { PopoverArrowIcon };
7
+ //# sourceMappingURL=ArrowIcon.d.mts.map
@@ -2,15 +2,14 @@
2
2
 
3
3
  import { placementMap } from "../utils/placement.mjs";
4
4
  import { useDestroyOnInvalidActiveTriggerElement, useHidePopupWhenPositionerAtOrigin } from "../utils/destroyOnInvalidActiveTriggerElement.mjs";
5
+ import { PopoverArrowIcon } from "./ArrowIcon.mjs";
6
+ import { usePopoverPortalContainer } from "./PopoverPortal.mjs";
7
+ import { PopoverArrow, PopoverPopup, PopoverPortal, PopoverPositioner, PopoverViewport } from "./atoms.mjs";
5
8
  import { PopoverProvider } from "./context.mjs";
6
9
  import { PopoverGroupHandleContext, PopoverGroupPropsContext } from "./groupContext.mjs";
7
10
  import { parseTrigger } from "./parseTrigger.mjs";
8
- import { PopoverArrowIcon } from "./ArrowIcon.mjs";
9
- import { usePopoverPortalContainer } from "./PopoverPortal.mjs";
10
- import { styles } from "./style.mjs";
11
11
  import { useCallback, useMemo, useRef, useState } from "react";
12
12
  import { jsx, jsxs } from "react/jsx-runtime";
13
- import { cx } from "antd-style";
14
13
  import { Popover } from "@base-ui/react/popover";
15
14
 
16
15
  //#region src/Popover/PopoverGroup.tsx
@@ -58,10 +57,10 @@ const PopoverGroup = ({ children, contentLayoutAnimation = false, disableDestroy
58
57
  return -positioner.height;
59
58
  } : baseSideOffset;
60
59
  const resolvedClassNames = {
61
- arrow: cx(styles.arrow, item.classNames?.arrow),
62
- popup: cx(styles.popup, item.className),
63
- positioner: cx(styles.positioner, item.classNames?.root),
64
- viewport: cx(styles.viewport, item.classNames?.content)
60
+ arrow: item.classNames?.arrow,
61
+ popup: item.className,
62
+ positioner: item.classNames?.root,
63
+ viewport: item.classNames?.content
65
64
  };
66
65
  const resolvedStyles = {
67
66
  arrow: item.styles?.arrow,
@@ -75,23 +74,23 @@ const PopoverGroup = ({ children, contentLayoutAnimation = false, disableDestroy
75
74
  value: contextValue,
76
75
  children: item.content
77
76
  });
78
- const popup = /* @__PURE__ */ jsx(Popover.Positioner, {
77
+ const popup = /* @__PURE__ */ jsx(PopoverPositioner, {
79
78
  align: placementConfig.align,
80
79
  className: resolvedClassNames.positioner,
81
- "data-hover-trigger": openOnHover || void 0,
82
- "data-placement": placement,
80
+ hoverTrigger: openOnHover,
81
+ placement,
83
82
  side: placementConfig.side,
84
83
  sideOffset: resolvedSideOffset,
85
84
  style: resolvedStyles.positioner,
86
85
  ...item.positionerProps,
87
- children: /* @__PURE__ */ jsxs(Popover.Popup, {
86
+ children: /* @__PURE__ */ jsxs(PopoverPopup, {
88
87
  className: resolvedClassNames.popup,
89
88
  ...item.popupProps,
90
- children: [arrow && /* @__PURE__ */ jsx(Popover.Arrow, {
89
+ children: [arrow && /* @__PURE__ */ jsx(PopoverArrow, {
91
90
  className: resolvedClassNames.arrow,
92
91
  style: resolvedStyles.arrow,
93
92
  children: PopoverArrowIcon
94
- }), contentLayoutAnimation ? /* @__PURE__ */ jsx(Popover.Viewport, {
93
+ }), contentLayoutAnimation ? /* @__PURE__ */ jsx(PopoverViewport, {
95
94
  className: resolvedClassNames.viewport,
96
95
  style: resolvedStyles.viewport,
97
96
  children: contentNode
@@ -102,7 +101,7 @@ const PopoverGroup = ({ children, contentLayoutAnimation = false, disableDestroy
102
101
  })]
103
102
  })
104
103
  });
105
- return portalContainer ? /* @__PURE__ */ jsx(Popover.Portal, {
104
+ return portalContainer ? /* @__PURE__ */ jsx(PopoverPortal, {
106
105
  container: portalContainer,
107
106
  children: popup
108
107
  }) : null;
@@ -1 +1 @@
1
- {"version":3,"file":"PopoverGroup.mjs","names":["PopoverGroup: FC<PopoverGroupProps>","BasePopover","key"],"sources":["../../src/Popover/PopoverGroup.tsx"],"sourcesContent":["'use client';\n\nimport { Popover as BasePopover } from '@base-ui/react/popover';\nimport type { Side } from '@base-ui/react/utils/useAnchorPositioning';\nimport { cx } from 'antd-style';\nimport { type FC, type ReactNode, useCallback, useMemo, useRef, useState } from 'react';\n\nimport {\n useDestroyOnInvalidActiveTriggerElement,\n useHidePopupWhenPositionerAtOrigin,\n} from '@/utils/destroyOnInvalidActiveTriggerElement';\nimport { placementMap } from '@/utils/placement';\n\nimport { PopoverArrowIcon } from './ArrowIcon';\nimport { usePopoverPortalContainer } from './PopoverPortal';\nimport { PopoverProvider } from './context';\nimport {\n PopoverGroupHandleContext,\n type PopoverGroupItem,\n PopoverGroupPropsContext,\n type PopoverGroupSharedProps,\n} from './groupContext';\nimport { parseTrigger } from './parseTrigger';\nimport { styles } from './style';\n\ntype PopoverGroupProps = PopoverGroupSharedProps & {\n children: ReactNode;\n};\n\nconst PopoverGroup: FC<PopoverGroupProps> = ({\n children,\n contentLayoutAnimation = false,\n disableDestroyOnInvalidTrigger = false,\n disableZeroOriginGuard = false,\n ...sharedProps\n}) => {\n const [{ handle, key }, setHandleState] = useState(() => ({\n handle: BasePopover.createHandle<PopoverGroupItem>(),\n key: 0,\n }));\n const activeItemRef = useRef<PopoverGroupItem | null>(null);\n const destroy = useCallback(() => {\n activeItemRef.current = null;\n setHandleState(({ key }) => ({\n handle: BasePopover.createHandle<PopoverGroupItem>(),\n key: key + 1,\n }));\n }, []);\n const close = useCallback(() => {\n handle.close();\n }, [handle]);\n const contextValue = useMemo(() => ({ close }), [close]);\n\n const handleOpenChange = useCallback((open: boolean) => {\n activeItemRef.current?.onOpenChange?.(open);\n }, []);\n\n useDestroyOnInvalidActiveTriggerElement(handle.store, destroy, {\n enabled: !disableDestroyOnInvalidTrigger,\n });\n useHidePopupWhenPositionerAtOrigin(handle.store, { enabled: !disableZeroOriginGuard });\n\n const portalContainer = usePopoverPortalContainer();\n\n return (\n <PopoverGroupHandleContext.Provider value={handle}>\n <PopoverGroupPropsContext.Provider value={sharedProps}>\n {children}\n <BasePopover.Root handle={handle} key={key} onOpenChange={handleOpenChange}>\n {({ payload }) => {\n const item = (payload as PopoverGroupItem | null) ?? null;\n activeItemRef.current = item;\n\n if (!item?.content) return null;\n\n const arrow = item.inset ? false : (item.arrow ?? false);\n const placement = item.placement ?? 'top';\n const { openOnHover } = parseTrigger(item.trigger ?? 'hover');\n\n const placementConfig = placementMap[placement] ?? placementMap.top;\n const baseSideOffset = arrow ? 10 : 6;\n const resolvedSideOffset = item.inset\n ? ({\n side,\n positioner,\n }: {\n positioner: { height: number; width: number };\n side: Side;\n }) => {\n if (\n side === 'left' ||\n side === 'right' ||\n side === 'inline-start' ||\n side === 'inline-end'\n ) {\n return -positioner.width;\n }\n return -positioner.height;\n }\n : baseSideOffset;\n\n const resolvedClassNames = {\n arrow: cx(styles.arrow, item.classNames?.arrow),\n popup: cx(styles.popup, item.className),\n positioner: cx(styles.positioner, item.classNames?.root),\n viewport: cx(styles.viewport, item.classNames?.content),\n };\n\n const resolvedStyles = {\n arrow: item.styles?.arrow,\n positioner: {\n ...item.styles?.root,\n zIndex: item.zIndex ?? 1100,\n },\n viewport: item.styles?.content,\n };\n\n const contentNode = (\n <PopoverProvider value={contextValue}>{item.content}</PopoverProvider>\n );\n\n const popup = (\n <BasePopover.Positioner\n align={placementConfig.align}\n className={resolvedClassNames.positioner}\n data-hover-trigger={openOnHover || undefined}\n data-placement={placement}\n side={placementConfig.side}\n sideOffset={resolvedSideOffset}\n style={resolvedStyles.positioner}\n {...item.positionerProps}\n >\n <BasePopover.Popup className={resolvedClassNames.popup} {...item.popupProps}>\n {arrow && (\n <BasePopover.Arrow\n className={resolvedClassNames.arrow}\n style={resolvedStyles.arrow}\n >\n {PopoverArrowIcon}\n </BasePopover.Arrow>\n )}\n {contentLayoutAnimation ? (\n <BasePopover.Viewport\n className={resolvedClassNames.viewport}\n style={resolvedStyles.viewport}\n >\n {contentNode}\n </BasePopover.Viewport>\n ) : (\n <div className={resolvedClassNames.viewport} style={resolvedStyles.viewport}>\n {contentNode}\n </div>\n )}\n </BasePopover.Popup>\n </BasePopover.Positioner>\n );\n\n return portalContainer ? (\n <BasePopover.Portal container={portalContainer}>{popup}</BasePopover.Portal>\n ) : null;\n }}\n </BasePopover.Root>\n </PopoverGroupPropsContext.Provider>\n </PopoverGroupHandleContext.Provider>\n );\n};\n\nPopoverGroup.displayName = 'PopoverGroup';\n\nexport default PopoverGroup;\n"],"mappings":"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"}
1
+ {"version":3,"file":"PopoverGroup.mjs","names":["PopoverGroup: FC<PopoverGroupProps>","BasePopover","key"],"sources":["../../src/Popover/PopoverGroup.tsx"],"sourcesContent":["'use client';\n\nimport { Popover as BasePopover } from '@base-ui/react/popover';\nimport { type FC, type ReactNode, useCallback, useMemo, useRef, useState } from 'react';\n\nimport {\n useDestroyOnInvalidActiveTriggerElement,\n useHidePopupWhenPositionerAtOrigin,\n} from '@/utils/destroyOnInvalidActiveTriggerElement';\nimport { type Side, placementMap } from '@/utils/placement';\n\nimport { PopoverArrowIcon } from './ArrowIcon';\nimport { usePopoverPortalContainer } from './PopoverPortal';\nimport {\n PopoverArrow,\n PopoverPopup,\n PopoverPortal,\n PopoverPositioner,\n PopoverViewport,\n} from './atoms';\nimport { PopoverProvider } from './context';\nimport {\n PopoverGroupHandleContext,\n type PopoverGroupItem,\n PopoverGroupPropsContext,\n type PopoverGroupSharedProps,\n} from './groupContext';\nimport { parseTrigger } from './parseTrigger';\n\ntype PopoverGroupProps = PopoverGroupSharedProps & {\n children: ReactNode;\n};\n\nconst PopoverGroup: FC<PopoverGroupProps> = ({\n children,\n contentLayoutAnimation = false,\n disableDestroyOnInvalidTrigger = false,\n disableZeroOriginGuard = false,\n ...sharedProps\n}) => {\n const [{ handle, key }, setHandleState] = useState(() => ({\n handle: BasePopover.createHandle<PopoverGroupItem>(),\n key: 0,\n }));\n const activeItemRef = useRef<PopoverGroupItem | null>(null);\n const destroy = useCallback(() => {\n activeItemRef.current = null;\n setHandleState(({ key }) => ({\n handle: BasePopover.createHandle<PopoverGroupItem>(),\n key: key + 1,\n }));\n }, []);\n const close = useCallback(() => {\n handle.close();\n }, [handle]);\n const contextValue = useMemo(() => ({ close }), [close]);\n\n const handleOpenChange = useCallback((open: boolean) => {\n activeItemRef.current?.onOpenChange?.(open);\n }, []);\n\n useDestroyOnInvalidActiveTriggerElement(handle.store, destroy, {\n enabled: !disableDestroyOnInvalidTrigger,\n });\n useHidePopupWhenPositionerAtOrigin(handle.store, { enabled: !disableZeroOriginGuard });\n\n const portalContainer = usePopoverPortalContainer();\n\n return (\n <PopoverGroupHandleContext.Provider value={handle}>\n <PopoverGroupPropsContext.Provider value={sharedProps}>\n {children}\n <BasePopover.Root handle={handle} key={key} onOpenChange={handleOpenChange}>\n {({ payload }) => {\n const item = (payload as PopoverGroupItem | null) ?? null;\n activeItemRef.current = item;\n\n if (!item?.content) return null;\n\n const arrow = item.inset ? false : (item.arrow ?? false);\n const placement = item.placement ?? 'top';\n const { openOnHover } = parseTrigger(item.trigger ?? 'hover');\n\n const placementConfig = placementMap[placement] ?? placementMap.top;\n const baseSideOffset = arrow ? 10 : 6;\n const resolvedSideOffset = item.inset\n ? ({\n side,\n positioner,\n }: {\n positioner: { height: number; width: number };\n side: Side;\n }) => {\n if (\n side === 'left' ||\n side === 'right' ||\n side === 'inline-start' ||\n side === 'inline-end'\n ) {\n return -positioner.width;\n }\n return -positioner.height;\n }\n : baseSideOffset;\n\n const resolvedClassNames = {\n arrow: item.classNames?.arrow,\n popup: item.className,\n positioner: item.classNames?.root,\n viewport: item.classNames?.content,\n };\n\n const resolvedStyles = {\n arrow: item.styles?.arrow,\n positioner: {\n ...item.styles?.root,\n zIndex: item.zIndex ?? 1100,\n },\n viewport: item.styles?.content,\n };\n\n const contentNode = (\n <PopoverProvider value={contextValue}>{item.content}</PopoverProvider>\n );\n\n const popup = (\n <PopoverPositioner\n align={placementConfig.align}\n className={resolvedClassNames.positioner}\n hoverTrigger={openOnHover}\n placement={placement}\n side={placementConfig.side}\n sideOffset={resolvedSideOffset as any}\n style={resolvedStyles.positioner}\n {...item.positionerProps}\n >\n <PopoverPopup className={resolvedClassNames.popup} {...item.popupProps}>\n {arrow && (\n <PopoverArrow className={resolvedClassNames.arrow} style={resolvedStyles.arrow}>\n {PopoverArrowIcon}\n </PopoverArrow>\n )}\n {contentLayoutAnimation ? (\n <PopoverViewport\n className={resolvedClassNames.viewport}\n style={resolvedStyles.viewport}\n >\n {contentNode}\n </PopoverViewport>\n ) : (\n <div className={resolvedClassNames.viewport} style={resolvedStyles.viewport}>\n {contentNode}\n </div>\n )}\n </PopoverPopup>\n </PopoverPositioner>\n );\n\n return portalContainer ? (\n <PopoverPortal container={portalContainer}>{popup}</PopoverPortal>\n ) : null;\n }}\n </BasePopover.Root>\n </PopoverGroupPropsContext.Provider>\n </PopoverGroupHandleContext.Provider>\n );\n};\n\nPopoverGroup.displayName = 'PopoverGroup';\n\nexport default PopoverGroup;\n"],"mappings":";;;;;;;;;;;;;;;AAiCA,MAAMA,gBAAuC,EAC3C,UACA,yBAAyB,OACzB,iCAAiC,OACjC,yBAAyB,OACzB,GAAG,kBACC;CACJ,MAAM,CAAC,EAAE,QAAQ,OAAO,kBAAkB,gBAAgB;EACxD,QAAQC,QAAY,cAAgC;EACpD,KAAK;EACN,EAAE;CACH,MAAM,gBAAgB,OAAgC,KAAK;CAC3D,MAAM,UAAU,kBAAkB;AAChC,gBAAc,UAAU;AACxB,kBAAgB,EAAE,kBAAW;GAC3B,QAAQA,QAAY,cAAgC;GACpD,KAAKC,QAAM;GACZ,EAAE;IACF,EAAE,CAAC;CACN,MAAM,QAAQ,kBAAkB;AAC9B,SAAO,OAAO;IACb,CAAC,OAAO,CAAC;CACZ,MAAM,eAAe,eAAe,EAAE,OAAO,GAAG,CAAC,MAAM,CAAC;CAExD,MAAM,mBAAmB,aAAa,SAAkB;AACtD,gBAAc,SAAS,eAAe,KAAK;IAC1C,EAAE,CAAC;AAEN,yCAAwC,OAAO,OAAO,SAAS,EAC7D,SAAS,CAAC,gCACX,CAAC;AACF,oCAAmC,OAAO,OAAO,EAAE,SAAS,CAAC,wBAAwB,CAAC;CAEtF,MAAM,kBAAkB,2BAA2B;AAEnD,QACE,oBAAC,0BAA0B;EAAS,OAAO;YACzC,qBAAC,yBAAyB;GAAS,OAAO;cACvC,UACD,oBAACD,QAAY;IAAa;IAAkB,cAAc;eACtD,EAAE,cAAc;KAChB,MAAM,OAAQ,WAAuC;AACrD,mBAAc,UAAU;AAExB,SAAI,CAAC,MAAM,QAAS,QAAO;KAE3B,MAAM,QAAQ,KAAK,QAAQ,QAAS,KAAK,SAAS;KAClD,MAAM,YAAY,KAAK,aAAa;KACpC,MAAM,EAAE,gBAAgB,aAAa,KAAK,WAAW,QAAQ;KAE7D,MAAM,kBAAkB,aAAa,cAAc,aAAa;KAChE,MAAM,iBAAiB,QAAQ,KAAK;KACpC,MAAM,qBAAqB,KAAK,SAC3B,EACC,MACA,iBAII;AACJ,UACE,SAAS,UACT,SAAS,WACT,SAAS,kBACT,SAAS,aAET,QAAO,CAAC,WAAW;AAErB,aAAO,CAAC,WAAW;SAErB;KAEJ,MAAM,qBAAqB;MACzB,OAAO,KAAK,YAAY;MACxB,OAAO,KAAK;MACZ,YAAY,KAAK,YAAY;MAC7B,UAAU,KAAK,YAAY;MAC5B;KAED,MAAM,iBAAiB;MACrB,OAAO,KAAK,QAAQ;MACpB,YAAY;OACV,GAAG,KAAK,QAAQ;OAChB,QAAQ,KAAK,UAAU;OACxB;MACD,UAAU,KAAK,QAAQ;MACxB;KAED,MAAM,cACJ,oBAAC;MAAgB,OAAO;gBAAe,KAAK;OAA0B;KAGxE,MAAM,QACJ,oBAAC;MACC,OAAO,gBAAgB;MACvB,WAAW,mBAAmB;MAC9B,cAAc;MACH;MACX,MAAM,gBAAgB;MACtB,YAAY;MACZ,OAAO,eAAe;MACtB,GAAI,KAAK;gBAET,qBAAC;OAAa,WAAW,mBAAmB;OAAO,GAAI,KAAK;kBACzD,SACC,oBAAC;QAAa,WAAW,mBAAmB;QAAO,OAAO,eAAe;kBACtE;SACY,EAEhB,yBACC,oBAAC;QACC,WAAW,mBAAmB;QAC9B,OAAO,eAAe;kBAErB;SACe,GAElB,oBAAC;QAAI,WAAW,mBAAmB;QAAU,OAAO,eAAe;kBAChE;SACG;QAEK;OACG;AAGtB,YAAO,kBACL,oBAAC;MAAc,WAAW;gBAAkB;OAAsB,GAChE;;MAxF+B,IA0FpB;IACe;GACD;;AAIzC,aAAa,cAAc;AAE3B,2BAAe"}
@@ -0,0 +1,6 @@
1
+ //#region src/Popover/PopoverPortal.d.ts
2
+ declare const POPOVER_CONTAINER_ATTR = "data-lobe-ui-popover-container";
3
+ declare const usePopoverPortalContainer: (root?: HTMLElement | ShadowRoot | null) => HTMLElement | null;
4
+ //#endregion
5
+ export { POPOVER_CONTAINER_ATTR, usePopoverPortalContainer };
6
+ //# sourceMappingURL=PopoverPortal.d.mts.map
@@ -41,5 +41,5 @@ const usePopoverPortalContainer = (root) => {
41
41
  };
42
42
 
43
43
  //#endregion
44
- export { usePopoverPortalContainer };
44
+ export { POPOVER_CONTAINER_ATTR, usePopoverPortalContainer };
45
45
  //# sourceMappingURL=PopoverPortal.mjs.map
@@ -3,16 +3,13 @@
3
3
  import { useNativeButton } from "../hooks/useNativeButton.mjs";
4
4
  import { useIsClient } from "../hooks/useIsClient.mjs";
5
5
  import { placementMap } from "../utils/placement.mjs";
6
- import { PopoverProvider } from "./context.mjs";
7
- import { parseTrigger } from "./parseTrigger.mjs";
8
6
  import { PopoverArrowIcon } from "./ArrowIcon.mjs";
9
7
  import { usePopoverPortalContainer } from "./PopoverPortal.mjs";
10
- import { styles } from "./style.mjs";
11
- import { cloneElement, isValidElement, memo, useCallback, useMemo, useState } from "react";
8
+ import { PopoverArrow, PopoverPopup, PopoverPortal, PopoverPositioner, PopoverRoot, PopoverTriggerElement, PopoverViewport } from "./atoms.mjs";
9
+ import { PopoverProvider } from "./context.mjs";
10
+ import { parseTrigger } from "./parseTrigger.mjs";
11
+ import { memo, useCallback, useMemo, useState } from "react";
12
12
  import { jsx, jsxs } from "react/jsx-runtime";
13
- import { cx } from "antd-style";
14
- import { mergeProps } from "@base-ui/react/merge-props";
15
- import { mergeRefs } from "react-merge-refs";
16
13
  import { Popover } from "@base-ui/react/popover";
17
14
 
18
15
  //#region src/Popover/PopoverStandalone.tsx
@@ -52,16 +49,16 @@ const PopoverStandalone = memo(({ children, content, arrow: originArrow = false,
52
49
  };
53
50
  }, [baseSideOffset, inset]);
54
51
  const portalContainer = usePopoverPortalContainer();
55
- const { isNativeButtonTriggerElement, resolvedNativeButton } = useNativeButton({
52
+ const { resolvedNativeButton } = useNativeButton({
56
53
  children,
57
54
  nativeButton
58
55
  });
59
56
  const resolvedClassNames = useMemo(() => ({
60
- arrow: cx(styles.arrow, classNames?.arrow),
61
- popup: cx(styles.popup, className),
62
- positioner: cx(styles.positioner, classNames?.root),
57
+ arrow: classNames?.arrow,
58
+ popup: className,
59
+ positioner: classNames?.root,
63
60
  trigger: classNames?.trigger,
64
- viewport: cx(styles.viewport, classNames?.content)
61
+ viewport: classNames?.content
65
62
  }), [
66
63
  className,
67
64
  classNames?.arrow,
@@ -70,38 +67,13 @@ const PopoverStandalone = memo(({ children, content, arrow: originArrow = false,
70
67
  classNames?.trigger
71
68
  ]);
72
69
  const triggerElement = useMemo(() => {
73
- const baseTriggerProps = {
70
+ return /* @__PURE__ */ jsx(PopoverTriggerElement, {
71
+ handle: popoverHandle,
74
72
  closeDelay: resolvedCloseDelay,
75
73
  delay: resolvedOpenDelay,
76
74
  disabled,
77
75
  openOnHover: openOnHover && !disabled,
78
- ...triggerProps
79
- };
80
- if (isValidElement(children)) return /* @__PURE__ */ jsx(Popover.Trigger, {
81
- handle: popoverHandle,
82
- ...baseTriggerProps,
83
- nativeButton: resolvedNativeButton,
84
- render: (props) => {
85
- const resolvedProps = (() => {
86
- if (isNativeButtonTriggerElement) return props;
87
- const { type, ref: triggerRef, ...restProps } = props;
88
- return restProps;
89
- })();
90
- const mergedProps = mergeProps(children.props, resolvedProps);
91
- return cloneElement(children, {
92
- ...mergedProps,
93
- className: cx(mergedProps.className, resolvedClassNames.trigger),
94
- ref: mergeRefs([
95
- children.ref,
96
- props.ref,
97
- refProp
98
- ])
99
- });
100
- }
101
- });
102
- return /* @__PURE__ */ jsx(Popover.Trigger, {
103
- handle: popoverHandle,
104
- ...baseTriggerProps,
76
+ ...triggerProps,
105
77
  className: resolvedClassNames.trigger,
106
78
  nativeButton: resolvedNativeButton,
107
79
  ref: refProp,
@@ -110,7 +82,6 @@ const PopoverStandalone = memo(({ children, content, arrow: originArrow = false,
110
82
  }, [
111
83
  children,
112
84
  disabled,
113
- isNativeButtonTriggerElement,
114
85
  openOnHover,
115
86
  popoverHandle,
116
87
  refProp,
@@ -136,23 +107,23 @@ const PopoverStandalone = memo(({ children, content, arrow: originArrow = false,
136
107
  styleProps?.root,
137
108
  zIndex
138
109
  ]);
139
- const popup = useMemo(() => /* @__PURE__ */ jsx(Popover.Positioner, {
110
+ const popup = useMemo(() => /* @__PURE__ */ jsx(PopoverPositioner, {
140
111
  align: placementConfig.align,
141
112
  className: resolvedClassNames.positioner,
142
- "data-hover-trigger": openOnHover || void 0,
143
- "data-placement": placement,
113
+ hoverTrigger: openOnHover,
114
+ placement,
144
115
  side: placementConfig.side,
145
116
  sideOffset: resolvedSideOffset,
146
117
  style: resolvedStyles.positioner,
147
118
  ...positionerProps,
148
- children: /* @__PURE__ */ jsxs(Popover.Popup, {
119
+ children: /* @__PURE__ */ jsxs(PopoverPopup, {
149
120
  className: resolvedClassNames.popup,
150
121
  ...popupProps,
151
- children: [arrow && /* @__PURE__ */ jsx(Popover.Arrow, {
122
+ children: [arrow && /* @__PURE__ */ jsx(PopoverArrow, {
152
123
  className: resolvedClassNames.arrow,
153
124
  style: resolvedStyles.arrow,
154
125
  children: PopoverArrowIcon
155
- }), /* @__PURE__ */ jsx(Popover.Viewport, {
126
+ }), /* @__PURE__ */ jsx(PopoverViewport, {
156
127
  className: resolvedClassNames.viewport,
157
128
  style: resolvedStyles.viewport,
158
129
  children: /* @__PURE__ */ jsx(PopoverProvider, {
@@ -177,7 +148,7 @@ const PopoverStandalone = memo(({ children, content, arrow: originArrow = false,
177
148
  ]);
178
149
  if (!content) return children;
179
150
  const resolvedPortalContainer = customContainer ?? portalContainer;
180
- return /* @__PURE__ */ jsxs(Popover.Root, {
151
+ return /* @__PURE__ */ jsxs(PopoverRoot, {
181
152
  defaultOpen,
182
153
  handle: popoverHandle,
183
154
  onOpenChange: handleOpenChange,
@@ -185,7 +156,7 @@ const PopoverStandalone = memo(({ children, content, arrow: originArrow = false,
185
156
  children: [
186
157
  triggerElement,
187
158
  backdropProps && /* @__PURE__ */ jsx(Popover.Backdrop, { ...backdropProps }),
188
- resolvedPortalContainer ? /* @__PURE__ */ jsx(Popover.Portal, {
159
+ resolvedPortalContainer ? /* @__PURE__ */ jsx(PopoverPortal, {
189
160
  container: resolvedPortalContainer,
190
161
  ...portalProps,
191
162
  children: popup
@@ -1 +1 @@
1
- {"version":3,"file":"PopoverStandalone.mjs","names":["BasePopover"],"sources":["../../src/Popover/PopoverStandalone.tsx"],"sourcesContent":["'use client';\n\nimport { mergeProps } from '@base-ui/react/merge-props';\nimport { Popover as BasePopover } from '@base-ui/react/popover';\nimport type { Side } from '@base-ui/react/utils/useAnchorPositioning';\nimport { cx } from 'antd-style';\nimport { cloneElement, isValidElement, memo, useCallback, useMemo, useState } from 'react';\nimport { mergeRefs } from 'react-merge-refs';\n\nimport { useIsClient } from '@/hooks/useIsClient';\nimport { useNativeButton } from '@/hooks/useNativeButton';\nimport { placementMap } from '@/utils/placement';\n\nimport { PopoverArrowIcon } from './ArrowIcon';\nimport { usePopoverPortalContainer } from './PopoverPortal';\nimport { PopoverProvider } from './context';\nimport { parseTrigger } from './parseTrigger';\nimport { styles } from './style';\nimport type { PopoverProps } from './type';\n\n/**\n * Popover component - displays floating content relative to a trigger element\n * Compatible with Ant Design Popover API\n */\nexport const PopoverStandalone = memo<PopoverProps>(\n ({\n children,\n content,\n arrow: originArrow = false,\n inset = false,\n trigger = 'hover',\n placement = 'top',\n styles: styleProps,\n classNames,\n className,\n open,\n onOpenChange,\n defaultOpen = false,\n mouseEnterDelay = 0.1,\n mouseLeaveDelay = 0.1,\n openDelay,\n closeDelay,\n getPopupContainer,\n disabled = false,\n zIndex,\n nativeButton,\n ref: refProp,\n positionerProps,\n triggerProps,\n popupProps,\n backdropProps,\n portalProps,\n }) => {\n const arrow = inset ? false : originArrow;\n const isClient = useIsClient();\n const popoverHandle = useMemo(() => BasePopover.createHandle(), []);\n const [uncontrolledOpen, setUncontrolledOpen] = useState(Boolean(defaultOpen));\n const close = useCallback(() => {\n popoverHandle.close();\n }, [popoverHandle]);\n const contextValue = useMemo(() => ({ close }), [close]);\n\n const mergedOpen = open ?? uncontrolledOpen;\n const resolvedOpen = disabled ? false : mergedOpen;\n\n const handleOpenChange = useCallback(\n (nextOpen: boolean) => {\n // Don't open if disabled\n if (disabled && nextOpen) return;\n\n onOpenChange?.(nextOpen);\n if (open === undefined) {\n setUncontrolledOpen(nextOpen);\n }\n },\n [onOpenChange, open, disabled],\n );\n\n // Parse trigger mode\n const { openOnHover } = useMemo(() => parseTrigger(trigger), [trigger]);\n\n // Calculate delays (milliseconds take precedence over seconds)\n const resolvedOpenDelay = openDelay ?? mouseEnterDelay * 1000;\n const resolvedCloseDelay = closeDelay ?? mouseLeaveDelay * 1000;\n\n // Get placement configuration\n const placementConfig = placementMap[placement] ?? placementMap.top;\n const baseSideOffset = arrow ? 10 : 6;\n const resolvedSideOffset = useMemo(() => {\n if (!inset) return baseSideOffset;\n return ({\n side,\n positioner,\n }: {\n positioner: { height: number; width: number };\n side: Side;\n }) => {\n if (\n side === 'left' ||\n side === 'right' ||\n side === 'inline-start' ||\n side === 'inline-end'\n ) {\n return -positioner.width;\n }\n return -positioner.height;\n };\n }, [baseSideOffset, inset]);\n\n // Determine portal container\n const portalContainer = usePopoverPortalContainer();\n\n const { isNativeButtonTriggerElement, resolvedNativeButton } = useNativeButton({\n children,\n nativeButton,\n });\n\n const resolvedClassNames = useMemo(\n () => ({\n arrow: cx(styles.arrow, classNames?.arrow),\n popup: cx(styles.popup, className),\n positioner: cx(styles.positioner, classNames?.root),\n trigger: classNames?.trigger,\n viewport: cx(styles.viewport, classNames?.content),\n }),\n [className, classNames?.arrow, classNames?.content, classNames?.root, classNames?.trigger],\n );\n\n // Render trigger element\n const triggerElement = useMemo(() => {\n const baseTriggerProps = {\n closeDelay: resolvedCloseDelay,\n delay: resolvedOpenDelay,\n disabled,\n openOnHover: openOnHover && !disabled,\n ...triggerProps,\n };\n\n if (isValidElement(children)) {\n return (\n <BasePopover.Trigger\n handle={popoverHandle}\n {...baseTriggerProps}\n nativeButton={resolvedNativeButton}\n render={(props) => {\n // Base UI's trigger props include `type=\"button\"` by default.\n // If we render into a non-<button> element, that prop is invalid and can warn.\n const resolvedProps = (() => {\n if (isNativeButtonTriggerElement) return props as any;\n // eslint-disable-next-line unused-imports/no-unused-vars, @typescript-eslint/no-unused-vars\n const { type, ref: triggerRef, ...restProps } = props as any;\n return restProps;\n })();\n\n const mergedProps = mergeProps((children as any).props, resolvedProps);\n return cloneElement(children as any, {\n ...mergedProps,\n className: cx(mergedProps.className, resolvedClassNames.trigger),\n ref: mergeRefs([(children as any).ref, (props as any).ref, refProp]),\n });\n }}\n />\n );\n }\n return (\n <BasePopover.Trigger\n handle={popoverHandle}\n {...baseTriggerProps}\n className={resolvedClassNames.trigger}\n nativeButton={resolvedNativeButton}\n ref={refProp}\n >\n {children}\n </BasePopover.Trigger>\n );\n }, [\n children,\n disabled,\n isNativeButtonTriggerElement,\n openOnHover,\n popoverHandle,\n refProp,\n resolvedClassNames.trigger,\n resolvedNativeButton,\n resolvedOpenDelay,\n resolvedCloseDelay,\n triggerProps,\n ]);\n\n // Custom container from getPopupContainer\n const customContainer = useMemo(() => {\n if (!getPopupContainer || !isClient) return undefined;\n // We need a reference element, but we don't have it until render\n // This will be handled by the portal container logic\n return undefined;\n }, [getPopupContainer, isClient]);\n\n const resolvedStyles = useMemo(\n () => ({\n arrow: styleProps?.arrow,\n positioner: {\n ...styleProps?.root,\n zIndex: zIndex ?? 1100,\n },\n viewport: styleProps?.content,\n }),\n [styleProps?.arrow, styleProps?.content, styleProps?.root, zIndex],\n );\n\n const popup = useMemo(\n () => (\n <BasePopover.Positioner\n align={placementConfig.align}\n className={resolvedClassNames.positioner}\n data-hover-trigger={openOnHover || undefined}\n data-placement={placement}\n side={placementConfig.side}\n sideOffset={resolvedSideOffset}\n style={resolvedStyles.positioner}\n {...positionerProps}\n >\n <BasePopover.Popup className={resolvedClassNames.popup} {...popupProps}>\n {arrow && (\n <BasePopover.Arrow className={resolvedClassNames.arrow} style={resolvedStyles.arrow}>\n {PopoverArrowIcon}\n </BasePopover.Arrow>\n )}\n <BasePopover.Viewport\n className={resolvedClassNames.viewport}\n style={resolvedStyles.viewport}\n >\n <PopoverProvider value={contextValue}>{content}</PopoverProvider>\n </BasePopover.Viewport>\n </BasePopover.Popup>\n </BasePopover.Positioner>\n ),\n [\n arrow,\n content,\n contextValue,\n openOnHover,\n placement,\n placementConfig.align,\n placementConfig.side,\n popupProps,\n positionerProps,\n resolvedClassNames,\n resolvedSideOffset,\n resolvedStyles,\n ],\n );\n\n // Don't render popup if no content\n if (!content) {\n return children;\n }\n\n const resolvedPortalContainer = customContainer ?? portalContainer;\n\n return (\n <BasePopover.Root\n defaultOpen={defaultOpen}\n handle={popoverHandle}\n onOpenChange={handleOpenChange}\n open={resolvedOpen}\n >\n {triggerElement}\n {backdropProps && <BasePopover.Backdrop {...backdropProps} />}\n {resolvedPortalContainer ? (\n <BasePopover.Portal container={resolvedPortalContainer} {...portalProps}>\n {popup}\n </BasePopover.Portal>\n ) : null}\n </BasePopover.Root>\n );\n },\n);\n\nPopoverStandalone.displayName = 'PopoverStandalone';\n"],"mappings":"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"}
1
+ {"version":3,"file":"PopoverStandalone.mjs","names":["BasePopover"],"sources":["../../src/Popover/PopoverStandalone.tsx"],"sourcesContent":["'use client';\n\nimport { Popover as BasePopover } from '@base-ui/react/popover';\nimport { memo, useCallback, useMemo, useState } from 'react';\n\nimport { useIsClient } from '@/hooks/useIsClient';\nimport { useNativeButton } from '@/hooks/useNativeButton';\nimport { type Side, placementMap } from '@/utils/placement';\n\nimport { PopoverArrowIcon } from './ArrowIcon';\nimport { usePopoverPortalContainer } from './PopoverPortal';\nimport {\n PopoverArrow,\n PopoverPopup,\n PopoverPortal,\n PopoverPositioner,\n PopoverRoot,\n PopoverTriggerElement,\n PopoverViewport,\n} from './atoms';\nimport { PopoverProvider } from './context';\nimport { parseTrigger } from './parseTrigger';\nimport type { PopoverProps } from './type';\n\n/**\n * Popover component - displays floating content relative to a trigger element\n * Compatible with Ant Design Popover API\n */\nexport const PopoverStandalone = memo<PopoverProps>(\n ({\n children,\n content,\n arrow: originArrow = false,\n inset = false,\n trigger = 'hover',\n placement = 'top',\n styles: styleProps,\n classNames,\n className,\n open,\n onOpenChange,\n defaultOpen = false,\n mouseEnterDelay = 0.1,\n mouseLeaveDelay = 0.1,\n openDelay,\n closeDelay,\n getPopupContainer,\n disabled = false,\n zIndex,\n nativeButton,\n ref: refProp,\n positionerProps,\n triggerProps,\n popupProps,\n backdropProps,\n portalProps,\n }) => {\n const arrow = inset ? false : originArrow;\n const isClient = useIsClient();\n const popoverHandle = useMemo(() => BasePopover.createHandle(), []);\n const [uncontrolledOpen, setUncontrolledOpen] = useState(Boolean(defaultOpen));\n const close = useCallback(() => {\n popoverHandle.close();\n }, [popoverHandle]);\n const contextValue = useMemo(() => ({ close }), [close]);\n\n const mergedOpen = open ?? uncontrolledOpen;\n const resolvedOpen = disabled ? false : mergedOpen;\n\n const handleOpenChange = useCallback(\n (nextOpen: boolean) => {\n // Don't open if disabled\n if (disabled && nextOpen) return;\n\n onOpenChange?.(nextOpen);\n if (open === undefined) {\n setUncontrolledOpen(nextOpen);\n }\n },\n [onOpenChange, open, disabled],\n );\n\n // Parse trigger mode\n const { openOnHover } = useMemo(() => parseTrigger(trigger), [trigger]);\n\n // Calculate delays (milliseconds take precedence over seconds)\n const resolvedOpenDelay = openDelay ?? mouseEnterDelay * 1000;\n const resolvedCloseDelay = closeDelay ?? mouseLeaveDelay * 1000;\n\n // Get placement configuration\n const placementConfig = placementMap[placement] ?? placementMap.top;\n const baseSideOffset = arrow ? 10 : 6;\n const resolvedSideOffset = useMemo(() => {\n if (!inset) return baseSideOffset;\n return ({\n side,\n positioner,\n }: {\n positioner: { height: number; width: number };\n side: Side;\n }) => {\n if (\n side === 'left' ||\n side === 'right' ||\n side === 'inline-start' ||\n side === 'inline-end'\n ) {\n return -positioner.width;\n }\n return -positioner.height;\n };\n }, [baseSideOffset, inset]);\n\n // Determine portal container\n const portalContainer = usePopoverPortalContainer();\n\n const { resolvedNativeButton } = useNativeButton({\n children,\n nativeButton,\n });\n\n const resolvedClassNames = useMemo(\n () => ({\n arrow: classNames?.arrow,\n popup: className,\n positioner: classNames?.root,\n trigger: classNames?.trigger,\n viewport: classNames?.content,\n }),\n [className, classNames?.arrow, classNames?.content, classNames?.root, classNames?.trigger],\n );\n\n // Render trigger element\n const triggerElement = useMemo(() => {\n const baseTriggerProps = {\n closeDelay: resolvedCloseDelay,\n delay: resolvedOpenDelay,\n disabled,\n openOnHover: openOnHover && !disabled,\n ...triggerProps,\n };\n\n return (\n <PopoverTriggerElement\n handle={popoverHandle}\n {...baseTriggerProps}\n className={resolvedClassNames.trigger}\n nativeButton={resolvedNativeButton}\n ref={refProp as any}\n >\n {children}\n </PopoverTriggerElement>\n );\n }, [\n children,\n disabled,\n openOnHover,\n popoverHandle,\n refProp,\n resolvedClassNames.trigger,\n resolvedNativeButton,\n resolvedOpenDelay,\n resolvedCloseDelay,\n triggerProps,\n ]);\n\n // Custom container from getPopupContainer\n const customContainer = useMemo(() => {\n if (!getPopupContainer || !isClient) return undefined;\n // We need a reference element, but we don't have it until render\n // This will be handled by the portal container logic\n return undefined;\n }, [getPopupContainer, isClient]);\n\n const resolvedStyles = useMemo(\n () => ({\n arrow: styleProps?.arrow,\n positioner: {\n ...styleProps?.root,\n zIndex: zIndex ?? 1100,\n },\n viewport: styleProps?.content,\n }),\n [styleProps?.arrow, styleProps?.content, styleProps?.root, zIndex],\n );\n\n const popup = useMemo(\n () => (\n <PopoverPositioner\n align={placementConfig.align}\n className={resolvedClassNames.positioner}\n hoverTrigger={openOnHover}\n placement={placement}\n side={placementConfig.side}\n sideOffset={resolvedSideOffset as any}\n style={resolvedStyles.positioner}\n {...positionerProps}\n >\n <PopoverPopup className={resolvedClassNames.popup} {...popupProps}>\n {arrow && (\n <PopoverArrow className={resolvedClassNames.arrow} style={resolvedStyles.arrow}>\n {PopoverArrowIcon}\n </PopoverArrow>\n )}\n <PopoverViewport\n className={resolvedClassNames.viewport}\n style={resolvedStyles.viewport}\n >\n <PopoverProvider value={contextValue}>{content}</PopoverProvider>\n </PopoverViewport>\n </PopoverPopup>\n </PopoverPositioner>\n ),\n [\n arrow,\n content,\n contextValue,\n openOnHover,\n placement,\n placementConfig.align,\n placementConfig.side,\n popupProps,\n positionerProps,\n resolvedClassNames,\n resolvedSideOffset,\n resolvedStyles,\n ],\n );\n\n // Don't render popup if no content\n if (!content) {\n return children;\n }\n\n const resolvedPortalContainer = customContainer ?? portalContainer;\n\n return (\n <PopoverRoot\n defaultOpen={defaultOpen}\n handle={popoverHandle}\n onOpenChange={handleOpenChange}\n open={resolvedOpen}\n >\n {triggerElement}\n {backdropProps && <BasePopover.Backdrop {...backdropProps} />}\n {resolvedPortalContainer ? (\n <PopoverPortal container={resolvedPortalContainer} {...portalProps}>\n {popup}\n </PopoverPortal>\n ) : null}\n </PopoverRoot>\n );\n },\n);\n\nPopoverStandalone.displayName = 'PopoverStandalone';\n"],"mappings":"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"}
@@ -0,0 +1,77 @@
1
+ import { PopoverPlacement } from "./type.mjs";
2
+ import * as react5 from "react";
3
+ import { ComponentProps } from "react";
4
+ import * as react_jsx_runtime0 from "react/jsx-runtime";
5
+ import * as _base_ui_react_popover0 from "@base-ui/react/popover";
6
+ import { Popover } from "@base-ui/react/popover";
7
+
8
+ //#region src/Popover/atoms.d.ts
9
+ declare const PopoverRoot: typeof Popover.Root;
10
+ declare const PopoverBackdrop: react5.ForwardRefExoticComponent<_base_ui_react_popover0.PopoverBackdropProps & react5.RefAttributes<HTMLDivElement>>;
11
+ type PopoverTriggerElementProps = Omit<ComponentProps<typeof Popover.Trigger>, 'children' | 'render'> & {
12
+ children: ComponentProps<typeof Popover.Trigger>['children'];
13
+ };
14
+ declare const PopoverTriggerElement: react5.ForwardRefExoticComponent<Omit<PopoverTriggerElementProps, "ref"> & react5.RefAttributes<HTMLElement>>;
15
+ type PopoverPortalAtomProps = Omit<ComponentProps<typeof Popover.Portal>, 'container'> & {
16
+ /**
17
+ * Portal container. When not provided, it uses the shared container created by `usePopoverPortalContainer`.
18
+ */
19
+ container?: HTMLElement | null;
20
+ /**
21
+ * Root element used by `usePopoverPortalContainer` to create the default container.
22
+ */
23
+ root?: HTMLElement | ShadowRoot | null;
24
+ };
25
+ declare const PopoverPortal: {
26
+ ({
27
+ container,
28
+ root,
29
+ children,
30
+ ...rest
31
+ }: PopoverPortalAtomProps): react_jsx_runtime0.JSX.Element | null;
32
+ displayName: string;
33
+ };
34
+ type PopoverPositionerAtomProps = ComponentProps<typeof Popover.Positioner> & {
35
+ hoverTrigger?: boolean;
36
+ placement?: PopoverPlacement;
37
+ };
38
+ declare const PopoverPositioner: {
39
+ ({
40
+ className,
41
+ hoverTrigger,
42
+ placement,
43
+ align,
44
+ side,
45
+ sideOffset,
46
+ ...rest
47
+ }: PopoverPositionerAtomProps): react_jsx_runtime0.JSX.Element;
48
+ displayName: string;
49
+ };
50
+ type PopoverPopupAtomProps = ComponentProps<typeof Popover.Popup>;
51
+ declare const PopoverPopup: {
52
+ ({
53
+ className,
54
+ ...rest
55
+ }: PopoverPopupAtomProps): react_jsx_runtime0.JSX.Element;
56
+ displayName: string;
57
+ };
58
+ type PopoverArrowAtomProps = ComponentProps<typeof Popover.Arrow>;
59
+ declare const PopoverArrow: {
60
+ ({
61
+ className,
62
+ children,
63
+ ...rest
64
+ }: PopoverArrowAtomProps): react_jsx_runtime0.JSX.Element;
65
+ displayName: string;
66
+ };
67
+ type PopoverViewportAtomProps = ComponentProps<typeof Popover.Viewport>;
68
+ declare const PopoverViewport: {
69
+ ({
70
+ className,
71
+ ...rest
72
+ }: PopoverViewportAtomProps): react_jsx_runtime0.JSX.Element;
73
+ displayName: string;
74
+ };
75
+ //#endregion
76
+ export { PopoverArrow, PopoverArrowAtomProps, PopoverBackdrop, PopoverPopup, PopoverPopupAtomProps, PopoverPortal, PopoverPortalAtomProps, PopoverPositioner, PopoverPositionerAtomProps, PopoverRoot, PopoverTriggerElement, PopoverTriggerElementProps, PopoverViewport, PopoverViewportAtomProps };
77
+ //# sourceMappingURL=atoms.d.mts.map