@forgedevstack/bear 1.0.2 → 1.0.3
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/ActiveBar/ActiveBar.cjs +8 -0
- package/dist/components/ActiveBar/ActiveBar.d.ts +2 -0
- package/dist/components/ActiveBar/ActiveBar.js +90 -0
- package/dist/components/ActiveBar/ActiveBar.types.d.ts +16 -0
- package/dist/components/ActiveBar/index.d.ts +2 -0
- package/dist/components/Box/Box.cjs +1 -0
- package/dist/components/Box/Box.d.ts +2 -0
- package/dist/components/Box/Box.js +64 -0
- package/dist/components/Box/Box.types.d.ts +24 -0
- package/dist/components/Box/Box.utils.cjs +1 -0
- package/dist/components/Box/Box.utils.d.ts +3 -0
- package/dist/components/Box/Box.utils.js +21 -0
- package/dist/components/Box/index.d.ts +2 -0
- package/dist/components/Calendar/Calendar.cjs +1 -1
- package/dist/components/Calendar/Calendar.const.cjs +1 -0
- package/dist/components/Calendar/Calendar.const.d.ts +18 -0
- package/dist/components/Calendar/Calendar.const.js +27 -0
- package/dist/components/Calendar/Calendar.js +131 -145
- package/dist/components/Calendar/Calendar.types.d.ts +4 -0
- package/dist/components/Calendar/Calendar.utils.cjs +1 -0
- package/dist/components/Calendar/Calendar.utils.d.ts +41 -0
- package/dist/components/Calendar/Calendar.utils.js +33 -0
- package/dist/components/Calendar/index.d.ts +2 -0
- package/dist/components/CodeBlock/CodeBlock.cjs +2 -0
- package/dist/components/CodeBlock/CodeBlock.d.ts +2 -0
- package/dist/components/CodeBlock/CodeBlock.js +55 -0
- package/dist/components/CodeBlock/CodeBlock.types.d.ts +10 -0
- package/dist/components/CodeBlock/index.d.ts +2 -0
- package/dist/components/Columns/Columns.cjs +1 -0
- package/dist/components/Columns/Columns.d.ts +5 -0
- package/dist/components/Columns/Columns.js +54 -0
- package/dist/components/Columns/Columns.types.d.ts +17 -0
- package/dist/components/Columns/index.d.ts +2 -0
- package/dist/components/DateTimePicker/DateTimePicker.cjs +1 -1
- package/dist/components/DateTimePicker/DateTimePicker.js +28 -28
- package/dist/components/Editable/Editable.cjs +1 -0
- package/dist/components/Editable/Editable.d.ts +10 -0
- package/dist/components/Editable/Editable.js +194 -0
- package/dist/components/Editable/Editable.types.d.ts +39 -0
- package/dist/components/Editable/index.d.ts +2 -0
- package/dist/components/Em/Em.cjs +1 -0
- package/dist/components/Em/Em.d.ts +2 -0
- package/dist/components/Em/Em.js +24 -0
- package/dist/components/Em/Em.types.d.ts +5 -0
- package/dist/components/Em/index.d.ts +2 -0
- package/dist/components/Fab/Fab.cjs +1 -1
- package/dist/components/Fab/Fab.js +9 -9
- package/dist/components/Highlight/Highlight.cjs +1 -0
- package/dist/components/Highlight/Highlight.d.ts +2 -0
- package/dist/components/Highlight/Highlight.js +28 -0
- package/dist/components/Highlight/Highlight.types.d.ts +6 -0
- package/dist/components/Highlight/index.d.ts +2 -0
- package/dist/components/HoverCard/HoverCard.cjs +6 -0
- package/dist/components/HoverCard/HoverCard.d.ts +2 -0
- package/dist/components/HoverCard/HoverCard.js +68 -0
- package/dist/components/HoverCard/HoverCard.types.d.ts +13 -0
- package/dist/components/HoverCard/HoverCard.utils.cjs +1 -0
- package/dist/components/HoverCard/HoverCard.utils.d.ts +2 -0
- package/dist/components/HoverCard/HoverCard.utils.js +23 -0
- package/dist/components/HoverCard/index.d.ts +2 -0
- package/dist/components/Icon/icons/status.js +1 -1
- package/dist/components/Icon/index.cjs +1 -1
- package/dist/components/Icon/index.d.ts +5 -0
- package/dist/components/Icon/index.js +28 -21
- package/dist/components/Mark/Mark.cjs +1 -0
- package/dist/components/Mark/Mark.d.ts +2 -0
- package/dist/components/Mark/Mark.js +26 -0
- package/dist/components/Mark/Mark.types.d.ts +5 -0
- package/dist/components/Mark/index.d.ts +2 -0
- package/dist/components/RichEditor/RichEditor.cjs +10 -0
- package/dist/components/RichEditor/RichEditor.d.ts +4 -0
- package/dist/components/RichEditor/RichEditor.icons.cjs +1 -0
- package/dist/components/RichEditor/RichEditor.icons.d.ts +16 -0
- package/dist/components/RichEditor/RichEditor.icons.js +62 -0
- package/dist/components/RichEditor/RichEditor.js +151 -0
- package/dist/components/RichEditor/RichEditor.types.d.ts +20 -0
- package/dist/components/RichEditor/RichEditor.utils.cjs +1 -0
- package/dist/components/RichEditor/RichEditor.utils.d.ts +3 -0
- package/dist/components/RichEditor/RichEditor.utils.js +22 -0
- package/dist/components/RichEditor/index.d.ts +2 -0
- package/dist/components/Sidebar/Sidebar.cjs +1 -0
- package/dist/components/Sidebar/Sidebar.d.ts +5 -0
- package/dist/components/Sidebar/Sidebar.js +158 -0
- package/dist/components/Sidebar/Sidebar.types.d.ts +40 -0
- package/dist/components/Sidebar/index.d.ts +2 -0
- package/dist/components/Slider/Slider.cjs +1 -1
- package/dist/components/Slider/Slider.js +8 -8
- package/dist/components/index.cjs +1 -1
- package/dist/components/index.d.ts +22 -0
- package/dist/components/index.js +87 -63
- package/dist/index.cjs +1 -1
- package/dist/index.js +107 -83
- package/dist/styles.css +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("react/jsx-runtime"),s=require("react"),re=require("../Calendar/Calendar.cjs"),d=require("../../utils/cn.cjs"),te=require("../../hooks/useBearStyles.cjs"),D=require("./DateTimePicker.utils.cjs"),ae=({value:n,onChange:b,minDate:M,maxDate:S,disabled:m=!1,placeholder:C="Select date and time",label:
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("react/jsx-runtime"),s=require("react"),re=require("../Calendar/Calendar.cjs"),d=require("../../utils/cn.cjs"),te=require("../../hooks/useBearStyles.cjs"),D=require("./DateTimePicker.utils.cjs"),ae=({value:n,onChange:b,minDate:M,maxDate:S,disabled:m=!1,placeholder:C="Select date and time",label:y,error:u,helperText:j,dateFormat:H="MM/DD/YYYY",timeFormat:l="12h",minuteStep:g=5,clearable:P=!0,className:T,style:q,bis:A,slots:V,weekdayLabels:O,firstDayOfWeek:B=0,size:E="md",variant:L="default"})=>{const[f,x]=s.useState(!1),[R,k]=s.useState(n??new Date),[o,c]=s.useState(()=>n??new Date),h=s.useRef(null),N=te.useBearStyles(A,q);s.useEffect(()=>{const e=t=>{h.current&&!h.current.contains(t.target)&&x(!1)};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[]),s.useEffect(()=>{c(n?new Date(n):new Date)},[n,f]);const Y=s.useCallback(e=>{c(t=>{const a=new Date(e);return a.setHours(t.getHours(),t.getMinutes(),0,0),a})},[]),_=s.useCallback(()=>{b==null||b(o),x(!1)},[o,b]),$=s.useCallback(()=>{b==null||b(null),x(!1)},[b]),I=s.useCallback(()=>{const e=new Date;c(e),k(e)},[]),W=s.useCallback(e=>k(e),[]),G=l==="12h"?Array.from({length:12},(e,t)=>t+1):Array.from({length:24},(e,t)=>t),p=Array.from({length:60/g},(e,t)=>t*g),w=o.getHours(),v=o.getMinutes(),J=l==="12h"?w%12||12:w,K=p.includes(v)?v:p[0]??0,z=w>=12?"PM":"AM",Q=e=>{const t=l==="12h"?z==="PM"?e===12?12:e+12:e===12?0:e:e;c(a=>{const i=new Date(a);return i.setHours(t,a.getMinutes(),0,0),i})},U=e=>{c(t=>{const a=new Date(t);return a.setMinutes(e,0,0),a})},X=e=>{c(t=>{const a=new Date(t),i=a.getHours();return e==="PM"&&i<12?a.setHours(i+12):e==="AM"&&i>=12&&a.setHours(i-12),a})},Z={sm:"bear-py-1.5 bear-px-3 bear-text-sm",md:"bear-py-2 bear-px-4",lg:"bear-py-2.5 bear-px-5 bear-text-lg"},F={default:"bear-bg-zinc-800 bear-border-zinc-600",filled:"bear-bg-zinc-700 bear-border-transparent",outline:"bear-bg-transparent bear-border-zinc-500"},ee=n?`${D.formatDate(n,H)} ${D.formatTime(n,l)}`:"";return r.jsxs("div",{ref:h,className:d.cn("bear-relative",T),style:Object.keys(N).length?N:void 0,children:[y&&r.jsx("label",{className:"bear-block bear-text-sm bear-font-medium bear-text-zinc-300 bear-mb-1.5",children:y}),r.jsxs("button",{type:"button",onClick:()=>!m&&x(!f),disabled:m,className:d.cn("bear-w-full bear-flex bear-items-center bear-justify-between bear-rounded-lg bear-border bear-text-left bear-transition-colors",Z[E],F[L],u?"bear-border-red-500":"focus:bear-border-pink-500",m&&"bear-opacity-50 bear-cursor-not-allowed",n?"bear-text-white":"bear-text-zinc-500"),children:[r.jsx("span",{children:ee||C}),r.jsx("svg",{className:"bear-w-5 bear-h-5 bear-text-zinc-400 bear-shrink-0",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:r.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M8 7V3m8 4V3m-9 8h10M5 21h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z"})})]}),u&&r.jsx("p",{className:"bear-mt-1 bear-text-xs bear-text-red-400",children:u}),j&&!u&&r.jsx("p",{className:"bear-mt-1 bear-text-xs bear-text-zinc-500",children:j}),f&&r.jsxs("div",{className:"bear-absolute bear-z-50 bear-mt-2 bear-left-0 bear-right-0 bear-bg-white dark:bear-bg-gray-900 bear-rounded-xl bear-shadow-xl bear-border bear-border-zinc-200 dark:bear-border-zinc-700 bear-overflow-hidden bear-w-full bear-max-w-sm",children:[r.jsx(re.Calendar,{inline:!0,viewDate:R,onViewChange:W,value:o,onSelect:Y,minDate:M,maxDate:S,slots:V,weekdayLabels:O,firstDayOfWeek:B,clearable:!1,showTodayButton:!1}),r.jsxs("div",{className:"bear-px-4 bear-pb-3 bear-pt-2 bear-border-t bear-border-zinc-200",children:[r.jsxs("div",{className:"bear-flex bear-gap-2 bear-mb-3",children:[r.jsxs("div",{className:"bear-flex-1",children:[r.jsx("div",{className:"bear-text-xs bear-text-zinc-500 bear-mb-1 bear-text-center",children:"Hour"}),r.jsx("div",{className:"bear-h-24 bear-overflow-y-auto bear-space-y-0.5 bear-scrollbar-thin",children:G.map(e=>r.jsx("button",{type:"button",onClick:()=>Q(e),className:d.cn("bear-w-full bear-py-1 bear-rounded bear-text-sm bear-transition-colors",J===e?"bear-bg-bear-500 bear-text-white":"bear-text-zinc-700 hover:bear-bg-zinc-100"),children:e.toString().padStart(2,"0")},e))})]}),r.jsxs("div",{className:"bear-flex-1",children:[r.jsx("div",{className:"bear-text-xs bear-text-zinc-500 bear-mb-1 bear-text-center",children:"Minute"}),r.jsx("div",{className:"bear-h-24 bear-overflow-y-auto bear-space-y-0.5 bear-scrollbar-thin",children:p.map(e=>r.jsx("button",{type:"button",onClick:()=>U(e),className:d.cn("bear-w-full bear-py-1 bear-rounded bear-text-sm bear-transition-colors",K===e?"bear-bg-bear-500 bear-text-white":"bear-text-zinc-700 hover:bear-bg-zinc-100"),children:e.toString().padStart(2,"0")},e))})]}),l==="12h"&&r.jsxs("div",{className:"bear-flex-1",children:[r.jsx("div",{className:"bear-text-xs bear-text-zinc-500 bear-mb-1 bear-text-center",children:"Period"}),r.jsx("div",{className:"bear-space-y-0.5",children:["AM","PM"].map(e=>r.jsx("button",{type:"button",onClick:()=>X(e),className:d.cn("bear-w-full bear-py-2 bear-rounded bear-text-sm bear-transition-colors",z===e?"bear-bg-bear-500 bear-text-white":"bear-text-zinc-700 hover:bear-bg-zinc-100"),children:e},e))})]})]}),r.jsxs("div",{className:"bear-flex bear-gap-2 bear-justify-between",children:[P&&n?r.jsx("button",{type:"button",onClick:$,className:"bear-text-sm bear-text-zinc-500 hover:bear-text-zinc-700",children:"Clear"}):r.jsx("span",{}),r.jsxs("div",{className:"bear-flex bear-gap-2",children:[r.jsx("button",{type:"button",onClick:I,className:"bear-text-sm bear-text-bear-600 hover:bear-text-bear-700 bear-font-medium",children:"Today"}),r.jsx("button",{type:"button",onClick:_,className:"bear-text-sm bear-bg-bear-500 bear-text-white bear-px-3 bear-py-1 bear-rounded bear-font-medium hover:bear-bg-bear-600",children:"Confirm"})]})]})]})]})]})};exports.DateTimePicker=ae;
|
|
@@ -1,22 +1,22 @@
|
|
|
1
|
-
import { jsxs as
|
|
2
|
-
import { useState as
|
|
3
|
-
import { Calendar as
|
|
1
|
+
import { jsxs as n, jsx as r } from "react/jsx-runtime";
|
|
2
|
+
import { useState as g, useRef as ae, useEffect as S, useCallback as d } from "react";
|
|
3
|
+
import { Calendar as be } from "../Calendar/Calendar.js";
|
|
4
4
|
import { cn as u } from "../../utils/cn.js";
|
|
5
|
-
import { useBearStyles as
|
|
5
|
+
import { useBearStyles as ne } from "../../hooks/useBearStyles.js";
|
|
6
6
|
import { formatDate as se, formatTime as oe } from "./DateTimePicker.utils.js";
|
|
7
7
|
const xe = ({
|
|
8
|
-
value:
|
|
8
|
+
value: b,
|
|
9
9
|
onChange: s,
|
|
10
10
|
minDate: C,
|
|
11
11
|
maxDate: P,
|
|
12
12
|
disabled: f = !1,
|
|
13
13
|
placeholder: j = "Select date and time",
|
|
14
|
-
label:
|
|
14
|
+
label: N,
|
|
15
15
|
error: m,
|
|
16
|
-
helperText:
|
|
16
|
+
helperText: z,
|
|
17
17
|
dateFormat: A = "MM/DD/YYYY",
|
|
18
18
|
timeFormat: i = "12h",
|
|
19
|
-
minuteStep:
|
|
19
|
+
minuteStep: v = 5,
|
|
20
20
|
clearable: V = !0,
|
|
21
21
|
className: L,
|
|
22
22
|
style: O,
|
|
@@ -27,15 +27,15 @@ const xe = ({
|
|
|
27
27
|
size: _ = "md",
|
|
28
28
|
variant: R = "default"
|
|
29
29
|
}) => {
|
|
30
|
-
const [h, x] =
|
|
30
|
+
const [h, x] = g(!1), [$, k] = g(b ?? /* @__PURE__ */ new Date()), [l, o] = g(() => b ?? /* @__PURE__ */ new Date()), p = ae(null), M = ne(T, O);
|
|
31
31
|
S(() => {
|
|
32
32
|
const e = (t) => {
|
|
33
33
|
p.current && !p.current.contains(t.target) && x(!1);
|
|
34
34
|
};
|
|
35
35
|
return document.addEventListener("mousedown", e), () => document.removeEventListener("mousedown", e);
|
|
36
36
|
}, []), S(() => {
|
|
37
|
-
o(
|
|
38
|
-
}, [
|
|
37
|
+
o(b ? new Date(b) : /* @__PURE__ */ new Date());
|
|
38
|
+
}, [b, h]);
|
|
39
39
|
const I = d((e) => {
|
|
40
40
|
o((t) => {
|
|
41
41
|
const a = new Date(e);
|
|
@@ -48,7 +48,7 @@ const xe = ({
|
|
|
48
48
|
}, [s]), G = d(() => {
|
|
49
49
|
const e = /* @__PURE__ */ new Date();
|
|
50
50
|
o(e), k(e);
|
|
51
|
-
}, []), J = d((e) => k(e), []), K = i === "12h" ? Array.from({ length: 12 }, (e, t) => t + 1) : Array.from({ length: 24 }, (e, t) => t), w = Array.from({ length: 60 /
|
|
51
|
+
}, []), J = d((e) => k(e), []), K = i === "12h" ? Array.from({ length: 12 }, (e, t) => t + 1) : Array.from({ length: 24 }, (e, t) => t), w = Array.from({ length: 60 / v }, (e, t) => t * v), y = l.getHours(), D = l.getMinutes(), Q = i === "12h" ? y % 12 || 12 : y, U = w.includes(D) ? D : w[0] ?? 0, H = y >= 12 ? "PM" : "AM", X = (e) => {
|
|
52
52
|
const t = i === "12h" ? H === "PM" ? e === 12 ? 12 : e + 12 : e === 12 ? 0 : e : e;
|
|
53
53
|
o((a) => {
|
|
54
54
|
const c = new Date(a);
|
|
@@ -68,10 +68,10 @@ const xe = ({
|
|
|
68
68
|
default: "bear-bg-zinc-800 bear-border-zinc-600",
|
|
69
69
|
filled: "bear-bg-zinc-700 bear-border-transparent",
|
|
70
70
|
outline: "bear-bg-transparent bear-border-zinc-500"
|
|
71
|
-
}, te =
|
|
72
|
-
return /* @__PURE__ */
|
|
73
|
-
|
|
74
|
-
/* @__PURE__ */
|
|
71
|
+
}, te = b ? `${se(b, A)} ${oe(b, i)}` : "";
|
|
72
|
+
return /* @__PURE__ */ n("div", { ref: p, className: u("bear-relative", L), style: Object.keys(M).length ? M : void 0, children: [
|
|
73
|
+
N && /* @__PURE__ */ r("label", { className: "bear-block bear-text-sm bear-font-medium bear-text-zinc-300 bear-mb-1.5", children: N }),
|
|
74
|
+
/* @__PURE__ */ n(
|
|
75
75
|
"button",
|
|
76
76
|
{
|
|
77
77
|
type: "button",
|
|
@@ -83,7 +83,7 @@ const xe = ({
|
|
|
83
83
|
re[R],
|
|
84
84
|
m ? "bear-border-red-500" : "focus:bear-border-pink-500",
|
|
85
85
|
f && "bear-opacity-50 bear-cursor-not-allowed",
|
|
86
|
-
|
|
86
|
+
b ? "bear-text-white" : "bear-text-zinc-500"
|
|
87
87
|
),
|
|
88
88
|
children: [
|
|
89
89
|
/* @__PURE__ */ r("span", { children: te || j }),
|
|
@@ -92,10 +92,10 @@ const xe = ({
|
|
|
92
92
|
}
|
|
93
93
|
),
|
|
94
94
|
m && /* @__PURE__ */ r("p", { className: "bear-mt-1 bear-text-xs bear-text-red-400", children: m }),
|
|
95
|
-
|
|
96
|
-
h && /* @__PURE__ */
|
|
95
|
+
z && !m && /* @__PURE__ */ r("p", { className: "bear-mt-1 bear-text-xs bear-text-zinc-500", children: z }),
|
|
96
|
+
h && /* @__PURE__ */ n("div", { className: "bear-absolute bear-z-50 bear-mt-2 bear-left-0 bear-right-0 bear-bg-white dark:bear-bg-gray-900 bear-rounded-xl bear-shadow-xl bear-border bear-border-zinc-200 dark:bear-border-zinc-700 bear-overflow-hidden bear-w-full bear-max-w-sm", children: [
|
|
97
97
|
/* @__PURE__ */ r(
|
|
98
|
-
|
|
98
|
+
be,
|
|
99
99
|
{
|
|
100
100
|
inline: !0,
|
|
101
101
|
viewDate: $,
|
|
@@ -111,9 +111,9 @@ const xe = ({
|
|
|
111
111
|
showTodayButton: !1
|
|
112
112
|
}
|
|
113
113
|
),
|
|
114
|
-
/* @__PURE__ */
|
|
115
|
-
/* @__PURE__ */
|
|
116
|
-
/* @__PURE__ */
|
|
114
|
+
/* @__PURE__ */ n("div", { className: "bear-px-4 bear-pb-3 bear-pt-2 bear-border-t bear-border-zinc-200", children: [
|
|
115
|
+
/* @__PURE__ */ n("div", { className: "bear-flex bear-gap-2 bear-mb-3", children: [
|
|
116
|
+
/* @__PURE__ */ n("div", { className: "bear-flex-1", children: [
|
|
117
117
|
/* @__PURE__ */ r("div", { className: "bear-text-xs bear-text-zinc-500 bear-mb-1 bear-text-center", children: "Hour" }),
|
|
118
118
|
/* @__PURE__ */ r("div", { className: "bear-h-24 bear-overflow-y-auto bear-space-y-0.5 bear-scrollbar-thin", children: K.map((e) => /* @__PURE__ */ r(
|
|
119
119
|
"button",
|
|
@@ -129,7 +129,7 @@ const xe = ({
|
|
|
129
129
|
e
|
|
130
130
|
)) })
|
|
131
131
|
] }),
|
|
132
|
-
/* @__PURE__ */
|
|
132
|
+
/* @__PURE__ */ n("div", { className: "bear-flex-1", children: [
|
|
133
133
|
/* @__PURE__ */ r("div", { className: "bear-text-xs bear-text-zinc-500 bear-mb-1 bear-text-center", children: "Minute" }),
|
|
134
134
|
/* @__PURE__ */ r("div", { className: "bear-h-24 bear-overflow-y-auto bear-space-y-0.5 bear-scrollbar-thin", children: w.map((e) => /* @__PURE__ */ r(
|
|
135
135
|
"button",
|
|
@@ -145,7 +145,7 @@ const xe = ({
|
|
|
145
145
|
e
|
|
146
146
|
)) })
|
|
147
147
|
] }),
|
|
148
|
-
i === "12h" && /* @__PURE__ */
|
|
148
|
+
i === "12h" && /* @__PURE__ */ n("div", { className: "bear-flex-1", children: [
|
|
149
149
|
/* @__PURE__ */ r("div", { className: "bear-text-xs bear-text-zinc-500 bear-mb-1 bear-text-center", children: "Period" }),
|
|
150
150
|
/* @__PURE__ */ r("div", { className: "bear-space-y-0.5", children: ["AM", "PM"].map((e) => /* @__PURE__ */ r(
|
|
151
151
|
"button",
|
|
@@ -162,9 +162,9 @@ const xe = ({
|
|
|
162
162
|
)) })
|
|
163
163
|
] })
|
|
164
164
|
] }),
|
|
165
|
-
/* @__PURE__ */
|
|
166
|
-
V &&
|
|
167
|
-
/* @__PURE__ */
|
|
165
|
+
/* @__PURE__ */ n("div", { className: "bear-flex bear-gap-2 bear-justify-between", children: [
|
|
166
|
+
V && b ? /* @__PURE__ */ r("button", { type: "button", onClick: q, className: "bear-text-sm bear-text-zinc-500 hover:bear-text-zinc-700", children: "Clear" }) : /* @__PURE__ */ r("span", {}),
|
|
167
|
+
/* @__PURE__ */ n("div", { className: "bear-flex bear-gap-2", children: [
|
|
168
168
|
/* @__PURE__ */ r("button", { type: "button", onClick: G, className: "bear-text-sm bear-text-bear-600 hover:bear-text-bear-700 bear-font-medium", children: "Today" }),
|
|
169
169
|
/* @__PURE__ */ r("button", { type: "button", onClick: W, className: "bear-text-sm bear-bg-bear-500 bear-text-white bear-px-3 bear-py-1 bear-rounded bear-font-medium hover:bear-bg-bear-600", children: "Confirm" })
|
|
170
170
|
] })
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("react/jsx-runtime"),e=require("react"),v=require("../Button/Button.cjs"),k=require("../Icon/index.cjs"),w=e.createContext(null),d=()=>{const r=e.useContext(w);if(!r)throw new Error("Editable components must be used within Editable.Root");return r},j=e.forwardRef(({children:r,defaultValue:s="",value:a,onChange:i,onEditSubmit:t,onCancel:o,placeholder:b="Click to edit...",isDisabled:c=!1,startWithEditView:x=!1,className:u="",...f},m)=>{const[l,p]=e.useState(x),[B,T]=e.useState(s),[E,P]=e.useState(s),g=a!==void 0?a:B,y=e.useCallback(h=>{a===void 0&&T(h),i==null||i(h)},[a,i]),q=e.useCallback(()=>{c||(P(g),p(!0))},[c,g]),D=e.useCallback(()=>{p(!1)},[]),K=e.useCallback(()=>{t==null||t(g),p(!1)},[g,t]),S=e.useCallback(()=>{y(E),o==null||o(),p(!1)},[E,y,o]);return n.jsx(w.Provider,{value:{isEditing:l,value:g,startEditing:q,stopEditing:D,setValue:y,submit:K,cancel:S},children:n.jsx("div",{ref:m,className:`bear-editable inline-block ${u}`.trim(),...f,children:r})})});j.displayName="Editable.Root";const N=e.forwardRef(({children:r,className:s="",...a},i)=>{const{isEditing:t,value:o,startEditing:b}=d();return t?null:n.jsx("span",{ref:i,className:`bear-editable-preview cursor-pointer hover:bg-gray-100 dark:hover:bg-gray-800 px-2 py-1 rounded transition-colors ${s}`.trim(),onClick:b,...a,children:r||o||n.jsx("span",{className:"text-gray-400 italic",children:"Click to edit..."})})});N.displayName="Editable.Preview";const C=e.forwardRef(({asTextarea:r=!1,className:s="",...a},i)=>{const{isEditing:t,value:o,setValue:b,submit:c,cancel:x}=d(),u=e.useRef(null);e.useEffect(()=>{t&&u.current&&(u.current.focus(),u.current.select())},[t]);const f=l=>{l.key==="Enter"&&!r&&(l.preventDefault(),c()),l.key==="Escape"&&x()};if(!t)return null;const m="bear-editable-input w-full px-2 py-1 border border-gray-300 dark:border-gray-600 rounded bg-white dark:bg-gray-800 text-gray-900 dark:text-white focus:outline-none focus:ring-2 focus:ring-pink-500";return r?n.jsx("textarea",{ref:i,value:o,onChange:l=>b(l.target.value),onKeyDown:f,onBlur:c,className:`${m} min-h-[80px] resize-y ${s}`.trim(),...a}):n.jsx("input",{ref:u,type:"text",value:o,onChange:l=>b(l.target.value),onKeyDown:f,onBlur:c,className:`${m} ${s}`.trim(),...a})});C.displayName="Editable.Input";const R=e.forwardRef(({children:r,className:s="",...a},i)=>{const{isEditing:t}=d();return t?n.jsx("div",{ref:i,className:`bear-editable-control flex items-center gap-1 mt-1 ${s}`.trim(),...a,children:r}):null});R.displayName="Editable.Control";const $=e.forwardRef(({children:r,className:s="",...a},i)=>{const{submit:t}=d();return n.jsx(v.Button,{ref:i,type:"button",onClick:t,variant:"ghost",size:"sm",className:`bear-editable-submit bear-text-green-600 dark:bear-text-green-400 hover:bear-bg-green-100 dark:hover:bear-bg-green-900/30 bear-p-1 bear-min-w-0 ${s}`.trim(),...a,children:r||n.jsx(k.CheckIcon,{size:16})})});$.displayName="Editable.SubmitTrigger";const z=e.forwardRef(({children:r,className:s="",...a},i)=>{const{cancel:t}=d();return n.jsx(v.Button,{ref:i,type:"button",onClick:t,variant:"ghost",size:"sm",className:`bear-editable-cancel bear-text-red-600 dark:bear-text-red-400 hover:bear-bg-red-100 dark:hover:bear-bg-red-900/30 bear-p-1 bear-min-w-0 ${s}`.trim(),...a,children:r||n.jsx(k.CloseIcon,{size:16})})});z.displayName="Editable.CancelTrigger";const I=e.forwardRef(({children:r,className:s="",...a},i)=>{const{isEditing:t,startEditing:o}=d();return t?null:n.jsx(v.Button,{ref:i,type:"button",onClick:o,variant:"ghost",size:"sm",className:`bear-editable-edit bear-text-gray-600 dark:bear-text-gray-400 hover:bear-bg-gray-100 dark:hover:bear-bg-gray-800 bear-p-1 bear-min-w-0 ${s}`.trim(),...a,children:r||n.jsx(k.EditIcon,{size:16})})});I.displayName="Editable.EditTrigger";const M={Root:j,Preview:N,Input:C,Control:R,SubmitTrigger:$,CancelTrigger:z,EditTrigger:I};exports.Editable=M;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { EditableRootProps, EditablePreviewProps, EditableInputProps, EditableControlProps, EditableSubmitTriggerProps, EditableCancelTriggerProps, EditableEditTriggerProps } from './Editable.types';
|
|
2
|
+
export declare const Editable: {
|
|
3
|
+
Root: import('react').ForwardRefExoticComponent<EditableRootProps & import('react').RefAttributes<HTMLDivElement>>;
|
|
4
|
+
Preview: import('react').ForwardRefExoticComponent<EditablePreviewProps & import('react').RefAttributes<HTMLSpanElement>>;
|
|
5
|
+
Input: import('react').ForwardRefExoticComponent<EditableInputProps & import('react').RefAttributes<HTMLInputElement>>;
|
|
6
|
+
Control: import('react').ForwardRefExoticComponent<EditableControlProps & import('react').RefAttributes<HTMLDivElement>>;
|
|
7
|
+
SubmitTrigger: import('react').ForwardRefExoticComponent<EditableSubmitTriggerProps & import('react').RefAttributes<HTMLButtonElement>>;
|
|
8
|
+
CancelTrigger: import('react').ForwardRefExoticComponent<EditableCancelTriggerProps & import('react').RefAttributes<HTMLButtonElement>>;
|
|
9
|
+
EditTrigger: import('react').ForwardRefExoticComponent<EditableEditTriggerProps & import('react').RefAttributes<HTMLButtonElement>>;
|
|
10
|
+
};
|
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
import { jsx as n } from "react/jsx-runtime";
|
|
2
|
+
import { createContext as F, forwardRef as l, useState as h, useCallback as m, useRef as G, useEffect as H, useContext as J } from "react";
|
|
3
|
+
import { Button as k } from "../Button/Button.js";
|
|
4
|
+
import { CheckIcon as L, CloseIcon as M, EditIcon as O } from "../Icon/index.js";
|
|
5
|
+
const N = F(null), b = () => {
|
|
6
|
+
const t = J(N);
|
|
7
|
+
if (!t)
|
|
8
|
+
throw new Error("Editable components must be used within Editable.Root");
|
|
9
|
+
return t;
|
|
10
|
+
}, C = l(({
|
|
11
|
+
children: t,
|
|
12
|
+
defaultValue: a = "",
|
|
13
|
+
value: r,
|
|
14
|
+
onChange: i,
|
|
15
|
+
onEditSubmit: e,
|
|
16
|
+
onCancel: s,
|
|
17
|
+
placeholder: u = "Click to edit...",
|
|
18
|
+
isDisabled: c = !1,
|
|
19
|
+
startWithEditView: v = !1,
|
|
20
|
+
className: d = "",
|
|
21
|
+
...p
|
|
22
|
+
}, f) => {
|
|
23
|
+
const [o, y] = h(v), [B, D] = h(a), [x, K] = h(a), g = r !== void 0 ? r : B, E = m((w) => {
|
|
24
|
+
r === void 0 && D(w), i == null || i(w);
|
|
25
|
+
}, [r, i]), j = m(() => {
|
|
26
|
+
c || (K(g), y(!0));
|
|
27
|
+
}, [c, g]), V = m(() => {
|
|
28
|
+
y(!1);
|
|
29
|
+
}, []), q = m(() => {
|
|
30
|
+
e == null || e(g), y(!1);
|
|
31
|
+
}, [g, e]), A = m(() => {
|
|
32
|
+
E(x), s == null || s(), y(!1);
|
|
33
|
+
}, [x, E, s]);
|
|
34
|
+
return /* @__PURE__ */ n(N.Provider, { value: { isEditing: o, value: g, startEditing: j, stopEditing: V, setValue: E, submit: q, cancel: A }, children: /* @__PURE__ */ n(
|
|
35
|
+
"div",
|
|
36
|
+
{
|
|
37
|
+
ref: f,
|
|
38
|
+
className: `bear-editable inline-block ${d}`.trim(),
|
|
39
|
+
...p,
|
|
40
|
+
children: t
|
|
41
|
+
}
|
|
42
|
+
) });
|
|
43
|
+
});
|
|
44
|
+
C.displayName = "Editable.Root";
|
|
45
|
+
const $ = l(({
|
|
46
|
+
children: t,
|
|
47
|
+
className: a = "",
|
|
48
|
+
...r
|
|
49
|
+
}, i) => {
|
|
50
|
+
const { isEditing: e, value: s, startEditing: u } = b();
|
|
51
|
+
return e ? null : /* @__PURE__ */ n(
|
|
52
|
+
"span",
|
|
53
|
+
{
|
|
54
|
+
ref: i,
|
|
55
|
+
className: `bear-editable-preview cursor-pointer hover:bg-gray-100 dark:hover:bg-gray-800 px-2 py-1 rounded transition-colors ${a}`.trim(),
|
|
56
|
+
onClick: u,
|
|
57
|
+
...r,
|
|
58
|
+
children: t || s || /* @__PURE__ */ n("span", { className: "text-gray-400 italic", children: "Click to edit..." })
|
|
59
|
+
}
|
|
60
|
+
);
|
|
61
|
+
});
|
|
62
|
+
$.displayName = "Editable.Preview";
|
|
63
|
+
const z = l(({
|
|
64
|
+
asTextarea: t = !1,
|
|
65
|
+
className: a = "",
|
|
66
|
+
...r
|
|
67
|
+
}, i) => {
|
|
68
|
+
const { isEditing: e, value: s, setValue: u, submit: c, cancel: v } = b(), d = G(null);
|
|
69
|
+
H(() => {
|
|
70
|
+
e && d.current && (d.current.focus(), d.current.select());
|
|
71
|
+
}, [e]);
|
|
72
|
+
const p = (o) => {
|
|
73
|
+
o.key === "Enter" && !t && (o.preventDefault(), c()), o.key === "Escape" && v();
|
|
74
|
+
};
|
|
75
|
+
if (!e) return null;
|
|
76
|
+
const f = "bear-editable-input w-full px-2 py-1 border border-gray-300 dark:border-gray-600 rounded bg-white dark:bg-gray-800 text-gray-900 dark:text-white focus:outline-none focus:ring-2 focus:ring-pink-500";
|
|
77
|
+
return t ? /* @__PURE__ */ n(
|
|
78
|
+
"textarea",
|
|
79
|
+
{
|
|
80
|
+
ref: i,
|
|
81
|
+
value: s,
|
|
82
|
+
onChange: (o) => u(o.target.value),
|
|
83
|
+
onKeyDown: p,
|
|
84
|
+
onBlur: c,
|
|
85
|
+
className: `${f} min-h-[80px] resize-y ${a}`.trim(),
|
|
86
|
+
...r
|
|
87
|
+
}
|
|
88
|
+
) : /* @__PURE__ */ n(
|
|
89
|
+
"input",
|
|
90
|
+
{
|
|
91
|
+
ref: d,
|
|
92
|
+
type: "text",
|
|
93
|
+
value: s,
|
|
94
|
+
onChange: (o) => u(o.target.value),
|
|
95
|
+
onKeyDown: p,
|
|
96
|
+
onBlur: c,
|
|
97
|
+
className: `${f} ${a}`.trim(),
|
|
98
|
+
...r
|
|
99
|
+
}
|
|
100
|
+
);
|
|
101
|
+
});
|
|
102
|
+
z.displayName = "Editable.Input";
|
|
103
|
+
const I = l(({
|
|
104
|
+
children: t,
|
|
105
|
+
className: a = "",
|
|
106
|
+
...r
|
|
107
|
+
}, i) => {
|
|
108
|
+
const { isEditing: e } = b();
|
|
109
|
+
return e ? /* @__PURE__ */ n(
|
|
110
|
+
"div",
|
|
111
|
+
{
|
|
112
|
+
ref: i,
|
|
113
|
+
className: `bear-editable-control flex items-center gap-1 mt-1 ${a}`.trim(),
|
|
114
|
+
...r,
|
|
115
|
+
children: t
|
|
116
|
+
}
|
|
117
|
+
) : null;
|
|
118
|
+
});
|
|
119
|
+
I.displayName = "Editable.Control";
|
|
120
|
+
const R = l(({
|
|
121
|
+
children: t,
|
|
122
|
+
className: a = "",
|
|
123
|
+
...r
|
|
124
|
+
}, i) => {
|
|
125
|
+
const { submit: e } = b();
|
|
126
|
+
return /* @__PURE__ */ n(
|
|
127
|
+
k,
|
|
128
|
+
{
|
|
129
|
+
ref: i,
|
|
130
|
+
type: "button",
|
|
131
|
+
onClick: e,
|
|
132
|
+
variant: "ghost",
|
|
133
|
+
size: "sm",
|
|
134
|
+
className: `bear-editable-submit bear-text-green-600 dark:bear-text-green-400 hover:bear-bg-green-100 dark:hover:bear-bg-green-900/30 bear-p-1 bear-min-w-0 ${a}`.trim(),
|
|
135
|
+
...r,
|
|
136
|
+
children: t || /* @__PURE__ */ n(L, { size: 16 })
|
|
137
|
+
}
|
|
138
|
+
);
|
|
139
|
+
});
|
|
140
|
+
R.displayName = "Editable.SubmitTrigger";
|
|
141
|
+
const T = l(({
|
|
142
|
+
children: t,
|
|
143
|
+
className: a = "",
|
|
144
|
+
...r
|
|
145
|
+
}, i) => {
|
|
146
|
+
const { cancel: e } = b();
|
|
147
|
+
return /* @__PURE__ */ n(
|
|
148
|
+
k,
|
|
149
|
+
{
|
|
150
|
+
ref: i,
|
|
151
|
+
type: "button",
|
|
152
|
+
onClick: e,
|
|
153
|
+
variant: "ghost",
|
|
154
|
+
size: "sm",
|
|
155
|
+
className: `bear-editable-cancel bear-text-red-600 dark:bear-text-red-400 hover:bear-bg-red-100 dark:hover:bear-bg-red-900/30 bear-p-1 bear-min-w-0 ${a}`.trim(),
|
|
156
|
+
...r,
|
|
157
|
+
children: t || /* @__PURE__ */ n(M, { size: 16 })
|
|
158
|
+
}
|
|
159
|
+
);
|
|
160
|
+
});
|
|
161
|
+
T.displayName = "Editable.CancelTrigger";
|
|
162
|
+
const P = l(({
|
|
163
|
+
children: t,
|
|
164
|
+
className: a = "",
|
|
165
|
+
...r
|
|
166
|
+
}, i) => {
|
|
167
|
+
const { isEditing: e, startEditing: s } = b();
|
|
168
|
+
return e ? null : /* @__PURE__ */ n(
|
|
169
|
+
k,
|
|
170
|
+
{
|
|
171
|
+
ref: i,
|
|
172
|
+
type: "button",
|
|
173
|
+
onClick: s,
|
|
174
|
+
variant: "ghost",
|
|
175
|
+
size: "sm",
|
|
176
|
+
className: `bear-editable-edit bear-text-gray-600 dark:bear-text-gray-400 hover:bear-bg-gray-100 dark:hover:bear-bg-gray-800 bear-p-1 bear-min-w-0 ${a}`.trim(),
|
|
177
|
+
...r,
|
|
178
|
+
children: t || /* @__PURE__ */ n(O, { size: 16 })
|
|
179
|
+
}
|
|
180
|
+
);
|
|
181
|
+
});
|
|
182
|
+
P.displayName = "Editable.EditTrigger";
|
|
183
|
+
const Y = {
|
|
184
|
+
Root: C,
|
|
185
|
+
Preview: $,
|
|
186
|
+
Input: z,
|
|
187
|
+
Control: I,
|
|
188
|
+
SubmitTrigger: R,
|
|
189
|
+
CancelTrigger: T,
|
|
190
|
+
EditTrigger: P
|
|
191
|
+
};
|
|
192
|
+
export {
|
|
193
|
+
Y as Editable
|
|
194
|
+
};
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { HTMLAttributes, ReactNode, InputHTMLAttributes } from 'react';
|
|
2
|
+
export interface EditableContextValue {
|
|
3
|
+
isEditing: boolean;
|
|
4
|
+
value: string;
|
|
5
|
+
startEditing: () => void;
|
|
6
|
+
stopEditing: () => void;
|
|
7
|
+
setValue: (value: string) => void;
|
|
8
|
+
submit: () => void;
|
|
9
|
+
cancel: () => void;
|
|
10
|
+
}
|
|
11
|
+
export interface EditableRootProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onChange' | 'onSubmit'> {
|
|
12
|
+
children?: ReactNode;
|
|
13
|
+
defaultValue?: string;
|
|
14
|
+
value?: string;
|
|
15
|
+
onChange?: (value: string) => void;
|
|
16
|
+
onEditSubmit?: (value: string) => void;
|
|
17
|
+
onCancel?: () => void;
|
|
18
|
+
placeholder?: string;
|
|
19
|
+
isDisabled?: boolean;
|
|
20
|
+
startWithEditView?: boolean;
|
|
21
|
+
}
|
|
22
|
+
export interface EditablePreviewProps extends HTMLAttributes<HTMLSpanElement> {
|
|
23
|
+
children?: ReactNode;
|
|
24
|
+
}
|
|
25
|
+
export interface EditableInputProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'onChange' | 'value'> {
|
|
26
|
+
asTextarea?: boolean;
|
|
27
|
+
}
|
|
28
|
+
export interface EditableControlProps extends HTMLAttributes<HTMLDivElement> {
|
|
29
|
+
children?: ReactNode;
|
|
30
|
+
}
|
|
31
|
+
export interface EditableSubmitTriggerProps extends HTMLAttributes<HTMLButtonElement> {
|
|
32
|
+
children?: ReactNode;
|
|
33
|
+
}
|
|
34
|
+
export interface EditableCancelTriggerProps extends HTMLAttributes<HTMLButtonElement> {
|
|
35
|
+
children?: ReactNode;
|
|
36
|
+
}
|
|
37
|
+
export interface EditableEditTriggerProps extends HTMLAttributes<HTMLButtonElement> {
|
|
38
|
+
children?: ReactNode;
|
|
39
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("react/jsx-runtime"),n=require("react"),o={default:"italic text-inherit",strong:"italic font-semibold text-gray-900 dark:text-white",subtle:"italic text-gray-500 dark:text-gray-400"},t=n.forwardRef(({children:e,variant:a="default",className:r="",...i},s)=>l.jsx("em",{ref:s,className:`bear-em ${o[a]} ${r}`.trim(),...i,children:e}));t.displayName="Em";exports.Em=t;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { jsx as m } from "react/jsx-runtime";
|
|
2
|
+
import { forwardRef as s } from "react";
|
|
3
|
+
const o = {
|
|
4
|
+
default: "italic text-inherit",
|
|
5
|
+
strong: "italic font-semibold text-gray-900 dark:text-white",
|
|
6
|
+
subtle: "italic text-gray-500 dark:text-gray-400"
|
|
7
|
+
}, l = s(({
|
|
8
|
+
children: t,
|
|
9
|
+
variant: e = "default",
|
|
10
|
+
className: a = "",
|
|
11
|
+
...r
|
|
12
|
+
}, i) => /* @__PURE__ */ m(
|
|
13
|
+
"em",
|
|
14
|
+
{
|
|
15
|
+
ref: i,
|
|
16
|
+
className: `bear-em ${o[e]} ${a}`.trim(),
|
|
17
|
+
...r,
|
|
18
|
+
children: t
|
|
19
|
+
}
|
|
20
|
+
));
|
|
21
|
+
l.displayName = "Em";
|
|
22
|
+
export {
|
|
23
|
+
l as Em
|
|
24
|
+
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const f=require("react/jsx-runtime"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const f=require("react/jsx-runtime"),p=require("react"),x=require("../../utils/cn.cjs"),m={sm:"bear-w-10 bear-h-10",md:"bear-w-14 bear-h-14",lg:"bear-w-16 bear-h-16"},w={"bottom-right":"bear-fixed bear-bottom-6 bear-right-6","bottom-left":"bear-fixed bear-bottom-6 bear-left-6","top-right":"bear-fixed bear-top-6 bear-right-6","top-left":"bear-fixed bear-top-6 bear-left-6","bottom-center":"bear-fixed bear-bottom-6 bear-left-1/2 bear--translate-x-1/2",relative:""},v={primary:"bear-bg-pink-500 hover:bear-bg-pink-600 bear-text-white",secondary:"bear-bg-gray-600 hover:bear-bg-gray-700 bear-text-white",success:"bear-bg-green-500 hover:bear-bg-green-600 bear-text-white",danger:"bear-bg-red-500 hover:bear-bg-red-600 bear-text-white",warning:"bear-bg-amber-500 hover:bear-bg-amber-600 bear-text-white",info:"bear-bg-blue-500 hover:bear-bg-blue-600 bear-text-white",ghost:"bear-bg-gray-500 hover:bear-bg-gray-600 bear-text-white",outline:"bear-bg-white dark:bear-bg-gray-900 bear-border-2 bear-border-pink-500 hover:bear-bg-pink-50 dark:hover:bear-bg-pink-900/20 bear-text-pink-500",error:"bear-bg-red-500 hover:bear-bg-red-600 bear-text-white"},a=p.forwardRef(({children:b,size:t="md",variant:o="primary",color:e,extended:i=!1,position:n="relative",disabled:r=!1,shadow:g=!0,animated:s=!0,className:l,testId:h,style:c,...d},u)=>f.jsx("button",{ref:u,type:"button",disabled:r,className:x.cn("bear-inline-flex bear-items-center bear-justify-center bear-rounded-full","bear-border-none bear-cursor-pointer bear-transition-all bear-duration-200","focus:bear-outline-none focus:bear-ring-2 focus:bear-ring-offset-2 focus:bear-ring-pink-500",m[t],w[n],v[o],g&&"bear-shadow-lg hover:bear-shadow-xl",s&&"hover:bear-scale-110 active:bear-scale-95",i&&"bear-w-auto bear-px-6 bear-gap-2",r&&"bear-opacity-50 bear-cursor-not-allowed hover:bear-scale-100",l),style:{...c,...e&&{backgroundColor:e}},"data-testid":h,...d,children:b}));a.displayName="Fab";exports.Fab=a;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx as c } from "react/jsx-runtime";
|
|
2
|
-
import { forwardRef as
|
|
3
|
-
import { cn as
|
|
2
|
+
import { forwardRef as p } from "react";
|
|
3
|
+
import { cn as m } from "../../utils/cn.js";
|
|
4
4
|
const u = {
|
|
5
5
|
sm: "bear-w-10 bear-h-10",
|
|
6
6
|
md: "bear-w-14 bear-h-14",
|
|
@@ -20,9 +20,9 @@ const u = {
|
|
|
20
20
|
warning: "bear-bg-amber-500 hover:bear-bg-amber-600 bear-text-white",
|
|
21
21
|
info: "bear-bg-blue-500 hover:bear-bg-blue-600 bear-text-white",
|
|
22
22
|
ghost: "bear-bg-gray-500 hover:bear-bg-gray-600 bear-text-white",
|
|
23
|
-
outline: "bear-bg-white bear-border-2 bear-border-pink-500 hover:bear-bg-pink-50 bear-text-pink-500",
|
|
23
|
+
outline: "bear-bg-white dark:bear-bg-gray-900 bear-border-2 bear-border-pink-500 hover:bear-bg-pink-50 dark:hover:bear-bg-pink-900/20 bear-text-pink-500",
|
|
24
24
|
error: "bear-bg-red-500 hover:bear-bg-red-600 bear-text-white"
|
|
25
|
-
}, v =
|
|
25
|
+
}, v = p(({
|
|
26
26
|
children: a,
|
|
27
27
|
size: b = "md",
|
|
28
28
|
variant: t = "primary",
|
|
@@ -35,14 +35,14 @@ const u = {
|
|
|
35
35
|
className: s,
|
|
36
36
|
testId: h,
|
|
37
37
|
style: l,
|
|
38
|
-
...
|
|
39
|
-
},
|
|
38
|
+
...d
|
|
39
|
+
}, f) => /* @__PURE__ */ c(
|
|
40
40
|
"button",
|
|
41
41
|
{
|
|
42
|
-
ref:
|
|
42
|
+
ref: f,
|
|
43
43
|
type: "button",
|
|
44
44
|
disabled: r,
|
|
45
|
-
className:
|
|
45
|
+
className: m(
|
|
46
46
|
"bear-inline-flex bear-items-center bear-justify-center bear-rounded-full",
|
|
47
47
|
"bear-border-none bear-cursor-pointer bear-transition-all bear-duration-200",
|
|
48
48
|
"focus:bear-outline-none focus:bear-ring-2 focus:bear-ring-offset-2 focus:bear-ring-pink-500",
|
|
@@ -60,7 +60,7 @@ const u = {
|
|
|
60
60
|
...e && { backgroundColor: e }
|
|
61
61
|
},
|
|
62
62
|
"data-testid": h,
|
|
63
|
-
...
|
|
63
|
+
...d,
|
|
64
64
|
children: a
|
|
65
65
|
}
|
|
66
66
|
));
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("react/jsx-runtime"),t=require("react"),b={yellow:"bg-yellow-200 dark:bg-yellow-500/30",pink:"bg-pink-200 dark:bg-pink-500/30",blue:"bg-blue-200 dark:bg-blue-500/30",green:"bg-green-200 dark:bg-green-500/30",purple:"bg-purple-200 dark:bg-purple-500/30",orange:"bg-orange-200 dark:bg-orange-500/30"},e=t.forwardRef(({children:r,color:g="yellow",animated:l=!1,className:a="",...i},n)=>o.jsx("span",{ref:n,className:`bear-highlight px-1 rounded ${b[g]} ${l?"animate-pulse":""} ${a}`.trim(),...i,children:r}));e.displayName="Highlight";exports.Highlight=e;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { jsx as b } from "react/jsx-runtime";
|
|
2
|
+
import { forwardRef as p } from "react";
|
|
3
|
+
const n = {
|
|
4
|
+
yellow: "bg-yellow-200 dark:bg-yellow-500/30",
|
|
5
|
+
pink: "bg-pink-200 dark:bg-pink-500/30",
|
|
6
|
+
blue: "bg-blue-200 dark:bg-blue-500/30",
|
|
7
|
+
green: "bg-green-200 dark:bg-green-500/30",
|
|
8
|
+
purple: "bg-purple-200 dark:bg-purple-500/30",
|
|
9
|
+
orange: "bg-orange-200 dark:bg-orange-500/30"
|
|
10
|
+
}, i = p(({
|
|
11
|
+
children: e,
|
|
12
|
+
color: r = "yellow",
|
|
13
|
+
animated: g = !1,
|
|
14
|
+
className: l = "",
|
|
15
|
+
...a
|
|
16
|
+
}, o) => /* @__PURE__ */ b(
|
|
17
|
+
"span",
|
|
18
|
+
{
|
|
19
|
+
ref: o,
|
|
20
|
+
className: `bear-highlight px-1 rounded ${n[r]} ${g ? "animate-pulse" : ""} ${l}`.trim(),
|
|
21
|
+
...a,
|
|
22
|
+
children: e
|
|
23
|
+
}
|
|
24
|
+
));
|
|
25
|
+
i.displayName = "Highlight";
|
|
26
|
+
export {
|
|
27
|
+
i as Highlight
|
|
28
|
+
};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("react/jsx-runtime"),t=require("react"),u=require("./HoverCard.utils.cjs"),c=t.forwardRef(({children:l,cardContent:d,side:o="bottom",align:b="center",openDelay:m=200,closeDelay:v=300,arrow:f=!0,className:g="",...p},y)=>{const[h,a]=t.useState(!1),e=t.useRef(),r=t.useRef(),n=()=>{r.current&&clearTimeout(r.current),e.current=setTimeout(()=>{a(!0)},m)},i=()=>{e.current&&clearTimeout(e.current),r.current=setTimeout(()=>{a(!1)},v)};return t.useEffect(()=>()=>{e.current&&clearTimeout(e.current),r.current&&clearTimeout(r.current)},[]),s.jsxs("div",{ref:y,className:`bear-hover-card relative inline-block ${g}`.trim(),onMouseEnter:n,onMouseLeave:i,...p,children:[l,s.jsx("div",{className:`
|
|
2
|
+
absolute z-50 w-72
|
|
3
|
+
${u.getSideClasses(o,b)}
|
|
4
|
+
transition-all duration-200
|
|
5
|
+
${h?"opacity-100 visible scale-100":"opacity-0 invisible scale-95 pointer-events-none"}
|
|
6
|
+
`,onMouseEnter:n,onMouseLeave:i,children:s.jsxs("div",{className:"bg-white dark:bg-gray-800 rounded-lg shadow-xl border border-gray-200 dark:border-gray-700 p-4",children:[f&&s.jsx("div",{className:`absolute w-3 h-3 bg-white dark:bg-gray-800 border-gray-200 dark:border-gray-700 ${u.getArrowClasses(o)}`,style:{borderWidth:o==="top"||o==="left"?"0 1px 1px 0":"1px 0 0 1px"}}),d]})})]})});c.displayName="HoverCard";exports.HoverCard=c;
|