@xaui/hybrid 0.0.2

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.
@@ -0,0 +1,390 @@
1
+ import {
2
+ useXUITheme
3
+ } from "./chunk-4GTYR4N2.js";
4
+
5
+ // src/components/indicator/circular-activity-indicator.tsx
6
+ import { useMemo } from "react";
7
+ import { motion } from "framer-motion";
8
+
9
+ // src/components/indicator/indicator.style.ts
10
+ import { tv } from "tailwind-variants";
11
+ var indicatorStyles = tv({
12
+ slots: {
13
+ base: "relative flex items-center justify-center overflow-hidden",
14
+ track: "overflow-hidden",
15
+ indicator: ""
16
+ },
17
+ variants: {
18
+ variant: {
19
+ linear: {
20
+ base: "w-full block",
21
+ track: "relative w-full h-full overflow-hidden",
22
+ indicator: "absolute top-0 bottom-0 left-0 transition-all"
23
+ },
24
+ circular: {
25
+ base: "inline-flex shrink-0",
26
+ track: "fill-none w-auto h-auto",
27
+ indicator: "fill-none w-auto h-auto"
28
+ }
29
+ }
30
+ },
31
+ defaultVariants: {
32
+ variant: "linear"
33
+ }
34
+ });
35
+
36
+ // src/components/indicator/circular-activity-indicator.tsx
37
+ import { getSafeThemeColor } from "@xaui/core";
38
+ import { jsx, jsxs } from "react/jsx-runtime";
39
+ var DURATION = 1.5;
40
+ var EASING = [0.4, 0, 0.7, 1];
41
+ var bezierEasing = (t) => {
42
+ const [x1, y1, x2, y2] = EASING;
43
+ const cx = 3 * x1;
44
+ const bx = 3 * (x2 - x1) - cx;
45
+ const ax = 1 - cx - bx;
46
+ const cy = 3 * y1;
47
+ const by = 3 * (y2 - y1) - cy;
48
+ const ay = 1 - cy - by;
49
+ const sampleCurveX = (u2) => ((ax * u2 + bx) * u2 + cx) * u2;
50
+ const sampleCurveY = (u2) => ((ay * u2 + by) * u2 + cy) * u2;
51
+ let u = t;
52
+ for (let i = 0; i < 8; i++) {
53
+ const x = sampleCurveX(u) - t;
54
+ if (Math.abs(x) < 1e-3) break;
55
+ const slope = 3 * ax * u * u + 2 * bx * u + cx;
56
+ if (Math.abs(slope) < 1e-6) break;
57
+ u -= x / slope;
58
+ }
59
+ return sampleCurveY(u);
60
+ };
61
+ var generateKeyframes = (index, frames) => {
62
+ const rotationValue = index ? 360 - 15 : -(180 - 15);
63
+ const direction = index ? -1 : 1;
64
+ return Array.from({ length: frames }, (_, frameIndex) => {
65
+ let progress = 2 * frameIndex / (frames - 1);
66
+ if (progress > 1) progress = 2 - progress;
67
+ return direction * (180 - 30) * bezierEasing(progress) + rotationValue;
68
+ });
69
+ };
70
+ var CircularActivityIndicator = ({
71
+ size = 40,
72
+ themeColor = "primary",
73
+ color,
74
+ backgroundColor,
75
+ disableAnimation = false,
76
+ showTrack = true,
77
+ className
78
+ }) => {
79
+ const { base } = indicatorStyles({ variant: "circular" });
80
+ const theme = useXUITheme();
81
+ const safeThemeColor = getSafeThemeColor(themeColor);
82
+ const colorScheme = theme.colors[safeThemeColor];
83
+ const resolvedColor = color ?? colorScheme.main;
84
+ const resolvedBackground = showTrack ? backgroundColor ?? colorScheme.background : "transparent";
85
+ const strokeWidth = size * 0.1;
86
+ const frames = Math.round(60 * DURATION);
87
+ const times = useMemo(
88
+ () => Array.from({ length: frames }, (_, i) => i / (frames - 1)),
89
+ [frames]
90
+ );
91
+ const outerStart = 0 + 30 + 15;
92
+ const outerEnd = 2 * 360 + 30 + 15;
93
+ return /* @__PURE__ */ jsxs(
94
+ "div",
95
+ {
96
+ className: base({ className }),
97
+ style: { width: size, height: size, position: "relative" },
98
+ children: [
99
+ /* @__PURE__ */ jsx(
100
+ "div",
101
+ {
102
+ style: {
103
+ width: size,
104
+ height: size,
105
+ borderRadius: size / 2,
106
+ borderWidth: strokeWidth,
107
+ borderStyle: "solid",
108
+ borderColor: resolvedBackground,
109
+ boxSizing: "border-box"
110
+ }
111
+ }
112
+ ),
113
+ /* @__PURE__ */ jsx(
114
+ "div",
115
+ {
116
+ style: {
117
+ width: size,
118
+ height: size,
119
+ position: "absolute",
120
+ top: 0,
121
+ left: 0
122
+ },
123
+ children: [0, 1].map((index) => {
124
+ const keyframes = generateKeyframes(index, frames);
125
+ return /* @__PURE__ */ jsx(
126
+ "div",
127
+ {
128
+ style: {
129
+ position: "absolute",
130
+ width: size,
131
+ height: size
132
+ },
133
+ children: /* @__PURE__ */ jsx(
134
+ motion.div,
135
+ {
136
+ style: {
137
+ width: size,
138
+ height: size,
139
+ transformOrigin: "50% 50%"
140
+ },
141
+ initial: { rotate: outerStart },
142
+ animate: disableAnimation ? { rotate: outerStart } : { rotate: outerEnd },
143
+ transition: disableAnimation ? { duration: 0 } : {
144
+ type: "tween",
145
+ duration: DURATION,
146
+ ease: "linear",
147
+ repeat: Infinity,
148
+ repeatType: "loop",
149
+ repeatDelay: 0
150
+ },
151
+ children: /* @__PURE__ */ jsx(
152
+ "div",
153
+ {
154
+ style: {
155
+ width: size,
156
+ height: size / 2,
157
+ overflow: "hidden",
158
+ position: "absolute",
159
+ ...index ? { top: size / 2 } : {}
160
+ },
161
+ children: /* @__PURE__ */ jsx(
162
+ motion.div,
163
+ {
164
+ style: {
165
+ width: size,
166
+ height: size,
167
+ transformOrigin: "50% 50%"
168
+ },
169
+ initial: {
170
+ y: index ? -size / 2 : 0,
171
+ rotate: keyframes[0]
172
+ },
173
+ animate: disableAnimation ? { y: index ? -size / 2 : 0, rotate: keyframes[0] } : { y: index ? -size / 2 : 0, rotate: keyframes },
174
+ transition: disableAnimation ? { duration: 0 } : {
175
+ type: "tween",
176
+ duration: DURATION,
177
+ ease: "linear",
178
+ repeat: Infinity,
179
+ repeatType: "loop",
180
+ repeatDelay: 0,
181
+ times
182
+ },
183
+ children: /* @__PURE__ */ jsx(
184
+ "div",
185
+ {
186
+ style: {
187
+ width: size,
188
+ height: size / 2,
189
+ overflow: "hidden"
190
+ },
191
+ children: /* @__PURE__ */ jsx(
192
+ "div",
193
+ {
194
+ style: {
195
+ width: size,
196
+ height: size,
197
+ borderColor: resolvedColor,
198
+ borderWidth: strokeWidth,
199
+ borderStyle: "solid",
200
+ borderRadius: size / 2,
201
+ boxSizing: "border-box"
202
+ }
203
+ }
204
+ )
205
+ }
206
+ )
207
+ }
208
+ )
209
+ }
210
+ )
211
+ }
212
+ )
213
+ },
214
+ index
215
+ );
216
+ })
217
+ }
218
+ )
219
+ ]
220
+ }
221
+ );
222
+ };
223
+
224
+ // src/components/indicator/linear-activity-indicator.tsx
225
+ import { motion as motion2 } from "framer-motion";
226
+ import { getSafeThemeColor as getSafeThemeColor2 } from "@xaui/core";
227
+ import { jsx as jsx2, jsxs as jsxs2 } from "react/jsx-runtime";
228
+ var DURATION_SECONDS = 2;
229
+ var PRIMARY_TRANSLATE_OFFSET = 1.45167;
230
+ var SECONDARY_TRANSLATE_OFFSET = 0.548889;
231
+ var toPercent = (value, offset) => `${(value - offset) * 100}%`;
232
+ var buildTimes = (durations) => {
233
+ const total = durations.reduce((sum, duration) => sum + duration, 0);
234
+ let acc = 0;
235
+ const intermediateTimes = durations.slice(0, -1).map((duration) => {
236
+ acc += duration;
237
+ return acc / total;
238
+ });
239
+ return [0, ...intermediateTimes, 1];
240
+ };
241
+ var primaryTranslateKeyframes = [0, 0, 0.836714, 2.00611].map(
242
+ (value) => toPercent(value, PRIMARY_TRANSLATE_OFFSET)
243
+ );
244
+ var primaryTranslateTimes = buildTimes([400, 783, 817]);
245
+ var primaryTranslateEase = [
246
+ "linear",
247
+ [0.5, 0, 0.701732, 0.495819],
248
+ [0.302435, 0.381352, 0.55, 0.956352]
249
+ ];
250
+ var primaryScaleKeyframes = [0.08, 0.08, 0.661479, 0.08];
251
+ var primaryScaleTimes = buildTimes([733, 650, 617]);
252
+ var primaryScaleEase = [
253
+ "linear",
254
+ [0.334731, 0.12482, 0.785844, 1],
255
+ [0.06, 0.11, 0.6, 1]
256
+ ];
257
+ var secondaryTranslateKeyframes = [0, 0.376519, 0.843862, 1.60278].map(
258
+ (value) => toPercent(value, SECONDARY_TRANSLATE_OFFSET)
259
+ );
260
+ var secondaryTranslateTimes = buildTimes([500, 467, 1033]);
261
+ var secondaryTranslateEase = [
262
+ [0.15, 0, 0.515058, 0.409685],
263
+ [0.31033, 0.284058, 0.8, 0.733712],
264
+ [0.4, 0.627035, 0.6, 0.902026]
265
+ ];
266
+ var secondaryScaleKeyframes = [0.08, 0.457104, 0.72796, 0.08];
267
+ var secondaryScaleTimes = buildTimes([383, 500, 1117]);
268
+ var secondaryScaleEase = [
269
+ [0.205028, 0.057051, 0.57661, 0.453971],
270
+ [0.152313, 0.196432, 0.648374, 1.00432],
271
+ [0.257759, -3163e-6, 0.211762, 1.38179]
272
+ ];
273
+ var LinearActivityIndicator = ({
274
+ size = 4,
275
+ themeColor = "primary",
276
+ color,
277
+ backgroundColor,
278
+ disableAnimation = false,
279
+ borderRadius = 0,
280
+ showTrack = true,
281
+ className
282
+ }) => {
283
+ const { base, track } = indicatorStyles({ variant: "linear" });
284
+ const theme = useXUITheme();
285
+ const safeThemeColor = getSafeThemeColor2(themeColor);
286
+ const colorScheme = theme.colors[safeThemeColor];
287
+ const mainColor = color ?? colorScheme.main;
288
+ const trackColor = showTrack ? backgroundColor ?? colorScheme.background : "transparent";
289
+ const radius = Math.max(0, borderRadius);
290
+ const primaryAnimate = disableAnimation ? { x: primaryTranslateKeyframes[0], scaleX: primaryScaleKeyframes[0] } : { x: primaryTranslateKeyframes, scaleX: primaryScaleKeyframes };
291
+ const secondaryAnimate = disableAnimation ? { x: secondaryTranslateKeyframes[0], scaleX: secondaryScaleKeyframes[0] } : { x: secondaryTranslateKeyframes, scaleX: secondaryScaleKeyframes };
292
+ const primaryTransition = disableAnimation ? { x: { duration: 0 }, scaleX: { duration: 0 } } : {
293
+ x: {
294
+ duration: DURATION_SECONDS,
295
+ ease: primaryTranslateEase,
296
+ times: primaryTranslateTimes,
297
+ repeat: Infinity,
298
+ repeatType: "loop"
299
+ },
300
+ scaleX: {
301
+ duration: DURATION_SECONDS,
302
+ ease: primaryScaleEase,
303
+ times: primaryScaleTimes,
304
+ repeat: Infinity,
305
+ repeatType: "loop"
306
+ }
307
+ };
308
+ const secondaryTransition = disableAnimation ? { x: { duration: 0 }, scaleX: { duration: 0 } } : {
309
+ x: {
310
+ duration: DURATION_SECONDS,
311
+ ease: secondaryTranslateEase,
312
+ times: secondaryTranslateTimes,
313
+ repeat: Infinity,
314
+ repeatType: "loop"
315
+ },
316
+ scaleX: {
317
+ duration: DURATION_SECONDS,
318
+ ease: secondaryScaleEase,
319
+ times: secondaryScaleTimes,
320
+ repeat: Infinity,
321
+ repeatType: "loop"
322
+ }
323
+ };
324
+ return /* @__PURE__ */ jsx2("div", { className: base({ className }), style: { height: size }, children: /* @__PURE__ */ jsxs2(
325
+ "div",
326
+ {
327
+ className: track(),
328
+ style: {
329
+ position: "relative",
330
+ height: size,
331
+ backgroundColor: trackColor,
332
+ borderRadius: radius,
333
+ overflow: "hidden"
334
+ },
335
+ children: [
336
+ /* @__PURE__ */ jsx2(
337
+ motion2.div,
338
+ {
339
+ initial: { x: primaryTranslateKeyframes[0], scaleX: primaryScaleKeyframes[0] },
340
+ animate: primaryAnimate,
341
+ transition: primaryTransition,
342
+ style: {
343
+ position: "absolute",
344
+ inset: 0,
345
+ width: "100%",
346
+ height: size,
347
+ backgroundColor: mainColor,
348
+ borderRadius: radius,
349
+ transformOrigin: "50% 50%"
350
+ }
351
+ }
352
+ ),
353
+ /* @__PURE__ */ jsx2(
354
+ motion2.div,
355
+ {
356
+ initial: {
357
+ x: secondaryTranslateKeyframes[0],
358
+ scaleX: secondaryScaleKeyframes[0]
359
+ },
360
+ animate: secondaryAnimate,
361
+ transition: secondaryTransition,
362
+ style: {
363
+ position: "absolute",
364
+ inset: 0,
365
+ width: "100%",
366
+ height: size,
367
+ backgroundColor: mainColor,
368
+ borderRadius: radius,
369
+ transformOrigin: "50% 50%"
370
+ }
371
+ }
372
+ )
373
+ ]
374
+ }
375
+ ) });
376
+ };
377
+
378
+ // src/components/indicator/indicator.tsx
379
+ import { jsx as jsx3 } from "react/jsx-runtime";
380
+ var ActivityIndicator = (props) => {
381
+ const { variant = "circular", ...rest } = props;
382
+ if (variant === "circular") {
383
+ return /* @__PURE__ */ jsx3("div", { role: "progressbar", "aria-label": "Loading", className: "inline-flex", children: /* @__PURE__ */ jsx3(CircularActivityIndicator, { ...rest }) });
384
+ }
385
+ return /* @__PURE__ */ jsx3("div", { role: "progressbar", "aria-label": "Loading", className: "w-full", children: /* @__PURE__ */ jsx3(LinearActivityIndicator, { ...rest }) });
386
+ };
387
+
388
+ export {
389
+ ActivityIndicator
390
+ };
@@ -0,0 +1,125 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+
30
+ // src/core/index.ts
31
+ var core_exports = {};
32
+ __export(core_exports, {
33
+ XUIProvider: () => XUIProvider,
34
+ useColorMode: () => useColorMode,
35
+ useXUIColors: () => useXUIColors,
36
+ useXUITheme: () => useXUITheme
37
+ });
38
+ module.exports = __toCommonJS(core_exports);
39
+
40
+ // src/core/theme-context.tsx
41
+ var import_react2 = __toESM(require("react"), 1);
42
+
43
+ // src/core/theme-hooks.ts
44
+ var import_react = require("react");
45
+ var getWebColorMode = () => {
46
+ if (typeof globalThis === "undefined") return "light";
47
+ const globalScope = globalThis;
48
+ if (!globalScope.matchMedia) {
49
+ return "light";
50
+ }
51
+ return globalScope.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light";
52
+ };
53
+ function useColorMode() {
54
+ const [webScheme, setWebScheme] = (0, import_react.useState)(() => getWebColorMode());
55
+ (0, import_react.useEffect)(() => {
56
+ if (typeof globalThis === "undefined") return;
57
+ const globalScope = globalThis;
58
+ if (!globalScope.matchMedia) return;
59
+ const media = globalScope.matchMedia("(prefers-color-scheme: dark)");
60
+ const handleChange = () => {
61
+ setWebScheme(media.matches ? "dark" : "light");
62
+ };
63
+ handleChange();
64
+ if (typeof media.addEventListener === "function") {
65
+ media.addEventListener("change", handleChange);
66
+ return () => media.removeEventListener?.("change", handleChange);
67
+ }
68
+ const legacyMedia = media;
69
+ legacyMedia.addListener?.(handleChange);
70
+ return () => legacyMedia.removeListener?.(handleChange);
71
+ }, []);
72
+ return webScheme;
73
+ }
74
+ function useXUITheme() {
75
+ const theme = (0, import_react.useContext)(XUIThemeContext);
76
+ if (!theme) {
77
+ throw new Error("useXUITheme must be used within XUIProvider");
78
+ }
79
+ return theme;
80
+ }
81
+ function useXUIColors() {
82
+ const theme = useXUITheme();
83
+ return theme.colors;
84
+ }
85
+
86
+ // src/core/theme-context.tsx
87
+ var import_theme = require("@xaui/core/theme");
88
+ var import_jsx_runtime = require("react/jsx-runtime");
89
+ var XUIThemeContext = (0, import_react2.createContext)(null);
90
+ function XUIProvider({
91
+ children,
92
+ theme: lightTheme,
93
+ darkTheme
94
+ }) {
95
+ const colorScheme = useColorMode();
96
+ const theme = import_react2.default.useMemo(() => {
97
+ if (!darkTheme && !lightTheme) return import_theme.defaultTheme;
98
+ const activeTheme = colorScheme === "dark" && darkTheme ? darkTheme : lightTheme;
99
+ if (!activeTheme) return import_theme.defaultTheme;
100
+ return {
101
+ ...import_theme.defaultTheme,
102
+ ...activeTheme,
103
+ colors: {
104
+ ...import_theme.defaultTheme.colors,
105
+ ...activeTheme.colors
106
+ },
107
+ fontFamilies: {
108
+ ...import_theme.defaultTheme.fontFamilies,
109
+ ...activeTheme.fontFamilies
110
+ },
111
+ fontSizes: {
112
+ ...import_theme.defaultTheme.fontSizes,
113
+ ...activeTheme.fontSizes
114
+ }
115
+ };
116
+ }, [lightTheme, darkTheme, colorScheme]);
117
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(XUIThemeContext.Provider, { value: theme, children });
118
+ }
119
+ // Annotate the CommonJS export names for ESM import in node:
120
+ 0 && (module.exports = {
121
+ XUIProvider,
122
+ useColorMode,
123
+ useXUIColors,
124
+ useXUITheme
125
+ });
@@ -0,0 +1,20 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import { ReactNode } from 'react';
3
+ import { XUITheme } from '@xaui/core/theme';
4
+
5
+ type DeepPartial<T> = {
6
+ [P in keyof T]?: T[P] extends object ? DeepPartial<T[P]> : T[P];
7
+ };
8
+ interface XUIProviderProps {
9
+ children: ReactNode;
10
+ theme?: DeepPartial<XUITheme>;
11
+ darkTheme?: DeepPartial<XUITheme>;
12
+ }
13
+ declare function XUIProvider({ children, theme: lightTheme, darkTheme, }: XUIProviderProps): react_jsx_runtime.JSX.Element;
14
+
15
+ type ColorMode = 'light' | 'dark';
16
+ declare function useColorMode(): ColorMode;
17
+ declare function useXUITheme(): XUITheme;
18
+ declare function useXUIColors(): XUITheme['colors'];
19
+
20
+ export { XUIProvider, useColorMode, useXUIColors, useXUITheme };
@@ -0,0 +1,20 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import { ReactNode } from 'react';
3
+ import { XUITheme } from '@xaui/core/theme';
4
+
5
+ type DeepPartial<T> = {
6
+ [P in keyof T]?: T[P] extends object ? DeepPartial<T[P]> : T[P];
7
+ };
8
+ interface XUIProviderProps {
9
+ children: ReactNode;
10
+ theme?: DeepPartial<XUITheme>;
11
+ darkTheme?: DeepPartial<XUITheme>;
12
+ }
13
+ declare function XUIProvider({ children, theme: lightTheme, darkTheme, }: XUIProviderProps): react_jsx_runtime.JSX.Element;
14
+
15
+ type ColorMode = 'light' | 'dark';
16
+ declare function useColorMode(): ColorMode;
17
+ declare function useXUITheme(): XUITheme;
18
+ declare function useXUIColors(): XUITheme['colors'];
19
+
20
+ export { XUIProvider, useColorMode, useXUIColors, useXUITheme };
@@ -0,0 +1,12 @@
1
+ import {
2
+ XUIProvider,
3
+ useColorMode,
4
+ useXUIColors,
5
+ useXUITheme
6
+ } from "../chunk-4GTYR4N2.js";
7
+ export {
8
+ XUIProvider,
9
+ useColorMode,
10
+ useXUIColors,
11
+ useXUITheme
12
+ };
package/dist/index.cjs ADDED
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __copyProps = (to, from, except, desc) => {
7
+ if (from && typeof from === "object" || typeof from === "function") {
8
+ for (let key of __getOwnPropNames(from))
9
+ if (!__hasOwnProp.call(to, key) && key !== except)
10
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
11
+ }
12
+ return to;
13
+ };
14
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
15
+
16
+ // src/index.ts
17
+ var src_exports = {};
18
+ module.exports = __toCommonJS(src_exports);
@@ -0,0 +1,2 @@
1
+
2
+ export { }
@@ -0,0 +1,2 @@
1
+
2
+ export { }
package/dist/index.js ADDED
File without changes