@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,142 @@
|
|
|
1
|
+
import { jsx as g, jsxs as _ } from "react/jsx-runtime";
|
|
2
|
+
import { useState as z, useRef as A, useCallback as L, useEffect as B } from "react";
|
|
3
|
+
import { cn as i } from "../../utils/cn.js";
|
|
4
|
+
const F = {
|
|
5
|
+
xs: { track: "bear-h-1", thumb: "bear-w-3 bear-h-3", height: "bear-h-6" },
|
|
6
|
+
sm: { track: "bear-h-1.5", thumb: "bear-w-4 bear-h-4", height: "bear-h-8" },
|
|
7
|
+
md: { track: "bear-h-2", thumb: "bear-w-5 bear-h-5", height: "bear-h-10" },
|
|
8
|
+
lg: { track: "bear-h-2.5", thumb: "bear-w-6 bear-h-6", height: "bear-h-12" },
|
|
9
|
+
xl: { track: "bear-h-3", thumb: "bear-w-7 bear-h-7", height: "bear-h-14" }
|
|
10
|
+
}, H = {
|
|
11
|
+
primary: { track: "bear-bg-bear-500", thumb: "bear-bg-bear-500 bear-border-bear-600" },
|
|
12
|
+
secondary: { track: "bear-bg-gray-500", thumb: "bear-bg-gray-500 bear-border-gray-600" },
|
|
13
|
+
success: { track: "bear-bg-green-500", thumb: "bear-bg-green-500 bear-border-green-600" },
|
|
14
|
+
warning: { track: "bear-bg-amber-500", thumb: "bear-bg-amber-500 bear-border-amber-600" },
|
|
15
|
+
error: { track: "bear-bg-red-500", thumb: "bear-bg-red-500 bear-border-red-600" },
|
|
16
|
+
danger: { track: "bear-bg-red-500", thumb: "bear-bg-red-500 bear-border-red-600" },
|
|
17
|
+
info: { track: "bear-bg-blue-500", thumb: "bear-bg-blue-500 bear-border-blue-600" },
|
|
18
|
+
ghost: { track: "bear-bg-gray-400", thumb: "bear-bg-gray-400 bear-border-gray-500" },
|
|
19
|
+
outline: { track: "bear-bg-gray-600", thumb: "bear-bg-white dark:bear-bg-gray-200 bear-border-gray-600 dark:bear-border-gray-400" }
|
|
20
|
+
}, U = (s, v, e, r) => {
|
|
21
|
+
const o = Math.round(s / r) * r;
|
|
22
|
+
return Math.max(v, Math.min(e, o));
|
|
23
|
+
}, K = ({
|
|
24
|
+
value: s,
|
|
25
|
+
defaultValue: v = [20, 80],
|
|
26
|
+
min: e = 0,
|
|
27
|
+
max: r = 100,
|
|
28
|
+
step: o = 1,
|
|
29
|
+
size: j = "md",
|
|
30
|
+
color: O = "primary",
|
|
31
|
+
disabled: b = !1,
|
|
32
|
+
onChange: u,
|
|
33
|
+
onChangeCommitted: h,
|
|
34
|
+
valueFormatter: Z = (f) => String(f),
|
|
35
|
+
className: P,
|
|
36
|
+
...V
|
|
37
|
+
}) => {
|
|
38
|
+
const [f, E] = z(v), [t, R] = z(null), w = A(null), y = s ?? f, [c, l] = y, k = (c - e) / (r - e) * 100, N = (l - e) / (r - e) * 100, m = F[j], p = H[O], x = L(
|
|
39
|
+
(a, d) => {
|
|
40
|
+
if (!w.current || b) return;
|
|
41
|
+
const I = w.current.getBoundingClientRect(), X = Math.max(0, Math.min(1, (a - I.left) / I.width)), Y = e + X * (r - e), T = U(Y, e, r, o);
|
|
42
|
+
if (d === "min") {
|
|
43
|
+
const n = [Math.min(T, l - o), l];
|
|
44
|
+
s === void 0 && E(n), u == null || u(n);
|
|
45
|
+
} else {
|
|
46
|
+
const $ = Math.max(T, c + o), n = [c, $];
|
|
47
|
+
s === void 0 && E(n), u == null || u(n);
|
|
48
|
+
}
|
|
49
|
+
},
|
|
50
|
+
[e, r, o, c, l, b, s, u]
|
|
51
|
+
), D = (a, d) => {
|
|
52
|
+
b || (a.preventDefault(), R(d), x(a.clientX, d));
|
|
53
|
+
}, M = L(
|
|
54
|
+
(a) => {
|
|
55
|
+
t && x(a.clientX, t);
|
|
56
|
+
},
|
|
57
|
+
[t, x]
|
|
58
|
+
), S = L(() => {
|
|
59
|
+
t && (R(null), h == null || h(y));
|
|
60
|
+
}, [t, y, h]);
|
|
61
|
+
return B(() => {
|
|
62
|
+
if (t)
|
|
63
|
+
return document.addEventListener("mousemove", M), document.addEventListener("mouseup", S), () => {
|
|
64
|
+
document.removeEventListener("mousemove", M), document.removeEventListener("mouseup", S);
|
|
65
|
+
};
|
|
66
|
+
}, [t, M, S]), /* @__PURE__ */ g(
|
|
67
|
+
"div",
|
|
68
|
+
{
|
|
69
|
+
className: i(
|
|
70
|
+
"bear-relative bear-w-full bear-flex bear-items-center",
|
|
71
|
+
m.height,
|
|
72
|
+
b && "bear-opacity-50 bear-cursor-not-allowed",
|
|
73
|
+
P
|
|
74
|
+
),
|
|
75
|
+
"data-testid": "slider-range",
|
|
76
|
+
...V,
|
|
77
|
+
children: /* @__PURE__ */ _(
|
|
78
|
+
"div",
|
|
79
|
+
{
|
|
80
|
+
ref: w,
|
|
81
|
+
className: i(
|
|
82
|
+
"bear-relative bear-w-full bear-rounded-full bear-bg-gray-200 dark:bear-bg-gray-700",
|
|
83
|
+
m.track,
|
|
84
|
+
!b && "bear-cursor-pointer"
|
|
85
|
+
),
|
|
86
|
+
children: [
|
|
87
|
+
/* @__PURE__ */ g(
|
|
88
|
+
"div",
|
|
89
|
+
{
|
|
90
|
+
className: i("bear-absolute bear-inset-y-0 bear-left-0 bear-rounded-full", p.track),
|
|
91
|
+
style: { left: `${k}%`, width: `${N - k}%` }
|
|
92
|
+
}
|
|
93
|
+
),
|
|
94
|
+
/* @__PURE__ */ g(
|
|
95
|
+
"div",
|
|
96
|
+
{
|
|
97
|
+
role: "slider",
|
|
98
|
+
tabIndex: b ? -1 : 0,
|
|
99
|
+
"aria-valuemin": e,
|
|
100
|
+
"aria-valuemax": r,
|
|
101
|
+
"aria-valuenow": c,
|
|
102
|
+
"aria-label": "Range minimum",
|
|
103
|
+
className: i(
|
|
104
|
+
"bear-absolute bear-top-1/2 bear--translate-y-1/2 bear--translate-x-1/2 bear-rounded-full bear-border-2 bear-shadow-md",
|
|
105
|
+
m.thumb,
|
|
106
|
+
p.thumb,
|
|
107
|
+
!b && "bear-cursor-grab active:bear-cursor-grabbing hover:bear-scale-110",
|
|
108
|
+
t === "min" && "bear-scale-125 bear-z-10"
|
|
109
|
+
),
|
|
110
|
+
style: { left: `${k}%` },
|
|
111
|
+
onMouseDown: (a) => D(a, "min")
|
|
112
|
+
}
|
|
113
|
+
),
|
|
114
|
+
/* @__PURE__ */ g(
|
|
115
|
+
"div",
|
|
116
|
+
{
|
|
117
|
+
role: "slider",
|
|
118
|
+
tabIndex: b ? -1 : 0,
|
|
119
|
+
"aria-valuemin": e,
|
|
120
|
+
"aria-valuemax": r,
|
|
121
|
+
"aria-valuenow": l,
|
|
122
|
+
"aria-label": "Range maximum",
|
|
123
|
+
className: i(
|
|
124
|
+
"bear-absolute bear-top-1/2 bear--translate-y-1/2 bear--translate-x-1/2 bear-rounded-full bear-border-2 bear-shadow-md",
|
|
125
|
+
m.thumb,
|
|
126
|
+
p.thumb,
|
|
127
|
+
!b && "bear-cursor-grab active:bear-cursor-grabbing hover:bear-scale-110",
|
|
128
|
+
t === "max" && "bear-scale-125 bear-z-10"
|
|
129
|
+
),
|
|
130
|
+
style: { left: `${N}%` },
|
|
131
|
+
onMouseDown: (a) => D(a, "max")
|
|
132
|
+
}
|
|
133
|
+
)
|
|
134
|
+
]
|
|
135
|
+
}
|
|
136
|
+
)
|
|
137
|
+
}
|
|
138
|
+
);
|
|
139
|
+
};
|
|
140
|
+
export {
|
|
141
|
+
K as SliderRange
|
|
142
|
+
};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { HTMLAttributes } from 'react';
|
|
2
|
+
import { BearSize, BearVariant } from '../../types';
|
|
3
|
+
export type SliderRangeValue = [number, number];
|
|
4
|
+
export interface SliderRangeProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onChange' | 'defaultValue'> {
|
|
5
|
+
value?: SliderRangeValue;
|
|
6
|
+
defaultValue?: SliderRangeValue;
|
|
7
|
+
min?: number;
|
|
8
|
+
max?: number;
|
|
9
|
+
step?: number;
|
|
10
|
+
size?: BearSize;
|
|
11
|
+
color?: BearVariant;
|
|
12
|
+
disabled?: boolean;
|
|
13
|
+
onChange?: (value: SliderRangeValue) => void;
|
|
14
|
+
onChangeCommitted?: (value: SliderRangeValue) => void;
|
|
15
|
+
valueFormatter?: (value: number) => string;
|
|
16
|
+
className?: string;
|
|
17
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const x=require("react/jsx-runtime"),b=require("react"),M=require("../../utils/cn.cjs"),$=require("../Chip/Chip.cjs"),O={sm:"bear-h-8 bear-text-sm bear-gap-1.5 bear-px-2",md:"bear-h-10 bear-text-base bear-gap-2 bear-px-3",lg:"bear-h-12 bear-text-lg bear-gap-2.5 bear-px-4"},P={sm:"sm",md:"md",lg:"lg"},_=({value:c,defaultValue:z=[],onChange:a,onAdd:u,onRemove:p,placeholder:I="Add tags...",disabled:o=!1,maxTags:n,minLength:y=1,maxLength:d,separators:k=[",","Enter"],size:m="md",fullWidth:S=!1,className:q})=>{const[B,w]=b.useState(z),[l,f]=b.useState(""),v=b.useRef(null),t=c??B,D=!n||t.length<n,g=b.useCallback(e=>{const r=e.trim().slice(0,d??e.length);if(!r||r.length<y||t.includes(r)||n!=null&&t.length>=n)return;const s=[...t,r];c===void 0&&w(s),a==null||a(s),u==null||u(r)},[t,c,y,d,n,a,u]),j=b.useCallback((e,r)=>{const s=t.filter((h,i)=>i!==r);c===void 0&&w(s),a==null||a(s),p==null||p(e,r)},[t,c,a,p]),T=e=>{k.includes(e.key)?(e.preventDefault(),l.trim()&&(g(l),f(""))):e.key==="Backspace"&&!l&&t.length&&j(t[t.length-1],t.length-1)},N=e=>{var h;const r=e.target.value,s=k.find(i=>r.includes(i));if(s){const i=r.split(s);i.slice(0,-1).forEach(K=>g(K)),f(((h=i[i.length-1])==null?void 0:h.trim())??"")}else f(r)},E=()=>{l.trim()&&(g(l),f(""))};return x.jsxs("div",{className:M.cn("Bear-TagsInput bear-flex bear-flex-wrap bear-items-center bear-rounded-lg bear-border bear-border-gray-300 dark:bear-border-zinc-600 bear-bg-white dark:bear-bg-zinc-900 bear-transition-colors focus-within:bear-border-bear-500 focus-within:bear-ring-2 focus-within:bear-ring-bear-500/20",o&&"bear-opacity-50 bear-cursor-not-allowed",S&&"bear-w-full",O[m],q),onClick:()=>{var e;return(e=v.current)==null?void 0:e.focus()},children:[t.map((e,r)=>x.jsx($.Chip,{variant:"soft",color:"primary",size:P[m],onDelete:o?void 0:()=>j(e,r),className:"bear-shrink-0",children:e},`${e}-${r}`)),D&&x.jsx("input",{ref:v,type:"text",value:l,onChange:N,onKeyDown:T,onBlur:E,placeholder:t.length?"":I,disabled:o,maxLength:d,className:"bear-min-w-[80px] bear-flex-1 bear-bg-transparent bear-outline-none bear-text-gray-900 dark:bear-text-white placeholder:bear-text-gray-500 dark:placeholder:bear-text-zinc-500"})]})};exports.TagsInput=_;
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import { jsxs as _, jsx as v } from "react/jsx-runtime";
|
|
2
|
+
import { useState as z, useRef as q, useCallback as B } from "react";
|
|
3
|
+
import { cn as F } from "../../utils/cn.js";
|
|
4
|
+
import { Chip as G } from "../Chip/Chip.js";
|
|
5
|
+
const H = {
|
|
6
|
+
sm: "bear-h-8 bear-text-sm bear-gap-1.5 bear-px-2",
|
|
7
|
+
md: "bear-h-10 bear-text-base bear-gap-2 bear-px-3",
|
|
8
|
+
lg: "bear-h-12 bear-text-lg bear-gap-2.5 bear-px-4"
|
|
9
|
+
}, J = { sm: "sm", md: "md", lg: "lg" }, W = ({
|
|
10
|
+
value: c,
|
|
11
|
+
defaultValue: D = [],
|
|
12
|
+
onChange: a,
|
|
13
|
+
onAdd: b,
|
|
14
|
+
onRemove: p,
|
|
15
|
+
placeholder: I = "Add tags...",
|
|
16
|
+
disabled: u = !1,
|
|
17
|
+
maxTags: n,
|
|
18
|
+
minLength: h = 1,
|
|
19
|
+
maxLength: o,
|
|
20
|
+
separators: m = [",", "Enter"],
|
|
21
|
+
size: x = "md",
|
|
22
|
+
fullWidth: N = !1,
|
|
23
|
+
className: j
|
|
24
|
+
}) => {
|
|
25
|
+
const [E, k] = z(D), [l, f] = z(""), w = q(null), t = c ?? E, K = !n || t.length < n, d = B(
|
|
26
|
+
(e) => {
|
|
27
|
+
const r = e.trim().slice(0, o ?? e.length);
|
|
28
|
+
if (!r || r.length < h || t.includes(r) || n != null && t.length >= n) return;
|
|
29
|
+
const s = [...t, r];
|
|
30
|
+
c === void 0 && k(s), a == null || a(s), b == null || b(r);
|
|
31
|
+
},
|
|
32
|
+
[t, c, h, o, n, a, b]
|
|
33
|
+
), y = B(
|
|
34
|
+
(e, r) => {
|
|
35
|
+
const s = t.filter((g, i) => i !== r);
|
|
36
|
+
c === void 0 && k(s), a == null || a(s), p == null || p(e, r);
|
|
37
|
+
},
|
|
38
|
+
[t, c, a, p]
|
|
39
|
+
), S = (e) => {
|
|
40
|
+
m.includes(e.key) ? (e.preventDefault(), l.trim() && (d(l), f(""))) : e.key === "Backspace" && !l && t.length && y(t[t.length - 1], t.length - 1);
|
|
41
|
+
}, T = (e) => {
|
|
42
|
+
var g;
|
|
43
|
+
const r = e.target.value, s = m.find((i) => r.includes(i));
|
|
44
|
+
if (s) {
|
|
45
|
+
const i = r.split(s);
|
|
46
|
+
i.slice(0, -1).forEach((M) => d(M)), f(((g = i[i.length - 1]) == null ? void 0 : g.trim()) ?? "");
|
|
47
|
+
} else
|
|
48
|
+
f(r);
|
|
49
|
+
}, $ = () => {
|
|
50
|
+
l.trim() && (d(l), f(""));
|
|
51
|
+
};
|
|
52
|
+
return /* @__PURE__ */ _(
|
|
53
|
+
"div",
|
|
54
|
+
{
|
|
55
|
+
className: F(
|
|
56
|
+
"Bear-TagsInput bear-flex bear-flex-wrap bear-items-center bear-rounded-lg bear-border bear-border-gray-300 dark:bear-border-zinc-600 bear-bg-white dark:bear-bg-zinc-900 bear-transition-colors focus-within:bear-border-bear-500 focus-within:bear-ring-2 focus-within:bear-ring-bear-500/20",
|
|
57
|
+
u && "bear-opacity-50 bear-cursor-not-allowed",
|
|
58
|
+
N && "bear-w-full",
|
|
59
|
+
H[x],
|
|
60
|
+
j
|
|
61
|
+
),
|
|
62
|
+
onClick: () => {
|
|
63
|
+
var e;
|
|
64
|
+
return (e = w.current) == null ? void 0 : e.focus();
|
|
65
|
+
},
|
|
66
|
+
children: [
|
|
67
|
+
t.map((e, r) => /* @__PURE__ */ v(
|
|
68
|
+
G,
|
|
69
|
+
{
|
|
70
|
+
variant: "soft",
|
|
71
|
+
color: "primary",
|
|
72
|
+
size: J[x],
|
|
73
|
+
onDelete: u ? void 0 : () => y(e, r),
|
|
74
|
+
className: "bear-shrink-0",
|
|
75
|
+
children: e
|
|
76
|
+
},
|
|
77
|
+
`${e}-${r}`
|
|
78
|
+
)),
|
|
79
|
+
K && /* @__PURE__ */ v(
|
|
80
|
+
"input",
|
|
81
|
+
{
|
|
82
|
+
ref: w,
|
|
83
|
+
type: "text",
|
|
84
|
+
value: l,
|
|
85
|
+
onChange: T,
|
|
86
|
+
onKeyDown: S,
|
|
87
|
+
onBlur: $,
|
|
88
|
+
placeholder: t.length ? "" : I,
|
|
89
|
+
disabled: u,
|
|
90
|
+
maxLength: o,
|
|
91
|
+
className: "bear-min-w-[80px] bear-flex-1 bear-bg-transparent bear-outline-none bear-text-gray-900 dark:bear-text-white placeholder:bear-text-gray-500 dark:placeholder:bear-text-zinc-500"
|
|
92
|
+
}
|
|
93
|
+
)
|
|
94
|
+
]
|
|
95
|
+
}
|
|
96
|
+
);
|
|
97
|
+
};
|
|
98
|
+
export {
|
|
99
|
+
W as TagsInput
|
|
100
|
+
};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export interface TagsInputProps {
|
|
2
|
+
value?: string[];
|
|
3
|
+
defaultValue?: string[];
|
|
4
|
+
onChange?: (tags: string[]) => void;
|
|
5
|
+
onAdd?: (tag: string) => void;
|
|
6
|
+
onRemove?: (tag: string, index: number) => void;
|
|
7
|
+
placeholder?: string;
|
|
8
|
+
disabled?: boolean;
|
|
9
|
+
maxTags?: number;
|
|
10
|
+
minLength?: number;
|
|
11
|
+
maxLength?: number;
|
|
12
|
+
separators?: string[];
|
|
13
|
+
size?: 'sm' | 'md' | 'lg';
|
|
14
|
+
fullWidth?: boolean;
|
|
15
|
+
className?: string;
|
|
16
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("react/jsx-runtime"),s=require("react"),$=require("../../utils/cn.cjs");function g({items:l,itemHeight:t,overscan:f=3,height:e,renderItem:d,keyExtractor:x=(u,i)=>i,className:p}){const[u,i]=s.useState(0),[v,y]=s.useState(typeof e=="number"?e:300),o=s.useRef(null),S=l.length*t,b=Math.max(0,Math.floor(u/t)-f),h=Math.min(l.length-1,Math.ceil((u+v)/t)+f),j=l.slice(b,h+1),m=b*t,R=s.useCallback(()=>{o.current&&i(o.current.scrollTop)},[]);return s.useEffect(()=>{const r=o.current;if(r&&typeof e=="string"){const n=new ResizeObserver(a=>{for(const M of a)y(M.contentRect.height)});return n.observe(r),()=>n.disconnect()}},[e]),c.jsx("div",{ref:o,className:$.cn("Bear-VirtualList bear-overflow-auto bear-bg-white dark:bear-bg-zinc-900 bear-rounded-lg",p),style:{height:typeof e=="number"?`${e}px`:e},onScroll:R,children:c.jsx("div",{className:"bear-relative",style:{height:`${S}px`},children:c.jsx("div",{className:"bear-absolute bear-inset-x-0 bear-top-0",style:{transform:`translateY(${m}px)`},children:j.map((r,n)=>{const a=b+n;return c.jsx("div",{className:"bear-absolute bear-inset-x-0 bear-top-0",style:{height:`${t}px`,transform:`translateY(${n*t}px)`},children:d(r,a)},x(r,a))})})})})}exports.VirtualList=g;
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { jsx as a } from "react/jsx-runtime";
|
|
2
|
+
import { useState as u, useRef as S, useCallback as w, useEffect as I } from "react";
|
|
3
|
+
import { cn as T } from "../../utils/cn.js";
|
|
4
|
+
function z({
|
|
5
|
+
items: l,
|
|
6
|
+
itemHeight: r,
|
|
7
|
+
overscan: b = 3,
|
|
8
|
+
height: e,
|
|
9
|
+
renderItem: p,
|
|
10
|
+
keyExtractor: d = (c, f) => f,
|
|
11
|
+
className: x
|
|
12
|
+
}) {
|
|
13
|
+
const [c, f] = u(0), [m, v] = u(
|
|
14
|
+
typeof e == "number" ? e : 300
|
|
15
|
+
), o = S(null), y = l.length * r, i = Math.max(0, Math.floor(c / r) - b), h = Math.min(
|
|
16
|
+
l.length - 1,
|
|
17
|
+
Math.ceil((c + m) / r) + b
|
|
18
|
+
), $ = l.slice(i, h + 1), M = i * r, N = w(() => {
|
|
19
|
+
o.current && f(o.current.scrollTop);
|
|
20
|
+
}, []);
|
|
21
|
+
return I(() => {
|
|
22
|
+
const t = o.current;
|
|
23
|
+
if (t && typeof e == "string") {
|
|
24
|
+
const n = new ResizeObserver((s) => {
|
|
25
|
+
for (const R of s)
|
|
26
|
+
v(R.contentRect.height);
|
|
27
|
+
});
|
|
28
|
+
return n.observe(t), () => n.disconnect();
|
|
29
|
+
}
|
|
30
|
+
}, [e]), /* @__PURE__ */ a(
|
|
31
|
+
"div",
|
|
32
|
+
{
|
|
33
|
+
ref: o,
|
|
34
|
+
className: T("Bear-VirtualList bear-overflow-auto bear-bg-white dark:bear-bg-zinc-900 bear-rounded-lg", x),
|
|
35
|
+
style: { height: typeof e == "number" ? `${e}px` : e },
|
|
36
|
+
onScroll: N,
|
|
37
|
+
children: /* @__PURE__ */ a(
|
|
38
|
+
"div",
|
|
39
|
+
{
|
|
40
|
+
className: "bear-relative",
|
|
41
|
+
style: { height: `${y}px` },
|
|
42
|
+
children: /* @__PURE__ */ a(
|
|
43
|
+
"div",
|
|
44
|
+
{
|
|
45
|
+
className: "bear-absolute bear-inset-x-0 bear-top-0",
|
|
46
|
+
style: { transform: `translateY(${M}px)` },
|
|
47
|
+
children: $.map((t, n) => {
|
|
48
|
+
const s = i + n;
|
|
49
|
+
return /* @__PURE__ */ a(
|
|
50
|
+
"div",
|
|
51
|
+
{
|
|
52
|
+
className: "bear-absolute bear-inset-x-0 bear-top-0",
|
|
53
|
+
style: { height: `${r}px`, transform: `translateY(${n * r}px)` },
|
|
54
|
+
children: p(t, s)
|
|
55
|
+
},
|
|
56
|
+
d(t, s)
|
|
57
|
+
);
|
|
58
|
+
})
|
|
59
|
+
}
|
|
60
|
+
)
|
|
61
|
+
}
|
|
62
|
+
)
|
|
63
|
+
}
|
|
64
|
+
);
|
|
65
|
+
}
|
|
66
|
+
export {
|
|
67
|
+
z as VirtualList
|
|
68
|
+
};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
export interface VirtualListProps<T = unknown> {
|
|
3
|
+
items: T[];
|
|
4
|
+
itemHeight: number;
|
|
5
|
+
overscan?: number;
|
|
6
|
+
height: number | string;
|
|
7
|
+
renderItem: (item: T, index: number) => ReactNode;
|
|
8
|
+
keyExtractor?: (item: T, index: number) => string | number;
|
|
9
|
+
className?: string;
|
|
10
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const I=require("./Container/Container.cjs"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const I=require("./Container/Container.cjs"),g=require("./Flex/Flex.cjs"),c=require("./Grid/Grid.cjs"),B=require("./Button/Button.cjs"),b=require("./ButtonGroup/ButtonGroup.cjs"),r=require("./Card/Card.cjs"),h=require("./Badge/Badge.cjs"),T=require("./Paper/Paper.cjs"),P=require("./Divider/Divider.cjs"),k=require("./Typography/Typography.cjs"),v=require("./Link/Link.cjs"),L=require("./Spinner/Spinner.cjs"),A=require("./Alert/Alert.cjs"),M=require("./Rating/Rating.cjs"),E=require("./Icon/index.cjs"),t=require("./Icon/icons/navigation.cjs"),o=require("./Icon/icons/action.cjs"),D=require("./Icon/icons/status.cjs"),G=require("./Icon/icons/misc.cjs"),x=require("./BearLogo/BearLogo.cjs"),y=require("./BearLogo/EmberLogo.cjs"),F=require("./Modal/Modal.cjs"),R=require("./Drawer/Drawer.cjs"),w=require("./Tooltip/Tooltip.cjs"),u=require("./Menu/Menu.cjs"),f=require("./Dropdown/Dropdown.cjs"),N=require("./SpeedDial/SpeedDial.cjs"),H=require("./Input/Input.cjs"),K=require("./Select/Select.cjs"),O=require("./Switch/Switch.cjs"),V=require("./Checkbox/Checkbox.cjs"),d=require("./Radio/Radio.cjs"),j=require("./MultiSelect/MultiSelect.cjs"),_=require("./Autocomplete/Autocomplete.cjs"),U=require("./TransferList/TransferList.cjs"),l=require("./DataTable/DataTable.cjs"),J=require("./Carousel/Carousel.cjs"),q=require("./Accordion/Accordion.cjs"),i=require("./Tabs/Tabs.cjs"),p=require("./Avatar/Avatar.cjs"),X=require("./Progress/Progress.cjs"),e=require("./List/List.cjs"),z=require("./Fab/Fab.cjs"),s=require("./Toast/Toast.cjs"),n=require("./Skeleton/Skeleton.cjs"),Q=require("./Pagination/Pagination.cjs"),W=require("./Slider/Slider.cjs"),Y=require("./BearLoader/BearLoader.cjs"),Z=require("./Calendar/Calendar.cjs"),$=require("./DatePicker/DatePicker.cjs"),ee=require("./TimePicker/TimePicker.cjs"),re=require("./Breadcrumbs/Breadcrumbs.cjs"),C=require("./Stepper/Stepper.cjs"),te=require("./BottomNavigation/BottomNavigation.cjs"),oe=require("./AppBar/AppBar.cjs"),ie=require("./Popover/Popover.cjs"),ne=require("./Chip/Chip.cjs"),ae=require("./TreeView/TreeView.cjs"),ce=require("./Timeline/Timeline.cjs"),ue=require("./Statistic/Statistic.cjs"),se=require("./EmptyState/EmptyState.cjs"),de=require("./Image/Image.cjs"),le=require("./FileUpload/FileUpload.cjs"),qe=require("./NumberInput/NumberInput.cjs"),pe=require("./OTPInput/OTPInput.cjs"),Ce=require("./ColorPicker/ColorPicker.cjs"),me=require("./ScrollArea/ScrollArea.cjs"),Se=require("./Collapsible/Collapsible.cjs"),Ie=require("./Kbd/Kbd.cjs"),ge=require("./CopyButton/CopyButton.cjs"),Be=require("./Sidebar/Sidebar.cjs"),be=require("./Sidebar/components/SidebarGroup/SidebarGroup.cjs");require("react/jsx-runtime");require("react");const m=require("./Columns/Columns.cjs"),he=require("./Box/Box.cjs"),Te=require("./Em/Em.cjs"),Pe=require("./Highlight/Highlight.cjs"),ke=require("./Mark/Mark.cjs"),ve=require("./Editable/Editable.cjs"),Le=require("./HoverCard/HoverCard.cjs"),Ae=require("./CodeBlock/CodeBlock.cjs"),Me=require("./ActiveBar/ActiveBar.cjs"),Ee=require("./RichEditor/RichEditor.cjs"),De=require("./StatCard/StatCard.cjs"),Ge=require("./ActivityItem/ActivityItem.cjs"),a=require("./Chart/Chart.cjs"),xe=require("./Sparkline/Sparkline.cjs"),ye=require("./Gauge/Gauge.cjs"),Fe=require("./SignPad/SignPad.cjs"),Re=require("./Cascader/Cascader.cjs"),we=require("./Form/Form.cjs"),S=require("./Form/Form.context.cjs"),fe=require("./NotificationCenter/NotificationCenter.cjs"),Ne=require("./PhoneInput/PhoneInput.cjs"),He=require("./CreditInput/CreditInput.cjs"),Ke=require("./CommandPalette/CommandPalette.cjs"),Oe=require("./SegmentedControl/SegmentedControl.cjs"),Ve=require("./TagsInput/TagsInput.cjs"),je=require("./BottomSheet/BottomSheet.cjs"),_e=require("./SliderRange/SliderRange.cjs"),Ue=require("./MentionsInput/MentionsInput.cjs"),Je=require("./Kanban/Kanban.cjs"),Xe=require("./EmojiPicker/EmojiPicker.cjs"),ze=require("./EmojiPicker/EmojiPicker.const.cjs"),Qe=require("./VirtualList/VirtualList.cjs"),We=require("./Icon/Icon.cjs");exports.Container=I.Container;exports.Flex=g.Flex;exports.Grid=c.Grid;exports.GridCompound=c.GridCompound;exports.GridItem=c.GridItem;exports.Button=B.Button;exports.ButtonGroup=b.ButtonGroup;exports.Card=r.Card;exports.CardBody=r.CardBody;exports.CardCompound=r.CardCompound;exports.CardFooter=r.CardFooter;exports.CardHeader=r.CardHeader;exports.Badge=h.Badge;exports.Paper=T.Paper;exports.Divider=P.Divider;exports.Typography=k.Typography;exports.Link=v.Link;exports.Spinner=L.Spinner;exports.Alert=A.Alert;exports.Rating=M.Rating;exports.BearIcons=E.BearIcons;exports.ChevronDownIcon=t.ChevronDownIcon;exports.ChevronRightIcon=t.ChevronRightIcon;exports.MenuIcon=t.MenuIcon;exports.XIcon=t.CloseIcon;exports.MinusIcon=o.RemoveIcon;exports.PlusIcon=o.AddIcon;exports.SearchIcon=o.SearchIcon;exports.SettingsIcon=o.SettingsIcon;exports.CheckIcon=D.CheckIcon;exports.BearPawIcon=G.BearPawIcon;exports.BearLogo=x.BearLogo;exports.EmberLogo=y.EmberLogo;exports.Modal=F.Modal;exports.Drawer=R.Drawer;exports.Tooltip=w.Tooltip;exports.Menu=u.Menu;exports.MenuDivider=u.MenuDivider;exports.MenuItem=u.MenuItem;exports.Dropdown=f.Dropdown;exports.SpeedDial=N.SpeedDial;exports.Input=H.Input;exports.Select=K.Select;exports.Switch=O.Switch;exports.Checkbox=V.Checkbox;exports.Radio=d.Radio;exports.RadioGroup=d.RadioGroup;exports.MultiSelect=j.MultiSelect;exports.Autocomplete=_.Autocomplete;exports.TransferList=U.TransferList;exports.DataTable=l.DataTable;exports.createColumns=l.createColumns;exports.Carousel=J.Carousel;exports.Accordion=q.Accordion;exports.AccordionItem=q.AccordionItem;exports.Tab=i.Tab;exports.TabList=i.TabList;exports.TabPanel=i.TabPanel;exports.Tabs=i.Tabs;exports.Avatar=p.Avatar;exports.AvatarGroup=p.AvatarGroup;exports.Progress=X.Progress;exports.List=e.List;exports.ListItem=e.ListItem;exports.ListItemButton=e.ListItemButton;exports.ListItemIcon=e.ListItemIcon;exports.ListItemText=e.ListItemText;exports.ListSubheader=e.ListSubheader;exports.Fab=z.Fab;exports.ToastContainer=s.ToastContainer;exports.ToastProvider=s.ToastProvider;exports.useToast=s.useToast;exports.Skeleton=n.Skeleton;exports.SkeletonAvatar=n.SkeletonAvatar;exports.SkeletonCard=n.SkeletonCard;exports.SkeletonText=n.SkeletonText;exports.Pagination=Q.Pagination;exports.Slider=W.Slider;exports.BearLoader=Y.BearLoader;exports.Calendar=Z.Calendar;exports.DatePicker=$.DatePicker;exports.TimePicker=ee.TimePicker;exports.Breadcrumbs=re.Breadcrumbs;exports.Stepper=C.Stepper;exports.StepperControls=C.StepperControls;exports.BottomNavigation=te.BottomNavigation;exports.AppBar=oe.AppBar;exports.Popover=ie.Popover;exports.Chip=ne.Chip;exports.TreeView=ae.TreeView;exports.Timeline=ce.Timeline;exports.Statistic=ue.Statistic;exports.EmptyState=se.EmptyState;exports.Image=de.Image;exports.FileUpload=le.FileUpload;exports.NumberInput=qe.NumberInput;exports.OTPInput=pe.OTPInput;exports.ColorPicker=Ce.ColorPicker;exports.ScrollArea=me.ScrollArea;exports.Collapsible=Se.Collapsible;exports.Kbd=Ie.Kbd;exports.CopyButton=ge.CopyButton;exports.Sidebar=Be.Sidebar;exports.SidebarGroup=be.SidebarGroup;exports.Column=m.Column;exports.Columns=m.Columns;exports.Box=he.Box;exports.Em=Te.Em;exports.Highlight=Pe.Highlight;exports.Mark=ke.Mark;exports.Editable=ve.Editable;exports.HoverCard=Le.HoverCard;exports.CodeBlock=Ae.CodeBlock;exports.ActiveBar=Me.ActiveBar;exports.RichEditor=Ee.RichEditor;exports.StatCard=De.StatCard;exports.ActivityItem=Ge.ActivityItem;exports.BarChart=a.BarChart;exports.Chart=a.Chart;exports.LineChart=a.LineChart;exports.PieChart=a.PieChart;exports.Sparkline=xe.Sparkline;exports.Gauge=ye.Gauge;exports.SignPad=Fe.SignPad;exports.Cascader=Re.Cascader;exports.Form=we.Form;exports.useFormContext=S.useFormContext;exports.useFormContextSafe=S.useFormContextSafe;exports.NotificationCenter=fe.NotificationCenter;exports.PhoneInput=Ne.PhoneInput;exports.CreditInput=He.CreditInput;exports.CommandPalette=Ke.CommandPalette;exports.SegmentedControl=Oe.SegmentedControl;exports.TagsInput=Ve.TagsInput;exports.BottomSheet=je.BottomSheet;exports.SliderRange=_e.SliderRange;exports.MentionsInput=Ue.MentionsInput;exports.Kanban=Je.Kanban;exports.EmojiPicker=Xe.EmojiPicker;exports.BEAR_EMOJIS=ze.BEAR_EMOJIS;exports.VirtualList=Qe.VirtualList;exports.Icon=We.Icon;
|
|
@@ -178,3 +178,19 @@ export { CreditInput } from './CreditInput';
|
|
|
178
178
|
export type { CreditInputProps, CreditCardValue, CardType, CreditInputSize, CreditInputVariant, CreditInputMode, CreditInputTranslations, } from './CreditInput';
|
|
179
179
|
export { CommandPalette } from './CommandPalette';
|
|
180
180
|
export type { CommandPaletteProps, CommandItem, CommandGroup, CommandPaletteTranslations, } from './CommandPalette';
|
|
181
|
+
export { SegmentedControl } from './SegmentedControl';
|
|
182
|
+
export type { SegmentedControlProps, SegmentedControlItem } from './SegmentedControl';
|
|
183
|
+
export { TagsInput } from './TagsInput';
|
|
184
|
+
export type { TagsInputProps } from './TagsInput';
|
|
185
|
+
export { BottomSheet } from './BottomSheet';
|
|
186
|
+
export type { BottomSheetProps } from './BottomSheet';
|
|
187
|
+
export { SliderRange } from './SliderRange';
|
|
188
|
+
export type { SliderRangeProps, SliderRangeValue } from './SliderRange';
|
|
189
|
+
export { MentionsInput } from './MentionsInput';
|
|
190
|
+
export type { MentionsInputProps, MentionOption } from './MentionsInput';
|
|
191
|
+
export { Kanban } from './Kanban';
|
|
192
|
+
export type { KanbanProps, KanbanColumn, KanbanCard } from './Kanban';
|
|
193
|
+
export { EmojiPicker, BEAR_EMOJIS } from './EmojiPicker';
|
|
194
|
+
export type { EmojiPickerProps } from './EmojiPicker';
|
|
195
|
+
export { VirtualList } from './VirtualList';
|
|
196
|
+
export type { VirtualListProps } from './VirtualList';
|