@centive/aria-sdk 0.8.8 → 0.8.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
- import { jsx as n, jsxs as E, Fragment as Ve } from "react/jsx-runtime";
2
- import { useRef as me, useState as I, useEffect as ee, useCallback as H } from "react";
3
- import { Sparkles as Ne, Wrench as He, MicOff as je, Mic as De, Maximize2 as dr, Phone as We, X as Be, RefreshCw as Oe, MessageCircle as Fe, Minimize2 as gr, User as hr, Bot as ur, Send as pr } from "lucide-react";
1
+ import { jsx as n, jsxs as E, Fragment as He } from "react/jsx-runtime";
2
+ import { useRef as me, useState as I, useEffect as ee, useCallback as V } from "react";
3
+ import { Sparkles as Re, Wrench as Ve, MicOff as je, Mic as Be, Maximize2 as dr, Phone as De, X as Oe, RefreshCw as We, MessageCircle as Fe, Minimize2 as gr, User as hr, Bot as ur, Send as pr } from "lucide-react";
4
4
  import { createPortal as mr } from "react-dom";
5
5
  function fr(r) {
6
6
  return typeof r == "object" && r !== null && "status" in r && (r.status === "success" || r.status === "error") && !("type" in r);
@@ -17,10 +17,10 @@ function vr(r) {
17
17
  function yr(r) {
18
18
  return typeof r == "object" && r !== null && "type" in r && r.type === "session_end_error" && "status" in r && r.status === "error";
19
19
  }
20
- function Ar(r) {
20
+ function xr(r) {
21
21
  return typeof r == "object" && r !== null && "type" in r && r.type === "trigger_event";
22
22
  }
23
- function xr(r) {
23
+ function Ar(r) {
24
24
  return typeof r == "object" && r !== null && "status" in r && r.status === "ok" && "message" in r && !("type" in r);
25
25
  }
26
26
  function kr(r) {
@@ -320,11 +320,11 @@ class U {
320
320
  console.error(`[AriaSessionManager] Missing fields error: ${t.message}`), this.config.onError?.(new Error(t.message));
321
321
  return;
322
322
  }
323
- if (Ar(t)) {
323
+ if (xr(t)) {
324
324
  console.log("[AriaSessionManager] WebSocket trigger event received:", t.data), this.config.onWebSocketEvent?.(t), this.onWebSocketTrigger?.(t);
325
325
  return;
326
326
  }
327
- if (xr(t)) {
327
+ if (Ar(t)) {
328
328
  console.log(`[AriaSessionManager] Generic acknowledgment: ${t.message}`);
329
329
  return;
330
330
  }
@@ -525,14 +525,14 @@ class U {
525
525
  }
526
526
  this.autoReconnectOnAnamDisconnect && !this.isIntentionalDisconnect && !this.isReconnecting && (console.log("[AriaSessionManager] Anam disconnected unexpectedly, auto-reconnecting..."), this.autoReconnectSession());
527
527
  }), a.addListener(o.MESSAGE_HISTORY_UPDATED, (m) => {
528
- this.chatMessages = m.map((x) => ({
529
- role: x.role,
530
- content: x.content,
528
+ this.chatMessages = m.map((A) => ({
529
+ role: A.role,
530
+ content: A.content,
531
531
  timestamp: Date.now()
532
532
  }));
533
- const f = m.map((x) => ({
534
- role: x.role,
535
- content: x.content,
533
+ const f = m.map((A) => ({
534
+ role: A.role,
535
+ content: A.content,
536
536
  timestamp: (/* @__PURE__ */ new Date()).toISOString()
537
537
  }));
538
538
  this.sendMessageHistory(f), this.emit({ type: "message_history", data: { messages: this.chatMessages } });
@@ -794,11 +794,11 @@ class U {
794
794
  // ============================================================================
795
795
  /**
796
796
  * Check if session persistence is enabled
797
- * Always returns TRUE - sessions always persist when widget closes
798
- * Session only ends on logout (forceEndSession) or component unmount
797
+ * Returns FALSE - sessions are ended when widget closes to save Anam resources
798
+ * A new session with skip_greeting is created when widget reopens
799
799
  */
800
800
  isPersistSessionEnabled() {
801
- return !0;
801
+ return !1;
802
802
  }
803
803
  /**
804
804
  * Check if WebSocket should stay alive when paused
@@ -807,78 +807,50 @@ class U {
807
807
  return this.config.keepWebSocketAlive !== !1;
808
808
  }
809
809
  /**
810
- * Check if session is currently paused
810
+ * Check if widget is closed (session was ended on close)
811
+ * Note: With the new behavior, sessions are ended when widget closes,
812
+ * not paused. This returns true if the widget was closed.
811
813
  */
812
814
  isSessionPaused() {
813
- return this.isPaused;
815
+ return !this.anamClient && this.hasHadSessionBefore;
814
816
  }
815
817
  /**
816
- * Pause the session (called when widget closes)
817
- * - Does NOT end the session - keeps Anam client and video stream alive
818
- * - Optionally disconnects WebSocket (based on keepWebSocketAlive)
819
- * - Keeps session token and state in memory
820
- * - Session can be resumed when widget reopens
818
+ * Pause the session (called when widget closes / user hangs up)
819
+ *
820
+ * NEW BEHAVIOR: Ends the Anam session to save resources.
821
+ * When widget reopens, a new session is created with skip_greeting: true
822
+ * so the greeting doesn't play again.
823
+ *
824
+ * This is more resource-efficient than keeping the session alive.
821
825
  */
822
- pauseSession() {
823
- if (this.isPaused) {
824
- console.log("[AriaSessionManager] Session already paused");
825
- return;
826
- }
826
+ async pauseSession() {
827
827
  if (!this.anamClient) {
828
- console.log("[AriaSessionManager] No active Anam client, nothing to pause");
828
+ console.log("[AriaSessionManager] No active Anam client, nothing to pause/end");
829
829
  return;
830
830
  }
831
- console.log("[AriaSessionManager] Pausing session - keeping Anam client alive"), this.isPaused = !0, this.hiddenVideoElement && (this.hiddenVideoElement.muted = !0), this.hiddenAudioElement && (this.hiddenAudioElement.muted = !0, console.log("[AriaSessionManager] Audio element muted (session paused)")), this.shouldKeepWebSocketAlive() || (console.log("[AriaSessionManager] Disconnecting WebSocket (keepWebSocketAlive: false)"), this.ws && (this.ws.close(), this.ws = null)), this.config.onSessionPaused?.();
831
+ console.log("[AriaSessionManager] Widget closed - ending Anam session (will skip greeting on reopen)"), await this.endCurrentSession(), this.config.onSessionPaused?.();
832
832
  }
833
833
  /**
834
834
  * Resume the session (called when widget reopens)
835
- * - Reconnects WebSocket if needed
836
- * - Reuses existing Anam client and video stream
837
- * - Does NOT create a new session
838
- * @returns true if session was successfully resumed, false if a new session is needed
835
+ *
836
+ * NEW BEHAVIOR: Since we end the session on pause, this now creates a new session
837
+ * with skip_greeting: true. The new session token should already be preloaded
838
+ * (requested in endCurrentSession), so initialization should be fast.
839
+ *
840
+ * @returns true if session initialization started, false if already has active session
839
841
  */
840
842
  async resumeSession() {
841
- if (!this.isPaused)
842
- return console.log("[AriaSessionManager] Session not paused, nothing to resume"), !1;
843
- if (console.log("[AriaSessionManager] Resuming session"), this.isPaused = !1, !this.anamClient)
844
- return console.log("[AriaSessionManager] No Anam client, cannot resume - will create new session"), !1;
845
- if (this.sessionState.expires_at) {
846
- const a = new Date(this.sessionState.expires_at).getTime();
847
- if (Date.now() >= a)
848
- return console.log("[AriaSessionManager] Session expired, will create new session"), await this.stopStreaming(), this.resetSessionState(), !1;
849
- }
850
- if (!this.videoStream)
851
- return console.log("[AriaSessionManager] No video stream available, will create new session"), await this.stopStreaming(), this.resetSessionState(), !1;
852
- const e = this.videoStream.getTracks(), t = e.filter((a) => a.kind === "video"), o = t.filter((a) => a.readyState === "live");
853
- return console.log("[AriaSessionManager] Video stream tracks:", e.length, "video:", t.length, "active:", o.length), o.length === 0 ? (console.log("[AriaSessionManager] No active video tracks, Anam connection is dead - will create new session"), await this.stopStreaming(), this.resetSessionState(), !1) : (this.hiddenAudioElement && (this.hiddenAudioElement.muted = !1, this.hiddenAudioElement.play().catch((a) => {
854
- console.warn("[AriaSessionManager] Audio play failed on resume:", a);
855
- }), console.log("[AriaSessionManager] Audio element unmuted (session resumed)")), this.isConnected() || (console.log("[AriaSessionManager] Reconnecting WebSocket for resumed session"), this.reconnectForResume()), this.setStatus("ready"), this.config.onSessionResumed?.(), !0);
856
- }
857
- /**
858
- * Reconnect WebSocket for session resume (without triggering new session)
859
- */
860
- reconnectForResume() {
861
- if (this.ws?.readyState === WebSocket.OPEN) {
862
- console.log("[AriaSessionManager] WebSocket already connected");
863
- return;
864
- }
865
- if (this.ws?.readyState === WebSocket.CONNECTING) {
866
- console.log("[AriaSessionManager] WebSocket already connecting");
867
- return;
868
- }
869
- this.setStatus("connecting");
870
- try {
871
- this.ws = new WebSocket(this.config.websocketUrl), this.ws.onopen = () => {
872
- console.log("[AriaSessionManager] WebSocket reconnected for resumed session"), this.setStatus("ready"), this.retryCount = 0, this.emit({ type: "connection_change", data: { connected: !0 } }), this.config.onConnectionStateChange?.(!0), console.log("[AriaSessionManager] Session resumed with existing token");
873
- }, this.ws.onmessage = (e) => this.handleWebSocketMessage(e), this.ws.onerror = (e) => {
874
- console.error("[AriaSessionManager] WebSocket error during resume:", e), this.setStatus("error"), this.updateSessionState({ lastError: "WebSocket connection error" }), this.config.onError?.(new Error("WebSocket connection failed"));
875
- }, this.ws.onclose = () => {
876
- console.log("[AriaSessionManager] WebSocket disconnected"), this.emit({ type: "connection_change", data: { connected: !1 } }), this.config.onConnectionStateChange?.(!1), !this.sessionState.isRefreshing && !this.isPaused && this.setStatus("idle");
877
- };
878
- } catch (e) {
879
- const t = e instanceof Error ? e.message : "Failed to reconnect WebSocket";
880
- console.error("[AriaSessionManager] Reconnection error:", t), this.setStatus("error"), this.updateSessionState({ lastError: t }), this.config.onError?.(e instanceof Error ? e : new Error(t));
843
+ if (console.log("[AriaSessionManager] Widget reopened - will create new session with skip_greeting"), this.anamClient && this.videoStream)
844
+ return console.log("[AriaSessionManager] Active session exists, no need to create new one"), this.setStatus("ready"), this.config.onSessionResumed?.(), !0;
845
+ if (this.sessionState.token && !this.isTokenExpired()) {
846
+ console.log("[AriaSessionManager] Session token ready, initializing Anam client (skip_greeting applied)");
847
+ try {
848
+ return await this.initializeAnamClient(this.sessionState.token), this.config.onSessionResumed?.(), !0;
849
+ } catch (e) {
850
+ console.error("[AriaSessionManager] Failed to initialize session on resume:", e), this.updateSessionState({ token: null, isSessionReady: !1 });
851
+ }
881
852
  }
853
+ return this.isConnected() ? (console.log("[AriaSessionManager] Requesting new session token for resume"), this.requestSessionToken()) : (console.log("[AriaSessionManager] WebSocket not connected, reconnecting..."), this.connect()), !1;
882
854
  }
883
855
  /**
884
856
  * Reset session state (used when session expires or needs to be recreated)
@@ -1041,7 +1013,7 @@ const S = {
1041
1013
  uiContainer: null,
1042
1014
  reactRoot: null
1043
1015
  };
1044
- class Ae {
1016
+ class xe {
1045
1017
  /**
1046
1018
  * Initialize the Aria SDK with the given configuration.
1047
1019
  * This sets up the WebSocket connection, session management, and UI components.
@@ -1070,8 +1042,8 @@ class Ae {
1070
1042
  if (!e.userId)
1071
1043
  throw new Error("[AriaCore] userId is required");
1072
1044
  console.log("[AriaCore] Initializing Aria SDK..."), S.config = e;
1073
- const t = Ae.buildFullConfig(e);
1074
- S.sessionManager = U.getInstance(t), S.sessionManager.connect(), Ae.mountUI(e.theme || "light", e.triggerLabel), S.initialized = !0, console.log("[AriaCore] Aria SDK initialized successfully");
1045
+ const t = xe.buildFullConfig(e);
1046
+ S.sessionManager = U.getInstance(t), S.sessionManager.connect(), xe.mountUI(e.theme || "light", e.triggerLabel), S.initialized = !0, console.log("[AriaCore] Aria SDK initialized successfully");
1075
1047
  }
1076
1048
  /**
1077
1049
  * Open the Aria assistant widget.
@@ -1202,7 +1174,7 @@ class Ae {
1202
1174
  console.log("[AriaCore] Not initialized, nothing to destroy.");
1203
1175
  return;
1204
1176
  }
1205
- console.log("[AriaCore] Destroying Aria SDK..."), Ae.unmountUI(), U.destroyInstance(), S.initialized = !1, S.config = null, S.sessionManager = null, S.uiContainer = null, S.reactRoot = null, console.log("[AriaCore] Aria SDK destroyed");
1177
+ console.log("[AriaCore] Destroying Aria SDK..."), xe.unmountUI(), U.destroyInstance(), S.initialized = !1, S.config = null, S.sessionManager = null, S.uiContainer = null, S.reactRoot = null, console.log("[AriaCore] Aria SDK destroyed");
1206
1178
  }
1207
1179
  // ============================================================================
1208
1180
  // Private Methods
@@ -1250,7 +1222,7 @@ class Ae {
1250
1222
  */
1251
1223
  static mountUI(e, t) {
1252
1224
  const o = document.createElement("div");
1253
- o.id = "aria-sdk-root", o.setAttribute("data-aria-theme", e), o.setAttribute("data-aria-open", "false"), document.body.appendChild(o), S.uiContainer = o, Ae.renderReactUI(o, e, t);
1225
+ o.id = "aria-sdk-root", o.setAttribute("data-aria-theme", e), o.setAttribute("data-aria-open", "false"), document.body.appendChild(o), S.uiContainer = o, xe.renderReactUI(o, e, t);
1254
1226
  }
1255
1227
  /**
1256
1228
  * Render React UI components
@@ -1342,8 +1314,8 @@ const Ke = ({
1342
1314
  ee(() => {
1343
1315
  const f = l.current;
1344
1316
  if (!f) return;
1345
- let x = f.shadowRoot;
1346
- x || (x = f.attachShadow({ mode: "open" })), b(x);
1317
+ let A = f.shadowRoot;
1318
+ A || (A = f.attachShadow({ mode: "open" })), b(A);
1347
1319
  }, []), ee(() => {
1348
1320
  if (!i || !e) return;
1349
1321
  const f = i.querySelector("style[data-aria-styles]");
@@ -1351,9 +1323,9 @@ const Ke = ({
1351
1323
  f.textContent = e;
1352
1324
  return;
1353
1325
  }
1354
- const x = document.createElement("style");
1355
- return x.setAttribute("data-aria-styles", "true"), x.textContent = e, i.prepend(x), () => {
1356
- x.remove();
1326
+ const A = document.createElement("style");
1327
+ return A.setAttribute("data-aria-styles", "true"), A.textContent = e, i.prepend(A), () => {
1328
+ A.remove();
1357
1329
  };
1358
1330
  }, [i, e]);
1359
1331
  const [d, m] = I(null);
@@ -1387,14 +1359,14 @@ function Cr() {
1387
1359
  for (var r, e, t = 0, o = "", a = arguments.length; t < a; t++) (r = arguments[t]) && (e = Xe(r)) && (o && (o += " "), o += e);
1388
1360
  return o;
1389
1361
  }
1390
- const Nr = (r, e) => {
1362
+ const Rr = (r, e) => {
1391
1363
  const t = new Array(r.length + e.length);
1392
1364
  for (let o = 0; o < r.length; o++)
1393
1365
  t[o] = r[o];
1394
1366
  for (let o = 0; o < e.length; o++)
1395
1367
  t[r.length + o] = e[o];
1396
1368
  return t;
1397
- }, Rr = (r, e) => ({
1369
+ }, Nr = (r, e) => ({
1398
1370
  classGroupId: r,
1399
1371
  validator: e
1400
1372
  }), Ze = (r = /* @__PURE__ */ new Map(), e = null, t) => ({
@@ -1416,7 +1388,7 @@ const Nr = (r, e) => {
1416
1388
  getConflictingClassGroupIds: (i, b) => {
1417
1389
  if (b) {
1418
1390
  const d = o[i], m = t[i];
1419
- return d ? m ? Nr(m, d) : d : m || Le;
1391
+ return d ? m ? Rr(m, d) : d : m || Le;
1420
1392
  }
1421
1393
  return t[i] || Le;
1422
1394
  }
@@ -1446,8 +1418,8 @@ const Nr = (r, e) => {
1446
1418
  theme: e,
1447
1419
  classGroups: t
1448
1420
  } = r;
1449
- return Vr(t, e);
1450
- }, Vr = (r, e) => {
1421
+ return Hr(t, e);
1422
+ }, Hr = (r, e) => {
1451
1423
  const t = Ze();
1452
1424
  for (const o in r) {
1453
1425
  const a = r[o];
@@ -1458,28 +1430,28 @@ const Nr = (r, e) => {
1458
1430
  const a = r.length;
1459
1431
  for (let l = 0; l < a; l++) {
1460
1432
  const i = r[l];
1461
- Hr(i, e, t, o);
1433
+ Vr(i, e, t, o);
1462
1434
  }
1463
- }, Hr = (r, e, t, o) => {
1435
+ }, Vr = (r, e, t, o) => {
1464
1436
  if (typeof r == "string") {
1465
1437
  jr(r, e, t);
1466
1438
  return;
1467
1439
  }
1468
1440
  if (typeof r == "function") {
1469
- Dr(r, e, t, o);
1441
+ Br(r, e, t, o);
1470
1442
  return;
1471
1443
  }
1472
- Wr(r, e, t, o);
1444
+ Dr(r, e, t, o);
1473
1445
  }, jr = (r, e, t) => {
1474
1446
  const o = r === "" ? e : $e(e, r);
1475
1447
  o.classGroupId = t;
1476
- }, Dr = (r, e, t, o) => {
1477
- if (Br(r)) {
1448
+ }, Br = (r, e, t, o) => {
1449
+ if (Or(r)) {
1478
1450
  ze(r(o), e, t, o);
1479
1451
  return;
1480
1452
  }
1481
- e.validators === null && (e.validators = []), e.validators.push(Rr(t, r));
1482
- }, Wr = (r, e, t, o) => {
1453
+ e.validators === null && (e.validators = []), e.validators.push(Nr(t, r));
1454
+ }, Dr = (r, e, t, o) => {
1483
1455
  const a = Object.entries(r), l = a.length;
1484
1456
  for (let i = 0; i < l; i++) {
1485
1457
  const [b, d] = a[i];
@@ -1494,7 +1466,7 @@ const Nr = (r, e) => {
1494
1466
  b || (b = Ze(), t.nextPart.set(i, b)), t = b;
1495
1467
  }
1496
1468
  return t;
1497
- }, Br = (r) => "isThemeGetter" in r && r.isThemeGetter === !0, Or = (r) => {
1469
+ }, Or = (r) => "isThemeGetter" in r && r.isThemeGetter === !0, Wr = (r) => {
1498
1470
  if (r < 1)
1499
1471
  return {
1500
1472
  get: () => {
@@ -1518,7 +1490,7 @@ const Nr = (r, e) => {
1518
1490
  l in t ? t[l] = i : a(l, i);
1519
1491
  }
1520
1492
  };
1521
- }, Re = "!", _e = ":", Fr = [], Ge = (r, e, t, o, a) => ({
1493
+ }, Ne = "!", _e = ":", Fr = [], Ge = (r, e, t, o, a) => ({
1522
1494
  modifiers: r,
1523
1495
  hasImportantModifier: e,
1524
1496
  baseClassName: t,
@@ -1533,31 +1505,31 @@ const Nr = (r, e) => {
1533
1505
  const l = [];
1534
1506
  let i = 0, b = 0, d = 0, m;
1535
1507
  const f = a.length;
1536
- for (let D = 0; D < f; D++) {
1537
- const P = a[D];
1508
+ for (let B = 0; B < f; B++) {
1509
+ const P = a[B];
1538
1510
  if (i === 0 && b === 0) {
1539
1511
  if (P === _e) {
1540
- l.push(a.slice(d, D)), d = D + 1;
1512
+ l.push(a.slice(d, B)), d = B + 1;
1541
1513
  continue;
1542
1514
  }
1543
1515
  if (P === "/") {
1544
- m = D;
1516
+ m = B;
1545
1517
  continue;
1546
1518
  }
1547
1519
  }
1548
1520
  P === "[" ? i++ : P === "]" ? i-- : P === "(" ? b++ : P === ")" && b--;
1549
1521
  }
1550
- const x = l.length === 0 ? a : a.slice(d);
1551
- let N = x, z = !1;
1552
- x.endsWith(Re) ? (N = x.slice(0, -1), z = !0) : (
1522
+ const A = l.length === 0 ? a : a.slice(d);
1523
+ let R = A, z = !1;
1524
+ A.endsWith(Ne) ? (R = A.slice(0, -1), z = !0) : (
1553
1525
  /**
1554
1526
  * In Tailwind CSS v3 the important modifier was at the start of the base class name. This is still supported for legacy reasons.
1555
1527
  * @see https://github.com/dcastil/tailwind-merge/issues/513#issuecomment-2614029864
1556
1528
  */
1557
- x.startsWith(Re) && (N = x.slice(1), z = !0)
1529
+ A.startsWith(Ne) && (R = A.slice(1), z = !0)
1558
1530
  );
1559
1531
  const j = m && m > d ? m - d : void 0;
1560
- return Ge(l, z, N, j);
1532
+ return Ge(l, z, R, j);
1561
1533
  };
1562
1534
  if (e) {
1563
1535
  const a = e + _e, l = o;
@@ -1585,7 +1557,7 @@ const Nr = (r, e) => {
1585
1557
  return a.length > 0 && (a.sort(), o.push(...a)), o;
1586
1558
  };
1587
1559
  }, _r = (r) => ({
1588
- cache: Or(r.cacheSize),
1560
+ cache: Wr(r.cacheSize),
1589
1561
  parseClassName: Ur(r),
1590
1562
  sortModifiers: Lr(r),
1591
1563
  ...Ir(r)
@@ -1599,17 +1571,17 @@ const Nr = (r, e) => {
1599
1571
  let d = "";
1600
1572
  for (let m = b.length - 1; m >= 0; m -= 1) {
1601
1573
  const f = b[m], {
1602
- isExternal: x,
1603
- modifiers: N,
1574
+ isExternal: A,
1575
+ modifiers: R,
1604
1576
  hasImportantModifier: z,
1605
1577
  baseClassName: j,
1606
- maybePostfixModifierPosition: D
1578
+ maybePostfixModifierPosition: B
1607
1579
  } = t(f);
1608
- if (x) {
1580
+ if (A) {
1609
1581
  d = f + (d.length > 0 ? " " + d : d);
1610
1582
  continue;
1611
1583
  }
1612
- let P = !!D, G = o(P ? j.substring(0, D) : j);
1584
+ let P = !!B, G = o(P ? j.substring(0, B) : j);
1613
1585
  if (!G) {
1614
1586
  if (!P) {
1615
1587
  d = f + (d.length > 0 ? " " + d : d);
@@ -1621,7 +1593,7 @@ const Nr = (r, e) => {
1621
1593
  }
1622
1594
  P = !1;
1623
1595
  }
1624
- const K = N.length === 0 ? "" : N.length === 1 ? N[0] : l(N).join(":"), Q = z ? K + Re : K, M = Q + G;
1596
+ const K = R.length === 0 ? "" : R.length === 1 ? R[0] : l(R).join(":"), Q = z ? K + Ne : K, M = Q + G;
1625
1597
  if (i.indexOf(M) > -1)
1626
1598
  continue;
1627
1599
  i.push(M);
@@ -1648,7 +1620,7 @@ const Nr = (r, e) => {
1648
1620
  }, Kr = (r, ...e) => {
1649
1621
  let t, o, a, l;
1650
1622
  const i = (d) => {
1651
- const m = e.reduce((f, x) => x(f), r());
1623
+ const m = e.reduce((f, A) => A(f), r());
1652
1624
  return t = _r(m), o = t.cache.get, a = t.cache.set, l = b, b(d);
1653
1625
  }, b = (d) => {
1654
1626
  const m = o(d);
@@ -1661,19 +1633,19 @@ const Nr = (r, e) => {
1661
1633
  }, Jr = [], T = (r) => {
1662
1634
  const e = (t) => t[r] || Jr;
1663
1635
  return e.isThemeGetter = !0, e;
1664
- }, rr = /^\[(?:(\w[\w-]*):)?(.+)\]$/i, tr = /^\((?:(\w[\w-]*):)?(.+)\)$/i, Xr = /^\d+\/\d+$/, Zr = /^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/, Yr = /\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$/, $r = /^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/, et = /^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/, rt = /^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/, pe = (r) => Xr.test(r), A = (r) => !!r && !Number.isNaN(Number(r)), te = (r) => !!r && Number.isInteger(Number(r)), Me = (r) => r.endsWith("%") && A(r.slice(0, -1)), $ = (r) => Zr.test(r), tt = () => !0, ot = (r) => (
1636
+ }, rr = /^\[(?:(\w[\w-]*):)?(.+)\]$/i, tr = /^\((?:(\w[\w-]*):)?(.+)\)$/i, Xr = /^\d+\/\d+$/, Zr = /^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/, Yr = /\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$/, $r = /^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/, et = /^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/, rt = /^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/, pe = (r) => Xr.test(r), x = (r) => !!r && !Number.isNaN(Number(r)), te = (r) => !!r && Number.isInteger(Number(r)), Me = (r) => r.endsWith("%") && x(r.slice(0, -1)), $ = (r) => Zr.test(r), tt = () => !0, ot = (r) => (
1665
1637
  // `colorFunctionRegex` check is necessary because color functions can have percentages in them which which would be incorrectly classified as lengths.
1666
1638
  // For example, `hsl(0 0% 0%)` would be classified as a length without this check.
1667
1639
  // I could also use lookbehind assertion in `lengthUnitRegex` but that isn't supported widely enough.
1668
1640
  Yr.test(r) && !$r.test(r)
1669
- ), or = () => !1, at = (r) => et.test(r), it = (r) => rt.test(r), nt = (r) => !g(r) && !h(r), st = (r) => fe(r, nr, or), g = (r) => rr.test(r), se = (r) => fe(r, sr, ot), Ce = (r) => fe(r, ht, A), Qe = (r) => fe(r, ar, or), lt = (r) => fe(r, ir, it), ke = (r) => fe(r, lr, at), h = (r) => tr.test(r), ye = (r) => we(r, sr), ct = (r) => we(r, ut), qe = (r) => we(r, ar), dt = (r) => we(r, nr), gt = (r) => we(r, ir), Se = (r) => we(r, lr, !0), fe = (r, e, t) => {
1641
+ ), or = () => !1, at = (r) => et.test(r), it = (r) => rt.test(r), nt = (r) => !g(r) && !h(r), st = (r) => fe(r, nr, or), g = (r) => rr.test(r), se = (r) => fe(r, sr, ot), Ce = (r) => fe(r, ht, x), Qe = (r) => fe(r, ar, or), lt = (r) => fe(r, ir, it), ke = (r) => fe(r, lr, at), h = (r) => tr.test(r), ye = (r) => we(r, sr), ct = (r) => we(r, ut), qe = (r) => we(r, ar), dt = (r) => we(r, nr), gt = (r) => we(r, ir), Se = (r) => we(r, lr, !0), fe = (r, e, t) => {
1670
1642
  const o = rr.exec(r);
1671
1643
  return o ? o[1] ? e(o[1]) : t(o[2]) : !1;
1672
1644
  }, we = (r, e, t = !1) => {
1673
1645
  const o = tr.exec(r);
1674
1646
  return o ? o[1] ? e(o[1]) : t : !1;
1675
1647
  }, ar = (r) => r === "position" || r === "percentage", ir = (r) => r === "image" || r === "url", nr = (r) => r === "length" || r === "size" || r === "bg-size", sr = (r) => r === "length", ht = (r) => r === "number", ut = (r) => r === "family-name", lr = (r) => r === "shadow", pt = () => {
1676
- const r = T("color"), e = T("font"), t = T("text"), o = T("font-weight"), a = T("tracking"), l = T("leading"), i = T("breakpoint"), b = T("container"), d = T("spacing"), m = T("radius"), f = T("shadow"), x = T("inset-shadow"), N = T("text-shadow"), z = T("drop-shadow"), j = T("blur"), D = T("perspective"), P = T("aspect"), G = T("ease"), K = T("animate"), Q = () => ["auto", "avoid", "all", "avoid-page", "page", "left", "right", "column"], M = () => [
1648
+ const r = T("color"), e = T("font"), t = T("text"), o = T("font-weight"), a = T("tracking"), l = T("leading"), i = T("breakpoint"), b = T("container"), d = T("spacing"), m = T("radius"), f = T("shadow"), A = T("inset-shadow"), R = T("text-shadow"), z = T("drop-shadow"), j = T("blur"), B = T("perspective"), P = T("aspect"), G = T("ease"), K = T("animate"), Q = () => ["auto", "avoid", "all", "avoid-page", "page", "left", "right", "column"], M = () => [
1677
1649
  "center",
1678
1650
  "top",
1679
1651
  "bottom",
@@ -1691,15 +1663,15 @@ const Nr = (r, e) => {
1691
1663
  "bottom-left",
1692
1664
  // Deprecated since Tailwind CSS v4.1.0, see https://github.com/tailwindlabs/tailwindcss/pull/17378
1693
1665
  "left-bottom"
1694
- ], L = () => [...M(), h, g], _ = () => ["auto", "hidden", "clip", "visible", "scroll"], q = () => ["auto", "contain", "none"], y = () => [h, g, d], W = () => [pe, "full", "auto", ...y()], s = () => [te, "none", "subgrid", h, g], B = () => ["auto", {
1666
+ ], L = () => [...M(), h, g], _ = () => ["auto", "hidden", "clip", "visible", "scroll"], q = () => ["auto", "contain", "none"], y = () => [h, g, d], D = () => [pe, "full", "auto", ...y()], s = () => [te, "none", "subgrid", h, g], O = () => ["auto", {
1695
1667
  span: ["full", te, h, g]
1696
- }, te, h, g], Y = () => [te, "auto", h, g], re = () => ["auto", "min", "max", "fr", h, g], J = () => ["start", "end", "center", "between", "around", "evenly", "stretch", "baseline", "center-safe", "end-safe"], w = () => ["start", "end", "center", "stretch", "center-safe", "end-safe"], p = () => ["auto", ...y()], V = () => [pe, "auto", "full", "dvw", "dvh", "lvw", "lvh", "svw", "svh", "min", "max", "fit", ...y()], v = () => [r, h, g], le = () => [...M(), qe, Qe, {
1668
+ }, te, h, g], Y = () => [te, "auto", h, g], re = () => ["auto", "min", "max", "fr", h, g], J = () => ["start", "end", "center", "between", "around", "evenly", "stretch", "baseline", "center-safe", "end-safe"], w = () => ["start", "end", "center", "stretch", "center-safe", "end-safe"], p = () => ["auto", ...y()], H = () => [pe, "auto", "full", "dvw", "dvh", "lvw", "lvh", "svw", "svh", "min", "max", "fit", ...y()], v = () => [r, h, g], le = () => [...M(), qe, Qe, {
1697
1669
  position: [h, g]
1698
1670
  }], ce = () => ["no-repeat", {
1699
1671
  repeat: ["", "x", "y", "space", "round"]
1700
1672
  }], de = () => ["auto", "cover", "contain", dt, st, {
1701
1673
  size: [h, g]
1702
- }], oe = () => [Me, ye, se], R = () => [
1674
+ }], oe = () => [Me, ye, se], N = () => [
1703
1675
  // Deprecated since Tailwind CSS v4.0.0
1704
1676
  "",
1705
1677
  "none",
@@ -1707,14 +1679,14 @@ const Nr = (r, e) => {
1707
1679
  m,
1708
1680
  h,
1709
1681
  g
1710
- ], O = () => ["", A, ye, se], X = () => ["solid", "dashed", "dotted", "double"], ae = () => ["normal", "multiply", "screen", "overlay", "darken", "lighten", "color-dodge", "color-burn", "hard-light", "soft-light", "difference", "exclusion", "hue", "saturation", "color", "luminosity"], C = () => [A, Me, qe, Qe], ge = () => [
1682
+ ], W = () => ["", x, ye, se], X = () => ["solid", "dashed", "dotted", "double"], ae = () => ["normal", "multiply", "screen", "overlay", "darken", "lighten", "color-dodge", "color-burn", "hard-light", "soft-light", "difference", "exclusion", "hue", "saturation", "color", "luminosity"], C = () => [x, Me, qe, Qe], ge = () => [
1711
1683
  // Deprecated since Tailwind CSS v4.0.0
1712
1684
  "",
1713
1685
  "none",
1714
1686
  j,
1715
1687
  h,
1716
1688
  g
1717
- ], ie = () => ["none", A, h, g], he = () => ["none", A, h, g], be = () => [A, h, g], ue = () => [pe, "full", ...y()];
1689
+ ], ie = () => ["none", x, h, g], he = () => ["none", x, h, g], be = () => [x, h, g], ue = () => [pe, "full", ...y()];
1718
1690
  return {
1719
1691
  cacheSize: 500,
1720
1692
  theme: {
@@ -1733,7 +1705,7 @@ const Nr = (r, e) => {
1733
1705
  perspective: ["dramatic", "near", "normal", "midrange", "distant", "none"],
1734
1706
  radius: [$],
1735
1707
  shadow: [$],
1736
- spacing: ["px", A],
1708
+ spacing: ["px", x],
1737
1709
  text: [$],
1738
1710
  "text-shadow": [$],
1739
1711
  tracking: ["tighter", "tight", "normal", "wide", "wider", "widest"]
@@ -1760,7 +1732,7 @@ const Nr = (r, e) => {
1760
1732
  * @see https://tailwindcss.com/docs/columns
1761
1733
  */
1762
1734
  columns: [{
1763
- columns: [A, g, h, b]
1735
+ columns: [x, g, h, b]
1764
1736
  }],
1765
1737
  /**
1766
1738
  * Break After
@@ -1892,63 +1864,63 @@ const Nr = (r, e) => {
1892
1864
  * @see https://tailwindcss.com/docs/top-right-bottom-left
1893
1865
  */
1894
1866
  inset: [{
1895
- inset: W()
1867
+ inset: D()
1896
1868
  }],
1897
1869
  /**
1898
1870
  * Right / Left
1899
1871
  * @see https://tailwindcss.com/docs/top-right-bottom-left
1900
1872
  */
1901
1873
  "inset-x": [{
1902
- "inset-x": W()
1874
+ "inset-x": D()
1903
1875
  }],
1904
1876
  /**
1905
1877
  * Top / Bottom
1906
1878
  * @see https://tailwindcss.com/docs/top-right-bottom-left
1907
1879
  */
1908
1880
  "inset-y": [{
1909
- "inset-y": W()
1881
+ "inset-y": D()
1910
1882
  }],
1911
1883
  /**
1912
1884
  * Start
1913
1885
  * @see https://tailwindcss.com/docs/top-right-bottom-left
1914
1886
  */
1915
1887
  start: [{
1916
- start: W()
1888
+ start: D()
1917
1889
  }],
1918
1890
  /**
1919
1891
  * End
1920
1892
  * @see https://tailwindcss.com/docs/top-right-bottom-left
1921
1893
  */
1922
1894
  end: [{
1923
- end: W()
1895
+ end: D()
1924
1896
  }],
1925
1897
  /**
1926
1898
  * Top
1927
1899
  * @see https://tailwindcss.com/docs/top-right-bottom-left
1928
1900
  */
1929
1901
  top: [{
1930
- top: W()
1902
+ top: D()
1931
1903
  }],
1932
1904
  /**
1933
1905
  * Right
1934
1906
  * @see https://tailwindcss.com/docs/top-right-bottom-left
1935
1907
  */
1936
1908
  right: [{
1937
- right: W()
1909
+ right: D()
1938
1910
  }],
1939
1911
  /**
1940
1912
  * Bottom
1941
1913
  * @see https://tailwindcss.com/docs/top-right-bottom-left
1942
1914
  */
1943
1915
  bottom: [{
1944
- bottom: W()
1916
+ bottom: D()
1945
1917
  }],
1946
1918
  /**
1947
1919
  * Left
1948
1920
  * @see https://tailwindcss.com/docs/top-right-bottom-left
1949
1921
  */
1950
1922
  left: [{
1951
- left: W()
1923
+ left: D()
1952
1924
  }],
1953
1925
  /**
1954
1926
  * Visibility
@@ -1991,21 +1963,21 @@ const Nr = (r, e) => {
1991
1963
  * @see https://tailwindcss.com/docs/flex
1992
1964
  */
1993
1965
  flex: [{
1994
- flex: [A, pe, "auto", "initial", "none", g]
1966
+ flex: [x, pe, "auto", "initial", "none", g]
1995
1967
  }],
1996
1968
  /**
1997
1969
  * Flex Grow
1998
1970
  * @see https://tailwindcss.com/docs/flex-grow
1999
1971
  */
2000
1972
  grow: [{
2001
- grow: ["", A, h, g]
1973
+ grow: ["", x, h, g]
2002
1974
  }],
2003
1975
  /**
2004
1976
  * Flex Shrink
2005
1977
  * @see https://tailwindcss.com/docs/flex-shrink
2006
1978
  */
2007
1979
  shrink: [{
2008
- shrink: ["", A, h, g]
1980
+ shrink: ["", x, h, g]
2009
1981
  }],
2010
1982
  /**
2011
1983
  * Order
@@ -2026,7 +1998,7 @@ const Nr = (r, e) => {
2026
1998
  * @see https://tailwindcss.com/docs/grid-column
2027
1999
  */
2028
2000
  "col-start-end": [{
2029
- col: B()
2001
+ col: O()
2030
2002
  }],
2031
2003
  /**
2032
2004
  * Grid Column Start
@@ -2054,7 +2026,7 @@ const Nr = (r, e) => {
2054
2026
  * @see https://tailwindcss.com/docs/grid-row
2055
2027
  */
2056
2028
  "row-start-end": [{
2057
- row: B()
2029
+ row: O()
2058
2030
  }],
2059
2031
  /**
2060
2032
  * Grid Row Start
@@ -2338,14 +2310,14 @@ const Nr = (r, e) => {
2338
2310
  * @see https://tailwindcss.com/docs/width#setting-both-width-and-height
2339
2311
  */
2340
2312
  size: [{
2341
- size: V()
2313
+ size: H()
2342
2314
  }],
2343
2315
  /**
2344
2316
  * Width
2345
2317
  * @see https://tailwindcss.com/docs/width
2346
2318
  */
2347
2319
  w: [{
2348
- w: [b, "screen", ...V()]
2320
+ w: [b, "screen", ...H()]
2349
2321
  }],
2350
2322
  /**
2351
2323
  * Min-Width
@@ -2357,7 +2329,7 @@ const Nr = (r, e) => {
2357
2329
  "screen",
2358
2330
  /** Deprecated. @see https://github.com/tailwindlabs/tailwindcss.com/issues/2027#issuecomment-2620152757 */
2359
2331
  "none",
2360
- ...V()
2332
+ ...H()
2361
2333
  ]
2362
2334
  }],
2363
2335
  /**
@@ -2375,7 +2347,7 @@ const Nr = (r, e) => {
2375
2347
  {
2376
2348
  screen: [i]
2377
2349
  },
2378
- ...V()
2350
+ ...H()
2379
2351
  ]
2380
2352
  }],
2381
2353
  /**
@@ -2383,21 +2355,21 @@ const Nr = (r, e) => {
2383
2355
  * @see https://tailwindcss.com/docs/height
2384
2356
  */
2385
2357
  h: [{
2386
- h: ["screen", "lh", ...V()]
2358
+ h: ["screen", "lh", ...H()]
2387
2359
  }],
2388
2360
  /**
2389
2361
  * Min-Height
2390
2362
  * @see https://tailwindcss.com/docs/min-height
2391
2363
  */
2392
2364
  "min-h": [{
2393
- "min-h": ["screen", "lh", "none", ...V()]
2365
+ "min-h": ["screen", "lh", "none", ...H()]
2394
2366
  }],
2395
2367
  /**
2396
2368
  * Max-Height
2397
2369
  * @see https://tailwindcss.com/docs/max-height
2398
2370
  */
2399
2371
  "max-h": [{
2400
- "max-h": ["screen", "lh", ...V()]
2372
+ "max-h": ["screen", "lh", ...H()]
2401
2373
  }],
2402
2374
  // ------------------
2403
2375
  // --- Typography ---
@@ -2482,7 +2454,7 @@ const Nr = (r, e) => {
2482
2454
  * @see https://tailwindcss.com/docs/line-clamp
2483
2455
  */
2484
2456
  "line-clamp": [{
2485
- "line-clamp": [A, "none", h, Ce]
2457
+ "line-clamp": [x, "none", h, Ce]
2486
2458
  }],
2487
2459
  /**
2488
2460
  * Line Height
@@ -2555,7 +2527,7 @@ const Nr = (r, e) => {
2555
2527
  * @see https://tailwindcss.com/docs/text-decoration-thickness
2556
2528
  */
2557
2529
  "text-decoration-thickness": [{
2558
- decoration: [A, "from-font", "auto", h, se]
2530
+ decoration: [x, "from-font", "auto", h, se]
2559
2531
  }],
2560
2532
  /**
2561
2533
  * Text Decoration Color
@@ -2569,7 +2541,7 @@ const Nr = (r, e) => {
2569
2541
  * @see https://tailwindcss.com/docs/text-underline-offset
2570
2542
  */
2571
2543
  "underline-offset": [{
2572
- "underline-offset": [A, "auto", h, g]
2544
+ "underline-offset": [x, "auto", h, g]
2573
2545
  }],
2574
2546
  /**
2575
2547
  * Text Transform
@@ -2752,175 +2724,175 @@ const Nr = (r, e) => {
2752
2724
  * @see https://tailwindcss.com/docs/border-radius
2753
2725
  */
2754
2726
  rounded: [{
2755
- rounded: R()
2727
+ rounded: N()
2756
2728
  }],
2757
2729
  /**
2758
2730
  * Border Radius Start
2759
2731
  * @see https://tailwindcss.com/docs/border-radius
2760
2732
  */
2761
2733
  "rounded-s": [{
2762
- "rounded-s": R()
2734
+ "rounded-s": N()
2763
2735
  }],
2764
2736
  /**
2765
2737
  * Border Radius End
2766
2738
  * @see https://tailwindcss.com/docs/border-radius
2767
2739
  */
2768
2740
  "rounded-e": [{
2769
- "rounded-e": R()
2741
+ "rounded-e": N()
2770
2742
  }],
2771
2743
  /**
2772
2744
  * Border Radius Top
2773
2745
  * @see https://tailwindcss.com/docs/border-radius
2774
2746
  */
2775
2747
  "rounded-t": [{
2776
- "rounded-t": R()
2748
+ "rounded-t": N()
2777
2749
  }],
2778
2750
  /**
2779
2751
  * Border Radius Right
2780
2752
  * @see https://tailwindcss.com/docs/border-radius
2781
2753
  */
2782
2754
  "rounded-r": [{
2783
- "rounded-r": R()
2755
+ "rounded-r": N()
2784
2756
  }],
2785
2757
  /**
2786
2758
  * Border Radius Bottom
2787
2759
  * @see https://tailwindcss.com/docs/border-radius
2788
2760
  */
2789
2761
  "rounded-b": [{
2790
- "rounded-b": R()
2762
+ "rounded-b": N()
2791
2763
  }],
2792
2764
  /**
2793
2765
  * Border Radius Left
2794
2766
  * @see https://tailwindcss.com/docs/border-radius
2795
2767
  */
2796
2768
  "rounded-l": [{
2797
- "rounded-l": R()
2769
+ "rounded-l": N()
2798
2770
  }],
2799
2771
  /**
2800
2772
  * Border Radius Start Start
2801
2773
  * @see https://tailwindcss.com/docs/border-radius
2802
2774
  */
2803
2775
  "rounded-ss": [{
2804
- "rounded-ss": R()
2776
+ "rounded-ss": N()
2805
2777
  }],
2806
2778
  /**
2807
2779
  * Border Radius Start End
2808
2780
  * @see https://tailwindcss.com/docs/border-radius
2809
2781
  */
2810
2782
  "rounded-se": [{
2811
- "rounded-se": R()
2783
+ "rounded-se": N()
2812
2784
  }],
2813
2785
  /**
2814
2786
  * Border Radius End End
2815
2787
  * @see https://tailwindcss.com/docs/border-radius
2816
2788
  */
2817
2789
  "rounded-ee": [{
2818
- "rounded-ee": R()
2790
+ "rounded-ee": N()
2819
2791
  }],
2820
2792
  /**
2821
2793
  * Border Radius End Start
2822
2794
  * @see https://tailwindcss.com/docs/border-radius
2823
2795
  */
2824
2796
  "rounded-es": [{
2825
- "rounded-es": R()
2797
+ "rounded-es": N()
2826
2798
  }],
2827
2799
  /**
2828
2800
  * Border Radius Top Left
2829
2801
  * @see https://tailwindcss.com/docs/border-radius
2830
2802
  */
2831
2803
  "rounded-tl": [{
2832
- "rounded-tl": R()
2804
+ "rounded-tl": N()
2833
2805
  }],
2834
2806
  /**
2835
2807
  * Border Radius Top Right
2836
2808
  * @see https://tailwindcss.com/docs/border-radius
2837
2809
  */
2838
2810
  "rounded-tr": [{
2839
- "rounded-tr": R()
2811
+ "rounded-tr": N()
2840
2812
  }],
2841
2813
  /**
2842
2814
  * Border Radius Bottom Right
2843
2815
  * @see https://tailwindcss.com/docs/border-radius
2844
2816
  */
2845
2817
  "rounded-br": [{
2846
- "rounded-br": R()
2818
+ "rounded-br": N()
2847
2819
  }],
2848
2820
  /**
2849
2821
  * Border Radius Bottom Left
2850
2822
  * @see https://tailwindcss.com/docs/border-radius
2851
2823
  */
2852
2824
  "rounded-bl": [{
2853
- "rounded-bl": R()
2825
+ "rounded-bl": N()
2854
2826
  }],
2855
2827
  /**
2856
2828
  * Border Width
2857
2829
  * @see https://tailwindcss.com/docs/border-width
2858
2830
  */
2859
2831
  "border-w": [{
2860
- border: O()
2832
+ border: W()
2861
2833
  }],
2862
2834
  /**
2863
2835
  * Border Width X
2864
2836
  * @see https://tailwindcss.com/docs/border-width
2865
2837
  */
2866
2838
  "border-w-x": [{
2867
- "border-x": O()
2839
+ "border-x": W()
2868
2840
  }],
2869
2841
  /**
2870
2842
  * Border Width Y
2871
2843
  * @see https://tailwindcss.com/docs/border-width
2872
2844
  */
2873
2845
  "border-w-y": [{
2874
- "border-y": O()
2846
+ "border-y": W()
2875
2847
  }],
2876
2848
  /**
2877
2849
  * Border Width Start
2878
2850
  * @see https://tailwindcss.com/docs/border-width
2879
2851
  */
2880
2852
  "border-w-s": [{
2881
- "border-s": O()
2853
+ "border-s": W()
2882
2854
  }],
2883
2855
  /**
2884
2856
  * Border Width End
2885
2857
  * @see https://tailwindcss.com/docs/border-width
2886
2858
  */
2887
2859
  "border-w-e": [{
2888
- "border-e": O()
2860
+ "border-e": W()
2889
2861
  }],
2890
2862
  /**
2891
2863
  * Border Width Top
2892
2864
  * @see https://tailwindcss.com/docs/border-width
2893
2865
  */
2894
2866
  "border-w-t": [{
2895
- "border-t": O()
2867
+ "border-t": W()
2896
2868
  }],
2897
2869
  /**
2898
2870
  * Border Width Right
2899
2871
  * @see https://tailwindcss.com/docs/border-width
2900
2872
  */
2901
2873
  "border-w-r": [{
2902
- "border-r": O()
2874
+ "border-r": W()
2903
2875
  }],
2904
2876
  /**
2905
2877
  * Border Width Bottom
2906
2878
  * @see https://tailwindcss.com/docs/border-width
2907
2879
  */
2908
2880
  "border-w-b": [{
2909
- "border-b": O()
2881
+ "border-b": W()
2910
2882
  }],
2911
2883
  /**
2912
2884
  * Border Width Left
2913
2885
  * @see https://tailwindcss.com/docs/border-width
2914
2886
  */
2915
2887
  "border-w-l": [{
2916
- "border-l": O()
2888
+ "border-l": W()
2917
2889
  }],
2918
2890
  /**
2919
2891
  * Divide Width X
2920
2892
  * @see https://tailwindcss.com/docs/border-width#between-children
2921
2893
  */
2922
2894
  "divide-x": [{
2923
- "divide-x": O()
2895
+ "divide-x": W()
2924
2896
  }],
2925
2897
  /**
2926
2898
  * Divide Width X Reverse
@@ -2932,7 +2904,7 @@ const Nr = (r, e) => {
2932
2904
  * @see https://tailwindcss.com/docs/border-width#between-children
2933
2905
  */
2934
2906
  "divide-y": [{
2935
- "divide-y": O()
2907
+ "divide-y": W()
2936
2908
  }],
2937
2909
  /**
2938
2910
  * Divide Width Y Reverse
@@ -3035,14 +3007,14 @@ const Nr = (r, e) => {
3035
3007
  * @see https://tailwindcss.com/docs/outline-offset
3036
3008
  */
3037
3009
  "outline-offset": [{
3038
- "outline-offset": [A, h, g]
3010
+ "outline-offset": [x, h, g]
3039
3011
  }],
3040
3012
  /**
3041
3013
  * Outline Width
3042
3014
  * @see https://tailwindcss.com/docs/outline-width
3043
3015
  */
3044
3016
  "outline-w": [{
3045
- outline: ["", A, ye, se]
3017
+ outline: ["", x, ye, se]
3046
3018
  }],
3047
3019
  /**
3048
3020
  * Outline Color
@@ -3080,7 +3052,7 @@ const Nr = (r, e) => {
3080
3052
  * @see https://tailwindcss.com/docs/box-shadow#adding-an-inset-shadow
3081
3053
  */
3082
3054
  "inset-shadow": [{
3083
- "inset-shadow": ["none", x, Se, ke]
3055
+ "inset-shadow": ["none", A, Se, ke]
3084
3056
  }],
3085
3057
  /**
3086
3058
  * Inset Box Shadow Color
@@ -3094,7 +3066,7 @@ const Nr = (r, e) => {
3094
3066
  * @see https://tailwindcss.com/docs/box-shadow#adding-a-ring
3095
3067
  */
3096
3068
  "ring-w": [{
3097
- ring: O()
3069
+ ring: W()
3098
3070
  }],
3099
3071
  /**
3100
3072
  * Ring Width Inset
@@ -3117,7 +3089,7 @@ const Nr = (r, e) => {
3117
3089
  * @see https://github.com/tailwindlabs/tailwindcss/blob/v4.0.0/packages/tailwindcss/src/utilities.ts#L4158
3118
3090
  */
3119
3091
  "ring-offset-w": [{
3120
- "ring-offset": [A, se]
3092
+ "ring-offset": [x, se]
3121
3093
  }],
3122
3094
  /**
3123
3095
  * Ring Offset Color
@@ -3133,7 +3105,7 @@ const Nr = (r, e) => {
3133
3105
  * @see https://tailwindcss.com/docs/box-shadow#adding-an-inset-ring
3134
3106
  */
3135
3107
  "inset-ring-w": [{
3136
- "inset-ring": O()
3108
+ "inset-ring": W()
3137
3109
  }],
3138
3110
  /**
3139
3111
  * Inset Ring Color
@@ -3147,7 +3119,7 @@ const Nr = (r, e) => {
3147
3119
  * @see https://tailwindcss.com/docs/text-shadow
3148
3120
  */
3149
3121
  "text-shadow": [{
3150
- "text-shadow": ["none", N, Se, ke]
3122
+ "text-shadow": ["none", R, Se, ke]
3151
3123
  }],
3152
3124
  /**
3153
3125
  * Text Shadow Color
@@ -3161,7 +3133,7 @@ const Nr = (r, e) => {
3161
3133
  * @see https://tailwindcss.com/docs/opacity
3162
3134
  */
3163
3135
  opacity: [{
3164
- opacity: [A, h, g]
3136
+ opacity: [x, h, g]
3165
3137
  }],
3166
3138
  /**
3167
3139
  * Mix Blend Mode
@@ -3196,7 +3168,7 @@ const Nr = (r, e) => {
3196
3168
  * @see https://tailwindcss.com/docs/mask-image
3197
3169
  */
3198
3170
  "mask-image-linear-pos": [{
3199
- "mask-linear": [A]
3171
+ "mask-linear": [x]
3200
3172
  }],
3201
3173
  "mask-image-linear-from-pos": [{
3202
3174
  "mask-linear-from": C()
@@ -3310,7 +3282,7 @@ const Nr = (r, e) => {
3310
3282
  "mask-radial-at": M()
3311
3283
  }],
3312
3284
  "mask-image-conic-pos": [{
3313
- "mask-conic": [A]
3285
+ "mask-conic": [x]
3314
3286
  }],
3315
3287
  "mask-image-conic-from-pos": [{
3316
3288
  "mask-conic-from": C()
@@ -3401,14 +3373,14 @@ const Nr = (r, e) => {
3401
3373
  * @see https://tailwindcss.com/docs/brightness
3402
3374
  */
3403
3375
  brightness: [{
3404
- brightness: [A, h, g]
3376
+ brightness: [x, h, g]
3405
3377
  }],
3406
3378
  /**
3407
3379
  * Contrast
3408
3380
  * @see https://tailwindcss.com/docs/contrast
3409
3381
  */
3410
3382
  contrast: [{
3411
- contrast: [A, h, g]
3383
+ contrast: [x, h, g]
3412
3384
  }],
3413
3385
  /**
3414
3386
  * Drop Shadow
@@ -3436,35 +3408,35 @@ const Nr = (r, e) => {
3436
3408
  * @see https://tailwindcss.com/docs/grayscale
3437
3409
  */
3438
3410
  grayscale: [{
3439
- grayscale: ["", A, h, g]
3411
+ grayscale: ["", x, h, g]
3440
3412
  }],
3441
3413
  /**
3442
3414
  * Hue Rotate
3443
3415
  * @see https://tailwindcss.com/docs/hue-rotate
3444
3416
  */
3445
3417
  "hue-rotate": [{
3446
- "hue-rotate": [A, h, g]
3418
+ "hue-rotate": [x, h, g]
3447
3419
  }],
3448
3420
  /**
3449
3421
  * Invert
3450
3422
  * @see https://tailwindcss.com/docs/invert
3451
3423
  */
3452
3424
  invert: [{
3453
- invert: ["", A, h, g]
3425
+ invert: ["", x, h, g]
3454
3426
  }],
3455
3427
  /**
3456
3428
  * Saturate
3457
3429
  * @see https://tailwindcss.com/docs/saturate
3458
3430
  */
3459
3431
  saturate: [{
3460
- saturate: [A, h, g]
3432
+ saturate: [x, h, g]
3461
3433
  }],
3462
3434
  /**
3463
3435
  * Sepia
3464
3436
  * @see https://tailwindcss.com/docs/sepia
3465
3437
  */
3466
3438
  sepia: [{
3467
- sepia: ["", A, h, g]
3439
+ sepia: ["", x, h, g]
3468
3440
  }],
3469
3441
  /**
3470
3442
  * Backdrop Filter
@@ -3491,56 +3463,56 @@ const Nr = (r, e) => {
3491
3463
  * @see https://tailwindcss.com/docs/backdrop-brightness
3492
3464
  */
3493
3465
  "backdrop-brightness": [{
3494
- "backdrop-brightness": [A, h, g]
3466
+ "backdrop-brightness": [x, h, g]
3495
3467
  }],
3496
3468
  /**
3497
3469
  * Backdrop Contrast
3498
3470
  * @see https://tailwindcss.com/docs/backdrop-contrast
3499
3471
  */
3500
3472
  "backdrop-contrast": [{
3501
- "backdrop-contrast": [A, h, g]
3473
+ "backdrop-contrast": [x, h, g]
3502
3474
  }],
3503
3475
  /**
3504
3476
  * Backdrop Grayscale
3505
3477
  * @see https://tailwindcss.com/docs/backdrop-grayscale
3506
3478
  */
3507
3479
  "backdrop-grayscale": [{
3508
- "backdrop-grayscale": ["", A, h, g]
3480
+ "backdrop-grayscale": ["", x, h, g]
3509
3481
  }],
3510
3482
  /**
3511
3483
  * Backdrop Hue Rotate
3512
3484
  * @see https://tailwindcss.com/docs/backdrop-hue-rotate
3513
3485
  */
3514
3486
  "backdrop-hue-rotate": [{
3515
- "backdrop-hue-rotate": [A, h, g]
3487
+ "backdrop-hue-rotate": [x, h, g]
3516
3488
  }],
3517
3489
  /**
3518
3490
  * Backdrop Invert
3519
3491
  * @see https://tailwindcss.com/docs/backdrop-invert
3520
3492
  */
3521
3493
  "backdrop-invert": [{
3522
- "backdrop-invert": ["", A, h, g]
3494
+ "backdrop-invert": ["", x, h, g]
3523
3495
  }],
3524
3496
  /**
3525
3497
  * Backdrop Opacity
3526
3498
  * @see https://tailwindcss.com/docs/backdrop-opacity
3527
3499
  */
3528
3500
  "backdrop-opacity": [{
3529
- "backdrop-opacity": [A, h, g]
3501
+ "backdrop-opacity": [x, h, g]
3530
3502
  }],
3531
3503
  /**
3532
3504
  * Backdrop Saturate
3533
3505
  * @see https://tailwindcss.com/docs/backdrop-saturate
3534
3506
  */
3535
3507
  "backdrop-saturate": [{
3536
- "backdrop-saturate": [A, h, g]
3508
+ "backdrop-saturate": [x, h, g]
3537
3509
  }],
3538
3510
  /**
3539
3511
  * Backdrop Sepia
3540
3512
  * @see https://tailwindcss.com/docs/backdrop-sepia
3541
3513
  */
3542
3514
  "backdrop-sepia": [{
3543
- "backdrop-sepia": ["", A, h, g]
3515
+ "backdrop-sepia": ["", x, h, g]
3544
3516
  }],
3545
3517
  // --------------
3546
3518
  // --- Tables ---
@@ -3609,7 +3581,7 @@ const Nr = (r, e) => {
3609
3581
  * @see https://tailwindcss.com/docs/transition-duration
3610
3582
  */
3611
3583
  duration: [{
3612
- duration: [A, "initial", h, g]
3584
+ duration: [x, "initial", h, g]
3613
3585
  }],
3614
3586
  /**
3615
3587
  * Transition Timing Function
@@ -3623,7 +3595,7 @@ const Nr = (r, e) => {
3623
3595
  * @see https://tailwindcss.com/docs/transition-delay
3624
3596
  */
3625
3597
  delay: [{
3626
- delay: [A, h, g]
3598
+ delay: [x, h, g]
3627
3599
  }],
3628
3600
  /**
3629
3601
  * Animation
@@ -3647,7 +3619,7 @@ const Nr = (r, e) => {
3647
3619
  * @see https://tailwindcss.com/docs/perspective
3648
3620
  */
3649
3621
  perspective: [{
3650
- perspective: [D, h, g]
3622
+ perspective: [B, h, g]
3651
3623
  }],
3652
3624
  /**
3653
3625
  * Perspective Origin
@@ -4067,7 +4039,7 @@ const Nr = (r, e) => {
4067
4039
  * @see https://tailwindcss.com/docs/stroke-width
4068
4040
  */
4069
4041
  "stroke-w": [{
4070
- stroke: [A, ye, se, Ce]
4042
+ stroke: [x, ye, se, Ce]
4071
4043
  }],
4072
4044
  /**
4073
4045
  * Stroke
@@ -4151,11 +4123,11 @@ const Te = "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAkACQAAD/4QCSRXhpZgAATU0AK
4151
4123
  triggerLabel: e,
4152
4124
  container: t
4153
4125
  }) => {
4154
- const [o, a] = I(!1), [l, i] = I(!1), [b, d] = I(!1), [m, f] = I(!1), [x, N] = I([]), [z, j] = I(""), [D, P] = I(!1), [G, K] = I(!1), [Q, M] = I(null), [, L] = I("user"), [_, q] = I("bottom-right"), [y, W] = I({
4126
+ const [o, a] = I(!1), [l, i] = I(!1), [b, d] = I(!1), [m, f] = I(!1), [A, R] = I([]), [z, j] = I(""), [B, P] = I(!1), [G, K] = I(!1), [Q, M] = I(null), [, L] = I("user"), [_, q] = I("bottom-right"), [y, D] = I({
4155
4127
  isActive: !1,
4156
4128
  toolName: null,
4157
4129
  toolData: null
4158
- }), [s, B] = I({
4130
+ }), [s, O] = I({
4159
4131
  session_id: null,
4160
4132
  token: null,
4161
4133
  expires_at: null,
@@ -4163,46 +4135,46 @@ const Te = "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAkACQAAD/4QCSRXhpZgAATU0AK
4163
4135
  lastError: null,
4164
4136
  isPreloaded: !1,
4165
4137
  isRefreshing: !1
4166
- }), [Y, re] = I("idle"), [, J] = I(!1), w = me(null), p = me(null), V = H((u) => {
4138
+ }), [Y, re] = I("idle"), [, J] = I(!1), w = me(null), p = me(null), H = V((u) => {
4167
4139
  const { newStatus: k } = u.data;
4168
4140
  re(k), k === "preloading" || k === "connecting" ? o && f(!0) : k === "ready" ? (f(!1), d(!0)) : k === "error" && f(!1);
4169
- }, [o]), v = H((u) => {
4141
+ }, [o]), v = V((u) => {
4170
4142
  const k = u.data;
4171
4143
  if (console.log("[AriaStandaloneUI] Session ready event:", k), w.current) {
4172
4144
  const F = w.current.getSessionState();
4173
- B(F);
4145
+ O(F);
4174
4146
  const ne = k?.lazyInit === !0;
4175
4147
  k?.streamReady === !0 ? (p.current && (console.log("[AriaStandaloneUI] Attaching video stream after full session ready (streamReady=true)"), w.current.attachToVideoElement(p.current)), d(!0), f(!1), M(null)) : ne ? console.log("[AriaStandaloneUI] Token ready (lazy init), button enabled") : (p.current && (console.log("[AriaStandaloneUI] Attaching video stream (legacy event)"), w.current.attachToVideoElement(p.current)), d(!0), f(!1), M(null));
4176
4148
  }
4177
- }, []), le = H((u) => {
4149
+ }, []), le = V((u) => {
4178
4150
  const k = u.error?.message || "Session error";
4179
4151
  if (console.error("[AriaStandaloneUI] Session error:", k), M(k), f(!1), w.current) {
4180
4152
  const F = w.current.getSessionState();
4181
- B(F);
4153
+ O(F);
4182
4154
  }
4183
- }, []), ce = H((u) => {
4155
+ }, []), ce = V((u) => {
4184
4156
  const { connected: k } = u.data;
4185
4157
  if (d(k), !k && w.current) {
4186
4158
  const F = w.current.getSessionState();
4187
- B(F);
4159
+ O(F);
4188
4160
  }
4189
- }, []), de = H((u) => {
4161
+ }, []), de = V((u) => {
4190
4162
  const { messages: k } = u.data;
4191
- k && N(k);
4192
- }, []), oe = H((u) => {
4163
+ k && R(k);
4164
+ }, []), oe = V((u) => {
4193
4165
  const { liveTranscript: k } = u.data;
4194
4166
  k !== void 0 && j(k);
4195
- }, []), R = H((u) => {
4167
+ }, []), N = V((u) => {
4196
4168
  const k = u.data;
4197
- W({
4169
+ D({
4198
4170
  isActive: k.isActive,
4199
4171
  toolName: k.toolName,
4200
4172
  toolData: k.toolData
4201
4173
  });
4202
- }, []), O = H((u) => {
4174
+ }, []), W = V((u) => {
4203
4175
  const k = p.current;
4204
4176
  p.current = u, u && w.current ? w.current.getVideoStream() !== null ? (console.log("[AriaStandaloneUI] Attaching video stream to element"), w.current.attachToVideoElement(u)) : console.log("[AriaStandaloneUI] Video element registered, waiting for stream to be ready") : !u && k && w.current && (console.log("[AriaStandaloneUI] Detaching video stream from element"), w.current.detachFromVideoElement(k));
4205
- }, []), X = H((u = "user") => {
4177
+ }, []), X = V((u = "user") => {
4206
4178
  if (L(u), q(u === "websocket" ? "center" : "bottom-right"), a(!0), i(!1), M(null), !w.current) return;
4207
4179
  const k = w.current.isSessionPaused();
4208
4180
  if (console.log("[AriaStandaloneUI] openAssistant called, isPaused:", k), k) {
@@ -4210,14 +4182,14 @@ const Te = "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAkACQAAD/4QCSRXhpZgAATU0AK
4210
4182
  if (J(!1), Z) {
4211
4183
  f(!1), d(!0);
4212
4184
  const Pe = w.current.getSessionState();
4213
- B(Pe), N(w.current.getChatMessages()), p.current && w.current && (console.log("[AriaStandaloneUI] Attaching video stream after resume"), w.current.attachToVideoElement(p.current));
4185
+ O(Pe), R(w.current.getChatMessages()), p.current && w.current && (console.log("[AriaStandaloneUI] Attaching video stream after resume"), w.current.attachToVideoElement(p.current));
4214
4186
  } else
4215
4187
  w.current.hasSessionToken() ? w.current.initializeSessionOnDemand().then(() => {
4216
4188
  f(!1), d(!0);
4217
- const xe = w.current.getSessionState();
4218
- B(xe), p.current && w.current && (console.log("[AriaStandaloneUI] Attaching video stream after initialization (from resume)"), w.current.attachToVideoElement(p.current));
4219
- }).catch((xe) => {
4220
- f(!1), M(xe instanceof Error ? xe.message : "Failed to start new session");
4189
+ const Ae = w.current.getSessionState();
4190
+ O(Ae), p.current && w.current && (console.log("[AriaStandaloneUI] Attaching video stream after initialization (from resume)"), w.current.attachToVideoElement(p.current));
4191
+ }).catch((Ae) => {
4192
+ f(!1), M(Ae instanceof Error ? Ae.message : "Failed to start new session");
4221
4193
  }) : w.current.isConnected() || w.current.connect();
4222
4194
  }).catch((Z) => {
4223
4195
  f(!1), J(!1), M(Z instanceof Error ? Z.message : "Failed to resume session");
@@ -4228,17 +4200,17 @@ const Te = "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAkACQAAD/4QCSRXhpZgAATU0AK
4228
4200
  console.log("[AriaStandaloneUI] openAssistant state check:", { isAnamReady: F, hasToken: ne, status: ve, isPaused: !1 }), F && ve === "ready" ? (console.log("[AriaStandaloneUI] Anam already ready, attaching video"), f(!1), d(!0), p.current && w.current.attachToVideoElement(p.current)) : ne ? (console.log("[AriaStandaloneUI] Has token, calling initializeSessionOnDemand"), f(!0), w.current.initializeSessionOnDemand().then(() => {
4229
4201
  f(!1), d(!0);
4230
4202
  const Z = w.current.getSessionState();
4231
- B(Z), p.current && w.current && (console.log("[AriaStandaloneUI] Attaching video stream after initialization"), w.current.attachToVideoElement(p.current));
4203
+ O(Z), p.current && w.current && (console.log("[AriaStandaloneUI] Attaching video stream after initialization"), w.current.attachToVideoElement(p.current));
4232
4204
  }).catch((Z) => {
4233
4205
  f(!1), M(Z instanceof Error ? Z.message : "Failed to initialize session");
4234
4206
  })) : (console.warn("[AriaStandaloneUI] No token available, button should have been disabled"), M("Session not ready. Please wait and try again."));
4235
- }, []), ae = H(() => {
4207
+ }, []), ae = V(() => {
4236
4208
  i(!0);
4237
- }, []), C = H(() => {
4209
+ }, []), C = V(() => {
4238
4210
  i(!1);
4239
- }, []), ge = H(() => {
4211
+ }, []), ge = V(() => {
4240
4212
  a(!1), i(!1), w.current && (p.current && w.current.detachFromVideoElement(p.current), j(""), console.log("[AriaStandaloneUI] Pausing session (widget closed)"), w.current.pauseSession(), J(!0));
4241
- }, []), ie = H(() => {
4213
+ }, []), ie = V(() => {
4242
4214
  console.log("[AriaStandaloneUI] WebSocket trigger event"), X("websocket");
4243
4215
  }, [X]);
4244
4216
  ee(() => {
@@ -4247,21 +4219,21 @@ const Te = "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAkACQAAD/4QCSRXhpZgAATU0AK
4247
4219
  return;
4248
4220
  }
4249
4221
  const u = U.getInstance({});
4250
- return w.current = u, u.addEventListener("status_change", V), u.addEventListener("session_ready", v), u.addEventListener("session_error", le), u.addEventListener("connection_change", ce), u.addEventListener("message_history", de), u.addEventListener("message_stream", oe), u.addEventListener("tool_call", R), u.setWebSocketTriggerCallback(ie), queueMicrotask(() => {
4251
- B(u.getSessionState()), re(u.getStatus()), d(u.isConnected()), N(u.getChatMessages()), j(u.getLiveTranscript()), K(u.isMuted()), J(u.isSessionPaused());
4222
+ return w.current = u, u.addEventListener("status_change", H), u.addEventListener("session_ready", v), u.addEventListener("session_error", le), u.addEventListener("connection_change", ce), u.addEventListener("message_history", de), u.addEventListener("message_stream", oe), u.addEventListener("tool_call", N), u.setWebSocketTriggerCallback(ie), queueMicrotask(() => {
4223
+ O(u.getSessionState()), re(u.getStatus()), d(u.isConnected()), R(u.getChatMessages()), j(u.getLiveTranscript()), K(u.isMuted()), J(u.isSessionPaused());
4252
4224
  const F = u.getToolCallState();
4253
- W(F);
4225
+ D(F);
4254
4226
  }), () => {
4255
- u.removeEventListener("status_change", V), u.removeEventListener("session_ready", v), u.removeEventListener("session_error", le), u.removeEventListener("connection_change", ce), u.removeEventListener("message_history", de), u.removeEventListener("message_stream", oe), u.removeEventListener("tool_call", R), u.setWebSocketTriggerCallback(null);
4227
+ u.removeEventListener("status_change", H), u.removeEventListener("session_ready", v), u.removeEventListener("session_error", le), u.removeEventListener("connection_change", ce), u.removeEventListener("message_history", de), u.removeEventListener("message_stream", oe), u.removeEventListener("tool_call", N), u.setWebSocketTriggerCallback(null);
4256
4228
  };
4257
4229
  }, [
4258
- V,
4230
+ H,
4259
4231
  v,
4260
4232
  le,
4261
4233
  ce,
4262
4234
  de,
4263
4235
  oe,
4264
- R,
4236
+ N,
4265
4237
  ie
4266
4238
  ]), ee(() => {
4267
4239
  const u = (ve) => {
@@ -4279,22 +4251,22 @@ const Te = "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAkACQAAD/4QCSRXhpZgAATU0AK
4279
4251
  }, [X, ge, ae, C]), ee(() => {
4280
4252
  t.setAttribute("data-aria-open", String(o));
4281
4253
  }, [o, t]);
4282
- const he = H(() => {
4254
+ const he = V(() => {
4283
4255
  P((u) => !u);
4284
- }, []), be = H(async (u) => {
4256
+ }, []), be = V(async (u) => {
4285
4257
  if (!w.current || !b)
4286
4258
  throw new Error("Not connected to Aria");
4287
4259
  await w.current.sendMessage(u);
4288
- }, [b]), ue = H(() => {
4260
+ }, [b]), ue = V(() => {
4289
4261
  if (!w.current) return;
4290
4262
  const u = w.current.toggleMute();
4291
4263
  K(u);
4292
- }, []), cr = H(() => {
4264
+ }, []), cr = V(() => {
4293
4265
  w.current && (f(!0), M(null), w.current.refreshSession().catch((u) => {
4294
4266
  M(u instanceof Error ? u.message : "Failed to refresh session"), f(!1);
4295
4267
  }));
4296
4268
  }, []);
4297
- return /* @__PURE__ */ E(Ve, { children: [
4269
+ return /* @__PURE__ */ E(He, { children: [
4298
4270
  !o && /* @__PURE__ */ n(
4299
4271
  wt,
4300
4272
  {
@@ -4305,7 +4277,7 @@ const Te = "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAkACQAAD/4QCSRXhpZgAATU0AK
4305
4277
  onClick: () => X("user")
4306
4278
  }
4307
4279
  ),
4308
- o && /* @__PURE__ */ E(Ve, { children: [
4280
+ o && /* @__PURE__ */ E(He, { children: [
4309
4281
  !l && /* @__PURE__ */ n(
4310
4282
  "div",
4311
4283
  {
@@ -4345,14 +4317,14 @@ const Te = "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAkACQAAD/4QCSRXhpZgAATU0AK
4345
4317
  displayMode: _,
4346
4318
  isConnected: b,
4347
4319
  isLoading: m,
4348
- chatMessages: x,
4320
+ chatMessages: A,
4349
4321
  liveTranscript: z,
4350
- isChatVisible: D,
4322
+ isChatVisible: B,
4351
4323
  isMuted: G,
4352
4324
  error: Q,
4353
4325
  toolCallState: y,
4354
4326
  sessionState: s,
4355
- setVideoElement: O,
4327
+ setVideoElement: W,
4356
4328
  toggleChat: he,
4357
4329
  sendMessage: be,
4358
4330
  toggleMute: ue,
@@ -4431,7 +4403,7 @@ const Te = "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAkACQAAD/4QCSRXhpZgAATU0AK
4431
4403
  "div",
4432
4404
  {
4433
4405
  className: "hidden w-full h-full items-center justify-center aria-gradient-bg text-white",
4434
- children: /* @__PURE__ */ n(Ne, { className: "w-4 h-4" })
4406
+ children: /* @__PURE__ */ n(Re, { className: "w-4 h-4" })
4435
4407
  }
4436
4408
  ),
4437
4409
  /* @__PURE__ */ n("span", { className: c(
@@ -4445,7 +4417,7 @@ const Te = "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAkACQAAD/4QCSRXhpZgAATU0AK
4445
4417
  "transition-transform duration-200",
4446
4418
  o && "group-hover:scale-105",
4447
4419
  !o && "grayscale"
4448
- ), children: /* @__PURE__ */ n(Ne, { className: "w-4 h-4" }) }),
4420
+ ), children: /* @__PURE__ */ n(Re, { className: "w-4 h-4" }) }),
4449
4421
  /* @__PURE__ */ E("div", { className: "relative flex flex-col items-start min-w-0 text-left", children: [
4450
4422
  /* @__PURE__ */ n("span", { className: c(
4451
4423
  "font-bold text-[13px] tracking-tight leading-none",
@@ -4474,22 +4446,22 @@ const Te = "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAkACQAAD/4QCSRXhpZgAATU0AK
4474
4446
  chatMessages: d,
4475
4447
  liveTranscript: m,
4476
4448
  isChatVisible: f,
4477
- isMuted: x,
4478
- error: N,
4449
+ isMuted: A,
4450
+ error: R,
4479
4451
  toolCallState: z,
4480
4452
  setVideoElement: j,
4481
- toggleChat: D,
4453
+ toggleChat: B,
4482
4454
  sendMessage: P,
4483
4455
  toggleMute: G,
4484
4456
  refreshSession: K
4485
4457
  }) => {
4486
- const Q = me(null), M = me(null), [L, _] = I(""), [q, y] = I(!1), W = me(null), s = a === "dark", B = l === "bottom-right", Y = l === "center";
4458
+ const Q = me(null), M = me(null), [L, _] = I(""), [q, y] = I(!1), D = me(null), s = a === "dark", O = l === "bottom-right", Y = l === "center";
4487
4459
  ee(() => {
4488
4460
  M.current && (M.current.scrollTop = M.current.scrollHeight);
4489
4461
  }, [m]), ee(() => (Q.current && (console.log("[AriaWidgetStandalone] Registering video element, minimized:", e), j(Q.current)), () => {
4490
4462
  j(null);
4491
4463
  }), [j, e]), ee(() => {
4492
- W.current?.scrollIntoView({ behavior: "smooth" });
4464
+ D.current?.scrollIntoView({ behavior: "smooth" });
4493
4465
  }, [d]);
4494
4466
  const re = async () => {
4495
4467
  if (!L.trim() || !i || q) return;
@@ -4497,8 +4469,8 @@ const Te = "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAkACQAAD/4QCSRXhpZgAATU0AK
4497
4469
  _(""), y(!0);
4498
4470
  try {
4499
4471
  await P(p);
4500
- } catch (V) {
4501
- console.error("Failed to send message:", V), _(p);
4472
+ } catch (H) {
4473
+ console.error("Failed to send message:", H), _(p);
4502
4474
  } finally {
4503
4475
  y(!1);
4504
4476
  }
@@ -4552,7 +4524,7 @@ const Te = "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAkACQAAD/4QCSRXhpZgAATU0AK
4552
4524
  /* @__PURE__ */ n("div", { className: c(
4553
4525
  "w-5 h-5 rounded-full flex items-center justify-center",
4554
4526
  s ? "bg-amber-800/50" : "bg-amber-100"
4555
- ), children: /* @__PURE__ */ n(He, { className: c(
4527
+ ), children: /* @__PURE__ */ n(Ve, { className: c(
4556
4528
  "w-3 h-3 animate-pulse",
4557
4529
  s ? "text-amber-400" : "text-amber-600"
4558
4530
  ) }) }),
@@ -4563,7 +4535,7 @@ const Te = "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAkACQAAD/4QCSRXhpZgAATU0AK
4563
4535
  ]
4564
4536
  }
4565
4537
  ),
4566
- i && !N && /* @__PURE__ */ E(
4538
+ i && !R && /* @__PURE__ */ E(
4567
4539
  "div",
4568
4540
  {
4569
4541
  className: c(
@@ -4581,10 +4553,10 @@ const Te = "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAkACQAAD/4QCSRXhpZgAATU0AK
4581
4553
  className: c(
4582
4554
  "w-8 h-8 rounded-full flex items-center justify-center transition-all duration-200",
4583
4555
  "border-0 outline-none focus:outline-none shadow-sm",
4584
- x ? "bg-red-500 hover:bg-red-600 text-white" : s ? "bg-gray-800/80 hover:bg-gray-700 text-gray-300" : "bg-gray-100/80 hover:bg-gray-200 text-gray-600"
4556
+ A ? "bg-red-500 hover:bg-red-600 text-white" : s ? "bg-gray-800/80 hover:bg-gray-700 text-gray-300" : "bg-gray-100/80 hover:bg-gray-200 text-gray-600"
4585
4557
  ),
4586
- title: x ? "Unmute" : "Mute",
4587
- children: x ? /* @__PURE__ */ n(je, { className: "h-3.5 w-3.5" }) : /* @__PURE__ */ n(De, { className: "h-3.5 w-3.5" })
4558
+ title: A ? "Unmute" : "Mute",
4559
+ children: A ? /* @__PURE__ */ n(je, { className: "h-3.5 w-3.5" }) : /* @__PURE__ */ n(Be, { className: "h-3.5 w-3.5" })
4588
4560
  }
4589
4561
  ),
4590
4562
  /* @__PURE__ */ n(
@@ -4606,7 +4578,7 @@ const Te = "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAkACQAAD/4QCSRXhpZgAATU0AK
4606
4578
  onClick: r,
4607
4579
  className: "w-8 h-8 rounded-full bg-red-500 hover:bg-red-600 flex items-center justify-center transition-all duration-200 text-white border-0 outline-none focus:outline-none shadow-sm",
4608
4580
  title: "End Call",
4609
- children: /* @__PURE__ */ n(We, { className: "h-3.5 w-3.5 rotate-[135deg]" })
4581
+ children: /* @__PURE__ */ n(De, { className: "h-3.5 w-3.5 rotate-[135deg]" })
4610
4582
  }
4611
4583
  )
4612
4584
  ]
@@ -4644,11 +4616,11 @@ const Te = "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAkACQAAD/4QCSRXhpZgAATU0AK
4644
4616
  s ? "text-gray-400" : "text-gray-600"
4645
4617
  ), children: "Connecting..." })
4646
4618
  ] }),
4647
- N && /* @__PURE__ */ E("div", { className: c(
4619
+ R && /* @__PURE__ */ E("div", { className: c(
4648
4620
  "absolute inset-0 flex flex-col items-center justify-center z-10 p-4",
4649
4621
  s ? "bg-gray-950/90" : "bg-white/90"
4650
4622
  ), children: [
4651
- /* @__PURE__ */ n("div", { className: "w-10 h-10 rounded-full bg-red-500/10 flex items-center justify-center mb-2", children: /* @__PURE__ */ n(Be, { className: "w-5 h-5 text-red-500" }) }),
4623
+ /* @__PURE__ */ n("div", { className: "w-10 h-10 rounded-full bg-red-500/10 flex items-center justify-center mb-2", children: /* @__PURE__ */ n(Oe, { className: "w-5 h-5 text-red-500" }) }),
4652
4624
  /* @__PURE__ */ n("p", { className: c(
4653
4625
  "text-xs font-medium text-center mb-2",
4654
4626
  s ? "text-red-300" : "text-red-700"
@@ -4663,7 +4635,7 @@ const Te = "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAkACQAAD/4QCSRXhpZgAATU0AK
4663
4635
  s ? "bg-indigo-600 hover:bg-indigo-700 text-white" : "bg-indigo-500 hover:bg-indigo-600 text-white"
4664
4636
  ),
4665
4637
  children: [
4666
- /* @__PURE__ */ n(Oe, { className: "w-3 h-3" }),
4638
+ /* @__PURE__ */ n(We, { className: "w-3 h-3" }),
4667
4639
  "Retry"
4668
4640
  ]
4669
4641
  }
@@ -4680,9 +4652,9 @@ const Te = "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAkACQAAD/4QCSRXhpZgAATU0AK
4680
4652
  "shadow-2xl",
4681
4653
  !s && "bg-white/95 border border-gray-200/80",
4682
4654
  s && "bg-gray-950/95 border border-gray-800/50",
4683
- B && "fixed bottom-6 right-6 rounded-xl",
4684
- B && (f ? "w-[960px]" : "w-[640px]"),
4685
- B && "h-[500px]",
4655
+ O && "fixed bottom-6 right-6 rounded-xl",
4656
+ O && (f ? "w-[960px]" : "w-[640px]"),
4657
+ O && "h-[500px]",
4686
4658
  Y && "fixed inset-8 md:inset-16 lg:inset-20 rounded-2xl"
4687
4659
  ),
4688
4660
  style: {
@@ -4766,7 +4738,7 @@ const Te = "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAkACQAAD/4QCSRXhpZgAATU0AK
4766
4738
  ), children: "Get ready to chat" })
4767
4739
  ] })
4768
4740
  ] }),
4769
- N && /* @__PURE__ */ n(
4741
+ R && /* @__PURE__ */ n(
4770
4742
  "div",
4771
4743
  {
4772
4744
  className: c(
@@ -4778,7 +4750,7 @@ const Te = "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAkACQAAD/4QCSRXhpZgAATU0AK
4778
4750
  "rounded-lg p-6 max-w-sm w-full shadow-lg border",
4779
4751
  s ? "bg-gray-900 border-red-900/30" : "bg-white border-red-100"
4780
4752
  ), children: /* @__PURE__ */ E("div", { className: "flex flex-col items-center text-center gap-3", children: [
4781
- /* @__PURE__ */ n("div", { className: "w-12 h-12 rounded-full bg-red-500/10 flex items-center justify-center", children: /* @__PURE__ */ n(Be, { className: "w-6 h-6 text-red-500" }) }),
4753
+ /* @__PURE__ */ n("div", { className: "w-12 h-12 rounded-full bg-red-500/10 flex items-center justify-center", children: /* @__PURE__ */ n(Oe, { className: "w-6 h-6 text-red-500" }) }),
4782
4754
  /* @__PURE__ */ E("div", { children: [
4783
4755
  /* @__PURE__ */ n("p", { className: c(
4784
4756
  "text-base font-bold mb-2",
@@ -4787,7 +4759,7 @@ const Te = "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAkACQAAD/4QCSRXhpZgAATU0AK
4787
4759
  /* @__PURE__ */ n("p", { className: c(
4788
4760
  "text-sm leading-relaxed mb-4",
4789
4761
  s ? "text-red-400" : "text-red-600"
4790
- ), children: N }),
4762
+ ), children: R }),
4791
4763
  /* @__PURE__ */ E(
4792
4764
  "button",
4793
4765
  {
@@ -4798,7 +4770,7 @@ const Te = "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAkACQAAD/4QCSRXhpZgAATU0AK
4798
4770
  s ? "bg-indigo-600 hover:bg-indigo-700 text-white" : "bg-indigo-500 hover:bg-indigo-600 text-white"
4799
4771
  ),
4800
4772
  children: [
4801
- /* @__PURE__ */ n(Oe, { className: "w-4 h-4" }),
4773
+ /* @__PURE__ */ n(We, { className: "w-4 h-4" }),
4802
4774
  "Try Again"
4803
4775
  ]
4804
4776
  }
@@ -4830,7 +4802,7 @@ const Te = "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAkACQAAD/4QCSRXhpZgAATU0AK
4830
4802
  /* @__PURE__ */ n("div", { className: c(
4831
4803
  "w-6 h-6 rounded-full flex items-center justify-center",
4832
4804
  s ? "bg-amber-800/50" : "bg-amber-100"
4833
- ), children: /* @__PURE__ */ n(He, { className: c(
4805
+ ), children: /* @__PURE__ */ n(Ve, { className: c(
4834
4806
  "w-3.5 h-3.5 animate-pulse",
4835
4807
  s ? "text-amber-400" : "text-amber-600"
4836
4808
  ) }) }),
@@ -4876,7 +4848,7 @@ const Te = "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAkACQAAD/4QCSRXhpZgAATU0AK
4876
4848
  ] })
4877
4849
  }
4878
4850
  ),
4879
- i && !N && /* @__PURE__ */ E(
4851
+ i && !R && /* @__PURE__ */ E(
4880
4852
  "div",
4881
4853
  {
4882
4854
  className: c(
@@ -4890,7 +4862,7 @@ const Te = "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAkACQAAD/4QCSRXhpZgAATU0AK
4890
4862
  /* @__PURE__ */ n(
4891
4863
  "button",
4892
4864
  {
4893
- onClick: D,
4865
+ onClick: B,
4894
4866
  className: c(
4895
4867
  "w-9 h-9 rounded-full flex items-center justify-center transition-all duration-200",
4896
4868
  "border-0 outline-none focus:outline-none shadow-sm",
@@ -4907,10 +4879,10 @@ const Te = "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAkACQAAD/4QCSRXhpZgAATU0AK
4907
4879
  className: c(
4908
4880
  "w-9 h-9 rounded-full flex items-center justify-center transition-all duration-200",
4909
4881
  "border-0 outline-none focus:outline-none shadow-sm",
4910
- x ? "bg-red-500 hover:bg-red-600 text-white" : s ? "bg-gray-800/80 hover:bg-gray-700 text-gray-300" : "bg-gray-100/80 hover:bg-gray-200 text-gray-600"
4882
+ A ? "bg-red-500 hover:bg-red-600 text-white" : s ? "bg-gray-800/80 hover:bg-gray-700 text-gray-300" : "bg-gray-100/80 hover:bg-gray-200 text-gray-600"
4911
4883
  ),
4912
- title: x ? "Unmute" : "Mute",
4913
- children: x ? /* @__PURE__ */ n(je, { className: "h-4 w-4" }) : /* @__PURE__ */ n(De, { className: "h-4 w-4" })
4884
+ title: A ? "Unmute" : "Mute",
4885
+ children: A ? /* @__PURE__ */ n(je, { className: "h-4 w-4" }) : /* @__PURE__ */ n(Be, { className: "h-4 w-4" })
4914
4886
  }
4915
4887
  ),
4916
4888
  /* @__PURE__ */ n(
@@ -4932,7 +4904,7 @@ const Te = "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAkACQAAD/4QCSRXhpZgAATU0AK
4932
4904
  onClick: r,
4933
4905
  className: "w-10 h-9 rounded-full bg-red-500 hover:bg-red-600 flex items-center justify-center transition-all duration-200 text-white border-0 outline-none focus:outline-none shadow-sm",
4934
4906
  title: "End Call",
4935
- children: /* @__PURE__ */ n(We, { className: "h-4 w-4 rotate-[135deg]" })
4907
+ children: /* @__PURE__ */ n(De, { className: "h-4 w-4 rotate-[135deg]" })
4936
4908
  }
4937
4909
  )
4938
4910
  ]
@@ -4941,7 +4913,7 @@ const Te = "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAkACQAAD/4QCSRXhpZgAATU0AK
4941
4913
  ] }),
4942
4914
  f && /* @__PURE__ */ E("div", { className: c(
4943
4915
  "flex flex-col shrink-0 border-l",
4944
- B ? "w-[320px]" : "w-[360px]",
4916
+ O ? "w-[320px]" : "w-[360px]",
4945
4917
  s ? "bg-gray-900 border-gray-800" : "bg-white border-gray-100"
4946
4918
  ), children: [
4947
4919
  /* @__PURE__ */ n("div", { className: c(
@@ -4968,7 +4940,7 @@ const Te = "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAkACQAAD/4QCSRXhpZgAATU0AK
4968
4940
  /* @__PURE__ */ n("div", { className: c(
4969
4941
  "rounded-2xl p-6 mb-4",
4970
4942
  s ? "bg-gradient-to-br from-indigo-900/20 to-purple-900/20" : "bg-gradient-to-br from-indigo-50 to-purple-50"
4971
- ), children: /* @__PURE__ */ n(Ne, { className: c(
4943
+ ), children: /* @__PURE__ */ n(Re, { className: c(
4972
4944
  "h-8 w-8",
4973
4945
  s ? "text-indigo-400" : "text-indigo-500"
4974
4946
  ) }) }),
@@ -4980,14 +4952,14 @@ const Te = "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAkACQAAD/4QCSRXhpZgAATU0AK
4980
4952
  "text-xs",
4981
4953
  s ? "text-gray-400" : "text-gray-500"
4982
4954
  ), children: "Aria is here to chat with you" })
4983
- ] }) : d.filter((p) => p.content && p.content.trim() !== "").map((p, V) => /* @__PURE__ */ E(
4955
+ ] }) : d.filter((p) => p.content && p.content.trim() !== "").map((p, H) => /* @__PURE__ */ E(
4984
4956
  "div",
4985
4957
  {
4986
4958
  className: c(
4987
4959
  "flex gap-2 aria-animate-fade-in",
4988
4960
  p.role === "user" ? "flex-row-reverse" : "flex-row"
4989
4961
  ),
4990
- style: { animationDelay: `${V * 50}ms` },
4962
+ style: { animationDelay: `${H * 50}ms` },
4991
4963
  children: [
4992
4964
  /* @__PURE__ */ n(
4993
4965
  "div",
@@ -5029,9 +5001,9 @@ const Te = "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAkACQAAD/4QCSRXhpZgAATU0AK
5029
5001
  )
5030
5002
  ]
5031
5003
  },
5032
- V
5004
+ H
5033
5005
  )),
5034
- /* @__PURE__ */ n("div", { ref: W })
5006
+ /* @__PURE__ */ n("div", { ref: D })
5035
5007
  ] }),
5036
5008
  /* @__PURE__ */ n("div", { className: c(
5037
5009
  "p-3 border-t",
@@ -5076,7 +5048,7 @@ const Te = "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAkACQAAD/4QCSRXhpZgAATU0AK
5076
5048
  AriaStandaloneUI: ft
5077
5049
  }, Symbol.toStringTag, { value: "Module" }));
5078
5050
  export {
5079
- Ae as Aria,
5051
+ xe as Aria,
5080
5052
  Ie as decodeJWT,
5081
5053
  Er as extractSessionIdFromToken,
5082
5054
  St as getTokenInfo,