@forgedevstack/bear 1.0.6 → 1.0.7
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/BottomSheet/BottomSheet.cjs +1 -0
- package/dist/components/BottomSheet/BottomSheet.d.ts +3 -0
- package/dist/components/BottomSheet/BottomSheet.js +102 -0
- package/dist/components/BottomSheet/BottomSheet.types.d.ts +13 -0
- package/dist/components/BottomSheet/index.d.ts +2 -0
- package/dist/components/Button/Button.cjs +1 -1
- package/dist/components/Button/Button.js +40 -38
- package/dist/components/Button/Button.types.d.ts +4 -0
- package/dist/components/EmojiPicker/EmojiPicker.cjs +1 -0
- package/dist/components/EmojiPicker/EmojiPicker.const.cjs +1 -0
- package/dist/components/EmojiPicker/EmojiPicker.const.d.ts +5 -0
- package/dist/components/EmojiPicker/EmojiPicker.const.js +10 -0
- package/dist/components/EmojiPicker/EmojiPicker.d.ts +3 -0
- package/dist/components/EmojiPicker/EmojiPicker.js +63 -0
- package/dist/components/EmojiPicker/EmojiPicker.types.d.ts +6 -0
- package/dist/components/EmojiPicker/index.d.ts +3 -0
- package/dist/components/Kanban/Kanban.cjs +1 -0
- package/dist/components/Kanban/Kanban.d.ts +3 -0
- package/dist/components/Kanban/Kanban.js +90 -0
- package/dist/components/Kanban/Kanban.types.d.ts +21 -0
- package/dist/components/Kanban/index.d.ts +2 -0
- package/dist/components/MentionsInput/MentionsInput.cjs +1 -0
- package/dist/components/MentionsInput/MentionsInput.d.ts +3 -0
- package/dist/components/MentionsInput/MentionsInput.js +140 -0
- package/dist/components/MentionsInput/MentionsInput.types.d.ts +21 -0
- package/dist/components/MentionsInput/index.d.ts +2 -0
- package/dist/components/RichEditor/RichEditor.cjs +1 -1
- package/dist/components/RichEditor/RichEditor.const.cjs +2 -2
- package/dist/components/RichEditor/RichEditor.const.d.ts +4 -1
- package/dist/components/RichEditor/RichEditor.const.js +51 -18
- package/dist/components/RichEditor/RichEditor.js +106 -105
- package/dist/components/RichEditor/components/ToolbarColorPicker/ToolbarColorPicker.cjs +1 -1
- package/dist/components/RichEditor/components/ToolbarColorPicker/ToolbarColorPicker.js +105 -95
- package/dist/components/RichEditor/components/ToolbarMore/ToolbarMore.cjs +1 -1
- package/dist/components/RichEditor/components/ToolbarMore/ToolbarMore.d.ts +2 -0
- package/dist/components/RichEditor/components/ToolbarMore/ToolbarMore.js +47 -29
- package/dist/components/SegmentedControl/SegmentedControl.cjs +1 -0
- package/dist/components/SegmentedControl/SegmentedControl.d.ts +3 -0
- package/dist/components/SegmentedControl/SegmentedControl.js +58 -0
- package/dist/components/SegmentedControl/SegmentedControl.types.d.ts +16 -0
- package/dist/components/SegmentedControl/index.d.ts +2 -0
- package/dist/components/SignPad/SignPad.cjs +1 -1
- package/dist/components/SignPad/SignPad.js +98 -90
- package/dist/components/SliderRange/SliderRange.cjs +1 -0
- package/dist/components/SliderRange/SliderRange.d.ts +3 -0
- package/dist/components/SliderRange/SliderRange.js +142 -0
- package/dist/components/SliderRange/SliderRange.types.d.ts +17 -0
- package/dist/components/SliderRange/index.d.ts +2 -0
- package/dist/components/TagsInput/TagsInput.cjs +1 -0
- package/dist/components/TagsInput/TagsInput.d.ts +3 -0
- package/dist/components/TagsInput/TagsInput.js +100 -0
- package/dist/components/TagsInput/TagsInput.types.d.ts +16 -0
- package/dist/components/TagsInput/index.d.ts +2 -0
- package/dist/components/VirtualList/VirtualList.cjs +1 -0
- package/dist/components/VirtualList/VirtualList.d.ts +3 -0
- package/dist/components/VirtualList/VirtualList.js +68 -0
- package/dist/components/VirtualList/VirtualList.types.d.ts +10 -0
- package/dist/components/VirtualList/index.d.ts +2 -0
- package/dist/components/index.cjs +1 -1
- package/dist/components/index.d.ts +16 -0
- package/dist/components/index.js +124 -106
- package/dist/hooks/index.cjs +1 -1
- package/dist/hooks/index.d.ts +4 -0
- package/dist/hooks/index.js +36 -32
- package/dist/hooks/useDragDrop/index.d.ts +2 -0
- package/dist/hooks/useDragDrop/useDragDrop.cjs +1 -0
- package/dist/hooks/useDragDrop/useDragDrop.d.ts +22 -0
- package/dist/hooks/useDragDrop/useDragDrop.js +56 -0
- package/dist/hooks/useDragDrop/useDragDrop.types.d.ts +55 -0
- package/dist/hooks/useLazyLoad/index.d.ts +2 -0
- package/dist/hooks/useLazyLoad/useLazyLoad.cjs +1 -0
- package/dist/hooks/useLazyLoad/useLazyLoad.d.ts +26 -0
- package/dist/hooks/useLazyLoad/useLazyLoad.js +27 -0
- package/dist/hooks/useLazyLoad/useLazyLoad.types.d.ts +25 -0
- package/dist/index.cjs +1 -1
- package/dist/index.js +179 -157
- package/dist/styles.css +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),r=require("react"),N=require("react-dom"),f=require("../../utils/cn.cjs"),z=require("../Icon/index.cjs"),x=300,S={sm:"bear-max-h-[40%]",md:"bear-max-h-[60%]",lg:"bear-max-h-[80%]",full:"bear-max-h-[95%]"},k=({isOpen:b,onClose:s,title:n,children:h,size:y="md",showCloseButton:l=!0,closeOnBackdrop:v=!0,closeOnEscape:c=!0,showHandle:j=!0,className:g})=>{const[a,d]=r.useState(b),[u,o]=r.useState(!1),[p,m]=r.useState(!1);r.useEffect(()=>{if(b){d(!0),o(!1);const t=requestAnimationFrame(()=>m(!0));return()=>cancelAnimationFrame(t)}if(a){m(!1),o(!0);const t=setTimeout(()=>{d(!1),o(!1)},x);return()=>clearTimeout(t)}},[b,a]);const i=r.useCallback(t=>{c&&t.key==="Escape"&&s()},[c,s]);if(r.useEffect(()=>(a&&(document.addEventListener("keydown",i),document.body.style.overflow="hidden"),()=>{document.removeEventListener("keydown",i),document.body.style.overflow=""}),[a,i]),!a)return null;const w=e.jsxs("div",{className:"bear-fixed bear-inset-0 bear-z-50 bear-flex bear-items-end bear-justify-center",children:[e.jsx("div",{className:f.cn("bear-absolute bear-inset-0 bear-bg-black/60 bear-backdrop-blur-sm bear-transition-opacity",u?"bear-opacity-0":"bear-opacity-100"),style:{transitionDuration:`${x}ms`},onClick:v?s:void 0,"aria-hidden":"true"}),e.jsxs("div",{role:"dialog","aria-modal":"true","aria-labelledby":n?"bottom-sheet-title":void 0,className:f.cn("Bear-BottomSheet bear-relative bear-w-full bear-rounded-t-2xl bear-bg-zinc-900 bear-border-t bear-border-zinc-700 bear-shadow-2xl bear-overflow-hidden bear-transition-transform bear-duration-300",S[y],p&&!u?"bear-translate-y-0":"bear-translate-y-full",g),children:[j&&e.jsx("div",{className:"bear-flex bear-justify-center bear-pt-2 bear-pb-1",children:e.jsx("div",{className:"bear-w-12 bear-h-1 bear-rounded-full bear-bg-zinc-600","aria-hidden":!0})}),(n||l)&&e.jsxs("div",{className:"bear-flex bear-items-center bear-justify-between bear-px-4 bear-py-3 bear-border-b bear-border-zinc-700",children:[n&&e.jsx("h2",{id:"bottom-sheet-title",className:"bear-text-lg bear-font-semibold bear-text-white",children:n}),l&&e.jsx("button",{onClick:s,className:"bear-p-1 bear-rounded-lg bear-text-zinc-400 hover:bear-text-white hover:bear-bg-zinc-700 bear-transition-colors","aria-label":"Close",children:e.jsx(z.XIcon,{className:"bear-w-5 bear-h-5"})})]}),e.jsx("div",{className:"bear-flex-1 bear-overflow-y-auto bear-p-4 bear-text-zinc-300",children:h})]})]});return N.createPortal(w,document.body)};exports.BottomSheet=k;
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
import { jsxs as n, jsx as e } from "react/jsx-runtime";
|
|
2
|
+
import { useState as l, useEffect as h, useCallback as j } from "react";
|
|
3
|
+
import { createPortal as I } from "react-dom";
|
|
4
|
+
import { cn as x } from "../../utils/cn.js";
|
|
5
|
+
import { XIcon as A } from "../Icon/index.js";
|
|
6
|
+
const y = 300, E = {
|
|
7
|
+
sm: "bear-max-h-[40%]",
|
|
8
|
+
md: "bear-max-h-[60%]",
|
|
9
|
+
lg: "bear-max-h-[80%]",
|
|
10
|
+
full: "bear-max-h-[95%]"
|
|
11
|
+
}, F = ({
|
|
12
|
+
isOpen: o,
|
|
13
|
+
onClose: t,
|
|
14
|
+
title: b,
|
|
15
|
+
children: v,
|
|
16
|
+
size: p = "md",
|
|
17
|
+
showCloseButton: d = !0,
|
|
18
|
+
closeOnBackdrop: w = !0,
|
|
19
|
+
closeOnEscape: c = !0,
|
|
20
|
+
showHandle: N = !0,
|
|
21
|
+
className: g
|
|
22
|
+
}) => {
|
|
23
|
+
const [r, m] = l(o), [u, s] = l(!1), [z, f] = l(!1);
|
|
24
|
+
h(() => {
|
|
25
|
+
if (o) {
|
|
26
|
+
m(!0), s(!1);
|
|
27
|
+
const a = requestAnimationFrame(() => f(!0));
|
|
28
|
+
return () => cancelAnimationFrame(a);
|
|
29
|
+
}
|
|
30
|
+
if (r) {
|
|
31
|
+
f(!1), s(!0);
|
|
32
|
+
const a = setTimeout(() => {
|
|
33
|
+
m(!1), s(!1);
|
|
34
|
+
}, y);
|
|
35
|
+
return () => clearTimeout(a);
|
|
36
|
+
}
|
|
37
|
+
}, [o, r]);
|
|
38
|
+
const i = j(
|
|
39
|
+
(a) => {
|
|
40
|
+
c && a.key === "Escape" && t();
|
|
41
|
+
},
|
|
42
|
+
[c, t]
|
|
43
|
+
);
|
|
44
|
+
if (h(() => (r && (document.addEventListener("keydown", i), document.body.style.overflow = "hidden"), () => {
|
|
45
|
+
document.removeEventListener("keydown", i), document.body.style.overflow = "";
|
|
46
|
+
}), [r, i]), !r) return null;
|
|
47
|
+
const k = /* @__PURE__ */ n("div", { className: "bear-fixed bear-inset-0 bear-z-50 bear-flex bear-items-end bear-justify-center", children: [
|
|
48
|
+
/* @__PURE__ */ e(
|
|
49
|
+
"div",
|
|
50
|
+
{
|
|
51
|
+
className: x(
|
|
52
|
+
"bear-absolute bear-inset-0 bear-bg-black/60 bear-backdrop-blur-sm bear-transition-opacity",
|
|
53
|
+
u ? "bear-opacity-0" : "bear-opacity-100"
|
|
54
|
+
),
|
|
55
|
+
style: { transitionDuration: `${y}ms` },
|
|
56
|
+
onClick: w ? t : void 0,
|
|
57
|
+
"aria-hidden": "true"
|
|
58
|
+
}
|
|
59
|
+
),
|
|
60
|
+
/* @__PURE__ */ n(
|
|
61
|
+
"div",
|
|
62
|
+
{
|
|
63
|
+
role: "dialog",
|
|
64
|
+
"aria-modal": "true",
|
|
65
|
+
"aria-labelledby": b ? "bottom-sheet-title" : void 0,
|
|
66
|
+
className: x(
|
|
67
|
+
"Bear-BottomSheet bear-relative bear-w-full bear-rounded-t-2xl bear-bg-zinc-900 bear-border-t bear-border-zinc-700 bear-shadow-2xl bear-overflow-hidden bear-transition-transform bear-duration-300",
|
|
68
|
+
E[p],
|
|
69
|
+
z && !u ? "bear-translate-y-0" : "bear-translate-y-full",
|
|
70
|
+
g
|
|
71
|
+
),
|
|
72
|
+
children: [
|
|
73
|
+
N && /* @__PURE__ */ e("div", { className: "bear-flex bear-justify-center bear-pt-2 bear-pb-1", children: /* @__PURE__ */ e("div", { className: "bear-w-12 bear-h-1 bear-rounded-full bear-bg-zinc-600", "aria-hidden": !0 }) }),
|
|
74
|
+
(b || d) && /* @__PURE__ */ n("div", { className: "bear-flex bear-items-center bear-justify-between bear-px-4 bear-py-3 bear-border-b bear-border-zinc-700", children: [
|
|
75
|
+
b && /* @__PURE__ */ e(
|
|
76
|
+
"h2",
|
|
77
|
+
{
|
|
78
|
+
id: "bottom-sheet-title",
|
|
79
|
+
className: "bear-text-lg bear-font-semibold bear-text-white",
|
|
80
|
+
children: b
|
|
81
|
+
}
|
|
82
|
+
),
|
|
83
|
+
d && /* @__PURE__ */ e(
|
|
84
|
+
"button",
|
|
85
|
+
{
|
|
86
|
+
onClick: t,
|
|
87
|
+
className: "bear-p-1 bear-rounded-lg bear-text-zinc-400 hover:bear-text-white hover:bear-bg-zinc-700 bear-transition-colors",
|
|
88
|
+
"aria-label": "Close",
|
|
89
|
+
children: /* @__PURE__ */ e(A, { className: "bear-w-5 bear-h-5" })
|
|
90
|
+
}
|
|
91
|
+
)
|
|
92
|
+
] }),
|
|
93
|
+
/* @__PURE__ */ e("div", { className: "bear-flex-1 bear-overflow-y-auto bear-p-4 bear-text-zinc-300", children: v })
|
|
94
|
+
]
|
|
95
|
+
}
|
|
96
|
+
)
|
|
97
|
+
] });
|
|
98
|
+
return I(k, document.body);
|
|
99
|
+
};
|
|
100
|
+
export {
|
|
101
|
+
F as BottomSheet
|
|
102
|
+
};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
export interface BottomSheetProps {
|
|
3
|
+
isOpen: boolean;
|
|
4
|
+
onClose: () => void;
|
|
5
|
+
title?: ReactNode;
|
|
6
|
+
children: ReactNode;
|
|
7
|
+
size?: 'sm' | 'md' | 'lg' | 'full';
|
|
8
|
+
showCloseButton?: boolean;
|
|
9
|
+
closeOnBackdrop?: boolean;
|
|
10
|
+
closeOnEscape?: boolean;
|
|
11
|
+
showHandle?: boolean;
|
|
12
|
+
className?: string;
|
|
13
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),S=require("react"),l=require("../../utils/cn.cjs"),q=require("../Spinner/Spinner.cjs"),v=require("../../hooks/useBearStyles.cjs"),c=require("./Button.constants.cjs"),u=S.forwardRef((b,d)=>{const{variant:B="primary",size:r="md",loading:t=!1,fullWidth:f=!1,icon:n,iconPosition:s="left",leftIcon:m,rightIcon:_,disabled:h,className:x,children:p,testId:g,bis:y,style:N,...j}=b,I=h||t,a=v.useBearStyles(y,N),i=m??(n&&s==="left"?n:void 0),o=_??(n&&s==="right"?n:void 0);return e.jsxs("button",{ref:d,disabled:I,style:Object.keys(a).length?a:void 0,className:l.cn("Bear-Button","bear-inline-flex bear-items-center bear-justify-center bear-font-medium bear-rounded-lg bear-transition-all bear-duration-200 bear-outline-none",c.BUTTON_SIZE[r],c.BUTTON_VARIANT[B],f&&"bear-w-full",t&&"bear-cursor-wait",x),"data-testid":g,...j,children:[t&&e.jsx(q.Spinner,{size:r==="xs"?"xs":"sm",className:"Bear-Button__spinner bear-absolute"}),e.jsxs("span",{className:l.cn("Bear-Button__content bear-inline-flex bear-items-center bear-gap-inherit",t&&"bear-invisible"),children:[i&&e.jsx("span",{className:"Bear-Button__icon Bear-Button__icon--left bear-inline-flex bear-shrink-0",children:i}),e.jsx("span",{className:"Bear-Button__text",children:p}),o&&e.jsx("span",{className:"Bear-Button__icon Bear-Button__icon--right bear-inline-flex bear-shrink-0",children:o})]})]})});u.displayName="Button";exports.Button=u;
|
|
@@ -1,56 +1,58 @@
|
|
|
1
|
-
import { jsxs as
|
|
2
|
-
import { forwardRef as
|
|
3
|
-
import { cn as
|
|
4
|
-
import { Spinner as
|
|
5
|
-
import { useBearStyles as
|
|
6
|
-
import { BUTTON_VARIANT as
|
|
7
|
-
const
|
|
8
|
-
(
|
|
1
|
+
import { jsxs as l, jsx as r } from "react/jsx-runtime";
|
|
2
|
+
import { forwardRef as v } from "react";
|
|
3
|
+
import { cn as c } from "../../utils/cn.js";
|
|
4
|
+
import { Spinner as T } from "../Spinner/Spinner.js";
|
|
5
|
+
import { useBearStyles as j } from "../../hooks/useBearStyles.js";
|
|
6
|
+
import { BUTTON_VARIANT as S, BUTTON_SIZE as k } from "./Button.constants.js";
|
|
7
|
+
const w = v(
|
|
8
|
+
(m, b) => {
|
|
9
9
|
const {
|
|
10
|
-
variant:
|
|
11
|
-
size:
|
|
10
|
+
variant: d = "primary",
|
|
11
|
+
size: n = "md",
|
|
12
12
|
loading: e = !1,
|
|
13
|
-
fullWidth:
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
13
|
+
fullWidth: f = !1,
|
|
14
|
+
icon: t,
|
|
15
|
+
iconPosition: a = "left",
|
|
16
|
+
leftIcon: u,
|
|
17
|
+
rightIcon: B,
|
|
18
|
+
disabled: p,
|
|
19
|
+
className: _,
|
|
20
|
+
children: h,
|
|
21
|
+
testId: N,
|
|
22
|
+
bis: g,
|
|
23
|
+
style: x,
|
|
24
|
+
...I
|
|
25
|
+
} = m, y = p || e, i = j(g, x), o = u ?? (t && a === "left" ? t : void 0), s = B ?? (t && a === "right" ? t : void 0);
|
|
26
|
+
return /* @__PURE__ */ l(
|
|
25
27
|
"button",
|
|
26
28
|
{
|
|
27
|
-
ref:
|
|
28
|
-
disabled:
|
|
29
|
+
ref: b,
|
|
30
|
+
disabled: y,
|
|
29
31
|
style: Object.keys(i).length ? i : void 0,
|
|
30
|
-
className:
|
|
32
|
+
className: c(
|
|
31
33
|
"Bear-Button",
|
|
32
34
|
"bear-inline-flex bear-items-center bear-justify-center bear-font-medium bear-rounded-lg bear-transition-all bear-duration-200 bear-outline-none",
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
35
|
+
k[n],
|
|
36
|
+
S[d],
|
|
37
|
+
f && "bear-w-full",
|
|
36
38
|
e && "bear-cursor-wait",
|
|
37
|
-
|
|
39
|
+
_
|
|
38
40
|
),
|
|
39
|
-
"data-testid":
|
|
40
|
-
...
|
|
41
|
+
"data-testid": N,
|
|
42
|
+
...I,
|
|
41
43
|
children: [
|
|
42
|
-
e && /* @__PURE__ */ r(
|
|
43
|
-
/* @__PURE__ */
|
|
44
|
-
|
|
45
|
-
/* @__PURE__ */ r("span", { className: "Bear-Button__text", children:
|
|
46
|
-
|
|
44
|
+
e && /* @__PURE__ */ r(T, { size: n === "xs" ? "xs" : "sm", className: "Bear-Button__spinner bear-absolute" }),
|
|
45
|
+
/* @__PURE__ */ l("span", { className: c("Bear-Button__content bear-inline-flex bear-items-center bear-gap-inherit", e && "bear-invisible"), children: [
|
|
46
|
+
o && /* @__PURE__ */ r("span", { className: "Bear-Button__icon Bear-Button__icon--left bear-inline-flex bear-shrink-0", children: o }),
|
|
47
|
+
/* @__PURE__ */ r("span", { className: "Bear-Button__text", children: h }),
|
|
48
|
+
s && /* @__PURE__ */ r("span", { className: "Bear-Button__icon Bear-Button__icon--right bear-inline-flex bear-shrink-0", children: s })
|
|
47
49
|
] })
|
|
48
50
|
]
|
|
49
51
|
}
|
|
50
52
|
);
|
|
51
53
|
}
|
|
52
54
|
);
|
|
53
|
-
|
|
55
|
+
w.displayName = "Button";
|
|
54
56
|
export {
|
|
55
|
-
|
|
57
|
+
w as Button
|
|
56
58
|
};
|
|
@@ -10,6 +10,10 @@ export interface ButtonProps extends Omit<ButtonHTMLAttributes<HTMLButtonElement
|
|
|
10
10
|
loading?: boolean;
|
|
11
11
|
/** Whether button takes full width */
|
|
12
12
|
fullWidth?: boolean;
|
|
13
|
+
/** Icon (shorthand for leftIcon or rightIcon based on iconPosition) */
|
|
14
|
+
icon?: ReactNode;
|
|
15
|
+
/** Position of icon when using icon prop (default: left) */
|
|
16
|
+
iconPosition?: 'left' | 'right';
|
|
13
17
|
/** Icon to show before text */
|
|
14
18
|
leftIcon?: ReactNode;
|
|
15
19
|
/** Icon to show after text */
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("react/jsx-runtime"),x=require("react"),t=require("../../utils/cn.cjs"),s=require("./EmojiPicker.const.cjs"),u={sm:"bear-w-8 bear-h-8 bear-text-lg",md:"bear-w-10 bear-h-10 bear-text-xl",lg:"bear-w-12 bear-h-12 bear-text-2xl"},i=Object.keys(s.BEAR_EMOJIS),y=({onSelect:a,size:n="md",maxHeight:b=280,className:c})=>{const[o,d]=x.useState(i[0]),g=s.BEAR_EMOJIS[o]??[];return r.jsxs("div",{className:t.cn("Bear-EmojiPicker bear-flex bear-flex-col bear-rounded-lg bear-bg-white dark:bear-bg-zinc-800 bear-border bear-border-gray-200 dark:bear-border-zinc-700 bear-shadow-lg bear-overflow-hidden",c),children:[r.jsx("div",{className:"bear-flex bear-gap-1 bear-p-2 bear-border-b bear-border-gray-200 dark:bear-border-zinc-700 bear-overflow-x-auto",children:i.map(e=>r.jsx("button",{type:"button",onClick:()=>d(e),className:t.cn("bear-px-3 bear-py-1.5 bear-rounded-md bear-text-sm bear-font-medium bear-transition-colors bear-shrink-0",o===e?"bear-bg-gray-200 dark:bear-bg-zinc-700 bear-text-gray-900 dark:bear-text-white":"bear-text-gray-600 dark:bear-text-zinc-400 hover:bear-text-gray-900 dark:hover:bear-text-white hover:bear-bg-gray-100 dark:hover:bear-bg-zinc-700/50"),children:e},e))}),r.jsx("div",{className:"bear-p-2 bear-overflow-y-auto bear-grid bear-grid-cols-8 bear-gap-1 bear-bg-gray-50 dark:bear-bg-zinc-900/50",style:{maxHeight:typeof b=="number"?`${b}px`:b},children:g.map((e,l)=>r.jsx("button",{type:"button",onClick:()=>a==null?void 0:a(e),className:t.cn("bear-flex bear-items-center bear-justify-center bear-rounded-lg bear-transition-colors hover:bear-bg-gray-200 dark:hover:bear-bg-zinc-700",u[n]),children:e},`${e}-${l}`))})]})};exports.EmojiPicker=y;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e={Smileys:["😀","😃","😄","😁","😊","🙂","😉","😍","🥰","😘","😗","😙","😚","😋","😛","😜","🤪","😝","🤑","🤗","🤭","🤫","🤔","🤐","🤨","😐","😑","😶","😏","😒"],Gestures:["👍","👎","👌","✌️","🤞","🤟","🤘","🤙","👈","👉","👆","👇","☝️","✋","🤚","🖐️","🖖","👋","🤝","🙌","👏","🙏"],Symbols:["❤️","🧡","💛","💚","💙","💜","🖤","🤍","🤎","💔","❣️","💕","💞","💓","💗","💖","💘","💝","✨","⭐","🌟","💫","🔥","💯","✅","❌","⚠️","📌"],Objects:["📝","📋","📁","📂","📅","📆","📎","🖇️","📌","✏️","🖊️","🖍️","📧","📬","📭","💡","🔔","🔕"],Nature:["🌸","🌺","🌻","🌼","🌷","🌹","🥀","🪷","🌱","🪴","🌲","🌳","🍀","🍁","🍂","🍃","☀️","🌤️","⛅","🌥️","🌈","⭐","🌙"]};exports.BEAR_EMOJIS=e;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
const e = {
|
|
2
|
+
Smileys: ["😀", "😃", "😄", "😁", "😊", "🙂", "😉", "😍", "🥰", "😘", "😗", "😙", "😚", "😋", "😛", "😜", "🤪", "😝", "🤑", "🤗", "🤭", "🤫", "🤔", "🤐", "🤨", "😐", "😑", "😶", "😏", "😒"],
|
|
3
|
+
Gestures: ["👍", "👎", "👌", "✌️", "🤞", "🤟", "🤘", "🤙", "👈", "👉", "👆", "👇", "☝️", "✋", "🤚", "🖐️", "🖖", "👋", "🤝", "🙌", "👏", "🙏"],
|
|
4
|
+
Symbols: ["❤️", "🧡", "💛", "💚", "💙", "💜", "🖤", "🤍", "🤎", "💔", "❣️", "💕", "💞", "💓", "💗", "💖", "💘", "💝", "✨", "⭐", "🌟", "💫", "🔥", "💯", "✅", "❌", "⚠️", "📌"],
|
|
5
|
+
Objects: ["📝", "📋", "📁", "📂", "📅", "📆", "📎", "🖇️", "📌", "✏️", "🖊️", "🖍️", "📧", "📬", "📭", "💡", "🔔", "🔕"],
|
|
6
|
+
Nature: ["🌸", "🌺", "🌻", "🌼", "🌷", "🌹", "🥀", "🪷", "🌱", "🪴", "🌲", "🌳", "🍀", "🍁", "🍂", "🍃", "☀️", "🌤️", "⛅", "🌥️", "🌈", "⭐", "🌙"]
|
|
7
|
+
};
|
|
8
|
+
export {
|
|
9
|
+
e as BEAR_EMOJIS
|
|
10
|
+
};
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { jsxs as m, jsx as e } from "react/jsx-runtime";
|
|
2
|
+
import { useState as x } from "react";
|
|
3
|
+
import { cn as t } from "../../utils/cn.js";
|
|
4
|
+
import { BEAR_EMOJIS as d } from "./EmojiPicker.const.js";
|
|
5
|
+
const h = {
|
|
6
|
+
sm: "bear-w-8 bear-h-8 bear-text-lg",
|
|
7
|
+
md: "bear-w-10 bear-h-10 bear-text-xl",
|
|
8
|
+
lg: "bear-w-12 bear-h-12 bear-text-2xl"
|
|
9
|
+
}, i = Object.keys(d), u = ({
|
|
10
|
+
onSelect: a,
|
|
11
|
+
size: s = "md",
|
|
12
|
+
maxHeight: b = 280,
|
|
13
|
+
className: n
|
|
14
|
+
}) => {
|
|
15
|
+
const [o, c] = x(i[0]), g = d[o] ?? [];
|
|
16
|
+
return /* @__PURE__ */ m(
|
|
17
|
+
"div",
|
|
18
|
+
{
|
|
19
|
+
className: t(
|
|
20
|
+
"Bear-EmojiPicker bear-flex bear-flex-col bear-rounded-lg bear-bg-white dark:bear-bg-zinc-800 bear-border bear-border-gray-200 dark:bear-border-zinc-700 bear-shadow-lg bear-overflow-hidden",
|
|
21
|
+
n
|
|
22
|
+
),
|
|
23
|
+
children: [
|
|
24
|
+
/* @__PURE__ */ e("div", { className: "bear-flex bear-gap-1 bear-p-2 bear-border-b bear-border-gray-200 dark:bear-border-zinc-700 bear-overflow-x-auto", children: i.map((r) => /* @__PURE__ */ e(
|
|
25
|
+
"button",
|
|
26
|
+
{
|
|
27
|
+
type: "button",
|
|
28
|
+
onClick: () => c(r),
|
|
29
|
+
className: t(
|
|
30
|
+
"bear-px-3 bear-py-1.5 bear-rounded-md bear-text-sm bear-font-medium bear-transition-colors bear-shrink-0",
|
|
31
|
+
o === r ? "bear-bg-gray-200 dark:bear-bg-zinc-700 bear-text-gray-900 dark:bear-text-white" : "bear-text-gray-600 dark:bear-text-zinc-400 hover:bear-text-gray-900 dark:hover:bear-text-white hover:bear-bg-gray-100 dark:hover:bear-bg-zinc-700/50"
|
|
32
|
+
),
|
|
33
|
+
children: r
|
|
34
|
+
},
|
|
35
|
+
r
|
|
36
|
+
)) }),
|
|
37
|
+
/* @__PURE__ */ e(
|
|
38
|
+
"div",
|
|
39
|
+
{
|
|
40
|
+
className: "bear-p-2 bear-overflow-y-auto bear-grid bear-grid-cols-8 bear-gap-1 bear-bg-gray-50 dark:bear-bg-zinc-900/50",
|
|
41
|
+
style: { maxHeight: typeof b == "number" ? `${b}px` : b },
|
|
42
|
+
children: g.map((r, l) => /* @__PURE__ */ e(
|
|
43
|
+
"button",
|
|
44
|
+
{
|
|
45
|
+
type: "button",
|
|
46
|
+
onClick: () => a == null ? void 0 : a(r),
|
|
47
|
+
className: t(
|
|
48
|
+
"bear-flex bear-items-center bear-justify-center bear-rounded-lg bear-transition-colors hover:bear-bg-gray-200 dark:hover:bear-bg-zinc-700",
|
|
49
|
+
h[s]
|
|
50
|
+
),
|
|
51
|
+
children: r
|
|
52
|
+
},
|
|
53
|
+
`${r}-${l}`
|
|
54
|
+
))
|
|
55
|
+
}
|
|
56
|
+
)
|
|
57
|
+
]
|
|
58
|
+
}
|
|
59
|
+
);
|
|
60
|
+
};
|
|
61
|
+
export {
|
|
62
|
+
u as EmojiPicker
|
|
63
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("react/jsx-runtime"),K=require("react"),m=require("../../utils/cn.cjs");require("../../context/BearProvider.cjs");const P=require("../../hooks/useDragDrop/useDragDrop.cjs"),S="bear-kanban",$=({columns:n,onColumnsChange:o,onCardMove:p,renderCard:h,renderColumnHeader:u,disabled:y=!1,className:v})=>{const w=K.useCallback((r,e,i,b,d)=>{const l=n.find(a=>a.id===r),s=n.find(a=>a.id===e);if(!l||!s)return;const f=n.map(a=>{if(a.id===r){const c=a.cards.filter((x,g)=>g!==i);return{...a,cards:c}}if(a.id===e){const c=r===e&&i<b?b-1:b,x=[...a.cards];return x.splice(Math.max(0,c),0,d),{...a,cards:x}}return a});o==null||o(f),p==null||p(d.id,r,e,i,b)},[n,o,p]),{getDragProps:N,getDropProps:j,isDragging:_,draggedId:z,dragOverId:k}=P.useDragDrop({disabled:y,dragType:S,onDrop:(r,e,i,b,d)=>{var D;const l=String(r),s=String(e),f=l.split("-")[0],a=parseInt(l.split("-")[1],10)||0,c=s.endsWith("-col")?s.replace("-col",""):s.split("-")[0],x=s.endsWith("-col")?((D=n.find(q=>q.id===c))==null?void 0:D.cards.length)??0:parseInt(s.split("-")[1],10),g=d;g!=null&&g.id&&w(f,c,a,x,g)}});return t.jsx("div",{className:m.cn("Bear-Kanban bear-flex bear-gap-4 bear-overflow-x-auto bear-pb-4",y&&"bear-opacity-50 bear-pointer-events-none",v),children:n.map(r=>t.jsxs("div",{...j(`${r.id}-col`,r,0),className:m.cn("Bear-Kanban__column bear-flex-shrink-0 bear-w-72 bear-flex bear-flex-col bear-rounded-lg bear-bg-gray-100 dark:bear-bg-zinc-800/80 bear-border bear-border-gray-200 dark:bear-border-zinc-700 bear-transition-colors",k===`${r.id}-col`&&"bear-border-bear-500 bear-bg-bear-500/5"),children:[t.jsx("div",{className:"bear-px-4 bear-py-3 bear-border-b bear-border-gray-200 dark:bear-border-zinc-700",children:u?u(r):t.jsx("h3",{className:"bear-text-sm bear-font-semibold bear-text-gray-900 dark:bear-text-white",children:r.title})}),t.jsx("div",{className:"bear-flex-1 bear-flex bear-flex-col bear-gap-2 bear-p-3 bear-min-h-[120px]",children:r.cards.map((e,i)=>{const b=`${r.id}-${i}`,d=_&&z===b;return t.jsx("div",{...j(b,e,i),...N(b,e,i),className:m.cn("Bear-Kanban__card bear-rounded-lg bear-bg-white dark:bear-bg-zinc-700/80 bear-border bear-border-gray-200 dark:bear-border-zinc-600 bear-p-3 bear-cursor-grab active:bear-cursor-grabbing bear-transition-all bear-shadow-sm",d&&"bear-opacity-50 bear-scale-95",k===b&&"bear-border-bear-500 bear-bg-bear-500/10"),children:h?h(e,r.id):t.jsxs(t.Fragment,{children:[t.jsx("div",{className:"bear-font-medium bear-text-gray-900 dark:bear-text-white",children:e.title}),e.description&&t.jsx("div",{className:"bear-text-sm bear-text-gray-600 dark:bear-text-zinc-400 bear-mt-1",children:e.description}),e.meta&&t.jsx("div",{className:"bear-text-xs bear-text-gray-500 dark:bear-text-zinc-500 bear-mt-2",children:e.meta})]})},e.id)})})]},r.id))})};exports.Kanban=$;
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import { jsx as i, jsxs as D, Fragment as B } from "react/jsx-runtime";
|
|
2
|
+
import { useCallback as I } from "react";
|
|
3
|
+
import { cn as f } from "../../utils/cn.js";
|
|
4
|
+
import "../../context/BearProvider.js";
|
|
5
|
+
import { useDragDrop as P } from "../../hooks/useDragDrop/useDragDrop.js";
|
|
6
|
+
const S = "bear-kanban", O = ({
|
|
7
|
+
columns: d,
|
|
8
|
+
onColumnsChange: o,
|
|
9
|
+
onCardMove: l,
|
|
10
|
+
renderCard: h,
|
|
11
|
+
renderColumnHeader: k,
|
|
12
|
+
disabled: y = !1,
|
|
13
|
+
className: _
|
|
14
|
+
}) => {
|
|
15
|
+
const z = I(
|
|
16
|
+
(r, e, t, b, n) => {
|
|
17
|
+
const x = d.find((a) => a.id === r), s = d.find((a) => a.id === e);
|
|
18
|
+
if (!x || !s) return;
|
|
19
|
+
const m = d.map((a) => {
|
|
20
|
+
if (a.id === r) {
|
|
21
|
+
const c = a.cards.filter((g, p) => p !== t);
|
|
22
|
+
return { ...a, cards: c };
|
|
23
|
+
}
|
|
24
|
+
if (a.id === e) {
|
|
25
|
+
const c = r === e && t < b ? b - 1 : b, g = [...a.cards];
|
|
26
|
+
return g.splice(Math.max(0, c), 0, n), { ...a, cards: g };
|
|
27
|
+
}
|
|
28
|
+
return a;
|
|
29
|
+
});
|
|
30
|
+
o == null || o(m), l == null || l(n.id, r, e, t, b);
|
|
31
|
+
},
|
|
32
|
+
[d, o, l]
|
|
33
|
+
), { getDragProps: u, getDropProps: w, isDragging: K, draggedId: $, dragOverId: N } = P({
|
|
34
|
+
disabled: y,
|
|
35
|
+
dragType: S,
|
|
36
|
+
onDrop: (r, e, t, b, n) => {
|
|
37
|
+
var v;
|
|
38
|
+
const x = String(r), s = String(e), m = x.split("-")[0], a = parseInt(x.split("-")[1], 10) || 0, c = s.endsWith("-col") ? s.replace("-col", "") : s.split("-")[0], g = s.endsWith("-col") ? ((v = d.find((j) => j.id === c)) == null ? void 0 : v.cards.length) ?? 0 : parseInt(s.split("-")[1], 10), p = n;
|
|
39
|
+
p != null && p.id && z(m, c, a, g, p);
|
|
40
|
+
}
|
|
41
|
+
});
|
|
42
|
+
return /* @__PURE__ */ i(
|
|
43
|
+
"div",
|
|
44
|
+
{
|
|
45
|
+
className: f(
|
|
46
|
+
"Bear-Kanban bear-flex bear-gap-4 bear-overflow-x-auto bear-pb-4",
|
|
47
|
+
y && "bear-opacity-50 bear-pointer-events-none",
|
|
48
|
+
_
|
|
49
|
+
),
|
|
50
|
+
children: d.map((r) => /* @__PURE__ */ D(
|
|
51
|
+
"div",
|
|
52
|
+
{
|
|
53
|
+
...w(`${r.id}-col`, r, 0),
|
|
54
|
+
className: f(
|
|
55
|
+
"Bear-Kanban__column bear-flex-shrink-0 bear-w-72 bear-flex bear-flex-col bear-rounded-lg bear-bg-gray-100 dark:bear-bg-zinc-800/80 bear-border bear-border-gray-200 dark:bear-border-zinc-700 bear-transition-colors",
|
|
56
|
+
N === `${r.id}-col` && "bear-border-bear-500 bear-bg-bear-500/5"
|
|
57
|
+
),
|
|
58
|
+
children: [
|
|
59
|
+
/* @__PURE__ */ i("div", { className: "bear-px-4 bear-py-3 bear-border-b bear-border-gray-200 dark:bear-border-zinc-700", children: k ? k(r) : /* @__PURE__ */ i("h3", { className: "bear-text-sm bear-font-semibold bear-text-gray-900 dark:bear-text-white", children: r.title }) }),
|
|
60
|
+
/* @__PURE__ */ i("div", { className: "bear-flex-1 bear-flex bear-flex-col bear-gap-2 bear-p-3 bear-min-h-[120px]", children: r.cards.map((e, t) => {
|
|
61
|
+
const b = `${r.id}-${t}`, n = K && $ === b;
|
|
62
|
+
return /* @__PURE__ */ i(
|
|
63
|
+
"div",
|
|
64
|
+
{
|
|
65
|
+
...w(b, e, t),
|
|
66
|
+
...u(b, e, t),
|
|
67
|
+
className: f(
|
|
68
|
+
"Bear-Kanban__card bear-rounded-lg bear-bg-white dark:bear-bg-zinc-700/80 bear-border bear-border-gray-200 dark:bear-border-zinc-600 bear-p-3 bear-cursor-grab active:bear-cursor-grabbing bear-transition-all bear-shadow-sm",
|
|
69
|
+
n && "bear-opacity-50 bear-scale-95",
|
|
70
|
+
N === b && "bear-border-bear-500 bear-bg-bear-500/10"
|
|
71
|
+
),
|
|
72
|
+
children: h ? h(e, r.id) : /* @__PURE__ */ D(B, { children: [
|
|
73
|
+
/* @__PURE__ */ i("div", { className: "bear-font-medium bear-text-gray-900 dark:bear-text-white", children: e.title }),
|
|
74
|
+
e.description && /* @__PURE__ */ i("div", { className: "bear-text-sm bear-text-gray-600 dark:bear-text-zinc-400 bear-mt-1", children: e.description }),
|
|
75
|
+
e.meta && /* @__PURE__ */ i("div", { className: "bear-text-xs bear-text-gray-500 dark:bear-text-zinc-500 bear-mt-2", children: e.meta })
|
|
76
|
+
] })
|
|
77
|
+
},
|
|
78
|
+
e.id
|
|
79
|
+
);
|
|
80
|
+
}) })
|
|
81
|
+
]
|
|
82
|
+
},
|
|
83
|
+
r.id
|
|
84
|
+
))
|
|
85
|
+
}
|
|
86
|
+
);
|
|
87
|
+
};
|
|
88
|
+
export {
|
|
89
|
+
O as Kanban
|
|
90
|
+
};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
export interface KanbanCard {
|
|
3
|
+
id: string;
|
|
4
|
+
title: ReactNode;
|
|
5
|
+
description?: ReactNode;
|
|
6
|
+
meta?: ReactNode;
|
|
7
|
+
}
|
|
8
|
+
export interface KanbanColumn {
|
|
9
|
+
id: string;
|
|
10
|
+
title: ReactNode;
|
|
11
|
+
cards: KanbanCard[];
|
|
12
|
+
}
|
|
13
|
+
export interface KanbanProps {
|
|
14
|
+
columns: KanbanColumn[];
|
|
15
|
+
onColumnsChange?: (columns: KanbanColumn[]) => void;
|
|
16
|
+
onCardMove?: (cardId: string, fromColumnId: string, toColumnId: string, fromIndex: number, toIndex: number) => void;
|
|
17
|
+
renderCard?: (card: KanbanCard, columnId: string) => ReactNode;
|
|
18
|
+
renderColumnHeader?: (column: KanbanColumn) => ReactNode;
|
|
19
|
+
disabled?: boolean;
|
|
20
|
+
className?: string;
|
|
21
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("react/jsx-runtime"),t=require("react"),v=require("../../utils/cn.cjs"),P={sm:"bear-h-8 bear-text-sm bear-px-3",md:"bear-h-10 bear-text-base bear-px-4",lg:"bear-h-12 bear-text-lg bear-px-5"},U=(u,g)=>{const a=g.toLowerCase();return u.filter(l=>l.value.toLowerCase().includes(a)||String(l.label).toLowerCase().includes(a))},V=({value:u,defaultValue:g="",onChange:a,onMentionSelect:l,options:S,trigger:c="@",placeholder:D="Type @ to mention...",disabled:k=!1,maxSuggestions:L=5,filterOptions:M=U,size:N="md",fullWidth:T=!1,className:$})=>{const[A,q]=t.useState(g),[d,K]=t.useState(""),[Q,x]=t.useState(!1),[b,h]=t.useState(0),[p,B]=t.useState(null),y=t.useRef(null),z=t.useRef(null),w=t.useRef(null),n=u??A,i=M(S,d).slice(0,L),E=Q&&d.length>=0,I=t.useCallback(()=>{const e=n.lastIndexOf(c);if(e===-1)return{query:"",start:null};const r=n.slice(e+c.length),s=r.indexOf(" ");return{query:s===-1?r:r.slice(0,s),start:e}},[n,c]);t.useEffect(()=>{const{query:e,start:r}=I();K(e),B(r),x(r!==null&&!e.includes(" "))},[n,I]),t.useEffect(()=>{h(0)},[d]),t.useEffect(()=>{if(b>=0&&w.current){const e=w.current.children[b];e==null||e.scrollIntoView({block:"nearest"})}},[b]),t.useEffect(()=>{const e=r=>{y.current&&!y.current.contains(r.target)&&x(!1)};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[]);const R=e=>{const r=new RegExp(`${c}(\\w+)`,"g"),s=[];let f;for(;(f=r.exec(e))!==null;)s.push(f[1]);return[...new Set(s)]},F=e=>{const r=e.target.value;u===void 0&&q(r),a==null||a(r,R(r))},j=e=>{var O;if(p==null)return;const r=n.slice(0,p),s=n.slice(p+c.length+d.length),f=`${c}${e.value}`,m=r+f+" "+s;u===void 0&&q(m),a==null||a(m,R(m)),l==null||l(e),x(!1),(O=z.current)==null||O.focus()},H=e=>{if(!(!E||i.length===0)){if(e.key==="ArrowDown"){e.preventDefault(),h(r=>Math.min(r+1,i.length-1));return}if(e.key==="ArrowUp"){e.preventDefault(),h(r=>Math.max(r-1,0));return}if(e.key==="Enter"||e.key==="Tab"){e.preventDefault();const r=i[b];r&&j(r);return}e.key==="Escape"&&x(!1)}};return o.jsxs("div",{ref:y,className:v.cn("Bear-MentionsInput bear-relative",T&&"bear-w-full",$),children:[o.jsx("input",{ref:z,type:"text",value:n,onChange:F,onKeyDown:H,placeholder:D,disabled:k,className:v.cn("bear-w-full bear-rounded-lg bear-border bear-border-gray-300 dark:bear-border-zinc-600 bear-bg-white dark:bear-bg-zinc-900 bear-text-gray-900 dark:bear-text-white placeholder:bear-text-gray-500 dark:placeholder:bear-text-zinc-500 bear-outline-none bear-transition-colors focus:bear-border-bear-500 focus:bear-ring-2 focus:bear-ring-bear-500/20",k&&"bear-opacity-50 bear-cursor-not-allowed",P[N])}),E&&i.length>0&&o.jsx("div",{ref:w,className:"bear-absolute bear-z-50 bear-mt-1 bear-w-full bear-max-h-48 bear-overflow-auto bear-rounded-lg bear-border bear-border-gray-200 dark:bear-border-zinc-600 bear-bg-white dark:bear-bg-zinc-800 bear-py-1 bear-shadow-lg",children:i.map((e,r)=>o.jsxs("button",{type:"button",className:v.cn("bear-w-full bear-flex bear-items-center bear-gap-2 bear-px-3 bear-py-2 bear-text-left bear-text-gray-800 dark:bear-text-zinc-200 hover:bear-bg-gray-100 dark:hover:bear-bg-zinc-700 bear-transition-colors",r===b&&"bear-bg-gray-100 dark:bear-bg-zinc-700"),onMouseEnter:()=>h(r),onClick:()=>j(e),children:[e.avatar&&o.jsx("span",{className:"bear-shrink-0",children:e.avatar}),o.jsx("span",{children:e.label})]},e.value))})]})};exports.MentionsInput=V;
|