@lobehub/ui 4.9.2 → 4.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/Accordion/Accordion.d.mts +2 -2
- package/es/Accordion/AccordionItem.d.mts +2 -2
- package/es/ActionIcon/ActionIcon.d.mts +2 -2
- package/es/Alert/Alert.d.mts +2 -2
- package/es/AutoComplete/Select.d.mts +2 -2
- package/es/Avatar/Avatar.mjs +41 -31
- package/es/Avatar/Avatar.mjs.map +1 -1
- package/es/Avatar/AvatarGroup/index.d.mts +2 -2
- package/es/Avatar/utils.mjs +50 -0
- package/es/Avatar/utils.mjs.map +1 -0
- package/es/Burger/Burger.d.mts +2 -2
- package/es/CodeEditor/CodeEditor.d.mts +2 -2
- package/es/Collapse/Collapse.d.mts +2 -2
- package/es/ColorSwatches/ColorSwatches.mjs +3 -2
- package/es/ColorSwatches/ColorSwatches.mjs.map +1 -1
- package/es/ConfigProvider/index.d.mts +2 -2
- package/es/ContextMenu/ContextMenuHost.d.mts +2 -2
- package/es/CopyButton/CopyButton.d.mts +2 -2
- package/es/DatePicker/DatePicker.d.mts +2 -2
- package/es/DraggablePanel/components/DraggablePanelBody.d.mts +2 -2
- package/es/DraggablePanel/components/DraggablePanelContainer.d.mts +2 -2
- package/es/DraggablePanel/components/DraggablePanelFooter.d.mts +2 -2
- package/es/DraggablePanel/components/DraggablePanelHeader.d.mts +2 -2
- package/es/DraggablePanel/style.mjs +1 -1
- package/es/DraggablePanel/style.mjs.map +1 -1
- package/es/DraggableSideNav/DraggableSideNav.d.mts +2 -2
- package/es/Drawer/Drawer.d.mts +2 -2
- package/es/Dropdown/Dropdown.d.mts +9 -2
- package/es/Dropdown/Dropdown.mjs +6 -0
- package/es/Dropdown/Dropdown.mjs.map +1 -1
- package/es/DropdownMenu/DropdownMenu.d.mts +2 -2
- package/es/DropdownMenu/DropdownMenu.mjs +20 -36
- package/es/DropdownMenu/DropdownMenu.mjs.map +1 -1
- package/es/DropdownMenu/type.d.mts +2 -1
- package/es/EditableText/EditableText.d.mts +2 -2
- package/es/EmojiPicker/EmojiPicker.d.mts +2 -2
- package/es/Flex/FlexBasic.d.mts +2 -2
- package/es/FontLoader/index.d.mts +2 -2
- package/es/Footer/Footer.d.mts +2 -2
- package/es/Form/components/FormGroup.d.mts +2 -2
- package/es/Form/components/FormItem.d.mts +2 -2
- package/es/Form/components/FormSubmitFooter.d.mts +2 -2
- package/es/FormModal/FormModal.d.mts +2 -2
- package/es/GuideCard/GuideCard.d.mts +2 -2
- package/es/Header/Header.d.mts +2 -2
- package/es/Highlighter/Highlighter.d.mts +2 -2
- package/es/Highlighter/SyntaxHighlighter/index.d.mts +2 -2
- package/es/Hotkey/Hotkey.d.mts +2 -2
- package/es/HotkeyInput/HotkeyInput.d.mts +2 -2
- package/es/Icon/Icon.d.mts +2 -2
- package/es/Icon/components/IconProvider.d.mts +3 -3
- package/es/Image/PreviewGroup.d.mts +2 -2
- package/es/ImageSelect/ImageSelect.d.mts +2 -2
- package/es/Input/Input.d.mts +2 -2
- package/es/Input/InputNumber.d.mts +2 -2
- package/es/Input/InputOPT.d.mts +2 -2
- package/es/Input/InputPassword.d.mts +2 -2
- package/es/Input/TextArea.d.mts +2 -2
- package/es/Layout/components/LayoutFooter.d.mts +2 -2
- package/es/Layout/components/LayoutHeader.d.mts +2 -2
- package/es/Layout/components/LayoutMain.d.mts +2 -2
- package/es/Layout/components/LayoutSidebar.d.mts +2 -2
- package/es/Layout/components/LayoutSidebarInner.d.mts +2 -2
- package/es/Layout/components/LayoutToc.d.mts +2 -2
- package/es/List/ListItem/index.d.mts +2 -2
- package/es/Markdown/Markdown.d.mts +2 -2
- package/es/Markdown/Typography.d.mts +2 -2
- package/es/Markdown/components/SearchResultCards/index.d.mts +2 -2
- package/es/MaskShadow/MaskShadow.d.mts +2 -2
- package/es/Menu/Menu.d.mts +2 -2
- package/es/Menu/sharedStyle.mjs +56 -10
- package/es/Menu/sharedStyle.mjs.map +1 -1
- package/es/Mermaid/Mermaid.d.mts +2 -2
- package/es/Mermaid/SyntaxMermaid/index.d.mts +2 -2
- package/es/Modal/Modal.d.mts +2 -2
- package/es/Modal/ModalProvider.d.mts +2 -2
- package/es/MotionProvider/index.d.mts +2 -2
- package/es/Popover/ArrowIcon.mjs +22 -0
- package/es/Popover/ArrowIcon.mjs.map +1 -0
- package/es/Popover/Popover.d.mts +9 -0
- package/es/Popover/Popover.mjs +20 -0
- package/es/Popover/Popover.mjs.map +1 -0
- package/es/Popover/PopoverGroup.d.mts +11 -0
- package/es/Popover/PopoverGroup.mjs +96 -0
- package/es/Popover/PopoverGroup.mjs.map +1 -0
- package/es/Popover/PopoverInGroup.mjs +55 -0
- package/es/Popover/PopoverInGroup.mjs.map +1 -0
- package/es/Popover/PopoverPortal.mjs +45 -0
- package/es/Popover/PopoverPortal.mjs.map +1 -0
- package/es/Popover/PopoverStandalone.mjs +166 -0
- package/es/Popover/PopoverStandalone.mjs.map +1 -0
- package/es/Popover/groupContext.d.mts +14 -0
- package/es/Popover/groupContext.mjs +11 -0
- package/es/Popover/groupContext.mjs.map +1 -0
- package/es/Popover/index.d.mts +5 -0
- package/es/Popover/index.d.ts +1 -0
- package/es/Popover/index.js +1 -0
- package/es/Popover/index.mjs +5 -0
- package/es/Popover/parseTrigger.d.mts +14 -0
- package/es/Popover/parseTrigger.mjs +18 -0
- package/es/Popover/parseTrigger.mjs.map +1 -0
- package/es/Popover/style.mjs +218 -0
- package/es/Popover/style.mjs.map +1 -0
- package/es/Popover/type.d.mts +112 -0
- package/es/Popover/useMergedPopoverProps.mjs +88 -0
- package/es/Popover/useMergedPopoverProps.mjs.map +1 -0
- package/es/SearchBar/SearchBar.d.mts +2 -2
- package/es/Segmented/Segmented.d.mts +2 -2
- package/es/Select/Select.d.mts +2 -2
- package/es/SideNav/SideNav.d.mts +2 -2
- package/es/SliderWithInput/SliderWithInput.d.mts +2 -2
- package/es/SortableList/components/DragHandle.d.mts +2 -2
- package/es/SortableList/components/SortableItem.d.mts +2 -2
- package/es/ThemeProvider/GlobalStyle/antdOverride.mjs +4 -3
- package/es/ThemeProvider/GlobalStyle/antdOverride.mjs.map +1 -1
- package/es/ThemeProvider/ThemeProvider.d.mts +2 -2
- package/es/Toc/Toc.d.mts +2 -2
- package/es/Tooltip/TooltipGroup.mjs +2 -2
- package/es/Tooltip/TooltipGroup.mjs.map +1 -1
- package/es/Tooltip/type.d.mts +2 -2
- package/es/Tooltip/useTooltipFloating.mjs +2 -2
- package/es/Tooltip/useTooltipFloating.mjs.map +1 -1
- package/es/Video/index.d.mts +2 -2
- package/es/awesome/AuroraBackground/AuroraBackground.d.mts +2 -2
- package/es/awesome/BottomGradientButton/BottomGradientButton.d.mts +2 -2
- package/es/awesome/Features/Features.d.mts +2 -2
- package/es/awesome/Giscus/style.mjs +4 -3
- package/es/awesome/Giscus/style.mjs.map +1 -1
- package/es/awesome/GradientButton/GradientButton.d.mts +2 -2
- package/es/awesome/GridBackground/GridBackground.d.mts +2 -2
- package/es/awesome/GridBackground/GridShowcase.d.mts +2 -2
- package/es/awesome/Hero/Hero.d.mts +2 -2
- package/es/awesome/Spotlight/Spotlight.d.mts +2 -2
- package/es/awesome/SpotlightCard/SpotlightCard.d.mts +2 -2
- package/es/awesome/TypewriterEffect/TypewriterEffect.d.mts +2 -2
- package/es/brand/LobeChat/index.d.mts +2 -2
- package/es/brand/LobeHub/index.d.mts +2 -2
- package/es/brand/LogoThree/LogoSpline.d.mts +2 -2
- package/es/brand/LogoThree/index.d.mts +2 -2
- package/es/chat/BackBottom/BackBottom.d.mts +2 -2
- package/es/chat/ChatInputArea/components/ChatInputAreaInner.d.mts +2 -2
- package/es/chat/ChatItem/ChatItem.d.mts +2 -2
- package/es/chat/ChatList/ChatList.d.mts +2 -2
- package/es/chat/EditableMessage/EditableMessage.d.mts +2 -2
- package/es/chat/EditableMessageList/EditableMessageList.d.mts +2 -2
- package/es/chat/MessageInput/MessageInput.d.mts +2 -2
- package/es/chat/MessageModal/MessageModal.d.mts +2 -2
- package/es/color/ColorScales/index.d.mts +2 -2
- package/es/color/CssVar/index.d.mts +2 -2
- package/es/i18n/context.d.mts +2 -2
- package/es/icons/lucideExtra/BotPromptIcon.d.mts +2 -2
- package/es/icons/lucideExtra/CreateBotIcon.d.mts +3 -3
- package/es/icons/lucideExtra/DiscordIcon.d.mts +3 -3
- package/es/icons/lucideExtra/GlobeOffIcon.d.mts +2 -2
- package/es/icons/lucideExtra/GroupBotIcon.d.mts +3 -3
- package/es/icons/lucideExtra/GroupBotSquareIcon.d.mts +3 -3
- package/es/icons/lucideExtra/LeftClickIcon.d.mts +3 -3
- package/es/icons/lucideExtra/LeftDoubleClickIcon.d.mts +3 -3
- package/es/icons/lucideExtra/McpIcon.d.mts +3 -3
- package/es/icons/lucideExtra/ProviderIcon.d.mts +3 -3
- package/es/icons/lucideExtra/RightClickIcon.d.mts +3 -3
- package/es/icons/lucideExtra/RightDoubleClickIcon.d.mts +3 -3
- package/es/icons/lucideExtra/ShapesUploadIcon.d.mts +3 -3
- package/es/icons/lucideExtra/TreeDownRightIcon.d.mts +3 -3
- package/es/icons/lucideExtra/TreeUpDownRightIcon.d.mts +3 -3
- package/es/index.d.mts +6 -1
- package/es/index.mjs +4 -1
- package/es/mdx/Mdx/index.d.mts +2 -2
- package/es/mobile/ChatHeader/ChatHeaderTitle.d.mts +2 -2
- package/es/mobile/ChatInputArea/components/ChatSendButton.d.mts +2 -2
- package/es/mobile/TabBar/TabBar.d.mts +2 -2
- package/es/storybook/StoryBook/index.d.mts +2 -2
- package/es/utils/placement.d.mts +31 -0
- package/es/utils/placement.mjs +100 -0
- package/es/utils/placement.mjs.map +1 -0
- package/es/utils/safeReadableColor.mjs +15 -0
- package/es/utils/safeReadableColor.mjs.map +1 -0
- package/package.json +1 -1
- package/es/Tooltip/antdPlacementToFloating.mjs +0 -27
- package/es/Tooltip/antdPlacementToFloating.mjs.map +0 -1
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
//#region src/utils/placement.ts
|
|
2
|
+
const top = {
|
|
3
|
+
align: "center",
|
|
4
|
+
side: "top"
|
|
5
|
+
};
|
|
6
|
+
const topLeft = {
|
|
7
|
+
align: "start",
|
|
8
|
+
side: "top"
|
|
9
|
+
};
|
|
10
|
+
const topRight = {
|
|
11
|
+
align: "end",
|
|
12
|
+
side: "top"
|
|
13
|
+
};
|
|
14
|
+
const bottom = {
|
|
15
|
+
align: "center",
|
|
16
|
+
side: "bottom"
|
|
17
|
+
};
|
|
18
|
+
const bottomLeft = {
|
|
19
|
+
align: "start",
|
|
20
|
+
side: "bottom"
|
|
21
|
+
};
|
|
22
|
+
const bottomRight = {
|
|
23
|
+
align: "end",
|
|
24
|
+
side: "bottom"
|
|
25
|
+
};
|
|
26
|
+
const left = {
|
|
27
|
+
align: "center",
|
|
28
|
+
side: "left"
|
|
29
|
+
};
|
|
30
|
+
const leftTop = {
|
|
31
|
+
align: "start",
|
|
32
|
+
side: "left"
|
|
33
|
+
};
|
|
34
|
+
const leftBottom = {
|
|
35
|
+
align: "end",
|
|
36
|
+
side: "left"
|
|
37
|
+
};
|
|
38
|
+
const right = {
|
|
39
|
+
align: "center",
|
|
40
|
+
side: "right"
|
|
41
|
+
};
|
|
42
|
+
const rightTop = {
|
|
43
|
+
align: "start",
|
|
44
|
+
side: "right"
|
|
45
|
+
};
|
|
46
|
+
const rightBottom = {
|
|
47
|
+
align: "end",
|
|
48
|
+
side: "right"
|
|
49
|
+
};
|
|
50
|
+
/**
|
|
51
|
+
* Map of placement values to Base UI placement config
|
|
52
|
+
* Used by Popover and DropdownMenu components
|
|
53
|
+
*/
|
|
54
|
+
const placementMap = {
|
|
55
|
+
bottom,
|
|
56
|
+
bottomCenter: bottom,
|
|
57
|
+
bottomLeft,
|
|
58
|
+
bottomRight,
|
|
59
|
+
left,
|
|
60
|
+
leftBottom,
|
|
61
|
+
leftTop,
|
|
62
|
+
right,
|
|
63
|
+
rightBottom,
|
|
64
|
+
rightTop,
|
|
65
|
+
top,
|
|
66
|
+
topCenter: top,
|
|
67
|
+
topLeft,
|
|
68
|
+
topRight
|
|
69
|
+
};
|
|
70
|
+
/**
|
|
71
|
+
* Convert unified Placement to Floating UI placement format
|
|
72
|
+
* Used by Tooltip component which uses @floating-ui/react
|
|
73
|
+
*
|
|
74
|
+
* @param placement - Unified placement value
|
|
75
|
+
* @returns Floating UI placement (e.g., 'top-start', 'bottom-end')
|
|
76
|
+
*/
|
|
77
|
+
const toFloatingUIPlacement = (placement) => {
|
|
78
|
+
if (!placement) return "top";
|
|
79
|
+
switch (placement) {
|
|
80
|
+
case "topLeft": return "top-start";
|
|
81
|
+
case "top":
|
|
82
|
+
case "topCenter": return "top";
|
|
83
|
+
case "topRight": return "top-end";
|
|
84
|
+
case "bottomLeft": return "bottom-start";
|
|
85
|
+
case "bottom":
|
|
86
|
+
case "bottomCenter": return "bottom";
|
|
87
|
+
case "bottomRight": return "bottom-end";
|
|
88
|
+
case "leftTop": return "left-start";
|
|
89
|
+
case "left": return "left";
|
|
90
|
+
case "leftBottom": return "left-end";
|
|
91
|
+
case "rightTop": return "right-start";
|
|
92
|
+
case "right": return "right";
|
|
93
|
+
case "rightBottom": return "right-end";
|
|
94
|
+
default: return "top";
|
|
95
|
+
}
|
|
96
|
+
};
|
|
97
|
+
|
|
98
|
+
//#endregion
|
|
99
|
+
export { placementMap, toFloatingUIPlacement };
|
|
100
|
+
//# sourceMappingURL=placement.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"placement.mjs","names":["top: PlacementConfig","topLeft: PlacementConfig","topRight: PlacementConfig","bottom: PlacementConfig","bottomLeft: PlacementConfig","bottomRight: PlacementConfig","left: PlacementConfig","leftTop: PlacementConfig","leftBottom: PlacementConfig","right: PlacementConfig","rightTop: PlacementConfig","rightBottom: PlacementConfig","placementMap: Record<Placement, PlacementConfig>"],"sources":["../../src/utils/placement.ts"],"sourcesContent":["import type { Align, Side } from '@base-ui/react/utils/useAnchorPositioning';\nimport type { Placement as FloatingUIPlacement } from '@floating-ui/react';\n\nexport type PlacementConfig = {\n align: Align;\n side: Side;\n};\n\n/**\n * All supported placement values\n * - Unified placement names for Tooltip, Popover, and DropdownMenu\n * - Ant Design style: topLeft, topCenter, topRight, etc.\n * - Additional aliases: top (same as topCenter), bottom (same as bottomCenter)\n */\nexport type Placement =\n | 'top'\n | 'topLeft'\n | 'topCenter'\n | 'topRight'\n | 'bottom'\n | 'bottomLeft'\n | 'bottomCenter'\n | 'bottomRight'\n | 'left'\n | 'leftTop'\n | 'leftBottom'\n | 'right'\n | 'rightTop'\n | 'rightBottom';\n\nconst top: PlacementConfig = { align: 'center', side: 'top' };\nconst topLeft: PlacementConfig = { align: 'start', side: 'top' };\nconst topRight: PlacementConfig = { align: 'end', side: 'top' };\nconst bottom: PlacementConfig = { align: 'center', side: 'bottom' };\nconst bottomLeft: PlacementConfig = { align: 'start', side: 'bottom' };\nconst bottomRight: PlacementConfig = { align: 'end', side: 'bottom' };\nconst left: PlacementConfig = { align: 'center', side: 'left' };\nconst leftTop: PlacementConfig = { align: 'start', side: 'left' };\nconst leftBottom: PlacementConfig = { align: 'end', side: 'left' };\nconst right: PlacementConfig = { align: 'center', side: 'right' };\nconst rightTop: PlacementConfig = { align: 'start', side: 'right' };\nconst rightBottom: PlacementConfig = { align: 'end', side: 'right' };\n\n/**\n * Map of placement values to Base UI placement config\n * Used by Popover and DropdownMenu components\n */\nexport const placementMap: Record<Placement, PlacementConfig> = {\n bottom,\n bottomCenter: bottom,\n bottomLeft,\n bottomRight,\n left,\n leftBottom,\n leftTop,\n right,\n rightBottom,\n rightTop,\n top,\n topCenter: top,\n topLeft,\n topRight,\n};\n\n/**\n * Convert unified Placement to Floating UI placement format\n * Used by Tooltip component which uses @floating-ui/react\n *\n * @param placement - Unified placement value\n * @returns Floating UI placement (e.g., 'top-start', 'bottom-end')\n */\nexport const toFloatingUIPlacement = (placement?: Placement): FloatingUIPlacement => {\n if (!placement) return 'top';\n\n switch (placement) {\n case 'topLeft': {\n return 'top-start';\n }\n case 'top':\n case 'topCenter': {\n return 'top';\n }\n case 'topRight': {\n return 'top-end';\n }\n case 'bottomLeft': {\n return 'bottom-start';\n }\n case 'bottom':\n case 'bottomCenter': {\n return 'bottom';\n }\n case 'bottomRight': {\n return 'bottom-end';\n }\n case 'leftTop': {\n return 'left-start';\n }\n case 'left': {\n return 'left';\n }\n case 'leftBottom': {\n return 'left-end';\n }\n case 'rightTop': {\n return 'right-start';\n }\n case 'right': {\n return 'right';\n }\n case 'rightBottom': {\n return 'right-end';\n }\n default: {\n return 'top';\n }\n }\n};\n"],"mappings":";AA8BA,MAAMA,MAAuB;CAAE,OAAO;CAAU,MAAM;CAAO;AAC7D,MAAMC,UAA2B;CAAE,OAAO;CAAS,MAAM;CAAO;AAChE,MAAMC,WAA4B;CAAE,OAAO;CAAO,MAAM;CAAO;AAC/D,MAAMC,SAA0B;CAAE,OAAO;CAAU,MAAM;CAAU;AACnE,MAAMC,aAA8B;CAAE,OAAO;CAAS,MAAM;CAAU;AACtE,MAAMC,cAA+B;CAAE,OAAO;CAAO,MAAM;CAAU;AACrE,MAAMC,OAAwB;CAAE,OAAO;CAAU,MAAM;CAAQ;AAC/D,MAAMC,UAA2B;CAAE,OAAO;CAAS,MAAM;CAAQ;AACjE,MAAMC,aAA8B;CAAE,OAAO;CAAO,MAAM;CAAQ;AAClE,MAAMC,QAAyB;CAAE,OAAO;CAAU,MAAM;CAAS;AACjE,MAAMC,WAA4B;CAAE,OAAO;CAAS,MAAM;CAAS;AACnE,MAAMC,cAA+B;CAAE,OAAO;CAAO,MAAM;CAAS;;;;;AAMpE,MAAaC,eAAmD;CAC9D;CACA,cAAc;CACd;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA,WAAW;CACX;CACA;CACD;;;;;;;;AASD,MAAa,yBAAyB,cAA+C;AACnF,KAAI,CAAC,UAAW,QAAO;AAEvB,SAAQ,WAAR;EACE,KAAK,UACH,QAAO;EAET,KAAK;EACL,KAAK,YACH,QAAO;EAET,KAAK,WACH,QAAO;EAET,KAAK,aACH,QAAO;EAET,KAAK;EACL,KAAK,eACH,QAAO;EAET,KAAK,cACH,QAAO;EAET,KAAK,UACH,QAAO;EAET,KAAK,OACH,QAAO;EAET,KAAK,aACH,QAAO;EAET,KAAK,WACH,QAAO;EAET,KAAK,QACH,QAAO;EAET,KAAK,cACH,QAAO;EAET,QACE,QAAO"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { cssVar } from "antd-style";
|
|
2
|
+
import { readableColor } from "polished";
|
|
3
|
+
|
|
4
|
+
//#region src/utils/safeReadableColor.ts
|
|
5
|
+
const safeReadableColor = (bgColor, fallbackColor) => {
|
|
6
|
+
try {
|
|
7
|
+
return readableColor(bgColor);
|
|
8
|
+
} catch {
|
|
9
|
+
return fallbackColor || cssVar.colorText;
|
|
10
|
+
}
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
//#endregion
|
|
14
|
+
export { safeReadableColor };
|
|
15
|
+
//# sourceMappingURL=safeReadableColor.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"safeReadableColor.mjs","names":[],"sources":["../../src/utils/safeReadableColor.ts"],"sourcesContent":["import { cssVar } from 'antd-style';\nimport { readableColor } from 'polished';\n\nexport const safeReadableColor = (bgColor: string, fallbackColor?: string): string => {\n try {\n return readableColor(bgColor);\n } catch {\n return fallbackColor || cssVar.colorText;\n }\n};\n"],"mappings":";;;;AAGA,MAAa,qBAAqB,SAAiB,kBAAmC;AACpF,KAAI;AACF,SAAO,cAAc,QAAQ;SACvB;AACN,SAAO,iBAAiB,OAAO"}
|
package/package.json
CHANGED
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
//#region src/Tooltip/antdPlacementToFloating.ts
|
|
2
|
-
/**
|
|
3
|
-
* Convert Ant Design legacy placements to Floating UI placements.
|
|
4
|
-
*
|
|
5
|
-
* Notes:
|
|
6
|
-
* - Floating UI placements like `top-start` are passed through.
|
|
7
|
-
* - Ant Design legacy placements like `topLeft` are mapped to Floating UI.
|
|
8
|
-
*/
|
|
9
|
-
const antdPlacementToFloating = (placement) => {
|
|
10
|
-
if (!placement) return "top";
|
|
11
|
-
if (typeof placement === "string" && placement.includes("-")) return placement;
|
|
12
|
-
switch (placement) {
|
|
13
|
-
case "topLeft": return "top-start";
|
|
14
|
-
case "topRight": return "top-end";
|
|
15
|
-
case "bottomLeft": return "bottom-start";
|
|
16
|
-
case "bottomRight": return "bottom-end";
|
|
17
|
-
case "leftTop": return "left-start";
|
|
18
|
-
case "leftBottom": return "left-end";
|
|
19
|
-
case "rightTop": return "right-start";
|
|
20
|
-
case "rightBottom": return "right-end";
|
|
21
|
-
default: return placement;
|
|
22
|
-
}
|
|
23
|
-
};
|
|
24
|
-
|
|
25
|
-
//#endregion
|
|
26
|
-
export { antdPlacementToFloating };
|
|
27
|
-
//# sourceMappingURL=antdPlacementToFloating.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"antdPlacementToFloating.mjs","names":[],"sources":["../../src/Tooltip/antdPlacementToFloating.ts"],"sourcesContent":["import type { Placement } from '@floating-ui/react';\n\n/**\n * Convert Ant Design legacy placements to Floating UI placements.\n *\n * Notes:\n * - Floating UI placements like `top-start` are passed through.\n * - Ant Design legacy placements like `topLeft` are mapped to Floating UI.\n */\nexport const antdPlacementToFloating = (\n placement?:\n | Placement\n | 'topLeft'\n | 'topRight'\n | 'bottomLeft'\n | 'bottomRight'\n | 'leftTop'\n | 'leftBottom'\n | 'rightTop'\n | 'rightBottom'\n | 'top'\n | 'bottom'\n | 'left'\n | 'right',\n): Placement => {\n if (!placement) return 'top';\n\n // Floating UI placements are already compatible.\n if (typeof placement === 'string' && placement.includes('-')) return placement as Placement;\n\n switch (placement) {\n case 'topLeft': {\n return 'top-start';\n }\n case 'topRight': {\n return 'top-end';\n }\n case 'bottomLeft': {\n return 'bottom-start';\n }\n case 'bottomRight': {\n return 'bottom-end';\n }\n case 'leftTop': {\n return 'left-start';\n }\n case 'leftBottom': {\n return 'left-end';\n }\n case 'rightTop': {\n return 'right-start';\n }\n case 'rightBottom': {\n return 'right-end';\n }\n default: {\n return placement as Placement;\n }\n }\n};\n"],"mappings":";;;;;;;;AASA,MAAa,2BACX,cAcc;AACd,KAAI,CAAC,UAAW,QAAO;AAGvB,KAAI,OAAO,cAAc,YAAY,UAAU,SAAS,IAAI,CAAE,QAAO;AAErE,SAAQ,WAAR;EACE,KAAK,UACH,QAAO;EAET,KAAK,WACH,QAAO;EAET,KAAK,aACH,QAAO;EAET,KAAK,cACH,QAAO;EAET,KAAK,UACH,QAAO;EAET,KAAK,aACH,QAAO;EAET,KAAK,WACH,QAAO;EAET,KAAK,cACH,QAAO;EAET,QACE,QAAO"}
|