@inf-monkeys-tech/monkeys-design 0.4.49 → 0.4.50
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/dist/components/base/index.d.mts +2 -2
- package/dist/components/base/index.d.ts +2 -2
- package/dist/components/base/index.js +79 -13
- package/dist/components/base/index.js.map +1 -1
- package/dist/components/base/index.mjs +80 -14
- package/dist/components/base/index.mjs.map +1 -1
- package/dist/components/layout/index.d.mts +1 -1
- package/dist/components/layout/index.d.ts +1 -1
- package/dist/components/layout/index.js +82 -13
- package/dist/components/layout/index.js.map +1 -1
- package/dist/components/layout/index.mjs +83 -14
- package/dist/components/layout/index.mjs.map +1 -1
- package/dist/components/workbench/index.d.mts +1 -1
- package/dist/components/workbench/index.d.ts +1 -1
- package/dist/components/workbench/index.js +1 -0
- package/dist/components/workbench/index.js.map +1 -1
- package/dist/components/workbench/index.mjs +1 -0
- package/dist/components/workbench/index.mjs.map +1 -1
- package/dist/index.d.mts +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.js +82 -14
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +82 -14
- package/dist/index.mjs.map +1 -1
- package/dist/{theme-Clm5dVb0.d.mts → theme-CSDlBl7e.d.ts} +2 -2
- package/dist/{theme-sIoU5-YC.d.ts → theme-K9M_pIiz.d.mts} +2 -2
- package/dist/theme-system/index.d.mts +1 -1
- package/dist/theme-system/index.d.ts +1 -1
- package/dist/theme-system/index.js +1 -1
- package/dist/theme-system/index.mjs +1 -1
- package/dist/{types-Bn6PEDsX.d.mts → types-5cYLLXs8.d.mts} +1 -0
- package/dist/{types-Bn6PEDsX.d.ts → types-5cYLLXs8.d.ts} +1 -0
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import React, { forwardRef, useRef, useState, useEffect, useId, useMemo, createContext, useContext, useLayoutEffect, Children, isValidElement, useCallback, Fragment as Fragment$1 } from 'react';
|
|
2
2
|
import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
|
|
3
3
|
import * as ContextMenu from '@radix-ui/react-context-menu';
|
|
4
|
+
import { createPortal } from 'react-dom';
|
|
4
5
|
import * as DropdownMenu5 from '@radix-ui/react-dropdown-menu';
|
|
5
6
|
import { useSensors, useSensor, PointerSensor, DndContext, DragOverlay, useDroppable, useDraggable } from '@dnd-kit/core';
|
|
6
7
|
import '@dnd-kit/sortable';
|
|
7
8
|
import '@dnd-kit/utilities';
|
|
8
|
-
import 'react-dom';
|
|
9
9
|
import { toast as toast$1, Toaster } from 'sonner';
|
|
10
10
|
import * as Tooltip from '@radix-ui/react-tooltip';
|
|
11
11
|
|
|
@@ -13931,6 +13931,45 @@ function getTooltipPlacementClassName(placement) {
|
|
|
13931
13931
|
return "bottom-[calc(100%+0.5rem)] left-1/2 -translate-x-1/2";
|
|
13932
13932
|
}
|
|
13933
13933
|
}
|
|
13934
|
+
function getPortalTooltipStyle(placement, rect, themeStyle) {
|
|
13935
|
+
if (!rect) return themeStyle;
|
|
13936
|
+
const offset = 8;
|
|
13937
|
+
const baseStyle = {
|
|
13938
|
+
...themeStyle,
|
|
13939
|
+
position: "fixed"
|
|
13940
|
+
};
|
|
13941
|
+
switch (placement) {
|
|
13942
|
+
case "bottom":
|
|
13943
|
+
return {
|
|
13944
|
+
...baseStyle,
|
|
13945
|
+
left: rect.left + rect.width / 2,
|
|
13946
|
+
top: rect.bottom + offset,
|
|
13947
|
+
transform: "translateX(-50%)"
|
|
13948
|
+
};
|
|
13949
|
+
case "left":
|
|
13950
|
+
return {
|
|
13951
|
+
...baseStyle,
|
|
13952
|
+
right: window.innerWidth - rect.left + offset,
|
|
13953
|
+
top: rect.top + rect.height / 2,
|
|
13954
|
+
transform: "translateY(-50%)"
|
|
13955
|
+
};
|
|
13956
|
+
case "right":
|
|
13957
|
+
return {
|
|
13958
|
+
...baseStyle,
|
|
13959
|
+
left: rect.right + offset,
|
|
13960
|
+
top: rect.top + rect.height / 2,
|
|
13961
|
+
transform: "translateY(-50%)"
|
|
13962
|
+
};
|
|
13963
|
+
case "top":
|
|
13964
|
+
default:
|
|
13965
|
+
return {
|
|
13966
|
+
...baseStyle,
|
|
13967
|
+
bottom: window.innerHeight - rect.top + offset,
|
|
13968
|
+
left: rect.left + rect.width / 2,
|
|
13969
|
+
transform: "translateX(-50%)"
|
|
13970
|
+
};
|
|
13971
|
+
}
|
|
13972
|
+
}
|
|
13934
13973
|
function BaseTooltip({
|
|
13935
13974
|
content,
|
|
13936
13975
|
children,
|
|
@@ -13938,6 +13977,7 @@ function BaseTooltip({
|
|
|
13938
13977
|
defaultOpen = false,
|
|
13939
13978
|
placement = "top",
|
|
13940
13979
|
disabled = false,
|
|
13980
|
+
portal = false,
|
|
13941
13981
|
appearance,
|
|
13942
13982
|
className,
|
|
13943
13983
|
classNames,
|
|
@@ -13946,21 +13986,58 @@ function BaseTooltip({
|
|
|
13946
13986
|
...tooltipProps
|
|
13947
13987
|
}) {
|
|
13948
13988
|
const theme = resolveBaseAppearance(appearance);
|
|
13989
|
+
const rootRef = useRef(null);
|
|
13990
|
+
const [triggerRect, setTriggerRect] = useState(null);
|
|
13949
13991
|
const [uncontrolledOpen, setUncontrolledOpen] = useState(defaultOpen);
|
|
13950
13992
|
const isControlled = open !== void 0;
|
|
13951
13993
|
const isOpen = isControlled ? open : uncontrolledOpen;
|
|
13952
13994
|
const canShow = !disabled && hasRenderableNode(content);
|
|
13995
|
+
const shouldPortal = portal && typeof document !== "undefined";
|
|
13996
|
+
const tooltipStyle = useMemo(
|
|
13997
|
+
() => shouldPortal ? getPortalTooltipStyle(placement, triggerRect, theme.styles.tooltip) : theme.styles.tooltip,
|
|
13998
|
+
[placement, shouldPortal, theme.styles.tooltip, triggerRect]
|
|
13999
|
+
);
|
|
13953
14000
|
const setOpen = (nextOpen) => {
|
|
13954
14001
|
if (!canShow && nextOpen) return;
|
|
14002
|
+
if (shouldPortal) {
|
|
14003
|
+
setTriggerRect(nextOpen ? rootRef.current?.getBoundingClientRect() ?? null : null);
|
|
14004
|
+
}
|
|
13955
14005
|
if (!isControlled) {
|
|
13956
14006
|
setUncontrolledOpen(nextOpen);
|
|
13957
14007
|
}
|
|
13958
14008
|
onOpenChange?.(nextOpen);
|
|
13959
14009
|
};
|
|
14010
|
+
useLayoutEffect(() => {
|
|
14011
|
+
if (!shouldPortal || !canShow || !isOpen) return;
|
|
14012
|
+
const updateTriggerRect = () => {
|
|
14013
|
+
setTriggerRect(rootRef.current?.getBoundingClientRect() ?? null);
|
|
14014
|
+
};
|
|
14015
|
+
updateTriggerRect();
|
|
14016
|
+
window.addEventListener("resize", updateTriggerRect);
|
|
14017
|
+
window.addEventListener("scroll", updateTriggerRect, true);
|
|
14018
|
+
return () => {
|
|
14019
|
+
window.removeEventListener("resize", updateTriggerRect);
|
|
14020
|
+
window.removeEventListener("scroll", updateTriggerRect, true);
|
|
14021
|
+
};
|
|
14022
|
+
}, [canShow, isOpen, shouldPortal]);
|
|
14023
|
+
const tooltipContent = canShow && isOpen && (!shouldPortal || triggerRect) ? /* @__PURE__ */ jsx(
|
|
14024
|
+
"span",
|
|
14025
|
+
{
|
|
14026
|
+
role: "tooltip",
|
|
14027
|
+
className: cn(
|
|
14028
|
+
theme.slots.tooltipContent,
|
|
14029
|
+
shouldPortal ? void 0 : getTooltipPlacementClassName(placement),
|
|
14030
|
+
classNames?.content
|
|
14031
|
+
),
|
|
14032
|
+
style: tooltipStyle,
|
|
14033
|
+
children: content
|
|
14034
|
+
}
|
|
14035
|
+
) : null;
|
|
13960
14036
|
return /* @__PURE__ */ jsxs(
|
|
13961
14037
|
"span",
|
|
13962
14038
|
{
|
|
13963
14039
|
...tooltipProps,
|
|
14040
|
+
ref: rootRef,
|
|
13964
14041
|
className: cn(theme.slots.tooltipRoot, classNames?.root, className),
|
|
13965
14042
|
style,
|
|
13966
14043
|
onMouseEnter: () => setOpen(true),
|
|
@@ -13969,19 +14046,7 @@ function BaseTooltip({
|
|
|
13969
14046
|
onBlur: () => setOpen(false),
|
|
13970
14047
|
children: [
|
|
13971
14048
|
/* @__PURE__ */ jsx("span", { className: cn(theme.slots.tooltipTrigger, classNames?.trigger), children }),
|
|
13972
|
-
|
|
13973
|
-
"span",
|
|
13974
|
-
{
|
|
13975
|
-
role: "tooltip",
|
|
13976
|
-
className: cn(
|
|
13977
|
-
theme.slots.tooltipContent,
|
|
13978
|
-
getTooltipPlacementClassName(placement),
|
|
13979
|
-
classNames?.content
|
|
13980
|
-
),
|
|
13981
|
-
style: theme.styles.tooltip,
|
|
13982
|
-
children: content
|
|
13983
|
-
}
|
|
13984
|
-
) : null
|
|
14049
|
+
shouldPortal && tooltipContent ? createPortal(tooltipContent, document.body) : tooltipContent
|
|
13985
14050
|
]
|
|
13986
14051
|
}
|
|
13987
14052
|
);
|
|
@@ -21445,6 +21510,7 @@ function NavigationLayoutActionButtons({
|
|
|
21445
21510
|
appearance: NAVIGATION_LAYOUT_DEFAULT_APPEARANCE,
|
|
21446
21511
|
content: action.label,
|
|
21447
21512
|
placement: "right",
|
|
21513
|
+
portal: true,
|
|
21448
21514
|
children: /* @__PURE__ */ jsx(
|
|
21449
21515
|
BaseButton,
|
|
21450
21516
|
{
|
|
@@ -21594,6 +21660,7 @@ function SidebarBrand({
|
|
|
21594
21660
|
appearance: NAVIGATION_LAYOUT_DEFAULT_APPEARANCE,
|
|
21595
21661
|
content: brandTitle,
|
|
21596
21662
|
placement: "right",
|
|
21663
|
+
portal: true,
|
|
21597
21664
|
children: /* @__PURE__ */ jsx(
|
|
21598
21665
|
BaseButton,
|
|
21599
21666
|
{
|
|
@@ -21658,6 +21725,7 @@ function Sidebar({
|
|
|
21658
21725
|
appearance: NAVIGATION_LAYOUT_DEFAULT_APPEARANCE,
|
|
21659
21726
|
content: item.label,
|
|
21660
21727
|
placement: "right",
|
|
21728
|
+
portal: true,
|
|
21661
21729
|
children: /* @__PURE__ */ jsx(
|
|
21662
21730
|
BaseButton,
|
|
21663
21731
|
{
|