@xiping/react-components 1.0.26 → 1.0.28

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.
Files changed (37) hide show
  1. package/dist/cjs/components/comic-text/ComicText.d.ts +9 -0
  2. package/dist/cjs/components/comic-text/ComicText.js +4 -0
  3. package/dist/cjs/components/comic-text/index.d.ts +1 -0
  4. package/dist/cjs/components/flip-text/FlipText.d.ts +20 -0
  5. package/dist/cjs/components/flip-text/FlipText.js +1 -0
  6. package/dist/cjs/components/flip-text/index.d.ts +1 -0
  7. package/dist/cjs/components/video-dialog/VideoDialog.d.ts +10 -0
  8. package/dist/cjs/components/video-dialog/VideoDialog.js +1 -0
  9. package/dist/cjs/components/video-dialog/index.d.ts +1 -0
  10. package/dist/cjs/index.d.ts +3 -0
  11. package/dist/cjs/index.js +1 -1
  12. package/dist/cjs/node_modules/.pnpm/lucide-react@0.525.0_react@19.1.0/node_modules/lucide-react/dist/esm/Icon.js +6 -0
  13. package/dist/cjs/node_modules/.pnpm/lucide-react@0.525.0_react@19.1.0/node_modules/lucide-react/dist/esm/createLucideIcon.js +6 -0
  14. package/dist/cjs/node_modules/.pnpm/lucide-react@0.525.0_react@19.1.0/node_modules/lucide-react/dist/esm/defaultAttributes.js +6 -0
  15. package/dist/cjs/node_modules/.pnpm/lucide-react@0.525.0_react@19.1.0/node_modules/lucide-react/dist/esm/icons/play.js +6 -0
  16. package/dist/cjs/node_modules/.pnpm/lucide-react@0.525.0_react@19.1.0/node_modules/lucide-react/dist/esm/icons/x.js +6 -0
  17. package/dist/cjs/node_modules/.pnpm/lucide-react@0.525.0_react@19.1.0/node_modules/lucide-react/dist/esm/shared/src/utils.js +6 -0
  18. package/dist/cjs/react-components.css +1 -1
  19. package/dist/es/components/comic-text/ComicText.d.ts +9 -0
  20. package/dist/es/components/comic-text/ComicText.js +51 -0
  21. package/dist/es/components/comic-text/index.d.ts +1 -0
  22. package/dist/es/components/flip-text/FlipText.d.ts +20 -0
  23. package/dist/es/components/flip-text/FlipText.js +37 -0
  24. package/dist/es/components/flip-text/index.d.ts +1 -0
  25. package/dist/es/components/video-dialog/VideoDialog.d.ts +10 -0
  26. package/dist/es/components/video-dialog/VideoDialog.js +127 -0
  27. package/dist/es/components/video-dialog/index.d.ts +1 -0
  28. package/dist/es/index.d.ts +3 -0
  29. package/dist/es/index.js +22 -16
  30. package/dist/es/node_modules/.pnpm/lucide-react@0.525.0_react@19.1.0/node_modules/lucide-react/dist/esm/Icon.js +41 -0
  31. package/dist/es/node_modules/.pnpm/lucide-react@0.525.0_react@19.1.0/node_modules/lucide-react/dist/esm/createLucideIcon.js +27 -0
  32. package/dist/es/node_modules/.pnpm/lucide-react@0.525.0_react@19.1.0/node_modules/lucide-react/dist/esm/defaultAttributes.js +20 -0
  33. package/dist/es/node_modules/.pnpm/lucide-react@0.525.0_react@19.1.0/node_modules/lucide-react/dist/esm/icons/play.js +12 -0
  34. package/dist/es/node_modules/.pnpm/lucide-react@0.525.0_react@19.1.0/node_modules/lucide-react/dist/esm/icons/x.js +15 -0
  35. package/dist/es/node_modules/.pnpm/lucide-react@0.525.0_react@19.1.0/node_modules/lucide-react/dist/esm/shared/src/utils.js +24 -0
  36. package/dist/es/react-components.css +1 -1
  37. package/package.json +3 -2
@@ -0,0 +1,9 @@
1
+ import { CSSProperties } from 'react';
2
+ type ComicTextProps = {
3
+ children: string;
4
+ className?: string;
5
+ style?: CSSProperties;
6
+ fontSize?: number;
7
+ };
8
+ export declare function ComicText({ children, className, style, fontSize, }: ComicTextProps): import("react/jsx-runtime").JSX.Element;
9
+ export {};
@@ -0,0 +1,51 @@
1
+ "use client";
2
+ import { jsx as n } from "react/jsx-runtime";
3
+ import { cn as i } from "../../utils/utils.js";
4
+ import { motion as p } from "motion/react";
5
+ function m({
6
+ children: t,
7
+ className: o,
8
+ style: a,
9
+ fontSize: r = 5
10
+ }) {
11
+ if (typeof t != "string")
12
+ throw new Error("children must be a string");
13
+ const e = "#EF4444";
14
+ return /* @__PURE__ */ n(
15
+ p.div,
16
+ {
17
+ className: i("select-none text-center", o),
18
+ style: {
19
+ fontSize: `${r}rem`,
20
+ fontFamily: "'Bangers', 'Comic Sans MS', 'Impact', sans-serif",
21
+ fontWeight: "900",
22
+ WebkitTextStroke: `${r * 0.35}px #000000`,
23
+ // Thick black outline
24
+ transform: "skewX(-10deg)",
25
+ textTransform: "uppercase",
26
+ filter: `
27
+ drop-shadow(5px 5px 0px #000000)
28
+ drop-shadow(3px 3px 0px ${e})
29
+ `,
30
+ backgroundColor: "#FACC15",
31
+ backgroundImage: `radial-gradient(circle at 1px 1px, ${e} 1px, transparent 0)`,
32
+ backgroundSize: "8px 8px",
33
+ backgroundClip: "text",
34
+ WebkitBackgroundClip: "text",
35
+ WebkitTextFillColor: "transparent",
36
+ ...a
37
+ },
38
+ initial: { opacity: 0, scale: 0.8, rotate: -2 },
39
+ animate: { opacity: 1, scale: 1, rotate: 0 },
40
+ transition: {
41
+ duration: 0.6,
42
+ ease: [0.175, 0.885, 0.32, 1.275],
43
+ type: "spring"
44
+ },
45
+ children: t
46
+ }
47
+ );
48
+ }
49
+ export {
50
+ m as ComicText
51
+ };
@@ -0,0 +1 @@
1
+ export * from './ComicText';
@@ -0,0 +1,20 @@
1
+ import { Variants, MotionProps } from 'motion/react';
2
+ import { ElementType, default as React } from 'react';
3
+ interface FlipTextProps extends MotionProps {
4
+ /** The duration of the animation */
5
+ duration?: number;
6
+ /** The delay between each character */
7
+ delayMultiple?: number;
8
+ /** The variants of the animation */
9
+ framerProps?: Variants;
10
+ /** The class name of the component */
11
+ className?: string;
12
+ /** The element type of the component */
13
+ as?: ElementType;
14
+ /** The children of the component */
15
+ children: React.ReactNode;
16
+ /** The variants of the animation */
17
+ variants?: Variants;
18
+ }
19
+ export declare function FlipText({ children, duration, delayMultiple, className, as: Component, variants, ...props }: FlipTextProps): import("react/jsx-runtime").JSX.Element;
20
+ export {};
@@ -0,0 +1,37 @@
1
+ "use client";
2
+ import { jsx as t } from "react/jsx-runtime";
3
+ import { motion as p, AnimatePresence as h } from "motion/react";
4
+ import { cn as f } from "../../utils/utils.js";
5
+ import x from "react";
6
+ const u = {
7
+ hidden: { rotateX: -90, opacity: 0 },
8
+ visible: { rotateX: 0, opacity: 1 }
9
+ };
10
+ function w({
11
+ children: i,
12
+ duration: n = 0.5,
13
+ delayMultiple: a = 0.08,
14
+ className: o,
15
+ as: r = "span",
16
+ variants: s,
17
+ ...c
18
+ }) {
19
+ const m = p.create(r), d = x.Children.toArray(i).join("").split("");
20
+ return /* @__PURE__ */ t("div", { className: "flex justify-center space-x-2", children: /* @__PURE__ */ t(h, { mode: "wait", children: d.map((l, e) => /* @__PURE__ */ t(
21
+ m,
22
+ {
23
+ initial: "hidden",
24
+ animate: "visible",
25
+ exit: "hidden",
26
+ variants: s || u,
27
+ transition: { duration: n, delay: e * a },
28
+ className: f("origin-center drop-shadow-sm", o),
29
+ ...c,
30
+ children: l
31
+ },
32
+ e
33
+ )) }) });
34
+ }
35
+ export {
36
+ w as FlipText
37
+ };
@@ -0,0 +1 @@
1
+ export * from './FlipText';
@@ -0,0 +1,10 @@
1
+ type AnimationStyle = "from-bottom" | "from-center" | "from-top" | "from-left" | "from-right" | "fade" | "top-in-bottom-out" | "left-in-right-out";
2
+ interface VideoProps {
3
+ animationStyle?: AnimationStyle;
4
+ videoSrc: string;
5
+ thumbnailSrc: string;
6
+ thumbnailAlt?: string;
7
+ className?: string;
8
+ }
9
+ export declare function VideoDialog({ animationStyle, videoSrc, thumbnailSrc, thumbnailAlt, className, }: VideoProps): import("react/jsx-runtime").JSX.Element;
10
+ export {};
@@ -0,0 +1,127 @@
1
+ "use client";
2
+ import { jsxs as i, jsx as e } from "react/jsx-runtime";
3
+ import { useState as m } from "react";
4
+ import { AnimatePresence as p, motion as t } from "motion/react";
5
+ import { cn as u } from "../../utils/utils.js";
6
+ import y from "../../node_modules/.pnpm/lucide-react@0.525.0_react@19.1.0/node_modules/lucide-react/dist/esm/icons/play.js";
7
+ import f from "../../node_modules/.pnpm/lucide-react@0.525.0_react@19.1.0/node_modules/lucide-react/dist/esm/icons/x.js";
8
+ const x = {
9
+ "from-bottom": {
10
+ initial: { y: "100%", opacity: 0 },
11
+ animate: { y: 0, opacity: 1 },
12
+ exit: { y: "100%", opacity: 0 }
13
+ },
14
+ "from-center": {
15
+ initial: { scale: 0.5, opacity: 0 },
16
+ animate: { scale: 1, opacity: 1 },
17
+ exit: { scale: 0.5, opacity: 0 }
18
+ },
19
+ "from-top": {
20
+ initial: { y: "-100%", opacity: 0 },
21
+ animate: { y: 0, opacity: 1 },
22
+ exit: { y: "-100%", opacity: 0 }
23
+ },
24
+ "from-left": {
25
+ initial: { x: "-100%", opacity: 0 },
26
+ animate: { x: 0, opacity: 1 },
27
+ exit: { x: "-100%", opacity: 0 }
28
+ },
29
+ "from-right": {
30
+ initial: { x: "100%", opacity: 0 },
31
+ animate: { x: 0, opacity: 1 },
32
+ exit: { x: "100%", opacity: 0 }
33
+ },
34
+ fade: {
35
+ initial: { opacity: 0 },
36
+ animate: { opacity: 1 },
37
+ exit: { opacity: 0 }
38
+ },
39
+ "top-in-bottom-out": {
40
+ initial: { y: "-100%", opacity: 0 },
41
+ animate: { y: 0, opacity: 1 },
42
+ exit: { y: "100%", opacity: 0 }
43
+ },
44
+ "left-in-right-out": {
45
+ initial: { x: "-100%", opacity: 0 },
46
+ animate: { x: 0, opacity: 1 },
47
+ exit: { x: "100%", opacity: 0 }
48
+ }
49
+ };
50
+ function k({
51
+ animationStyle: o = "from-center",
52
+ videoSrc: r,
53
+ thumbnailSrc: l,
54
+ thumbnailAlt: n = "Video thumbnail",
55
+ className: s
56
+ }) {
57
+ const [c, a] = m(!1), d = x[o];
58
+ return /* @__PURE__ */ i("div", { className: u("relative", s), children: [
59
+ /* @__PURE__ */ i(
60
+ "div",
61
+ {
62
+ className: "group relative cursor-pointer",
63
+ onClick: () => a(!0),
64
+ children: [
65
+ /* @__PURE__ */ e(
66
+ "img",
67
+ {
68
+ src: l,
69
+ alt: n,
70
+ width: 1920,
71
+ height: 1080,
72
+ className: "w-full rounded-md border shadow-lg transition-all duration-200 ease-out group-hover:brightness-[0.8]"
73
+ }
74
+ ),
75
+ /* @__PURE__ */ e("div", { className: "absolute inset-0 flex scale-[0.9] items-center justify-center rounded-2xl transition-all duration-200 ease-out group-hover:scale-100", children: /* @__PURE__ */ e("div", { className: "flex size-28 items-center justify-center rounded-full bg-primary/10 backdrop-blur-md", children: /* @__PURE__ */ e(
76
+ "div",
77
+ {
78
+ className: "relative flex size-20 scale-100 items-center justify-center rounded-full bg-gradient-to-b from-primary/30 to-primary shadow-md transition-all duration-200 ease-out group-hover:scale-[1.2]",
79
+ children: /* @__PURE__ */ e(
80
+ y,
81
+ {
82
+ className: "size-8 scale-100 fill-white text-white transition-transform duration-200 ease-out group-hover:scale-105",
83
+ style: {
84
+ filter: "drop-shadow(0 4px 3px rgb(0 0 0 / 0.07)) drop-shadow(0 2px 2px rgb(0 0 0 / 0.06))"
85
+ }
86
+ }
87
+ )
88
+ }
89
+ ) }) })
90
+ ]
91
+ }
92
+ ),
93
+ /* @__PURE__ */ e(p, { children: c && /* @__PURE__ */ e(
94
+ t.div,
95
+ {
96
+ initial: { opacity: 0 },
97
+ animate: { opacity: 1 },
98
+ onClick: () => a(!1),
99
+ exit: { opacity: 0 },
100
+ className: "fixed inset-0 z-50 flex items-center justify-center bg-black/50 backdrop-blur-md",
101
+ children: /* @__PURE__ */ i(
102
+ t.div,
103
+ {
104
+ ...d,
105
+ transition: { type: "spring", damping: 30, stiffness: 300 },
106
+ className: "relative mx-4 aspect-video w-full max-w-4xl md:mx-0",
107
+ children: [
108
+ /* @__PURE__ */ e(t.button, { className: "absolute -top-16 right-0 rounded-full bg-neutral-900/50 p-2 text-xl text-white ring-1 backdrop-blur-md dark:bg-neutral-100/50 dark:text-black", children: /* @__PURE__ */ e(f, { className: "size-5" }) }),
109
+ /* @__PURE__ */ e("div", { className: "relative isolate z-[1] size-full overflow-hidden rounded-2xl border-2 border-white", children: /* @__PURE__ */ e(
110
+ "iframe",
111
+ {
112
+ src: r,
113
+ className: "size-full rounded-2xl",
114
+ allowFullScreen: !0,
115
+ allow: "accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"
116
+ }
117
+ ) })
118
+ ]
119
+ }
120
+ )
121
+ }
122
+ ) })
123
+ ] });
124
+ }
125
+ export {
126
+ k as VideoDialog
127
+ };
@@ -0,0 +1 @@
1
+ export * from './VideoDialog';
@@ -17,3 +17,6 @@ export * from './hooks/useStayTimeReport';
17
17
  export * from './components/pointer';
18
18
  export * from './components/sparkles-text';
19
19
  export * from './components/blur-fade';
20
+ export * from './components/video-dialog';
21
+ export * from './components/comic-text';
22
+ export * from './components/flip-text';
package/dist/es/index.js CHANGED
@@ -2,16 +2,16 @@
2
2
  import { Button as t } from "./components/button/Button.js";
3
3
  import { TxtReader as f } from "./components/txt-reader/TxtReader.js";
4
4
  import { HyperText as x } from "./components/hyper-text/index.js";
5
- import { TypingAnimation as n } from "./components/typing-animation/index.js";
5
+ import { TypingAnimation as i } from "./components/typing-animation/index.js";
6
6
  import { QRCode as d } from "./components/qr-code/index.js";
7
- import { Confetti as u, ConfettiButton as c } from "./components/confetti-button/index.js";
8
- import { useStayTimeReport as T } from "./hooks/useStayTimeReport.js";
7
+ import { Confetti as u, ConfettiButton as l } from "./components/confetti-button/index.js";
8
+ import { useStayTimeReport as c } from "./hooks/useStayTimeReport.js";
9
9
  import { default as g } from "./components/pinch-content/PinchContent.js";
10
10
  import { default as B } from "./components/image-viewer/ImageViewer.js";
11
- import { ShimmerButton as y } from "./components/shimmer-button/ShimmerButton.js";
12
- import { default as I } from "./components/image-compare/ImageCompare.js";
13
- import { TextAnimate as S } from "./components/text-animate/TextAnimate.js";
14
- import { Dock as F, DockIcon as P, dockVariants as V } from "./components/dock/Duck.js";
11
+ import { ShimmerButton as h } from "./components/shimmer-button/ShimmerButton.js";
12
+ import { default as F } from "./components/image-compare/ImageCompare.js";
13
+ import { TextAnimate as R } from "./components/text-animate/TextAnimate.js";
14
+ import { Dock as V, DockIcon as A, dockVariants as P } from "./components/dock/Duck.js";
15
15
  import { TxtEditor as E } from "./components/txt-editor/TxtEditor.js";
16
16
  import { Message as H } from "./components/message/Message.js";
17
17
  import { default as Q } from "./node_modules/.pnpm/react-force-graph-3d@1.28.0_react@19.1.0/node_modules/react-force-graph-3d/dist/react-force-graph-3d.js";
@@ -19,28 +19,34 @@ import { default as j } from "./node_modules/.pnpm/canvas-confetti@1.9.3/node_mo
19
19
  import { Pointer as v } from "./components/pointer/Pointer.js";
20
20
  import { SparklesText as J } from "./components/sparkles-text/SparklesText.js";
21
21
  import { BlurFade as L } from "./components/blur-fade/BlurFade.js";
22
+ import { VideoDialog as O } from "./components/video-dialog/VideoDialog.js";
23
+ import { ComicText as W } from "./components/comic-text/ComicText.js";
24
+ import { FlipText as Y } from "./components/flip-text/FlipText.js";
22
25
  export {
23
26
  L as BlurFade,
24
27
  t as Button,
28
+ W as ComicText,
25
29
  u as Confetti,
26
- c as ConfettiButton,
27
- F as Dock,
28
- P as DockIcon,
30
+ l as ConfettiButton,
31
+ V as Dock,
32
+ A as DockIcon,
33
+ Y as FlipText,
29
34
  Q as ForceGraph3D,
30
35
  x as HyperText,
31
- I as ImageCompare,
36
+ F as ImageCompare,
32
37
  B as ImageViewer,
33
38
  H as Message,
34
39
  g as PinchContent,
35
40
  v as Pointer,
36
41
  d as QRCode,
37
- y as ShimmerButton,
42
+ h as ShimmerButton,
38
43
  J as SparklesText,
39
- S as TextAnimate,
44
+ R as TextAnimate,
40
45
  E as TxtEditor,
41
46
  f as TxtReader,
42
- n as TypingAnimation,
47
+ i as TypingAnimation,
48
+ O as VideoDialog,
43
49
  j as confetti,
44
- V as dockVariants,
45
- T as useStayTimeReport
50
+ P as dockVariants,
51
+ c as useStayTimeReport
46
52
  };
@@ -0,0 +1,41 @@
1
+ import { forwardRef as l, createElement as o } from "react";
2
+ import A from "./defaultAttributes.js";
3
+ import { mergeClasses as b, hasA11yProp as c } from "./shared/src/utils.js";
4
+ /**
5
+ * @license lucide-react v0.525.0 - ISC
6
+ *
7
+ * This source code is licensed under the ISC license.
8
+ * See the LICENSE file in the root directory of this source tree.
9
+ */
10
+ const h = l(
11
+ ({
12
+ color: m = "currentColor",
13
+ size: t = 24,
14
+ strokeWidth: e = 2,
15
+ absoluteStrokeWidth: s,
16
+ className: u = "",
17
+ children: r,
18
+ iconNode: f,
19
+ ...a
20
+ }, p) => o(
21
+ "svg",
22
+ {
23
+ ref: p,
24
+ ...A,
25
+ width: t,
26
+ height: t,
27
+ stroke: m,
28
+ strokeWidth: s ? Number(e) * 24 / Number(t) : e,
29
+ className: b("lucide", u),
30
+ ...!r && !c(a) && { "aria-hidden": "true" },
31
+ ...a
32
+ },
33
+ [
34
+ ...f.map(([i, d]) => o(i, d)),
35
+ ...Array.isArray(r) ? r : [r]
36
+ ]
37
+ )
38
+ );
39
+ export {
40
+ h as default
41
+ };
@@ -0,0 +1,27 @@
1
+ import { forwardRef as m, createElement as l } from "react";
2
+ import { mergeClasses as d, toKebabCase as f, toPascalCase as r } from "./shared/src/utils.js";
3
+ import n from "./Icon.js";
4
+ /**
5
+ * @license lucide-react v0.525.0 - ISC
6
+ *
7
+ * This source code is licensed under the ISC license.
8
+ * See the LICENSE file in the root directory of this source tree.
9
+ */
10
+ const C = (e, t) => {
11
+ const o = m(
12
+ ({ className: a, ...s }, c) => l(n, {
13
+ ref: c,
14
+ iconNode: t,
15
+ className: d(
16
+ `lucide-${f(r(e))}`,
17
+ `lucide-${e}`,
18
+ a
19
+ ),
20
+ ...s
21
+ })
22
+ );
23
+ return o.displayName = r(e), o;
24
+ };
25
+ export {
26
+ C as default
27
+ };
@@ -0,0 +1,20 @@
1
+ /**
2
+ * @license lucide-react v0.525.0 - ISC
3
+ *
4
+ * This source code is licensed under the ISC license.
5
+ * See the LICENSE file in the root directory of this source tree.
6
+ */
7
+ var t = {
8
+ xmlns: "http://www.w3.org/2000/svg",
9
+ width: 24,
10
+ height: 24,
11
+ viewBox: "0 0 24 24",
12
+ fill: "none",
13
+ stroke: "currentColor",
14
+ strokeWidth: 2,
15
+ strokeLinecap: "round",
16
+ strokeLinejoin: "round"
17
+ };
18
+ export {
19
+ t as default
20
+ };
@@ -0,0 +1,12 @@
1
+ import o from "../createLucideIcon.js";
2
+ /**
3
+ * @license lucide-react v0.525.0 - ISC
4
+ *
5
+ * This source code is licensed under the ISC license.
6
+ * See the LICENSE file in the root directory of this source tree.
7
+ */
8
+ const e = [["polygon", { points: "6 3 20 12 6 21 6 3", key: "1oa8hb" }]], a = o("play", e);
9
+ export {
10
+ e as __iconNode,
11
+ a as default
12
+ };
@@ -0,0 +1,15 @@
1
+ import e from "../createLucideIcon.js";
2
+ /**
3
+ * @license lucide-react v0.525.0 - ISC
4
+ *
5
+ * This source code is licensed under the ISC license.
6
+ * See the LICENSE file in the root directory of this source tree.
7
+ */
8
+ const o = [
9
+ ["path", { d: "M18 6 6 18", key: "1bl5f8" }],
10
+ ["path", { d: "m6 6 12 12", key: "d8bk6v" }]
11
+ ], c = e("x", o);
12
+ export {
13
+ o as __iconNode,
14
+ c as default
15
+ };
@@ -0,0 +1,24 @@
1
+ /**
2
+ * @license lucide-react v0.525.0 - ISC
3
+ *
4
+ * This source code is licensed under the ISC license.
5
+ * See the LICENSE file in the root directory of this source tree.
6
+ */
7
+ const s = (t) => t.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase(), a = (t) => t.replace(
8
+ /^([A-Z])|[\s-_]+(\w)/g,
9
+ (e, o, r) => r ? r.toUpperCase() : o.toLowerCase()
10
+ ), n = (t) => {
11
+ const e = a(t);
12
+ return e.charAt(0).toUpperCase() + e.slice(1);
13
+ }, c = (...t) => t.filter((e, o, r) => !!e && e.trim() !== "" && r.indexOf(e) === o).join(" ").trim(), i = (t) => {
14
+ for (const e in t)
15
+ if (e.startsWith("aria-") || e === "role" || e === "title")
16
+ return !0;
17
+ };
18
+ export {
19
+ i as hasA11yProp,
20
+ c as mergeClasses,
21
+ a as toCamelCase,
22
+ s as toKebabCase,
23
+ n as toPascalCase
24
+ };