@windrun-huaiin/third-ui 6.2.2 → 6.3.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.
Files changed (57) hide show
  1. package/dist/chunk-52YUUCKV.js +3190 -0
  2. package/dist/chunk-52YUUCKV.js.map +1 -0
  3. package/dist/chunk-6MM7HLNX.js +226 -0
  4. package/dist/chunk-6MM7HLNX.js.map +1 -0
  5. package/dist/chunk-6PW67OXW.js +967 -0
  6. package/dist/chunk-6PW67OXW.js.map +1 -0
  7. package/dist/chunk-BZLOMDT7.mjs +90 -0
  8. package/dist/chunk-BZLOMDT7.mjs.map +1 -0
  9. package/dist/chunk-C3MW5ZUN.mjs +967 -0
  10. package/dist/chunk-C3MW5ZUN.mjs.map +1 -0
  11. package/dist/chunk-FOMCGWDM.mjs +17 -0
  12. package/dist/chunk-FOMCGWDM.mjs.map +1 -0
  13. package/dist/chunk-ICXWQI2S.mjs +126 -0
  14. package/dist/chunk-ICXWQI2S.mjs.map +1 -0
  15. package/dist/chunk-IOUCFIRG.mjs +3190 -0
  16. package/dist/chunk-IOUCFIRG.mjs.map +1 -0
  17. package/dist/chunk-J26XFRUS.js +17 -0
  18. package/dist/chunk-J26XFRUS.js.map +1 -0
  19. package/dist/chunk-LZLW5WCC.js +90 -0
  20. package/dist/chunk-LZLW5WCC.js.map +1 -0
  21. package/dist/chunk-NV3UQTCW.mjs +226 -0
  22. package/dist/chunk-NV3UQTCW.mjs.map +1 -0
  23. package/dist/chunk-TBXDOQXP.js +126 -0
  24. package/dist/chunk-TBXDOQXP.js.map +1 -0
  25. package/dist/chunk-TKLIIDBR.mjs +2804 -0
  26. package/dist/chunk-TKLIIDBR.mjs.map +1 -0
  27. package/dist/chunk-W7K5Y2WR.js +2804 -0
  28. package/dist/chunk-W7K5Y2WR.js.map +1 -0
  29. package/dist/clerk/index.js +13 -57
  30. package/dist/clerk/index.js.map +1 -1
  31. package/dist/clerk/index.mjs +7 -27
  32. package/dist/clerk/index.mjs.map +1 -1
  33. package/dist/clerk/server.js +60 -2907
  34. package/dist/clerk/server.js.map +1 -1
  35. package/dist/clerk/server.mjs +33 -2846
  36. package/dist/clerk/server.mjs.map +1 -1
  37. package/dist/fuma/mdx/index.js +7 -4084
  38. package/dist/fuma/mdx/index.js.map +1 -1
  39. package/dist/fuma/mdx/index.mjs +20 -4058
  40. package/dist/fuma/mdx/index.mjs.map +1 -1
  41. package/dist/fuma/server.js +442 -3695
  42. package/dist/fuma/server.js.map +1 -1
  43. package/dist/fuma/server.mjs +232 -3476
  44. package/dist/fuma/server.mjs.map +1 -1
  45. package/dist/lib/server.js +39 -105
  46. package/dist/lib/server.js.map +1 -1
  47. package/dist/lib/server.mjs +4 -24
  48. package/dist/lib/server.mjs.map +1 -1
  49. package/dist/main/index.js +6 -6214
  50. package/dist/main/index.js.map +1 -1
  51. package/dist/main/index.mjs +16 -6184
  52. package/dist/main/index.mjs.map +1 -1
  53. package/dist/main/server.js +184 -6032
  54. package/dist/main/server.js.map +1 -1
  55. package/dist/main/server.mjs +147 -5957
  56. package/dist/main/server.mjs.map +1 -1
  57. package/package.json +2 -2
@@ -0,0 +1,17 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});/* eslint-disable */
2
+
3
+
4
+ var _chunkLZLW5WCCjs = require('./chunk-LZLW5WCC.js');
5
+
6
+ // src/lib/clerk-intl.ts
7
+ var _localizations = require('@clerk/localizations');
8
+ var customZH = _chunkLZLW5WCCjs.__spreadValues.call(void 0, {}, _localizations.zhCN);
9
+ var clerkIntl = {
10
+ en: _localizations.enUS,
11
+ zh: customZH
12
+ };
13
+
14
+
15
+
16
+ exports.clerkIntl = clerkIntl;
17
+ //# sourceMappingURL=chunk-J26XFRUS.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/Users/funeye/IdeaProjects/next-ai-build/packages/third-ui/dist/chunk-J26XFRUS.js","../src/lib/clerk-intl.ts"],"names":[],"mappings":"AAAA;AACA;AACE;AACF,sDAA4B;AAC5B;AACA;ACLA,qDAA2B;AAK3B,IAAM,SAAA,EAAiC,6CAAA,CAAA,CAAA,EAClC,mBAAA,CAAA;AAGE,IAAM,UAAA,EAAY;AAAA,EACvB,EAAA,EAAI,mBAAA;AAAA,EACJ,EAAA,EAAI;AACN,CAAA;ADAA;AACA;AACE;AACF,8BAAC","file":"/Users/funeye/IdeaProjects/next-ai-build/packages/third-ui/dist/chunk-J26XFRUS.js","sourcesContent":[null,"import { enUS, zhCN } from '@clerk/localizations';\nimport type { LocalizationResource } from '@clerk/types';\n\n// https://github.com/clerk/javascript/blob/main/packages/localizations/src/en-US.ts#L492\n// https://clerk.com/docs/customization/localization\nconst customZH: LocalizationResource = {\n ...zhCN,\n}\n\nexport const clerkIntl = {\n en: enUS,\n zh: customZH,\n}"]}
@@ -0,0 +1,90 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});/* eslint-disable */
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __defProps = Object.defineProperties;
5
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
6
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
7
+ var __getOwnPropNames = Object.getOwnPropertyNames;
8
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
9
+ var __getProtoOf = Object.getPrototypeOf;
10
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
11
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
12
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
13
+ var __spreadValues = (a, b) => {
14
+ for (var prop in b || (b = {}))
15
+ if (__hasOwnProp.call(b, prop))
16
+ __defNormalProp(a, prop, b[prop]);
17
+ if (__getOwnPropSymbols)
18
+ for (var prop of __getOwnPropSymbols(b)) {
19
+ if (__propIsEnum.call(b, prop))
20
+ __defNormalProp(a, prop, b[prop]);
21
+ }
22
+ return a;
23
+ };
24
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
25
+ var __objRest = (source, exclude) => {
26
+ var target = {};
27
+ for (var prop in source)
28
+ if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
29
+ target[prop] = source[prop];
30
+ if (source != null && __getOwnPropSymbols)
31
+ for (var prop of __getOwnPropSymbols(source)) {
32
+ if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
33
+ target[prop] = source[prop];
34
+ }
35
+ return target;
36
+ };
37
+ var __commonJS = (cb, mod) => function __require() {
38
+ return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
39
+ };
40
+ var __export = (target, all) => {
41
+ for (var name in all)
42
+ __defProp(target, name, { get: all[name], enumerable: true });
43
+ };
44
+ var __copyProps = (to, from, except, desc) => {
45
+ if (from && typeof from === "object" || typeof from === "function") {
46
+ for (let key of __getOwnPropNames(from))
47
+ if (!__hasOwnProp.call(to, key) && key !== except)
48
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
49
+ }
50
+ return to;
51
+ };
52
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
53
+ // If the importer is in node compatibility mode or this is not an ESM
54
+ // file that has been converted to a CommonJS file using a Babel-
55
+ // compatible transform (i.e. "__esModule" has not been set), then set
56
+ // "default" to the CommonJS "module.exports" for node compatibility.
57
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
58
+ mod
59
+ ));
60
+ var __async = (__this, __arguments, generator) => {
61
+ return new Promise((resolve, reject) => {
62
+ var fulfilled = (value) => {
63
+ try {
64
+ step(generator.next(value));
65
+ } catch (e) {
66
+ reject(e);
67
+ }
68
+ };
69
+ var rejected = (value) => {
70
+ try {
71
+ step(generator.throw(value));
72
+ } catch (e) {
73
+ reject(e);
74
+ }
75
+ };
76
+ var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
77
+ step((generator = generator.apply(__this, __arguments)).next());
78
+ });
79
+ };
80
+
81
+
82
+
83
+
84
+
85
+
86
+
87
+
88
+
89
+ exports.__spreadValues = __spreadValues; exports.__spreadProps = __spreadProps; exports.__objRest = __objRest; exports.__commonJS = __commonJS; exports.__export = __export; exports.__toESM = __toESM; exports.__async = __async;
90
+ //# sourceMappingURL=chunk-LZLW5WCC.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/Users/funeye/IdeaProjects/next-ai-build/packages/third-ui/dist/chunk-LZLW5WCC.js"],"names":[],"mappings":"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","file":"/Users/funeye/IdeaProjects/next-ai-build/packages/third-ui/dist/chunk-LZLW5WCC.js"}
@@ -0,0 +1,226 @@
1
+ /* eslint-disable */
2
+ import {
3
+ globalLucideIcons
4
+ } from "./chunk-TKLIIDBR.mjs";
5
+ import {
6
+ __objRest,
7
+ __spreadProps,
8
+ __spreadValues
9
+ } from "./chunk-BZLOMDT7.mjs";
10
+
11
+ // ../lib/src/utils.ts
12
+ import { clsx } from "clsx";
13
+ import { twMerge } from "tailwind-merge";
14
+ function cn(...inputs) {
15
+ return twMerge(clsx(inputs));
16
+ }
17
+
18
+ // ../base-ui/src/ui/button.tsx
19
+ import * as React3 from "react";
20
+
21
+ // ../../node_modules/.pnpm/@radix-ui+react-slot@1.2.3_@types+react@19.1.2_react@19.1.0/node_modules/@radix-ui/react-slot/dist/index.mjs
22
+ import * as React2 from "react";
23
+
24
+ // ../../node_modules/.pnpm/@radix-ui+react-compose-refs@1.1.2_@types+react@19.1.2_react@19.1.0/node_modules/@radix-ui/react-compose-refs/dist/index.mjs
25
+ import * as React from "react";
26
+ function setRef(ref, value) {
27
+ if (typeof ref === "function") {
28
+ return ref(value);
29
+ } else if (ref !== null && ref !== void 0) {
30
+ ref.current = value;
31
+ }
32
+ }
33
+ function composeRefs(...refs) {
34
+ return (node) => {
35
+ let hasCleanup = false;
36
+ const cleanups = refs.map((ref) => {
37
+ const cleanup = setRef(ref, node);
38
+ if (!hasCleanup && typeof cleanup == "function") {
39
+ hasCleanup = true;
40
+ }
41
+ return cleanup;
42
+ });
43
+ if (hasCleanup) {
44
+ return () => {
45
+ for (let i = 0; i < cleanups.length; i++) {
46
+ const cleanup = cleanups[i];
47
+ if (typeof cleanup == "function") {
48
+ cleanup();
49
+ } else {
50
+ setRef(refs[i], null);
51
+ }
52
+ }
53
+ };
54
+ }
55
+ };
56
+ }
57
+ function useComposedRefs(...refs) {
58
+ return React.useCallback(composeRefs(...refs), refs);
59
+ }
60
+
61
+ // ../../node_modules/.pnpm/@radix-ui+react-slot@1.2.3_@types+react@19.1.2_react@19.1.0/node_modules/@radix-ui/react-slot/dist/index.mjs
62
+ import { Fragment as Fragment2, jsx } from "react/jsx-runtime";
63
+ // @__NO_SIDE_EFFECTS__
64
+ function createSlot(ownerName) {
65
+ const SlotClone = /* @__PURE__ */ createSlotClone(ownerName);
66
+ const Slot2 = React2.forwardRef((props, forwardedRef) => {
67
+ const _a = props, { children } = _a, slotProps = __objRest(_a, ["children"]);
68
+ const childrenArray = React2.Children.toArray(children);
69
+ const slottable = childrenArray.find(isSlottable);
70
+ if (slottable) {
71
+ const newElement = slottable.props.children;
72
+ const newChildren = childrenArray.map((child) => {
73
+ if (child === slottable) {
74
+ if (React2.Children.count(newElement) > 1) return React2.Children.only(null);
75
+ return React2.isValidElement(newElement) ? newElement.props.children : null;
76
+ } else {
77
+ return child;
78
+ }
79
+ });
80
+ return /* @__PURE__ */ jsx(SlotClone, __spreadProps(__spreadValues({}, slotProps), { ref: forwardedRef, children: React2.isValidElement(newElement) ? React2.cloneElement(newElement, void 0, newChildren) : null }));
81
+ }
82
+ return /* @__PURE__ */ jsx(SlotClone, __spreadProps(__spreadValues({}, slotProps), { ref: forwardedRef, children }));
83
+ });
84
+ Slot2.displayName = `${ownerName}.Slot`;
85
+ return Slot2;
86
+ }
87
+ var Slot = /* @__PURE__ */ createSlot("Slot");
88
+ // @__NO_SIDE_EFFECTS__
89
+ function createSlotClone(ownerName) {
90
+ const SlotClone = React2.forwardRef((props, forwardedRef) => {
91
+ const _a = props, { children } = _a, slotProps = __objRest(_a, ["children"]);
92
+ if (React2.isValidElement(children)) {
93
+ const childrenRef = getElementRef(children);
94
+ const props2 = mergeProps(slotProps, children.props);
95
+ if (children.type !== React2.Fragment) {
96
+ props2.ref = forwardedRef ? composeRefs(forwardedRef, childrenRef) : childrenRef;
97
+ }
98
+ return React2.cloneElement(children, props2);
99
+ }
100
+ return React2.Children.count(children) > 1 ? React2.Children.only(null) : null;
101
+ });
102
+ SlotClone.displayName = `${ownerName}.SlotClone`;
103
+ return SlotClone;
104
+ }
105
+ var SLOTTABLE_IDENTIFIER = Symbol("radix.slottable");
106
+ // @__NO_SIDE_EFFECTS__
107
+ function createSlottable(ownerName) {
108
+ const Slottable2 = ({ children }) => {
109
+ return /* @__PURE__ */ jsx(Fragment2, { children });
110
+ };
111
+ Slottable2.displayName = `${ownerName}.Slottable`;
112
+ Slottable2.__radixId = SLOTTABLE_IDENTIFIER;
113
+ return Slottable2;
114
+ }
115
+ function isSlottable(child) {
116
+ return React2.isValidElement(child) && typeof child.type === "function" && "__radixId" in child.type && child.type.__radixId === SLOTTABLE_IDENTIFIER;
117
+ }
118
+ function mergeProps(slotProps, childProps) {
119
+ const overrideProps = __spreadValues({}, childProps);
120
+ for (const propName in childProps) {
121
+ const slotPropValue = slotProps[propName];
122
+ const childPropValue = childProps[propName];
123
+ const isHandler = /^on[A-Z]/.test(propName);
124
+ if (isHandler) {
125
+ if (slotPropValue && childPropValue) {
126
+ overrideProps[propName] = (...args) => {
127
+ const result = childPropValue(...args);
128
+ slotPropValue(...args);
129
+ return result;
130
+ };
131
+ } else if (slotPropValue) {
132
+ overrideProps[propName] = slotPropValue;
133
+ }
134
+ } else if (propName === "style") {
135
+ overrideProps[propName] = __spreadValues(__spreadValues({}, slotPropValue), childPropValue);
136
+ } else if (propName === "className") {
137
+ overrideProps[propName] = [slotPropValue, childPropValue].filter(Boolean).join(" ");
138
+ }
139
+ }
140
+ return __spreadValues(__spreadValues({}, slotProps), overrideProps);
141
+ }
142
+ function getElementRef(element) {
143
+ var _a, _b;
144
+ let getter = (_a = Object.getOwnPropertyDescriptor(element.props, "ref")) == null ? void 0 : _a.get;
145
+ let mayWarn = getter && "isReactWarning" in getter && getter.isReactWarning;
146
+ if (mayWarn) {
147
+ return element.ref;
148
+ }
149
+ getter = (_b = Object.getOwnPropertyDescriptor(element, "ref")) == null ? void 0 : _b.get;
150
+ mayWarn = getter && "isReactWarning" in getter && getter.isReactWarning;
151
+ if (mayWarn) {
152
+ return element.props.ref;
153
+ }
154
+ return element.props.ref || element.ref;
155
+ }
156
+
157
+ // ../base-ui/src/ui/button.tsx
158
+ import { cva } from "class-variance-authority";
159
+ import { jsx as jsx2, jsxs } from "react/jsx-runtime";
160
+ var buttonVariants = cva(
161
+ "inline-flex items-center gap-2 whitespace-nowrap rounded-md text-sm ring-offset-background transition-colors focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",
162
+ {
163
+ variants: {
164
+ variant: {
165
+ default: "bg-primary text-primary-foreground hover:bg-primary/90",
166
+ destructive: "bg-destructive text-destructive-foreground hover:bg-destructive/90",
167
+ outline: "border border-input bg-background hover:bg-accent hover:text-accent-foreground",
168
+ secondary: "bg-secondary text-secondary-foreground hover:bg-secondary/80",
169
+ ghost: "hover:bg-accent hover:text-accent-foreground",
170
+ link: "text-primary underline-offset-4 hover:underline"
171
+ },
172
+ size: {
173
+ default: "h-10 px-4 py-2",
174
+ sm: "h-9 rounded-md px-3",
175
+ lg: "h-11 rounded-md px-8",
176
+ icon: "h-10 w-10"
177
+ }
178
+ },
179
+ defaultVariants: {
180
+ variant: "default",
181
+ size: "default"
182
+ }
183
+ }
184
+ );
185
+ var Button = React3.forwardRef(
186
+ (_a, ref) => {
187
+ var _b = _a, { className, variant, size, asChild = false, loading = false, children } = _b, props = __objRest(_b, ["className", "variant", "size", "asChild", "loading", "children"]);
188
+ const Comp = asChild ? Slot : "button";
189
+ if (asChild) {
190
+ return /* @__PURE__ */ jsx2(
191
+ Comp,
192
+ __spreadProps(__spreadValues({
193
+ className: cn(buttonVariants({ variant, size, className })),
194
+ ref,
195
+ disabled: loading || props.disabled
196
+ }, props), {
197
+ children
198
+ })
199
+ );
200
+ }
201
+ return /* @__PURE__ */ jsxs(
202
+ Comp,
203
+ __spreadProps(__spreadValues({
204
+ className: cn(buttonVariants({ variant, size, className })),
205
+ ref,
206
+ disabled: loading || props.disabled
207
+ }, props), {
208
+ children: [
209
+ children,
210
+ loading && /* @__PURE__ */ jsx2(globalLucideIcons.Loader2, { className: "ml-2 h-4 w-4 animate-spin" })
211
+ ]
212
+ })
213
+ );
214
+ }
215
+ );
216
+ Button.displayName = "Button";
217
+
218
+ export {
219
+ cn,
220
+ useComposedRefs,
221
+ createSlot,
222
+ createSlottable,
223
+ buttonVariants,
224
+ Button
225
+ };
226
+ //# sourceMappingURL=chunk-NV3UQTCW.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../lib/src/utils.ts","../../base-ui/src/ui/button.tsx","../../../node_modules/.pnpm/@radix-ui+react-slot@1.2.3_@types+react@19.1.2_react@19.1.0/node_modules/@radix-ui/react-slot/src/slot.tsx","../../../node_modules/.pnpm/@radix-ui+react-compose-refs@1.1.2_@types+react@19.1.2_react@19.1.0/node_modules/@radix-ui/react-compose-refs/src/compose-refs.tsx"],"sourcesContent":["import type * as React from \"react\";\nimport { clsx, type ClassValue } from \"clsx\"\nimport { twMerge } from \"tailwind-merge\"\nimport { format, isValid } from 'date-fns';\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs))\n}\n\nexport function formatTimestamp(timestamp: string, formatter: string) {\n const fail = \"\";\n if (!timestamp) {\n return fail;\n }\n\n // Assume gitTimestamp is a millisecond timestamp string\n const timestampMs = parseInt(timestamp, 10);\n if (isNaN(timestampMs)) {\n return fail;\n }\n\n const date = new Date(timestampMs); // or if it is determined to be seconds, use fromUnixTime(timestampSeconds)\n\n // Check if the date is valid\n if (!isValid(date)) {\n return fail;\n }\n\n // Format the date\n try {\n // 'yyyy-MM-dd HH:mm:ss' is the date-fns formatting pattern\n return format(date, formatter);\n } catch (error) {\n // format may also throw an error due to an invalid date (although isValid should have already caught it)\n console.error(\"Error formatting date:\", error);\n return fail;\n }\n} \n\n// Only allow pasting plain text, prohibit style content\nexport function handlePastePlainText(e: React.ClipboardEvent<HTMLElement>) {\n e.preventDefault();\n const text = e.clipboardData.getData('text/plain');\n const selection = window.getSelection();\n if (!selection || !selection.rangeCount) return;\n // Delete the current selected content\n selection.deleteFromDocument();\n // Insert plain text\n const textNode = document.createTextNode(text);\n const range = selection.getRangeAt(0);\n range.insertNode(textNode);\n // Move the cursor to the inserted text\n range.setStartAfter(textNode);\n range.collapse(true);\n selection.removeAllRanges();\n selection.addRange(range);\n}","'use client';\nimport * as React from \"react\"\nimport { Slot } from \"@radix-ui/react-slot\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\nimport { globalLucideIcons as icons } from \"@base-ui/components/global-icon\"\nimport { cn } from \"@lib/utils\"\n\nconst buttonVariants = cva(\n \"inline-flex items-center gap-2 whitespace-nowrap rounded-md text-sm ring-offset-background transition-colors focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0\",\n {\n variants: {\n variant: {\n default: \"bg-primary text-primary-foreground hover:bg-primary/90\",\n destructive:\n \"bg-destructive text-destructive-foreground hover:bg-destructive/90\",\n outline:\n \"border border-input bg-background hover:bg-accent hover:text-accent-foreground\",\n secondary:\n \"bg-secondary text-secondary-foreground hover:bg-secondary/80\",\n ghost: \"hover:bg-accent hover:text-accent-foreground\",\n link: \"text-primary underline-offset-4 hover:underline\",\n },\n size: {\n default: \"h-10 px-4 py-2\",\n sm: \"h-9 rounded-md px-3\",\n lg: \"h-11 rounded-md px-8\",\n icon: \"h-10 w-10\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\",\n },\n }\n)\n\nexport interface ButtonProps\n extends React.ButtonHTMLAttributes<HTMLButtonElement>,\n VariantProps<typeof buttonVariants> {\n asChild?: boolean\n loading?: boolean\n align?: 'left' | 'center' | 'right'\n}\n\nconst Button = React.forwardRef<HTMLButtonElement, ButtonProps>(\n ({ className, variant, size, asChild = false, loading = false, children, ...props }, ref) => {\n const Comp = asChild ? Slot : \"button\"\n \n if (asChild) {\n return (\n <Comp\n className={cn(buttonVariants({ variant, size, className }))}\n ref={ref}\n disabled={loading || props.disabled}\n {...props}\n >\n {children}\n </Comp>\n )\n }\n\n return (\n <Comp\n className={cn(buttonVariants({ variant, size, className }))}\n ref={ref}\n disabled={loading || props.disabled}\n {...props}\n >\n {children}\n {loading && <icons.Loader2 className=\"ml-2 h-4 w-4 animate-spin\" />}\n </Comp>\n )\n }\n)\nButton.displayName = \"Button\"\n\nexport { Button, buttonVariants }\n","import * as React from 'react';\nimport { composeRefs } from '@radix-ui/react-compose-refs';\n\n/* -------------------------------------------------------------------------------------------------\n * Slot\n * -----------------------------------------------------------------------------------------------*/\n\ninterface SlotProps extends React.HTMLAttributes<HTMLElement> {\n children?: React.ReactNode;\n}\n\n/* @__NO_SIDE_EFFECTS__ */ export function createSlot(ownerName: string) {\n const SlotClone = createSlotClone(ownerName);\n const Slot = React.forwardRef<HTMLElement, SlotProps>((props, forwardedRef) => {\n const { children, ...slotProps } = props;\n const childrenArray = React.Children.toArray(children);\n const slottable = childrenArray.find(isSlottable);\n\n if (slottable) {\n // the new element to render is the one passed as a child of `Slottable`\n const newElement = slottable.props.children;\n\n const newChildren = childrenArray.map((child) => {\n if (child === slottable) {\n // because the new element will be the one rendered, we are only interested\n // in grabbing its children (`newElement.props.children`)\n if (React.Children.count(newElement) > 1) return React.Children.only(null);\n return React.isValidElement(newElement)\n ? (newElement.props as { children: React.ReactNode }).children\n : null;\n } else {\n return child;\n }\n });\n\n return (\n <SlotClone {...slotProps} ref={forwardedRef}>\n {React.isValidElement(newElement)\n ? React.cloneElement(newElement, undefined, newChildren)\n : null}\n </SlotClone>\n );\n }\n\n return (\n <SlotClone {...slotProps} ref={forwardedRef}>\n {children}\n </SlotClone>\n );\n });\n\n Slot.displayName = `${ownerName}.Slot`;\n return Slot;\n}\n\nconst Slot = createSlot('Slot');\n\n/* -------------------------------------------------------------------------------------------------\n * SlotClone\n * -----------------------------------------------------------------------------------------------*/\n\ninterface SlotCloneProps {\n children: React.ReactNode;\n}\n\n/* @__NO_SIDE_EFFECTS__ */ function createSlotClone(ownerName: string) {\n const SlotClone = React.forwardRef<any, SlotCloneProps>((props, forwardedRef) => {\n const { children, ...slotProps } = props;\n\n if (React.isValidElement(children)) {\n const childrenRef = getElementRef(children);\n const props = mergeProps(slotProps, children.props as AnyProps);\n // do not pass ref to React.Fragment for React 19 compatibility\n if (children.type !== React.Fragment) {\n props.ref = forwardedRef ? composeRefs(forwardedRef, childrenRef) : childrenRef;\n }\n return React.cloneElement(children, props);\n }\n\n return React.Children.count(children) > 1 ? React.Children.only(null) : null;\n });\n\n SlotClone.displayName = `${ownerName}.SlotClone`;\n return SlotClone;\n}\n\n/* -------------------------------------------------------------------------------------------------\n * Slottable\n * -----------------------------------------------------------------------------------------------*/\n\nconst SLOTTABLE_IDENTIFIER = Symbol('radix.slottable');\n\ninterface SlottableProps {\n children: React.ReactNode;\n}\n\ninterface SlottableComponent extends React.FC<SlottableProps> {\n __radixId: symbol;\n}\n\n/* @__NO_SIDE_EFFECTS__ */ export function createSlottable(ownerName: string) {\n const Slottable: SlottableComponent = ({ children }) => {\n return <>{children}</>;\n };\n Slottable.displayName = `${ownerName}.Slottable`;\n Slottable.__radixId = SLOTTABLE_IDENTIFIER;\n return Slottable;\n}\n\nconst Slottable = createSlottable('Slottable');\n\n/* ---------------------------------------------------------------------------------------------- */\n\ntype AnyProps = Record<string, any>;\n\nfunction isSlottable(\n child: React.ReactNode\n): child is React.ReactElement<SlottableProps, typeof Slottable> {\n return (\n React.isValidElement(child) &&\n typeof child.type === 'function' &&\n '__radixId' in child.type &&\n child.type.__radixId === SLOTTABLE_IDENTIFIER\n );\n}\n\nfunction mergeProps(slotProps: AnyProps, childProps: AnyProps) {\n // all child props should override\n const overrideProps = { ...childProps };\n\n for (const propName in childProps) {\n const slotPropValue = slotProps[propName];\n const childPropValue = childProps[propName];\n\n const isHandler = /^on[A-Z]/.test(propName);\n if (isHandler) {\n // if the handler exists on both, we compose them\n if (slotPropValue && childPropValue) {\n overrideProps[propName] = (...args: unknown[]) => {\n const result = childPropValue(...args);\n slotPropValue(...args);\n return result;\n };\n }\n // but if it exists only on the slot, we use only this one\n else if (slotPropValue) {\n overrideProps[propName] = slotPropValue;\n }\n }\n // if it's `style`, we merge them\n else if (propName === 'style') {\n overrideProps[propName] = { ...slotPropValue, ...childPropValue };\n } else if (propName === 'className') {\n overrideProps[propName] = [slotPropValue, childPropValue].filter(Boolean).join(' ');\n }\n }\n\n return { ...slotProps, ...overrideProps };\n}\n\n// Before React 19 accessing `element.props.ref` will throw a warning and suggest using `element.ref`\n// After React 19 accessing `element.ref` does the opposite.\n// https://github.com/facebook/react/pull/28348\n//\n// Access the ref using the method that doesn't yield a warning.\nfunction getElementRef(element: React.ReactElement) {\n // React <=18 in DEV\n let getter = Object.getOwnPropertyDescriptor(element.props, 'ref')?.get;\n let mayWarn = getter && 'isReactWarning' in getter && getter.isReactWarning;\n if (mayWarn) {\n return (element as any).ref;\n }\n\n // React 19 in DEV\n getter = Object.getOwnPropertyDescriptor(element, 'ref')?.get;\n mayWarn = getter && 'isReactWarning' in getter && getter.isReactWarning;\n if (mayWarn) {\n return (element.props as { ref?: React.Ref<unknown> }).ref;\n }\n\n // Not DEV\n return (element.props as { ref?: React.Ref<unknown> }).ref || (element as any).ref;\n}\n\nexport {\n Slot,\n Slottable,\n //\n Slot as Root,\n};\nexport type { SlotProps };\n","import * as React from 'react';\n\ntype PossibleRef<T> = React.Ref<T> | undefined;\n\n/**\n * Set a given ref to a given value\n * This utility takes care of different types of refs: callback refs and RefObject(s)\n */\nfunction setRef<T>(ref: PossibleRef<T>, value: T) {\n if (typeof ref === 'function') {\n return ref(value);\n } else if (ref !== null && ref !== undefined) {\n ref.current = value;\n }\n}\n\n/**\n * A utility to compose multiple refs together\n * Accepts callback refs and RefObject(s)\n */\nfunction composeRefs<T>(...refs: PossibleRef<T>[]): React.RefCallback<T> {\n return (node) => {\n let hasCleanup = false;\n const cleanups = refs.map((ref) => {\n const cleanup = setRef(ref, node);\n if (!hasCleanup && typeof cleanup == 'function') {\n hasCleanup = true;\n }\n return cleanup;\n });\n\n // React <19 will log an error to the console if a callback ref returns a\n // value. We don't use ref cleanups internally so this will only happen if a\n // user's ref callback returns a value, which we only expect if they are\n // using the cleanup functionality added in React 19.\n if (hasCleanup) {\n return () => {\n for (let i = 0; i < cleanups.length; i++) {\n const cleanup = cleanups[i];\n if (typeof cleanup == 'function') {\n cleanup();\n } else {\n setRef(refs[i], null);\n }\n }\n };\n }\n };\n}\n\n/**\n * A custom hook that composes multiple refs\n * Accepts callback refs and RefObject(s)\n */\nfunction useComposedRefs<T>(...refs: PossibleRef<T>[]): React.RefCallback<T> {\n // eslint-disable-next-line react-hooks/exhaustive-deps\n return React.useCallback(composeRefs(...refs), refs);\n}\n\nexport { composeRefs, useComposedRefs };\n"],"mappings":"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","names":["React","React","Fragment","Slot","props","Slottable","Fragment","jsx"]}
@@ -0,0 +1,126 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }/* eslint-disable */
2
+
3
+
4
+ var _chunk6MM7HLNXjs = require('./chunk-6MM7HLNX.js');
5
+
6
+
7
+ var _chunkW7K5Y2WRjs = require('./chunk-W7K5Y2WR.js');
8
+
9
+
10
+
11
+
12
+ var _chunkLZLW5WCCjs = require('./chunk-LZLW5WCC.js');
13
+
14
+ // src/fuma/mdx/gradient-button.tsx
15
+ var _link = require('next/link'); var _link2 = _interopRequireDefault(_link);
16
+ var _react = require('react'); var _react2 = _interopRequireDefault(_react);
17
+ var _jsxruntime = require('react/jsx-runtime');
18
+ function GradientButton({
19
+ title,
20
+ icon,
21
+ align = "left",
22
+ disabled = false,
23
+ className = "",
24
+ href,
25
+ openInNewTab = true,
26
+ onClick,
27
+ loadingText,
28
+ preventDoubleClick = true
29
+ }) {
30
+ const [isLoading, setIsLoading] = _react.useState.call(void 0, false);
31
+ const actualLoadingText = loadingText || (title == null ? void 0 : title.toString().trim()) || "Loading...";
32
+ const getAlignmentClass = () => {
33
+ switch (align) {
34
+ case "center":
35
+ return "justify-center";
36
+ case "right":
37
+ return "justify-end";
38
+ default:
39
+ return "justify-start";
40
+ }
41
+ };
42
+ const handleClick = (e) => _chunkLZLW5WCCjs.__async.call(void 0, null, null, function* () {
43
+ if (disabled || isLoading) {
44
+ e.preventDefault();
45
+ return;
46
+ }
47
+ if (onClick) {
48
+ e.preventDefault();
49
+ if (preventDoubleClick) {
50
+ setIsLoading(true);
51
+ }
52
+ try {
53
+ yield onClick();
54
+ } catch (error) {
55
+ console.error("GradientButton onClick error:", error);
56
+ } finally {
57
+ if (preventDoubleClick) {
58
+ setIsLoading(false);
59
+ }
60
+ }
61
+ }
62
+ });
63
+ const isDisabled = disabled || isLoading;
64
+ const displayTitle = isLoading ? actualLoadingText : title;
65
+ const displayIcon = isLoading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkW7K5Y2WRjs.globalLucideIcons.Loader2, { className: "h-4 w-4 text-white animate-spin" }) : icon ? _react2.default.cloneElement(icon, {
66
+ className: "h-4 w-4 text-white"
67
+ }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkW7K5Y2WRjs.globalLucideIcons.ArrowRight, { className: "h-4 w-4 text-white" });
68
+ const buttonContent = onClick ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
69
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: displayIcon }),
70
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "ml-1", children: displayTitle })
71
+ ] }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
72
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: displayTitle }),
73
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "ml-1", children: displayIcon })
74
+ ] });
75
+ const buttonClassName = `
76
+ bg-gradient-to-r
77
+ from-purple-400 to-pink-500
78
+ hover:from-purple-500 hover:to-pink-600
79
+ dark:from-purple-500 dark:to-pink-600
80
+ dark:hover:from-purple-600 dark:hover:to-pink-700
81
+ text-white text-base font-bold shadow-lg hover:shadow-xl
82
+ transition-all duration-300
83
+ rounded-full
84
+ ${isDisabled ? "opacity-50 cursor-not-allowed" : ""}
85
+ ${className}
86
+ `;
87
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: `flex flex-col sm:flex-row gap-3 ${getAlignmentClass()}`, children: onClick ? (
88
+ // for click
89
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
90
+ _chunk6MM7HLNXjs.Button,
91
+ {
92
+ size: "lg",
93
+ className: buttonClassName,
94
+ onClick: handleClick,
95
+ disabled: isDisabled,
96
+ children: buttonContent
97
+ }
98
+ )
99
+ ) : (
100
+ // for Link
101
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
102
+ _chunk6MM7HLNXjs.Button,
103
+ {
104
+ asChild: true,
105
+ size: "lg",
106
+ className: buttonClassName,
107
+ disabled: isDisabled,
108
+ children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
109
+ _link2.default,
110
+ _chunkLZLW5WCCjs.__spreadProps.call(void 0, _chunkLZLW5WCCjs.__spreadValues.call(void 0, {
111
+ href: href || "#",
112
+ className: "no-underline hover:no-underline"
113
+ }, openInNewTab ? { target: "_blank", rel: "noopener noreferrer" } : {}), {
114
+ onClick: isDisabled ? (e) => e.preventDefault() : void 0,
115
+ children: buttonContent
116
+ })
117
+ )
118
+ }
119
+ )
120
+ ) });
121
+ }
122
+
123
+
124
+
125
+ exports.GradientButton = GradientButton;
126
+ //# sourceMappingURL=chunk-TBXDOQXP.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/Users/funeye/IdeaProjects/next-ai-build/packages/third-ui/dist/chunk-TBXDOQXP.js","../src/fuma/mdx/gradient-button.tsx"],"names":[],"mappings":"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","file":"/Users/funeye/IdeaProjects/next-ai-build/packages/third-ui/dist/chunk-TBXDOQXP.js","sourcesContent":[null,"'use client';\nimport { Button } from \"@base-ui/ui/button\";\nimport { globalLucideIcons as icons } from \"@base-ui/components/global-icon\";\nimport Link from \"next/link\";\nimport React, { useState } from 'react';\n\nexport interface GradientButtonProps {\n title: React.ReactNode;\n icon?: React.ReactNode;\n align?: 'left' | 'center' | 'right';\n disabled?: boolean;\n className?: string;\n // for Link\n href?: string;\n openInNewTab?: boolean;\n \n // for click\n onClick?: () => void | Promise<void>;\n loadingText?: React.ReactNode;\n preventDoubleClick?: boolean;\n}\n\nexport function GradientButton({\n title,\n icon,\n align = 'left',\n disabled = false,\n className = \"\",\n href,\n openInNewTab = true,\n onClick,\n loadingText,\n preventDoubleClick = true,\n}: GradientButtonProps) {\n const [isLoading, setIsLoading] = useState(false);\n const actualLoadingText = loadingText || title?.toString().trim() || 'Loading...'\n\n // set justify class according to alignment\n const getAlignmentClass = () => {\n switch (align) {\n case 'center':\n return 'justify-center';\n case 'right':\n return 'justify-end';\n default: // 'left'\n return 'justify-start';\n }\n };\n\n const handleClick = async (e: React.MouseEvent) => {\n if (disabled || isLoading) {\n e.preventDefault();\n return;\n }\n\n if (onClick) {\n e.preventDefault();\n \n if (preventDoubleClick) {\n setIsLoading(true);\n }\n \n try {\n await onClick();\n } catch (error) {\n console.error('GradientButton onClick error:', error);\n } finally {\n if (preventDoubleClick) {\n setIsLoading(false);\n }\n }\n }\n };\n\n const isDisabled = disabled || isLoading;\n\n const displayTitle = isLoading ? actualLoadingText : title;\n\n // icon\n const displayIcon = isLoading ? (\n <icons.Loader2 className=\"h-4 w-4 text-white animate-spin\" />\n ) : icon ? (\n React.cloneElement(icon as React.ReactElement<{ className?: string }>, { \n className: \"h-4 w-4 text-white\" \n })\n ) : (\n <icons.ArrowRight className=\"h-4 w-4 text-white\" />\n );\n\n const buttonContent = onClick ? (\n <>\n <span>{displayIcon}</span>\n <span className=\"ml-1\">{displayTitle}</span>\n </>\n ) : (\n <>\n <span>{displayTitle}</span>\n <span className=\"ml-1\">{displayIcon}</span>\n </>\n );\n\n const buttonClassName = `\n bg-gradient-to-r \n from-purple-400 to-pink-500 \n hover:from-purple-500 hover:to-pink-600\n dark:from-purple-500 dark:to-pink-600 \n dark:hover:from-purple-600 dark:hover:to-pink-700\n text-white text-base font-bold shadow-lg hover:shadow-xl\n transition-all duration-300\n rounded-full\n ${isDisabled ? 'opacity-50 cursor-not-allowed' : ''}\n ${className}\n `;\n\n return (\n <div className={`flex flex-col sm:flex-row gap-3 ${getAlignmentClass()}`}>\n {onClick ? (\n // for click\n <Button\n size=\"lg\"\n className={buttonClassName}\n onClick={handleClick}\n disabled={isDisabled}\n >\n {buttonContent}\n </Button>\n ) : (\n // for Link\n <Button\n asChild\n size=\"lg\"\n className={buttonClassName}\n disabled={isDisabled}\n >\n <Link\n href={href || \"#\"}\n className=\"no-underline hover:no-underline\"\n {...(openInNewTab ? { target: \"_blank\", rel: \"noopener noreferrer\" } : {})}\n onClick={isDisabled ? (e) => e.preventDefault() : undefined}\n >\n {buttonContent}\n </Link>\n </Button>\n )}\n </div>\n );\n} "]}