@pagelines/sdk 1.0.663 → 1.0.665

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 (66) hide show
  1. package/dist/AgentProvider.vue_vue_type_script_setup_true_lang.js +4208 -0
  2. package/dist/AgentProvider.vue_vue_type_script_setup_true_lang.js.map +1 -0
  3. package/dist/AgentWidgetInline.js +32 -44
  4. package/dist/AgentWidgetInline.js.map +1 -1
  5. package/dist/AgentWidgetModal.js +64 -75
  6. package/dist/AgentWidgetModal.js.map +1 -1
  7. package/dist/AgentWidgetOnboard.js +5 -0
  8. package/dist/AgentWidgetOnboard.js.map +1 -0
  9. package/dist/AgentWrap.vue_vue_type_script_setup_true_lang.js +5098 -0
  10. package/dist/AgentWrap.vue_vue_type_script_setup_true_lang.js.map +1 -0
  11. package/dist/FModal.vue_vue_type_script_setup_true_lang.js +181 -0
  12. package/dist/FModal.vue_vue_type_script_setup_true_lang.js.map +1 -0
  13. package/dist/agent/test/AgentController.test.d.ts +1 -0
  14. package/dist/agent/test/ChatRichText.client.test.d.ts +1 -0
  15. package/dist/agent/test/ChatVisualBlock.client.test.d.ts +1 -0
  16. package/dist/agent/test/ElAgentChat.client.test.d.ts +1 -0
  17. package/dist/agent/test/ElAgentChatPreview.client.test.d.ts +1 -0
  18. package/dist/agent/test/VoiceRecorderController.unit.test.d.ts +1 -0
  19. package/dist/agent/test/auth-inputs.test.d.ts +1 -0
  20. package/dist/agent/test/chat-visual-format.unit.test.d.ts +1 -0
  21. package/dist/agent/test/utils.test.d.ts +1 -0
  22. package/dist/agent/test/webhook.test.d.ts +1 -0
  23. package/dist/agent.js +186 -157
  24. package/dist/agent.js.map +1 -1
  25. package/dist/contract/regenerate.d.ts +2 -0
  26. package/dist/contract/test/build.unit.test.d.ts +1 -0
  27. package/dist/contract/test/conversation-wire-shapes.unit.test.d.ts +14 -0
  28. package/dist/contract/test/snapshot.unit.test.d.ts +1 -0
  29. package/dist/demo.js +259 -242
  30. package/dist/demo.js.map +1 -1
  31. package/dist/index.js +872 -0
  32. package/dist/index.js.map +1 -0
  33. package/dist/sdk.css +1 -2
  34. package/dist/sdk.js +14 -4
  35. package/dist/sdk.js.map +1 -0
  36. package/dist/sdkClient.js +867 -775
  37. package/dist/sdkClient.js.map +1 -1
  38. package/dist/socialPlatforms.js +82 -0
  39. package/dist/socialPlatforms.js.map +1 -0
  40. package/dist/test/agent-client.test.d.ts +4 -0
  41. package/dist/test/api.test.d.ts +1 -0
  42. package/dist/test/billing-client.test.d.ts +4 -0
  43. package/dist/test/build.test.d.ts +1 -0
  44. package/dist/test/chat-authenticated.test.d.ts +1 -0
  45. package/dist/test/chat-issue-presentation.test.d.ts +1 -0
  46. package/dist/test/derive-mode.test.d.ts +1 -0
  47. package/dist/test/sdk-token-capture.test.d.ts +13 -0
  48. package/dist/vite.config.sdk.d.ts +2 -0
  49. package/dist/vitest.config.d.ts +2 -0
  50. package/dist/widget.js +7 -721
  51. package/dist/widget.js.map +1 -1
  52. package/package.json +12 -12
  53. package/dist/AgentProvider.js +0 -2782
  54. package/dist/AgentProvider.js.map +0 -1
  55. package/dist/AgentWrap.js +0 -5251
  56. package/dist/AgentWrap.js.map +0 -1
  57. package/dist/FModal.js +0 -165
  58. package/dist/FModal.js.map +0 -1
  59. package/dist/constants.js +0 -80
  60. package/dist/constants.js.map +0 -1
  61. package/dist/contract.js +0 -6271
  62. package/dist/contract.js.map +0 -1
  63. package/dist/node_modules/.vue-global-types/vue_3.5_false.d.ts +0 -4
  64. package/dist/rolldown-runtime.js +0 -14
  65. package/dist/useWidgetState.js +0 -21
  66. package/dist/useWidgetState.js.map +0 -1
@@ -1,2782 +0,0 @@
1
- import "./rolldown-runtime.js";
2
- import { SOCIAL_PLATFORMS as e } from "./constants.js";
3
- import { a as t, c as n, d as r, f as i, i as a, l as o, m as s, n as c, o as l, s as u, t as d, u as f } from "./AgentWrap.js";
4
- import { getColorSchemeOklch as p } from "@pagelines/core";
5
- import { Fragment as m, Transition as h, TransitionGroup as g, computed as _, createBlock as v, createCommentVNode as y, createElementBlock as b, createElementVNode as x, createTextVNode as S, createVNode as C, defineComponent as w, mergeProps as T, normalizeClass as E, normalizeStyle as D, onMounted as O, onUnmounted as ee, openBlock as k, ref as A, renderList as j, renderSlot as M, resolveDynamicComponent as N, shallowRef as te, toDisplayString as P, unref as F, watch as I, withCtx as L, withKeys as R, withModifiers as z } from "vue";
6
- //#endregion
7
- //#region ../../src/ui/effects/EffectTransitionList.vue
8
- var B = /* @__PURE__ */ w({
9
- __name: "EffectTransitionList",
10
- props: {
11
- disabled: {
12
- type: Boolean,
13
- default: !1
14
- },
15
- mode: { default: "block" }
16
- },
17
- setup(e) {
18
- return (t, n) => (k(), v(g, { name: e.disabled ? "" : "nlist" }, {
19
- default: L(() => [M(t.$slots, "default")]),
20
- _: 3
21
- }, 8, ["name"]));
22
- }
23
- }), V = ["data-test-mode"], H = { class: "w-full max-w-xs space-y-12" }, U = {
24
- key: 0,
25
- class: "text-xs text-theme-400 text-center"
26
- }, W = { class: "text-base font-light text-white text-center" }, G = { class: "space-y-6 relative" }, ne = {
27
- key: "email-field",
28
- class: "w-full"
29
- }, re = {
30
- key: "code-field",
31
- class: "w-full"
32
- }, K = /* @__PURE__ */ w({
33
- __name: "ElAuthGate",
34
- props: { sdk: {} },
35
- setup(e) {
36
- let n = A({
37
- email: "",
38
- code: ""
39
- }), r = A("email"), i = A(!1), a = {
40
- email: {
41
- title: "Enter Your Email",
42
- button: {
43
- label: "Continue",
44
- disabled: () => !n.value.email || i.value
45
- },
46
- action: async () => {
47
- if (!i.value) {
48
- i.value = !0;
49
- try {
50
- await e.sdk.auth.requestAuthCode({ email: n.value.email }) && (r.value = "code");
51
- } finally {
52
- i.value = !1;
53
- }
54
- }
55
- }
56
- },
57
- code: {
58
- title: "Enter Verification Code",
59
- button: {
60
- label: "Verify",
61
- disabled: () => n.value.code.length !== 6 || i.value
62
- },
63
- action: async () => {
64
- if (!i.value) {
65
- i.value = !0;
66
- try {
67
- await e.sdk.auth.loginWithCode({
68
- email: n.value.email,
69
- code: n.value.code
70
- });
71
- } finally {
72
- i.value = !1;
73
- }
74
- }
75
- }
76
- }
77
- }, o = _(() => a[r.value]);
78
- return I(() => e.sdk.activeUser.value, (e) => {
79
- e && r.value === "code" && console.log("[ElAuthGate] Authentication successful", { email: e.email });
80
- }), (i, a) => (k(), b("div", {
81
- "data-test": "auth-form",
82
- "data-test-mode": r.value,
83
- class: "flex flex-col items-center justify-center h-full p-6"
84
- }, [x("div", H, [
85
- e.sdk.error.value ? (k(), b("p", U, P(e.sdk.error.value), 1)) : y("", !0),
86
- x("h3", W, P(o.value.title), 1),
87
- x("div", G, [C(B, null, {
88
- default: L(() => [r.value === "email" ? (k(), b("div", ne, [C(l, {
89
- modelValue: n.value.email,
90
- "onUpdate:modelValue": a[0] || (a[0] = (e) => n.value.email = e),
91
- "data-test": "auth-email-input",
92
- onKeyup: R(o.value.action, ["enter"])
93
- }, null, 8, ["modelValue", "onKeyup"])])) : (k(), b("div", re, [C(t, {
94
- modelValue: n.value.code,
95
- "onUpdate:modelValue": a[1] || (a[1] = (e) => n.value.code = e),
96
- length: 6,
97
- "focus-first": !0,
98
- "data-test": "auth-code-input",
99
- onAutoSubmit: o.value.action
100
- }, null, 8, ["modelValue", "onAutoSubmit"])])), (k(), b("div", {
101
- key: o.value.button.label,
102
- class: "space-y-4 w-full"
103
- }, [C(u, {
104
- theme: "primary",
105
- size: "md",
106
- class: "w-full",
107
- "data-test": "auth-submit",
108
- loading: e.sdk.loading.value,
109
- disabled: o.value.button.disabled() || e.sdk.loading.value,
110
- onClick: o.value.action
111
- }, {
112
- default: L(() => [S(P(o.value.button.label), 1)]),
113
- _: 1
114
- }, 8, [
115
- "loading",
116
- "disabled",
117
- "onClick"
118
- ]), r.value === "code" ? (k(), b("button", {
119
- key: 0,
120
- class: "w-full text-xs text-white/50 hover:text-white/70 transition-colors py-2",
121
- onClick: a[2] || (a[2] = (e) => r.value = "email")
122
- }, " Change Email ")) : y("", !0)]))]),
123
- _: 1
124
- })])
125
- ])], 8, V));
126
- }
127
- }), concatArrays = (e, t) => {
128
- let n = Array(e.length + t.length);
129
- for (let t = 0; t < e.length; t++) n[t] = e[t];
130
- for (let r = 0; r < t.length; r++) n[e.length + r] = t[r];
131
- return n;
132
- }, createClassValidatorObject = (e, t) => ({
133
- classGroupId: e,
134
- validator: t
135
- }), createClassPartObject = (e = /* @__PURE__ */ new Map(), t = null, n) => ({
136
- nextPart: e,
137
- validators: t,
138
- classGroupId: n
139
- }), q = "-", J = [], ie = "arbitrary..", createClassGroupUtils = (e) => {
140
- let t = createClassMap(e), { conflictingClassGroups: n, conflictingClassGroupModifiers: r } = e, getClassGroupId = (e) => {
141
- if (e.startsWith("[") && e.endsWith("]")) return getGroupIdForArbitraryProperty(e);
142
- let n = e.split(q);
143
- return getGroupRecursive(n, +(n[0] === "" && n.length > 1), t);
144
- }, getConflictingClassGroupIds = (e, t) => {
145
- if (t) {
146
- let t = r[e], i = n[e];
147
- return t ? i ? concatArrays(i, t) : t : i || J;
148
- }
149
- return n[e] || J;
150
- };
151
- return {
152
- getClassGroupId,
153
- getConflictingClassGroupIds
154
- };
155
- }, getGroupRecursive = (e, t, n) => {
156
- if (e.length - t === 0) return n.classGroupId;
157
- let r = e[t], i = n.nextPart.get(r);
158
- if (i) {
159
- let n = getGroupRecursive(e, t + 1, i);
160
- if (n) return n;
161
- }
162
- let a = n.validators;
163
- if (a === null) return;
164
- let o = t === 0 ? e.join(q) : e.slice(t).join(q), s = a.length;
165
- for (let e = 0; e < s; e++) {
166
- let t = a[e];
167
- if (t.validator(o)) return t.classGroupId;
168
- }
169
- }, getGroupIdForArbitraryProperty = (e) => e.slice(1, -1).indexOf(":") === -1 ? void 0 : (() => {
170
- let t = e.slice(1, -1), n = t.indexOf(":"), r = t.slice(0, n);
171
- return r ? ie + r : void 0;
172
- })(), createClassMap = (e) => {
173
- let { theme: t, classGroups: n } = e;
174
- return processClassGroups(n, t);
175
- }, processClassGroups = (e, t) => {
176
- let n = createClassPartObject();
177
- for (let r in e) {
178
- let i = e[r];
179
- processClassesRecursively(i, n, r, t);
180
- }
181
- return n;
182
- }, processClassesRecursively = (e, t, n, r) => {
183
- let i = e.length;
184
- for (let a = 0; a < i; a++) {
185
- let i = e[a];
186
- processClassDefinition(i, t, n, r);
187
- }
188
- }, processClassDefinition = (e, t, n, r) => {
189
- if (typeof e == "string") {
190
- processStringDefinition(e, t, n);
191
- return;
192
- }
193
- if (typeof e == "function") {
194
- processFunctionDefinition(e, t, n, r);
195
- return;
196
- }
197
- processObjectDefinition(e, t, n, r);
198
- }, processStringDefinition = (e, t, n) => {
199
- let r = e === "" ? t : getPart(t, e);
200
- r.classGroupId = n;
201
- }, processFunctionDefinition = (e, t, n, r) => {
202
- if (isThemeGetter(e)) {
203
- processClassesRecursively(e(r), t, n, r);
204
- return;
205
- }
206
- t.validators === null && (t.validators = []), t.validators.push(createClassValidatorObject(n, e));
207
- }, processObjectDefinition = (e, t, n, r) => {
208
- let i = Object.entries(e), a = i.length;
209
- for (let e = 0; e < a; e++) {
210
- let [a, o] = i[e];
211
- processClassesRecursively(o, getPart(t, a), n, r);
212
- }
213
- }, getPart = (e, t) => {
214
- let n = e, r = t.split(q), i = r.length;
215
- for (let e = 0; e < i; e++) {
216
- let t = r[e], i = n.nextPart.get(t);
217
- i || (i = createClassPartObject(), n.nextPart.set(t, i)), n = i;
218
- }
219
- return n;
220
- }, isThemeGetter = (e) => "isThemeGetter" in e && e.isThemeGetter === !0, createLruCache = (e) => {
221
- if (e < 1) return {
222
- get: () => void 0,
223
- set: () => {}
224
- };
225
- let t = 0, n = Object.create(null), r = Object.create(null), update = (i, a) => {
226
- n[i] = a, t++, t > e && (t = 0, r = n, n = Object.create(null));
227
- };
228
- return {
229
- get(e) {
230
- let t = n[e];
231
- if (t !== void 0) return t;
232
- if ((t = r[e]) !== void 0) return update(e, t), t;
233
- },
234
- set(e, t) {
235
- e in n ? n[e] = t : update(e, t);
236
- }
237
- };
238
- }, Y = "!", X = ":", ae = [], createResultObject = (e, t, n, r, i) => ({
239
- modifiers: e,
240
- hasImportantModifier: t,
241
- baseClassName: n,
242
- maybePostfixModifierPosition: r,
243
- isExternal: i
244
- }), createParseClassName = (e) => {
245
- let { prefix: t, experimentalParseClassName: n } = e, parseClassName = (e) => {
246
- let t = [], n = 0, r = 0, i = 0, a, o = e.length;
247
- for (let s = 0; s < o; s++) {
248
- let o = e[s];
249
- if (n === 0 && r === 0) {
250
- if (o === X) {
251
- t.push(e.slice(i, s)), i = s + 1;
252
- continue;
253
- }
254
- if (o === "/") {
255
- a = s;
256
- continue;
257
- }
258
- }
259
- o === "[" ? n++ : o === "]" ? n-- : o === "(" ? r++ : o === ")" && r--;
260
- }
261
- let s = t.length === 0 ? e : e.slice(i), c = s, l = !1;
262
- s.endsWith(Y) ? (c = s.slice(0, -1), l = !0) : s.startsWith(Y) && (c = s.slice(1), l = !0);
263
- let u = a && a > i ? a - i : void 0;
264
- return createResultObject(t, l, c, u);
265
- };
266
- if (t) {
267
- let e = t + X, n = parseClassName;
268
- parseClassName = (t) => t.startsWith(e) ? n(t.slice(e.length)) : createResultObject(ae, !1, t, void 0, !0);
269
- }
270
- if (n) {
271
- let e = parseClassName;
272
- parseClassName = (t) => n({
273
- className: t,
274
- parseClassName: e
275
- });
276
- }
277
- return parseClassName;
278
- }, createSortModifiers = (e) => {
279
- let t = /* @__PURE__ */ new Map();
280
- return e.orderSensitiveModifiers.forEach((e, n) => {
281
- t.set(e, 1e6 + n);
282
- }), (e) => {
283
- let n = [], r = [];
284
- for (let i = 0; i < e.length; i++) {
285
- let a = e[i], o = a[0] === "[", s = t.has(a);
286
- o || s ? (r.length > 0 && (r.sort(), n.push(...r), r = []), n.push(a)) : r.push(a);
287
- }
288
- return r.length > 0 && (r.sort(), n.push(...r)), n;
289
- };
290
- }, createConfigUtils = (e) => ({
291
- cache: createLruCache(e.cacheSize),
292
- parseClassName: createParseClassName(e),
293
- sortModifiers: createSortModifiers(e),
294
- postfixLookupClassGroupIds: createPostfixLookupClassGroupIds(e),
295
- ...createClassGroupUtils(e)
296
- }), createPostfixLookupClassGroupIds = (e) => {
297
- let t = Object.create(null), n = e.postfixLookupClassGroups;
298
- if (n) for (let e = 0; e < n.length; e++) t[n[e]] = !0;
299
- return t;
300
- }, oe = /\s+/, mergeClassList = (e, t) => {
301
- let { parseClassName: n, getClassGroupId: r, getConflictingClassGroupIds: i, sortModifiers: a, postfixLookupClassGroupIds: o } = t, s = [], c = e.trim().split(oe), l = "";
302
- for (let e = c.length - 1; e >= 0; --e) {
303
- let t = c[e], { isExternal: u, modifiers: d, hasImportantModifier: f, baseClassName: p, maybePostfixModifierPosition: m } = n(t);
304
- if (u) {
305
- l = t + (l.length > 0 ? " " + l : l);
306
- continue;
307
- }
308
- let h = !!m, g;
309
- if (h) {
310
- g = r(p.substring(0, m));
311
- let e = g && o[g] ? r(p) : void 0;
312
- e && e !== g && (g = e, h = !1);
313
- } else g = r(p);
314
- if (!g) {
315
- if (!h) {
316
- l = t + (l.length > 0 ? " " + l : l);
317
- continue;
318
- }
319
- if (g = r(p), !g) {
320
- l = t + (l.length > 0 ? " " + l : l);
321
- continue;
322
- }
323
- h = !1;
324
- }
325
- let _ = d.length === 0 ? "" : d.length === 1 ? d[0] : a(d).join(":"), v = f ? _ + Y : _, y = v + g;
326
- if (s.indexOf(y) > -1) continue;
327
- s.push(y);
328
- let b = i(g, h);
329
- for (let e = 0; e < b.length; ++e) {
330
- let t = b[e];
331
- s.push(v + t);
332
- }
333
- l = t + (l.length > 0 ? " " + l : l);
334
- }
335
- return l;
336
- }, twJoin = (...e) => {
337
- let t = 0, n, r, i = "";
338
- for (; t < e.length;) (n = e[t++]) && (r = toValue(n)) && (i && (i += " "), i += r);
339
- return i;
340
- }, toValue = (e) => {
341
- if (typeof e == "string") return e;
342
- let t, n = "";
343
- for (let r = 0; r < e.length; r++) e[r] && (t = toValue(e[r])) && (n && (n += " "), n += t);
344
- return n;
345
- }, createTailwindMerge = (e, ...t) => {
346
- let n, r, i, a, initTailwindMerge = (o) => (n = createConfigUtils(t.reduce((e, t) => t(e), e())), r = n.cache.get, i = n.cache.set, a = tailwindMerge, tailwindMerge(o)), tailwindMerge = (e) => {
347
- let t = r(e);
348
- if (t) return t;
349
- let a = mergeClassList(e, n);
350
- return i(e, a), a;
351
- };
352
- return a = initTailwindMerge, (...e) => a(twJoin(...e));
353
- }, se = [], fromTheme = (e) => {
354
- let themeGetter = (t) => t[e] || se;
355
- return themeGetter.isThemeGetter = !0, themeGetter;
356
- }, Z = /^\[(?:(\w[\w-]*):)?(.+)\]$/i, Q = /^\((?:(\w[\w-]*):)?(.+)\)$/i, ce = /^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/, le = /^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/, ue = /\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/, de = /^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/, fe = /^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/, pe = /^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/, isFraction = (e) => ce.test(e), isNumber = (e) => !!e && !Number.isNaN(Number(e)), isInteger = (e) => !!e && Number.isInteger(Number(e)), isPercent = (e) => e.endsWith("%") && isNumber(e.slice(0, -1)), isTshirtSize = (e) => le.test(e), isAny = () => !0, isLengthOnly = (e) => ue.test(e) && !de.test(e), isNever = () => !1, isShadow = (e) => fe.test(e), isImage = (e) => pe.test(e), isAnyNonArbitrary = (e) => !isArbitraryValue(e) && !isArbitraryVariable(e), isNamedContainerQuery = (e) => e.startsWith("@container") && (e[10] === "/" && e[11] !== void 0 || e[11] === "s" && e[16] !== void 0 && e.startsWith("-size/", 10) || e[11] === "n" && e[18] !== void 0 && e.startsWith("-normal/", 10)), isArbitrarySize = (e) => getIsArbitraryValue(e, isLabelSize, isNever), isArbitraryValue = (e) => Z.test(e), isArbitraryLength = (e) => getIsArbitraryValue(e, isLabelLength, isLengthOnly), isArbitraryNumber = (e) => getIsArbitraryValue(e, isLabelNumber, isNumber), isArbitraryWeight = (e) => getIsArbitraryValue(e, isLabelWeight, isAny), isArbitraryFamilyName = (e) => getIsArbitraryValue(e, isLabelFamilyName, isNever), isArbitraryPosition = (e) => getIsArbitraryValue(e, isLabelPosition, isNever), isArbitraryImage = (e) => getIsArbitraryValue(e, isLabelImage, isImage), isArbitraryShadow = (e) => getIsArbitraryValue(e, isLabelShadow, isShadow), isArbitraryVariable = (e) => Q.test(e), isArbitraryVariableLength = (e) => getIsArbitraryVariable(e, isLabelLength), isArbitraryVariableFamilyName = (e) => getIsArbitraryVariable(e, isLabelFamilyName), isArbitraryVariablePosition = (e) => getIsArbitraryVariable(e, isLabelPosition), isArbitraryVariableSize = (e) => getIsArbitraryVariable(e, isLabelSize), isArbitraryVariableImage = (e) => getIsArbitraryVariable(e, isLabelImage), isArbitraryVariableShadow = (e) => getIsArbitraryVariable(e, isLabelShadow, !0), isArbitraryVariableWeight = (e) => getIsArbitraryVariable(e, isLabelWeight, !0), getIsArbitraryValue = (e, t, n) => {
357
- let r = Z.exec(e);
358
- return r ? r[1] ? t(r[1]) : n(r[2]) : !1;
359
- }, getIsArbitraryVariable = (e, t, n = !1) => {
360
- let r = Q.exec(e);
361
- return r ? r[1] ? t(r[1]) : n : !1;
362
- }, isLabelPosition = (e) => e === "position" || e === "percentage", isLabelImage = (e) => e === "image" || e === "url", isLabelSize = (e) => e === "length" || e === "size" || e === "bg-size", isLabelLength = (e) => e === "length", isLabelNumber = (e) => e === "number", isLabelFamilyName = (e) => e === "family-name", isLabelWeight = (e) => e === "number" || e === "weight", isLabelShadow = (e) => e === "shadow", getDefaultConfig = () => {
363
- let e = fromTheme("color"), t = fromTheme("font"), n = fromTheme("text"), r = fromTheme("font-weight"), i = fromTheme("tracking"), a = fromTheme("leading"), o = fromTheme("breakpoint"), s = fromTheme("container"), c = fromTheme("spacing"), l = fromTheme("radius"), u = fromTheme("shadow"), d = fromTheme("inset-shadow"), f = fromTheme("text-shadow"), p = fromTheme("drop-shadow"), m = fromTheme("blur"), h = fromTheme("perspective"), g = fromTheme("aspect"), _ = fromTheme("ease"), v = fromTheme("animate"), scaleBreak = () => [
364
- "auto",
365
- "avoid",
366
- "all",
367
- "avoid-page",
368
- "page",
369
- "left",
370
- "right",
371
- "column"
372
- ], scalePosition = () => [
373
- "center",
374
- "top",
375
- "bottom",
376
- "left",
377
- "right",
378
- "top-left",
379
- "left-top",
380
- "top-right",
381
- "right-top",
382
- "bottom-right",
383
- "right-bottom",
384
- "bottom-left",
385
- "left-bottom"
386
- ], scalePositionWithArbitrary = () => [
387
- ...scalePosition(),
388
- isArbitraryVariable,
389
- isArbitraryValue
390
- ], scaleOverflow = () => [
391
- "auto",
392
- "hidden",
393
- "clip",
394
- "visible",
395
- "scroll"
396
- ], scaleOverscroll = () => [
397
- "auto",
398
- "contain",
399
- "none"
400
- ], scaleUnambiguousSpacing = () => [
401
- isArbitraryVariable,
402
- isArbitraryValue,
403
- c
404
- ], scaleInset = () => [
405
- isFraction,
406
- "full",
407
- "auto",
408
- ...scaleUnambiguousSpacing()
409
- ], scaleGridTemplateColsRows = () => [
410
- isInteger,
411
- "none",
412
- "subgrid",
413
- isArbitraryVariable,
414
- isArbitraryValue
415
- ], scaleGridColRowStartAndEnd = () => [
416
- "auto",
417
- { span: [
418
- "full",
419
- isInteger,
420
- isArbitraryVariable,
421
- isArbitraryValue
422
- ] },
423
- isInteger,
424
- isArbitraryVariable,
425
- isArbitraryValue
426
- ], scaleGridColRowStartOrEnd = () => [
427
- isInteger,
428
- "auto",
429
- isArbitraryVariable,
430
- isArbitraryValue
431
- ], scaleGridAutoColsRows = () => [
432
- "auto",
433
- "min",
434
- "max",
435
- "fr",
436
- isArbitraryVariable,
437
- isArbitraryValue
438
- ], scaleAlignPrimaryAxis = () => [
439
- "start",
440
- "end",
441
- "center",
442
- "between",
443
- "around",
444
- "evenly",
445
- "stretch",
446
- "baseline",
447
- "center-safe",
448
- "end-safe"
449
- ], scaleAlignSecondaryAxis = () => [
450
- "start",
451
- "end",
452
- "center",
453
- "stretch",
454
- "center-safe",
455
- "end-safe"
456
- ], scaleMargin = () => ["auto", ...scaleUnambiguousSpacing()], scaleSizing = () => [
457
- isFraction,
458
- "auto",
459
- "full",
460
- "dvw",
461
- "dvh",
462
- "lvw",
463
- "lvh",
464
- "svw",
465
- "svh",
466
- "min",
467
- "max",
468
- "fit",
469
- ...scaleUnambiguousSpacing()
470
- ], scaleSizingInline = () => [
471
- isFraction,
472
- "screen",
473
- "full",
474
- "dvw",
475
- "lvw",
476
- "svw",
477
- "min",
478
- "max",
479
- "fit",
480
- ...scaleUnambiguousSpacing()
481
- ], scaleSizingBlock = () => [
482
- isFraction,
483
- "screen",
484
- "full",
485
- "lh",
486
- "dvh",
487
- "lvh",
488
- "svh",
489
- "min",
490
- "max",
491
- "fit",
492
- ...scaleUnambiguousSpacing()
493
- ], scaleColor = () => [
494
- e,
495
- isArbitraryVariable,
496
- isArbitraryValue
497
- ], scaleBgPosition = () => [
498
- ...scalePosition(),
499
- isArbitraryVariablePosition,
500
- isArbitraryPosition,
501
- { position: [isArbitraryVariable, isArbitraryValue] }
502
- ], scaleBgRepeat = () => ["no-repeat", { repeat: [
503
- "",
504
- "x",
505
- "y",
506
- "space",
507
- "round"
508
- ] }], scaleBgSize = () => [
509
- "auto",
510
- "cover",
511
- "contain",
512
- isArbitraryVariableSize,
513
- isArbitrarySize,
514
- { size: [isArbitraryVariable, isArbitraryValue] }
515
- ], scaleGradientStopPosition = () => [
516
- isPercent,
517
- isArbitraryVariableLength,
518
- isArbitraryLength
519
- ], scaleRadius = () => [
520
- "",
521
- "none",
522
- "full",
523
- l,
524
- isArbitraryVariable,
525
- isArbitraryValue
526
- ], scaleBorderWidth = () => [
527
- "",
528
- isNumber,
529
- isArbitraryVariableLength,
530
- isArbitraryLength
531
- ], scaleLineStyle = () => [
532
- "solid",
533
- "dashed",
534
- "dotted",
535
- "double"
536
- ], scaleBlendMode = () => [
537
- "normal",
538
- "multiply",
539
- "screen",
540
- "overlay",
541
- "darken",
542
- "lighten",
543
- "color-dodge",
544
- "color-burn",
545
- "hard-light",
546
- "soft-light",
547
- "difference",
548
- "exclusion",
549
- "hue",
550
- "saturation",
551
- "color",
552
- "luminosity"
553
- ], scaleMaskImagePosition = () => [
554
- isNumber,
555
- isPercent,
556
- isArbitraryVariablePosition,
557
- isArbitraryPosition
558
- ], scaleBlur = () => [
559
- "",
560
- "none",
561
- m,
562
- isArbitraryVariable,
563
- isArbitraryValue
564
- ], scaleRotate = () => [
565
- "none",
566
- isNumber,
567
- isArbitraryVariable,
568
- isArbitraryValue
569
- ], scaleScale = () => [
570
- "none",
571
- isNumber,
572
- isArbitraryVariable,
573
- isArbitraryValue
574
- ], scaleSkew = () => [
575
- isNumber,
576
- isArbitraryVariable,
577
- isArbitraryValue
578
- ], scaleTranslate = () => [
579
- isFraction,
580
- "full",
581
- ...scaleUnambiguousSpacing()
582
- ];
583
- return {
584
- cacheSize: 500,
585
- theme: {
586
- animate: [
587
- "spin",
588
- "ping",
589
- "pulse",
590
- "bounce"
591
- ],
592
- aspect: ["video"],
593
- blur: [isTshirtSize],
594
- breakpoint: [isTshirtSize],
595
- color: [isAny],
596
- container: [isTshirtSize],
597
- "drop-shadow": [isTshirtSize],
598
- ease: [
599
- "in",
600
- "out",
601
- "in-out"
602
- ],
603
- font: [isAnyNonArbitrary],
604
- "font-weight": [
605
- "thin",
606
- "extralight",
607
- "light",
608
- "normal",
609
- "medium",
610
- "semibold",
611
- "bold",
612
- "extrabold",
613
- "black"
614
- ],
615
- "inset-shadow": [isTshirtSize],
616
- leading: [
617
- "none",
618
- "tight",
619
- "snug",
620
- "normal",
621
- "relaxed",
622
- "loose"
623
- ],
624
- perspective: [
625
- "dramatic",
626
- "near",
627
- "normal",
628
- "midrange",
629
- "distant",
630
- "none"
631
- ],
632
- radius: [isTshirtSize],
633
- shadow: [isTshirtSize],
634
- spacing: ["px", isNumber],
635
- text: [isTshirtSize],
636
- "text-shadow": [isTshirtSize],
637
- tracking: [
638
- "tighter",
639
- "tight",
640
- "normal",
641
- "wide",
642
- "wider",
643
- "widest"
644
- ]
645
- },
646
- classGroups: {
647
- aspect: [{ aspect: [
648
- "auto",
649
- "square",
650
- isFraction,
651
- isArbitraryValue,
652
- isArbitraryVariable,
653
- g
654
- ] }],
655
- container: ["container"],
656
- "container-type": [{ "@container": [
657
- "",
658
- "normal",
659
- "size",
660
- isArbitraryVariable,
661
- isArbitraryValue
662
- ] }],
663
- "container-named": [isNamedContainerQuery],
664
- columns: [{ columns: [
665
- isNumber,
666
- isArbitraryValue,
667
- isArbitraryVariable,
668
- s
669
- ] }],
670
- "break-after": [{ "break-after": scaleBreak() }],
671
- "break-before": [{ "break-before": scaleBreak() }],
672
- "break-inside": [{ "break-inside": [
673
- "auto",
674
- "avoid",
675
- "avoid-page",
676
- "avoid-column"
677
- ] }],
678
- "box-decoration": [{ "box-decoration": ["slice", "clone"] }],
679
- box: [{ box: ["border", "content"] }],
680
- display: [
681
- "block",
682
- "inline-block",
683
- "inline",
684
- "flex",
685
- "inline-flex",
686
- "table",
687
- "inline-table",
688
- "table-caption",
689
- "table-cell",
690
- "table-column",
691
- "table-column-group",
692
- "table-footer-group",
693
- "table-header-group",
694
- "table-row-group",
695
- "table-row",
696
- "flow-root",
697
- "grid",
698
- "inline-grid",
699
- "contents",
700
- "list-item",
701
- "hidden"
702
- ],
703
- sr: ["sr-only", "not-sr-only"],
704
- float: [{ float: [
705
- "right",
706
- "left",
707
- "none",
708
- "start",
709
- "end"
710
- ] }],
711
- clear: [{ clear: [
712
- "left",
713
- "right",
714
- "both",
715
- "none",
716
- "start",
717
- "end"
718
- ] }],
719
- isolation: ["isolate", "isolation-auto"],
720
- "object-fit": [{ object: [
721
- "contain",
722
- "cover",
723
- "fill",
724
- "none",
725
- "scale-down"
726
- ] }],
727
- "object-position": [{ object: scalePositionWithArbitrary() }],
728
- overflow: [{ overflow: scaleOverflow() }],
729
- "overflow-x": [{ "overflow-x": scaleOverflow() }],
730
- "overflow-y": [{ "overflow-y": scaleOverflow() }],
731
- overscroll: [{ overscroll: scaleOverscroll() }],
732
- "overscroll-x": [{ "overscroll-x": scaleOverscroll() }],
733
- "overscroll-y": [{ "overscroll-y": scaleOverscroll() }],
734
- position: [
735
- "static",
736
- "fixed",
737
- "absolute",
738
- "relative",
739
- "sticky"
740
- ],
741
- inset: [{ inset: scaleInset() }],
742
- "inset-x": [{ "inset-x": scaleInset() }],
743
- "inset-y": [{ "inset-y": scaleInset() }],
744
- start: [{
745
- "inset-s": scaleInset(),
746
- start: scaleInset()
747
- }],
748
- end: [{
749
- "inset-e": scaleInset(),
750
- end: scaleInset()
751
- }],
752
- "inset-bs": [{ "inset-bs": scaleInset() }],
753
- "inset-be": [{ "inset-be": scaleInset() }],
754
- top: [{ top: scaleInset() }],
755
- right: [{ right: scaleInset() }],
756
- bottom: [{ bottom: scaleInset() }],
757
- left: [{ left: scaleInset() }],
758
- visibility: [
759
- "visible",
760
- "invisible",
761
- "collapse"
762
- ],
763
- z: [{ z: [
764
- isInteger,
765
- "auto",
766
- isArbitraryVariable,
767
- isArbitraryValue
768
- ] }],
769
- basis: [{ basis: [
770
- isFraction,
771
- "full",
772
- "auto",
773
- s,
774
- ...scaleUnambiguousSpacing()
775
- ] }],
776
- "flex-direction": [{ flex: [
777
- "row",
778
- "row-reverse",
779
- "col",
780
- "col-reverse"
781
- ] }],
782
- "flex-wrap": [{ flex: [
783
- "nowrap",
784
- "wrap",
785
- "wrap-reverse"
786
- ] }],
787
- flex: [{ flex: [
788
- isNumber,
789
- isFraction,
790
- "auto",
791
- "initial",
792
- "none",
793
- isArbitraryValue
794
- ] }],
795
- grow: [{ grow: [
796
- "",
797
- isNumber,
798
- isArbitraryVariable,
799
- isArbitraryValue
800
- ] }],
801
- shrink: [{ shrink: [
802
- "",
803
- isNumber,
804
- isArbitraryVariable,
805
- isArbitraryValue
806
- ] }],
807
- order: [{ order: [
808
- isInteger,
809
- "first",
810
- "last",
811
- "none",
812
- isArbitraryVariable,
813
- isArbitraryValue
814
- ] }],
815
- "grid-cols": [{ "grid-cols": scaleGridTemplateColsRows() }],
816
- "col-start-end": [{ col: scaleGridColRowStartAndEnd() }],
817
- "col-start": [{ "col-start": scaleGridColRowStartOrEnd() }],
818
- "col-end": [{ "col-end": scaleGridColRowStartOrEnd() }],
819
- "grid-rows": [{ "grid-rows": scaleGridTemplateColsRows() }],
820
- "row-start-end": [{ row: scaleGridColRowStartAndEnd() }],
821
- "row-start": [{ "row-start": scaleGridColRowStartOrEnd() }],
822
- "row-end": [{ "row-end": scaleGridColRowStartOrEnd() }],
823
- "grid-flow": [{ "grid-flow": [
824
- "row",
825
- "col",
826
- "dense",
827
- "row-dense",
828
- "col-dense"
829
- ] }],
830
- "auto-cols": [{ "auto-cols": scaleGridAutoColsRows() }],
831
- "auto-rows": [{ "auto-rows": scaleGridAutoColsRows() }],
832
- gap: [{ gap: scaleUnambiguousSpacing() }],
833
- "gap-x": [{ "gap-x": scaleUnambiguousSpacing() }],
834
- "gap-y": [{ "gap-y": scaleUnambiguousSpacing() }],
835
- "justify-content": [{ justify: [...scaleAlignPrimaryAxis(), "normal"] }],
836
- "justify-items": [{ "justify-items": [...scaleAlignSecondaryAxis(), "normal"] }],
837
- "justify-self": [{ "justify-self": ["auto", ...scaleAlignSecondaryAxis()] }],
838
- "align-content": [{ content: ["normal", ...scaleAlignPrimaryAxis()] }],
839
- "align-items": [{ items: [...scaleAlignSecondaryAxis(), { baseline: ["", "last"] }] }],
840
- "align-self": [{ self: [
841
- "auto",
842
- ...scaleAlignSecondaryAxis(),
843
- { baseline: ["", "last"] }
844
- ] }],
845
- "place-content": [{ "place-content": scaleAlignPrimaryAxis() }],
846
- "place-items": [{ "place-items": [...scaleAlignSecondaryAxis(), "baseline"] }],
847
- "place-self": [{ "place-self": ["auto", ...scaleAlignSecondaryAxis()] }],
848
- p: [{ p: scaleUnambiguousSpacing() }],
849
- px: [{ px: scaleUnambiguousSpacing() }],
850
- py: [{ py: scaleUnambiguousSpacing() }],
851
- ps: [{ ps: scaleUnambiguousSpacing() }],
852
- pe: [{ pe: scaleUnambiguousSpacing() }],
853
- pbs: [{ pbs: scaleUnambiguousSpacing() }],
854
- pbe: [{ pbe: scaleUnambiguousSpacing() }],
855
- pt: [{ pt: scaleUnambiguousSpacing() }],
856
- pr: [{ pr: scaleUnambiguousSpacing() }],
857
- pb: [{ pb: scaleUnambiguousSpacing() }],
858
- pl: [{ pl: scaleUnambiguousSpacing() }],
859
- m: [{ m: scaleMargin() }],
860
- mx: [{ mx: scaleMargin() }],
861
- my: [{ my: scaleMargin() }],
862
- ms: [{ ms: scaleMargin() }],
863
- me: [{ me: scaleMargin() }],
864
- mbs: [{ mbs: scaleMargin() }],
865
- mbe: [{ mbe: scaleMargin() }],
866
- mt: [{ mt: scaleMargin() }],
867
- mr: [{ mr: scaleMargin() }],
868
- mb: [{ mb: scaleMargin() }],
869
- ml: [{ ml: scaleMargin() }],
870
- "space-x": [{ "space-x": scaleUnambiguousSpacing() }],
871
- "space-x-reverse": ["space-x-reverse"],
872
- "space-y": [{ "space-y": scaleUnambiguousSpacing() }],
873
- "space-y-reverse": ["space-y-reverse"],
874
- size: [{ size: scaleSizing() }],
875
- "inline-size": [{ inline: ["auto", ...scaleSizingInline()] }],
876
- "min-inline-size": [{ "min-inline": ["auto", ...scaleSizingInline()] }],
877
- "max-inline-size": [{ "max-inline": ["none", ...scaleSizingInline()] }],
878
- "block-size": [{ block: ["auto", ...scaleSizingBlock()] }],
879
- "min-block-size": [{ "min-block": ["auto", ...scaleSizingBlock()] }],
880
- "max-block-size": [{ "max-block": ["none", ...scaleSizingBlock()] }],
881
- w: [{ w: [
882
- s,
883
- "screen",
884
- ...scaleSizing()
885
- ] }],
886
- "min-w": [{ "min-w": [
887
- s,
888
- "screen",
889
- "none",
890
- ...scaleSizing()
891
- ] }],
892
- "max-w": [{ "max-w": [
893
- s,
894
- "screen",
895
- "none",
896
- "prose",
897
- { screen: [o] },
898
- ...scaleSizing()
899
- ] }],
900
- h: [{ h: [
901
- "screen",
902
- "lh",
903
- ...scaleSizing()
904
- ] }],
905
- "min-h": [{ "min-h": [
906
- "screen",
907
- "lh",
908
- "none",
909
- ...scaleSizing()
910
- ] }],
911
- "max-h": [{ "max-h": [
912
- "screen",
913
- "lh",
914
- ...scaleSizing()
915
- ] }],
916
- "font-size": [{ text: [
917
- "base",
918
- n,
919
- isArbitraryVariableLength,
920
- isArbitraryLength
921
- ] }],
922
- "font-smoothing": ["antialiased", "subpixel-antialiased"],
923
- "font-style": ["italic", "not-italic"],
924
- "font-weight": [{ font: [
925
- r,
926
- isArbitraryVariableWeight,
927
- isArbitraryWeight
928
- ] }],
929
- "font-stretch": [{ "font-stretch": [
930
- "ultra-condensed",
931
- "extra-condensed",
932
- "condensed",
933
- "semi-condensed",
934
- "normal",
935
- "semi-expanded",
936
- "expanded",
937
- "extra-expanded",
938
- "ultra-expanded",
939
- isPercent,
940
- isArbitraryValue
941
- ] }],
942
- "font-family": [{ font: [
943
- isArbitraryVariableFamilyName,
944
- isArbitraryFamilyName,
945
- t
946
- ] }],
947
- "font-features": [{ "font-features": [isArbitraryValue] }],
948
- "fvn-normal": ["normal-nums"],
949
- "fvn-ordinal": ["ordinal"],
950
- "fvn-slashed-zero": ["slashed-zero"],
951
- "fvn-figure": ["lining-nums", "oldstyle-nums"],
952
- "fvn-spacing": ["proportional-nums", "tabular-nums"],
953
- "fvn-fraction": ["diagonal-fractions", "stacked-fractions"],
954
- tracking: [{ tracking: [
955
- i,
956
- isArbitraryVariable,
957
- isArbitraryValue
958
- ] }],
959
- "line-clamp": [{ "line-clamp": [
960
- isNumber,
961
- "none",
962
- isArbitraryVariable,
963
- isArbitraryNumber
964
- ] }],
965
- leading: [{ leading: [a, ...scaleUnambiguousSpacing()] }],
966
- "list-image": [{ "list-image": [
967
- "none",
968
- isArbitraryVariable,
969
- isArbitraryValue
970
- ] }],
971
- "list-style-position": [{ list: ["inside", "outside"] }],
972
- "list-style-type": [{ list: [
973
- "disc",
974
- "decimal",
975
- "none",
976
- isArbitraryVariable,
977
- isArbitraryValue
978
- ] }],
979
- "text-alignment": [{ text: [
980
- "left",
981
- "center",
982
- "right",
983
- "justify",
984
- "start",
985
- "end"
986
- ] }],
987
- "placeholder-color": [{ placeholder: scaleColor() }],
988
- "text-color": [{ text: scaleColor() }],
989
- "text-decoration": [
990
- "underline",
991
- "overline",
992
- "line-through",
993
- "no-underline"
994
- ],
995
- "text-decoration-style": [{ decoration: [...scaleLineStyle(), "wavy"] }],
996
- "text-decoration-thickness": [{ decoration: [
997
- isNumber,
998
- "from-font",
999
- "auto",
1000
- isArbitraryVariable,
1001
- isArbitraryLength
1002
- ] }],
1003
- "text-decoration-color": [{ decoration: scaleColor() }],
1004
- "underline-offset": [{ "underline-offset": [
1005
- isNumber,
1006
- "auto",
1007
- isArbitraryVariable,
1008
- isArbitraryValue
1009
- ] }],
1010
- "text-transform": [
1011
- "uppercase",
1012
- "lowercase",
1013
- "capitalize",
1014
- "normal-case"
1015
- ],
1016
- "text-overflow": [
1017
- "truncate",
1018
- "text-ellipsis",
1019
- "text-clip"
1020
- ],
1021
- "text-wrap": [{ text: [
1022
- "wrap",
1023
- "nowrap",
1024
- "balance",
1025
- "pretty"
1026
- ] }],
1027
- indent: [{ indent: scaleUnambiguousSpacing() }],
1028
- "tab-size": [{ tab: [
1029
- isInteger,
1030
- isArbitraryVariable,
1031
- isArbitraryValue
1032
- ] }],
1033
- "vertical-align": [{ align: [
1034
- "baseline",
1035
- "top",
1036
- "middle",
1037
- "bottom",
1038
- "text-top",
1039
- "text-bottom",
1040
- "sub",
1041
- "super",
1042
- isArbitraryVariable,
1043
- isArbitraryValue
1044
- ] }],
1045
- whitespace: [{ whitespace: [
1046
- "normal",
1047
- "nowrap",
1048
- "pre",
1049
- "pre-line",
1050
- "pre-wrap",
1051
- "break-spaces"
1052
- ] }],
1053
- break: [{ break: [
1054
- "normal",
1055
- "words",
1056
- "all",
1057
- "keep"
1058
- ] }],
1059
- wrap: [{ wrap: [
1060
- "break-word",
1061
- "anywhere",
1062
- "normal"
1063
- ] }],
1064
- hyphens: [{ hyphens: [
1065
- "none",
1066
- "manual",
1067
- "auto"
1068
- ] }],
1069
- content: [{ content: [
1070
- "none",
1071
- isArbitraryVariable,
1072
- isArbitraryValue
1073
- ] }],
1074
- "bg-attachment": [{ bg: [
1075
- "fixed",
1076
- "local",
1077
- "scroll"
1078
- ] }],
1079
- "bg-clip": [{ "bg-clip": [
1080
- "border",
1081
- "padding",
1082
- "content",
1083
- "text"
1084
- ] }],
1085
- "bg-origin": [{ "bg-origin": [
1086
- "border",
1087
- "padding",
1088
- "content"
1089
- ] }],
1090
- "bg-position": [{ bg: scaleBgPosition() }],
1091
- "bg-repeat": [{ bg: scaleBgRepeat() }],
1092
- "bg-size": [{ bg: scaleBgSize() }],
1093
- "bg-image": [{ bg: [
1094
- "none",
1095
- {
1096
- linear: [
1097
- { to: [
1098
- "t",
1099
- "tr",
1100
- "r",
1101
- "br",
1102
- "b",
1103
- "bl",
1104
- "l",
1105
- "tl"
1106
- ] },
1107
- isInteger,
1108
- isArbitraryVariable,
1109
- isArbitraryValue
1110
- ],
1111
- radial: [
1112
- "",
1113
- isArbitraryVariable,
1114
- isArbitraryValue
1115
- ],
1116
- conic: [
1117
- isInteger,
1118
- isArbitraryVariable,
1119
- isArbitraryValue
1120
- ]
1121
- },
1122
- isArbitraryVariableImage,
1123
- isArbitraryImage
1124
- ] }],
1125
- "bg-color": [{ bg: scaleColor() }],
1126
- "gradient-from-pos": [{ from: scaleGradientStopPosition() }],
1127
- "gradient-via-pos": [{ via: scaleGradientStopPosition() }],
1128
- "gradient-to-pos": [{ to: scaleGradientStopPosition() }],
1129
- "gradient-from": [{ from: scaleColor() }],
1130
- "gradient-via": [{ via: scaleColor() }],
1131
- "gradient-to": [{ to: scaleColor() }],
1132
- rounded: [{ rounded: scaleRadius() }],
1133
- "rounded-s": [{ "rounded-s": scaleRadius() }],
1134
- "rounded-e": [{ "rounded-e": scaleRadius() }],
1135
- "rounded-t": [{ "rounded-t": scaleRadius() }],
1136
- "rounded-r": [{ "rounded-r": scaleRadius() }],
1137
- "rounded-b": [{ "rounded-b": scaleRadius() }],
1138
- "rounded-l": [{ "rounded-l": scaleRadius() }],
1139
- "rounded-ss": [{ "rounded-ss": scaleRadius() }],
1140
- "rounded-se": [{ "rounded-se": scaleRadius() }],
1141
- "rounded-ee": [{ "rounded-ee": scaleRadius() }],
1142
- "rounded-es": [{ "rounded-es": scaleRadius() }],
1143
- "rounded-tl": [{ "rounded-tl": scaleRadius() }],
1144
- "rounded-tr": [{ "rounded-tr": scaleRadius() }],
1145
- "rounded-br": [{ "rounded-br": scaleRadius() }],
1146
- "rounded-bl": [{ "rounded-bl": scaleRadius() }],
1147
- "border-w": [{ border: scaleBorderWidth() }],
1148
- "border-w-x": [{ "border-x": scaleBorderWidth() }],
1149
- "border-w-y": [{ "border-y": scaleBorderWidth() }],
1150
- "border-w-s": [{ "border-s": scaleBorderWidth() }],
1151
- "border-w-e": [{ "border-e": scaleBorderWidth() }],
1152
- "border-w-bs": [{ "border-bs": scaleBorderWidth() }],
1153
- "border-w-be": [{ "border-be": scaleBorderWidth() }],
1154
- "border-w-t": [{ "border-t": scaleBorderWidth() }],
1155
- "border-w-r": [{ "border-r": scaleBorderWidth() }],
1156
- "border-w-b": [{ "border-b": scaleBorderWidth() }],
1157
- "border-w-l": [{ "border-l": scaleBorderWidth() }],
1158
- "divide-x": [{ "divide-x": scaleBorderWidth() }],
1159
- "divide-x-reverse": ["divide-x-reverse"],
1160
- "divide-y": [{ "divide-y": scaleBorderWidth() }],
1161
- "divide-y-reverse": ["divide-y-reverse"],
1162
- "border-style": [{ border: [
1163
- ...scaleLineStyle(),
1164
- "hidden",
1165
- "none"
1166
- ] }],
1167
- "divide-style": [{ divide: [
1168
- ...scaleLineStyle(),
1169
- "hidden",
1170
- "none"
1171
- ] }],
1172
- "border-color": [{ border: scaleColor() }],
1173
- "border-color-x": [{ "border-x": scaleColor() }],
1174
- "border-color-y": [{ "border-y": scaleColor() }],
1175
- "border-color-s": [{ "border-s": scaleColor() }],
1176
- "border-color-e": [{ "border-e": scaleColor() }],
1177
- "border-color-bs": [{ "border-bs": scaleColor() }],
1178
- "border-color-be": [{ "border-be": scaleColor() }],
1179
- "border-color-t": [{ "border-t": scaleColor() }],
1180
- "border-color-r": [{ "border-r": scaleColor() }],
1181
- "border-color-b": [{ "border-b": scaleColor() }],
1182
- "border-color-l": [{ "border-l": scaleColor() }],
1183
- "divide-color": [{ divide: scaleColor() }],
1184
- "outline-style": [{ outline: [
1185
- ...scaleLineStyle(),
1186
- "none",
1187
- "hidden"
1188
- ] }],
1189
- "outline-offset": [{ "outline-offset": [
1190
- isNumber,
1191
- isArbitraryVariable,
1192
- isArbitraryValue
1193
- ] }],
1194
- "outline-w": [{ outline: [
1195
- "",
1196
- isNumber,
1197
- isArbitraryVariableLength,
1198
- isArbitraryLength
1199
- ] }],
1200
- "outline-color": [{ outline: scaleColor() }],
1201
- shadow: [{ shadow: [
1202
- "",
1203
- "none",
1204
- u,
1205
- isArbitraryVariableShadow,
1206
- isArbitraryShadow
1207
- ] }],
1208
- "shadow-color": [{ shadow: scaleColor() }],
1209
- "inset-shadow": [{ "inset-shadow": [
1210
- "none",
1211
- d,
1212
- isArbitraryVariableShadow,
1213
- isArbitraryShadow
1214
- ] }],
1215
- "inset-shadow-color": [{ "inset-shadow": scaleColor() }],
1216
- "ring-w": [{ ring: scaleBorderWidth() }],
1217
- "ring-w-inset": ["ring-inset"],
1218
- "ring-color": [{ ring: scaleColor() }],
1219
- "ring-offset-w": [{ "ring-offset": [isNumber, isArbitraryLength] }],
1220
- "ring-offset-color": [{ "ring-offset": scaleColor() }],
1221
- "inset-ring-w": [{ "inset-ring": scaleBorderWidth() }],
1222
- "inset-ring-color": [{ "inset-ring": scaleColor() }],
1223
- "text-shadow": [{ "text-shadow": [
1224
- "none",
1225
- f,
1226
- isArbitraryVariableShadow,
1227
- isArbitraryShadow
1228
- ] }],
1229
- "text-shadow-color": [{ "text-shadow": scaleColor() }],
1230
- opacity: [{ opacity: [
1231
- isNumber,
1232
- isArbitraryVariable,
1233
- isArbitraryValue
1234
- ] }],
1235
- "mix-blend": [{ "mix-blend": [
1236
- ...scaleBlendMode(),
1237
- "plus-darker",
1238
- "plus-lighter"
1239
- ] }],
1240
- "bg-blend": [{ "bg-blend": scaleBlendMode() }],
1241
- "mask-clip": [{ "mask-clip": [
1242
- "border",
1243
- "padding",
1244
- "content",
1245
- "fill",
1246
- "stroke",
1247
- "view"
1248
- ] }, "mask-no-clip"],
1249
- "mask-composite": [{ mask: [
1250
- "add",
1251
- "subtract",
1252
- "intersect",
1253
- "exclude"
1254
- ] }],
1255
- "mask-image-linear-pos": [{ "mask-linear": [isNumber] }],
1256
- "mask-image-linear-from-pos": [{ "mask-linear-from": scaleMaskImagePosition() }],
1257
- "mask-image-linear-to-pos": [{ "mask-linear-to": scaleMaskImagePosition() }],
1258
- "mask-image-linear-from-color": [{ "mask-linear-from": scaleColor() }],
1259
- "mask-image-linear-to-color": [{ "mask-linear-to": scaleColor() }],
1260
- "mask-image-t-from-pos": [{ "mask-t-from": scaleMaskImagePosition() }],
1261
- "mask-image-t-to-pos": [{ "mask-t-to": scaleMaskImagePosition() }],
1262
- "mask-image-t-from-color": [{ "mask-t-from": scaleColor() }],
1263
- "mask-image-t-to-color": [{ "mask-t-to": scaleColor() }],
1264
- "mask-image-r-from-pos": [{ "mask-r-from": scaleMaskImagePosition() }],
1265
- "mask-image-r-to-pos": [{ "mask-r-to": scaleMaskImagePosition() }],
1266
- "mask-image-r-from-color": [{ "mask-r-from": scaleColor() }],
1267
- "mask-image-r-to-color": [{ "mask-r-to": scaleColor() }],
1268
- "mask-image-b-from-pos": [{ "mask-b-from": scaleMaskImagePosition() }],
1269
- "mask-image-b-to-pos": [{ "mask-b-to": scaleMaskImagePosition() }],
1270
- "mask-image-b-from-color": [{ "mask-b-from": scaleColor() }],
1271
- "mask-image-b-to-color": [{ "mask-b-to": scaleColor() }],
1272
- "mask-image-l-from-pos": [{ "mask-l-from": scaleMaskImagePosition() }],
1273
- "mask-image-l-to-pos": [{ "mask-l-to": scaleMaskImagePosition() }],
1274
- "mask-image-l-from-color": [{ "mask-l-from": scaleColor() }],
1275
- "mask-image-l-to-color": [{ "mask-l-to": scaleColor() }],
1276
- "mask-image-x-from-pos": [{ "mask-x-from": scaleMaskImagePosition() }],
1277
- "mask-image-x-to-pos": [{ "mask-x-to": scaleMaskImagePosition() }],
1278
- "mask-image-x-from-color": [{ "mask-x-from": scaleColor() }],
1279
- "mask-image-x-to-color": [{ "mask-x-to": scaleColor() }],
1280
- "mask-image-y-from-pos": [{ "mask-y-from": scaleMaskImagePosition() }],
1281
- "mask-image-y-to-pos": [{ "mask-y-to": scaleMaskImagePosition() }],
1282
- "mask-image-y-from-color": [{ "mask-y-from": scaleColor() }],
1283
- "mask-image-y-to-color": [{ "mask-y-to": scaleColor() }],
1284
- "mask-image-radial": [{ "mask-radial": [isArbitraryVariable, isArbitraryValue] }],
1285
- "mask-image-radial-from-pos": [{ "mask-radial-from": scaleMaskImagePosition() }],
1286
- "mask-image-radial-to-pos": [{ "mask-radial-to": scaleMaskImagePosition() }],
1287
- "mask-image-radial-from-color": [{ "mask-radial-from": scaleColor() }],
1288
- "mask-image-radial-to-color": [{ "mask-radial-to": scaleColor() }],
1289
- "mask-image-radial-shape": [{ "mask-radial": ["circle", "ellipse"] }],
1290
- "mask-image-radial-size": [{ "mask-radial": [{
1291
- closest: ["side", "corner"],
1292
- farthest: ["side", "corner"]
1293
- }] }],
1294
- "mask-image-radial-pos": [{ "mask-radial-at": scalePosition() }],
1295
- "mask-image-conic-pos": [{ "mask-conic": [isNumber] }],
1296
- "mask-image-conic-from-pos": [{ "mask-conic-from": scaleMaskImagePosition() }],
1297
- "mask-image-conic-to-pos": [{ "mask-conic-to": scaleMaskImagePosition() }],
1298
- "mask-image-conic-from-color": [{ "mask-conic-from": scaleColor() }],
1299
- "mask-image-conic-to-color": [{ "mask-conic-to": scaleColor() }],
1300
- "mask-mode": [{ mask: [
1301
- "alpha",
1302
- "luminance",
1303
- "match"
1304
- ] }],
1305
- "mask-origin": [{ "mask-origin": [
1306
- "border",
1307
- "padding",
1308
- "content",
1309
- "fill",
1310
- "stroke",
1311
- "view"
1312
- ] }],
1313
- "mask-position": [{ mask: scaleBgPosition() }],
1314
- "mask-repeat": [{ mask: scaleBgRepeat() }],
1315
- "mask-size": [{ mask: scaleBgSize() }],
1316
- "mask-type": [{ "mask-type": ["alpha", "luminance"] }],
1317
- "mask-image": [{ mask: [
1318
- "none",
1319
- isArbitraryVariable,
1320
- isArbitraryValue
1321
- ] }],
1322
- filter: [{ filter: [
1323
- "",
1324
- "none",
1325
- isArbitraryVariable,
1326
- isArbitraryValue
1327
- ] }],
1328
- blur: [{ blur: scaleBlur() }],
1329
- brightness: [{ brightness: [
1330
- isNumber,
1331
- isArbitraryVariable,
1332
- isArbitraryValue
1333
- ] }],
1334
- contrast: [{ contrast: [
1335
- isNumber,
1336
- isArbitraryVariable,
1337
- isArbitraryValue
1338
- ] }],
1339
- "drop-shadow": [{ "drop-shadow": [
1340
- "",
1341
- "none",
1342
- p,
1343
- isArbitraryVariableShadow,
1344
- isArbitraryShadow
1345
- ] }],
1346
- "drop-shadow-color": [{ "drop-shadow": scaleColor() }],
1347
- grayscale: [{ grayscale: [
1348
- "",
1349
- isNumber,
1350
- isArbitraryVariable,
1351
- isArbitraryValue
1352
- ] }],
1353
- "hue-rotate": [{ "hue-rotate": [
1354
- isNumber,
1355
- isArbitraryVariable,
1356
- isArbitraryValue
1357
- ] }],
1358
- invert: [{ invert: [
1359
- "",
1360
- isNumber,
1361
- isArbitraryVariable,
1362
- isArbitraryValue
1363
- ] }],
1364
- saturate: [{ saturate: [
1365
- isNumber,
1366
- isArbitraryVariable,
1367
- isArbitraryValue
1368
- ] }],
1369
- sepia: [{ sepia: [
1370
- "",
1371
- isNumber,
1372
- isArbitraryVariable,
1373
- isArbitraryValue
1374
- ] }],
1375
- "backdrop-filter": [{ "backdrop-filter": [
1376
- "",
1377
- "none",
1378
- isArbitraryVariable,
1379
- isArbitraryValue
1380
- ] }],
1381
- "backdrop-blur": [{ "backdrop-blur": scaleBlur() }],
1382
- "backdrop-brightness": [{ "backdrop-brightness": [
1383
- isNumber,
1384
- isArbitraryVariable,
1385
- isArbitraryValue
1386
- ] }],
1387
- "backdrop-contrast": [{ "backdrop-contrast": [
1388
- isNumber,
1389
- isArbitraryVariable,
1390
- isArbitraryValue
1391
- ] }],
1392
- "backdrop-grayscale": [{ "backdrop-grayscale": [
1393
- "",
1394
- isNumber,
1395
- isArbitraryVariable,
1396
- isArbitraryValue
1397
- ] }],
1398
- "backdrop-hue-rotate": [{ "backdrop-hue-rotate": [
1399
- isNumber,
1400
- isArbitraryVariable,
1401
- isArbitraryValue
1402
- ] }],
1403
- "backdrop-invert": [{ "backdrop-invert": [
1404
- "",
1405
- isNumber,
1406
- isArbitraryVariable,
1407
- isArbitraryValue
1408
- ] }],
1409
- "backdrop-opacity": [{ "backdrop-opacity": [
1410
- isNumber,
1411
- isArbitraryVariable,
1412
- isArbitraryValue
1413
- ] }],
1414
- "backdrop-saturate": [{ "backdrop-saturate": [
1415
- isNumber,
1416
- isArbitraryVariable,
1417
- isArbitraryValue
1418
- ] }],
1419
- "backdrop-sepia": [{ "backdrop-sepia": [
1420
- "",
1421
- isNumber,
1422
- isArbitraryVariable,
1423
- isArbitraryValue
1424
- ] }],
1425
- "border-collapse": [{ border: ["collapse", "separate"] }],
1426
- "border-spacing": [{ "border-spacing": scaleUnambiguousSpacing() }],
1427
- "border-spacing-x": [{ "border-spacing-x": scaleUnambiguousSpacing() }],
1428
- "border-spacing-y": [{ "border-spacing-y": scaleUnambiguousSpacing() }],
1429
- "table-layout": [{ table: ["auto", "fixed"] }],
1430
- caption: [{ caption: ["top", "bottom"] }],
1431
- transition: [{ transition: [
1432
- "",
1433
- "all",
1434
- "colors",
1435
- "opacity",
1436
- "shadow",
1437
- "transform",
1438
- "none",
1439
- isArbitraryVariable,
1440
- isArbitraryValue
1441
- ] }],
1442
- "transition-behavior": [{ transition: ["normal", "discrete"] }],
1443
- duration: [{ duration: [
1444
- isNumber,
1445
- "initial",
1446
- isArbitraryVariable,
1447
- isArbitraryValue
1448
- ] }],
1449
- ease: [{ ease: [
1450
- "linear",
1451
- "initial",
1452
- _,
1453
- isArbitraryVariable,
1454
- isArbitraryValue
1455
- ] }],
1456
- delay: [{ delay: [
1457
- isNumber,
1458
- isArbitraryVariable,
1459
- isArbitraryValue
1460
- ] }],
1461
- animate: [{ animate: [
1462
- "none",
1463
- v,
1464
- isArbitraryVariable,
1465
- isArbitraryValue
1466
- ] }],
1467
- backface: [{ backface: ["hidden", "visible"] }],
1468
- perspective: [{ perspective: [
1469
- h,
1470
- isArbitraryVariable,
1471
- isArbitraryValue
1472
- ] }],
1473
- "perspective-origin": [{ "perspective-origin": scalePositionWithArbitrary() }],
1474
- rotate: [{ rotate: scaleRotate() }],
1475
- "rotate-x": [{ "rotate-x": scaleRotate() }],
1476
- "rotate-y": [{ "rotate-y": scaleRotate() }],
1477
- "rotate-z": [{ "rotate-z": scaleRotate() }],
1478
- scale: [{ scale: scaleScale() }],
1479
- "scale-x": [{ "scale-x": scaleScale() }],
1480
- "scale-y": [{ "scale-y": scaleScale() }],
1481
- "scale-z": [{ "scale-z": scaleScale() }],
1482
- "scale-3d": ["scale-3d"],
1483
- skew: [{ skew: scaleSkew() }],
1484
- "skew-x": [{ "skew-x": scaleSkew() }],
1485
- "skew-y": [{ "skew-y": scaleSkew() }],
1486
- transform: [{ transform: [
1487
- isArbitraryVariable,
1488
- isArbitraryValue,
1489
- "",
1490
- "none",
1491
- "gpu",
1492
- "cpu"
1493
- ] }],
1494
- "transform-origin": [{ origin: scalePositionWithArbitrary() }],
1495
- "transform-style": [{ transform: ["3d", "flat"] }],
1496
- translate: [{ translate: scaleTranslate() }],
1497
- "translate-x": [{ "translate-x": scaleTranslate() }],
1498
- "translate-y": [{ "translate-y": scaleTranslate() }],
1499
- "translate-z": [{ "translate-z": scaleTranslate() }],
1500
- "translate-none": ["translate-none"],
1501
- zoom: [{ zoom: [
1502
- isInteger,
1503
- isArbitraryVariable,
1504
- isArbitraryValue
1505
- ] }],
1506
- accent: [{ accent: scaleColor() }],
1507
- appearance: [{ appearance: ["none", "auto"] }],
1508
- "caret-color": [{ caret: scaleColor() }],
1509
- "color-scheme": [{ scheme: [
1510
- "normal",
1511
- "dark",
1512
- "light",
1513
- "light-dark",
1514
- "only-dark",
1515
- "only-light"
1516
- ] }],
1517
- cursor: [{ cursor: [
1518
- "auto",
1519
- "default",
1520
- "pointer",
1521
- "wait",
1522
- "text",
1523
- "move",
1524
- "help",
1525
- "not-allowed",
1526
- "none",
1527
- "context-menu",
1528
- "progress",
1529
- "cell",
1530
- "crosshair",
1531
- "vertical-text",
1532
- "alias",
1533
- "copy",
1534
- "no-drop",
1535
- "grab",
1536
- "grabbing",
1537
- "all-scroll",
1538
- "col-resize",
1539
- "row-resize",
1540
- "n-resize",
1541
- "e-resize",
1542
- "s-resize",
1543
- "w-resize",
1544
- "ne-resize",
1545
- "nw-resize",
1546
- "se-resize",
1547
- "sw-resize",
1548
- "ew-resize",
1549
- "ns-resize",
1550
- "nesw-resize",
1551
- "nwse-resize",
1552
- "zoom-in",
1553
- "zoom-out",
1554
- isArbitraryVariable,
1555
- isArbitraryValue
1556
- ] }],
1557
- "field-sizing": [{ "field-sizing": ["fixed", "content"] }],
1558
- "pointer-events": [{ "pointer-events": ["auto", "none"] }],
1559
- resize: [{ resize: [
1560
- "none",
1561
- "",
1562
- "y",
1563
- "x"
1564
- ] }],
1565
- "scroll-behavior": [{ scroll: ["auto", "smooth"] }],
1566
- "scrollbar-thumb-color": [{ "scrollbar-thumb": scaleColor() }],
1567
- "scrollbar-track-color": [{ "scrollbar-track": scaleColor() }],
1568
- "scrollbar-gutter": [{ "scrollbar-gutter": [
1569
- "auto",
1570
- "stable",
1571
- "both"
1572
- ] }],
1573
- "scrollbar-w": [{ scrollbar: [
1574
- "auto",
1575
- "thin",
1576
- "none"
1577
- ] }],
1578
- "scroll-m": [{ "scroll-m": scaleUnambiguousSpacing() }],
1579
- "scroll-mx": [{ "scroll-mx": scaleUnambiguousSpacing() }],
1580
- "scroll-my": [{ "scroll-my": scaleUnambiguousSpacing() }],
1581
- "scroll-ms": [{ "scroll-ms": scaleUnambiguousSpacing() }],
1582
- "scroll-me": [{ "scroll-me": scaleUnambiguousSpacing() }],
1583
- "scroll-mbs": [{ "scroll-mbs": scaleUnambiguousSpacing() }],
1584
- "scroll-mbe": [{ "scroll-mbe": scaleUnambiguousSpacing() }],
1585
- "scroll-mt": [{ "scroll-mt": scaleUnambiguousSpacing() }],
1586
- "scroll-mr": [{ "scroll-mr": scaleUnambiguousSpacing() }],
1587
- "scroll-mb": [{ "scroll-mb": scaleUnambiguousSpacing() }],
1588
- "scroll-ml": [{ "scroll-ml": scaleUnambiguousSpacing() }],
1589
- "scroll-p": [{ "scroll-p": scaleUnambiguousSpacing() }],
1590
- "scroll-px": [{ "scroll-px": scaleUnambiguousSpacing() }],
1591
- "scroll-py": [{ "scroll-py": scaleUnambiguousSpacing() }],
1592
- "scroll-ps": [{ "scroll-ps": scaleUnambiguousSpacing() }],
1593
- "scroll-pe": [{ "scroll-pe": scaleUnambiguousSpacing() }],
1594
- "scroll-pbs": [{ "scroll-pbs": scaleUnambiguousSpacing() }],
1595
- "scroll-pbe": [{ "scroll-pbe": scaleUnambiguousSpacing() }],
1596
- "scroll-pt": [{ "scroll-pt": scaleUnambiguousSpacing() }],
1597
- "scroll-pr": [{ "scroll-pr": scaleUnambiguousSpacing() }],
1598
- "scroll-pb": [{ "scroll-pb": scaleUnambiguousSpacing() }],
1599
- "scroll-pl": [{ "scroll-pl": scaleUnambiguousSpacing() }],
1600
- "snap-align": [{ snap: [
1601
- "start",
1602
- "end",
1603
- "center",
1604
- "align-none"
1605
- ] }],
1606
- "snap-stop": [{ snap: ["normal", "always"] }],
1607
- "snap-type": [{ snap: [
1608
- "none",
1609
- "x",
1610
- "y",
1611
- "both"
1612
- ] }],
1613
- "snap-strictness": [{ snap: ["mandatory", "proximity"] }],
1614
- touch: [{ touch: [
1615
- "auto",
1616
- "none",
1617
- "manipulation"
1618
- ] }],
1619
- "touch-x": [{ "touch-pan": [
1620
- "x",
1621
- "left",
1622
- "right"
1623
- ] }],
1624
- "touch-y": [{ "touch-pan": [
1625
- "y",
1626
- "up",
1627
- "down"
1628
- ] }],
1629
- "touch-pz": ["touch-pinch-zoom"],
1630
- select: [{ select: [
1631
- "none",
1632
- "text",
1633
- "all",
1634
- "auto"
1635
- ] }],
1636
- "will-change": [{ "will-change": [
1637
- "auto",
1638
- "scroll",
1639
- "contents",
1640
- "transform",
1641
- isArbitraryVariable,
1642
- isArbitraryValue
1643
- ] }],
1644
- fill: [{ fill: ["none", ...scaleColor()] }],
1645
- "stroke-w": [{ stroke: [
1646
- isNumber,
1647
- isArbitraryVariableLength,
1648
- isArbitraryLength,
1649
- isArbitraryNumber
1650
- ] }],
1651
- stroke: [{ stroke: ["none", ...scaleColor()] }],
1652
- "forced-color-adjust": [{ "forced-color-adjust": ["auto", "none"] }]
1653
- },
1654
- conflictingClassGroups: {
1655
- "container-named": ["container-type"],
1656
- overflow: ["overflow-x", "overflow-y"],
1657
- overscroll: ["overscroll-x", "overscroll-y"],
1658
- inset: [
1659
- "inset-x",
1660
- "inset-y",
1661
- "inset-bs",
1662
- "inset-be",
1663
- "start",
1664
- "end",
1665
- "top",
1666
- "right",
1667
- "bottom",
1668
- "left"
1669
- ],
1670
- "inset-x": ["right", "left"],
1671
- "inset-y": ["top", "bottom"],
1672
- flex: [
1673
- "basis",
1674
- "grow",
1675
- "shrink"
1676
- ],
1677
- gap: ["gap-x", "gap-y"],
1678
- p: [
1679
- "px",
1680
- "py",
1681
- "ps",
1682
- "pe",
1683
- "pbs",
1684
- "pbe",
1685
- "pt",
1686
- "pr",
1687
- "pb",
1688
- "pl"
1689
- ],
1690
- px: ["pr", "pl"],
1691
- py: ["pt", "pb"],
1692
- m: [
1693
- "mx",
1694
- "my",
1695
- "ms",
1696
- "me",
1697
- "mbs",
1698
- "mbe",
1699
- "mt",
1700
- "mr",
1701
- "mb",
1702
- "ml"
1703
- ],
1704
- mx: ["mr", "ml"],
1705
- my: ["mt", "mb"],
1706
- size: ["w", "h"],
1707
- "font-size": ["leading"],
1708
- "fvn-normal": [
1709
- "fvn-ordinal",
1710
- "fvn-slashed-zero",
1711
- "fvn-figure",
1712
- "fvn-spacing",
1713
- "fvn-fraction"
1714
- ],
1715
- "fvn-ordinal": ["fvn-normal"],
1716
- "fvn-slashed-zero": ["fvn-normal"],
1717
- "fvn-figure": ["fvn-normal"],
1718
- "fvn-spacing": ["fvn-normal"],
1719
- "fvn-fraction": ["fvn-normal"],
1720
- "line-clamp": ["display", "overflow"],
1721
- rounded: [
1722
- "rounded-s",
1723
- "rounded-e",
1724
- "rounded-t",
1725
- "rounded-r",
1726
- "rounded-b",
1727
- "rounded-l",
1728
- "rounded-ss",
1729
- "rounded-se",
1730
- "rounded-ee",
1731
- "rounded-es",
1732
- "rounded-tl",
1733
- "rounded-tr",
1734
- "rounded-br",
1735
- "rounded-bl"
1736
- ],
1737
- "rounded-s": ["rounded-ss", "rounded-es"],
1738
- "rounded-e": ["rounded-se", "rounded-ee"],
1739
- "rounded-t": ["rounded-tl", "rounded-tr"],
1740
- "rounded-r": ["rounded-tr", "rounded-br"],
1741
- "rounded-b": ["rounded-br", "rounded-bl"],
1742
- "rounded-l": ["rounded-tl", "rounded-bl"],
1743
- "border-spacing": ["border-spacing-x", "border-spacing-y"],
1744
- "border-w": [
1745
- "border-w-x",
1746
- "border-w-y",
1747
- "border-w-s",
1748
- "border-w-e",
1749
- "border-w-bs",
1750
- "border-w-be",
1751
- "border-w-t",
1752
- "border-w-r",
1753
- "border-w-b",
1754
- "border-w-l"
1755
- ],
1756
- "border-w-x": ["border-w-r", "border-w-l"],
1757
- "border-w-y": ["border-w-t", "border-w-b"],
1758
- "border-color": [
1759
- "border-color-x",
1760
- "border-color-y",
1761
- "border-color-s",
1762
- "border-color-e",
1763
- "border-color-bs",
1764
- "border-color-be",
1765
- "border-color-t",
1766
- "border-color-r",
1767
- "border-color-b",
1768
- "border-color-l"
1769
- ],
1770
- "border-color-x": ["border-color-r", "border-color-l"],
1771
- "border-color-y": ["border-color-t", "border-color-b"],
1772
- translate: [
1773
- "translate-x",
1774
- "translate-y",
1775
- "translate-none"
1776
- ],
1777
- "translate-none": [
1778
- "translate",
1779
- "translate-x",
1780
- "translate-y",
1781
- "translate-z"
1782
- ],
1783
- "scroll-m": [
1784
- "scroll-mx",
1785
- "scroll-my",
1786
- "scroll-ms",
1787
- "scroll-me",
1788
- "scroll-mbs",
1789
- "scroll-mbe",
1790
- "scroll-mt",
1791
- "scroll-mr",
1792
- "scroll-mb",
1793
- "scroll-ml"
1794
- ],
1795
- "scroll-mx": ["scroll-mr", "scroll-ml"],
1796
- "scroll-my": ["scroll-mt", "scroll-mb"],
1797
- "scroll-p": [
1798
- "scroll-px",
1799
- "scroll-py",
1800
- "scroll-ps",
1801
- "scroll-pe",
1802
- "scroll-pbs",
1803
- "scroll-pbe",
1804
- "scroll-pt",
1805
- "scroll-pr",
1806
- "scroll-pb",
1807
- "scroll-pl"
1808
- ],
1809
- "scroll-px": ["scroll-pr", "scroll-pl"],
1810
- "scroll-py": ["scroll-pt", "scroll-pb"],
1811
- touch: [
1812
- "touch-x",
1813
- "touch-y",
1814
- "touch-pz"
1815
- ],
1816
- "touch-x": ["touch"],
1817
- "touch-y": ["touch"],
1818
- "touch-pz": ["touch"]
1819
- },
1820
- conflictingClassGroupModifiers: { "font-size": ["leading"] },
1821
- postfixLookupClassGroups: ["container-type"],
1822
- orderSensitiveModifiers: [
1823
- "*",
1824
- "**",
1825
- "after",
1826
- "backdrop",
1827
- "before",
1828
- "details-content",
1829
- "file",
1830
- "first-letter",
1831
- "first-line",
1832
- "marker",
1833
- "placeholder",
1834
- "selection"
1835
- ]
1836
- };
1837
- }, me = /*#__PURE__*/ createTailwindMerge(getDefaultConfig), $ = {
1838
- default: {
1839
- solid: {
1840
- base: "bg-theme-0 dark:bg-theme-700/40 text-theme-600 dark:text-theme-50",
1841
- input: "bg-white dark:bg-theme-800/50\n ring-theme-200 dark:ring-theme-600/70\n focus:ring-theme-600 focus:bg-white\n dark:focus:ring-theme-500 dark:focus:bg-theme-800\n focus-within:ring-theme-600 dark:focus-within:ring-theme-500\n dark:text-theme-100\n placeholder:text-theme-400 dark:placeholder:text-theme-500",
1842
- border: "border-theme-300/80 dark:border-theme-600",
1843
- hover: "hover:border-theme-300 dark:hover:border-theme-500",
1844
- icon: "text-theme-600 dark:text-theme-50"
1845
- },
1846
- ghost: {
1847
- base: "bg-theme-50 dark:bg-theme-600/30 text-theme-700 dark:text-theme-50",
1848
- border: "border-theme-50 dark:border-theme-800/20",
1849
- hover: "hover:bg-theme-100 dark:hover:bg-theme-600/50 hover:border-theme-200 dark:hover:border-theme-600",
1850
- icon: "text-theme-500 dark:text-theme-500"
1851
- },
1852
- outline: {
1853
- base: "bg-transparent text-theme-700 dark:text-theme-50",
1854
- border: "border-theme-300 dark:border-theme-400",
1855
- hover: "hover:opacity-70",
1856
- icon: "text-theme-700 dark:text-theme-300"
1857
- },
1858
- link: {
1859
- base: "bg-transparent text-theme-600 dark:text-theme-50",
1860
- border: "border-transparent",
1861
- hover: "hover:opacity-70",
1862
- icon: "text-theme-600 dark:text-theme-400"
1863
- }
1864
- },
1865
- muted: {
1866
- solid: {
1867
- base: "bg-gray-100 dark:bg-gray-700/40 text-gray-900 dark:text-gray-50",
1868
- input: "bg-white dark:bg-gray-800/50\n ring-gray-200 dark:ring-gray-600/70\n focus:ring-gray-600 focus:bg-white\n dark:focus:ring-gray-500 dark:focus:bg-gray-800\n focus-within:ring-gray-600 dark:focus-within:ring-gray-500\n text-gray-900 dark:text-gray-100\n placeholder:text-gray-400 dark:placeholder:text-gray-500",
1869
- border: "border-gray-300/80 dark:border-gray-600",
1870
- hover: "hover:border-gray-300 dark:hover:border-gray-500",
1871
- icon: "text-gray-600 dark:text-gray-50"
1872
- },
1873
- ghost: {
1874
- base: "bg-gray-100 dark:bg-gray-600/30 text-gray-700 dark:text-gray-50",
1875
- border: "border-gray-100 dark:border-gray-800/20",
1876
- hover: "hover:bg-gray-200 dark:hover:bg-gray-600/50 hover:border-gray-200 dark:hover:border-gray-600",
1877
- icon: "text-gray-500 dark:text-gray-500"
1878
- },
1879
- outline: {
1880
- base: "bg-transparent text-gray-700 dark:text-gray-50",
1881
- border: "border-gray-500 dark:border-gray-400",
1882
- hover: "hover:opacity-70",
1883
- icon: "text-gray-700 dark:text-gray-300"
1884
- },
1885
- link: {
1886
- base: "bg-transparent text-gray-600 dark:text-gray-50",
1887
- border: "border-transparent",
1888
- hover: "hover:opacity-70",
1889
- icon: "text-gray-600 dark:text-gray-400"
1890
- }
1891
- },
1892
- overlay: {
1893
- solid: {
1894
- base: "bg-white/100 text-black backdrop-blur-sm shadow-sm mix-blend-overlay [text-shadow:_0_1px_1px_rgb(255_255_255_/_100%)]",
1895
- border: "border-white/100",
1896
- input: "bg-white/10 ring-white\n focus:ring-white/90 focus:bg-white/20\n dark:focus:ring-white/70\n text-white\n placeholder:text-white/60",
1897
- hover: "hover:bg-white/70 ",
1898
- icon: "text-black"
1899
- },
1900
- ghost: {
1901
- base: "bg-white/70 text-black backdrop-blur-sm shadow-sm mix-blend-overlay [text-shadow:_0_1px_1px_rgb(255_255_255_/_100%)]",
1902
- border: "border-white/100",
1903
- hover: "hover:bg-white/70 hover:border-white/90",
1904
- icon: "text-black"
1905
- },
1906
- outline: {
1907
- base: "bg-white/10 text-white backdrop-blur-sm shadow-sm [text-shadow:_0_0.5px_0_rgb(0_0_0_/_40%)]",
1908
- border: "border-white",
1909
- hover: "hover:border-white/80",
1910
- icon: "text-white"
1911
- },
1912
- link: {
1913
- base: "bg-transparent text-white [text-shadow:_0_0.5px_0_rgb(0_0_0_/_40%)]",
1914
- border: "border-transparent",
1915
- hover: "hover:opacity-70",
1916
- icon: "text-white"
1917
- }
1918
- },
1919
- primary: {
1920
- solid: {
1921
- base: "bg-theme-900 dark:bg-theme-100 text-white dark:text-theme-900",
1922
- border: "border-theme-900 dark:border-theme-200",
1923
- input: "bg-theme-50 dark:bg-theme-800/20\n ring-theme-900 dark:ring-theme-300\n focus:ring-theme-700 focus:bg-theme-50/50\n dark:focus:ring-theme-400 dark:focus:bg-theme-800/40\n dark:text-theme-100\n placeholder:text-theme-400 dark:placeholder:text-theme-500",
1924
- hover: "hover:bg-theme-800 dark:hover:bg-theme-200",
1925
- icon: "text-white dark:text-theme-900"
1926
- },
1927
- ghost: {
1928
- base: "bg-theme-100 dark:bg-theme-800 dark:text-theme-100",
1929
- border: "border-theme-200 dark:border-theme-700",
1930
- hover: "hover:bg-theme-200 dark:hover:bg-theme-700",
1931
- icon: "text-theme-700 dark:text-theme-300"
1932
- },
1933
- outline: {
1934
- base: "bg-transparent dark:text-theme-100",
1935
- border: "border-theme-900 dark:border-theme-300",
1936
- hover: "hover:bg-theme-100 dark:hover:bg-theme-800",
1937
- icon: "dark:text-theme-100"
1938
- },
1939
- link: {
1940
- base: "bg-transparent dark:text-theme-100",
1941
- border: "border-transparent",
1942
- hover: "hover:opacity-70",
1943
- icon: "dark:text-theme-100"
1944
- }
1945
- },
1946
- theme: {
1947
- solid: {
1948
- base: "bg-theme-500 dark:bg-theme-600/70 text-theme-0 dark:text-theme-0",
1949
- border: "border-theme-600/80 dark:border-theme-600",
1950
- hover: "hover:bg-theme-600 dark:hover:bg-theme-800",
1951
- icon: "text-theme-50 dark:text-theme-50"
1952
- },
1953
- ghost: {
1954
- base: "bg-theme-100 dark:bg-theme-600/50 dark:text-theme-100",
1955
- border: "border-theme-100 dark:border-theme-800/20",
1956
- hover: "hover:bg-theme-200 dark:hover:bg-theme-600/40 hover:border-theme-200 dark:hover:border-theme-600",
1957
- icon: "text-theme-500 dark:text-theme-500"
1958
- },
1959
- outline: {
1960
- base: "bg-transparent text-theme-500 dark:text-theme-300",
1961
- border: "border-theme-500 dark:border-theme-400",
1962
- hover: "hover:bg-theme-500/10 dark:hover:bg-theme-400/20",
1963
- icon: "text-theme-500 dark:text-theme-300"
1964
- },
1965
- link: {
1966
- base: "bg-transparent text-theme-600 dark:text-theme-400",
1967
- border: "border-transparent",
1968
- hover: "hover:opacity-70",
1969
- icon: "text-theme-600 dark:text-theme-400"
1970
- }
1971
- },
1972
- green: {
1973
- solid: {
1974
- base: "bg-green-600 dark:bg-green-700/70 text-green-50 dark:text-green-50",
1975
- border: "border-green-600 dark:border-green-600",
1976
- hover: "hover:bg-green-700 dark:hover:bg-green-800",
1977
- icon: "text-green-50 dark:text-green-50"
1978
- },
1979
- ghost: {
1980
- base: "bg-green-100 dark:bg-green-800/20 text-green-900 dark:text-green-100",
1981
- border: "border-green-100 dark:border-green-800/20",
1982
- hover: "hover:bg-green-200 dark:hover:bg-green-800/40 hover:border-green-200 dark:hover:border-green-700",
1983
- icon: "text-green-500 dark:text-green-500"
1984
- },
1985
- outline: {
1986
- base: "bg-transparent text-green-500 dark:text-green-50",
1987
- border: "border-green-500 dark:border-green-600",
1988
- hover: "hover:bg-green-500/10 dark:hover:bg-green-400/10",
1989
- icon: "text-green-500 dark:text-green-50"
1990
- },
1991
- link: {
1992
- base: "bg-transparent text-green-600 dark:text-green-400",
1993
- border: "border-transparent",
1994
- hover: "hover:opacity-70",
1995
- icon: "text-green-600 dark:text-green-400"
1996
- }
1997
- },
1998
- orange: {
1999
- solid: {
2000
- base: "bg-orange-500 dark:bg-orange-700/70 text-orange-50 dark:text-orange-50",
2001
- border: "border-orange-700 dark:border-orange-600",
2002
- hover: "hover:bg-orange-700 dark:hover:bg-orange-800",
2003
- icon: "text-orange-50 dark:text-orange-50"
2004
- },
2005
- ghost: {
2006
- base: "bg-orange-100 dark:bg-orange-800/20 text-orange-900 dark:text-orange-100",
2007
- border: "border-orange-100 dark:border-orange-800/20",
2008
- hover: "hover:bg-orange-200 dark:hover:bg-orange-800/40 hover:border-orange-200 dark:hover:border-orange-700",
2009
- icon: "text-orange-500 dark:text-orange-500"
2010
- },
2011
- outline: {
2012
- base: "bg-transparent text-orange-500 dark:text-orange-50",
2013
- border: "border-orange-500 dark:border-orange-600",
2014
- hover: "hover:bg-orange-500/10 dark:hover:bg-orange-400/10",
2015
- icon: "text-orange-500 dark:text-orange-50"
2016
- },
2017
- link: {
2018
- base: "bg-transparent text-orange-600 dark:text-orange-400",
2019
- border: "border-transparent",
2020
- hover: "hover:opacity-70",
2021
- icon: "text-orange-600 dark:text-orange-400"
2022
- }
2023
- },
2024
- rose: {
2025
- solid: {
2026
- base: "bg-rose-500 dark:bg-rose-700/70 text-rose-50 dark:text-rose-50",
2027
- border: "border-rose-600/80 dark:border-rose-600",
2028
- hover: "hover:bg-rose-600 dark:hover:bg-rose-800",
2029
- icon: "text-rose-50 dark:text-rose-50"
2030
- },
2031
- ghost: {
2032
- base: "bg-rose-100 dark:bg-rose-800/20 text-rose-900 dark:text-rose-100",
2033
- border: "border-rose-100 dark:border-rose-800/20",
2034
- hover: "hover:bg-rose-200 dark:hover:bg-rose-800/40 hover:border-rose-200 dark:hover:border-rose-700",
2035
- icon: "text-rose-500 dark:text-rose-500"
2036
- },
2037
- outline: {
2038
- base: "bg-transparent text-rose-500 dark:text-rose-50",
2039
- border: "border-rose-500 dark:border-rose-600",
2040
- hover: "hover:bg-rose-500/10 dark:hover:bg-rose-400/10",
2041
- icon: "text-rose-500 dark:text-rose-50"
2042
- },
2043
- link: {
2044
- base: "bg-transparent text-rose-600 dark:text-rose-400",
2045
- border: "border-transparent",
2046
- hover: "hover:opacity-70",
2047
- icon: "text-rose-600 dark:text-rose-400"
2048
- }
2049
- },
2050
- indigo: {
2051
- solid: {
2052
- base: "bg-indigo-500 dark:bg-indigo-700/70 text-indigo-50 dark:text-indigo-50",
2053
- border: "border-indigo-600/80 dark:border-indigo-600",
2054
- hover: "hover:bg-indigo-600 dark:hover:bg-indigo-800",
2055
- icon: "text-indigo-50 dark:text-indigo-50"
2056
- },
2057
- ghost: {
2058
- base: "bg-indigo-100 dark:bg-indigo-800/20 text-indigo-900 dark:text-indigo-100",
2059
- border: "border-indigo-100 dark:border-indigo-800/20",
2060
- hover: "hover:bg-indigo-200 dark:hover:bg-indigo-800/40 hover:border-indigo-200 dark:hover:border-indigo-700",
2061
- icon: "text-indigo-500 dark:text-indigo-500"
2062
- },
2063
- outline: {
2064
- base: "bg-transparent text-indigo-500 dark:text-indigo-50",
2065
- border: "border-indigo-500 dark:border-indigo-600",
2066
- hover: "hover:bg-indigo-500/10 dark:hover:bg-indigo-400/10",
2067
- icon: "text-indigo-500 dark:text-indigo-50"
2068
- },
2069
- link: {
2070
- base: "bg-transparent text-indigo-600 dark:text-indigo-400",
2071
- border: "border-transparent",
2072
- hover: "hover:opacity-70",
2073
- icon: "text-indigo-600 dark:text-indigo-400"
2074
- }
2075
- },
2076
- red: {
2077
- solid: {
2078
- base: "bg-red-500 dark:bg-red-700/70 text-red-50 dark:text-red-50",
2079
- border: "border-red-600/80 dark:border-red-600",
2080
- hover: "hover:bg-red-600 dark:hover:bg-red-800",
2081
- icon: "text-red-50 dark:text-red-50"
2082
- },
2083
- ghost: {
2084
- base: "bg-red-100 dark:bg-red-800/20 text-red-900 dark:text-red-100",
2085
- border: "border-red-100 dark:border-red-800/20",
2086
- hover: "hover:bg-red-200 dark:hover:bg-red-800/40 hover:border-red-200 dark:hover:border-red-700",
2087
- icon: "text-red-500 dark:text-red-500"
2088
- },
2089
- outline: {
2090
- base: "bg-transparent text-red-500 dark:text-red-50",
2091
- border: "border-red-500 dark:border-red-600",
2092
- hover: "hover:bg-red-500/10 dark:hover:bg-red-400/10",
2093
- icon: "text-red-500 dark:text-red-50"
2094
- },
2095
- link: {
2096
- base: "bg-transparent text-red-600 dark:text-red-400",
2097
- border: "border-transparent",
2098
- hover: "hover:opacity-70",
2099
- icon: "text-red-600 dark:text-red-400"
2100
- }
2101
- }
2102
- }, he = {
2103
- key: 0,
2104
- class: "absolute inset-0 flex items-center justify-center"
2105
- }, ge = /* @__PURE__ */ w({
2106
- __name: "FButton",
2107
- props: {
2108
- theme: { default: "default" },
2109
- design: { default: "solid" },
2110
- size: { default: "md" },
2111
- rounding: { default: "full" },
2112
- href: {},
2113
- target: {},
2114
- icon: {},
2115
- iconAfter: {},
2116
- tag: { default: "button" },
2117
- loading: {
2118
- type: Boolean,
2119
- default: !1
2120
- },
2121
- disabled: {
2122
- type: Boolean,
2123
- default: !1
2124
- },
2125
- class: { default: "" }
2126
- },
2127
- setup(e) {
2128
- let t = _(() => typeof e.icon == "string" ? e.icon : e.icon?.className), n = _(() => typeof e.iconAfter == "string" ? e.iconAfter : e.iconAfter?.className), r = _(() => e.href ? "a" : e.tag), i = _(() => ({
2129
- xxs: "size-2.5",
2130
- xs: "size-3",
2131
- sm: "size-3.5",
2132
- md: "size-4",
2133
- lg: "size-5",
2134
- xl: "size-6"
2135
- })[e.size]), a = _(() => {
2136
- let t = $[e.theme]?.[e.design] || $.default[e.design];
2137
- return t || console.warn(`FButton: No theme configuration found for theme "${e.theme}" and design "${e.design}". Falling back to default solid theme.`), t || {
2138
- base: "",
2139
- border: "",
2140
- hover: "",
2141
- icon: ""
2142
- };
2143
- }), o = _(() => {
2144
- let t = {
2145
- xxs: "px-2 py-0.5 text-[10px]",
2146
- xs: "px-3 py-1 text-[11px]",
2147
- sm: "px-3 py-1.5 text-xs",
2148
- md: "px-4 py-2 text-sm",
2149
- lg: "px-8 py-3.5 text-[15px]",
2150
- xl: "px-10 py-4 text-base"
2151
- }, n = e.design === "link" ? "!px-1" : "", r = {
2152
- md: "rounded-md",
2153
- lg: "rounded-lg",
2154
- "2xl": "rounded-2xl",
2155
- full: "rounded-full"
2156
- }, i = a.value, o = e.disabled && !e.loading ? "opacity-50 cursor-not-allowed pointer-events-none" : "", s = e.loading ? "pointer-events-none cursor-wait" : "", c = e.disabled || e.loading;
2157
- return me([
2158
- "relative inline-flex items-center justify-center gap-2 font-medium transition-colors duration-200 focus:outline-none active:opacity-80 cursor-pointer",
2159
- t[e.size],
2160
- n,
2161
- r[e.rounding],
2162
- i.base,
2163
- `border ${i.border}`,
2164
- c ? "" : i.hover,
2165
- o,
2166
- s
2167
- ].filter(Boolean).join(" "), e.class);
2168
- }), c = _(() => ({ design: a.value.icon || "" }));
2169
- return (a, l) => (k(), v(N(r.value), {
2170
- href: e.disabled ? void 0 : e.href,
2171
- target: e.href && !e.disabled ? e.target : void 0,
2172
- rel: e.href && e.target === "_blank" ? "noopener noreferrer" : void 0,
2173
- disabled: e.disabled || void 0,
2174
- "aria-disabled": e.disabled || void 0,
2175
- class: E(o.value)
2176
- }, {
2177
- default: L(() => [e.loading ? (k(), b("div", he, [C(s, { class: E(i.value) }, null, 8, ["class"])])) : y("", !0), x("span", { class: E(["flex items-center gap-2 transition-opacity duration-200 whitespace-nowrap", e.loading ? "opacity-0" : "opacity-100"]) }, [
2178
- t.value ? (k(), b("span", {
2179
- key: 0,
2180
- class: E(["flex items-center size-[1.1em] mt-[-.07em]", [t.value, c.value.design]])
2181
- }, null, 2)) : y("", !0),
2182
- M(a.$slots, "default"),
2183
- n.value ? (k(), b("span", {
2184
- key: 1,
2185
- class: E(["flex items-center size-[1.1em] mt-[-.07em]", [n.value, c.value.design]])
2186
- }, null, 2)) : y("", !0)
2187
- ], 2)]),
2188
- _: 3
2189
- }, 8, [
2190
- "href",
2191
- "target",
2192
- "rel",
2193
- "disabled",
2194
- "aria-disabled",
2195
- "class"
2196
- ]));
2197
- }
2198
- }), _e = { class: "flex-1 flex flex-col min-h-0 py-6 space-y-6 h-full overflow-scroll [scrollbar-width:none] [-ms-overflow-style:none] [&::-webkit-scrollbar]:hidden relative" }, ve = { class: "flex-1 space-y-6 pb-12" }, ye = {
2199
- key: 0,
2200
- class: "text-sm bg-white/10 backdrop-blur-sm rounded-2xl p-4 border border-white/20 space-y-3"
2201
- }, be = ["innerHTML"], xe = {
2202
- key: 1,
2203
- class: "bg-white/5 backdrop-blur-sm rounded-2xl p-4 border border-white/10"
2204
- }, Se = { class: "text-sm text-white/70 leading-relaxed" }, Ce = {
2205
- key: 2,
2206
- class: "space-y-3"
2207
- }, we = {
2208
- key: 3,
2209
- class: "space-y-3"
2210
- }, Te = { class: "grid grid-cols-2 gap-3" }, Ee = /* @__PURE__ */ w({
2211
- __name: "ElAgentAbout",
2212
- props: {
2213
- agent: {},
2214
- isOnline: {
2215
- type: Boolean,
2216
- default: !1
2217
- }
2218
- },
2219
- setup(t) {
2220
- return (n, r) => (k(), b("div", _e, [C(a, {
2221
- agent: t.agent,
2222
- "is-online": t.isOnline
2223
- }, null, 8, ["agent", "is-online"]), x("div", ve, [
2224
- t.agent.summary.value ? (k(), b("div", ye, [r[0] || (r[0] = x("h3", { class: "font-medium text-white/50" }, " About ", -1)), x("div", {
2225
- class: "text-white/70 leading-relaxed",
2226
- innerHTML: t.agent.summary.value
2227
- }, null, 8, be)])) : y("", !0),
2228
- t.agent.entityType.value === "company" ? (k(), b("div", xe, [r[1] || (r[1] = x("h3", { class: "text-sm font-medium text-white/90 mb-2" }, " Company Info ", -1)), x("p", Se, " This is a company agent representing " + P(t.agent.name.value) + ". ", 1)])) : y("", !0),
2229
- t.agent.email.value ? (k(), b("div", Ce, [r[3] || (r[3] = x("h3", { class: "text-sm font-medium text-white/90" }, " Contact ", -1)), C(ge, {
2230
- design: "ghost",
2231
- theme: "default",
2232
- size: "sm",
2233
- class: "bg-white/5 hover:bg-white/10 border border-white/10 text-white/80 text-sm justify-start h-10 w-full",
2234
- icon: "i-heroicons-envelope",
2235
- href: `mailto:${t.agent.email.value}`,
2236
- target: "_blank"
2237
- }, {
2238
- default: L(() => [...r[2] || (r[2] = [S(" Email ", -1)])]),
2239
- _: 1
2240
- }, 8, ["href"])])) : y("", !0),
2241
- t.agent.accounts.value && t.agent.accounts.value.length > 0 ? (k(), b("div", we, [r[4] || (r[4] = x("h3", { class: "text-sm font-medium text-white/90" }, " Links ", -1)), x("div", Te, [(k(!0), b(m, null, j(t.agent.accounts.value, (t) => (k(), v(ge, {
2242
- key: `${t.platform}-${t.handle}`,
2243
- design: "ghost",
2244
- theme: "default",
2245
- size: "md",
2246
- class: "bg-white/10 hover:bg-white/20 border border-white/20 text-white/80",
2247
- icon: F(e)[t.platform].icon,
2248
- href: F(e)[t.platform].getUrl(t.handle),
2249
- target: "_blank"
2250
- }, {
2251
- default: L(() => [S(P(F(e)[t.platform].label), 1)]),
2252
- _: 2
2253
- }, 1032, ["icon", "href"]))), 128))])])) : y("", !0)
2254
- ])]));
2255
- }
2256
- }), De = { class: "flex flex-col items-center text-center gap-4" }, Oe = { class: "relative flex-shrink-0" }, ke = { class: "w-20 h-20 sm:w-24 sm:h-24 rounded-full overflow-hidden border-4 border-white" }, Ae = ["src", "alt"], je = { class: "absolute top-1.5 right-1.5" }, Me = {
2257
- key: 1,
2258
- class: "size-4 bg-theme-400 rounded-full ring-2 ring-white"
2259
- }, Ne = { class: "min-w-0" }, Pe = { class: "text-3xl font-light text-white mb-2 truncate" }, Fe = { class: "text-base font-light text-white/60 line-clamp-1" }, Ie = /* @__PURE__ */ w({
2260
- __name: "ElAgentHeader",
2261
- props: {
2262
- agent: {},
2263
- isOnline: {
2264
- type: Boolean,
2265
- default: !1
2266
- }
2267
- },
2268
- setup(e) {
2269
- return (t, n) => (k(), b("div", De, [x("div", Oe, [x("div", ke, [x("img", {
2270
- src: e.agent.avatarUrl.value,
2271
- alt: e.agent.displayName.value,
2272
- class: "w-full h-full object-cover",
2273
- onError: n[0] || (n[0] = (...e) => F(o) && F(o)(...e))
2274
- }, null, 40, Ae)]), x("div", je, [e.isOnline ? (k(), b(m, { key: 0 }, [n[1] || (n[1] = x("div", {
2275
- class: "size-4 bg-green-500 rounded-full ring-2 ring-white absolute animate-ping",
2276
- style: { "animation-duration": "3s" }
2277
- }, null, -1)), n[2] || (n[2] = x("div", { class: "size-4 bg-green-500 rounded-full ring-2 ring-white" }, null, -1))], 64)) : (k(), b("div", Me))])]), x("div", Ne, [x("h1", Pe, P(e.agent.displayName.value), 1), x("p", Fe, P(e.agent.title.value), 1)])]));
2278
- }
2279
- }), Le = { class: "absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 w-[28px] h-[28px] overflow-hidden" }, Re = /* @__PURE__ */ w({
2280
- name: "SelfSidebarClose",
2281
- __name: "AgentSidebarClose",
2282
- emits: ["click"],
2283
- setup(e) {
2284
- let t = A(!1);
2285
- return O(() => {
2286
- setTimeout(() => {
2287
- t.value = !0;
2288
- }, 100);
2289
- }), (e, n) => (k(), b("a", {
2290
- class: "close block cursor-pointer w-[60px] h-[60px] rounded-full transition-all duration-1000 ease-[cubic-bezier(0.25,1,0.33,1)] hover:scale-110 active:scale-90 hover:rotate-90",
2291
- onClick: n[0] || (n[0] = (t) => e.$emit("click", t))
2292
- }, [n[1] || (n[1] = x("span", { class: "absolute inset-0 rounded-full transition-all" }, null, -1)), x("span", Le, [x("span", {
2293
- class: E(["absolute h-full w-[3px] rounded-[5px] left-[13px] transition-all duration-[400ms] ease-[cubic-bezier(0.52,0.01,0.16,1)]", t.value ? "translate-y-0 translate-x-0 rotate-45" : "translate-y-[30px] -translate-x-[30px] rotate-0"]),
2294
- style: {
2295
- "background-color": "currentColor",
2296
- "transition-delay": "0.15s"
2297
- }
2298
- }, null, 2), x("span", {
2299
- class: E(["absolute h-full w-[3px] rounded-[5px] left-[13px] transition-all duration-[400ms] ease-[cubic-bezier(0.52,0.01,0.16,1)]", t.value ? "translate-y-0 translate-x-0 -rotate-45" : "-translate-y-[30px] -translate-x-[30px] rotate-0"]),
2300
- style: {
2301
- "background-color": "currentColor",
2302
- "transition-delay": "0.45s"
2303
- }
2304
- }, null, 2)])]));
2305
- }
2306
- }), ze = {
2307
- key: 0,
2308
- class: "px-9 pt-12 pb-4"
2309
- }, Be = { class: "text-base font-medium text-theme-400" }, Ve = {
2310
- key: 1,
2311
- class: "px-4 pb-8 border-b border-white/10"
2312
- }, He = ["disabled", "onClick"], Ue = { class: "flex items-center gap-3" }, We = { class: "flex-1" }, Ge = {
2313
- key: 0,
2314
- class: "text-xs text-white/50 mt-0.5"
2315
- }, Ke = { class: "p-6" }, qe = /* @__PURE__ */ w({
2316
- name: "ElSidebar",
2317
- inheritAttrs: !1,
2318
- __name: "ElSidebar",
2319
- props: {
2320
- modelValue: { type: Boolean },
2321
- items: {},
2322
- position: {},
2323
- title: {},
2324
- widthClasses: {}
2325
- },
2326
- emits: ["update:modelValue"],
2327
- setup(e, { emit: t }) {
2328
- let n = e, r = t, i = n.position || "left", a = n.widthClasses || "w-[80%] max-w-[300px]", o = _({
2329
- get: () => n.modelValue,
2330
- set: (e) => r("update:modelValue", e)
2331
- }), s = _(() => n.items.filter((e) => !e.isHidden));
2332
- function handleItemClick(e) {
2333
- e.isDisabled || (e.onClick ? e.onClick({
2334
- item: e,
2335
- event: new MouseEvent("click")
2336
- }) : e.href && (e.href.includes("http") ? window.open(e.href, e.target || "_self")?.focus() : window.location.href = e.href), o.value = !1);
2337
- }
2338
- let c = _(() => i === "left" ? {
2339
- enter: "-translate-x-full",
2340
- leave: "-translate-x-full",
2341
- position: "justify-start",
2342
- closeButton: "-right-16"
2343
- } : {
2344
- enter: "translate-x-full",
2345
- leave: "translate-x-full",
2346
- position: "justify-end",
2347
- closeButton: "-left-16"
2348
- });
2349
- return (t, n) => (k(), b(m, null, [C(h, {
2350
- "enter-active-class": "transition-opacity duration-300 ease-out",
2351
- "leave-active-class": "transition-opacity duration-200 ease-in",
2352
- "enter-from-class": "opacity-0",
2353
- "enter-to-class": "opacity-100",
2354
- "leave-from-class": "opacity-100",
2355
- "leave-to-class": "opacity-0"
2356
- }, {
2357
- default: L(() => [o.value ? (k(), b("div", {
2358
- key: 0,
2359
- class: "absolute inset-0 z-40 bg-black/50 backdrop-blur-sm",
2360
- onClick: n[0] || (n[0] = (e) => o.value = !1)
2361
- })) : y("", !0)]),
2362
- _: 1
2363
- }), C(h, {
2364
- "enter-active-class": "transition-all duration-500 ease-[cubic-bezier(0.25,1,0.33,1)]",
2365
- "leave-active-class": "transition-all duration-400 ease-[cubic-bezier(0.25,1,0.33,1)]",
2366
- "enter-from-class": c.value.enter,
2367
- "enter-to-class": "translate-x-0",
2368
- "leave-from-class": "translate-x-0",
2369
- "leave-to-class": c.value.leave
2370
- }, {
2371
- default: L(() => [o.value ? (k(), b("div", {
2372
- key: 0,
2373
- class: E(["absolute inset-0 z-50 flex", c.value.position]),
2374
- onClick: n[3] || (n[3] = (e) => o.value = !1)
2375
- }, [x("div", {
2376
- class: E(["relative h-full shadow-2xl bg-black/30 backdrop-blur-xl flex flex-col justify-center", F(a)]),
2377
- onClick: n[2] || (n[2] = z(() => {}, ["stop"]))
2378
- }, [
2379
- C(Re, {
2380
- class: E(["absolute top-4 z-10 text-white", c.value.closeButton]),
2381
- onClick: n[1] || (n[1] = (e) => o.value = !1)
2382
- }, null, 8, ["class"]),
2383
- e.title ? (k(), b("div", ze, [x("h3", Be, P(e.title), 1)])) : y("", !0),
2384
- t.$slots.header ? (k(), b("div", Ve, [M(t.$slots, "header")])) : y("", !0),
2385
- x("div", { class: E(["flex-1 p-6 space-y-2 overflow-y-auto", {
2386
- "pt-6": !e.title && !t.$slots.header,
2387
- "pt-4": e.title || t.$slots.header
2388
- }]) }, [C(g, {
2389
- "enter-active-class": "transition-all duration-400 ease-[cubic-bezier(0.25,1,0.33,1)]",
2390
- "leave-active-class": "transition-all duration-200 ease-[cubic-bezier(0.25,1,0.33,1)]",
2391
- "enter-from-class": F(i) === "left" ? "-translate-x-4 opacity-0" : "translate-x-4 opacity-0",
2392
- "enter-to-class": "translate-x-0 opacity-100",
2393
- "leave-from-class": "translate-x-0 opacity-100",
2394
- "leave-to-class": F(i) === "left" ? "-translate-x-4 opacity-0" : "translate-x-4 opacity-0"
2395
- }, {
2396
- default: L(() => [(k(!0), b(m, null, j(s.value, (e, t) => (k(), b("button", {
2397
- key: e.key || e.label || t,
2398
- style: D({ transitionDelay: `${t * 40}ms` }),
2399
- class: E(["cursor-pointer w-full text-left p-3 rounded-xl transition-all duration-200 ease-[cubic-bezier(0.25,1,0.33,1)] group", [e.isActive ? "bg-primary-500/20 border border-primary-500/40" : "hover:bg-white/10", e.isDisabled && "opacity-50 cursor-not-allowed"]]),
2400
- disabled: e.isDisabled,
2401
- onClick: (t) => handleItemClick(e)
2402
- }, [x("div", Ue, [e.icon?.src ? (k(), b("i", {
2403
- key: 0,
2404
- class: E(["size-5 flex-shrink-0 transition-transform duration-200 ease-[cubic-bezier(0.25,1,0.33,1)] group-hover:scale-110", [e.icon.src, e.isActive ? "text-primary-400" : "text-white/70 group-hover:text-white"]])
2405
- }, null, 2)) : y("", !0), x("div", We, [x("div", { class: E(["font-medium text-sm", e.isActive ? "text-primary-300" : "text-white"]) }, P(e.label), 3), e.subLabel ? (k(), b("div", Ge, P(e.subLabel), 1)) : y("", !0)])])], 14, He))), 128))]),
2406
- _: 1
2407
- }, 8, ["enter-from-class", "leave-to-class"])], 2),
2408
- x("div", Ke, [M(t.$slots, "footer")])
2409
- ], 2)], 2)) : y("", !0)]),
2410
- _: 3
2411
- }, 8, ["enter-from-class", "leave-to-class"])], 64));
2412
- }
2413
- }), Je = /* @__PURE__ */ w({
2414
- name: "AgentModeSidebar",
2415
- __name: "ElAgentModeSidebar",
2416
- props: {
2417
- modelValue: { type: Boolean },
2418
- chatController: {}
2419
- },
2420
- emits: ["update:modelValue"],
2421
- setup(e, { emit: t }) {
2422
- let n = e, r = t, a = _({
2423
- get: () => n.modelValue,
2424
- set: (e) => r("update:modelValue", e)
2425
- }), o = _(() => n.chatController?.agentMode?.value ?? "self"), s = _(() => i.map((e) => ({
2426
- key: e.mode,
2427
- icon: { src: e.icon },
2428
- label: e.label,
2429
- isActive: o.value === e.mode,
2430
- onClick: () => {
2431
- n.chatController?.setMode(e.mode);
2432
- }
2433
- })));
2434
- return (e, t) => (k(), v(qe, {
2435
- modelValue: a.value,
2436
- "onUpdate:modelValue": t[0] || (t[0] = (e) => a.value = e),
2437
- items: s.value,
2438
- position: "right",
2439
- title: "Mode",
2440
- "width-classes": "w-[80%] max-w-[255px]"
2441
- }, null, 8, ["modelValue", "items"]));
2442
- }
2443
- }), Ye = /* @__PURE__ */ w({
2444
- name: "AgentSidebar",
2445
- __name: "ElAgentSidebar",
2446
- props: {
2447
- modelValue: { type: Boolean },
2448
- agent: {},
2449
- sdk: {},
2450
- title: {}
2451
- },
2452
- emits: ["update:modelValue"],
2453
- setup(e, { emit: t }) {
2454
- let n = e, r = t, i = _({
2455
- get: () => n.modelValue,
2456
- set: (e) => r("update:modelValue", e)
2457
- }), a = _(() => {
2458
- let e = [
2459
- {
2460
- key: "share",
2461
- icon: { src: "i-tabler-share" },
2462
- label: "Share this assistant",
2463
- onClick: () => {
2464
- let e = `${window.location.origin}/@${n.agent.handle.value || n.agent.agentId.value}`;
2465
- navigator.clipboard.writeText(e).catch((e) => {
2466
- console.error("ElAgentSidebar: clipboard.writeText rejected", e);
2467
- });
2468
- }
2469
- },
2470
- {
2471
- key: "profile",
2472
- icon: { src: "i-tabler-user" },
2473
- label: "View full profile",
2474
- onClick: () => {
2475
- window.open(`/@${n.agent.handle.value || n.agent.agentId.value}`, "_blank");
2476
- }
2477
- },
2478
- {
2479
- key: "create",
2480
- icon: { src: "i-tabler-sparkles" },
2481
- label: "Create your own",
2482
- onClick: () => {
2483
- window.open("/auth", "_blank");
2484
- }
2485
- }
2486
- ];
2487
- return n.sdk.activeUser.value && e.push({
2488
- key: "logout",
2489
- icon: { src: "i-tabler-logout" },
2490
- label: "Logout",
2491
- onClick: async () => {
2492
- await n.sdk.auth.logout();
2493
- }
2494
- }), e;
2495
- });
2496
- return (t, n) => (k(), v(qe, {
2497
- modelValue: i.value,
2498
- "onUpdate:modelValue": n[0] || (n[0] = (e) => i.value = e),
2499
- items: a.value,
2500
- position: "left",
2501
- title: e.title || "Menu"
2502
- }, null, 8, [
2503
- "modelValue",
2504
- "items",
2505
- "title"
2506
- ]));
2507
- }
2508
- }), Xe = {
2509
- key: 0,
2510
- class: "absolute inset-0 flex items-center justify-center bg-gradient-to-br from-theme-800 to-theme-950 rounded-3xl z-10"
2511
- }, Ze = ["data-quality"], Qe = {
2512
- key: 0,
2513
- class: "flex items-center"
2514
- }, $e = { class: "flex-1 flex items-center gap-3 pl-2" }, et = ["src", "alt"], tt = { class: "text-white/90 text-sm font-medium" }, nt = {
2515
- key: 0,
2516
- class: "flex justify-end"
2517
- }, rt = { class: "text-sm" }, it = {
2518
- key: 0,
2519
- class: "flex-1 basis-0 flex justify-end"
2520
- }, at = {
2521
- key: 0,
2522
- class: "flex-1 flex flex-col relative z-20 min-h-0 w-full px-4"
2523
- }, ot = { class: "flex-1 min-h-0 max-w-md mx-auto w-full" }, st = {
2524
- key: 0,
2525
- class: "h-full pb-12 flex-1 flex flex-col relative z-20 min-h-0 px-4 @[480px]/agent:px-6 max-w-md mx-auto w-full"
2526
- }, ct = { class: "flex-1 basis-0 flex flex-col justify-start pt-8 gap-7" }, lt = {
2527
- key: 0,
2528
- class: "flex items-center justify-center gap-3"
2529
- }, ut = ["href"], dt = {
2530
- key: 1,
2531
- class: "flex-1 flex flex-col relative z-20 min-h-0 w-full gap-4 px-4"
2532
- }, ft = { class: "max-w-md mx-auto" }, pt = {
2533
- key: 2,
2534
- class: "flex-1 flex flex-col relative z-20 min-h-0 w-full px-4 @[480px]/agent:px-6"
2535
- }, mt = { class: "flex-1 min-h-0 max-w-md mx-auto w-full" }, ht = {
2536
- key: 2,
2537
- class: "bg-gradient-to-br from-theme-800 to-theme-950 text-white flex items-center justify-center h-full p-8"
2538
- }, gt = { class: "text-center max-w-md space-y-4" }, _t = { class: "text-sm text-white/70 leading-relaxed" }, vt = {
2539
- key: 3,
2540
- class: "bg-white/10 backdrop-blur-sm text-white/70 flex items-center justify-center h-full"
2541
- }, yt = /* @__PURE__ */ w({
2542
- __name: "AgentChat",
2543
- props: {
2544
- sdk: {},
2545
- agent: {},
2546
- context: {},
2547
- firstMessage: {},
2548
- buttonText: {},
2549
- buttonIcon: {},
2550
- hasClose: {
2551
- type: Boolean,
2552
- default: !1
2553
- },
2554
- isActive: {
2555
- type: Boolean,
2556
- default: !0
2557
- },
2558
- loading: {
2559
- type: Boolean,
2560
- default: !1
2561
- },
2562
- theme: { default: "green" },
2563
- requireAuth: {
2564
- type: Boolean,
2565
- default: !1
2566
- },
2567
- chatOnly: {
2568
- type: Boolean,
2569
- default: !1
2570
- }
2571
- },
2572
- emits: ["close", "error"],
2573
- setup(t, { emit: o }) {
2574
- let l = o, d = te(), h = A(!1), g = A(!1), w = A(), T = A(), M = _(() => d.value?.agentMode?.value ?? "self"), N = _(() => d.value?.textState.value.isConnected ?? !1), R = _(() => t.sdk.activeUser.value !== void 0), B = _(() => i.find((e) => e.mode === M.value));
2575
- function createChatController() {
2576
- d.value && d.value.destroy();
2577
- try {
2578
- d.value = new r({
2579
- sdk: t.sdk,
2580
- agent: t.agent,
2581
- context: t.context,
2582
- firstMessage: t.firstMessage
2583
- });
2584
- } catch (e) {
2585
- throw console.error("AgentChatController creation failed:", e), e;
2586
- }
2587
- }
2588
- function applyTheme(e) {
2589
- if (!T.value) return;
2590
- let t = p(e);
2591
- Object.entries(t).forEach(([e, t]) => {
2592
- T.value.style.setProperty(`--primary-${e}`, t);
2593
- });
2594
- }
2595
- O(() => {
2596
- try {
2597
- createChatController(), applyTheme(t.theme), t.chatOnly && d.value && d.value.setMode("chat");
2598
- } catch (e) {
2599
- let t = e instanceof Error ? e.message : "Couldn't initialize your assistant";
2600
- w.value = t, l("error", t);
2601
- }
2602
- }), ee(() => {
2603
- d.value && d.value.destroy();
2604
- }), I(() => t.theme, (e) => {
2605
- applyTheme(e);
2606
- }), I(() => t.sdk.activeUser.value, (e, t) => {
2607
- t && !e && d.value && d.value.setMode("self");
2608
- });
2609
- let V = _(() => !!(t.agent.cover.value?.src && t.agent.cover.value?.quality === "low") || !!(t.agent.avatar.value?.src && t.agent.avatar.value?.quality === "low")), H = _(() => {
2610
- let e = [V.value ? "backdrop-blur-sm" : ""];
2611
- return V.value && M.value === "self" ? e.push("from-black/80 via-black/60 to-black/80") : M.value === "self" ? e.push("from-black/70 via-black/50 to-black/80") : e.push("from-black/90 via-black/90 to-black/100"), e.join(" ");
2612
- }), U = {
2613
- phone: "i-heroicons-phone",
2614
- calendar: "i-heroicons-calendar",
2615
- question: "i-heroicons-question-mark-circle",
2616
- message: "i-heroicons-chat-bubble-left-right",
2617
- sparkles: "i-heroicons-sparkles"
2618
- }, W = _(() => f({
2619
- template: t.buttonText || "Talk to {name}",
2620
- agent: t.agent.toConfig()
2621
- })), G = _(() => U[t.buttonIcon || "phone"] || U.phone);
2622
- return (r, i) => (k(), b("div", {
2623
- ref_key: "rootElement",
2624
- ref: T,
2625
- key: F(n)(t.agent.toConfig()),
2626
- class: "pagelines-sdk @container/agent pagelines-agent w-full h-full overflow-hidden relative",
2627
- "data-test": "agent-chat"
2628
- }, [
2629
- t.loading ? (k(), b("div", Xe, [C(s, { class: "text-white size-8" })])) : t.agent && !w.value ? (k(), b("div", {
2630
- key: 1,
2631
- class: "absolute inset-0 bg-cover bg-center bg-no-repeat",
2632
- style: D({ backgroundImage: `url(${F(n)(t.agent.toConfig())})` }),
2633
- "data-quality": t.agent.avatar.value?.quality || "none"
2634
- }, [x("div", { class: E(["absolute inset-0 bg-gradient-to-br z-0", H.value]) }, null, 2), x("div", { class: E(["relative z-10 flex flex-col h-full transition-all duration-500 ease-[cubic-bezier(0.25,1,0.33,1)] will-change-transform", t.isActive ? "opacity-100 translate-y-0" : "opacity-0 translate-y-2"]) }, [x("div", { class: E(["relative z-30 p-2", M.value === "self" ? "" : "backdrop-blur-lg"]) }, [t.chatOnly ? (k(), b("div", Qe, [x("div", $e, [x("img", {
2635
- src: F(n)(t.agent.toConfig()),
2636
- alt: t.agent.displayName.value,
2637
- class: "size-8 rounded-full object-cover"
2638
- }, null, 8, et), x("span", tt, P(t.agent.displayName.value), 1)]), t.hasClose ? (k(), b("div", nt, [x("button", {
2639
- class: "cursor-pointer flex items-center p-3 rounded-2xl text-white/70 hover:bg-white/10 transition-colors",
2640
- onClick: i[0] || (i[0] = z((e) => l("close", "button"), ["stop"]))
2641
- }, [...i[7] || (i[7] = [x("i", { class: "size-6 i-tabler-x" }, null, -1)])])])) : y("", !0)])) : (k(), b("div", {
2642
- key: 1,
2643
- class: E(["flex items-center", t.hasClose ? "" : "justify-between"])
2644
- }, [
2645
- x("div", { class: E(t.hasClose ? "flex-1 basis-0" : "") }, [x("button", {
2646
- class: "cursor-pointer p-2 flex items-center gap-2 rounded-2xl text-white/70 hover:bg-white/10 transition-all duration-300 ease-[cubic-bezier(0.25,1,0.33,1)] hover:scale-105 active:scale-95",
2647
- onClick: i[1] || (i[1] = (e) => h.value = !0)
2648
- }, [...i[8] || (i[8] = [x("i", { class: "i-tabler-menu size-7" }, null, -1)])])], 2),
2649
- x("button", {
2650
- class: E(["flex items-center gap-2 px-3.5 py-3 rounded-2xl text-white/90 hover:bg-white/10 transition-all cursor-pointer flex-grow-0", { "bg-white/10": g.value }]),
2651
- onClick: i[2] || (i[2] = (e) => g.value = !0)
2652
- }, [
2653
- x("i", { class: E([B.value?.icon, "size-4 opacity-60"]) }, null, 2),
2654
- x("span", rt, P(B.value?.label), 1),
2655
- i[9] || (i[9] = x("i", { class: "i-tabler-chevron-down size-4" }, null, -1))
2656
- ], 2),
2657
- t.hasClose ? (k(), b("div", it, [x("button", {
2658
- class: "cursor-pointer flex items-center p-3 rounded-2xl text-white/70 hover:bg-white/10 transition-colors",
2659
- onClick: i[3] || (i[3] = z((e) => l("close", "button"), ["stop"]))
2660
- }, [...i[10] || (i[10] = [x("i", { class: "size-6 i-tabler-x" }, null, -1)])])])) : y("", !0)
2661
- ], 2))], 2), t.chatOnly ? (k(), b("div", at, [x("div", ot, [C(c, {
2662
- "chat-controller": d.value,
2663
- agent: t.agent
2664
- }, null, 8, ["chat-controller", "agent"])])])) : (k(), b(m, { key: 1 }, [M.value === "self" ? (k(), b("div", st, [
2665
- i[11] || (i[11] = x("div", { class: "flex-1 basis-0 mb-12" }, null, -1)),
2666
- C(Ie, {
2667
- agent: t.agent,
2668
- "is-online": N.value
2669
- }, null, 8, ["agent", "is-online"]),
2670
- x("div", ct, [C(u, {
2671
- theme: "primary",
2672
- size: "lg",
2673
- class: "w-full",
2674
- icon: G.value,
2675
- "data-test": "voice-button",
2676
- onClick: i[4] || (i[4] = (e) => d.value?.setMode("talk"))
2677
- }, {
2678
- default: L(() => [S(P(W.value), 1)]),
2679
- _: 1
2680
- }, 8, ["icon"]), t.agent.accounts.value && t.agent.accounts.value.length > 0 ? (k(), b("div", lt, [(k(!0), b(m, null, j((t.agent.accounts.value || []).filter((t) => F(e)[t.platform]), (t) => (k(), b("a", {
2681
- key: `${t.platform}-${t.handle}`,
2682
- href: F(e)[t.platform].getUrl(t.handle),
2683
- target: "_blank",
2684
- class: "size-12 rounded-full text-white/60 hover:text-white hover:bg-white/5 border border-white/0 hover:border-white/10 flex items-center justify-center transition-all duration-200 hover:scale-105"
2685
- }, [x("i", { class: E([F(e)[t.platform].icon, "size-5"]) }, null, 2)], 8, ut))), 128))])) : y("", !0)])
2686
- ])) : M.value === "talk" ? (k(), b("div", dt, [t.requireAuth && !R.value ? (k(), v(K, {
2687
- key: 0,
2688
- sdk: t.sdk
2689
- }, null, 8, ["sdk"])) : (k(), b(m, { key: 1 }, [x("div", null, [x("div", ft, [C(a, {
2690
- agent: t.agent,
2691
- "is-online": N.value
2692
- }, null, 8, ["agent", "is-online"])])]), C(c, {
2693
- "chat-controller": d.value,
2694
- agent: t.agent
2695
- }, null, 8, ["chat-controller", "agent"])], 64))])) : (k(), b("div", pt, [x("div", mt, [M.value === "chat" ? (k(), b(m, { key: 0 }, [t.requireAuth && !R.value ? (k(), v(K, {
2696
- key: 0,
2697
- sdk: t.sdk
2698
- }, null, 8, ["sdk"])) : (k(), v(c, {
2699
- key: 1,
2700
- "chat-controller": d.value,
2701
- agent: t.agent
2702
- }, null, 8, ["chat-controller", "agent"]))], 64)) : M.value === "info" ? (k(), v(Ee, {
2703
- key: 1,
2704
- agent: t.agent,
2705
- "is-online": N.value
2706
- }, null, 8, ["agent", "is-online"])) : y("", !0)])]))], 64))], 2)], 12, Ze)) : w.value ? (k(), b("div", ht, [x("div", gt, [
2707
- i[12] || (i[12] = x("div", { class: "flex justify-center" }, [x("div", { class: "rounded-full bg-red-500/20 flex items-center justify-center size-10" }, [x("i", { class: "i-tabler-alert-circle size-6 text-red-400" })])], -1)),
2708
- i[13] || (i[13] = x("h3", { class: "text-lg font-medium" }, " Agent Error ", -1)),
2709
- x("p", _t, P(w.value), 1)
2710
- ])])) : (k(), b("div", vt, " Couldn't load your assistant. Please try again later. ")),
2711
- t.chatOnly ? y("", !0) : (k(), v(Ye, {
2712
- key: 4,
2713
- modelValue: h.value,
2714
- "onUpdate:modelValue": i[5] || (i[5] = (e) => h.value = e),
2715
- agent: t.agent,
2716
- sdk: t.sdk,
2717
- title: t.agent.displayName.value,
2718
- "data-test": "agent-sidebar"
2719
- }, null, 8, [
2720
- "modelValue",
2721
- "agent",
2722
- "sdk",
2723
- "title"
2724
- ])),
2725
- t.chatOnly ? y("", !0) : (k(), v(Je, {
2726
- key: 5,
2727
- modelValue: g.value,
2728
- "onUpdate:modelValue": i[6] || (i[6] = (e) => g.value = e),
2729
- "chat-controller": d.value,
2730
- "data-test": "agent-mode-sidebar"
2731
- }, null, 8, ["modelValue", "chat-controller"]))
2732
- ]));
2733
- }
2734
- }), bt = /* @__PURE__ */ w({
2735
- __name: "AgentProvider",
2736
- props: {
2737
- sdk: {},
2738
- agent: {},
2739
- handle: {},
2740
- context: {},
2741
- firstMessage: {},
2742
- buttonText: {},
2743
- buttonIcon: {},
2744
- hasClose: { type: Boolean },
2745
- chatOnly: { type: Boolean },
2746
- apiBase: {}
2747
- },
2748
- emits: ["close", "error"],
2749
- setup(e, { emit: t }) {
2750
- let n = e, r = t;
2751
- return (e, t) => (k(), v(d, T(n, { class: "agent-provider size-full relative" }), {
2752
- default: L((e) => [C(yt, {
2753
- sdk: e.sdk,
2754
- agent: e.agent,
2755
- context: e.context,
2756
- "first-message": e.firstMessage,
2757
- "button-text": n.buttonText,
2758
- "button-icon": n.buttonIcon,
2759
- "has-close": n.hasClose,
2760
- "chat-only": n.chatOnly,
2761
- "is-active": !0,
2762
- class: "size-full",
2763
- onClose: t[0] || (t[0] = (e) => r("close", e)),
2764
- onError: t[1] || (t[1] = (e) => r("error", e))
2765
- }, null, 8, [
2766
- "sdk",
2767
- "agent",
2768
- "context",
2769
- "first-message",
2770
- "button-text",
2771
- "button-icon",
2772
- "has-close",
2773
- "chat-only"
2774
- ])]),
2775
- _: 1
2776
- }, 16));
2777
- }
2778
- });
2779
- //#endregion
2780
- export { yt as n, bt as t };
2781
-
2782
- //# sourceMappingURL=AgentProvider.js.map