@bioturing/components 0.42.0 → 0.44.0
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/button/component.d.ts.map +1 -1
- package/dist/components/button/component.js +41 -34
- package/dist/components/button/component.js.map +1 -1
- package/dist/components/button/style.css +1 -1
- package/dist/components/combobox/component.d.ts.map +1 -1
- package/dist/components/combobox/component.js +136 -126
- package/dist/components/combobox/component.js.map +1 -1
- package/dist/components/command-palette/component.d.ts +7 -0
- package/dist/components/command-palette/component.d.ts.map +1 -1
- package/dist/components/command-palette/component.js +35 -33
- package/dist/components/command-palette/component.js.map +1 -1
- package/dist/components/dialog/Dialog.d.ts +53 -0
- package/dist/components/dialog/Dialog.d.ts.map +1 -0
- package/dist/components/dialog/Dialog.js +231 -0
- package/dist/components/dialog/Dialog.js.map +1 -0
- package/dist/components/dialog/constants.d.ts +20 -0
- package/dist/components/dialog/constants.d.ts.map +1 -0
- package/dist/components/dialog/constants.js +20 -0
- package/dist/components/dialog/constants.js.map +1 -0
- package/dist/components/dialog/dialog.css +1 -0
- package/dist/components/dialog/index.d.ts +4 -0
- package/dist/components/dialog/index.d.ts.map +1 -0
- package/dist/components/dialog/index.js +8 -0
- package/dist/components/dialog/index.js.map +1 -0
- package/dist/components/dropdown-menu/component.d.ts +8 -1
- package/dist/components/dropdown-menu/component.d.ts.map +1 -1
- package/dist/components/dropdown-menu/component.js +165 -141
- package/dist/components/dropdown-menu/component.js.map +1 -1
- package/dist/components/dropdown-menu/style.css +1 -1
- package/dist/components/ds-root/component.d.ts +6 -1
- package/dist/components/ds-root/component.d.ts.map +1 -1
- package/dist/components/ds-root/component.js +15 -14
- package/dist/components/ds-root/component.js.map +1 -1
- package/dist/components/form/style.css +1 -1
- package/dist/components/hooks/index.d.ts +0 -1
- package/dist/components/hooks/index.d.ts.map +1 -1
- package/dist/components/icon-button/style.css +1 -1
- package/dist/components/index.d.ts +2 -0
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/label-with-help/component.d.ts +20 -0
- package/dist/components/label-with-help/component.d.ts.map +1 -0
- package/dist/components/label-with-help/component.js +39 -0
- package/dist/components/label-with-help/component.js.map +1 -0
- package/dist/components/label-with-help/index.d.ts +2 -0
- package/dist/components/label-with-help/index.d.ts.map +1 -0
- package/dist/components/label-with-help/style.css +1 -0
- package/dist/components/modal/Modal.d.ts.map +1 -1
- package/dist/components/modal/Modal.js +157 -133
- package/dist/components/modal/Modal.js.map +1 -1
- package/dist/components/popup-panel/component.d.ts +2 -111
- package/dist/components/popup-panel/component.d.ts.map +1 -1
- package/dist/components/popup-panel/component.js +259 -143
- package/dist/components/popup-panel/component.js.map +1 -1
- package/dist/components/popup-panel/constants.d.ts +1 -0
- package/dist/components/popup-panel/constants.d.ts.map +1 -1
- package/dist/components/popup-panel/constants.js +2 -0
- package/dist/components/popup-panel/constants.js.map +1 -1
- package/dist/components/popup-panel/index.d.ts +1 -0
- package/dist/components/popup-panel/index.d.ts.map +1 -1
- package/dist/components/popup-panel/types.d.ts +124 -0
- package/dist/components/popup-panel/types.d.ts.map +1 -0
- package/dist/components/popup-panel/utils.d.ts +1 -1
- package/dist/components/popup-panel/utils.d.ts.map +1 -1
- package/dist/components/popup-panel/utils.js +5 -5
- package/dist/components/popup-panel/utils.js.map +1 -1
- package/dist/components/resizable/component.d.ts.map +1 -1
- package/dist/components/resizable/component.js +28 -28
- package/dist/components/resizable/component.js.map +1 -1
- package/dist/components/select/component.d.ts.map +1 -1
- package/dist/components/select/component.js +130 -120
- package/dist/components/select/component.js.map +1 -1
- package/dist/components/select-trigger/style.css +1 -1
- package/dist/components/spin/Indicator/Looper.d.ts +6 -0
- package/dist/components/spin/Indicator/Looper.d.ts.map +1 -0
- package/dist/components/spin/Indicator/Looper.js +15 -0
- package/dist/components/spin/Indicator/Looper.js.map +1 -0
- package/dist/components/spin/Indicator/Progress.d.ts +6 -0
- package/dist/components/spin/Indicator/Progress.d.ts.map +1 -0
- package/dist/components/spin/Indicator/Progress.js +59 -0
- package/dist/components/spin/Indicator/Progress.js.map +1 -0
- package/dist/components/spin/Indicator/index.d.ts +8 -0
- package/dist/components/spin/Indicator/index.d.ts.map +1 -0
- package/dist/components/spin/Indicator/index.js +20 -0
- package/dist/components/spin/Indicator/index.js.map +1 -0
- package/dist/components/spin/component.d.ts +28 -4
- package/dist/components/spin/component.d.ts.map +1 -1
- package/dist/components/spin/component.js +162 -14
- package/dist/components/spin/component.js.map +1 -1
- package/dist/components/spin/style.css +1 -1
- package/dist/components/spin/usePercent.d.ts +2 -0
- package/dist/components/spin/usePercent.d.ts.map +1 -0
- package/dist/components/spin/usePercent.js +27 -0
- package/dist/components/spin/usePercent.js.map +1 -0
- package/dist/components/theme-provider/style.css +1 -1
- package/dist/components/toast/component.d.ts +2 -2
- package/dist/components/toast/component.d.ts.map +1 -1
- package/dist/components/toast/component.js +14 -20
- package/dist/components/toast/component.js.map +1 -1
- package/dist/components/toast/function.d.ts +7 -8
- package/dist/components/toast/function.d.ts.map +1 -1
- package/dist/components/toast/function.js.map +1 -1
- package/dist/components/toast/style.css +1 -1
- package/dist/components/toast/types.d.ts +4 -0
- package/dist/components/toast/types.d.ts.map +1 -1
- package/dist/components/utils/cn.d.ts.map +1 -1
- package/dist/components/utils/cn.js +112 -20
- package/dist/components/utils/cn.js.map +1 -1
- package/dist/components/utils/placement.d.ts +9 -2
- package/dist/components/utils/placement.d.ts.map +1 -1
- package/dist/components/utils/placement.js +29 -18
- package/dist/components/utils/placement.js.map +1 -1
- package/dist/components/utils/reactElement.d.ts +2 -0
- package/dist/components/utils/reactElement.d.ts.map +1 -1
- package/dist/components/utils/reactElement.js +10 -2
- package/dist/components/utils/reactElement.js.map +1 -1
- package/dist/components/utils/renderProp.d.ts.map +1 -1
- package/dist/components/utils/renderProp.js +9 -8
- package/dist/components/utils/renderProp.js.map +1 -1
- package/dist/components/utils/theme.d.ts.map +1 -1
- package/dist/components/utils/theme.js +3 -1
- package/dist/components/utils/theme.js.map +1 -1
- package/dist/index.js +239 -235
- package/dist/index.js.map +1 -1
- package/dist/metadata.d.ts +28 -1
- package/dist/metadata.d.ts.map +1 -1
- package/dist/metadata.js +52 -1
- package/dist/metadata.js.map +1 -1
- package/dist/stats.html +1 -1
- package/dist/tokens/and-theme/tokens.d.ts.map +1 -1
- package/dist/tokens/and-theme/tokens.js +61 -56
- package/dist/tokens/and-theme/tokens.js.map +1 -1
- package/package.json +3 -3
- package/dist/components/hooks/useBaseUIPlacement.d.ts +0 -64
- package/dist/components/hooks/useBaseUIPlacement.d.ts.map +0 -1
- package/dist/components/hooks/useBaseUIPlacement.js +0 -61
- package/dist/components/hooks/useBaseUIPlacement.js.map +0 -1
|
@@ -1,6 +1,30 @@
|
|
|
1
|
-
import
|
|
2
|
-
export type
|
|
3
|
-
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
export type SpinSize = "small" | "default" | "large" | number;
|
|
3
|
+
export type SpinIndicator = React.ReactElement<HTMLElement>;
|
|
4
|
+
export interface SpinClassNames {
|
|
5
|
+
wrapper?: string;
|
|
6
|
+
container?: string;
|
|
7
|
+
}
|
|
8
|
+
export interface SpinProps {
|
|
9
|
+
prefixCls?: string;
|
|
10
|
+
className?: string;
|
|
11
|
+
rootClassName?: string;
|
|
12
|
+
spinning?: boolean;
|
|
13
|
+
style?: React.CSSProperties;
|
|
14
|
+
size?: SpinSize;
|
|
15
|
+
tip?: React.ReactNode;
|
|
16
|
+
delay?: number;
|
|
17
|
+
wrapperClassName?: string;
|
|
18
|
+
containerClassName?: string;
|
|
19
|
+
classNames?: SpinClassNames;
|
|
20
|
+
indicator?: SpinIndicator;
|
|
21
|
+
children?: React.ReactNode;
|
|
22
|
+
fullscreen?: boolean;
|
|
23
|
+
percent?: number | "auto";
|
|
24
|
+
}
|
|
25
|
+
type SpinType = React.FC<SpinProps> & {
|
|
26
|
+
setDefaultIndicator: (indicator: React.ReactNode) => void;
|
|
4
27
|
};
|
|
5
|
-
export declare const Spin:
|
|
28
|
+
export declare const Spin: SpinType;
|
|
29
|
+
export {};
|
|
6
30
|
//# sourceMappingURL=component.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"component.d.ts","sourceRoot":"","sources":["../../../src/components/spin/component.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"component.d.ts","sourceRoot":"","sources":["../../../src/components/spin/component.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAM/B,OAAO,aAAa,CAAC;AAErB,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,SAAS,GAAG,OAAO,GAAG,MAAM,CAAC;AAC9D,MAAM,MAAM,aAAa,GAAG,KAAK,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;AAC5D,MAAM,WAAW,cAAc;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,SAAS;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,GAAG,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,UAAU,CAAC,EAAE,cAAc,CAAC;IAC5B,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CAC3B;AAED,KAAK,QAAQ,GAAG,KAAK,CAAC,EAAE,CAAC,SAAS,CAAC,GAAG;IACpC,mBAAmB,EAAE,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,KAAK,IAAI,CAAC;CAC3D,CAAC;AAcF,eAAO,MAAM,IAAI,EAAE,QAgLlB,CAAC"}
|
|
@@ -1,24 +1,172 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { jsx as
|
|
3
|
-
import
|
|
2
|
+
import { jsx as n, jsxs as v } from "react/jsx-runtime";
|
|
3
|
+
import { devUseWarning as B } from "antd/es/_util/warning";
|
|
4
|
+
import { useComponentConfig as G } from "antd/es/config-provider/context";
|
|
5
|
+
import H from "antd/es/spin/style";
|
|
6
|
+
import * as E from "react";
|
|
7
|
+
import D from "./Indicator/index.js";
|
|
8
|
+
import J from "./usePercent.js";
|
|
4
9
|
import './style.css';/* empty css */
|
|
5
|
-
import { useCls as
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
10
|
+
import { useCls as K } from "../utils/antdUtils.js";
|
|
11
|
+
import { clsx as c } from "../utils/cn.js";
|
|
12
|
+
let V;
|
|
13
|
+
function P(r, t) {
|
|
14
|
+
return !!r && !!t && !Number.isNaN(Number(t));
|
|
15
|
+
}
|
|
16
|
+
function T(r) {
|
|
17
|
+
return typeof r == "string";
|
|
18
|
+
}
|
|
19
|
+
const M = 0, Q = ({
|
|
20
|
+
prefixCls: r,
|
|
21
|
+
spinning: t = !0,
|
|
22
|
+
delay: l = M,
|
|
23
|
+
className: _,
|
|
24
|
+
rootClassName: g,
|
|
25
|
+
size: i = "default",
|
|
26
|
+
tip: s,
|
|
27
|
+
wrapperClassName: j,
|
|
28
|
+
containerClassName: A,
|
|
29
|
+
classNames: x,
|
|
30
|
+
style: L,
|
|
31
|
+
children: $,
|
|
32
|
+
fullscreen: o = !1,
|
|
33
|
+
indicator: U,
|
|
34
|
+
percent: h,
|
|
35
|
+
...u
|
|
36
|
+
}) => {
|
|
37
|
+
const k = K(), {
|
|
38
|
+
getPrefixCls: F,
|
|
39
|
+
direction: O,
|
|
40
|
+
className: R,
|
|
41
|
+
style: W,
|
|
42
|
+
indicator: Y
|
|
43
|
+
} = G("spin"), e = F("spin", r), [f, p, N] = H(e), [a, d] = E.useState(
|
|
44
|
+
() => t && !P(t, l)
|
|
45
|
+
), w = J(a, h);
|
|
46
|
+
E.useEffect(() => {
|
|
47
|
+
if (!t) {
|
|
48
|
+
d(!1);
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
51
|
+
if (!P(t, l)) {
|
|
52
|
+
d(!0);
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
d(!1);
|
|
56
|
+
const b = window.setTimeout(() => {
|
|
57
|
+
d(!0);
|
|
58
|
+
}, l);
|
|
59
|
+
return () => window.clearTimeout(b);
|
|
60
|
+
}, [t, l]);
|
|
61
|
+
const m = typeof $ < "u" && !o;
|
|
62
|
+
process.env.NODE_ENV !== "production" && B("Spin")(
|
|
63
|
+
!s || m || o,
|
|
64
|
+
"usage",
|
|
65
|
+
"`tip` only work in nest or fullscreen pattern."
|
|
66
|
+
);
|
|
67
|
+
const C = U ?? Y ?? V ?? (h === void 0 ? /* @__PURE__ */ n("span", { className: k("spin-loader") }) : void 0), y = {
|
|
68
|
+
...W,
|
|
69
|
+
...L,
|
|
70
|
+
...typeof i == "number" ? {
|
|
71
|
+
"--spin-size": `${i}px`
|
|
72
|
+
} : {}
|
|
73
|
+
}, I = c(
|
|
9
74
|
e,
|
|
75
|
+
R,
|
|
10
76
|
{
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
}
|
|
17
|
-
|
|
77
|
+
[`${e}-sm`]: T(i) && i === "small",
|
|
78
|
+
[`${e}-lg`]: T(i) && i === "large",
|
|
79
|
+
[`${e}-spinning`]: a,
|
|
80
|
+
[`${e}-show-text`]: !!s,
|
|
81
|
+
[`${e}-rtl`]: O === "rtl",
|
|
82
|
+
[`${e}-numeric`]: typeof i == "number"
|
|
83
|
+
},
|
|
84
|
+
_,
|
|
85
|
+
!o && g,
|
|
86
|
+
p,
|
|
87
|
+
N
|
|
88
|
+
), q = c(`${e}-container`, {
|
|
89
|
+
[`${e}-blur`]: a
|
|
90
|
+
}), S = /* @__PURE__ */ v(
|
|
91
|
+
"div",
|
|
92
|
+
{
|
|
93
|
+
style: y,
|
|
94
|
+
className: I,
|
|
95
|
+
"aria-live": "polite",
|
|
96
|
+
"aria-busy": a,
|
|
97
|
+
children: [
|
|
98
|
+
/* @__PURE__ */ n(
|
|
99
|
+
D,
|
|
100
|
+
{
|
|
101
|
+
prefixCls: e,
|
|
102
|
+
indicator: C,
|
|
103
|
+
percent: w
|
|
104
|
+
}
|
|
105
|
+
),
|
|
106
|
+
s && (m || o) ? /* @__PURE__ */ n("div", { className: `${e}-text`, children: s }) : null
|
|
107
|
+
]
|
|
18
108
|
}
|
|
19
109
|
);
|
|
110
|
+
return f(
|
|
111
|
+
m ? /* @__PURE__ */ v(
|
|
112
|
+
"div",
|
|
113
|
+
{
|
|
114
|
+
...u,
|
|
115
|
+
className: c(
|
|
116
|
+
`${e}-nested-loading`,
|
|
117
|
+
j,
|
|
118
|
+
x?.wrapper,
|
|
119
|
+
p,
|
|
120
|
+
N
|
|
121
|
+
),
|
|
122
|
+
children: [
|
|
123
|
+
a ? /* @__PURE__ */ n("div", { children: S }, "loading") : null,
|
|
124
|
+
/* @__PURE__ */ n(
|
|
125
|
+
"div",
|
|
126
|
+
{
|
|
127
|
+
className: c(
|
|
128
|
+
q,
|
|
129
|
+
A,
|
|
130
|
+
x?.container
|
|
131
|
+
),
|
|
132
|
+
children: $
|
|
133
|
+
},
|
|
134
|
+
"container"
|
|
135
|
+
)
|
|
136
|
+
]
|
|
137
|
+
}
|
|
138
|
+
) : o ? /* @__PURE__ */ n(
|
|
139
|
+
"div",
|
|
140
|
+
{
|
|
141
|
+
...u,
|
|
142
|
+
className: c(
|
|
143
|
+
`${e}-fullscreen`,
|
|
144
|
+
{
|
|
145
|
+
[`${e}-fullscreen-show`]: a
|
|
146
|
+
},
|
|
147
|
+
g,
|
|
148
|
+
p,
|
|
149
|
+
N
|
|
150
|
+
),
|
|
151
|
+
children: S
|
|
152
|
+
}
|
|
153
|
+
) : /* @__PURE__ */ v("div", { ...u, style: y, className: I, children: [
|
|
154
|
+
/* @__PURE__ */ n(
|
|
155
|
+
D,
|
|
156
|
+
{
|
|
157
|
+
prefixCls: e,
|
|
158
|
+
indicator: C,
|
|
159
|
+
percent: w
|
|
160
|
+
}
|
|
161
|
+
),
|
|
162
|
+
s && (m || o) ? /* @__PURE__ */ n("div", { className: `${e}-text`, children: s }) : null
|
|
163
|
+
] })
|
|
164
|
+
);
|
|
165
|
+
};
|
|
166
|
+
Q.setDefaultIndicator = (r) => {
|
|
167
|
+
V = r;
|
|
20
168
|
};
|
|
21
169
|
export {
|
|
22
|
-
|
|
170
|
+
Q as Spin
|
|
23
171
|
};
|
|
24
172
|
//# sourceMappingURL=component.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"component.js","sources":["../../../src/components/spin/component.tsx"],"sourcesContent":["\"use client\";\nimport { useCls } from \"../utils\";\nimport { default as AntdSpin, SpinProps as AntdSpinProps } from \"antd/es/spin\";\n\n// Import component-specific styles\nimport \"./style.css\";\n\nexport type SpinProps = Omit<AntdSpinProps, \"size\"> & {\n size?: \"small\" | \"default\" | \"large\" | number;\n};\n\nexport const Spin = ({ indicator, size, className, ...rest }: SpinProps) => {\n const cls = useCls();\n const spinIndicator = indicator || <span className={cls(\"spin-loader\")} />;\n return (\n <AntdSpin\n className={className}\n indicator={spinIndicator}\n size={typeof size === \"number\" ? \"default\" : size}\n style={\n {\n \"--spin-size\": typeof size == \"number\" ? `${size}px` : undefined,\n } as React.CSSProperties\n }\n {...rest}\n />\n );\n};\n"],"names":["Spin","indicator","size","className","rest","cls","useCls","spinIndicator","jsx","AntdSpin"],"mappings":";;;;;AAWO,MAAMA,IAAO,CAAC,EAAE,WAAAC,GAAW,MAAAC,GAAM,WAAAC,GAAW,GAAGC,QAAsB;AAC1E,QAAMC,IAAMC,EAAA,GACNC,IAAgBN,KAAa,gBAAAO,EAAC,UAAK,WAAWH,EAAI,aAAa,GAAG;AACxE,SACE,gBAAAG;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,WAAAN;AAAA,MACA,WAAWI;AAAA,MACX,MAAM,OAAOL,KAAS,WAAW,YAAYA;AAAA,MAC7C,OACE;AAAA,QACE,eAAe,OAAOA,KAAQ,WAAW,GAAGA,CAAI,OAAO;AAAA,MAAA;AAAA,MAG1D,GAAGE;AAAA,IAAA;AAAA,EAAA;AAGV;"}
|
|
1
|
+
{"version":3,"file":"component.js","sources":["../../../src/components/spin/component.tsx"],"sourcesContent":["\"use client\";\n\nimport { devUseWarning } from \"antd/es/_util/warning\";\nimport { useComponentConfig } from \"antd/es/config-provider/context\";\nimport useStyle from \"antd/es/spin/style\";\nimport * as React from \"react\";\nimport { clsx, useCls } from \"../utils\";\nimport Indicator from \"./Indicator\";\nimport usePercent from \"./usePercent\";\n\n// Import component-specific styles\nimport \"./style.css\";\n\nexport type SpinSize = \"small\" | \"default\" | \"large\" | number;\nexport type SpinIndicator = React.ReactElement<HTMLElement>;\nexport interface SpinClassNames {\n wrapper?: string;\n container?: string;\n}\n\nexport interface SpinProps {\n prefixCls?: string;\n className?: string;\n rootClassName?: string;\n spinning?: boolean;\n style?: React.CSSProperties;\n size?: SpinSize;\n tip?: React.ReactNode;\n delay?: number;\n wrapperClassName?: string;\n containerClassName?: string;\n classNames?: SpinClassNames;\n indicator?: SpinIndicator;\n children?: React.ReactNode;\n fullscreen?: boolean;\n percent?: number | \"auto\";\n}\n\ntype SpinType = React.FC<SpinProps> & {\n setDefaultIndicator: (indicator: React.ReactNode) => void;\n};\n\nlet defaultIndicator: React.ReactNode | undefined;\n\nfunction shouldDelay(spinning?: boolean, delay?: number): boolean {\n return !!spinning && !!delay && !Number.isNaN(Number(delay));\n}\n\nfunction isPresetSize(size: SpinSize): size is Exclude<SpinSize, number> {\n return typeof size === \"string\";\n}\n\nconst DEFAULT_SPIN_DELAY = 0;\n\nexport const Spin: SpinType = ({\n prefixCls: customizePrefixCls,\n spinning: customSpinning = true,\n delay = DEFAULT_SPIN_DELAY,\n className,\n rootClassName,\n size = \"default\",\n tip,\n wrapperClassName,\n containerClassName,\n classNames,\n style,\n children,\n fullscreen = false,\n indicator,\n percent,\n ...restProps\n}) => {\n const cls = useCls();\n const {\n getPrefixCls,\n direction,\n className: contextClassName,\n style: contextStyle,\n indicator: contextIndicator,\n } = useComponentConfig(\"spin\");\n const prefixCls = getPrefixCls(\"spin\", customizePrefixCls);\n const [wrapCSSVar, hashId, cssVarCls] = useStyle(prefixCls);\n const [spinning, setSpinning] = React.useState(\n () => customSpinning && !shouldDelay(customSpinning, delay),\n );\n const mergedPercent = usePercent(spinning, percent);\n\n React.useEffect(() => {\n if (!customSpinning) {\n setSpinning(false);\n return undefined;\n }\n\n if (!shouldDelay(customSpinning, delay)) {\n setSpinning(true);\n return undefined;\n }\n\n setSpinning(false);\n const timeoutId = window.setTimeout(() => {\n setSpinning(true);\n }, delay);\n\n return () => window.clearTimeout(timeoutId);\n }, [customSpinning, delay]);\n\n const isNestedPattern = typeof children !== \"undefined\" && !fullscreen;\n\n if (process.env.NODE_ENV !== \"production\") {\n const warning = devUseWarning(\"Spin\");\n warning(\n !tip || isNestedPattern || fullscreen,\n \"usage\",\n \"`tip` only work in nest or fullscreen pattern.\",\n );\n }\n\n const mergedIndicator =\n indicator ??\n contextIndicator ??\n defaultIndicator ??\n (percent === undefined ? <span className={cls(\"spin-loader\")} /> : undefined);\n\n const mergedStyle: React.CSSProperties = {\n ...contextStyle,\n ...style,\n ...(typeof size === \"number\"\n ? {\n \"--spin-size\": `${size}px`,\n }\n : {}),\n };\n\n const spinClassName = clsx(\n prefixCls,\n contextClassName,\n {\n [`${prefixCls}-sm`]: isPresetSize(size) && size === \"small\",\n [`${prefixCls}-lg`]: isPresetSize(size) && size === \"large\",\n [`${prefixCls}-spinning`]: spinning,\n [`${prefixCls}-show-text`]: !!tip,\n [`${prefixCls}-rtl`]: direction === \"rtl\",\n [`${prefixCls}-numeric`]: typeof size === \"number\",\n },\n className,\n !fullscreen && rootClassName,\n hashId,\n cssVarCls,\n );\n\n const spinContainerClassName = clsx(`${prefixCls}-container`, {\n [`${prefixCls}-blur`]: spinning,\n });\n\n const spinElement = (\n <div\n style={mergedStyle}\n className={spinClassName}\n aria-live=\"polite\"\n aria-busy={spinning}\n >\n <Indicator\n prefixCls={prefixCls}\n indicator={mergedIndicator}\n percent={mergedPercent}\n />\n {tip && (isNestedPattern || fullscreen) ? (\n <div className={`${prefixCls}-text`}>{tip}</div>\n ) : null}\n </div>\n );\n\n if (isNestedPattern) {\n return wrapCSSVar(\n <div\n {...restProps}\n className={clsx(\n `${prefixCls}-nested-loading`,\n wrapperClassName,\n classNames?.wrapper,\n hashId,\n cssVarCls,\n )}\n >\n {spinning ? <div key=\"loading\">{spinElement}</div> : null}\n <div\n className={clsx(\n spinContainerClassName,\n containerClassName,\n classNames?.container,\n )}\n key=\"container\"\n >\n {children}\n </div>\n </div>,\n );\n }\n\n if (fullscreen) {\n return wrapCSSVar(\n <div\n {...restProps}\n className={clsx(\n `${prefixCls}-fullscreen`,\n {\n [`${prefixCls}-fullscreen-show`]: spinning,\n },\n rootClassName,\n hashId,\n cssVarCls,\n )}\n >\n {spinElement}\n </div>,\n );\n }\n\n return wrapCSSVar(\n <div {...restProps} style={mergedStyle} className={spinClassName}>\n <Indicator\n prefixCls={prefixCls}\n indicator={mergedIndicator}\n percent={mergedPercent}\n />\n {tip && (isNestedPattern || fullscreen) ? (\n <div className={`${prefixCls}-text`}>{tip}</div>\n ) : null}\n </div>,\n );\n};\n\nSpin.setDefaultIndicator = (indicator: React.ReactNode) => {\n defaultIndicator = indicator;\n};\n"],"names":["defaultIndicator","shouldDelay","spinning","delay","isPresetSize","size","DEFAULT_SPIN_DELAY","Spin","customizePrefixCls","customSpinning","className","rootClassName","tip","wrapperClassName","containerClassName","classNames","style","children","fullscreen","indicator","percent","restProps","cls","useCls","getPrefixCls","direction","contextClassName","contextStyle","contextIndicator","useComponentConfig","prefixCls","wrapCSSVar","hashId","cssVarCls","useStyle","setSpinning","React","mergedPercent","usePercent","timeoutId","isNestedPattern","devUseWarning","mergedIndicator","jsx","mergedStyle","spinClassName","clsx","spinContainerClassName","spinElement","jsxs","Indicator"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
@layer components{.ds-spin
|
|
1
|
+
@layer components{.ds-spin-nested-loading,.ds-spin-container{min-width:0;min-height:0}.ds-spin-nested-loading{display:flex;flex-direction:column}.ds-spin-container{display:flex;flex:1 1 auto;flex-direction:column;width:100%}.ds-spin-text{color:var(--ds-color-icon)}.ds-spin-loader{width:var(--spin-size, 1em);height:var(--spin-size, 1em);border:max(2px,.12em) solid var(--ds-color-border);border-bottom-color:var(--ds-color-icon);border-radius:50%;display:inline-block;box-sizing:border-box;animation:spin 1s linear infinite}.ds-spin-numeric .ds-spin-dot{font-size:var(--spin-size, 1em)}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usePercent.d.ts","sourceRoot":"","sources":["../../../src/components/spin/usePercent.ts"],"names":[],"mappings":"AAWA,MAAM,CAAC,OAAO,UAAU,UAAU,CAChC,QAAQ,EAAE,OAAO,EACjB,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,GACxB,MAAM,GAAG,SAAS,CAwCpB"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import * as c from "react";
|
|
3
|
+
const E = 200, a = [
|
|
4
|
+
[30, 0.05],
|
|
5
|
+
[70, 0.03],
|
|
6
|
+
[96, 0.01]
|
|
7
|
+
];
|
|
8
|
+
function I(u, l) {
|
|
9
|
+
const [o, s] = c.useState(0), t = c.useRef(null), r = l === "auto";
|
|
10
|
+
return c.useEffect(() => (r && u && (s(0), t.current = setInterval(() => {
|
|
11
|
+
s((e) => {
|
|
12
|
+
const f = 100 - e;
|
|
13
|
+
for (let n = 0; n < a.length; n += 1) {
|
|
14
|
+
const [i, m] = a[n];
|
|
15
|
+
if (e <= i)
|
|
16
|
+
return e + f * m;
|
|
17
|
+
}
|
|
18
|
+
return t.current && (clearInterval(t.current), t.current = null), e;
|
|
19
|
+
});
|
|
20
|
+
}, E)), () => {
|
|
21
|
+
t.current && (clearInterval(t.current), t.current = null);
|
|
22
|
+
}), [r, u]), r ? o : l;
|
|
23
|
+
}
|
|
24
|
+
export {
|
|
25
|
+
I as default
|
|
26
|
+
};
|
|
27
|
+
//# sourceMappingURL=usePercent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usePercent.js","sources":["../../../src/components/spin/usePercent.ts"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\n\nconst AUTO_INTERVAL = 200;\nconst STEP_BUCKETS: [limit: number, stepPercent: number][] = [\n [30, 0.05],\n [70, 0.03],\n [96, 0.01],\n];\n\nexport default function usePercent(\n spinning: boolean,\n percent?: number | \"auto\",\n): number | undefined {\n const [mockPercent, setMockPercent] = React.useState(0);\n const intervalRef = React.useRef<ReturnType<typeof setInterval> | null>(null);\n const isAuto = percent === \"auto\";\n\n React.useEffect(() => {\n if (isAuto && spinning) {\n setMockPercent(0);\n\n intervalRef.current = setInterval(() => {\n setMockPercent((previousPercent) => {\n const remainingPercent = 100 - previousPercent;\n\n for (let index = 0; index < STEP_BUCKETS.length; index += 1) {\n const [limit, stepPercent] = STEP_BUCKETS[index];\n\n if (previousPercent <= limit) {\n return previousPercent + remainingPercent * stepPercent;\n }\n }\n\n if (intervalRef.current) {\n clearInterval(intervalRef.current);\n intervalRef.current = null;\n }\n\n return previousPercent;\n });\n }, AUTO_INTERVAL);\n }\n\n return () => {\n if (intervalRef.current) {\n clearInterval(intervalRef.current);\n intervalRef.current = null;\n }\n };\n }, [isAuto, spinning]);\n\n return isAuto ? mockPercent : percent;\n}\n"],"names":["AUTO_INTERVAL","STEP_BUCKETS","usePercent","spinning","percent","mockPercent","setMockPercent","React","intervalRef","isAuto","previousPercent","remainingPercent","index","limit","stepPercent"],"mappings":";;AAIA,MAAMA,IAAgB,KAChBC,IAAuD;AAAA,EAC3D,CAAC,IAAI,IAAI;AAAA,EACT,CAAC,IAAI,IAAI;AAAA,EACT,CAAC,IAAI,IAAI;AACX;AAEA,SAAwBC,EACtBC,GACAC,GACoB;AACpB,QAAM,CAACC,GAAaC,CAAc,IAAIC,EAAM,SAAS,CAAC,GAChDC,IAAcD,EAAM,OAA8C,IAAI,GACtEE,IAASL,MAAY;AAE3B,SAAAG,EAAM,UAAU,OACVE,KAAUN,MACZG,EAAe,CAAC,GAEhBE,EAAY,UAAU,YAAY,MAAM;AACtC,IAAAF,EAAe,CAACI,MAAoB;AAClC,YAAMC,IAAmB,MAAMD;AAE/B,eAASE,IAAQ,GAAGA,IAAQX,EAAa,QAAQW,KAAS,GAAG;AAC3D,cAAM,CAACC,GAAOC,CAAW,IAAIb,EAAaW,CAAK;AAE/C,YAAIF,KAAmBG;AACrB,iBAAOH,IAAkBC,IAAmBG;AAAA,MAEhD;AAEA,aAAIN,EAAY,YACd,cAAcA,EAAY,OAAO,GACjCA,EAAY,UAAU,OAGjBE;AAAA,IACT,CAAC;AAAA,EACH,GAAGV,CAAa,IAGX,MAAM;AACX,IAAIQ,EAAY,YACd,cAAcA,EAAY,OAAO,GACjCA,EAAY,UAAU;AAAA,EAE1B,IACC,CAACC,GAAQN,CAAQ,CAAC,GAEdM,IAASJ,IAAcD;AAChC;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
@layer components{@keyframes ds-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.ds-theme-provider{--ds-modal-padding: 24px;--ds-modal-edge-padding: 16px;--ds-popup-panel-padding: 16px;--ds-scrollbar-width: auto;--ds-scrollbar-width-legacy: 15;--ds-box-shadow-popover-arrow: 0px 0px 1px 0px var(--ds-modal-color-border), 2px 2px 5px rgba(0, 0, 0, .05);--ds-control-border-radius: 6px;--ds-control-transition: all .2s;--ds-control-padding-small: 1px 8px;--ds-control-padding-middle: 5px 12px;--ds-control-padding-large: 9px 12px;--ds-control-padding-inline-small: 8px;--ds-control-padding-block-small: 1px;--ds-control-padding-inline-middle: 12px;--ds-control-padding-block-middle: 5px;--ds-control-padding-inline-large: 12px;--ds-control-padding-block-large: 9px;--ds-control-min-height-small: 24px;--ds-control-min-height-middle: 32px;--ds-control-min-height-large: 40px;--ds-control-line-height: 20px;--ds-control-color-border-hover: var(--ds-color-primary-hover);--ds-control-color-border-focus: var(--ds-color-primary);--ds-control-color-bg-disabled: var(--ds-color-bg-container-disabled);--ds-control-color-text-disabled: var(--ds-color-text-disabled);--ds-control-icon-size: 12px;--ds-control-color-bg: var(--ds-color-bg-container);--ds-control-color-border: var(--ds-color-border);--ds-control-color-border-active: var(--ds-color-primary);--ds-control-color-border-error-active: var(--ds-color-error);--ds-control-color-border-warning-active: var(--ds-color-warning);--ds-control-color-icon: var(--ds-color-text-quaternary);--ds-control-color-icon-hover: var(--ds-color-icon-hover);--ds-control-border: 1px solid var(--ds-control-color-border);--ds-control-border-active: 1px solid var(--ds-control-color-border-active);--ds-control-border-error-active: 1px solid var(--ds-control-color-border-error-active);--ds-control-border-warning-active: 1px solid var(--ds-control-color-border-warning-active);--ds-control-shadow-active: 0 0 0 2px color-mix(in oklab, var(--ds-color-primary) 20%, transparent);--ds-form-label-required-mark-color: var(--ds-color-error);--ds-control-shadow-error-active: 0 0 0 2px color-mix(in oklab, var(--ds-color-error) 20%, transparent);--ds-control-shadow-warning-active: 0 0 0 2px color-mix(in oklab, var(--ds-color-warning) 20%, transparent);--ds-control-color-text-placeholder: var(--ds-color-text-placeholder);--ds-inter: "Inter", Helvetica, Arial, sans-serif;--ds-roboto-mono: "Roboto Mono", Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--ds-animate-spin: ds-spin 1s linear infinite;--ds-z-index-base: 0;--ds-z-index-sticky-element: 520;--ds-z-index-scrollbar: 530;--ds-z-index-modal: 1000;--ds-z-index-modal-mask: 1000;--ds-z-index-message: 1010;--ds-z-index-notification: 1010;--ds-z-index-popover: 1030;--ds-z-index-dropdown: 1050;--ds-z-index-picker: 1050;--ds-z-index-popconfirm: 1060;--ds-z-index-tooltip: 1070;--ds-z-index-toast: 2000;--ds-segment-color-bg-active: #ffffff;--ds-scrollbar-color-thumb: rgba(0, 0, 0, .2);--ds-scrollbar-color-track: rgba(0, 0, 0, 0);--ds-color-base-solid: #000000;--ds-color-table-fixed-column-shadow: rgb(0 0 0 / 10%);--ds-modal-color-border: rgba(0, 0, 0, .24)}@supports (font-variation-settings: normal){.ds-theme-provider{--ds-inter: "InterVariable", Inter, Helvetica, Arial, sans-serif;--ds-roboto-mono: "Roboto Mono Variable", Roboto Mono, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;font-optical-sizing:auto}}.ds-theme-provider.dark{--ds-modal-color-border: rgba(255, 255, 255, .55);--ds-segment-color-bg-active: #424248;--ds-scrollbar-color-thumb: rgba(255, 255, 255, .2);--ds-scrollbar-color-track: rgba(0, 0, 0, 0);--ds-color-base-solid: #ffffff;--ds-color-table-fixed-column-shadow: rgb(0 0 0 / 20%)}}
|
|
1
|
+
@layer components{@keyframes ds-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.ds-theme-provider{--ds-modal-padding: 24px;--ds-modal-edge-padding: 16px;--ds-popup-panel-padding: 16px;--ds-scrollbar-width: auto;--ds-scrollbar-width-legacy: 15;--ds-box-shadow-popover-arrow: 0px 0px 1px 0px var(--ds-modal-color-border), 2px 2px 5px rgba(0, 0, 0, .05);--ds-control-border-radius: 6px;--ds-control-transition: all .2s;--ds-control-padding-small: 1px 8px;--ds-control-padding-middle: 5px 12px;--ds-control-padding-large: 9px 12px;--ds-control-padding-inline-small: 8px;--ds-control-padding-block-small: 1px;--ds-control-padding-inline-middle: 12px;--ds-control-padding-block-middle: 5px;--ds-control-padding-inline-large: 12px;--ds-control-padding-block-large: 9px;--ds-control-min-height-small: 24px;--ds-control-min-height-middle: 32px;--ds-control-min-height-large: 40px;--ds-control-line-height: 20px;--ds-control-color-border-hover: var(--ds-color-primary-hover);--ds-control-color-border-focus: var(--ds-color-primary);--ds-control-color-bg-disabled: var(--ds-color-bg-container-disabled);--ds-control-color-text-disabled: var(--ds-color-text-disabled);--ds-control-icon-size: 12px;--ds-control-color-bg: var(--ds-color-bg-container);--ds-control-color-border: var(--ds-color-border);--ds-control-color-border-active: var(--ds-color-primary);--ds-control-color-border-error-active: var(--ds-color-error);--ds-control-color-border-warning-active: var(--ds-color-warning);--ds-control-color-icon: var(--ds-color-text-quaternary);--ds-control-color-icon-hover: var(--ds-color-icon-hover);--ds-control-border: 1px solid var(--ds-control-color-border);--ds-control-border-active: 1px solid var(--ds-control-color-border-active);--ds-control-border-error-active: 1px solid var(--ds-control-color-border-error-active);--ds-control-border-warning-active: 1px solid var(--ds-control-color-border-warning-active);--ds-control-shadow-active: 0 0 0 2px color-mix(in oklab, var(--ds-color-primary) 20%, transparent);--ds-form-label-required-mark-color: var(--ds-color-error);--ds-control-shadow-error-active: 0 0 0 2px color-mix(in oklab, var(--ds-color-error) 20%, transparent);--ds-control-shadow-warning-active: 0 0 0 2px color-mix(in oklab, var(--ds-color-warning) 20%, transparent);--ds-control-color-text-placeholder: var(--ds-color-text-placeholder);--ds-button-bg-secondary: #fafafa;--ds-button-bg-gradient-top: rgba(0, 0, 0, .02);--ds-button-bg-gradient-bottom: rgba(255, 255, 255, 0);--ds-button-bg-gradient-primary-top: rgba(255, 255, 255, .07);--ds-button-bg-gradient-primary-bottom: rgba(255, 255, 255, 0);--ds-button-shadow-default: 0 1px 1px 0 rgba(0, 0, 0, .05);--ds-button-shadow-default-inner: inset 0 1.5px 0 1px #ffffff;--ds-button-shadow-solid: 0 1px 1px 0 rgba(0, 0, 0, .12);--ds-button-shadow-solid-hover: 0 1px 1px 0 rgba(0, 0, 0, .12);--ds-button-shadow-solid-active: 0 1px 1px 0 rgba(0, 0, 0, .12);--ds-button-shadow-solid-inner: inset 0 1.5px 0 1px rgba(255, 255, 255, .12);--ds-inter: "Inter", Helvetica, Arial, sans-serif;--ds-roboto-mono: "Roboto Mono", Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--ds-animate-spin: ds-spin 1s linear infinite;--ds-z-index-base: 0;--ds-z-index-sticky-element: 520;--ds-z-index-scrollbar: 530;--ds-z-index-modal: 1000;--ds-z-index-modal-mask: 1000;--ds-z-index-message: 1010;--ds-z-index-notification: 1010;--ds-z-index-popover: 1030;--ds-z-index-dropdown: 1050;--ds-z-index-picker: 1050;--ds-z-index-popconfirm: 1060;--ds-z-index-tooltip: 1070;--ds-z-index-toast: 2000;--ds-segment-color-bg-active: #ffffff;--ds-scrollbar-color-thumb: rgba(0, 0, 0, .2);--ds-scrollbar-color-track: rgba(0, 0, 0, 0);--ds-color-base-solid: #000000;--ds-color-table-fixed-column-shadow: rgb(0 0 0 / 10%);--ds-modal-color-border: rgba(0, 0, 0, .24)}@supports (font-variation-settings: normal){.ds-theme-provider{--ds-inter: "InterVariable", Inter, Helvetica, Arial, sans-serif;--ds-roboto-mono: "Roboto Mono Variable", Roboto Mono, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;font-optical-sizing:auto}}.ds-theme-provider.dark{--ds-modal-color-border: rgba(255, 255, 255, .55);--ds-segment-color-bg-active: #424248;--ds-scrollbar-color-thumb: rgba(255, 255, 255, .2);--ds-scrollbar-color-track: rgba(0, 0, 0, 0);--ds-color-base-solid: #ffffff;--ds-color-table-fixed-column-shadow: rgb(0 0 0 / 20%);--ds-button-bg-secondary: hsl(240, 6.5%, 17%);--ds-button-bg-gradient-top: rgba(255, 255, 255, .06);--ds-button-bg-gradient-bottom: rgba(255, 255, 255, 0);--ds-button-bg-gradient-primary-top: rgba(255, 255, 255, .12);--ds-button-bg-gradient-primary-bottom: rgba(255, 255, 255, 0);--ds-button-shadow-default: 0 1px 1px 0 rgba(0, 0, 0, .05);--ds-button-shadow-default-inner: none;--ds-button-shadow-solid: 0 1px 1px 0 rgba(0, 0, 0, .12);--ds-button-shadow-solid-hover: 0 1px 1px 0 rgba(0, 0, 0, .12);--ds-button-shadow-solid-active: 0 1px 1px 0 rgba(0, 0, 0, .12);--ds-button-shadow-solid-inner: inset 0 1.5px 0 1px rgba(255, 255, 255, .16)}}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { Toast as BaseToast } from '@base-ui/react';
|
|
2
|
-
import { ToastData } from './types';
|
|
2
|
+
import { ToastData, ToastProviderProps } from './types';
|
|
3
3
|
declare function InnerToast({ toast, }: {
|
|
4
4
|
toast: BaseToast.Root.ToastObject<ToastData>;
|
|
5
5
|
}): import("react/jsx-runtime").JSX.Element;
|
|
6
6
|
declare function ToastList({ className }: {
|
|
7
7
|
className?: string;
|
|
8
8
|
}): import("react/jsx-runtime").JSX.Element;
|
|
9
|
-
declare function ToastProvider(props:
|
|
9
|
+
declare function ToastProvider(props: ToastProviderProps): import("react/jsx-runtime").JSX.Element;
|
|
10
10
|
export declare const Toast: typeof InnerToast & {
|
|
11
11
|
List: typeof ToastList;
|
|
12
12
|
Provider: typeof ToastProvider;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"component.d.ts","sourceRoot":"","sources":["../../../src/components/toast/component.tsx"],"names":[],"mappings":"AAUA,OAAO,EAAE,KAAK,IAAI,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEpD,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"component.d.ts","sourceRoot":"","sources":["../../../src/components/toast/component.tsx"],"names":[],"mappings":"AAUA,OAAO,EAAE,KAAK,IAAI,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEpD,OAAO,EAAE,SAAS,EAAE,KAAK,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAS7D,OAAO,aAAa,CAAC;AAErB,iBAAS,UAAU,CAAC,EAClB,KAAK,GACN,EAAE;IACD,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;CAC9C,2CAiFA;AAED,iBAAS,SAAS,CAAC,EAAE,SAAS,EAAE,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,2CAavD;AAED,iBAAS,aAAa,CAAC,KAAK,EAAE,kBAAkB,2CAE/C;AAED,eAAO,MAAM,KAAK;;;CAGhB,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsxs as c, jsx as r } from "react/jsx-runtime";
|
|
3
3
|
import { XIcon as N, CircleNotchIcon as g, CheckCircleIcon as w, XCircleIcon as C, WarningCircleIcon as I, InfoIcon as T } from "@bioturing/assets";
|
|
4
|
-
import { Toast as
|
|
4
|
+
import { Toast as e } from "@base-ui/react";
|
|
5
5
|
import { toastManager as a } from "./function.js";
|
|
6
6
|
import { useEffect as k, useCallback as b } from "react";
|
|
7
7
|
import { Button as v } from "../button/component.js";
|
|
@@ -15,7 +15,7 @@ import { clsx as j } from "../utils/cn.js";
|
|
|
15
15
|
function f({
|
|
16
16
|
toast: o
|
|
17
17
|
}) {
|
|
18
|
-
const
|
|
18
|
+
const t = p(), n = {
|
|
19
19
|
info: /* @__PURE__ */ r(T, { weight: "fill" }),
|
|
20
20
|
warning: /* @__PURE__ */ r(I, { weight: "fill" }),
|
|
21
21
|
error: /* @__PURE__ */ r(C, { weight: "fill" }),
|
|
@@ -32,7 +32,7 @@ function f({
|
|
|
32
32
|
"div",
|
|
33
33
|
{
|
|
34
34
|
...m,
|
|
35
|
-
className:
|
|
35
|
+
className: t(
|
|
36
36
|
"toast-description",
|
|
37
37
|
s ? "toast-description-traceback" : "",
|
|
38
38
|
d
|
|
@@ -59,31 +59,25 @@ function f({
|
|
|
59
59
|
) })
|
|
60
60
|
]
|
|
61
61
|
}
|
|
62
|
-
) : /* @__PURE__ */ r("p", { ...m, className:
|
|
62
|
+
) : /* @__PURE__ */ r("p", { ...m, className: t("toast-description", d), children: l });
|
|
63
63
|
},
|
|
64
|
-
[s,
|
|
64
|
+
[s, t, o.id]
|
|
65
65
|
);
|
|
66
|
-
return /* @__PURE__ */ c(
|
|
67
|
-
/* @__PURE__ */ r("span", { className:
|
|
68
|
-
/* @__PURE__ */ c("div", { className:
|
|
69
|
-
/* @__PURE__ */ r(
|
|
70
|
-
/* @__PURE__ */ r(
|
|
66
|
+
return /* @__PURE__ */ c(e.Root, { toast: o, className: t("toast"), children: [
|
|
67
|
+
/* @__PURE__ */ r("span", { className: t("toast-icon-wrap"), children: /* @__PURE__ */ r("span", { className: t("toast-icon", `toast-icon-${i}`), children: n[i] }) }),
|
|
68
|
+
/* @__PURE__ */ c("div", { className: t("toast-content"), children: [
|
|
69
|
+
/* @__PURE__ */ r(e.Title, { className: t("toast-title") }),
|
|
70
|
+
/* @__PURE__ */ r(e.Description, { render: u })
|
|
71
71
|
] }),
|
|
72
|
-
/* @__PURE__ */ r(
|
|
73
|
-
t.Close,
|
|
74
|
-
{
|
|
75
|
-
className: e("toast-close"),
|
|
76
|
-
render: /* @__PURE__ */ r("span", { children: /* @__PURE__ */ r(M, { size: "small", children: /* @__PURE__ */ r(N, {}) }) })
|
|
77
|
-
}
|
|
78
|
-
)
|
|
72
|
+
/* @__PURE__ */ r(e.Close, { className: t("toast-close"), children: /* @__PURE__ */ r(M, { as: "span", size: "small", children: /* @__PURE__ */ r(N, {}) }) })
|
|
79
73
|
] });
|
|
80
74
|
}
|
|
81
75
|
function E({ className: o }) {
|
|
82
|
-
const { toasts:
|
|
83
|
-
return /* @__PURE__ */ r(
|
|
76
|
+
const { toasts: t } = e.useToastManager(), n = p();
|
|
77
|
+
return /* @__PURE__ */ r(e.Portal, { children: /* @__PURE__ */ r(e.Viewport, { className: j(n("toast-viewport"), o), children: t.map((i) => /* @__PURE__ */ r(f, { toast: i }, i.id)) }) });
|
|
84
78
|
}
|
|
85
79
|
function y(o) {
|
|
86
|
-
return /* @__PURE__ */ r(
|
|
80
|
+
return /* @__PURE__ */ r(e.Provider, { toastManager: a, ...o });
|
|
87
81
|
}
|
|
88
82
|
const H = Object.assign(f, {
|
|
89
83
|
List: E,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"component.js","sources":["../../../src/components/toast/component.tsx"],"sourcesContent":["\"use client\";\nimport { useCls, clsx } from \"../utils\";\nimport {\n CheckCircleIcon,\n CircleNotchIcon,\n InfoIcon,\n WarningCircleIcon,\n XIcon,\n XCircleIcon,\n} from \"@bioturing/assets\";\nimport { Toast as BaseToast } from \"@base-ui/react\";\nimport { IconButton } from \"../icon-button\";\nimport { ToastData } from \"./types\";\nimport { toastManager } from \"./function\";\nimport { isTracebackError, type GenericHTMLProps } from \"../utils\";\nimport { useCallback, useEffect } from \"react\";\nimport { Button } from \"../button/component\";\nimport { Modal } from \"../modal\";\nimport { CodeBlock } from \"../code-block\";\n\n// Import component-specific styles\nimport \"./style.css\";\n\nfunction InnerToast({\n toast,\n}: {\n toast: BaseToast.Root.ToastObject<ToastData>;\n}) {\n const cls = useCls();\n const toastIconMap = {\n info: <InfoIcon weight=\"fill\" />,\n warning: <WarningCircleIcon weight=\"fill\" />,\n error: <XCircleIcon weight=\"fill\" />,\n success: <CheckCircleIcon weight=\"fill\" />,\n progress: <CircleNotchIcon />,\n };\n const type = toast.data?.type || \"info\";\n const isTraceback = isTracebackError(toast?.description);\n\n // Update manager timeout for traceback to disable auto-dismiss\n useEffect(() => {\n if (isTraceback) {\n toastManager.update(toast.id, { timeout: 0 });\n }\n }, [isTraceback, toast.id]);\n // console.log(toast);\n const renderDescription: BaseToast.Description.Props[\"render\"] = useCallback(\n (props: GenericHTMLProps) => {\n const { children, className, ...rest } = props;\n if (isTraceback) {\n return (\n <div\n {...rest}\n className={cls(\n \"toast-description\",\n isTraceback ? \"toast-description-traceback\" : \"\",\n className\n )}\n >\n <p>\n An unexpected error occurred.\n <br />\n Please contact us with error details for support.\n </p>\n <p>\n <Button\n size=\"small\"\n onClick={() => {\n Modal.open({\n title: \"Error details\",\n content: <CodeBlock>{children}</CodeBlock>,\n hideOkButton: true,\n });\n toastManager.close(toast.id);\n }}\n >\n View error details\n </Button>\n </p>\n </div>\n );\n }\n return (\n <p {...rest} className={cls(\"toast-description\", className)}>\n {children}\n </p>\n );\n },\n [isTraceback, cls, toast.id]\n );\n return (\n <BaseToast.Root toast={toast} className={cls(\"toast\")}>\n <span className={cls(\"toast-icon-wrap\")}>\n <span className={cls(\"toast-icon\", `toast-icon-${type}`)}>\n {toastIconMap[type]}\n </span>\n </span>\n <div className={cls(\"toast-content\")}>\n <BaseToast.Title className={cls(\"toast-title\")} />\n <BaseToast.Description render={renderDescription} />\n </div>\n <BaseToast.Close
|
|
1
|
+
{"version":3,"file":"component.js","sources":["../../../src/components/toast/component.tsx"],"sourcesContent":["\"use client\";\nimport { useCls, clsx } from \"../utils\";\nimport {\n CheckCircleIcon,\n CircleNotchIcon,\n InfoIcon,\n WarningCircleIcon,\n XIcon,\n XCircleIcon,\n} from \"@bioturing/assets\";\nimport { Toast as BaseToast } from \"@base-ui/react\";\nimport { IconButton } from \"../icon-button\";\nimport { ToastData, type ToastProviderProps } from \"./types\";\nimport { toastManager } from \"./function\";\nimport { isTracebackError, type GenericHTMLProps } from \"../utils\";\nimport { useCallback, useEffect } from \"react\";\nimport { Button } from \"../button/component\";\nimport { Modal } from \"../modal\";\nimport { CodeBlock } from \"../code-block\";\n\n// Import component-specific styles\nimport \"./style.css\";\n\nfunction InnerToast({\n toast,\n}: {\n toast: BaseToast.Root.ToastObject<ToastData>;\n}) {\n const cls = useCls();\n const toastIconMap = {\n info: <InfoIcon weight=\"fill\" />,\n warning: <WarningCircleIcon weight=\"fill\" />,\n error: <XCircleIcon weight=\"fill\" />,\n success: <CheckCircleIcon weight=\"fill\" />,\n progress: <CircleNotchIcon />,\n };\n const type = toast.data?.type || \"info\";\n const isTraceback = isTracebackError(toast?.description);\n\n // Update manager timeout for traceback to disable auto-dismiss\n useEffect(() => {\n if (isTraceback) {\n toastManager.update(toast.id, { timeout: 0 });\n }\n }, [isTraceback, toast.id]);\n // console.log(toast);\n const renderDescription: BaseToast.Description.Props[\"render\"] = useCallback(\n (props: GenericHTMLProps) => {\n const { children, className, ...rest } = props;\n if (isTraceback) {\n return (\n <div\n {...rest}\n className={cls(\n \"toast-description\",\n isTraceback ? \"toast-description-traceback\" : \"\",\n className\n )}\n >\n <p>\n An unexpected error occurred.\n <br />\n Please contact us with error details for support.\n </p>\n <p>\n <Button\n size=\"small\"\n onClick={() => {\n Modal.open({\n title: \"Error details\",\n content: <CodeBlock>{children}</CodeBlock>,\n hideOkButton: true,\n });\n toastManager.close(toast.id);\n }}\n >\n View error details\n </Button>\n </p>\n </div>\n );\n }\n return (\n <p {...rest} className={cls(\"toast-description\", className)}>\n {children}\n </p>\n );\n },\n [isTraceback, cls, toast.id]\n );\n return (\n <BaseToast.Root toast={toast} className={cls(\"toast\")}>\n <span className={cls(\"toast-icon-wrap\")}>\n <span className={cls(\"toast-icon\", `toast-icon-${type}`)}>\n {toastIconMap[type]}\n </span>\n </span>\n <div className={cls(\"toast-content\")}>\n <BaseToast.Title className={cls(\"toast-title\")} />\n <BaseToast.Description render={renderDescription} />\n </div>\n <BaseToast.Close className={cls(\"toast-close\")}>\n <IconButton as=\"span\" size=\"small\">\n <XIcon />\n </IconButton>\n </BaseToast.Close>\n </BaseToast.Root>\n );\n}\n\nfunction ToastList({ className }: { className?: string }) {\n const { toasts } = BaseToast.useToastManager();\n const cls = useCls();\n\n return (\n <BaseToast.Portal>\n <BaseToast.Viewport className={clsx(cls(\"toast-viewport\"), className)}>\n {toasts.map((toast) => (\n <InnerToast key={toast.id} toast={toast} />\n ))}\n </BaseToast.Viewport>\n </BaseToast.Portal>\n );\n}\n\nfunction ToastProvider(props: ToastProviderProps) {\n return <BaseToast.Provider toastManager={toastManager} {...props} />;\n}\n\nexport const Toast = Object.assign(InnerToast, {\n List: ToastList,\n Provider: ToastProvider,\n});\n"],"names":["InnerToast","toast","cls","useCls","toastIconMap","jsx","InfoIcon","WarningCircleIcon","XCircleIcon","CheckCircleIcon","CircleNotchIcon","type","isTraceback","isTracebackError","useEffect","toastManager","renderDescription","useCallback","props","children","className","rest","jsxs","Button","Modal","CodeBlock","BaseToast","IconButton","XIcon","ToastList","toasts","clsx","ToastProvider","Toast"],"mappings":"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"}
|
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { ToastData } from './types';
|
|
1
|
+
import { ToastOptions } from './types';
|
|
3
2
|
export declare const toastManager: import('@base-ui/react').ToastManager<any>;
|
|
4
|
-
export declare const toast: ((message: string, options?:
|
|
5
|
-
info: (message: string, options?:
|
|
6
|
-
success: (message: string, options?:
|
|
7
|
-
error: (message: string, options?:
|
|
8
|
-
warning: (message: string, options?:
|
|
9
|
-
progress: (message: string, options?:
|
|
3
|
+
export declare const toast: ((message: string, options?: ToastOptions) => string) & {
|
|
4
|
+
info: (message: string, options?: ToastOptions) => string;
|
|
5
|
+
success: (message: string, options?: ToastOptions) => string;
|
|
6
|
+
error: (message: string, options?: ToastOptions) => string;
|
|
7
|
+
warning: (message: string, options?: ToastOptions) => string;
|
|
8
|
+
progress: (message: string, options?: ToastOptions) => string;
|
|
10
9
|
};
|
|
11
10
|
//# sourceMappingURL=function.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"function.d.ts","sourceRoot":"","sources":["../../../src/components/toast/function.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"function.d.ts","sourceRoot":"","sources":["../../../src/components/toast/function.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAa,YAAY,EAAa,MAAM,SAAS,CAAC;AAElE,eAAO,MAAM,YAAY,4CAAiC,CAAC;AAoB3D,eAAO,MAAM,KAAK,aAhBL,MAAM,YACL,YAAY;oBADb,MAAM,YACL,YAAY;uBADb,MAAM,YACL,YAAY;qBADb,MAAM,YACL,YAAY;uBADb,MAAM,YACL,YAAY;wBADb,MAAM,YACL,YAAY;CAqBxB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"function.js","sources":["../../../src/components/toast/function.ts"],"sourcesContent":["\"use client\";\nimport { Toast as BaseToast
|
|
1
|
+
{"version":3,"file":"function.js","sources":["../../../src/components/toast/function.ts"],"sourcesContent":["\"use client\";\nimport { Toast as BaseToast } from \"@base-ui/react\";\nimport type { ToastData, ToastOptions, ToastType } from \"./types\";\n\nexport const toastManager = BaseToast.createToastManager();\n\nfunction createToastTypeFunction(type: ToastType) {\n return (\n message: string,\n options?: ToastOptions\n ) => {\n const toastId = toastManager.add<ToastData>({\n description: message,\n data: {\n type: type,\n },\n // progress and error toasts should not auto close\n ...(type === \"progress\" ? { timeout: 0 } : {}),\n ...options,\n });\n return toastId;\n };\n}\n\nexport const toast = Object.assign(createToastTypeFunction(\"info\"), {\n info: createToastTypeFunction(\"info\"),\n success: createToastTypeFunction(\"success\"),\n error: createToastTypeFunction(\"error\"),\n warning: createToastTypeFunction(\"warning\"),\n progress: createToastTypeFunction(\"progress\"),\n});\n"],"names":["toastManager","BaseToast","createToastTypeFunction","type","message","options","toast"],"mappings":";;AAIO,MAAMA,IAAeC,EAAU,mBAAA;AAEtC,SAASC,EAAwBC,GAAiB;AAChD,SAAO,CACLC,GACAC,MAEgBL,EAAa,IAAe;AAAA,IAC1C,aAAaI;AAAA,IACb,MAAM;AAAA,MACJ,MAAAD;AAAA,IAAA;AAAA;AAAA,IAGF,GAAIA,MAAS,aAAa,EAAE,SAAS,EAAA,IAAM,CAAA;AAAA,IAC3C,GAAGE;AAAA,EAAA,CACJ;AAGL;AAEO,MAAMC,IAAQ,OAAO,OAAOJ,EAAwB,MAAM,GAAG;AAAA,EAClE,MAAMA,EAAwB,MAAM;AAAA,EACpC,SAASA,EAAwB,SAAS;AAAA,EAC1C,OAAOA,EAAwB,OAAO;AAAA,EACtC,SAASA,EAAwB,SAAS;AAAA,EAC1C,UAAUA,EAAwB,UAAU;AAC9C,CAAC;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
@layer components{.ds-toast-viewport{position:fixed;width:100%;max-width:30rem;margin:0 auto;bottom:2rem;left:50%;transform:translate(-50%);top:auto;z-index:var(--ds-z-index-toast);display:flex;justify-content:center}.ds-toast{--gap: .5rem;--offset-y: calc( var(--toast-offset-y) * -1 + (var(--toast-index) * var(--gap) * -1) + var(--toast-swipe-movement-y) );font-family:var(--font-sans);position:absolute;box-sizing:border-box;background:var(--ds-color-bg-elevated);color:var(--ds-color-text);padding:.75rem 1rem;max-width:100%;display:inline-flex;gap:var(--gap);box-shadow:var(--ds-box-shadow-secondary);background-clip:padding-box;border-radius:.5rem;bottom:0;margin-right:0;-webkit-user-select:none;user-select:none;transition:transform .5s cubic-bezier(.22,1,.36,1),opacity .5s;cursor:default;z-index:calc(1000 - var(--toast-index));transform:translate(var(--toast-swipe-movement-x)) translateY(calc(var(--toast-swipe-movement-y) + (var(--toast-index) * -
|
|
1
|
+
@layer components{.ds-toast-viewport{position:fixed;width:100%;max-width:30rem;margin:0 auto;bottom:2rem;left:50%;transform:translate(-50%);top:auto;z-index:var(--ds-z-index-toast);display:flex;justify-content:center}.ds-toast{--gap: .5rem;--stack-step: .875rem;--scale-step: .1;--min-scale: .2;--offset-y: calc( var(--toast-offset-y) * -1 + (var(--toast-index) * var(--gap) * -1) + var(--toast-swipe-movement-y) );font-family:var(--font-sans);position:absolute;box-sizing:border-box;background:var(--ds-color-bg-elevated);color:var(--ds-color-text);padding:.75rem 1rem;max-width:100%;display:inline-flex;gap:var(--gap);box-shadow:var(--ds-box-shadow-secondary);background-clip:padding-box;border-radius:.5rem;bottom:0;margin-right:0;-webkit-user-select:none;user-select:none;transition:transform .5s cubic-bezier(.22,1,.36,1),opacity .5s;cursor:default;z-index:calc(1000 - var(--toast-index));transform-origin:bottom center;transform:translate(var(--toast-swipe-movement-x)) translateY(calc(var(--toast-swipe-movement-y) + (var(--toast-index) * var(--stack-step) * -1))) scale(max(var(--min-scale),calc(1 - (var(--toast-index) * var(--scale-step)))));opacity:clamp(0,calc(9 - var(--toast-index)),1)}.ds-toast:after{top:100%}.ds-toast[data-expanded]{transform:translate(var(--toast-swipe-movement-x)) translateY(var(--offset-y));opacity:1}.ds-toast[data-starting-style],.ds-toast[data-ending-style]:not([data-limited]){transform:translateY(150%)}.ds-toast[data-ending-style]{opacity:0}.ds-toast[data-ending-style][data-swipe-direction=up]{transform:translateY(calc(var(--toast-swipe-movement-y) - 150%))}.ds-toast[data-ending-style][data-swipe-direction=left]{transform:translate(calc(var(--toast-swipe-movement-x) - 150%)) translateY(var(--offset-y))}.ds-toast[data-ending-style][data-swipe-direction=right]{transform:translate(calc(var(--toast-swipe-movement-x) + 150%)) translateY(var(--offset-y))}.ds-toast[data-ending-style][data-swipe-direction=down]{transform:translateY(calc(var(--toast-swipe-movement-y) + 150%))}.ds-toast:after{content:"";position:absolute;width:100%;left:0;height:calc(var(--gap) + 1px)}.ds-toast-content{display:flex;flex:1;flex-direction:column;max-height:calc(100vh - 92px);gap:2;overflow-y:auto}.ds-toast-title{font-size:var(--ds-font-size-heading-5);font-weight:600;line-height:var(--ds-line-height-heading-5)}.ds-toast-description{font-size:var(--ds-font-size);line-height:var(--ds-line-height)}.ds-toast-description:last-child{margin-bottom:0}.ds-toast-description-traceback p:not(:first-child){margin-top:.5rem}.ds-toast-icon-wrap{width:1.25rem;font-size:1.25rem;display:block;flex:0}.ds-toast-icon{width:1.25rem;height:1.25rem;display:block}.ds-toast-icon.ds-toast-icon-info{color:var(--ds-color-primary)}.ds-toast-icon.ds-toast-icon-success{color:var(--ds-color-success)}.ds-toast-icon.ds-toast-icon-warning{color:var(--ds-color-warning)}.ds-toast-icon.ds-toast-icon-error{color:var(--ds-color-error)}.ds-toast-icon.ds-toast-icon-progress{color:var(--ds-color-primary);animation:var(--ds-animate-spin)}.ds-toast-close{margin-top:.125rem;display:flex}}
|
|
@@ -1,4 +1,8 @@
|
|
|
1
|
+
import { Toast as BaseToast, ToastManagerAddOptions } from '@base-ui/react';
|
|
1
2
|
export type ToastData = {
|
|
2
3
|
type: "info" | "success" | "error" | "warning" | "progress";
|
|
3
4
|
};
|
|
5
|
+
export type ToastType = ToastData["type"];
|
|
6
|
+
export type ToastOptions = Omit<ToastManagerAddOptions<ToastData>, "data" | "description">;
|
|
7
|
+
export type ToastProviderProps = Omit<BaseToast.Provider.Props, "toastManager">;
|
|
4
8
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/toast/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,SAAS,GAAG;IACtB,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,GAAG,UAAU,CAAC;CAC7D,CAAC"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/toast/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,IAAI,SAAS,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAE7D,MAAM,MAAM,SAAS,GAAG;IACtB,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,GAAG,UAAU,CAAC;CAC7D,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;AAE1C,MAAM,MAAM,YAAY,GAAG,IAAI,CAC7B,sBAAsB,CAAC,SAAS,CAAC,EACjC,MAAM,GAAG,aAAa,CACvB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cn.d.ts","sourceRoot":"","sources":["../../../src/components/utils/cn.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"cn.d.ts","sourceRoot":"","sources":["../../../src/components/utils/cn.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAqG1C,wBAAgB,EAAE,CAAC,GAAG,IAAI,EAAE,UAAU,EAAE,GAAG,MAAM,EAAE,CAkBlD;AAED,wBAAgB,IAAI,CAAC,GAAG,IAAI,EAAE,UAAU,EAAE,GAAG,MAAM,CAElD;AAED,wBAAgB,EAAE,CAAC,GAAG,IAAI,EAAE,UAAU,EAAE,GAAG,MAAM,CAEhD"}
|