@underverse-ui/underverse 1.0.93 → 1.0.95
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/api-reference.json +1 -1
- package/dist/index.cjs +114 -87
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +4 -3
- package/dist/index.d.ts +4 -3
- package/dist/index.js +124 -97
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.cts
CHANGED
|
@@ -465,7 +465,7 @@ declare const ToastProvider: React__default.FC<ToastProviderProps>;
|
|
|
465
465
|
|
|
466
466
|
type Side = "top" | "right" | "bottom" | "left";
|
|
467
467
|
type TooltipPlacement = Side;
|
|
468
|
-
|
|
468
|
+
declare const Tooltip: React$1.ForwardRefExoticComponent<Omit<React$1.HTMLAttributes<HTMLElement>, "children" | "content"> & {
|
|
469
469
|
children: React$1.ReactElement;
|
|
470
470
|
content: React$1.ReactNode;
|
|
471
471
|
placement?: TooltipPlacement;
|
|
@@ -476,8 +476,9 @@ interface TooltipProps {
|
|
|
476
476
|
className?: string;
|
|
477
477
|
disabled?: boolean;
|
|
478
478
|
variant?: "default" | "info" | "warning" | "error" | "success";
|
|
479
|
-
|
|
480
|
-
|
|
479
|
+
/** When true, augment the child directly instead of adding a wrapper. Default: true */
|
|
480
|
+
asChild?: boolean;
|
|
481
|
+
} & React$1.RefAttributes<HTMLElement>>;
|
|
481
482
|
|
|
482
483
|
type PopoverPlacement = "top" | "bottom" | "left" | "right" | "top-start" | "bottom-start" | "top-end" | "bottom-end";
|
|
483
484
|
interface PopoverProps {
|
package/dist/index.d.ts
CHANGED
|
@@ -465,7 +465,7 @@ declare const ToastProvider: React__default.FC<ToastProviderProps>;
|
|
|
465
465
|
|
|
466
466
|
type Side = "top" | "right" | "bottom" | "left";
|
|
467
467
|
type TooltipPlacement = Side;
|
|
468
|
-
|
|
468
|
+
declare const Tooltip: React$1.ForwardRefExoticComponent<Omit<React$1.HTMLAttributes<HTMLElement>, "children" | "content"> & {
|
|
469
469
|
children: React$1.ReactElement;
|
|
470
470
|
content: React$1.ReactNode;
|
|
471
471
|
placement?: TooltipPlacement;
|
|
@@ -476,8 +476,9 @@ interface TooltipProps {
|
|
|
476
476
|
className?: string;
|
|
477
477
|
disabled?: boolean;
|
|
478
478
|
variant?: "default" | "info" | "warning" | "error" | "success";
|
|
479
|
-
|
|
480
|
-
|
|
479
|
+
/** When true, augment the child directly instead of adding a wrapper. Default: true */
|
|
480
|
+
asChild?: boolean;
|
|
481
|
+
} & React$1.RefAttributes<HTMLElement>>;
|
|
481
482
|
|
|
482
483
|
type PopoverPlacement = "top" | "bottom" | "left" | "right" | "top-start" | "bottom-start" | "top-end" | "bottom-end";
|
|
483
484
|
interface PopoverProps {
|
package/dist/index.js
CHANGED
|
@@ -481,13 +481,13 @@ var Card = React2.forwardRef(
|
|
|
481
481
|
"h3",
|
|
482
482
|
{
|
|
483
483
|
className: cn(
|
|
484
|
-
"min-w-0 text-base md:text-lg font-semibold leading-tight tracking-tight
|
|
484
|
+
"min-w-0 text-base md:text-lg font-semibold leading-tight tracking-tight wrap-anywhere transition-colors duration-200 max-md:text-sm",
|
|
485
485
|
hoverable && "group-hover:text-primary"
|
|
486
486
|
),
|
|
487
487
|
children: title
|
|
488
488
|
}
|
|
489
489
|
),
|
|
490
|
-
description && /* @__PURE__ */ jsx3("p", { className: "min-w-0 text-sm md:text-base text-muted-foreground leading-relaxed
|
|
490
|
+
description && /* @__PURE__ */ jsx3("p", { className: "min-w-0 text-sm md:text-base text-muted-foreground leading-relaxed wrap-anywhere", children: description })
|
|
491
491
|
] }),
|
|
492
492
|
children && /* @__PURE__ */ jsx3("div", { className: cn("relative", defaultPaddingX, defaultPaddingY, contentClassName), children }),
|
|
493
493
|
footer && /* @__PURE__ */ jsx3(
|
|
@@ -2745,6 +2745,26 @@ function useHydrated() {
|
|
|
2745
2745
|
return useSyncExternalStore(subscribe, getSnapshot, getServerSnapshot);
|
|
2746
2746
|
}
|
|
2747
2747
|
|
|
2748
|
+
// src/utils/react-compose.ts
|
|
2749
|
+
function chainEventHandlers(...handlers) {
|
|
2750
|
+
return (event) => {
|
|
2751
|
+
handlers.forEach((handler) => handler?.(event));
|
|
2752
|
+
};
|
|
2753
|
+
}
|
|
2754
|
+
function setRefValue(ref, value) {
|
|
2755
|
+
if (!ref) return;
|
|
2756
|
+
if (typeof ref === "function") {
|
|
2757
|
+
ref(value);
|
|
2758
|
+
return;
|
|
2759
|
+
}
|
|
2760
|
+
ref.current = value;
|
|
2761
|
+
}
|
|
2762
|
+
function mergeRefs(...refs) {
|
|
2763
|
+
return (value) => {
|
|
2764
|
+
refs.forEach((ref) => setRefValue(ref, value));
|
|
2765
|
+
};
|
|
2766
|
+
}
|
|
2767
|
+
|
|
2748
2768
|
// src/components/Tooltip.tsx
|
|
2749
2769
|
import { Fragment as Fragment2, jsx as jsx10, jsxs as jsxs6 } from "react/jsx-runtime";
|
|
2750
2770
|
var variantStyles2 = {
|
|
@@ -2799,15 +2819,17 @@ function computeTooltipPosition(args) {
|
|
|
2799
2819
|
top = clamp(top, padding, viewport.height - contentSize.height - padding);
|
|
2800
2820
|
return { top, left, side };
|
|
2801
2821
|
}
|
|
2802
|
-
var Tooltip = ({
|
|
2822
|
+
var Tooltip = React9.forwardRef(({
|
|
2803
2823
|
children,
|
|
2804
2824
|
content,
|
|
2805
2825
|
placement = "top",
|
|
2806
2826
|
delay = { open: 200, close: 300 },
|
|
2807
2827
|
className,
|
|
2808
2828
|
disabled = false,
|
|
2809
|
-
variant = "default"
|
|
2810
|
-
|
|
2829
|
+
variant = "default",
|
|
2830
|
+
asChild = true,
|
|
2831
|
+
...triggerPassthroughProps
|
|
2832
|
+
}, forwardedRef) => {
|
|
2811
2833
|
const [isOpen, setIsOpen] = React9.useState(false);
|
|
2812
2834
|
const isMounted = useHydrated();
|
|
2813
2835
|
const triggerRef = React9.useRef(null);
|
|
@@ -2922,40 +2944,57 @@ var Tooltip = ({
|
|
|
2922
2944
|
if (panelRef.current) ro.observe(panelRef.current);
|
|
2923
2945
|
return () => ro.disconnect();
|
|
2924
2946
|
}, [isOpen, updatePosition]);
|
|
2947
|
+
const childProps = children.props;
|
|
2948
|
+
const childRef = childProps.ref;
|
|
2949
|
+
const passthroughRef = mergeRefs(forwardedRef, childRef, (node) => {
|
|
2950
|
+
triggerRef.current = node;
|
|
2951
|
+
});
|
|
2925
2952
|
if (disabled || !content) {
|
|
2926
|
-
return children;
|
|
2953
|
+
if (!asChild) return children;
|
|
2954
|
+
return React9.cloneElement(children, {
|
|
2955
|
+
...triggerPassthroughProps,
|
|
2956
|
+
ref: passthroughRef
|
|
2957
|
+
});
|
|
2927
2958
|
}
|
|
2959
|
+
const triggerProps = {
|
|
2960
|
+
...triggerPassthroughProps,
|
|
2961
|
+
ref: passthroughRef,
|
|
2962
|
+
"data-underverse-tooltip-trigger": triggerSelector,
|
|
2963
|
+
onMouseEnter: chainEventHandlers(
|
|
2964
|
+
triggerPassthroughProps.onMouseEnter,
|
|
2965
|
+
childProps.onMouseEnter,
|
|
2966
|
+
(e) => {
|
|
2967
|
+
triggerRef.current = e.currentTarget;
|
|
2968
|
+
handleMouseEnter();
|
|
2969
|
+
}
|
|
2970
|
+
),
|
|
2971
|
+
onMouseLeave: chainEventHandlers(
|
|
2972
|
+
triggerPassthroughProps.onMouseLeave,
|
|
2973
|
+
childProps.onMouseLeave,
|
|
2974
|
+
(e) => {
|
|
2975
|
+
triggerRef.current = e.currentTarget;
|
|
2976
|
+
handleMouseLeave();
|
|
2977
|
+
}
|
|
2978
|
+
),
|
|
2979
|
+
onFocus: chainEventHandlers(
|
|
2980
|
+
triggerPassthroughProps.onFocus,
|
|
2981
|
+
childProps.onFocus,
|
|
2982
|
+
(e) => {
|
|
2983
|
+
triggerRef.current = e.currentTarget;
|
|
2984
|
+
handleFocus();
|
|
2985
|
+
}
|
|
2986
|
+
),
|
|
2987
|
+
onBlur: chainEventHandlers(
|
|
2988
|
+
triggerPassthroughProps.onBlur,
|
|
2989
|
+
childProps.onBlur,
|
|
2990
|
+
(e) => {
|
|
2991
|
+
handleBlur();
|
|
2992
|
+
}
|
|
2993
|
+
)
|
|
2994
|
+
};
|
|
2995
|
+
const trigger = asChild ? React9.cloneElement(children, triggerProps) : /* @__PURE__ */ jsx10("span", { ...triggerProps, children });
|
|
2928
2996
|
return /* @__PURE__ */ jsxs6(Fragment2, { children: [
|
|
2929
|
-
|
|
2930
|
-
const TriggerComponent = children.type;
|
|
2931
|
-
const triggerProps = children.props;
|
|
2932
|
-
return /* @__PURE__ */ jsx10(
|
|
2933
|
-
TriggerComponent,
|
|
2934
|
-
{
|
|
2935
|
-
...triggerProps,
|
|
2936
|
-
"data-underverse-tooltip-trigger": triggerSelector,
|
|
2937
|
-
onMouseEnter: (e) => {
|
|
2938
|
-
triggerRef.current = e.currentTarget;
|
|
2939
|
-
handleMouseEnter();
|
|
2940
|
-
if (typeof triggerProps.onMouseEnter === "function") triggerProps.onMouseEnter(e);
|
|
2941
|
-
},
|
|
2942
|
-
onMouseLeave: (e) => {
|
|
2943
|
-
triggerRef.current = e.currentTarget;
|
|
2944
|
-
handleMouseLeave();
|
|
2945
|
-
if (typeof triggerProps.onMouseLeave === "function") triggerProps.onMouseLeave(e);
|
|
2946
|
-
},
|
|
2947
|
-
onFocus: (e) => {
|
|
2948
|
-
triggerRef.current = e.currentTarget;
|
|
2949
|
-
handleFocus();
|
|
2950
|
-
if (typeof triggerProps.onFocus === "function") triggerProps.onFocus(e);
|
|
2951
|
-
},
|
|
2952
|
-
onBlur: (e) => {
|
|
2953
|
-
handleBlur();
|
|
2954
|
-
if (typeof triggerProps.onBlur === "function") triggerProps.onBlur(e);
|
|
2955
|
-
}
|
|
2956
|
-
}
|
|
2957
|
-
);
|
|
2958
|
-
})(),
|
|
2997
|
+
trigger,
|
|
2959
2998
|
isMounted && isOpen && createPortal(
|
|
2960
2999
|
/* @__PURE__ */ jsx10(
|
|
2961
3000
|
"div",
|
|
@@ -2995,7 +3034,8 @@ var Tooltip = ({
|
|
|
2995
3034
|
document.body
|
|
2996
3035
|
)
|
|
2997
3036
|
] });
|
|
2998
|
-
};
|
|
3037
|
+
});
|
|
3038
|
+
Tooltip.displayName = "Tooltip";
|
|
2999
3039
|
|
|
3000
3040
|
// src/components/emoji-ui.tsx
|
|
3001
3041
|
import { jsx as jsx11 } from "react/jsx-runtime";
|
|
@@ -3963,10 +4003,10 @@ var EmojiPicker = ({
|
|
|
3963
4003
|
var EmojiPicker_default = EmojiPicker;
|
|
3964
4004
|
|
|
3965
4005
|
// src/components/TagInput.tsx
|
|
3966
|
-
import { forwardRef as
|
|
4006
|
+
import { forwardRef as forwardRef5, useState as useState7, useRef as useRef5, useId as useId3 } from "react";
|
|
3967
4007
|
import { X as X3, Search as Search3, Loader2 as Loader22 } from "lucide-react";
|
|
3968
4008
|
import { jsx as jsx13, jsxs as jsxs8 } from "react/jsx-runtime";
|
|
3969
|
-
var TagInput =
|
|
4009
|
+
var TagInput = forwardRef5(
|
|
3970
4010
|
({
|
|
3971
4011
|
value = [],
|
|
3972
4012
|
onChange,
|
|
@@ -5920,36 +5960,32 @@ var Popover = ({
|
|
|
5920
5960
|
) : null;
|
|
5921
5961
|
return /* @__PURE__ */ jsxs15(Fragment4, { children: [
|
|
5922
5962
|
(() => {
|
|
5923
|
-
const TriggerComponent = trigger.type;
|
|
5924
5963
|
const triggerProps = trigger.props;
|
|
5925
|
-
|
|
5926
|
-
|
|
5927
|
-
|
|
5928
|
-
|
|
5929
|
-
|
|
5930
|
-
|
|
5964
|
+
const childRef = triggerProps.ref;
|
|
5965
|
+
return React18.cloneElement(trigger, {
|
|
5966
|
+
...triggerProps,
|
|
5967
|
+
ref: mergeRefs(childRef, (node) => {
|
|
5968
|
+
triggerRef.current = node;
|
|
5969
|
+
}),
|
|
5970
|
+
"data-underverse-popover-trigger": triggerSelector,
|
|
5971
|
+
onClick: chainEventHandlers(
|
|
5972
|
+
(e) => {
|
|
5931
5973
|
triggerRef.current = e.currentTarget;
|
|
5932
5974
|
e.preventDefault();
|
|
5933
5975
|
e.stopPropagation();
|
|
5934
5976
|
handleTriggerClick();
|
|
5935
|
-
if (typeof triggerProps.onClick === "function") {
|
|
5936
|
-
triggerProps.onClick(e);
|
|
5937
|
-
}
|
|
5938
5977
|
},
|
|
5939
|
-
|
|
5978
|
+
triggerProps.onClick
|
|
5979
|
+
),
|
|
5980
|
+
onFocus: chainEventHandlers(
|
|
5981
|
+
(e) => {
|
|
5940
5982
|
triggerRef.current = e.currentTarget;
|
|
5941
|
-
if (typeof triggerProps.onFocus === "function") {
|
|
5942
|
-
triggerProps.onFocus(e);
|
|
5943
|
-
}
|
|
5944
5983
|
},
|
|
5945
|
-
|
|
5946
|
-
|
|
5947
|
-
|
|
5948
|
-
|
|
5949
|
-
|
|
5950
|
-
)
|
|
5951
|
-
}
|
|
5952
|
-
);
|
|
5984
|
+
triggerProps.onFocus
|
|
5985
|
+
),
|
|
5986
|
+
"aria-expanded": isOpen,
|
|
5987
|
+
"aria-haspopup": triggerProps["aria-haspopup"] ?? "dialog"
|
|
5988
|
+
});
|
|
5953
5989
|
})(),
|
|
5954
5990
|
popoverContent
|
|
5955
5991
|
] });
|
|
@@ -6828,17 +6864,18 @@ var DropdownMenu = ({
|
|
|
6828
6864
|
index
|
|
6829
6865
|
);
|
|
6830
6866
|
}) : children });
|
|
6831
|
-
const TriggerComponent = trigger.type;
|
|
6832
6867
|
const triggerProps = trigger.props;
|
|
6833
|
-
const
|
|
6834
|
-
|
|
6835
|
-
|
|
6836
|
-
|
|
6837
|
-
|
|
6838
|
-
|
|
6839
|
-
|
|
6840
|
-
|
|
6841
|
-
|
|
6868
|
+
const childRef = triggerProps.ref;
|
|
6869
|
+
const enhancedTrigger = React23.cloneElement(trigger, {
|
|
6870
|
+
...triggerProps,
|
|
6871
|
+
ref: mergeRefs(childRef, (node) => {
|
|
6872
|
+
triggerRef.current = node;
|
|
6873
|
+
}),
|
|
6874
|
+
"aria-haspopup": "menu",
|
|
6875
|
+
"aria-expanded": open,
|
|
6876
|
+
onKeyDown: chainEventHandlers((e) => {
|
|
6877
|
+
triggerRef.current = e.currentTarget;
|
|
6878
|
+
if (!disabled) {
|
|
6842
6879
|
if (e.key === "ArrowDown") {
|
|
6843
6880
|
e.preventDefault();
|
|
6844
6881
|
setOpen(true);
|
|
@@ -6854,22 +6891,12 @@ var DropdownMenu = ({
|
|
|
6854
6891
|
e.preventDefault();
|
|
6855
6892
|
setOpen(false);
|
|
6856
6893
|
}
|
|
6857
|
-
|
|
6858
|
-
|
|
6859
|
-
|
|
6860
|
-
|
|
6861
|
-
|
|
6862
|
-
|
|
6863
|
-
if (typeof triggerProps.onFocus === "function") {
|
|
6864
|
-
triggerProps.onFocus(e);
|
|
6865
|
-
}
|
|
6866
|
-
},
|
|
6867
|
-
className: cn(
|
|
6868
|
-
triggerProps.className,
|
|
6869
|
-
"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background"
|
|
6870
|
-
)
|
|
6871
|
-
}
|
|
6872
|
-
);
|
|
6894
|
+
}
|
|
6895
|
+
}, triggerProps.onKeyDown),
|
|
6896
|
+
onFocus: chainEventHandlers((e) => {
|
|
6897
|
+
triggerRef.current = e.currentTarget;
|
|
6898
|
+
}, triggerProps.onFocus)
|
|
6899
|
+
});
|
|
6873
6900
|
return /* @__PURE__ */ jsx28(
|
|
6874
6901
|
Popover,
|
|
6875
6902
|
{
|
|
@@ -7801,7 +7828,7 @@ Section.displayName = "Section";
|
|
|
7801
7828
|
var Section_default = Section;
|
|
7802
7829
|
|
|
7803
7830
|
// src/components/ScrollArea.tsx
|
|
7804
|
-
import { forwardRef as
|
|
7831
|
+
import { forwardRef as forwardRef7, useRef as useRef11 } from "react";
|
|
7805
7832
|
import { jsx as jsx32 } from "react/jsx-runtime";
|
|
7806
7833
|
var variantClasses2 = {
|
|
7807
7834
|
default: "bg-background",
|
|
@@ -7809,7 +7836,7 @@ var variantClasses2 = {
|
|
|
7809
7836
|
primary: "bg-primary/5",
|
|
7810
7837
|
accent: "bg-accent/10"
|
|
7811
7838
|
};
|
|
7812
|
-
var ScrollArea =
|
|
7839
|
+
var ScrollArea = forwardRef7(
|
|
7813
7840
|
({
|
|
7814
7841
|
className,
|
|
7815
7842
|
contentClassName,
|
|
@@ -7836,9 +7863,9 @@ var ScrollArea = forwardRef6(
|
|
|
7836
7863
|
ScrollArea.displayName = "ScrollArea";
|
|
7837
7864
|
|
|
7838
7865
|
// src/components/OverlayScrollArea.tsx
|
|
7839
|
-
import { forwardRef as
|
|
7866
|
+
import { forwardRef as forwardRef8, useRef as useRef12 } from "react";
|
|
7840
7867
|
import { jsx as jsx33 } from "react/jsx-runtime";
|
|
7841
|
-
var OverlayScrollArea =
|
|
7868
|
+
var OverlayScrollArea = forwardRef8(
|
|
7842
7869
|
({ className, viewportClassName, viewportProps, enabled = true, overflowHidden = true, overlayScrollbarOptions, children, ...props }, ref) => {
|
|
7843
7870
|
const viewportRef = useRef12(null);
|
|
7844
7871
|
useOverlayScrollbarTarget(viewportRef, {
|
|
@@ -17052,7 +17079,7 @@ function CategoryTreeSelect(props) {
|
|
|
17052
17079
|
// View-only mode: just display the name with folder icon
|
|
17053
17080
|
/* @__PURE__ */ jsxs39("div", { className: cn("flex min-w-0 items-center", TREE_NODE_GAP_CLASS), children: [
|
|
17054
17081
|
category.icon ? /* @__PURE__ */ jsx49("div", { className: "h-4 w-4 shrink-0 flex items-center justify-center text-muted-foreground/60", children: category.icon }) : hasChildren ? /* @__PURE__ */ jsx49(FolderTree, { className: "h-4 w-4 shrink-0 text-muted-foreground/60" }) : /* @__PURE__ */ jsx49("div", { className: "h-1.5 w-1.5 shrink-0 rounded-full bg-muted-foreground/40" }),
|
|
17055
|
-
/* @__PURE__ */ jsx49("span", { className: "min-w-0 text-sm font-medium leading-snug
|
|
17082
|
+
/* @__PURE__ */ jsx49("span", { className: "min-w-0 text-sm font-medium leading-snug wrap-anywhere", children: category.name })
|
|
17056
17083
|
] })
|
|
17057
17084
|
) : (
|
|
17058
17085
|
// Single/Multi select mode: icon + text + badge
|
|
@@ -17062,7 +17089,7 @@ function CategoryTreeSelect(props) {
|
|
|
17062
17089
|
"span",
|
|
17063
17090
|
{
|
|
17064
17091
|
className: cn(
|
|
17065
|
-
"min-w-0 flex-1 text-sm leading-snug
|
|
17092
|
+
"min-w-0 flex-1 text-sm leading-snug wrap-anywhere transition-all duration-200",
|
|
17066
17093
|
isSelected ? "font-semibold text-primary" : "text-foreground/80",
|
|
17067
17094
|
!isSelectable && "text-foreground"
|
|
17068
17095
|
),
|
|
@@ -22916,7 +22943,7 @@ import { common, createLowlight } from "lowlight";
|
|
|
22916
22943
|
import { Extension } from "@tiptap/core";
|
|
22917
22944
|
import Suggestion from "@tiptap/suggestion";
|
|
22918
22945
|
import { ReactRenderer } from "@tiptap/react";
|
|
22919
|
-
import React66, { forwardRef as
|
|
22946
|
+
import React66, { forwardRef as forwardRef14, useEffect as useEffect31, useImperativeHandle, useRef as useRef26 } from "react";
|
|
22920
22947
|
import {
|
|
22921
22948
|
FileCode as FileCode2,
|
|
22922
22949
|
Heading1,
|
|
@@ -23120,7 +23147,7 @@ function buildSlashCommandItems({
|
|
|
23120
23147
|
}
|
|
23121
23148
|
].filter((item) => item.title.toLowerCase().includes(query.toLowerCase()));
|
|
23122
23149
|
}
|
|
23123
|
-
var SlashCommandList =
|
|
23150
|
+
var SlashCommandList = forwardRef14((props, ref) => {
|
|
23124
23151
|
const [selectedIndex, setSelectedIndex] = useResettingIndex2(props.items);
|
|
23125
23152
|
const listRef = useRef26(null);
|
|
23126
23153
|
useEffect31(() => {
|
|
@@ -23361,7 +23388,7 @@ import { Extension as Extension3 } from "@tiptap/core";
|
|
|
23361
23388
|
import Suggestion2 from "@tiptap/suggestion";
|
|
23362
23389
|
import { ReactRenderer as ReactRenderer2 } from "@tiptap/react";
|
|
23363
23390
|
import { PluginKey } from "@tiptap/pm/state";
|
|
23364
|
-
import React67, { forwardRef as
|
|
23391
|
+
import React67, { forwardRef as forwardRef15, useImperativeHandle as useImperativeHandle2 } from "react";
|
|
23365
23392
|
import { Smile as Smile2 } from "lucide-react";
|
|
23366
23393
|
import { jsx as jsx75, jsxs as jsxs63 } from "react/jsx-runtime";
|
|
23367
23394
|
function useResettingIndex3(resetToken) {
|
|
@@ -23378,7 +23405,7 @@ function useResettingIndex3(resetToken) {
|
|
|
23378
23405
|
}, [resetToken]);
|
|
23379
23406
|
return [selectedIndex, setSelectedIndex];
|
|
23380
23407
|
}
|
|
23381
|
-
var EmojiList =
|
|
23408
|
+
var EmojiList = forwardRef15((props, ref) => {
|
|
23382
23409
|
const t = useSmartTranslations("UEditor");
|
|
23383
23410
|
const [selectedIndex, setSelectedIndex] = useResettingIndex3(props.items);
|
|
23384
23411
|
const showingCountLabel = formatEmojiCountLabel(t("emojiSuggestion.showingCount"), 64, props.items.length);
|