tempest-react-sdk 0.79.0 → 0.80.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,11 +1,11 @@
1
1
  import { decodeFrame as e } from "../utils/json-frame.js";
2
2
  //#region src/sse/create-event-stream.ts
3
3
  function t(t, n = {}) {
4
- let { withCredentials: r = !1, namedEvents: i = [], heartbeatEvents: a = ["ping"], maxRetries: o = 10, initialBackoff: s = 1e3, maxBackoff: c = 3e4, parser: l, onOpen: u, onMessage: d, onError: f, onParseError: p, schema: m, onValidationError: h, onStatusChange: g } = n, _ = null, v = null, y = 0, b = "idle", x = !1;
5
- function S(e) {
6
- b !== e && (b = e, g?.(e));
4
+ let { withCredentials: r = !1, namedEvents: i = [], heartbeatEvents: a = ["ping"], maxRetries: o = 10, initialBackoff: s = 1e3, maxBackoff: c = 3e4, parser: l, onOpen: u, onMessage: d, onError: f, onParseError: p, schema: m, onValidationError: h, onUrlError: g, shouldRetryUrl: _ = () => !0, onStatusChange: v } = n, y = null, b = null, x = 0, S = "idle", C = !1, w = 0;
5
+ function T(e) {
6
+ S !== e && (S = e, v?.(e));
7
7
  }
8
- function C(t, n) {
8
+ function E(t, n) {
9
9
  if (a.includes(t)) return;
10
10
  let r = e(typeof n.data == "string" ? n.data : "", "createEventStream", {
11
11
  parser: l,
@@ -20,39 +20,53 @@ function t(t, n = {}) {
20
20
  raw: n
21
21
  });
22
22
  }
23
- function w() {
24
- if (x) return;
25
- if (y >= o) {
26
- S("error");
23
+ function D() {
24
+ if (C) return;
25
+ if (x >= o) {
26
+ T("error");
27
+ return;
28
+ }
29
+ let e = Math.min(s * 2 ** x, c);
30
+ x += 1, b = setTimeout(k, e);
31
+ }
32
+ function O(e) {
33
+ g?.(e), _(e) ? (T("closed"), D()) : T("error");
34
+ }
35
+ function k() {
36
+ if (C) return;
37
+ if (y &&= (y.close(), null), T("connecting"), w += 1, typeof t == "string") {
38
+ A(t);
27
39
  return;
28
40
  }
29
- let e = Math.min(s * 2 ** y, c);
30
- y += 1, v = setTimeout(T, e);
31
- }
32
- function T() {
33
- if (x) return;
34
- _ && _.close(), S("connecting");
35
- let e = new EventSource(t, { withCredentials: r });
36
- _ = e, e.onopen = () => {
37
- y = 0, S("open"), u?.();
38
- }, e.onmessage = (e) => C("message", e);
39
- for (let t of i) e.addEventListener(t, (e) => C(t, e));
40
- for (let t of a) e.addEventListener(t, () => {});
41
- e.onerror = (t) => {
42
- f?.(t), e.close(), _ = null, S("closed"), w();
41
+ let e = w;
42
+ Promise.resolve().then(t).then((t) => {
43
+ !C && e === w && A(t);
44
+ }, (t) => {
45
+ !C && e === w && O(t);
46
+ });
47
+ }
48
+ function A(e) {
49
+ let t = new EventSource(e, { withCredentials: r });
50
+ y = t, t.onopen = () => {
51
+ x = 0, T("open"), u?.();
52
+ }, t.onmessage = (e) => E("message", e);
53
+ for (let e of i) t.addEventListener(e, (t) => E(e, t));
54
+ for (let e of a) t.addEventListener(e, () => {});
55
+ t.onerror = (e) => {
56
+ f?.(e), t.close(), y = null, T("closed"), D();
43
57
  };
44
58
  }
45
- function E() {
46
- x = !0, v &&= (clearTimeout(v), null), y = 0, _ &&= (_.close(), null), S("closed");
59
+ function j() {
60
+ C = !0, b &&= (clearTimeout(b), null), x = 0, y &&= (y.close(), null), T("closed");
47
61
  }
48
- function D() {
49
- v &&= (clearTimeout(v), null), y = 0, x = !1, T();
62
+ function M() {
63
+ b &&= (clearTimeout(b), null), x = 0, C = !1, k();
50
64
  }
51
- return T(), {
52
- close: E,
53
- reconnect: D,
65
+ return k(), {
66
+ close: j,
67
+ reconnect: M,
54
68
  get status() {
55
- return b;
69
+ return S;
56
70
  }
57
71
  };
58
72
  }
@@ -1 +1 @@
1
- {"version":3,"file":"create-event-stream.js","names":["createEventStream","options","source","retryTimer","retries","status","closed","setStatus","next","onStatusChange","emit","heartbeatEvents","eventName","decoded","decodeFrame","event","onMessage","scheduleReconnect","maxRetries","delay","initialBackoff","maxBackoff","connect","es","url","onOpen","name","namedEvents","onError","close","reconnect"],"sources":["../../src/sse/create-event-stream.ts"],"sourcesContent":["/**\n * @tempest-limits function-lines — the body is the SSE line protocol — accumulate\n * `data:` lines until a blank line, track `id:` for Last-Event-ID, honour `retry:` —\n * plus the reconnect that uses the id it just tracked.\n */\nimport { decodeFrame } from \"../utils/json-frame\";\nimport type { SchemaIssue, SchemaLike } from \"../utils/schema-like\";\nexport type EventStreamStatus = \"idle\" | \"connecting\" | \"open\" | \"closed\" | \"error\";\n\nexport interface EventStreamMessage<T> {\n /** Server-named event (default `\"message\"`). */\n event: string;\n /** Parsed payload — validated when `schema` is set, JSON-decoded when possible, raw string otherwise. */\n data: T;\n /** Server-supplied id, if any. */\n id?: string;\n /** Raw `MessageEvent` for advanced cases. */\n raw: MessageEvent;\n}\n\nexport interface CreateEventStreamOptions<T> {\n /** Send cookies with the EventSource handshake. Default: false. */\n withCredentials?: boolean;\n /** Subscribe to named events in addition to `message`. */\n namedEvents?: readonly string[];\n /** Treat these named events as heartbeat-only (no callback). Default: `[\"ping\"]`. */\n heartbeatEvents?: readonly string[];\n /** Max reconnect attempts. Default: 10. Pass 0 to disable reconnect. */\n maxRetries?: number;\n /** Initial backoff in ms; doubles per attempt, capped at `maxBackoff`. Default: 1000. */\n initialBackoff?: number;\n /** Maximum backoff in ms. Default: 30000. */\n maxBackoff?: number;\n /** Parse `event.data`. Defaults to JSON with raw-string fallback. */\n parser?: (raw: string) => T;\n /**\n * A frame arrived that is not valid JSON, and no `parser` was supplied.\n *\n * Registering this drops the frame instead of delivering it: the previous\n * behaviour handed `onMessage` the raw `string` announced as your message\n * type, so the failure surfaced later, at the first property access, with\n * nothing left pointing at the parse. Leave it out and that behaviour is\n * kept, with a one-time warning in development builds.\n */\n onParseError?: (error: unknown, raw: string) => void;\n /**\n * Schema every decoded frame must satisfy, from zod, valibot, arktype or\n * anything else exposing `~standard` or `.safeParse`.\n *\n * Without it nothing changes: the payload reaches `onMessage` announced as\n * `T` on the strength of the type argument alone, which is a promise about\n * the server that TypeScript cannot keep. With it, a frame that does not\n * match is **not** delivered — the same rule `onParseError` already follows —\n * and `onValidationError` hears why. The value delivered is the schema's\n * output, so coercions and defaults are honoured.\n *\n * When `parser` is also supplied, it decodes first and the schema validates\n * what it returned.\n *\n * The validation must be synchronous. A frame is decoded inside the\n * `message` handler and delivered from it, so an async schema would deliver\n * frames in whatever order their validations settled; that case is reported\n * through `onValidationError` instead of awaited.\n */\n schema?: SchemaLike<T>;\n /**\n * A frame was decoded but the `schema` refused it, so it was dropped.\n *\n * The one signal that does not depend on how the app's bundler resolves\n * `process`: the one-time development warning behind `onParseError` needs\n * `isDevBuild()` to be able to answer, and this callback is the app's own.\n */\n onValidationError?: (issues: SchemaIssue[], raw: string) => void;\n onOpen?: () => void;\n onMessage?: (message: EventStreamMessage<T>) => void;\n onError?: (error: Event) => void;\n onStatusChange?: (status: EventStreamStatus) => void;\n}\n\nexport interface EventStreamController {\n close: () => void;\n /** Force an immediate reconnect, resetting the retry counter. */\n reconnect: () => void;\n /** Current connection status. */\n readonly status: EventStreamStatus;\n}\n\n/**\n * Open a Server-Sent Events stream with automatic exponential-backoff reconnect.\n *\n * Heartbeat events (default `\"ping\"`) keep the socket alive without firing\n * `onMessage`. Pass `withCredentials: true` when the backend authenticates via\n * cookies. Call `close()` from the returned controller to tear down.\n *\n * @param url - Full SSE endpoint URL.\n * @param options - Stream configuration and callbacks.\n * @returns A controller exposing `close`, `reconnect` and the current `status`.\n */\nexport function createEventStream<T = unknown>(\n url: string,\n options: CreateEventStreamOptions<T> = {},\n): EventStreamController {\n const {\n withCredentials = false,\n namedEvents = [],\n heartbeatEvents = [\"ping\"],\n maxRetries = 10,\n initialBackoff = 1000,\n maxBackoff = 30000,\n parser,\n onOpen,\n onMessage,\n onError,\n onParseError,\n schema,\n onValidationError,\n onStatusChange,\n } = options;\n\n let source: EventSource | null = null;\n let retryTimer: ReturnType<typeof setTimeout> | null = null;\n let retries = 0;\n let status: EventStreamStatus = \"idle\";\n let closed = false;\n\n function setStatus(next: EventStreamStatus): void {\n if (status === next) return;\n status = next;\n onStatusChange?.(next);\n }\n\n function emit(eventName: string, event: MessageEvent): void {\n if (heartbeatEvents.includes(eventName)) return;\n const decoded = decodeFrame<T>(\n typeof event.data === \"string\" ? event.data : \"\",\n \"createEventStream\",\n { parser, onParseError, schema, onValidationError },\n );\n if (!decoded.delivered) return;\n onMessage?.({\n event: eventName,\n data: decoded.data,\n id: event.lastEventId || undefined,\n raw: event,\n });\n }\n\n function scheduleReconnect(): void {\n if (closed) return;\n if (retries >= maxRetries) {\n setStatus(\"error\");\n return;\n }\n const delay = Math.min(initialBackoff * 2 ** retries, maxBackoff);\n retries += 1;\n retryTimer = setTimeout(connect, delay);\n }\n\n function connect(): void {\n if (closed) return;\n if (source) source.close();\n setStatus(\"connecting\");\n\n const es = new EventSource(url, { withCredentials });\n source = es;\n\n es.onopen = () => {\n retries = 0;\n setStatus(\"open\");\n onOpen?.();\n };\n\n es.onmessage = (event) => emit(\"message\", event);\n for (const name of namedEvents) {\n es.addEventListener(name, (event) => emit(name, event as MessageEvent));\n }\n for (const name of heartbeatEvents) {\n es.addEventListener(name, () => {\n /* heartbeat — keep socket alive */\n });\n }\n\n es.onerror = (event) => {\n onError?.(event);\n es.close();\n source = null;\n setStatus(\"closed\");\n scheduleReconnect();\n };\n }\n\n function close(): void {\n closed = true;\n if (retryTimer) {\n clearTimeout(retryTimer);\n retryTimer = null;\n }\n retries = 0;\n if (source) {\n source.close();\n source = null;\n }\n setStatus(\"closed\");\n }\n\n function reconnect(): void {\n if (retryTimer) {\n clearTimeout(retryTimer);\n retryTimer = null;\n }\n retries = 0;\n closed = false;\n connect();\n }\n\n connect();\n\n return {\n close,\n reconnect,\n get status() {\n return status;\n },\n };\n}\n"],"mappings":";;AAkGA,SAAgBA,EACZ,GACA,IAAuC,CAAC,GACnB;CACrB,IAAM,EACF,qBAAkB,IAClB,iBAAc,CAAC,GACf,qBAAkB,CAAC,MAAM,GACzB,gBAAa,IACb,oBAAiB,KACjB,gBAAa,KACb,WACA,WACA,cACA,YACA,iBACA,WACA,sBACA,sBACAC,GAEAC,IAA6B,MAC7BC,IAAmD,MACnDC,IAAU,GACVC,IAA4B,QAC5BC,IAAS;CAEb,SAASC,EAAU,GAA+B;EAC9C,AAAIF,MAAWG,MACf,IAASA,GACTC,IAAiBD,CAAI;CACzB;CAEA,SAASE,EAAK,GAAmB,GAA2B;EACxD,IAAIC,EAAgB,SAASC,CAAS,GAAG;EACzC,IAAMC,IAAUC,EACZ,OAAOC,EAAM,QAAS,WAAWA,EAAM,OAAO,IAC9C,qBACA;GAAE;GAAQ;GAAc;GAAQ;EAAkB,CACtD;EACA,AAAKF,EAAQ,aACbG,IAAY;GACR,OAAOJ;GACP,MAAMC,EAAQ;GACd,IAAIE,EAAM,eAAe,KAAA;GACzB,KAAKA;EACT,CAAC;CACL;CAEA,SAASE,IAA0B;EAC/B,IAAIX,GAAQ;EACZ,IAAIF,KAAWc,GAAY;GACvB,EAAU,OAAO;GACjB;EACJ;EACA,IAAMC,IAAQ,KAAK,IAAIC,IAAiB,KAAKhB,GAASiB,CAAU;EAEhE,AADA,KAAW,GACX,IAAa,WAAWC,GAASH,CAAK;CAC1C;CAEA,SAASG,IAAgB;EACrB,IAAIhB,GAAQ;EAEZ,AADIJ,KAAQA,EAAO,MAAM,GACzBK,EAAU,YAAY;EAEtB,IAAMgB,IAAK,IAAI,YAAYC,GAAK,EAAE,mBAAgB,CAAC;EASnD,AARA,IAASD,GAET,EAAG,eAAe;GAGd,AAFA,IAAU,GACVhB,EAAU,MAAM,GAChBkB,IAAS;EACb,GAEA,EAAG,aAAa,MAAUf,EAAK,WAAWK,CAAK;EAC/C,KAAK,IAAMW,KAAQC,GACf,EAAG,iBAAiBD,IAAO,MAAUhB,EAAKgB,GAAMX,CAAqB,CAAC;EAE1E,KAAK,IAAMW,KAAQf,GACf,EAAG,iBAAiBe,SAAY,CAEhC,CAAC;EAGL,EAAG,WAAW,MAAU;GAKpB,AAJAE,IAAUb,CAAK,GACfQ,EAAG,MAAM,GACT,IAAS,MACThB,EAAU,QAAQ,GAClBU,EAAkB;EACtB;CACJ;CAEA,SAASY,IAAc;EAWnB,AAVA,IAAS,IACT,AAEI1B,OADA,aAAaA,CAAU,GACV,OAEjB,IAAU,GACV,AAEID,OADAA,EAAO,MAAM,GACJ,OAEbK,EAAU,QAAQ;CACtB;CAEA,SAASuB,IAAkB;EAOvB,AANA,AAEI3B,OADA,aAAaA,CAAU,GACV,OAEjB,IAAU,GACV,IAAS,IACTmB,EAAQ;CACZ;CAIA,OAFAA,EAAQ,GAED;EACH;EACA;EACA,IAAI,SAAS;GACT,OAAOjB;EACX;CACJ;AACJ"}
1
+ {"version":3,"file":"create-event-stream.js","names":["createEventStream","options","source","retryTimer","retries","status","closed","attempt","setStatus","next","onStatusChange","emit","heartbeatEvents","eventName","decoded","decodeFrame","event","onMessage","scheduleReconnect","maxRetries","delay","initialBackoff","maxBackoff","connect","failUrl","onUrlError","error","shouldRetryUrl","url","current","open","resolved","es","target","onOpen","name","namedEvents","onError","close","reconnect"],"sources":["../../src/sse/create-event-stream.ts"],"sourcesContent":["/**\n * @tempest-limits function-lines — the body is the SSE line protocol — accumulate\n * `data:` lines until a blank line, track `id:` for Last-Event-ID, honour `retry:` —\n * plus the reconnect that uses the id it just tracked.\n */\nimport { decodeFrame } from \"../utils/json-frame\";\nimport type { SchemaIssue, SchemaLike } from \"../utils/schema-like\";\nexport type EventStreamStatus = \"idle\" | \"connecting\" | \"open\" | \"closed\" | \"error\";\n\n/**\n * Where the stream connects: a fixed URL, or a function resolved again before\n * every connection, the first one and each reconnect.\n *\n * The function form exists for short-lived credentials carried in the URL,\n * such as the `?ticket=` of the `tempest-fastapi-sdk` SSE router. `EventSource`\n * cannot send headers, so the credential has to ride in the query, and one that\n * expires makes a fixed URL a trap: the reconnect after the expiry presents the\n * same dead credential, gets a `401`, and burns every retry on it while the user\n * is still signed in.\n */\nexport type EventStreamUrl = string | (() => string | Promise<string>);\n\nexport interface EventStreamMessage<T> {\n /** Server-named event (default `\"message\"`). */\n event: string;\n /** Parsed payload — validated when `schema` is set, JSON-decoded when possible, raw string otherwise. */\n data: T;\n /** Server-supplied id, if any. */\n id?: string;\n /** Raw `MessageEvent` for advanced cases. */\n raw: MessageEvent;\n}\n\nexport interface CreateEventStreamOptions<T> {\n /** Send cookies with the EventSource handshake. Default: false. */\n withCredentials?: boolean;\n /** Subscribe to named events in addition to `message`. */\n namedEvents?: readonly string[];\n /** Treat these named events as heartbeat-only (no callback). Default: `[\"ping\"]`. */\n heartbeatEvents?: readonly string[];\n /** Max reconnect attempts. Default: 10. Pass 0 to disable reconnect. */\n maxRetries?: number;\n /** Initial backoff in ms; doubles per attempt, capped at `maxBackoff`. Default: 1000. */\n initialBackoff?: number;\n /** Maximum backoff in ms. Default: 30000. */\n maxBackoff?: number;\n /** Parse `event.data`. Defaults to JSON with raw-string fallback. */\n parser?: (raw: string) => T;\n /**\n * A frame arrived that is not valid JSON, and no `parser` was supplied.\n *\n * Registering this drops the frame instead of delivering it: the previous\n * behaviour handed `onMessage` the raw `string` announced as your message\n * type, so the failure surfaced later, at the first property access, with\n * nothing left pointing at the parse. Leave it out and that behaviour is\n * kept, with a one-time warning in development builds.\n */\n onParseError?: (error: unknown, raw: string) => void;\n /**\n * Schema every decoded frame must satisfy, from zod, valibot, arktype or\n * anything else exposing `~standard` or `.safeParse`.\n *\n * Without it nothing changes: the payload reaches `onMessage` announced as\n * `T` on the strength of the type argument alone, which is a promise about\n * the server that TypeScript cannot keep. With it, a frame that does not\n * match is **not** delivered — the same rule `onParseError` already follows —\n * and `onValidationError` hears why. The value delivered is the schema's\n * output, so coercions and defaults are honoured.\n *\n * When `parser` is also supplied, it decodes first and the schema validates\n * what it returned.\n *\n * The validation must be synchronous. A frame is decoded inside the\n * `message` handler and delivered from it, so an async schema would deliver\n * frames in whatever order their validations settled; that case is reported\n * through `onValidationError` instead of awaited.\n */\n schema?: SchemaLike<T>;\n /**\n * A frame was decoded but the `schema` refused it, so it was dropped.\n *\n * The one signal that does not depend on how the app's bundler resolves\n * `process`: the one-time development warning behind `onParseError` needs\n * `isDevBuild()` to be able to answer, and this callback is the app's own.\n */\n onValidationError?: (issues: SchemaIssue[], raw: string) => void;\n /**\n * The URL function threw or rejected, so no connection was attempted.\n *\n * `onError` cannot carry this: it receives the `EventSource` `Event`, and a\n * URL that never resolved never had an `EventSource`.\n */\n onUrlError?: (error: unknown) => void;\n /**\n * Whether a URL-resolution failure is worth another attempt. Default: always.\n *\n * Return `false` for failures no backoff can fix — a `401` or a `403` when\n * fetching a ticket is a session decision, not a network blip — and the stream\n * stops at `status: \"error\"` instead of spending `maxRetries` on it.\n */\n shouldRetryUrl?: (error: unknown) => boolean;\n onOpen?: () => void;\n onMessage?: (message: EventStreamMessage<T>) => void;\n onError?: (error: Event) => void;\n onStatusChange?: (status: EventStreamStatus) => void;\n}\n\nexport interface EventStreamController {\n close: () => void;\n /** Force an immediate reconnect, resetting the retry counter. */\n reconnect: () => void;\n /** Current connection status. */\n readonly status: EventStreamStatus;\n}\n\n/**\n * Open a Server-Sent Events stream with automatic exponential-backoff reconnect.\n *\n * Heartbeat events (default `\"ping\"`) keep the socket alive without firing\n * `onMessage`. Pass `withCredentials: true` when the backend authenticates via\n * cookies. Call `close()` from the returned controller to tear down.\n *\n * When `url` is a function it is called before every connection, so a\n * reconnect presents a fresh credential instead of the one that expired. A\n * resolution still pending when `close()` or `reconnect()` runs is discarded.\n *\n * @param url - Full SSE endpoint URL, or a function returning it per connection.\n * @param options - Stream configuration and callbacks.\n * @returns A controller exposing `close`, `reconnect` and the current `status`.\n */\nexport function createEventStream<T = unknown>(\n url: EventStreamUrl,\n options: CreateEventStreamOptions<T> = {},\n): EventStreamController {\n const {\n withCredentials = false,\n namedEvents = [],\n heartbeatEvents = [\"ping\"],\n maxRetries = 10,\n initialBackoff = 1000,\n maxBackoff = 30000,\n parser,\n onOpen,\n onMessage,\n onError,\n onParseError,\n schema,\n onValidationError,\n onUrlError,\n shouldRetryUrl = () => true,\n onStatusChange,\n } = options;\n\n let source: EventSource | null = null;\n let retryTimer: ReturnType<typeof setTimeout> | null = null;\n let retries = 0;\n let status: EventStreamStatus = \"idle\";\n let closed = false;\n let attempt = 0;\n\n function setStatus(next: EventStreamStatus): void {\n if (status === next) return;\n status = next;\n onStatusChange?.(next);\n }\n\n function emit(eventName: string, event: MessageEvent): void {\n if (heartbeatEvents.includes(eventName)) return;\n const decoded = decodeFrame<T>(\n typeof event.data === \"string\" ? event.data : \"\",\n \"createEventStream\",\n { parser, onParseError, schema, onValidationError },\n );\n if (!decoded.delivered) return;\n onMessage?.({\n event: eventName,\n data: decoded.data,\n id: event.lastEventId || undefined,\n raw: event,\n });\n }\n\n function scheduleReconnect(): void {\n if (closed) return;\n if (retries >= maxRetries) {\n setStatus(\"error\");\n return;\n }\n const delay = Math.min(initialBackoff * 2 ** retries, maxBackoff);\n retries += 1;\n retryTimer = setTimeout(connect, delay);\n }\n\n function failUrl(error: unknown): void {\n onUrlError?.(error);\n if (!shouldRetryUrl(error)) {\n setStatus(\"error\");\n return;\n }\n setStatus(\"closed\");\n scheduleReconnect();\n }\n\n function connect(): void {\n if (closed) return;\n if (source) {\n source.close();\n source = null;\n }\n setStatus(\"connecting\");\n attempt += 1;\n if (typeof url === \"string\") {\n open(url);\n return;\n }\n const current = attempt;\n Promise.resolve()\n .then(url)\n .then(\n (resolved) => {\n if (!closed && current === attempt) open(resolved);\n },\n (error: unknown) => {\n if (!closed && current === attempt) failUrl(error);\n },\n );\n }\n\n function open(target: string): void {\n const es = new EventSource(target, { withCredentials });\n source = es;\n\n es.onopen = () => {\n retries = 0;\n setStatus(\"open\");\n onOpen?.();\n };\n\n es.onmessage = (event) => emit(\"message\", event);\n for (const name of namedEvents) {\n es.addEventListener(name, (event) => emit(name, event as MessageEvent));\n }\n for (const name of heartbeatEvents) {\n es.addEventListener(name, () => {\n /* heartbeat — keep socket alive */\n });\n }\n\n es.onerror = (event) => {\n onError?.(event);\n es.close();\n source = null;\n setStatus(\"closed\");\n scheduleReconnect();\n };\n }\n\n function close(): void {\n closed = true;\n if (retryTimer) {\n clearTimeout(retryTimer);\n retryTimer = null;\n }\n retries = 0;\n if (source) {\n source.close();\n source = null;\n }\n setStatus(\"closed\");\n }\n\n function reconnect(): void {\n if (retryTimer) {\n clearTimeout(retryTimer);\n retryTimer = null;\n }\n retries = 0;\n closed = false;\n connect();\n }\n\n connect();\n\n return {\n close,\n reconnect,\n get status() {\n return status;\n },\n };\n}\n"],"mappings":";;AAkIA,SAAgBA,EACZ,GACA,IAAuC,CAAC,GACnB;CACrB,IAAM,EACF,qBAAkB,IAClB,iBAAc,CAAC,GACf,qBAAkB,CAAC,MAAM,GACzB,gBAAa,IACb,oBAAiB,KACjB,gBAAa,KACb,WACA,WACA,cACA,YACA,iBACA,WACA,sBACA,eACA,0BAAuB,IACvB,sBACAC,GAEAC,IAA6B,MAC7BC,IAAmD,MACnDC,IAAU,GACVC,IAA4B,QAC5BC,IAAS,IACTC,IAAU;CAEd,SAASC,EAAU,GAA+B;EAC9C,AAAIH,MAAWI,MACf,IAASA,GACTC,IAAiBD,CAAI;CACzB;CAEA,SAASE,EAAK,GAAmB,GAA2B;EACxD,IAAIC,EAAgB,SAASC,CAAS,GAAG;EACzC,IAAMC,IAAUC,EACZ,OAAOC,EAAM,QAAS,WAAWA,EAAM,OAAO,IAC9C,qBACA;GAAE;GAAQ;GAAc;GAAQ;EAAkB,CACtD;EACA,AAAKF,EAAQ,aACbG,IAAY;GACR,OAAOJ;GACP,MAAMC,EAAQ;GACd,IAAIE,EAAM,eAAe,KAAA;GACzB,KAAKA;EACT,CAAC;CACL;CAEA,SAASE,IAA0B;EAC/B,IAAIZ,GAAQ;EACZ,IAAIF,KAAWe,GAAY;GACvB,EAAU,OAAO;GACjB;EACJ;EACA,IAAMC,IAAQ,KAAK,IAAIC,IAAiB,KAAKjB,GAASkB,CAAU;EAEhE,AADA,KAAW,GACX,IAAa,WAAWC,GAASH,CAAK;CAC1C;CAEA,SAASI,EAAQ,GAAsB;EAEnC,AADAC,IAAaC,CAAK,GACbC,EAAeD,CAAK,KAIzBlB,EAAU,QAAQ,GAClBU,EAAkB,KAJdV,EAAU,OAAO;CAKzB;CAEA,SAASe,IAAgB;EACrB,IAAIjB,GAAQ;EAOZ,IANA,AAEIJ,OADAA,EAAO,MAAM,GACJ,OAEbM,EAAU,YAAY,GACtB,KAAW,GACP,OAAOoB,KAAQ,UAAU;GACzB,EAAKA,CAAG;GACR;EACJ;EACA,IAAMC,IAAUtB;EAChB,QAAQ,QAAQ,CAAC,CACZ,KAAKqB,CAAG,CAAC,CACT,MACI,MAAa;GACV,AAAI,CAACtB,KAAUuB,MAAYtB,KAASuB,EAAKC,CAAQ;EACrD,IACC,MAAmB;GAChB,AAAI,CAACzB,KAAUuB,MAAYtB,KAASiB,EAAQE,CAAK;EACrD,CACJ;CACR;CAEA,SAASI,EAAK,GAAsB;EAChC,IAAME,IAAK,IAAI,YAAYC,GAAQ,EAAE,mBAAgB,CAAC;EAStD,AARA,IAASD,GAET,EAAG,eAAe;GAGd,AAFA,IAAU,GACVxB,EAAU,MAAM,GAChB0B,IAAS;EACb,GAEA,EAAG,aAAa,MAAUvB,EAAK,WAAWK,CAAK;EAC/C,KAAK,IAAMmB,KAAQC,GACf,EAAG,iBAAiBD,IAAO,MAAUxB,EAAKwB,GAAMnB,CAAqB,CAAC;EAE1E,KAAK,IAAMmB,KAAQvB,GACf,EAAG,iBAAiBuB,SAAY,CAEhC,CAAC;EAGL,EAAG,WAAW,MAAU;GAKpB,AAJAE,IAAUrB,CAAK,GACfgB,EAAG,MAAM,GACT,IAAS,MACTxB,EAAU,QAAQ,GAClBU,EAAkB;EACtB;CACJ;CAEA,SAASoB,IAAc;EAWnB,AAVA,IAAS,IACT,AAEInC,OADA,aAAaA,CAAU,GACV,OAEjB,IAAU,GACV,AAEID,OADAA,EAAO,MAAM,GACJ,OAEbM,EAAU,QAAQ;CACtB;CAEA,SAAS+B,IAAkB;EAOvB,AANA,AAEIpC,OADA,aAAaA,CAAU,GACV,OAEjB,IAAU,GACV,IAAS,IACToB,EAAQ;CACZ;CAIA,OAFAA,EAAQ,GAED;EACH;EACA;EACA,IAAI,SAAS;GACT,OAAOlB;EACX;CACJ;AACJ"}
@@ -0,0 +1,2 @@
1
+ const e=require("../http/errors.cjs"),t=require("./create-event-stream.cjs"),n=require("./use-event-stream.cjs");function r(t){return e.isApiError(t)&&e.isRetriableStatus(t.status)}function i(e){let{client:t,prefix:n=`/sse`,ticketParam:r=`ticket`}=e;return async()=>{let e=await t.post(`${n}/ticket`);if(typeof e?.ticket!=`string`||e.ticket===``)throw TypeError(`createTicketEventStream: POST ${n}/ticket returned no "ticket" string.`);return t.url(`${n}/stream`,{[r]:e.ticket})}}function a(e){let{client:n,prefix:a,ticketParam:o,shouldRetryUrl:s=r,...c}=e;return t.createEventStream(i({client:n,prefix:a,ticketParam:o}),{...c,shouldRetryUrl:s})}function o(e){let{client:t,prefix:a,ticketParam:o,shouldRetryUrl:s=r,...c}=e;return n.useEventStream(i({client:t,prefix:a,ticketParam:o}),{...c,shouldRetryUrl:s})}exports.createTicketEventStream=a,exports.isRetriableTicketError=r,exports.useTicketEventStream=o;
2
+ //# sourceMappingURL=ticket-event-stream.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ticket-event-stream.cjs","names":["isApiError","isRetriableStatus","createEventStream","useEventStream","require_errors","require_create_event_stream","require_use_event_stream","isRetriableTicketError","error","ticketStreamUrl","source","response","client","prefix","ticketParam","createTicketEventStream","rest","options","useTicketEventStream"],"sources":["../../src/sse/ticket-event-stream.ts"],"sourcesContent":["import { isApiError, isRetriableStatus } from \"../http/errors\";\nimport type { ApiClient } from \"../http/types\";\nimport {\n createEventStream,\n type CreateEventStreamOptions,\n type EventStreamController,\n} from \"./create-event-stream\";\nimport {\n useEventStream,\n type UseEventStreamOptions,\n type UseEventStreamResult,\n} from \"./use-event-stream\";\n\n/** Body of `POST <prefix>/ticket` on the `tempest-fastapi-sdk` SSE router. */\nexport interface SseTicketResponse {\n /** Signed stream ticket, presented as a query param when opening the stream. */\n ticket: string;\n /** Seconds the ticket is accepted for opening a stream. */\n expires_in: number;\n}\n\n/** Where the ticket comes from and how the stream URL is built. */\nexport interface TicketEventStreamSource {\n /**\n * Authenticated client the ticket is requested through, so it carries the\n * `Authorization` header or the session cookie, the CSRF header, and the\n * 401 refresh-and-replay that a hand-rolled `fetch` would lose.\n */\n client: Pick<ApiClient, \"post\" | \"url\">;\n /** Router prefix, relative to the client's base URL. Default: `\"/sse\"`. */\n prefix?: string;\n /** Query param the stream reads the ticket from. Default: `\"ticket\"`. */\n ticketParam?: string;\n}\n\nexport type CreateTicketEventStreamOptions<T> = TicketEventStreamSource &\n CreateEventStreamOptions<T>;\n\nexport type UseTicketEventStreamOptions<T> = TicketEventStreamSource & UseEventStreamOptions<T>;\n\n/**\n * Whether a failure to obtain a ticket is worth another attempt.\n *\n * Only a failure the backoff can outlast is: no response at all, a timeout, a\n * rate limit, a `5xx`. A `401` reached the caller after the client already\n * tried its refresh, and a `403` (`ACCOUNT_INACTIVE`) is the backend saying no;\n * both are session decisions, and retrying them only delays the error state the\n * app has to show. Anything that is not an API error is a contract mismatch,\n * which a retry cannot fix either.\n *\n * @param error - What the ticket request threw.\n * @returns Whether to schedule a reconnect.\n */\nexport function isRetriableTicketError(error: unknown): boolean {\n return isApiError(error) && isRetriableStatus(error.status);\n}\n\n/**\n * Build the URL function that requests a ticket and points at the stream.\n *\n * A fresh ticket is requested for every connection rather than cached for its\n * `expires_in`. Every connection after the first follows a failure, and the\n * failure may have been the ticket itself; reusing it would spend the retries\n * on a credential that is already refused, while a new ticket costs one `POST`\n * per reconnect, which the backoff already spaces out.\n *\n * @param source - Client, router prefix and ticket param name.\n * @returns A function resolving the stream URL with a fresh ticket.\n * @throws TypeError When the ticket response has no `ticket` string.\n */\nfunction ticketStreamUrl(source: TicketEventStreamSource): () => Promise<string> {\n const { client, prefix = \"/sse\", ticketParam = \"ticket\" } = source;\n return async () => {\n const response = await client.post<SseTicketResponse>(`${prefix}/ticket`);\n if (typeof response?.ticket !== \"string\" || response.ticket === \"\") {\n throw new TypeError(\n `createTicketEventStream: POST ${prefix}/ticket returned no \"ticket\" string.`,\n );\n }\n return client.url(`${prefix}/stream`, { [ticketParam]: response.ticket });\n };\n}\n\n/**\n * Open the ticket-authenticated stream of the `tempest-fastapi-sdk` SSE router.\n *\n * `POST <prefix>/ticket` through the authenticated client, then\n * `GET <prefix>/stream?ticket=…` — and again for every reconnect, because the\n * ticket only opens streams for `expires_in` seconds and a reconnect after that\n * with the old one is a `401`. A ticket request refused with a status no\n * backoff fixes (`401`, `403 ACCOUNT_INACTIVE`) stops the stream at\n * `status: \"error\"` and reaches `onUrlError`; pass `shouldRetryUrl` to replace\n * {@link isRetriableTicketError}.\n *\n * The access token never enters the URL: it travels as the client's header (or\n * cookie) on the ticket request, and the ticket in the URL opens that stream\n * and nothing else.\n *\n * @example\n * const stream = createTicketEventStream<Notification>({\n * client: api,\n * onMessage: ({ data }) => addNotification(data),\n * onUrlError: (error) => toast.error(describeApiError(error)),\n * });\n *\n * @param options - Ticket source plus every {@link createEventStream} option.\n * @returns The stream controller.\n */\nexport function createTicketEventStream<T = unknown>(\n options: CreateTicketEventStreamOptions<T>,\n): EventStreamController {\n const {\n client,\n prefix,\n ticketParam,\n shouldRetryUrl = isRetriableTicketError,\n ...rest\n } = options;\n return createEventStream<T>(ticketStreamUrl({ client, prefix, ticketParam }), {\n ...rest,\n shouldRetryUrl,\n });\n}\n\n/**\n * React form of {@link createTicketEventStream}: same ticket per connection,\n * lifecycle tied to the component like {@link useEventStream}.\n *\n * Changing `client`, `prefix` or `ticketParam` does not drop an open stream:\n * the next connection uses the new values, and `reconnect()` applies them now.\n * Reopening on identity would reconnect on every render for a client built\n * inline.\n *\n * @example\n * const { status } = useTicketEventStream<Notification>({\n * client: api,\n * enabled: isAuthenticated,\n * schema: notificationSchema,\n * onMessage: ({ data }) => addNotification(data),\n * });\n *\n * @param options - Ticket source plus every {@link useEventStream} option.\n * @returns Status, last message and `reconnect`.\n */\nexport function useTicketEventStream<T = unknown>(\n options: UseTicketEventStreamOptions<T>,\n): UseEventStreamResult<T> {\n const {\n client,\n prefix,\n ticketParam,\n shouldRetryUrl = isRetriableTicketError,\n ...rest\n } = options;\n return useEventStream<T>(ticketStreamUrl({ client, prefix, ticketParam }), {\n ...rest,\n shouldRetryUrl,\n });\n}\n"],"mappings":"A,iHAqDA,SAAgBO,EAAuB,EAAyB,CAC5D,OAAOP,EAAAA,WAAWQ,CAAK,GAAKP,EAAAA,kBAAkBO,EAAM,MAAM,CAC9D,CAeA,SAASC,EAAgB,EAAwD,CAC7E,GAAM,CAAE,SAAQ,SAAS,OAAQ,cAAc,UAAaC,EAC5D,OAAO,SAAY,CACf,IAAMC,EAAW,MAAMC,EAAO,KAAwB,GAAGC,EAAO,QAAQ,EACxE,GAAI,OAAOF,GAAU,QAAW,UAAYA,EAAS,SAAW,GAC5D,MAAU,UACN,iCAAiCE,EAAO,qCAC5C,EAEJ,OAAOD,EAAO,IAAI,GAAGC,EAAO,SAAU,EAAGC,GAAcH,EAAS,MAAO,CAAC,CAC5E,CACJ,CA2BA,SAAgBI,EACZ,EACqB,CACrB,GAAM,CACF,SACA,SACA,cACA,iBAAiBR,EACjB,GAAGS,GACHC,EACJ,OAAOf,EAAAA,kBAAqBO,EAAgB,CAAE,SAAQ,SAAQ,aAAY,CAAC,EAAG,CAC1E,GAAGO,EACH,gBACJ,CAAC,CACL,CAsBA,SAAgBE,EACZ,EACuB,CACvB,GAAM,CACF,SACA,SACA,cACA,iBAAiBX,EACjB,GAAGS,GACHC,EACJ,OAAOd,EAAAA,eAAkBM,EAAgB,CAAE,SAAQ,SAAQ,aAAY,CAAC,EAAG,CACvE,GAAGO,EACH,gBACJ,CAAC,CACL,C"}
@@ -0,0 +1,41 @@
1
+ import { isApiError as e, isRetriableStatus as t } from "../http/errors.js";
2
+ import { createEventStream as n } from "./create-event-stream.js";
3
+ import { useEventStream as r } from "./use-event-stream.js";
4
+ //#region src/sse/ticket-event-stream.ts
5
+ function i(n) {
6
+ return e(n) && t(n.status);
7
+ }
8
+ function a(e) {
9
+ let { client: t, prefix: n = "/sse", ticketParam: r = "ticket" } = e;
10
+ return async () => {
11
+ let e = await t.post(`${n}/ticket`);
12
+ if (typeof e?.ticket != "string" || e.ticket === "") throw TypeError(`createTicketEventStream: POST ${n}/ticket returned no "ticket" string.`);
13
+ return t.url(`${n}/stream`, { [r]: e.ticket });
14
+ };
15
+ }
16
+ function o(e) {
17
+ let { client: t, prefix: r, ticketParam: o, shouldRetryUrl: s = i, ...c } = e;
18
+ return n(a({
19
+ client: t,
20
+ prefix: r,
21
+ ticketParam: o
22
+ }), {
23
+ ...c,
24
+ shouldRetryUrl: s
25
+ });
26
+ }
27
+ function s(e) {
28
+ let { client: t, prefix: n, ticketParam: o, shouldRetryUrl: s = i, ...c } = e;
29
+ return r(a({
30
+ client: t,
31
+ prefix: n,
32
+ ticketParam: o
33
+ }), {
34
+ ...c,
35
+ shouldRetryUrl: s
36
+ });
37
+ }
38
+ //#endregion
39
+ export { o as createTicketEventStream, i as isRetriableTicketError, s as useTicketEventStream };
40
+
41
+ //# sourceMappingURL=ticket-event-stream.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ticket-event-stream.js","names":["isRetriableTicketError","isApiError","error","isRetriableStatus","ticketStreamUrl","source","response","client","prefix","ticketParam","createTicketEventStream","rest","options","createEventStream","useTicketEventStream","useEventStream"],"sources":["../../src/sse/ticket-event-stream.ts"],"sourcesContent":["import { isApiError, isRetriableStatus } from \"../http/errors\";\nimport type { ApiClient } from \"../http/types\";\nimport {\n createEventStream,\n type CreateEventStreamOptions,\n type EventStreamController,\n} from \"./create-event-stream\";\nimport {\n useEventStream,\n type UseEventStreamOptions,\n type UseEventStreamResult,\n} from \"./use-event-stream\";\n\n/** Body of `POST <prefix>/ticket` on the `tempest-fastapi-sdk` SSE router. */\nexport interface SseTicketResponse {\n /** Signed stream ticket, presented as a query param when opening the stream. */\n ticket: string;\n /** Seconds the ticket is accepted for opening a stream. */\n expires_in: number;\n}\n\n/** Where the ticket comes from and how the stream URL is built. */\nexport interface TicketEventStreamSource {\n /**\n * Authenticated client the ticket is requested through, so it carries the\n * `Authorization` header or the session cookie, the CSRF header, and the\n * 401 refresh-and-replay that a hand-rolled `fetch` would lose.\n */\n client: Pick<ApiClient, \"post\" | \"url\">;\n /** Router prefix, relative to the client's base URL. Default: `\"/sse\"`. */\n prefix?: string;\n /** Query param the stream reads the ticket from. Default: `\"ticket\"`. */\n ticketParam?: string;\n}\n\nexport type CreateTicketEventStreamOptions<T> = TicketEventStreamSource &\n CreateEventStreamOptions<T>;\n\nexport type UseTicketEventStreamOptions<T> = TicketEventStreamSource & UseEventStreamOptions<T>;\n\n/**\n * Whether a failure to obtain a ticket is worth another attempt.\n *\n * Only a failure the backoff can outlast is: no response at all, a timeout, a\n * rate limit, a `5xx`. A `401` reached the caller after the client already\n * tried its refresh, and a `403` (`ACCOUNT_INACTIVE`) is the backend saying no;\n * both are session decisions, and retrying them only delays the error state the\n * app has to show. Anything that is not an API error is a contract mismatch,\n * which a retry cannot fix either.\n *\n * @param error - What the ticket request threw.\n * @returns Whether to schedule a reconnect.\n */\nexport function isRetriableTicketError(error: unknown): boolean {\n return isApiError(error) && isRetriableStatus(error.status);\n}\n\n/**\n * Build the URL function that requests a ticket and points at the stream.\n *\n * A fresh ticket is requested for every connection rather than cached for its\n * `expires_in`. Every connection after the first follows a failure, and the\n * failure may have been the ticket itself; reusing it would spend the retries\n * on a credential that is already refused, while a new ticket costs one `POST`\n * per reconnect, which the backoff already spaces out.\n *\n * @param source - Client, router prefix and ticket param name.\n * @returns A function resolving the stream URL with a fresh ticket.\n * @throws TypeError When the ticket response has no `ticket` string.\n */\nfunction ticketStreamUrl(source: TicketEventStreamSource): () => Promise<string> {\n const { client, prefix = \"/sse\", ticketParam = \"ticket\" } = source;\n return async () => {\n const response = await client.post<SseTicketResponse>(`${prefix}/ticket`);\n if (typeof response?.ticket !== \"string\" || response.ticket === \"\") {\n throw new TypeError(\n `createTicketEventStream: POST ${prefix}/ticket returned no \"ticket\" string.`,\n );\n }\n return client.url(`${prefix}/stream`, { [ticketParam]: response.ticket });\n };\n}\n\n/**\n * Open the ticket-authenticated stream of the `tempest-fastapi-sdk` SSE router.\n *\n * `POST <prefix>/ticket` through the authenticated client, then\n * `GET <prefix>/stream?ticket=…` — and again for every reconnect, because the\n * ticket only opens streams for `expires_in` seconds and a reconnect after that\n * with the old one is a `401`. A ticket request refused with a status no\n * backoff fixes (`401`, `403 ACCOUNT_INACTIVE`) stops the stream at\n * `status: \"error\"` and reaches `onUrlError`; pass `shouldRetryUrl` to replace\n * {@link isRetriableTicketError}.\n *\n * The access token never enters the URL: it travels as the client's header (or\n * cookie) on the ticket request, and the ticket in the URL opens that stream\n * and nothing else.\n *\n * @example\n * const stream = createTicketEventStream<Notification>({\n * client: api,\n * onMessage: ({ data }) => addNotification(data),\n * onUrlError: (error) => toast.error(describeApiError(error)),\n * });\n *\n * @param options - Ticket source plus every {@link createEventStream} option.\n * @returns The stream controller.\n */\nexport function createTicketEventStream<T = unknown>(\n options: CreateTicketEventStreamOptions<T>,\n): EventStreamController {\n const {\n client,\n prefix,\n ticketParam,\n shouldRetryUrl = isRetriableTicketError,\n ...rest\n } = options;\n return createEventStream<T>(ticketStreamUrl({ client, prefix, ticketParam }), {\n ...rest,\n shouldRetryUrl,\n });\n}\n\n/**\n * React form of {@link createTicketEventStream}: same ticket per connection,\n * lifecycle tied to the component like {@link useEventStream}.\n *\n * Changing `client`, `prefix` or `ticketParam` does not drop an open stream:\n * the next connection uses the new values, and `reconnect()` applies them now.\n * Reopening on identity would reconnect on every render for a client built\n * inline.\n *\n * @example\n * const { status } = useTicketEventStream<Notification>({\n * client: api,\n * enabled: isAuthenticated,\n * schema: notificationSchema,\n * onMessage: ({ data }) => addNotification(data),\n * });\n *\n * @param options - Ticket source plus every {@link useEventStream} option.\n * @returns Status, last message and `reconnect`.\n */\nexport function useTicketEventStream<T = unknown>(\n options: UseTicketEventStreamOptions<T>,\n): UseEventStreamResult<T> {\n const {\n client,\n prefix,\n ticketParam,\n shouldRetryUrl = isRetriableTicketError,\n ...rest\n } = options;\n return useEventStream<T>(ticketStreamUrl({ client, prefix, ticketParam }), {\n ...rest,\n shouldRetryUrl,\n });\n}\n"],"mappings":";;;;AAqDA,SAAgBA,EAAuB,GAAyB;CAC5D,OAAOC,EAAWC,CAAK,KAAKC,EAAkBD,EAAM,MAAM;AAC9D;AAeA,SAASE,EAAgB,GAAwD;CAC7E,IAAM,EAAE,WAAQ,YAAS,QAAQ,iBAAc,aAAaC;CAC5D,OAAO,YAAY;EACf,IAAMC,IAAW,MAAMC,EAAO,KAAwB,GAAGC,EAAO,QAAQ;EACxE,IAAI,OAAOF,GAAU,UAAW,YAAYA,EAAS,WAAW,IAC5D,MAAU,UACN,iCAAiCE,EAAO,qCAC5C;EAEJ,OAAOD,EAAO,IAAI,GAAGC,EAAO,UAAU,GAAGC,IAAcH,EAAS,OAAO,CAAC;CAC5E;AACJ;AA2BA,SAAgBI,EACZ,GACqB;CACrB,IAAM,EACF,WACA,WACA,gBACA,oBAAiBV,GACjB,GAAGW,MACHC;CACJ,OAAOC,EAAqBT,EAAgB;EAAE;EAAQ;EAAQ;CAAY,CAAC,GAAG;EAC1E,GAAGO;EACH;CACJ,CAAC;AACL;AAsBA,SAAgBG,EACZ,GACuB;CACvB,IAAM,EACF,WACA,WACA,gBACA,oBAAiBd,GACjB,GAAGW,MACHC;CACJ,OAAOG,EAAkBX,EAAgB;EAAE;EAAQ;EAAQ;CAAY,CAAC,GAAG;EACvE,GAAGO;EACH;CACJ,CAAC;AACL"}
@@ -1,2 +1,2 @@
1
- const e=require("../hooks/use-latest-ref.cjs"),t=require("./create-event-stream.cjs");let n=require("react");function r(r,i={}){let{enabled:a=!0,onMessage:o,...s}=i,[c,l]=(0,n.useState)(`idle`),[u,d]=(0,n.useState)(null),f=(0,n.useRef)(null),p=e.useLatestRef(o);return(0,n.useEffect)(()=>{if(!a||!r){l(`idle`);return}let e=t.createEventStream(r,{...s,onStatusChange:l,onMessage:e=>{d(e),p.current?.(e)}});return f.current=e.reconnect,()=>{e.close(),f.current=null}},[r,a]),{status:c,lastMessage:u,reconnect:()=>f.current?.()}}exports.useEventStream=r;
1
+ const e=require("../hooks/use-latest-ref.cjs"),t=require("./create-event-stream.cjs");let n=require("react");function r(r,i={}){let{enabled:a=!0,onMessage:o,...s}=i,[c,l]=(0,n.useState)(`idle`),[u,d]=(0,n.useState)(null),f=(0,n.useRef)(null),p=e.useLatestRef(o),m=e.useLatestRef(r),h=typeof r==`string`?r:null;return(0,n.useEffect)(()=>{if(!a||h===``){l(`idle`);return}let e=t.createEventStream(h??(()=>{let e=m.current;return typeof e==`string`?e:e()}),{...s,onStatusChange:l,onMessage:e=>{d(e),p.current?.(e)}});return f.current=e.reconnect,()=>{e.close(),f.current=null}},[h,a]),{status:c,lastMessage:u,reconnect:()=>f.current?.()}}exports.useEventStream=r;
2
2
  //# sourceMappingURL=use-event-stream.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-event-stream.cjs","names":["useState","useRef","useLatestRef","createEventStream","require_use_latest_ref","require_create_event_stream","react","useEventStream","rest","options","status","setStatus","lastMessage","setLastMessage","reconnectRef","onMessageRef","onMessage","enabled","url","controller","message"],"sources":["../../src/sse/use-event-stream.ts"],"sourcesContent":["import { useEffect, useRef, useState } from \"react\";\nimport { useLatestRef } from \"@/hooks/use-latest-ref\";\nimport {\n createEventStream,\n type CreateEventStreamOptions,\n type EventStreamMessage,\n type EventStreamStatus,\n} from \"./create-event-stream\";\n\nexport interface UseEventStreamOptions<T> extends Omit<\n CreateEventStreamOptions<T>,\n \"onStatusChange\"\n> {\n /** When false, the stream is not opened. Useful for \"wait for auth\". Default: true. */\n enabled?: boolean;\n}\n\nexport interface UseEventStreamResult<T> {\n status: EventStreamStatus;\n /** Last message received (excluding heartbeats). */\n lastMessage: EventStreamMessage<T> | null;\n /** Force a reconnect. */\n reconnect: () => void;\n}\n\n/**\n * React hook wrapper around {@link createEventStream}. Connection lifecycle is\n * tied to the component (and the `url`/`enabled` dependencies); the stream\n * closes on unmount.\n *\n * Pass `schema` to have every frame validated before it reaches `onMessage`,\n * instead of trusting the type argument: without it `data` is announced as `T`\n * on the strength of the generic alone, which is a promise about the server\n * that TypeScript cannot keep. It is read when the stream opens, so declare it\n * outside the component rather than building one inline per render.\n *\n * @example\n * useEventStream<Notification>(`${API}/notifications/stream`, {\n * enabled: !!user,\n * withCredentials: true,\n * onMessage: ({ data }) => addNotification(data),\n * });\n *\n * @example\n * // Validated: a frame that does not match never reaches `onMessage`\n * const notificationSchema = z.object({ id: z.string(), message: z.string() });\n *\n * useEventStream<Notification>(`${API}/notifications/stream`, {\n * schema: notificationSchema,\n * onValidationError: (issues) => logger.warn(\"stream drift\", { issues }),\n * onMessage: ({ data }) => addNotification(data),\n * });\n */\nexport function useEventStream<T = unknown>(\n url: string,\n options: UseEventStreamOptions<T> = {},\n): UseEventStreamResult<T> {\n const { enabled = true, onMessage, ...rest } = options;\n const [status, setStatus] = useState<EventStreamStatus>(\"idle\");\n const [lastMessage, setLastMessage] = useState<EventStreamMessage<T> | null>(null);\n const reconnectRef = useRef<(() => void) | null>(null);\n\n const onMessageRef = useLatestRef(onMessage);\n\n useEffect(() => {\n if (!enabled || !url) {\n setStatus(\"idle\");\n return;\n }\n\n const controller = createEventStream<T>(url, {\n ...rest,\n onStatusChange: setStatus,\n onMessage: (message) => {\n setLastMessage(message);\n onMessageRef.current?.(message);\n },\n });\n reconnectRef.current = controller.reconnect;\n\n return () => {\n controller.close();\n reconnectRef.current = null;\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [url, enabled]);\n\n return {\n status,\n lastMessage,\n reconnect: () => reconnectRef.current?.(),\n };\n}\n"],"mappings":"A,6GAqDA,SAAgBO,EACZ,EACA,EAAoC,CAAC,EACd,CACvB,GAAM,CAAE,UAAU,GAAM,YAAW,GAAGC,GAASC,EACzC,CAACC,EAAQC,IAAA,EAAaX,EAAAA,SAAAA,CAA4B,MAAM,EACxD,CAACY,EAAaC,IAAA,EAAkBb,EAAAA,SAAAA,CAAuC,IAAI,EAC3Ec,GAAA,EAAeb,EAAAA,OAAAA,CAA4B,IAAI,EAE/Cc,EAAeb,EAAAA,aAAac,CAAS,EAyB3C,OAvBA,EAAAV,EAAA,UAAA,KAAgB,CACZ,GAAI,CAACW,GAAW,CAACC,EAAK,CAClBP,EAAU,MAAM,EAChB,MACJ,CAEA,IAAMQ,EAAahB,EAAAA,kBAAqBe,EAAK,CACzC,GAAGV,EACH,eAAgBG,EAChB,UAAY,GAAY,CACpBE,EAAeO,CAAO,EACtBL,EAAa,UAAUK,CAAO,CAClC,CACJ,CAAC,EAGD,MAFA,GAAa,QAAUD,EAAW,cAErB,CACTA,EAAW,MAAM,EACjB,EAAa,QAAU,IAC3B,CAEJ,EAAG,CAACD,EAAKD,CAAO,CAAC,EAEV,CACH,SACA,cACA,cAAiBH,EAAa,UAAU,CAC5C,CACJ,C"}
1
+ {"version":3,"file":"use-event-stream.cjs","names":["useState","useRef","useLatestRef","createEventStream","require_use_latest_ref","require_create_event_stream","react","useEventStream","rest","options","status","setStatus","lastMessage","setLastMessage","reconnectRef","onMessageRef","onMessage","urlRef","url","fixedUrl","enabled","controller","latest","message"],"sources":["../../src/sse/use-event-stream.ts"],"sourcesContent":["import { useEffect, useRef, useState } from \"react\";\nimport { useLatestRef } from \"@/hooks/use-latest-ref\";\nimport {\n createEventStream,\n type CreateEventStreamOptions,\n type EventStreamMessage,\n type EventStreamStatus,\n type EventStreamUrl,\n} from \"./create-event-stream\";\n\nexport interface UseEventStreamOptions<T> extends Omit<\n CreateEventStreamOptions<T>,\n \"onStatusChange\"\n> {\n /** When false, the stream is not opened. Useful for \"wait for auth\". Default: true. */\n enabled?: boolean;\n}\n\nexport interface UseEventStreamResult<T> {\n status: EventStreamStatus;\n /** Last message received (excluding heartbeats). */\n lastMessage: EventStreamMessage<T> | null;\n /** Force a reconnect. */\n reconnect: () => void;\n}\n\n/**\n * React hook wrapper around {@link createEventStream}. Connection lifecycle is\n * tied to the component (and the `url`/`enabled` dependencies); the stream\n * closes on unmount.\n *\n * A string `url` reopens the stream when it changes. A function `url` does not:\n * an inline arrow is a new function every render, and keying on its identity\n * would reconnect on every render. The latest function is the one called on the\n * next connection, so call `reconnect()` when what it resolves to must change now.\n *\n * Pass `schema` to have every frame validated before it reaches `onMessage`,\n * instead of trusting the type argument: without it `data` is announced as `T`\n * on the strength of the generic alone, which is a promise about the server\n * that TypeScript cannot keep. It is read when the stream opens, so declare it\n * outside the component rather than building one inline per render.\n *\n * @example\n * useEventStream<Notification>(`${API}/notifications/stream`, {\n * enabled: !!user,\n * withCredentials: true,\n * onMessage: ({ data }) => addNotification(data),\n * });\n *\n * @example\n * // Validated: a frame that does not match never reaches `onMessage`\n * const notificationSchema = z.object({ id: z.string(), message: z.string() });\n *\n * useEventStream<Notification>(`${API}/notifications/stream`, {\n * schema: notificationSchema,\n * onValidationError: (issues) => logger.warn(\"stream drift\", { issues }),\n * onMessage: ({ data }) => addNotification(data),\n * });\n */\nexport function useEventStream<T = unknown>(\n url: EventStreamUrl,\n options: UseEventStreamOptions<T> = {},\n): UseEventStreamResult<T> {\n const { enabled = true, onMessage, ...rest } = options;\n const [status, setStatus] = useState<EventStreamStatus>(\"idle\");\n const [lastMessage, setLastMessage] = useState<EventStreamMessage<T> | null>(null);\n const reconnectRef = useRef<(() => void) | null>(null);\n\n const onMessageRef = useLatestRef(onMessage);\n const urlRef = useLatestRef(url);\n const fixedUrl = typeof url === \"string\" ? url : null;\n\n useEffect(() => {\n if (!enabled || fixedUrl === \"\") {\n setStatus(\"idle\");\n return;\n }\n\n const target: EventStreamUrl =\n fixedUrl ??\n (() => {\n const latest = urlRef.current;\n return typeof latest === \"string\" ? latest : latest();\n });\n const controller = createEventStream<T>(target, {\n ...rest,\n onStatusChange: setStatus,\n onMessage: (message) => {\n setLastMessage(message);\n onMessageRef.current?.(message);\n },\n });\n reconnectRef.current = controller.reconnect;\n\n return () => {\n controller.close();\n reconnectRef.current = null;\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [fixedUrl, enabled]);\n\n return {\n status,\n lastMessage,\n reconnect: () => reconnectRef.current?.(),\n };\n}\n"],"mappings":"A,6GA2DA,SAAgBO,EACZ,EACA,EAAoC,CAAC,EACd,CACvB,GAAM,CAAE,UAAU,GAAM,YAAW,GAAGC,GAASC,EACzC,CAACC,EAAQC,IAAA,EAAaX,EAAAA,SAAAA,CAA4B,MAAM,EACxD,CAACY,EAAaC,IAAA,EAAkBb,EAAAA,SAAAA,CAAuC,IAAI,EAC3Ec,GAAA,EAAeb,EAAAA,OAAAA,CAA4B,IAAI,EAE/Cc,EAAeb,EAAAA,aAAac,CAAS,EACrCC,EAASf,EAAAA,aAAagB,CAAG,EACzBC,EAAW,OAAOD,GAAQ,SAAWA,EAAM,KA+BjD,OA7BA,EAAAZ,EAAA,UAAA,KAAgB,CACZ,GAAI,CAACc,GAAWD,IAAa,GAAI,CAC7BR,EAAU,MAAM,EAChB,MACJ,CAQA,IAAMU,EAAalB,EAAAA,kBALfgB,QACO,CACH,IAAMG,EAASL,EAAO,QACtB,OAAO,OAAOK,GAAW,SAAWA,EAASA,EAAO,CACxD,GAC4C,CAC5C,GAAGd,EACH,eAAgBG,EAChB,UAAY,GAAY,CACpBE,EAAeU,CAAO,EACtBR,EAAa,UAAUQ,CAAO,CAClC,CACJ,CAAC,EAGD,MAFA,GAAa,QAAUF,EAAW,cAErB,CACTA,EAAW,MAAM,EACjB,EAAa,QAAU,IAC3B,CAEJ,EAAG,CAACF,EAAUC,CAAO,CAAC,EAEf,CACH,SACA,cACA,cAAiBN,EAAa,UAAU,CAC5C,CACJ,C"}
@@ -3,13 +3,16 @@ import { createEventStream as t } from "./create-event-stream.js";
3
3
  import { useEffect as n, useRef as r, useState as i } from "react";
4
4
  //#region src/sse/use-event-stream.ts
5
5
  function a(a, o = {}) {
6
- let { enabled: s = !0, onMessage: c, ...l } = o, [u, d] = i("idle"), [f, p] = i(null), m = r(null), h = e(c);
6
+ let { enabled: s = !0, onMessage: c, ...l } = o, [u, d] = i("idle"), [f, p] = i(null), m = r(null), h = e(c), g = e(a), _ = typeof a == "string" ? a : null;
7
7
  return n(() => {
8
- if (!s || !a) {
8
+ if (!s || _ === "") {
9
9
  d("idle");
10
10
  return;
11
11
  }
12
- let e = t(a, {
12
+ let e = t(_ ?? (() => {
13
+ let e = g.current;
14
+ return typeof e == "string" ? e : e();
15
+ }), {
13
16
  ...l,
14
17
  onStatusChange: d,
15
18
  onMessage: (e) => {
@@ -19,7 +22,7 @@ function a(a, o = {}) {
19
22
  return m.current = e.reconnect, () => {
20
23
  e.close(), m.current = null;
21
24
  };
22
- }, [a, s]), {
25
+ }, [_, s]), {
23
26
  status: u,
24
27
  lastMessage: f,
25
28
  reconnect: () => m.current?.()
@@ -1 +1 @@
1
- {"version":3,"file":"use-event-stream.js","names":["useEventStream","rest","options","status","setStatus","useState","lastMessage","setLastMessage","reconnectRef","useRef","onMessageRef","useLatestRef","onMessage","useEffect","enabled","url","controller","createEventStream","message"],"sources":["../../src/sse/use-event-stream.ts"],"sourcesContent":["import { useEffect, useRef, useState } from \"react\";\nimport { useLatestRef } from \"@/hooks/use-latest-ref\";\nimport {\n createEventStream,\n type CreateEventStreamOptions,\n type EventStreamMessage,\n type EventStreamStatus,\n} from \"./create-event-stream\";\n\nexport interface UseEventStreamOptions<T> extends Omit<\n CreateEventStreamOptions<T>,\n \"onStatusChange\"\n> {\n /** When false, the stream is not opened. Useful for \"wait for auth\". Default: true. */\n enabled?: boolean;\n}\n\nexport interface UseEventStreamResult<T> {\n status: EventStreamStatus;\n /** Last message received (excluding heartbeats). */\n lastMessage: EventStreamMessage<T> | null;\n /** Force a reconnect. */\n reconnect: () => void;\n}\n\n/**\n * React hook wrapper around {@link createEventStream}. Connection lifecycle is\n * tied to the component (and the `url`/`enabled` dependencies); the stream\n * closes on unmount.\n *\n * Pass `schema` to have every frame validated before it reaches `onMessage`,\n * instead of trusting the type argument: without it `data` is announced as `T`\n * on the strength of the generic alone, which is a promise about the server\n * that TypeScript cannot keep. It is read when the stream opens, so declare it\n * outside the component rather than building one inline per render.\n *\n * @example\n * useEventStream<Notification>(`${API}/notifications/stream`, {\n * enabled: !!user,\n * withCredentials: true,\n * onMessage: ({ data }) => addNotification(data),\n * });\n *\n * @example\n * // Validated: a frame that does not match never reaches `onMessage`\n * const notificationSchema = z.object({ id: z.string(), message: z.string() });\n *\n * useEventStream<Notification>(`${API}/notifications/stream`, {\n * schema: notificationSchema,\n * onValidationError: (issues) => logger.warn(\"stream drift\", { issues }),\n * onMessage: ({ data }) => addNotification(data),\n * });\n */\nexport function useEventStream<T = unknown>(\n url: string,\n options: UseEventStreamOptions<T> = {},\n): UseEventStreamResult<T> {\n const { enabled = true, onMessage, ...rest } = options;\n const [status, setStatus] = useState<EventStreamStatus>(\"idle\");\n const [lastMessage, setLastMessage] = useState<EventStreamMessage<T> | null>(null);\n const reconnectRef = useRef<(() => void) | null>(null);\n\n const onMessageRef = useLatestRef(onMessage);\n\n useEffect(() => {\n if (!enabled || !url) {\n setStatus(\"idle\");\n return;\n }\n\n const controller = createEventStream<T>(url, {\n ...rest,\n onStatusChange: setStatus,\n onMessage: (message) => {\n setLastMessage(message);\n onMessageRef.current?.(message);\n },\n });\n reconnectRef.current = controller.reconnect;\n\n return () => {\n controller.close();\n reconnectRef.current = null;\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [url, enabled]);\n\n return {\n status,\n lastMessage,\n reconnect: () => reconnectRef.current?.(),\n };\n}\n"],"mappings":";;;;AAqDA,SAAgBA,EACZ,GACA,IAAoC,CAAC,GACd;CACvB,IAAM,EAAE,aAAU,IAAM,cAAW,GAAGC,MAASC,GACzC,CAACC,GAAQC,KAAaC,EAA4B,MAAM,GACxD,CAACC,GAAaC,KAAkBF,EAAuC,IAAI,GAC3EG,IAAeC,EAA4B,IAAI,GAE/CC,IAAeC,EAAaC,CAAS;CAyB3C,OAvBAC,QAAgB;EACZ,IAAI,CAACC,KAAW,CAACC,GAAK;GAClB,EAAU,MAAM;GAChB;EACJ;EAEA,IAAMC,IAAaC,EAAqBF,GAAK;GACzC,GAAGd;GACH,gBAAgBG;GAChB,YAAY,MAAY;IAEpB,AADAG,EAAeW,CAAO,GACtBR,EAAa,UAAUQ,CAAO;GAClC;EACJ,CAAC;EAGD,OAFA,EAAa,UAAUF,EAAW,iBAErB;GAET,AADAA,EAAW,MAAM,GACjB,EAAa,UAAU;EAC3B;CAEJ,GAAG,CAACD,GAAKD,CAAO,CAAC,GAEV;EACH;EACA;EACA,iBAAiBN,EAAa,UAAU;CAC5C;AACJ"}
1
+ {"version":3,"file":"use-event-stream.js","names":["useEventStream","rest","options","status","setStatus","useState","lastMessage","setLastMessage","reconnectRef","useRef","onMessageRef","useLatestRef","onMessage","urlRef","url","fixedUrl","useEffect","enabled","controller","createEventStream","latest","message"],"sources":["../../src/sse/use-event-stream.ts"],"sourcesContent":["import { useEffect, useRef, useState } from \"react\";\nimport { useLatestRef } from \"@/hooks/use-latest-ref\";\nimport {\n createEventStream,\n type CreateEventStreamOptions,\n type EventStreamMessage,\n type EventStreamStatus,\n type EventStreamUrl,\n} from \"./create-event-stream\";\n\nexport interface UseEventStreamOptions<T> extends Omit<\n CreateEventStreamOptions<T>,\n \"onStatusChange\"\n> {\n /** When false, the stream is not opened. Useful for \"wait for auth\". Default: true. */\n enabled?: boolean;\n}\n\nexport interface UseEventStreamResult<T> {\n status: EventStreamStatus;\n /** Last message received (excluding heartbeats). */\n lastMessage: EventStreamMessage<T> | null;\n /** Force a reconnect. */\n reconnect: () => void;\n}\n\n/**\n * React hook wrapper around {@link createEventStream}. Connection lifecycle is\n * tied to the component (and the `url`/`enabled` dependencies); the stream\n * closes on unmount.\n *\n * A string `url` reopens the stream when it changes. A function `url` does not:\n * an inline arrow is a new function every render, and keying on its identity\n * would reconnect on every render. The latest function is the one called on the\n * next connection, so call `reconnect()` when what it resolves to must change now.\n *\n * Pass `schema` to have every frame validated before it reaches `onMessage`,\n * instead of trusting the type argument: without it `data` is announced as `T`\n * on the strength of the generic alone, which is a promise about the server\n * that TypeScript cannot keep. It is read when the stream opens, so declare it\n * outside the component rather than building one inline per render.\n *\n * @example\n * useEventStream<Notification>(`${API}/notifications/stream`, {\n * enabled: !!user,\n * withCredentials: true,\n * onMessage: ({ data }) => addNotification(data),\n * });\n *\n * @example\n * // Validated: a frame that does not match never reaches `onMessage`\n * const notificationSchema = z.object({ id: z.string(), message: z.string() });\n *\n * useEventStream<Notification>(`${API}/notifications/stream`, {\n * schema: notificationSchema,\n * onValidationError: (issues) => logger.warn(\"stream drift\", { issues }),\n * onMessage: ({ data }) => addNotification(data),\n * });\n */\nexport function useEventStream<T = unknown>(\n url: EventStreamUrl,\n options: UseEventStreamOptions<T> = {},\n): UseEventStreamResult<T> {\n const { enabled = true, onMessage, ...rest } = options;\n const [status, setStatus] = useState<EventStreamStatus>(\"idle\");\n const [lastMessage, setLastMessage] = useState<EventStreamMessage<T> | null>(null);\n const reconnectRef = useRef<(() => void) | null>(null);\n\n const onMessageRef = useLatestRef(onMessage);\n const urlRef = useLatestRef(url);\n const fixedUrl = typeof url === \"string\" ? url : null;\n\n useEffect(() => {\n if (!enabled || fixedUrl === \"\") {\n setStatus(\"idle\");\n return;\n }\n\n const target: EventStreamUrl =\n fixedUrl ??\n (() => {\n const latest = urlRef.current;\n return typeof latest === \"string\" ? latest : latest();\n });\n const controller = createEventStream<T>(target, {\n ...rest,\n onStatusChange: setStatus,\n onMessage: (message) => {\n setLastMessage(message);\n onMessageRef.current?.(message);\n },\n });\n reconnectRef.current = controller.reconnect;\n\n return () => {\n controller.close();\n reconnectRef.current = null;\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [fixedUrl, enabled]);\n\n return {\n status,\n lastMessage,\n reconnect: () => reconnectRef.current?.(),\n };\n}\n"],"mappings":";;;;AA2DA,SAAgBA,EACZ,GACA,IAAoC,CAAC,GACd;CACvB,IAAM,EAAE,aAAU,IAAM,cAAW,GAAGC,MAASC,GACzC,CAACC,GAAQC,KAAaC,EAA4B,MAAM,GACxD,CAACC,GAAaC,KAAkBF,EAAuC,IAAI,GAC3EG,IAAeC,EAA4B,IAAI,GAE/CC,IAAeC,EAAaC,CAAS,GACrCC,IAASF,EAAaG,CAAG,GACzBC,IAAW,OAAOD,KAAQ,WAAWA,IAAM;CA+BjD,OA7BAE,QAAgB;EACZ,IAAI,CAACC,KAAWF,MAAa,IAAI;GAC7B,EAAU,MAAM;GAChB;EACJ;EAQA,IAAMG,IAAaC,EALfJ,YACO;GACH,IAAMK,IAASP,EAAO;GACtB,OAAO,OAAOO,KAAW,WAAWA,IAASA,EAAO;EACxD,IAC4C;GAC5C,GAAGnB;GACH,gBAAgBG;GAChB,YAAY,MAAY;IAEpB,AADAG,EAAec,CAAO,GACtBX,EAAa,UAAUW,CAAO;GAClC;EACJ,CAAC;EAGD,OAFA,EAAa,UAAUH,EAAW,iBAErB;GAET,AADAA,EAAW,MAAM,GACjB,EAAa,UAAU;EAC3B;CAEJ,GAAG,CAACH,GAAUE,CAAO,CAAC,GAEf;EACH;EACA;EACA,iBAAiBT,EAAa,UAAU;CAC5C;AACJ"}
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});/* empty css */const ee=require("./utils/cn.cjs"),te=require("./components/Accordion/Accordion.cjs"),ne=require("./components/Alert/Alert.cjs"),re=require("./utils/dev-mode.cjs"),ie=require("./components/AppBar/AppBar.cjs"),ae=require("./hooks/use-breakpoint.cjs"),oe=require("./components/AppShell/AppShell.cjs"),se=require("./components/AspectRatio/AspectRatio.cjs"),ce=require("./components/Avatar/Avatar.cjs"),le=require("./components/AvatarGroup/AvatarGroup.cjs"),ue=require("./components/Badge/Badge.cjs"),de=require("./components/Banner/Banner.cjs"),fe=require("./components/BottomNavigation/BottomNavigation.cjs"),pe=require("./hooks/use-focus-trap.cjs"),me=require("./components/BottomSheet/BottomSheet.cjs"),he=require("./components/Breadcrumbs/Breadcrumbs.cjs"),ge=require("./components/Button/Button.cjs"),_e=require("./components/Button/ButtonSlot.cjs"),ve=require("./components/Card/Card.cjs"),ye=require("./components/Center/Center.cjs"),be=require("./components/Checkbox/Checkbox.cjs"),xe=require("./components/ChipInput/ChipInput.cjs"),Se=require("./components/Portal/Portal.cjs"),Ce=require("./components/Combobox/Combobox.cjs"),we=require("./components/Modal/Modal.cjs"),Te=require("./components/ConfirmDialog/ConfirmDialog.cjs"),Ee=require("./components/Input/Input.cjs"),De=require("./components/DatePicker/DatePicker.cjs"),Oe=require("./components/Divider/Divider.cjs"),ke=require("./components/Drawer/Drawer.cjs"),Ae=require("./components/DropdownMenu/DropdownMenu.cjs"),je=require("./components/Dropzone/Dropzone.cjs"),Me=require("./components/EmptyState/EmptyState.cjs"),Ne=require("./components/ErrorState/ErrorState.cjs"),Pe=require("./components/FileUpload/FileUpload.cjs"),e=require("./components/Form/Form.cjs"),t=require("./components/Layout/Layout.cjs"),n=require("./hooks/pwa-env.cjs"),Fe=require("./hooks/use-install-prompt.cjs"),Ie=require("./components/InstallButton/install-hints.cjs"),Le=require("./components/InstallBanner/InstallBanner.cjs"),Re=require("./components/InstallButton/InstallButton.cjs"),ze=require("./hooks/use-debounce.cjs"),Be=require("./hooks/use-pagination.cjs"),Ve=require("./hooks/use-client-filter.cjs"),He=require("./hooks/use-deep-memo.cjs"),Ue=require("./hooks/use-latest-ref.cjs"),We=require("./hooks/use-draft-filters.cjs"),Ge=require("./hooks/use-media-query.cjs"),Ke=require("./hooks/use-event-listener.cjs"),qe=require("./hooks/use-local-storage.cjs"),Je=require("./hooks/use-toggle.cjs"),Ye=require("./hooks/use-async.cjs"),Xe=require("./hooks/use-online.cjs"),Ze=require("./hooks/use-document-visibility.cjs"),Qe=require("./hooks/use-intersection-observer.cjs"),$e=require("./hooks/use-resize-observer.cjs"),et=require("./hooks/use-clipboard.cjs"),tt=require("./hooks/use-keyboard-shortcut.cjs"),nt=require("./hooks/use-before-install-prompt.cjs"),rt=require("./hooks/use-idle.cjs"),it=require("./hooks/use-fullscreen.cjs"),r=require("./hooks/use-push-to-talk.cjs"),at=require("./hooks/use-geolocation.cjs"),ot=require("./hooks/use-scroll-lock.cjs"),i=require("./hooks/use-announce.cjs"),st=require("./hooks/use-stable-callback.cjs"),ct=require("./hooks/use-previous.cjs"),lt=require("./hooks/use-interval.cjs"),ut=require("./hooks/use-timeout.cjs"),dt=require("./hooks/use-throttle.cjs"),ft=require("./hooks/use-window-size.cjs"),pt=require("./hooks/use-hover.cjs"),mt=require("./hooks/use-long-press.cjs"),ht=require("./hooks/use-disclosure.cjs"),gt=require("./hooks/use-list-state.cjs"),_t=require("./hooks/use-counter.cjs"),vt=require("./hooks/use-countdown.cjs"),yt=require("./hooks/use-typewriter.cjs"),bt=require("./hooks/use-document-title.cjs"),xt=require("./hooks/use-favicon.cjs"),St=require("./hooks/use-map.cjs"),Ct=require("./hooks/use-set.cjs"),wt=require("./hooks/use-queue.cjs"),Tt=require("./hooks/use-click-outside.cjs"),Et=require("./hooks/use-is-first-render.cjs"),Dt=require("./hooks/use-object-url.cjs"),Ot=require("./hooks/use-long-press-handlers.cjs"),a=require("./sw/register-service-worker.cjs"),kt=require("./hooks/use-service-worker-update.cjs"),o=require("./hooks/use-storage-estimate.cjs"),At=require("./hooks/use-sortable.cjs"),jt=require("./hooks/use-scroll-overflow.cjs"),Mt=require("./hooks/use-media-permission.cjs"),Nt=require("./hooks/use-media-devices.cjs"),Pt=require("./components/OfflineIndicator/OfflineIndicator.cjs"),Ft=require("./offline/use-offline-sync.cjs"),It=require("./components/VisuallyHidden/VisuallyHidden.cjs"),Lt=require("./components/SyncStatusBadge/SyncStatusBadge.cjs"),Rt=require("./components/UpdatePrompt/UpdatePrompt.cjs"),zt=require("./components/Kanban/Kanban.cjs"),Bt=require("./components/Kbd/Kbd.cjs"),Vt=require("./components/ModalsManager/ModalsManager.cjs"),Ht=require("./components/Navbar/Navbar.cjs"),Ut=require("./components/NProgress/NProgress.cjs"),Wt=require("./components/SectionHeader/SectionHeader.cjs"),Gt=require("./components/Page/Page.cjs"),Kt=require("./components/Pagination/Pagination.cjs"),qt=require("./components/PasswordInput/PasswordInput.cjs"),Jt=require("./components/PinInput/PinInput.cjs"),Yt=require("./components/Popover/Popover.cjs"),Xt=require("./components/Progress/Progress.cjs"),Zt=require("./components/Radio/Radio.cjs"),Qt=require("./components/RangeSlider/RangeSlider.cjs"),$t=require("./components/RatingStars/RatingStars.cjs"),en=require("./components/Responsive/Responsive.cjs"),tn=require("./components/SafeArea/SafeArea.cjs"),nn=require("./components/SearchBar/SearchBar.cjs"),rn=require("./components/SegmentedControl/SegmentedControl.cjs"),an=require("./components/Select/Select.cjs"),s=require("./components/Select/options.cjs"),on=require("./components/Sidebar/active-nav-key.cjs"),sn=require("./components/Sidebar/Sidebar.cjs"),cn=require("./components/Skeleton/Skeleton.cjs"),ln=require("./components/Spacer/Spacer.cjs"),un=require("./components/Spinner/Spinner.cjs"),dn=require("./components/Stat/Stat.cjs"),fn=require("./components/Stepper/Stepper.cjs"),pn=require("./utils/absent.cjs"),c=require("./utils/numbers.cjs"),mn=require("./components/StepperInput/StepperInput.cjs"),hn=require("./components/Switch/Switch.cjs"),gn=require("./components/Tag/Tag.cjs"),_n=require("./components/Table/Table.cjs"),vn=require("./components/Tabs/Tabs.cjs"),yn=require("./components/Textarea/Textarea.cjs"),bn=require("./components/Timeline/Timeline.cjs"),xn=require("./components/Tooltip/Tooltip.cjs"),Sn=require("./components/Toast/ToastProvider.cjs"),Cn=require("./components/ImageCropper/ImageCropper.cjs"),wn=require("./components/Sparkline/Sparkline.cjs"),Tn=require("./components/Scheduler/Scheduler.cjs"),En=require("./utils/relative-time.cjs"),Dn=require("./components/NotificationCenter/NotificationCenter.cjs"),On=require("./components/NotificationCenter/use-notification-inbox.cjs"),kn=require("./components/VideoPlayer/playback-rates.cjs"),An=require("./components/VideoPlayer/VideoPlayer.cjs"),jn=require("./components/VirtualList/VirtualList.cjs"),Mn=require("./utils/compare-values.cjs"),Nn=require("./components/VirtualTable/VirtualTable.cjs"),l=require("./components/QRCode/qr-encode.cjs"),Pn=require("./components/QRCode/QRCode.cjs"),Fn=require("./components/CopyButton/CopyButton.cjs"),In=require("./components/CodeBlock/CodeBlock.cjs"),Ln=require("./components/RelativeTime/RelativeTime.cjs"),Rn=require("./components/Money/Money.cjs"),zn=require("./components/TreeView/TreeView.cjs"),Bn=require("./components/TruncateText/TruncateText.cjs"),Vn=require("./components/Reveal/Reveal.cjs"),Hn=require("./components/ClickOutside/ClickOutside.cjs"),Un=require("./components/ConditionalWrapper/ConditionalWrapper.cjs"),Wn=require("./components/For/For.cjs"),Gn=require("./components/ErrorText/ErrorText.cjs"),Kn=require("./components/Image/Image.cjs"),qn=require("./components/DataList/DataList.cjs"),Jn=require("./components/DescriptionList/DescriptionList.cjs"),Yn=require("./components/Toggle/Toggle.cjs"),Xn=require("./components/ToggleGroup/ToggleGroup.cjs"),Zn=require("./components/Label/Label.cjs"),Qn=require("./components/Collapsible/Collapsible.cjs"),$n=require("./components/ContextMenu/ContextMenu.cjs"),er=require("./components/HoverCard/HoverCard.cjs"),tr=require("./components/Command/Command.cjs"),nr=require("./components/ScrollArea/ScrollArea.cjs"),rr=require("./components/Resizable/Resizable.cjs"),ir=require("./components/Calendar/Calendar.cjs"),ar=require("./components/Slider/Slider.cjs"),or=require("./components/MultiSelect/MultiSelect.cjs"),sr=require("./components/DateRangePicker/DateRangePicker.cjs"),cr=require("./components/NavigationMenu/NavigationMenu.cjs"),lr=require("./components/Menubar/Menubar.cjs"),ur=require("./components/Carousel/Carousel.cjs"),dr=require("./components/DataTable/DataTable.cjs"),fr=require("./components/ListTile/ListTile.cjs"),pr=require("./components/FloatingActionButton/FloatingActionButton.cjs"),mr=require("./components/NavigationRail/NavigationRail.cjs"),hr=require("./components/TimePicker/TimePicker.cjs"),gr=require("./components/RefreshIndicator/RefreshIndicator.cjs"),_r=require("./components/Wizard/Wizard.cjs"),vr=require("./components/Lightbox/Lightbox.cjs"),yr=require("./components/SignaturePad/SignaturePad.cjs"),br=require("./components/Chat/chat-receipt.cjs"),xr=require("./components/Chat/ChatBubble.cjs"),Sr=require("./components/Chat/ChatComposer.cjs"),Cr=require("./components/Chat/Chat.cjs"),wr=require("./audio/audio-output.cjs"),Tr=require("./components/AudioPlayer/AudioPlayer.cjs"),Er=require("./capture/media-recorder.cjs"),u=require("./audio/audio-recorder.cjs"),Dr=require("./audio/level-meter.cjs"),Or=require("./audio/use-audio-recorder.cjs"),kr=require("./audio/media-access.cjs"),Ar=require("./audio/use-microphone.cjs"),jr=require("./audio/wav.cjs"),Mr=require("./components/AudioRecorder/AudioRecorder.cjs"),d=require("./capture/barcode.cjs"),Nr=require("./capture/use-torch.cjs"),Pr=require("./capture/use-barcode-scanner.cjs"),Fr=require("./components/BarcodeScanner/BarcodeScanner.cjs"),f=require("./components/AIChat/ai-chat-turns.cjs"),Ir=require("./components/AIChat/AIChatComposer.cjs"),p=require("./utils/safe-url.cjs"),Lr=require("./components/Markdown/Markdown.cjs"),Rr=require("./components/AIChat/AIChatTurn.cjs"),zr=require("./components/AIChat/AIChat.cjs"),Br=require("./components/Transfer/Transfer.cjs"),Vr=require("./components/Masonry/Masonry.cjs"),Hr=require("./components/Tour/Tour.cjs"),Ur=require("./components/BarList/bar-list-model.cjs"),Wr=require("./components/BarList/BarList.cjs"),m=require("./components/FilterBar/filter-model.cjs"),Gr=require("./components/FilterBar/FilterBar.cjs"),h=require("./utils/format.cjs"),Kr=require("./components/FilterBar/filter-apply.cjs"),qr=require("./components/FilterBar/filter-query.cjs"),Jr=require("./components/FilterPanel/FilterPanel.cjs"),Yr=require("./utils/storage.cjs"),g=require("./utils/compressed-storage.cjs"),_=require("./utils/strings.cjs"),v=require("./utils/arrays.cjs"),y=require("./utils/objects.cjs"),b=require("./utils/guards.cjs"),x=require("./utils/functions.cjs"),Xr=require("./utils/promises.cjs"),Zr=require("./utils/ids.cjs"),Qr=require("./utils/xlsx.cjs"),$r=require("./share/share.cjs"),ei=require("./share/share-or-download.cjs"),ti=require("./utils/csv.cjs"),ni=require("./http/build-url.cjs"),ri=require("./http/credential-scope.cjs"),S=require("./http/csrf.cjs"),C=require("./http/errors.cjs"),ii=require("./http/retry.cjs"),ai=require("./http/api-client.cjs"),w=require("./http/describe-api-error.cjs"),oi=require("./i18n/create-i18n.cjs"),T=require("./i18n/I18nProvider.cjs"),si=require("./http/use-describe-api-error.cjs"),ci=require("./http/parse-response.cjs"),li=require("./http/upload-with-progress.cjs"),ui=require("./http/idempotency.cjs"),E=require("./http/resumable-upload.cjs"),di=require("./http/use-poll.cjs"),fi=require("./auth/create-auth-store.cjs"),pi=require("./auth/AuthGuard.cjs"),mi=require("./auth/jwt.cjs"),hi=require("./auth/lazy-with-retry.cjs"),gi=require("./auth/refresh-queue.cjs"),D=require("./auth/passkey.cjs"),O=require("./auth/use-passkey.cjs"),_i=require("./auth/create-tempest-auth.cjs"),vi=require("./access/access-control-context.cjs"),yi=require("./access/use-can.cjs"),bi=require("./access/Can.cjs"),xi=require("./access/create-role-access-control.cjs"),Si=require("./access/permissions-from-token.cjs"),Ci=require("./oauth/GoogleSignIn.cjs"),wi=require("./oauth/use-oauth-callback.cjs"),k=require("./oauth/callback.cjs"),A=require("./query/constants.cjs"),Ti=require("./query/create-query-keys.cjs"),Ei=require("./query/retry-policy.cjs"),Di=require("./query/QueryProvider.cjs"),j=require("./query/pagination.cjs"),Oi=require("./query/use-paginated-query.cjs"),ki=require("./query/use-cursor-query.cjs"),Ai=require("./query/use-offline-mutation.cjs"),ji=require("./query/optimistic.cjs"),Mi=require("./offline/create-offline-store.cjs"),Ni=require("./query/offline-persistence.cjs"),Pi=require("./data/create-data-provider.cjs"),Fi=require("./data/data-provider-context.cjs"),M=require("./data/use-resource.cjs"),Ii=require("./router/RouteGuard.cjs"),Li=require("./router/AppRouter.cjs"),Ri=require("./store/create-store.cjs"),zi=require("./store/create-selectors.cjs"),Bi=require("./theme/ThemeProvider.cjs"),Vi=require("./error-boundary/ErrorBoundary.cjs"),Hi=require("./app/AppProviders.cjs"),Ui=require("./sse/create-event-stream.cjs"),Wi=require("./sse/use-event-stream.cjs"),Gi=require("./push/utils.cjs"),N=require("./push/web-push-client.cjs"),Ki=require("./push/use-push-subscription.cjs"),P=require("./sw/create-push-handler.cjs"),qi=require("./sw/credential-headers.cjs"),F=require("./sw/cache.cjs"),I=require("./sw/background-sync.cjs"),Ji=require("./sw/periodic-sync.cjs"),Yi=require("./sw/cache-inspect.cjs"),Xi=require("./sw/session-data.cjs"),L=require("./audio/audio-player.cjs"),Zi=require("./audio/use-audio.cjs"),Qi=require("./audio/sfx-pool.cjs"),$i=require("./audio/use-sfx-pool.cjs"),ea=require("./audio/audio-bus.cjs"),ta=require("./audio/use-audio-bus.cjs"),R=require("./audio/voice-chain.cjs"),na=require("./audio/noise-floor.cjs"),ra=require("./audio/voice-activity.cjs"),z=require("./capture/video-recorder.cjs"),ia=require("./capture/use-video-recorder.cjs"),aa=require("./capture/use-screen-capture.cjs"),oa=require("./capture/use-speech-recognition.cjs"),sa=require("./offline/create-offline-database.cjs"),ca=require("./offline/create-offline-sync.cjs"),la=require("./offline/conflict.cjs"),ua=require("./error-boundary/use-error-handler.cjs"),da=require("./forms/FormField.cjs"),fa=require("./forms/validate-form.cjs"),pa=require("./forms/zod-resolver.cjs"),ma=require("./forms/use-zod-form.cjs"),B=require("./forms/br-validators.cjs"),V=require("./forms/masked-inputs.cjs"),ha=require("./forms/use-viacep.cjs"),ga=require("./ws/resilience.cjs"),_a=require("./ws/create-web-socket.cjs"),va=require("./ws/use-web-socket.cjs"),ya=require("./webrtc/opus-sdp.cjs"),ba=require("./webrtc/sender-bitrate.cjs"),H=require("./webrtc/link-stats.cjs"),xa=require("./webrtc/use-link-stats.cjs"),Sa=require("./webrtc/mesh-quality.cjs"),Ca=require("./webrtc/peer-mesh.cjs"),U=require("./geo/types.cjs"),W=require("./geo/distance.cjs"),G=require("./geo/estimate.cjs"),K=require("./geo/bounds.cjs"),q=require("./geo/projection.cjs"),wa=require("./geo/routing.cjs"),Ta=require("./geo/create-position-tracker.cjs"),Ea=require("./geo/use-position-tracker.cjs"),Da=require("./geo/TrajectoryMap.cjs"),Oa=require("./theme/apply-theme.cjs"),J=require("./theme/color.cjs"),ka=require("./theme/create-theme.cjs"),Aa=require("./theme/inverse-surface.cjs"),ja=require("./theme/theme-presets.cjs"),Ma=require("./theme/initial-theme.cjs"),Y=require("./logger/logger.cjs"),Na=require("./telemetry/TelemetryProvider.cjs"),Pa=require("./telemetry/console-adapter.cjs"),Fa=require("./telemetry/sentry-adapter.cjs"),Ia=require("./telemetry/posthog-adapter.cjs"),La=require("./telemetry/describe-app-error.cjs"),Ra=require("./telemetry/app-error-reporter.cjs"),za=require("./telemetry/app-error-adapter.cjs"),X=require("./feature-flags/FeatureFlagsProvider.cjs"),Ba=require("./feature-flags/in-memory-adapter.cjs"),Va=require("./feature-flags/growthbook-adapter.cjs"),Ha=require("./feature-flags/launchdarkly-adapter.cjs"),Z=require("./charts/scales.cjs"),Ua=require("./perf/cache-size.cjs"),Wa=require("./perf/device.cjs"),Ga=require("./perf/format.cjs"),Ka=require("./perf/profiler.cjs");let Q=require("react-router"),$=require("react-hook-form");exports.ABSENT_TEXT=pn.ABSENT_TEXT,exports.AIChat=zr.AIChat,exports.AIChatComposer=Ir.AIChatComposer,exports.AIChatTurn=Rr.AIChatTurn,exports.ALL_BARCODE_FORMATS=d.ALL_BARCODE_FORMATS,exports.ALL_OPTION_VALUE=s.ALL_OPTION_VALUE,exports.API_ERROR_OFFLINE_KEY=w.API_ERROR_OFFLINE_KEY,exports.API_ERROR_VALIDATION_KEY=w.API_ERROR_VALIDATION_KEY,exports.AUDIO_MIME_CANDIDATES=u.AUDIO_MIME_CANDIDATES,exports.AccessControlProvider=vi.AccessControlProvider,exports.Accordion=te.Accordion,exports.Alert=ne.Alert,exports.AppBar=ie.AppBar,exports.AppProviders=Hi.AppProviders,exports.AppRouter=Li.AppRouter,exports.AppShell=oe.AppShell,exports.AspectRatio=se.AspectRatio,exports.AudioPlayer=Tr.AudioPlayer,exports.AudioRecorder=Mr.AudioRecorder,exports.AuthGuard=pi.AuthGuard,exports.Avatar=ce.Avatar,exports.AvatarGroup=le.AvatarGroup,Object.defineProperty(exports,"Await",{enumerable:!0,get:function(){return Q.Await}}),exports.BACKGROUND_SYNC_CREDENTIALS_MESSAGE=I.BACKGROUND_SYNC_CREDENTIALS_MESSAGE,exports.BREAKPOINTS=ae.BREAKPOINTS,exports.Badge=ue.Badge,exports.Banner=de.Banner,exports.BarList=Wr.BarList,exports.BarcodeScanner=Fr.BarcodeScanner,exports.BottomNavigation=fe.BottomNavigation,exports.BottomSheet=me.BottomSheet,exports.Breadcrumbs=he.Breadcrumbs,Object.defineProperty(exports,"BrowserRouter",{enumerable:!0,get:function(){return Q.BrowserRouter}}),exports.Button=ge.Button,exports.ButtonSlot=_e.ButtonSlot,exports.CACHE_TIME=A.CACHE_TIME,exports.CEPInput=V.CEPInput,exports.CNPJInput=V.CNPJInput,exports.CPFInput=V.CPFInput,exports.Calendar=ir.Calendar,exports.Can=bi.Can,exports.Card=ve.Card,exports.Carousel=ur.Carousel,exports.Center=ye.Center,exports.Chat=Cr.Chat,exports.ChatBubble=xr.ChatBubble,exports.ChatComposer=Sr.ChatComposer,exports.Checkbox=be.Checkbox,exports.ChipInput=xe.ChipInput,exports.ClickOutside=Hn.ClickOutside,exports.CodeBlock=In.CodeBlock,exports.Collapsible=Qn.Collapsible,exports.Combobox=Ce.Combobox,exports.Command=tr.Command,exports.ConditionalWrapper=Un.ConditionalWrapper,exports.ConfirmDialog=Te.ConfirmDialog,exports.Container=t.Container,exports.ContextMenu=$n.ContextMenu,Object.defineProperty(exports,"Controller",{enumerable:!0,get:function(){return $.Controller}}),exports.CopyButton=Fn.CopyButton,exports.DEFAULT_API_ERROR_STRINGS=w.DEFAULT_API_ERROR_STRINGS,exports.DEFAULT_BARCODE_FORMATS=d.DEFAULT_BARCODE_FORMATS,exports.DEFAULT_CAR_SPEED_KMH=G.DEFAULT_CAR_SPEED_KMH,exports.DEFAULT_CHUNK_SIZE=E.DEFAULT_CHUNK_SIZE,exports.DEFAULT_CIRCUITY_FACTOR=G.DEFAULT_CIRCUITY_FACTOR,exports.DEFAULT_CREDENTIAL_HEADERS=qi.DEFAULT_CREDENTIAL_HEADERS,exports.DEFAULT_CSRF_COOKIE_NAME=S.DEFAULT_CSRF_COOKIE_NAME,exports.DEFAULT_CSRF_HEADER_NAME=S.DEFAULT_CSRF_HEADER_NAME,exports.DEFAULT_MAX_GAIN=ea.DEFAULT_MAX_GAIN,exports.DEFAULT_MODE_DURATION_FACTORS=G.DEFAULT_MODE_DURATION_FACTORS,exports.DEFAULT_PLAYBACK_RATES=kn.DEFAULT_PLAYBACK_RATES,exports.DEFAULT_PUB_KEY_CRED_PARAMS=D.DEFAULT_PUB_KEY_CRED_PARAMS,exports.DEFAULT_PUSH_TO_TALK_KEY=r.DEFAULT_PUSH_TO_TALK_KEY,exports.DEFAULT_VOICE_CHAIN=R.DEFAULT_VOICE_CHAIN,exports.DIVERGING_STEP_COUNT=Z.DIVERGING_STEP_COUNT,exports.DataList=qn.DataList,exports.DataTable=dr.DataTable,exports.DatePicker=De.DatePicker,exports.DateRangePicker=sr.DateRangePicker,exports.DescriptionList=Jn.DescriptionList,exports.Divider=Oe.Divider,exports.Drawer=ke.Drawer,exports.DropdownMenu=Ae.DropdownMenu,exports.Dropzone=je.Dropzone,exports.EARTH_RADIUS_KM=W.EARTH_RADIUS_KM,exports.EmptyState=Me.EmptyState,exports.ErrorBoundary=Vi.ErrorBoundary,exports.ErrorState=Ne.ErrorState,exports.ErrorText=Gn.ErrorText,exports.FeatureFlagsProvider=X.FeatureFlagsProvider,exports.FileUpload=Pe.FileUpload,exports.FilterBar=Gr.FilterBar,exports.FilterPanel=Jr.FilterPanel,exports.FloatingActionButton=pr.FloatingActionButton,exports.For=Wn.For,exports.Form=e.Form,exports.FormActions=e.FormActions,exports.FormField=da.FormField,Object.defineProperty(exports,"FormProvider",{enumerable:!0,get:function(){return $.FormProvider}}),exports.FormRow=e.FormRow,exports.FormSection=e.FormSection,exports.GoogleSignIn=Ci.GoogleSignIn,exports.Grid=t.Grid,exports.HEARTBEAT_CLOSE_CODE=ga.HEARTBEAT_CLOSE_CODE,Object.defineProperty(exports,"HashRouter",{enumerable:!0,get:function(){return Q.HashRouter}}),exports.Hide=en.Hide,exports.HoverCard=er.HoverCard,exports.I18nProvider=T.I18nProvider,Object.defineProperty(exports,"IDLE_BLOCKER",{enumerable:!0,get:function(){return Q.IDLE_BLOCKER}}),Object.defineProperty(exports,"IDLE_FETCHER",{enumerable:!0,get:function(){return Q.IDLE_FETCHER}}),Object.defineProperty(exports,"IDLE_NAVIGATION",{enumerable:!0,get:function(){return Q.IDLE_NAVIGATION}}),exports.Image=Kn.Image,exports.ImageCropper=Cn.ImageCropper,exports.Input=Ee.Input,exports.InstallBanner=Le.InstallBanner,exports.InstallButton=Re.InstallButton,exports.Kanban=zt.Kanban,exports.Kbd=Bt.Kbd,exports.Label=Zn.Label,exports.Lightbox=vr.Lightbox,Object.defineProperty(exports,"Link",{enumerable:!0,get:function(){return Q.Link}}),exports.ListTile=fr.ListTile,exports.Markdown=Lr.Markdown,exports.Masonry=Vr.Masonry,Object.defineProperty(exports,"MemoryRouter",{enumerable:!0,get:function(){return Q.MemoryRouter}}),exports.Menubar=lr.Menubar,exports.Modal=we.Modal,exports.ModalsProvider=Vt.ModalsProvider,exports.Money=Rn.Money,exports.MoneyInput=V.MoneyInput,exports.MultiSelect=or.MultiSelect,exports.NProgressBar=Ut.NProgressBar,Object.defineProperty(exports,"NavLink",{enumerable:!0,get:function(){return Q.NavLink}}),exports.Navbar=Ht.Navbar,Object.defineProperty(exports,"Navigate",{enumerable:!0,get:function(){return Q.Navigate}}),exports.NavigationMenu=cr.NavigationMenu,exports.NavigationRail=mr.NavigationRail,Object.defineProperty(exports,"NavigationType",{enumerable:!0,get:function(){return Q.NavigationType}}),exports.NotificationCenter=Dn.NotificationCenter,exports.OAuthCallbackError=k.OAuthCallbackError,exports.ORDINAL_START_STEP=Z.ORDINAL_START_STEP,exports.OfflineIndicator=Pt.OfflineIndicator,Object.defineProperty(exports,"Outlet",{enumerable:!0,get:function(){return Q.Outlet}}),exports.PUSH_TO_TALK_KEYS=r.PUSH_TO_TALK_KEYS,exports.Page=Gt.Page,exports.Pagination=Kt.Pagination,exports.PasskeyError=D.PasskeyError,exports.PasswordInput=qt.PasswordInput,exports.PhoneInput=V.PhoneInput,exports.PinInput=Jt.PinInput,exports.Popover=Yt.Popover,exports.Portal=Se.Portal,exports.Progress=Xt.Progress,exports.QRCapacityError=l.QRCapacityError,exports.QRCode=Pn.QRCode,exports.QueryProvider=Di.QueryProvider,exports.REFETCH_TIME=A.REFETCH_TIME,exports.Radio=Zt.Radio,exports.RadioGroup=Zt.RadioGroup,exports.RangeSlider=Qt.RangeSlider,exports.RatingStars=$t.RatingStars,exports.RefreshIndicator=gr.RefreshIndicator,exports.RelativeTime=Ln.RelativeTime,exports.Resizable=rr.Resizable,exports.ResumableUploadSupersededError=E.ResumableUploadSupersededError,exports.Reveal=Vn.Reveal,Object.defineProperty(exports,"Route",{enumerable:!0,get:function(){return Q.Route}}),exports.RouteGuard=Ii.RouteGuard,Object.defineProperty(exports,"Router",{enumerable:!0,get:function(){return Q.Router}}),Object.defineProperty(exports,"RouterForm",{enumerable:!0,get:function(){return Q.Form}}),Object.defineProperty(exports,"RouterProvider",{enumerable:!0,get:function(){return Q.RouterProvider}}),Object.defineProperty(exports,"Routes",{enumerable:!0,get:function(){return Q.Routes}}),exports.SEQUENTIAL_STEP_COUNT=Z.SEQUENTIAL_STEP_COUNT,exports.STALE_TIME=A.STALE_TIME,exports.SafeArea=tn.SafeArea,exports.Scheduler=Tn.Scheduler,exports.ScrollArea=nr.ScrollArea,Object.defineProperty(exports,"ScrollRestoration",{enumerable:!0,get:function(){return Q.ScrollRestoration}}),exports.SearchBar=nn.SearchBar,exports.Section=Wt.Section,exports.SectionHeader=Wt.SectionHeader,exports.SegmentedControl=rn.SegmentedControl,exports.Select=an.Select,exports.SessionSupersededError=C.SessionSupersededError,exports.Show=en.Show,exports.Sidebar=sn.Sidebar,exports.SignaturePad=yr.SignaturePad,exports.Skeleton=cn.Skeleton,exports.Slider=ar.Slider,exports.Spacer=ln.Spacer,exports.Sparkline=wn.Sparkline,exports.Spinner=un.Spinner,exports.Stack=t.Stack,exports.Stat=dn.Stat,exports.Stepper=fn.Stepper,exports.StepperInput=mn.StepperInput,exports.Switch=hn.Switch,exports.SyncStatusBadge=Lt.SyncStatusBadge,exports.Table=_n.Table,exports.Tabs=vn.Tabs,exports.Tag=gn.Tag,exports.TelemetryProvider=Na.TelemetryProvider,exports.TempestApiError=C.TempestApiError,exports.TempestDataProvider=Fi.TempestDataProvider,exports.Textarea=yn.Textarea,exports.ThemeProvider=Bi.ThemeProvider,exports.TimePicker=hr.TimePicker,exports.Timeline=bn.Timeline,exports.ToastProvider=Sn.ToastProvider,exports.Toggle=Yn.Toggle,exports.ToggleGroup=Xn.ToggleGroup,exports.ToggleGroupItem=Xn.ToggleGroupItem,exports.Tooltip=xn.Tooltip,exports.Tour=Hr.Tour,exports.TrajectoryMap=Da.TrajectoryMap,exports.Transfer=Br.Transfer,exports.TreeView=zn.TreeView,exports.TruncateText=Bn.TruncateText,exports.UpdatePrompt=Rt.UpdatePrompt,exports.VideoPlayer=An.VideoPlayer,exports.VirtualList=jn.VirtualList,exports.VirtualTable=Nn.VirtualTable,exports.VisuallyHidden=It.VisuallyHidden,exports.WebPushClient=N.WebPushClient,exports.WebPushPermissionDeniedError=N.WebPushPermissionDeniedError,exports.WebPushUnsubscribeError=N.WebPushUnsubscribeError,exports.WebPushUnsupportedError=N.WebPushUnsupportedError,exports.Wizard=_r.Wizard,exports.activeNavKey=on.activeNavKey,exports.aiChatStrings=f.aiChatStrings,exports.announce=i.announce,exports.applyFilters=Kr.applyFilters,exports.applyKanbanMove=zt.applyKanbanMove,exports.applyTheme=Oa.applyTheme,exports.assertNever=b.assertNever,exports.base64UrlToBytes=D.base64UrlToBytes,exports.bearingDeg=W.bearingDeg,exports.blobToWav=jr.blobToWav,exports.boundingBox=K.boundingBox,exports.boundsCenter=K.boundsCenter,exports.buildApiUrl=ni.buildApiUrl,exports.buildBarListRows=Ur.buildBarListRows,exports.buildOpenInChromeIntent=n.buildOpenInChromeIntent,exports.bytesToBase64Url=D.bytesToBase64Url,exports.cachedResponseBytes=Ua.cachedResponseBytes,exports.camelCase=_.camelCase,exports.capitalize=_.capitalize,exports.chunk=v.chunk,exports.clamp=c.clamp,exports.clampLatitude=U.clampLatitude,exports.classifyPasskeyError=D.classifyPasskeyError,exports.clearAnnouncer=i.clearAnnouncer,exports.clearBackgroundSyncQueue=I.clearBackgroundSyncQueue,exports.clearCaches=Yi.clearCaches,exports.clearSessionData=Xi.clearSessionData,exports.cn=ee.cn,exports.compareValues=Mn.compareValues,exports.compressToString=g.compressToString,exports.compressedStorage=g.compressedStorage,exports.compressedStorageCodec=g.compressedStorageCodec,exports.consoleSink=Y.consoleSink,exports.consoleTelemetryAdapter=Pa.consoleTelemetryAdapter,exports.contrastRatio=J.contrastRatio,exports.createApiClient=ai.createApiClient,exports.createAppErrorReporter=Ra.createAppErrorReporter,exports.createAppErrorTelemetryAdapter=za.createAppErrorTelemetryAdapter,exports.createAudioBus=ea.createAudioBus,exports.createAudioPlayer=L.createAudioPlayer,exports.createAudioRecorder=u.createAudioRecorder,exports.createAuthStore=fi.createAuthStore,exports.createBarcodeDetector=d.createBarcodeDetector,Object.defineProperty(exports,"createBrowserRouter",{enumerable:!0,get:function(){return Q.createBrowserRouter}}),exports.createColorScale=J.createColorScale,exports.createDataProvider=Pi.createDataProvider,exports.createEventStream=Ui.createEventStream,exports.createGrowthBookFeatureFlagsAdapter=Va.createGrowthBookFeatureFlagsAdapter,Object.defineProperty(exports,"createHashRouter",{enumerable:!0,get:function(){return Q.createHashRouter}}),exports.createI18n=oi.createI18n,exports.createInMemoryFlags=Ba.createInMemoryFlags,exports.createInferenceProfiler=Ka.createInferenceProfiler,exports.createInverseSurface=Aa.createInverseSurface,exports.createJsonStorage=Yr.createJsonStorage,exports.createLaunchDarklyFeatureFlagsAdapter=Ha.createLaunchDarklyFeatureFlagsAdapter,exports.createLevelMeter=Dr.createLevelMeter,exports.createLinkStatsSampler=H.createLinkStatsSampler,exports.createLocalUploadStorage=E.createLocalUploadStorage,exports.createLogger=Y.createLogger,exports.createMediaRecorder=Er.createMediaRecorder,Object.defineProperty(exports,"createMemoryRouter",{enumerable:!0,get:function(){return Q.createMemoryRouter}}),exports.createOSRMBackend=wa.createOSRMBackend,exports.createOfflineDatabase=sa.createOfflineDatabase,exports.createOfflineStore=Mi.createOfflineStore,exports.createOfflineSync=ca.createOfflineSync,exports.createPartialResponse=F.createPartialResponse,exports.createPasskeyClient=D.createPasskeyClient,Object.defineProperty(exports,"createPath",{enumerable:!0,get:function(){return Q.createPath}}),exports.createPeerMesh=Ca.createPeerMesh,exports.createPositionTracker=Ta.createPositionTracker,exports.createPostHogTelemetryAdapter=Ia.createPostHogTelemetryAdapter,exports.createQueryKeys=Ti.createQueryKeys,exports.createRefreshQueue=gi.createRefreshQueue,exports.createResumableUpload=E.createResumableUpload,exports.createRoleAccessControl=xi.createRoleAccessControl,Object.defineProperty(exports,"createRoutesFromChildren",{enumerable:!0,get:function(){return Q.createRoutesFromChildren}}),Object.defineProperty(exports,"createRoutesFromElements",{enumerable:!0,get:function(){return Q.createRoutesFromElements}}),Object.defineProperty(exports,"createSearchParams",{enumerable:!0,get:function(){return Q.createSearchParams}}),exports.createSelectors=zi.createSelectors,exports.createSentryTelemetryAdapter=Fa.createSentryTelemetryAdapter,exports.createSfxPool=Qi.createSfxPool,exports.createStore=Ri.createStore,exports.createTempestAuth=_i.createTempestAuth,exports.createTheme=ka.createTheme,exports.createVideoRecorder=z.createVideoRecorder,exports.createVoiceChain=R.createVoiceChain,exports.createWebSocket=_a.createWebSocket,exports.csrfHeaders=S.csrfHeaders,Object.defineProperty(exports,"data",{enumerable:!0,get:function(){return Q.data}}),exports.debounce=x.debounce,exports.decodeJWT=mi.decodeJWT,exports.decompressFromString=g.decompressFromString,exports.deepMerge=y.deepMerge,exports.defaultInstallHint=Ie.defaultInstallHint,exports.defineRoutes=Li.defineRoutes,exports.describeApiError=w.describeApiError,exports.describeAppError=La.describeAppError,exports.describeFilter=m.describeFilter,exports.divergingScale=Z.divergingScale,exports.downloadCsv=ti.downloadCsv,exports.emptyOffsetPage=j.emptyOffsetPage,exports.encodeIdSegment=Pi.encodeIdSegment,exports.encodeQR=l.encodeQR,exports.encodeWav=jr.encodeWav,exports.estimatePasswordStrength=qt.estimatePasswordStrength,exports.estimateStorage=o.estimateStorage,exports.estimateTravel=G.estimateTravel,exports.exchangeOAuthCallback=k.exchangeOAuthCallback,exports.expandBounds=K.expandBounds,exports.filtersFromSearchParams=m.filtersFromSearchParams,exports.filtersToQueryParams=qr.filtersToQueryParams,exports.filtersToSearchParams=m.filtersToSearchParams,exports.fitProjection=q.fitProjection,exports.formatBytes=c.formatBytes,exports.formatCEP=B.formatCEP,exports.formatCNPJ=B.formatCNPJ,exports.formatCPF=h.formatCPF,exports.formatCompactNumber=c.formatCompactNumber,exports.formatCurrency=h.formatCurrency,exports.formatDate=h.formatDate,exports.formatDateForInput=h.formatDateForInput,exports.formatDateTime=h.formatDateTime,exports.formatDateTimeForInput=h.formatDateTimeForInput,exports.formatDurationMs=Ga.formatDurationMs,exports.formatPercent=h.formatPercent,exports.formatPhone=h.formatPhone,exports.generateIdempotencyKey=ui.generateIdempotencyKey,Object.defineProperty(exports,"generatePath",{enumerable:!0,get:function(){return Q.generatePath}}),exports.getInitialTheme=Ma.getInitialTheme,exports.getSupportedBarcodeFormats=d.getSupportedBarcodeFormats,exports.getThemePreset=ja.getThemePreset,exports.groupBy=v.groupBy,exports.haversineKm=W.haversineKm,exports.hexToOklch=J.hexToOklch,exports.hexToRgb=J.hexToRgb,exports.hexToRgbaString=J.hexToRgbaString,exports.higherVersionWins=la.higherVersionWins,exports.inspectCaches=Yi.inspectCaches,exports.installBackgroundSync=I.installBackgroundSync,exports.installNotificationClickHandler=P.installNotificationClickHandler,exports.installPrecache=F.installPrecache,exports.installPushHandler=P.installPushHandler,exports.installRuntimeCache=F.installRuntimeCache,exports.installSkipWaitingListener=P.installSkipWaitingListener,exports.isAndroid=n.isAndroid,exports.isAndroidWithoutPromptApi=n.isAndroidWithoutPromptApi,exports.isApiError=C.isApiError,exports.isAudioOutputSelectionSupported=wr.isAudioOutputSelectionSupported,exports.isAudioRecordingSupported=u.isAudioRecordingSupported,exports.isBarcodeDetectionSupported=d.isBarcodeDetectionSupported,exports.isConditionalMediationAvailable=D.isConditionalMediationAvailable,exports.isCoordinate=U.isCoordinate,exports.isCursorPage=j.isCursorPage,exports.isDefined=b.isDefined,exports.isEmpty=y.isEmpty,exports.isFullscreenSupported=it.isFullscreenSupported,exports.isGenerating=f.isGenerating,exports.isIOS=n.isIOS,exports.isJWTExpired=mi.isJWTExpired,exports.isMediaCaptureSupported=kr.isMediaCaptureSupported,exports.isNumber=b.isNumber,exports.isOffsetPage=j.isOffsetPage,exports.isPasskeySupported=D.isPasskeySupported,exports.isPlainObject=b.isPlainObject,exports.isPlatformAuthenticatorAvailable=D.isPlatformAuthenticatorAvailable,exports.isPushSupported=Gi.isPushSupported,exports.isRejectionCloseCode=ga.isRejectionCloseCode,exports.isRetriableStatus=C.isRetriableStatus,Object.defineProperty(exports,"isRouteErrorResponse",{enumerable:!0,get:function(){return Q.isRouteErrorResponse}}),exports.isScreenCaptureSupported=aa.isScreenCaptureSupported,exports.isShareSupported=$r.isShareSupported,exports.isSpeechRecognitionSupported=oa.isSpeechRecognitionSupported,exports.isStandalone=n.isStandalone,exports.isString=b.isString,exports.isTrustedCredentialTarget=ri.isTrustedCredentialTarget,exports.isValidLatitude=U.isValidLatitude,exports.isValidLongitude=U.isValidLongitude,exports.isVideoRecordingSupported=z.isVideoRecordingSupported,exports.isVoiceChainIdle=R.isVoiceChainIdle,exports.kebabCase=_.kebabCase,exports.lastAssistantId=f.lastAssistantId,exports.lastWriteWins=la.lastWriteWins,exports.lazyWithRetry=hi.lazyWithRetry,exports.listQueryKey=M.listQueryKey,Object.defineProperty(exports,"matchPath",{enumerable:!0,get:function(){return Q.matchPath}}),Object.defineProperty(exports,"matchRoutes",{enumerable:!0,get:function(){return Q.matchRoutes}}),exports.matrixToPath=l.matrixToPath,exports.measureNoiseFloor=na.measureNoiseFloor,exports.memoizeOne=x.memoizeOne,exports.monitorVoiceActivity=ra.monitorVoiceActivity,exports.monitorVoiceChain=R.monitorVoiceChain,exports.moveItem=At.moveItem,exports.normalizeBarcode=d.normalizeBarcode,exports.normalizeLongitude=U.normalizeLongitude,exports.nprogress=Ut.nprogress,exports.oklchToHex=J.oklchToHex,exports.omit=y.omit,exports.once=x.once,exports.oneQueryKey=M.oneQueryKey,exports.operatorsFor=m.operatorsFor,Object.defineProperty(exports,"parsePath",{enumerable:!0,get:function(){return Q.parsePath}}),exports.parseResponse=ci.parseResponse,exports.pathLengthKm=W.pathLengthKm,exports.percentOf=c.percentOf,exports.permissionsFromToken=Si.permissionsFromToken,exports.persistQueryClientOffline=Ni.persistQueryClientOffline,exports.pick=y.pick,exports.pickAudioMimeType=u.pickAudioMimeType,exports.pickVideoMimeType=z.pickVideoMimeType,exports.playAudio=L.playAudio,exports.pluralize=_.pluralize,exports.projectMercator=q.projectMercator,exports.provideBackgroundSyncCredentials=I.provideBackgroundSyncCredentials,exports.pushToTalkKeyLabel=r.pushToTalkKeyLabel,exports.randomId=Zr.randomId,exports.range=v.range,exports.readAvailableOutgoingKbps=H.readAvailableOutgoingKbps,exports.readDeviceProfile=Wa.readDeviceProfile,exports.readOAuthCallbackParams=k.readOAuthCallbackParams,exports.readQualityLimitation=H.readQualityLimitation,exports.readRelayed=H.readRelayed,exports.readRoundTripMs=H.readRoundTripMs,exports.readThemeToken=Oa.readThemeToken,exports.readableForeground=J.readableForeground,exports.receiptLabel=br.receiptLabel,Object.defineProperty(exports,"redirect",{enumerable:!0,get:function(){return Q.redirect}}),Object.defineProperty(exports,"redirectDocument",{enumerable:!0,get:function(){return Q.redirectDocument}}),exports.registerPeriodicSync=Ji.registerPeriodicSync,exports.registerServiceWorker=a.registerServiceWorker,exports.relativeLuminance=J.relativeLuminance,exports.relativeTime=En.relativeTime,exports.removeById=ji.removeById,Object.defineProperty(exports,"renderMatches",{enumerable:!0,get:function(){return Q.renderMatches}}),Object.defineProperty(exports,"replace",{enumerable:!0,get:function(){return Q.replace}}),exports.requestPersistentStorage=o.requestPersistentStorage,exports.resolveDegradation=Sa.resolveDegradation,Object.defineProperty(exports,"resolvePath",{enumerable:!0,get:function(){return Q.resolvePath}}),exports.resolveReceiptState=br.resolveReceiptState,exports.retry=ii.retry,exports.rgbToHex=J.rgbToHex,exports.roleLabel=f.roleLabel,exports.safeAttachmentUrl=p.safeAttachmentUrl,exports.safeImageUrl=p.safeImageUrl,exports.safeLinkUrl=p.safeLinkUrl,exports.scaleForRoom=Sa.scaleForRoom,exports.scaleSteps=Z.scaleSteps,exports.sequentialScale=Z.sequentialScale,exports.setAudioOutput=wr.setAudioOutput,exports.setDevBuild=re.setDevBuild,exports.setSenderBitrate=ba.setSenderBitrate,exports.setTunedLocalDescription=ya.setTunedLocalDescription,exports.share=$r.share,exports.shareOrDownloadBlob=ei.shareOrDownloadBlob,exports.shouldRetryQuery=Ei.shouldRetryQuery,exports.skipWaiting=a.skipWaiting,exports.sleep=Xr.sleep,exports.slugify=_.slugify,exports.stopAudio=L.stopAudio,exports.storage=Yr.storage,exports.suggestGateThreshold=na.suggestGateThreshold,exports.tailSignature=f.tailSignature,exports.themeContrast=ka.themeContrast,exports.themeInitScript=Ma.themeInitScript,exports.themePresets=ja.themePresets,exports.throttle=x.throttle,exports.toCsv=ti.toCsv,exports.toOptions=s.toOptions,exports.toRadians=W.toRadians,exports.truncate=_.truncate,exports.tuneOpus=ya.tuneOpus,exports.turnTime=f.turnTime,exports.uniqueBy=v.uniqueBy,exports.unmask=B.unmask,exports.unprojectMercator=q.unprojectMercator,exports.unregisterAllServiceWorkers=a.unregisterAllServiceWorkers,exports.uploadFingerprint=E.uploadFingerprint,exports.uploadWithProgress=li.uploadWithProgress,exports.upsertById=ji.upsertById,exports.urlBase64ToUint8Array=Gi.urlBase64ToUint8Array,exports.useAccessControl=vi.useAccessControl,Object.defineProperty(exports,"useActionData",{enumerable:!0,get:function(){return Q.useActionData}}),exports.useAnnounce=i.useAnnounce,exports.useAsync=Ye.useAsync,Object.defineProperty(exports,"useAsyncError",{enumerable:!0,get:function(){return Q.useAsyncError}}),Object.defineProperty(exports,"useAsyncValue",{enumerable:!0,get:function(){return Q.useAsyncValue}}),exports.useAudio=Zi.useAudio,exports.useAudioBus=ta.useAudioBus,exports.useAudioRecorder=Or.useAudioRecorder,exports.useBarcodeScanner=Pr.useBarcodeScanner,exports.useBeforeInstallPrompt=nt.useBeforeInstallPrompt,Object.defineProperty(exports,"useBeforeUnload",{enumerable:!0,get:function(){return Q.useBeforeUnload}}),Object.defineProperty(exports,"useBlocker",{enumerable:!0,get:function(){return Q.useBlocker}}),exports.useBreakpoint=ae.useBreakpoint,exports.useCan=yi.useCan,exports.useClickOutside=Tt.useClickOutside,exports.useClientFilter=Ve.useClientFilter,exports.useClipboard=et.useClipboard,exports.useCountdown=vt.useCountdown,exports.useCounter=_t.useCounter,exports.useCreate=M.useCreate,exports.useCursorQuery=ki.useCursorQuery,exports.useDataProvider=Fi.useDataProvider,exports.useDebounce=ze.useDebounce,exports.useDeepMemo=He.useDeepMemo,exports.useDelete=M.useDelete,exports.useDescribeApiError=si.useDescribeApiError,exports.useDisclosure=ht.useDisclosure,exports.useDocumentTitle=bt.useDocumentTitle,exports.useDocumentVisibility=Ze.useDocumentVisibility,exports.useDraftFilters=We.useDraftFilters,exports.useErrorHandler=ua.useErrorHandler,exports.useEventListener=Ke.useEventListener,exports.useEventStream=Wi.useEventStream,exports.useFavicon=xt.useFavicon,exports.useFeatureFlag=X.useFeatureFlag,Object.defineProperty(exports,"useFetcher",{enumerable:!0,get:function(){return Q.useFetcher}}),Object.defineProperty(exports,"useFetchers",{enumerable:!0,get:function(){return Q.useFetchers}}),Object.defineProperty(exports,"useFieldArray",{enumerable:!0,get:function(){return $.useFieldArray}}),exports.useFlagValue=X.useFlagValue,exports.useFocusTrap=pe.useFocusTrap,Object.defineProperty(exports,"useForm",{enumerable:!0,get:function(){return $.useForm}}),Object.defineProperty(exports,"useFormAction",{enumerable:!0,get:function(){return Q.useFormAction}}),Object.defineProperty(exports,"useFormContext",{enumerable:!0,get:function(){return $.useFormContext}}),Object.defineProperty(exports,"useFormState",{enumerable:!0,get:function(){return $.useFormState}}),exports.useFullscreen=it.useFullscreen,exports.useGeolocation=at.useGeolocation,exports.useHover=pt.useHover,Object.defineProperty(exports,"useHref",{enumerable:!0,get:function(){return Q.useHref}}),exports.useI18n=T.useI18n,exports.useIdle=rt.useIdle,Object.defineProperty(exports,"useInRouterContext",{enumerable:!0,get:function(){return Q.useInRouterContext}}),exports.useInstallPrompt=Fe.useInstallPrompt,exports.useIntersectionObserver=Qe.useIntersectionObserver,exports.useInterval=lt.useInterval,exports.useIsFirstRender=Et.useIsFirstRender,exports.useKeyboardShortcut=tt.useKeyboardShortcut,exports.useLatestRef=Ue.useLatestRef,Object.defineProperty(exports,"useLinkClickHandler",{enumerable:!0,get:function(){return Q.useLinkClickHandler}}),exports.useLinkStats=xa.useLinkStats,exports.useList=M.useList,exports.useListState=gt.useListState,Object.defineProperty(exports,"useLoaderData",{enumerable:!0,get:function(){return Q.useLoaderData}}),exports.useLocalStorage=qe.useLocalStorage,Object.defineProperty(exports,"useLocation",{enumerable:!0,get:function(){return Q.useLocation}}),exports.useLongPress=mt.useLongPress,exports.useLongPressHandlers=Ot.useLongPressHandlers,exports.useMap=St.useMap,Object.defineProperty(exports,"useMatch",{enumerable:!0,get:function(){return Q.useMatch}}),Object.defineProperty(exports,"useMatches",{enumerable:!0,get:function(){return Q.useMatches}}),exports.useMediaDevices=Nt.useMediaDevices,exports.useMediaPermission=Mt.useMediaPermission,exports.useMediaQuery=Ge.useMediaQuery,exports.useMicrophone=Ar.useMicrophone,exports.useModals=Vt.useModals,Object.defineProperty(exports,"useNavigate",{enumerable:!0,get:function(){return Q.useNavigate}}),Object.defineProperty(exports,"useNavigation",{enumerable:!0,get:function(){return Q.useNavigation}}),Object.defineProperty(exports,"useNavigationType",{enumerable:!0,get:function(){return Q.useNavigationType}}),exports.useNotificationInbox=On.useNotificationInbox,exports.useOAuthCallback=wi.useOAuthCallback,exports.useObjectUrl=Dt.useObjectUrl,exports.useOfflineMutation=Ai.useOfflineMutation,exports.useOfflineSync=Ft.useOfflineSync,exports.useOne=M.useOne,exports.useOnline=Xe.useOnline,exports.useOptionalI18n=T.useOptionalI18n,Object.defineProperty(exports,"useOutlet",{enumerable:!0,get:function(){return Q.useOutlet}}),Object.defineProperty(exports,"useOutletContext",{enumerable:!0,get:function(){return Q.useOutletContext}}),exports.usePaginatedQuery=Oi.usePaginatedQuery,exports.usePagination=Be.usePagination,Object.defineProperty(exports,"useParams",{enumerable:!0,get:function(){return Q.useParams}}),exports.usePasskeyCapabilities=O.usePasskeyCapabilities,exports.usePasskeyRegistration=O.usePasskeyRegistration,exports.usePasskeySignIn=O.usePasskeySignIn,exports.usePoll=di.usePoll,exports.usePositionTracker=Ea.usePositionTracker,exports.usePrevious=ct.usePrevious,exports.usePushSubscription=Ki.usePushSubscription,exports.usePushToTalk=r.usePushToTalk,exports.useQueue=wt.useQueue,exports.useResizeObserver=$e.useResizeObserver,Object.defineProperty(exports,"useResolvedPath",{enumerable:!0,get:function(){return Q.useResolvedPath}}),Object.defineProperty(exports,"useRevalidator",{enumerable:!0,get:function(){return Q.useRevalidator}}),Object.defineProperty(exports,"useRouteError",{enumerable:!0,get:function(){return Q.useRouteError}}),Object.defineProperty(exports,"useRouteLoaderData",{enumerable:!0,get:function(){return Q.useRouteLoaderData}}),Object.defineProperty(exports,"useRoutes",{enumerable:!0,get:function(){return Q.useRoutes}}),exports.useScreenCapture=aa.useScreenCapture,exports.useScrollLock=ot.useScrollLock,exports.useScrollOverflow=jt.useScrollOverflow,Object.defineProperty(exports,"useSearchParams",{enumerable:!0,get:function(){return Q.useSearchParams}}),exports.useServiceWorkerUpdate=kt.useServiceWorkerUpdate,exports.useSet=Ct.useSet,exports.useSfxPool=$i.useSfxPool,exports.useSortable=At.useSortable,exports.useSpeechRecognition=oa.useSpeechRecognition,exports.useStableCallback=st.useStableCallback,exports.useStorageEstimate=o.useStorageEstimate,Object.defineProperty(exports,"useSubmit",{enumerable:!0,get:function(){return Q.useSubmit}}),exports.useSyncStatus=Ft.useSyncStatus,exports.useTelemetry=Na.useTelemetry,exports.useTheme=Bi.useTheme,exports.useThrottle=dt.useThrottle,exports.useTimeout=ut.useTimeout,exports.useToast=Sn.useToast,exports.useToggle=Je.useToggle,exports.useTorch=Nr.useTorch,exports.useTranslate=T.useTranslate,exports.useTypewriter=yt.useTypewriter,exports.useUpdate=M.useUpdate,exports.useViaCEP=ha.useViaCEP,exports.useVideoRecorder=ia.useVideoRecorder,Object.defineProperty(exports,"useViewTransitionState",{enumerable:!0,get:function(){return Q.useViewTransitionState}}),Object.defineProperty(exports,"useWatch",{enumerable:!0,get:function(){return $.useWatch}}),exports.useWebSocket=va.useWebSocket,exports.useWindowSize=ft.useWindowSize,exports.useZodForm=ma.useZodForm,exports.validateCNPJ=B.validateCNPJ,exports.validateCPF=B.validateCPF,exports.validateForm=fa.validateForm,exports.visibleTurns=f.visibleTurns,exports.withAllOption=s.withAllOption,exports.withEmptyOption=s.withEmptyOption,exports.withTimeout=Xr.withTimeout,exports.writeXlsx=Qr.writeXlsx,exports.zodResolver=pa.zodResolver;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});/* empty css */const ee=require("./utils/cn.cjs"),te=require("./components/Accordion/Accordion.cjs"),ne=require("./components/Alert/Alert.cjs"),re=require("./utils/dev-mode.cjs"),ie=require("./components/AppBar/AppBar.cjs"),ae=require("./hooks/use-breakpoint.cjs"),oe=require("./components/AppShell/AppShell.cjs"),se=require("./components/AspectRatio/AspectRatio.cjs"),ce=require("./components/Avatar/Avatar.cjs"),le=require("./components/AvatarGroup/AvatarGroup.cjs"),ue=require("./components/Badge/Badge.cjs"),de=require("./components/Banner/Banner.cjs"),fe=require("./components/BottomNavigation/BottomNavigation.cjs"),pe=require("./hooks/use-focus-trap.cjs"),me=require("./components/BottomSheet/BottomSheet.cjs"),he=require("./components/Breadcrumbs/Breadcrumbs.cjs"),ge=require("./components/Button/Button.cjs"),_e=require("./components/Button/ButtonSlot.cjs"),ve=require("./components/Card/Card.cjs"),ye=require("./components/Center/Center.cjs"),be=require("./components/Checkbox/Checkbox.cjs"),xe=require("./components/ChipInput/ChipInput.cjs"),Se=require("./components/Portal/Portal.cjs"),Ce=require("./components/Combobox/Combobox.cjs"),we=require("./components/Modal/Modal.cjs"),Te=require("./components/ConfirmDialog/ConfirmDialog.cjs"),Ee=require("./components/Input/Input.cjs"),De=require("./components/DatePicker/DatePicker.cjs"),Oe=require("./components/Divider/Divider.cjs"),ke=require("./components/Drawer/Drawer.cjs"),Ae=require("./components/DropdownMenu/DropdownMenu.cjs"),je=require("./components/Dropzone/Dropzone.cjs"),Me=require("./components/EmptyState/EmptyState.cjs"),Ne=require("./components/ErrorState/ErrorState.cjs"),Pe=require("./components/FileUpload/FileUpload.cjs"),e=require("./components/Form/Form.cjs"),t=require("./components/Layout/Layout.cjs"),n=require("./hooks/pwa-env.cjs"),Fe=require("./hooks/use-install-prompt.cjs"),Ie=require("./components/InstallButton/install-hints.cjs"),Le=require("./components/InstallBanner/InstallBanner.cjs"),Re=require("./components/InstallButton/InstallButton.cjs"),ze=require("./hooks/use-debounce.cjs"),Be=require("./hooks/use-pagination.cjs"),Ve=require("./hooks/use-client-filter.cjs"),He=require("./hooks/use-deep-memo.cjs"),Ue=require("./hooks/use-latest-ref.cjs"),We=require("./hooks/use-draft-filters.cjs"),Ge=require("./hooks/use-media-query.cjs"),Ke=require("./hooks/use-event-listener.cjs"),qe=require("./hooks/use-local-storage.cjs"),Je=require("./hooks/use-toggle.cjs"),Ye=require("./hooks/use-async.cjs"),Xe=require("./hooks/use-online.cjs"),Ze=require("./hooks/use-document-visibility.cjs"),Qe=require("./hooks/use-intersection-observer.cjs"),$e=require("./hooks/use-resize-observer.cjs"),et=require("./hooks/use-clipboard.cjs"),tt=require("./hooks/use-keyboard-shortcut.cjs"),nt=require("./hooks/use-before-install-prompt.cjs"),rt=require("./hooks/use-idle.cjs"),it=require("./hooks/use-fullscreen.cjs"),r=require("./hooks/use-push-to-talk.cjs"),at=require("./hooks/use-geolocation.cjs"),ot=require("./hooks/use-scroll-lock.cjs"),i=require("./hooks/use-announce.cjs"),st=require("./hooks/use-stable-callback.cjs"),ct=require("./hooks/use-previous.cjs"),lt=require("./hooks/use-interval.cjs"),ut=require("./hooks/use-timeout.cjs"),dt=require("./hooks/use-throttle.cjs"),ft=require("./hooks/use-window-size.cjs"),pt=require("./hooks/use-hover.cjs"),mt=require("./hooks/use-long-press.cjs"),ht=require("./hooks/use-disclosure.cjs"),gt=require("./hooks/use-list-state.cjs"),_t=require("./hooks/use-counter.cjs"),vt=require("./hooks/use-countdown.cjs"),yt=require("./hooks/use-typewriter.cjs"),bt=require("./hooks/use-document-title.cjs"),xt=require("./hooks/use-favicon.cjs"),St=require("./hooks/use-map.cjs"),Ct=require("./hooks/use-set.cjs"),wt=require("./hooks/use-queue.cjs"),Tt=require("./hooks/use-click-outside.cjs"),Et=require("./hooks/use-is-first-render.cjs"),Dt=require("./hooks/use-object-url.cjs"),Ot=require("./hooks/use-long-press-handlers.cjs"),a=require("./sw/register-service-worker.cjs"),kt=require("./hooks/use-service-worker-update.cjs"),o=require("./hooks/use-storage-estimate.cjs"),At=require("./hooks/use-sortable.cjs"),jt=require("./hooks/use-scroll-overflow.cjs"),Mt=require("./hooks/use-media-permission.cjs"),Nt=require("./hooks/use-media-devices.cjs"),Pt=require("./components/OfflineIndicator/OfflineIndicator.cjs"),Ft=require("./offline/use-offline-sync.cjs"),It=require("./components/VisuallyHidden/VisuallyHidden.cjs"),Lt=require("./components/SyncStatusBadge/SyncStatusBadge.cjs"),Rt=require("./components/UpdatePrompt/UpdatePrompt.cjs"),zt=require("./components/Kanban/Kanban.cjs"),Bt=require("./components/Kbd/Kbd.cjs"),Vt=require("./components/ModalsManager/ModalsManager.cjs"),Ht=require("./components/Navbar/Navbar.cjs"),Ut=require("./components/NProgress/NProgress.cjs"),Wt=require("./components/SectionHeader/SectionHeader.cjs"),Gt=require("./components/Page/Page.cjs"),Kt=require("./components/Pagination/Pagination.cjs"),qt=require("./components/PasswordInput/PasswordInput.cjs"),Jt=require("./components/PinInput/PinInput.cjs"),Yt=require("./components/Popover/Popover.cjs"),Xt=require("./components/Progress/Progress.cjs"),Zt=require("./components/Radio/Radio.cjs"),Qt=require("./components/RangeSlider/RangeSlider.cjs"),$t=require("./components/RatingStars/RatingStars.cjs"),en=require("./components/Responsive/Responsive.cjs"),tn=require("./components/SafeArea/SafeArea.cjs"),nn=require("./components/SearchBar/SearchBar.cjs"),rn=require("./components/SegmentedControl/SegmentedControl.cjs"),an=require("./components/Select/Select.cjs"),s=require("./components/Select/options.cjs"),on=require("./components/Sidebar/active-nav-key.cjs"),sn=require("./components/Sidebar/Sidebar.cjs"),cn=require("./components/Skeleton/Skeleton.cjs"),ln=require("./components/Spacer/Spacer.cjs"),un=require("./components/Spinner/Spinner.cjs"),dn=require("./components/Stat/Stat.cjs"),fn=require("./components/Stepper/Stepper.cjs"),pn=require("./utils/absent.cjs"),c=require("./utils/numbers.cjs"),mn=require("./components/StepperInput/StepperInput.cjs"),hn=require("./components/Switch/Switch.cjs"),gn=require("./components/Tag/Tag.cjs"),_n=require("./components/Table/Table.cjs"),vn=require("./components/Tabs/Tabs.cjs"),yn=require("./components/Textarea/Textarea.cjs"),bn=require("./components/Timeline/Timeline.cjs"),xn=require("./components/Tooltip/Tooltip.cjs"),Sn=require("./components/Toast/ToastProvider.cjs"),Cn=require("./components/ImageCropper/ImageCropper.cjs"),wn=require("./components/Sparkline/Sparkline.cjs"),Tn=require("./components/Scheduler/Scheduler.cjs"),En=require("./utils/relative-time.cjs"),Dn=require("./components/NotificationCenter/NotificationCenter.cjs"),On=require("./components/NotificationCenter/use-notification-inbox.cjs"),kn=require("./components/VideoPlayer/playback-rates.cjs"),An=require("./components/VideoPlayer/VideoPlayer.cjs"),jn=require("./components/VirtualList/VirtualList.cjs"),Mn=require("./utils/compare-values.cjs"),Nn=require("./components/VirtualTable/VirtualTable.cjs"),l=require("./components/QRCode/qr-encode.cjs"),Pn=require("./components/QRCode/QRCode.cjs"),Fn=require("./components/CopyButton/CopyButton.cjs"),In=require("./components/CodeBlock/CodeBlock.cjs"),Ln=require("./components/RelativeTime/RelativeTime.cjs"),Rn=require("./components/Money/Money.cjs"),zn=require("./components/TreeView/TreeView.cjs"),Bn=require("./components/TruncateText/TruncateText.cjs"),Vn=require("./components/Reveal/Reveal.cjs"),Hn=require("./components/ClickOutside/ClickOutside.cjs"),Un=require("./components/ConditionalWrapper/ConditionalWrapper.cjs"),Wn=require("./components/For/For.cjs"),Gn=require("./components/ErrorText/ErrorText.cjs"),Kn=require("./components/Image/Image.cjs"),qn=require("./components/DataList/DataList.cjs"),Jn=require("./components/DescriptionList/DescriptionList.cjs"),Yn=require("./components/Toggle/Toggle.cjs"),Xn=require("./components/ToggleGroup/ToggleGroup.cjs"),Zn=require("./components/Label/Label.cjs"),Qn=require("./components/Collapsible/Collapsible.cjs"),$n=require("./components/ContextMenu/ContextMenu.cjs"),er=require("./components/HoverCard/HoverCard.cjs"),tr=require("./components/Command/Command.cjs"),nr=require("./components/ScrollArea/ScrollArea.cjs"),rr=require("./components/Resizable/Resizable.cjs"),ir=require("./components/Calendar/Calendar.cjs"),ar=require("./components/Slider/Slider.cjs"),or=require("./components/MultiSelect/MultiSelect.cjs"),sr=require("./components/DateRangePicker/DateRangePicker.cjs"),cr=require("./components/NavigationMenu/NavigationMenu.cjs"),lr=require("./components/Menubar/Menubar.cjs"),ur=require("./components/Carousel/Carousel.cjs"),dr=require("./components/DataTable/DataTable.cjs"),fr=require("./components/ListTile/ListTile.cjs"),pr=require("./components/FloatingActionButton/FloatingActionButton.cjs"),mr=require("./components/NavigationRail/NavigationRail.cjs"),hr=require("./components/TimePicker/TimePicker.cjs"),gr=require("./components/RefreshIndicator/RefreshIndicator.cjs"),_r=require("./components/Wizard/Wizard.cjs"),vr=require("./components/Lightbox/Lightbox.cjs"),yr=require("./components/SignaturePad/SignaturePad.cjs"),br=require("./components/Chat/chat-receipt.cjs"),xr=require("./components/Chat/ChatBubble.cjs"),Sr=require("./components/Chat/ChatComposer.cjs"),Cr=require("./components/Chat/Chat.cjs"),wr=require("./audio/audio-output.cjs"),Tr=require("./components/AudioPlayer/AudioPlayer.cjs"),Er=require("./capture/media-recorder.cjs"),u=require("./audio/audio-recorder.cjs"),Dr=require("./audio/level-meter.cjs"),Or=require("./audio/use-audio-recorder.cjs"),kr=require("./audio/media-access.cjs"),Ar=require("./audio/use-microphone.cjs"),jr=require("./audio/wav.cjs"),Mr=require("./components/AudioRecorder/AudioRecorder.cjs"),d=require("./capture/barcode.cjs"),Nr=require("./capture/use-torch.cjs"),Pr=require("./capture/use-barcode-scanner.cjs"),Fr=require("./components/BarcodeScanner/BarcodeScanner.cjs"),f=require("./components/AIChat/ai-chat-turns.cjs"),Ir=require("./components/AIChat/AIChatComposer.cjs"),p=require("./utils/safe-url.cjs"),Lr=require("./components/Markdown/Markdown.cjs"),Rr=require("./components/AIChat/AIChatTurn.cjs"),zr=require("./components/AIChat/AIChat.cjs"),Br=require("./components/Transfer/Transfer.cjs"),Vr=require("./components/Masonry/Masonry.cjs"),Hr=require("./components/Tour/Tour.cjs"),Ur=require("./components/BarList/bar-list-model.cjs"),Wr=require("./components/BarList/BarList.cjs"),m=require("./components/FilterBar/filter-model.cjs"),Gr=require("./components/FilterBar/FilterBar.cjs"),h=require("./utils/format.cjs"),Kr=require("./components/FilterBar/filter-apply.cjs"),qr=require("./components/FilterBar/filter-query.cjs"),Jr=require("./components/FilterPanel/FilterPanel.cjs"),Yr=require("./utils/storage.cjs"),g=require("./utils/compressed-storage.cjs"),_=require("./utils/strings.cjs"),v=require("./utils/arrays.cjs"),y=require("./utils/objects.cjs"),b=require("./utils/guards.cjs"),x=require("./utils/functions.cjs"),Xr=require("./utils/promises.cjs"),Zr=require("./utils/ids.cjs"),Qr=require("./utils/xlsx.cjs"),$r=require("./share/share.cjs"),ei=require("./share/share-or-download.cjs"),ti=require("./utils/csv.cjs"),ni=require("./http/build-url.cjs"),ri=require("./http/credential-scope.cjs"),S=require("./http/csrf.cjs"),C=require("./http/errors.cjs"),ii=require("./http/retry.cjs"),ai=require("./http/api-client.cjs"),w=require("./http/describe-api-error.cjs"),oi=require("./i18n/create-i18n.cjs"),T=require("./i18n/I18nProvider.cjs"),si=require("./http/use-describe-api-error.cjs"),ci=require("./http/parse-response.cjs"),li=require("./http/upload-with-progress.cjs"),ui=require("./http/presigned-post.cjs"),di=require("./http/idempotency.cjs"),E=require("./http/resumable-upload.cjs"),fi=require("./http/use-poll.cjs"),pi=require("./auth/create-auth-store.cjs"),mi=require("./auth/AuthGuard.cjs"),hi=require("./auth/jwt.cjs"),gi=require("./auth/lazy-with-retry.cjs"),_i=require("./auth/refresh-queue.cjs"),D=require("./auth/passkey.cjs"),O=require("./auth/use-passkey.cjs"),vi=require("./auth/create-tempest-auth.cjs"),yi=require("./access/access-control-context.cjs"),bi=require("./access/use-can.cjs"),xi=require("./access/Can.cjs"),Si=require("./access/create-role-access-control.cjs"),Ci=require("./access/permissions-from-token.cjs"),wi=require("./oauth/GoogleSignIn.cjs"),Ti=require("./oauth/use-oauth-callback.cjs"),k=require("./oauth/callback.cjs"),A=require("./query/constants.cjs"),Ei=require("./query/create-query-keys.cjs"),Di=require("./query/retry-policy.cjs"),Oi=require("./query/QueryProvider.cjs"),j=require("./query/pagination.cjs"),ki=require("./query/use-paginated-query.cjs"),Ai=require("./query/use-cursor-query.cjs"),ji=require("./query/use-offline-mutation.cjs"),Mi=require("./query/optimistic.cjs"),Ni=require("./offline/create-offline-store.cjs"),Pi=require("./query/offline-persistence.cjs"),Fi=require("./data/create-data-provider.cjs"),Ii=require("./data/data-provider-context.cjs"),M=require("./data/use-resource.cjs"),Li=require("./router/RouteGuard.cjs"),Ri=require("./router/AppRouter.cjs"),zi=require("./store/create-store.cjs"),Bi=require("./store/create-selectors.cjs"),Vi=require("./theme/ThemeProvider.cjs"),Hi=require("./error-boundary/ErrorBoundary.cjs"),Ui=require("./app/AppProviders.cjs"),Wi=require("./sse/create-event-stream.cjs"),Gi=require("./sse/use-event-stream.cjs"),N=require("./sse/ticket-event-stream.cjs"),Ki=require("./push/utils.cjs"),P=require("./push/web-push-client.cjs"),qi=require("./push/use-push-subscription.cjs"),F=require("./sw/create-push-handler.cjs"),Ji=require("./sw/credential-headers.cjs"),I=require("./sw/cache.cjs"),L=require("./sw/background-sync.cjs"),Yi=require("./sw/periodic-sync.cjs"),Xi=require("./sw/cache-inspect.cjs"),Zi=require("./sw/session-data.cjs"),R=require("./audio/audio-player.cjs"),Qi=require("./audio/use-audio.cjs"),$i=require("./audio/sfx-pool.cjs"),ea=require("./audio/use-sfx-pool.cjs"),ta=require("./audio/audio-bus.cjs"),na=require("./audio/use-audio-bus.cjs"),z=require("./audio/voice-chain.cjs"),ra=require("./audio/noise-floor.cjs"),ia=require("./audio/voice-activity.cjs"),B=require("./capture/video-recorder.cjs"),aa=require("./capture/use-video-recorder.cjs"),oa=require("./capture/use-screen-capture.cjs"),sa=require("./capture/use-speech-recognition.cjs"),ca=require("./offline/create-offline-database.cjs"),la=require("./offline/create-offline-sync.cjs"),ua=require("./offline/conflict.cjs"),da=require("./error-boundary/use-error-handler.cjs"),fa=require("./forms/FormField.cjs"),pa=require("./forms/validate-form.cjs"),ma=require("./forms/zod-resolver.cjs"),ha=require("./forms/use-zod-form.cjs"),V=require("./forms/br-validators.cjs"),H=require("./forms/masked-inputs.cjs"),ga=require("./forms/use-viacep.cjs"),_a=require("./ws/resilience.cjs"),va=require("./ws/create-web-socket.cjs"),ya=require("./ws/use-web-socket.cjs"),ba=require("./webrtc/opus-sdp.cjs"),xa=require("./webrtc/sender-bitrate.cjs"),U=require("./webrtc/link-stats.cjs"),Sa=require("./webrtc/use-link-stats.cjs"),Ca=require("./webrtc/mesh-quality.cjs"),wa=require("./webrtc/peer-mesh.cjs"),W=require("./geo/types.cjs"),G=require("./geo/distance.cjs"),K=require("./geo/estimate.cjs"),q=require("./geo/bounds.cjs"),J=require("./geo/projection.cjs"),Ta=require("./geo/routing.cjs"),Ea=require("./geo/create-position-tracker.cjs"),Da=require("./geo/use-position-tracker.cjs"),Oa=require("./geo/TrajectoryMap.cjs"),ka=require("./theme/apply-theme.cjs"),Y=require("./theme/color.cjs"),Aa=require("./theme/create-theme.cjs"),ja=require("./theme/inverse-surface.cjs"),Ma=require("./theme/theme-presets.cjs"),Na=require("./theme/initial-theme.cjs"),Pa=require("./logger/logger.cjs"),Fa=require("./telemetry/TelemetryProvider.cjs"),Ia=require("./telemetry/console-adapter.cjs"),La=require("./telemetry/sentry-adapter.cjs"),Ra=require("./telemetry/posthog-adapter.cjs"),za=require("./telemetry/describe-app-error.cjs"),Ba=require("./telemetry/app-error-reporter.cjs"),Va=require("./telemetry/app-error-adapter.cjs"),X=require("./feature-flags/FeatureFlagsProvider.cjs"),Ha=require("./feature-flags/in-memory-adapter.cjs"),Ua=require("./feature-flags/growthbook-adapter.cjs"),Wa=require("./feature-flags/launchdarkly-adapter.cjs"),Z=require("./charts/scales.cjs"),Ga=require("./perf/cache-size.cjs"),Ka=require("./perf/device.cjs"),qa=require("./perf/format.cjs"),Ja=require("./perf/profiler.cjs");let Q=require("react-router"),$=require("react-hook-form");exports.ABSENT_TEXT=pn.ABSENT_TEXT,exports.AIChat=zr.AIChat,exports.AIChatComposer=Ir.AIChatComposer,exports.AIChatTurn=Rr.AIChatTurn,exports.ALL_BARCODE_FORMATS=d.ALL_BARCODE_FORMATS,exports.ALL_OPTION_VALUE=s.ALL_OPTION_VALUE,exports.API_ERROR_OFFLINE_KEY=w.API_ERROR_OFFLINE_KEY,exports.API_ERROR_VALIDATION_KEY=w.API_ERROR_VALIDATION_KEY,exports.AUDIO_MIME_CANDIDATES=u.AUDIO_MIME_CANDIDATES,exports.AccessControlProvider=yi.AccessControlProvider,exports.Accordion=te.Accordion,exports.Alert=ne.Alert,exports.AppBar=ie.AppBar,exports.AppProviders=Ui.AppProviders,exports.AppRouter=Ri.AppRouter,exports.AppShell=oe.AppShell,exports.AspectRatio=se.AspectRatio,exports.AudioPlayer=Tr.AudioPlayer,exports.AudioRecorder=Mr.AudioRecorder,exports.AuthGuard=mi.AuthGuard,exports.Avatar=ce.Avatar,exports.AvatarGroup=le.AvatarGroup,Object.defineProperty(exports,"Await",{enumerable:!0,get:function(){return Q.Await}}),exports.BACKGROUND_SYNC_CREDENTIALS_MESSAGE=L.BACKGROUND_SYNC_CREDENTIALS_MESSAGE,exports.BREAKPOINTS=ae.BREAKPOINTS,exports.Badge=ue.Badge,exports.Banner=de.Banner,exports.BarList=Wr.BarList,exports.BarcodeScanner=Fr.BarcodeScanner,exports.BottomNavigation=fe.BottomNavigation,exports.BottomSheet=me.BottomSheet,exports.Breadcrumbs=he.Breadcrumbs,Object.defineProperty(exports,"BrowserRouter",{enumerable:!0,get:function(){return Q.BrowserRouter}}),exports.Button=ge.Button,exports.ButtonSlot=_e.ButtonSlot,exports.CACHE_TIME=A.CACHE_TIME,exports.CEPInput=H.CEPInput,exports.CNPJInput=H.CNPJInput,exports.CPFInput=H.CPFInput,exports.Calendar=ir.Calendar,exports.Can=xi.Can,exports.Card=ve.Card,exports.Carousel=ur.Carousel,exports.Center=ye.Center,exports.Chat=Cr.Chat,exports.ChatBubble=xr.ChatBubble,exports.ChatComposer=Sr.ChatComposer,exports.Checkbox=be.Checkbox,exports.ChipInput=xe.ChipInput,exports.ClickOutside=Hn.ClickOutside,exports.CodeBlock=In.CodeBlock,exports.Collapsible=Qn.Collapsible,exports.Combobox=Ce.Combobox,exports.Command=tr.Command,exports.ConditionalWrapper=Un.ConditionalWrapper,exports.ConfirmDialog=Te.ConfirmDialog,exports.Container=t.Container,exports.ContextMenu=$n.ContextMenu,Object.defineProperty(exports,"Controller",{enumerable:!0,get:function(){return $.Controller}}),exports.CopyButton=Fn.CopyButton,exports.DEFAULT_API_ERROR_STRINGS=w.DEFAULT_API_ERROR_STRINGS,exports.DEFAULT_BARCODE_FORMATS=d.DEFAULT_BARCODE_FORMATS,exports.DEFAULT_CAR_SPEED_KMH=K.DEFAULT_CAR_SPEED_KMH,exports.DEFAULT_CHUNK_SIZE=E.DEFAULT_CHUNK_SIZE,exports.DEFAULT_CIRCUITY_FACTOR=K.DEFAULT_CIRCUITY_FACTOR,exports.DEFAULT_CREDENTIAL_HEADERS=Ji.DEFAULT_CREDENTIAL_HEADERS,exports.DEFAULT_CSRF_COOKIE_NAME=S.DEFAULT_CSRF_COOKIE_NAME,exports.DEFAULT_CSRF_HEADER_NAME=S.DEFAULT_CSRF_HEADER_NAME,exports.DEFAULT_MAX_GAIN=ta.DEFAULT_MAX_GAIN,exports.DEFAULT_MODE_DURATION_FACTORS=K.DEFAULT_MODE_DURATION_FACTORS,exports.DEFAULT_PLAYBACK_RATES=kn.DEFAULT_PLAYBACK_RATES,exports.DEFAULT_PUB_KEY_CRED_PARAMS=D.DEFAULT_PUB_KEY_CRED_PARAMS,exports.DEFAULT_PUSH_TO_TALK_KEY=r.DEFAULT_PUSH_TO_TALK_KEY,exports.DEFAULT_VOICE_CHAIN=z.DEFAULT_VOICE_CHAIN,exports.DIVERGING_STEP_COUNT=Z.DIVERGING_STEP_COUNT,exports.DataList=qn.DataList,exports.DataTable=dr.DataTable,exports.DatePicker=De.DatePicker,exports.DateRangePicker=sr.DateRangePicker,exports.DescriptionList=Jn.DescriptionList,exports.Divider=Oe.Divider,exports.Drawer=ke.Drawer,exports.DropdownMenu=Ae.DropdownMenu,exports.Dropzone=je.Dropzone,exports.EARTH_RADIUS_KM=G.EARTH_RADIUS_KM,exports.EmptyState=Me.EmptyState,exports.ErrorBoundary=Hi.ErrorBoundary,exports.ErrorState=Ne.ErrorState,exports.ErrorText=Gn.ErrorText,exports.FeatureFlagsProvider=X.FeatureFlagsProvider,exports.FileUpload=Pe.FileUpload,exports.FilterBar=Gr.FilterBar,exports.FilterPanel=Jr.FilterPanel,exports.FloatingActionButton=pr.FloatingActionButton,exports.For=Wn.For,exports.Form=e.Form,exports.FormActions=e.FormActions,exports.FormField=fa.FormField,Object.defineProperty(exports,"FormProvider",{enumerable:!0,get:function(){return $.FormProvider}}),exports.FormRow=e.FormRow,exports.FormSection=e.FormSection,exports.GoogleSignIn=wi.GoogleSignIn,exports.Grid=t.Grid,exports.HEARTBEAT_CLOSE_CODE=_a.HEARTBEAT_CLOSE_CODE,Object.defineProperty(exports,"HashRouter",{enumerable:!0,get:function(){return Q.HashRouter}}),exports.Hide=en.Hide,exports.HoverCard=er.HoverCard,exports.I18nProvider=T.I18nProvider,Object.defineProperty(exports,"IDLE_BLOCKER",{enumerable:!0,get:function(){return Q.IDLE_BLOCKER}}),Object.defineProperty(exports,"IDLE_FETCHER",{enumerable:!0,get:function(){return Q.IDLE_FETCHER}}),Object.defineProperty(exports,"IDLE_NAVIGATION",{enumerable:!0,get:function(){return Q.IDLE_NAVIGATION}}),exports.Image=Kn.Image,exports.ImageCropper=Cn.ImageCropper,exports.Input=Ee.Input,exports.InstallBanner=Le.InstallBanner,exports.InstallButton=Re.InstallButton,exports.Kanban=zt.Kanban,exports.Kbd=Bt.Kbd,exports.Label=Zn.Label,exports.Lightbox=vr.Lightbox,Object.defineProperty(exports,"Link",{enumerable:!0,get:function(){return Q.Link}}),exports.ListTile=fr.ListTile,exports.Markdown=Lr.Markdown,exports.Masonry=Vr.Masonry,Object.defineProperty(exports,"MemoryRouter",{enumerable:!0,get:function(){return Q.MemoryRouter}}),exports.Menubar=lr.Menubar,exports.Modal=we.Modal,exports.ModalsProvider=Vt.ModalsProvider,exports.Money=Rn.Money,exports.MoneyInput=H.MoneyInput,exports.MultiSelect=or.MultiSelect,exports.NProgressBar=Ut.NProgressBar,Object.defineProperty(exports,"NavLink",{enumerable:!0,get:function(){return Q.NavLink}}),exports.Navbar=Ht.Navbar,Object.defineProperty(exports,"Navigate",{enumerable:!0,get:function(){return Q.Navigate}}),exports.NavigationMenu=cr.NavigationMenu,exports.NavigationRail=mr.NavigationRail,Object.defineProperty(exports,"NavigationType",{enumerable:!0,get:function(){return Q.NavigationType}}),exports.NotificationCenter=Dn.NotificationCenter,exports.OAuthCallbackError=k.OAuthCallbackError,exports.ORDINAL_START_STEP=Z.ORDINAL_START_STEP,exports.OfflineIndicator=Pt.OfflineIndicator,Object.defineProperty(exports,"Outlet",{enumerable:!0,get:function(){return Q.Outlet}}),exports.PUSH_TO_TALK_KEYS=r.PUSH_TO_TALK_KEYS,exports.Page=Gt.Page,exports.Pagination=Kt.Pagination,exports.PasskeyError=D.PasskeyError,exports.PasswordInput=qt.PasswordInput,exports.PhoneInput=H.PhoneInput,exports.PinInput=Jt.PinInput,exports.Popover=Yt.Popover,exports.Portal=Se.Portal,exports.Progress=Xt.Progress,exports.QRCapacityError=l.QRCapacityError,exports.QRCode=Pn.QRCode,exports.QueryProvider=Oi.QueryProvider,exports.REFETCH_TIME=A.REFETCH_TIME,exports.Radio=Zt.Radio,exports.RadioGroup=Zt.RadioGroup,exports.RangeSlider=Qt.RangeSlider,exports.RatingStars=$t.RatingStars,exports.RefreshIndicator=gr.RefreshIndicator,exports.RelativeTime=Ln.RelativeTime,exports.Resizable=rr.Resizable,exports.ResumableUploadSupersededError=E.ResumableUploadSupersededError,exports.Reveal=Vn.Reveal,Object.defineProperty(exports,"Route",{enumerable:!0,get:function(){return Q.Route}}),exports.RouteGuard=Li.RouteGuard,Object.defineProperty(exports,"Router",{enumerable:!0,get:function(){return Q.Router}}),Object.defineProperty(exports,"RouterForm",{enumerable:!0,get:function(){return Q.Form}}),Object.defineProperty(exports,"RouterProvider",{enumerable:!0,get:function(){return Q.RouterProvider}}),Object.defineProperty(exports,"Routes",{enumerable:!0,get:function(){return Q.Routes}}),exports.SEQUENTIAL_STEP_COUNT=Z.SEQUENTIAL_STEP_COUNT,exports.STALE_TIME=A.STALE_TIME,exports.SafeArea=tn.SafeArea,exports.Scheduler=Tn.Scheduler,exports.ScrollArea=nr.ScrollArea,Object.defineProperty(exports,"ScrollRestoration",{enumerable:!0,get:function(){return Q.ScrollRestoration}}),exports.SearchBar=nn.SearchBar,exports.Section=Wt.Section,exports.SectionHeader=Wt.SectionHeader,exports.SegmentedControl=rn.SegmentedControl,exports.Select=an.Select,exports.SessionSupersededError=C.SessionSupersededError,exports.Show=en.Show,exports.Sidebar=sn.Sidebar,exports.SignaturePad=yr.SignaturePad,exports.Skeleton=cn.Skeleton,exports.Slider=ar.Slider,exports.Spacer=ln.Spacer,exports.Sparkline=wn.Sparkline,exports.Spinner=un.Spinner,exports.Stack=t.Stack,exports.Stat=dn.Stat,exports.Stepper=fn.Stepper,exports.StepperInput=mn.StepperInput,exports.Switch=hn.Switch,exports.SyncStatusBadge=Lt.SyncStatusBadge,exports.Table=_n.Table,exports.Tabs=vn.Tabs,exports.Tag=gn.Tag,exports.TelemetryProvider=Fa.TelemetryProvider,exports.TempestApiError=C.TempestApiError,exports.TempestDataProvider=Ii.TempestDataProvider,exports.Textarea=yn.Textarea,exports.ThemeProvider=Vi.ThemeProvider,exports.TimePicker=hr.TimePicker,exports.Timeline=bn.Timeline,exports.ToastProvider=Sn.ToastProvider,exports.Toggle=Yn.Toggle,exports.ToggleGroup=Xn.ToggleGroup,exports.ToggleGroupItem=Xn.ToggleGroupItem,exports.Tooltip=xn.Tooltip,exports.Tour=Hr.Tour,exports.TrajectoryMap=Oa.TrajectoryMap,exports.Transfer=Br.Transfer,exports.TreeView=zn.TreeView,exports.TruncateText=Bn.TruncateText,exports.UpdatePrompt=Rt.UpdatePrompt,exports.VideoPlayer=An.VideoPlayer,exports.VirtualList=jn.VirtualList,exports.VirtualTable=Nn.VirtualTable,exports.VisuallyHidden=It.VisuallyHidden,exports.WebPushClient=P.WebPushClient,exports.WebPushPermissionDeniedError=P.WebPushPermissionDeniedError,exports.WebPushUnsubscribeError=P.WebPushUnsubscribeError,exports.WebPushUnsupportedError=P.WebPushUnsupportedError,exports.Wizard=_r.Wizard,exports.activeNavKey=on.activeNavKey,exports.aiChatStrings=f.aiChatStrings,exports.announce=i.announce,exports.applyFilters=Kr.applyFilters,exports.applyKanbanMove=zt.applyKanbanMove,exports.applyTheme=ka.applyTheme,exports.assertNever=b.assertNever,exports.base64UrlToBytes=D.base64UrlToBytes,exports.bearingDeg=G.bearingDeg,exports.blobToWav=jr.blobToWav,exports.boundingBox=q.boundingBox,exports.boundsCenter=q.boundsCenter,exports.buildApiUrl=ni.buildApiUrl,exports.buildBarListRows=Ur.buildBarListRows,exports.buildOpenInChromeIntent=n.buildOpenInChromeIntent,exports.bytesToBase64Url=D.bytesToBase64Url,exports.cachedResponseBytes=Ga.cachedResponseBytes,exports.camelCase=_.camelCase,exports.capitalize=_.capitalize,exports.chunk=v.chunk,exports.clamp=c.clamp,exports.clampLatitude=W.clampLatitude,exports.classifyPasskeyError=D.classifyPasskeyError,exports.clearAnnouncer=i.clearAnnouncer,exports.clearBackgroundSyncQueue=L.clearBackgroundSyncQueue,exports.clearCaches=Xi.clearCaches,exports.clearSessionData=Zi.clearSessionData,exports.cn=ee.cn,exports.compareValues=Mn.compareValues,exports.compressToString=g.compressToString,exports.compressedStorage=g.compressedStorage,exports.compressedStorageCodec=g.compressedStorageCodec,exports.consoleSink=Pa.consoleSink,exports.consoleTelemetryAdapter=Ia.consoleTelemetryAdapter,exports.contrastRatio=Y.contrastRatio,exports.createApiClient=ai.createApiClient,exports.createAppErrorReporter=Ba.createAppErrorReporter,exports.createAppErrorTelemetryAdapter=Va.createAppErrorTelemetryAdapter,exports.createAudioBus=ta.createAudioBus,exports.createAudioPlayer=R.createAudioPlayer,exports.createAudioRecorder=u.createAudioRecorder,exports.createAuthStore=pi.createAuthStore,exports.createBarcodeDetector=d.createBarcodeDetector,Object.defineProperty(exports,"createBrowserRouter",{enumerable:!0,get:function(){return Q.createBrowserRouter}}),exports.createColorScale=Y.createColorScale,exports.createDataProvider=Fi.createDataProvider,exports.createEventStream=Wi.createEventStream,exports.createGrowthBookFeatureFlagsAdapter=Ua.createGrowthBookFeatureFlagsAdapter,Object.defineProperty(exports,"createHashRouter",{enumerable:!0,get:function(){return Q.createHashRouter}}),exports.createI18n=oi.createI18n,exports.createInMemoryFlags=Ha.createInMemoryFlags,exports.createInferenceProfiler=Ja.createInferenceProfiler,exports.createInverseSurface=ja.createInverseSurface,exports.createJsonStorage=Yr.createJsonStorage,exports.createLaunchDarklyFeatureFlagsAdapter=Wa.createLaunchDarklyFeatureFlagsAdapter,exports.createLevelMeter=Dr.createLevelMeter,exports.createLinkStatsSampler=U.createLinkStatsSampler,exports.createLocalUploadStorage=E.createLocalUploadStorage,exports.createLogger=Pa.createLogger,exports.createMediaRecorder=Er.createMediaRecorder,Object.defineProperty(exports,"createMemoryRouter",{enumerable:!0,get:function(){return Q.createMemoryRouter}}),exports.createOSRMBackend=Ta.createOSRMBackend,exports.createOfflineDatabase=ca.createOfflineDatabase,exports.createOfflineStore=Ni.createOfflineStore,exports.createOfflineSync=la.createOfflineSync,exports.createPartialResponse=I.createPartialResponse,exports.createPasskeyClient=D.createPasskeyClient,Object.defineProperty(exports,"createPath",{enumerable:!0,get:function(){return Q.createPath}}),exports.createPeerMesh=wa.createPeerMesh,exports.createPositionTracker=Ea.createPositionTracker,exports.createPostHogTelemetryAdapter=Ra.createPostHogTelemetryAdapter,exports.createQueryKeys=Ei.createQueryKeys,exports.createRefreshQueue=_i.createRefreshQueue,exports.createResumableUpload=E.createResumableUpload,exports.createRoleAccessControl=Si.createRoleAccessControl,Object.defineProperty(exports,"createRoutesFromChildren",{enumerable:!0,get:function(){return Q.createRoutesFromChildren}}),Object.defineProperty(exports,"createRoutesFromElements",{enumerable:!0,get:function(){return Q.createRoutesFromElements}}),Object.defineProperty(exports,"createSearchParams",{enumerable:!0,get:function(){return Q.createSearchParams}}),exports.createSelectors=Bi.createSelectors,exports.createSentryTelemetryAdapter=La.createSentryTelemetryAdapter,exports.createSfxPool=$i.createSfxPool,exports.createStore=zi.createStore,exports.createTempestAuth=vi.createTempestAuth,exports.createTheme=Aa.createTheme,exports.createTicketEventStream=N.createTicketEventStream,exports.createVideoRecorder=B.createVideoRecorder,exports.createVoiceChain=z.createVoiceChain,exports.createWebSocket=va.createWebSocket,exports.csrfHeaders=S.csrfHeaders,Object.defineProperty(exports,"data",{enumerable:!0,get:function(){return Q.data}}),exports.debounce=x.debounce,exports.decodeJWT=hi.decodeJWT,exports.decompressFromString=g.decompressFromString,exports.deepMerge=y.deepMerge,exports.defaultInstallHint=Ie.defaultInstallHint,exports.defineRoutes=Ri.defineRoutes,exports.describeApiError=w.describeApiError,exports.describeAppError=za.describeAppError,exports.describeFilter=m.describeFilter,exports.divergingScale=Z.divergingScale,exports.downloadCsv=ti.downloadCsv,exports.emptyOffsetPage=j.emptyOffsetPage,exports.encodeIdSegment=Fi.encodeIdSegment,exports.encodeQR=l.encodeQR,exports.encodeWav=jr.encodeWav,exports.estimatePasswordStrength=qt.estimatePasswordStrength,exports.estimateStorage=o.estimateStorage,exports.estimateTravel=K.estimateTravel,exports.exchangeOAuthCallback=k.exchangeOAuthCallback,exports.expandBounds=q.expandBounds,exports.filtersFromSearchParams=m.filtersFromSearchParams,exports.filtersToQueryParams=qr.filtersToQueryParams,exports.filtersToSearchParams=m.filtersToSearchParams,exports.fitProjection=J.fitProjection,exports.formatBytes=c.formatBytes,exports.formatCEP=V.formatCEP,exports.formatCNPJ=V.formatCNPJ,exports.formatCPF=h.formatCPF,exports.formatCompactNumber=c.formatCompactNumber,exports.formatCurrency=h.formatCurrency,exports.formatDate=h.formatDate,exports.formatDateForInput=h.formatDateForInput,exports.formatDateTime=h.formatDateTime,exports.formatDateTimeForInput=h.formatDateTimeForInput,exports.formatDurationMs=qa.formatDurationMs,exports.formatPercent=h.formatPercent,exports.formatPhone=h.formatPhone,exports.generateIdempotencyKey=di.generateIdempotencyKey,Object.defineProperty(exports,"generatePath",{enumerable:!0,get:function(){return Q.generatePath}}),exports.getInitialTheme=Na.getInitialTheme,exports.getSupportedBarcodeFormats=d.getSupportedBarcodeFormats,exports.getThemePreset=Ma.getThemePreset,exports.groupBy=v.groupBy,exports.haversineKm=G.haversineKm,exports.hexToOklch=Y.hexToOklch,exports.hexToRgb=Y.hexToRgb,exports.hexToRgbaString=Y.hexToRgbaString,exports.higherVersionWins=ua.higherVersionWins,exports.inspectCaches=Xi.inspectCaches,exports.installBackgroundSync=L.installBackgroundSync,exports.installNotificationClickHandler=F.installNotificationClickHandler,exports.installPrecache=I.installPrecache,exports.installPushHandler=F.installPushHandler,exports.installRuntimeCache=I.installRuntimeCache,exports.installSkipWaitingListener=F.installSkipWaitingListener,exports.isAndroid=n.isAndroid,exports.isAndroidWithoutPromptApi=n.isAndroidWithoutPromptApi,exports.isApiError=C.isApiError,exports.isAudioOutputSelectionSupported=wr.isAudioOutputSelectionSupported,exports.isAudioRecordingSupported=u.isAudioRecordingSupported,exports.isBarcodeDetectionSupported=d.isBarcodeDetectionSupported,exports.isConditionalMediationAvailable=D.isConditionalMediationAvailable,exports.isCoordinate=W.isCoordinate,exports.isCursorPage=j.isCursorPage,exports.isDefined=b.isDefined,exports.isEmpty=y.isEmpty,exports.isFullscreenSupported=it.isFullscreenSupported,exports.isGenerating=f.isGenerating,exports.isIOS=n.isIOS,exports.isJWTExpired=hi.isJWTExpired,exports.isMediaCaptureSupported=kr.isMediaCaptureSupported,exports.isNumber=b.isNumber,exports.isOffsetPage=j.isOffsetPage,exports.isPasskeySupported=D.isPasskeySupported,exports.isPlainObject=b.isPlainObject,exports.isPlatformAuthenticatorAvailable=D.isPlatformAuthenticatorAvailable,exports.isPushSupported=Ki.isPushSupported,exports.isRejectionCloseCode=_a.isRejectionCloseCode,exports.isRetriableStatus=C.isRetriableStatus,exports.isRetriableTicketError=N.isRetriableTicketError,Object.defineProperty(exports,"isRouteErrorResponse",{enumerable:!0,get:function(){return Q.isRouteErrorResponse}}),exports.isScreenCaptureSupported=oa.isScreenCaptureSupported,exports.isShareSupported=$r.isShareSupported,exports.isSpeechRecognitionSupported=sa.isSpeechRecognitionSupported,exports.isStandalone=n.isStandalone,exports.isString=b.isString,exports.isTrustedCredentialTarget=ri.isTrustedCredentialTarget,exports.isValidLatitude=W.isValidLatitude,exports.isValidLongitude=W.isValidLongitude,exports.isVideoRecordingSupported=B.isVideoRecordingSupported,exports.isVoiceChainIdle=z.isVoiceChainIdle,exports.kebabCase=_.kebabCase,exports.lastAssistantId=f.lastAssistantId,exports.lastWriteWins=ua.lastWriteWins,exports.lazyWithRetry=gi.lazyWithRetry,exports.listQueryKey=M.listQueryKey,Object.defineProperty(exports,"matchPath",{enumerable:!0,get:function(){return Q.matchPath}}),Object.defineProperty(exports,"matchRoutes",{enumerable:!0,get:function(){return Q.matchRoutes}}),exports.matrixToPath=l.matrixToPath,exports.measureNoiseFloor=ra.measureNoiseFloor,exports.memoizeOne=x.memoizeOne,exports.monitorVoiceActivity=ia.monitorVoiceActivity,exports.monitorVoiceChain=z.monitorVoiceChain,exports.moveItem=At.moveItem,exports.normalizeBarcode=d.normalizeBarcode,exports.normalizeLongitude=W.normalizeLongitude,exports.nprogress=Ut.nprogress,exports.oklchToHex=Y.oklchToHex,exports.omit=y.omit,exports.once=x.once,exports.oneQueryKey=M.oneQueryKey,exports.operatorsFor=m.operatorsFor,Object.defineProperty(exports,"parsePath",{enumerable:!0,get:function(){return Q.parsePath}}),exports.parseResponse=ci.parseResponse,exports.pathLengthKm=G.pathLengthKm,exports.percentOf=c.percentOf,exports.permissionsFromToken=Ci.permissionsFromToken,exports.persistQueryClientOffline=Pi.persistQueryClientOffline,exports.pick=y.pick,exports.pickAudioMimeType=u.pickAudioMimeType,exports.pickVideoMimeType=B.pickVideoMimeType,exports.playAudio=R.playAudio,exports.pluralize=_.pluralize,exports.projectMercator=J.projectMercator,exports.provideBackgroundSyncCredentials=L.provideBackgroundSyncCredentials,exports.pushToTalkKeyLabel=r.pushToTalkKeyLabel,exports.randomId=Zr.randomId,exports.range=v.range,exports.readAvailableOutgoingKbps=U.readAvailableOutgoingKbps,exports.readDeviceProfile=Ka.readDeviceProfile,exports.readOAuthCallbackParams=k.readOAuthCallbackParams,exports.readQualityLimitation=U.readQualityLimitation,exports.readRelayed=U.readRelayed,exports.readRoundTripMs=U.readRoundTripMs,exports.readThemeToken=ka.readThemeToken,exports.readableForeground=Y.readableForeground,exports.receiptLabel=br.receiptLabel,Object.defineProperty(exports,"redirect",{enumerable:!0,get:function(){return Q.redirect}}),Object.defineProperty(exports,"redirectDocument",{enumerable:!0,get:function(){return Q.redirectDocument}}),exports.registerPeriodicSync=Yi.registerPeriodicSync,exports.registerServiceWorker=a.registerServiceWorker,exports.relativeLuminance=Y.relativeLuminance,exports.relativeTime=En.relativeTime,exports.removeById=Mi.removeById,Object.defineProperty(exports,"renderMatches",{enumerable:!0,get:function(){return Q.renderMatches}}),Object.defineProperty(exports,"replace",{enumerable:!0,get:function(){return Q.replace}}),exports.requestPersistentStorage=o.requestPersistentStorage,exports.resolveDegradation=Ca.resolveDegradation,Object.defineProperty(exports,"resolvePath",{enumerable:!0,get:function(){return Q.resolvePath}}),exports.resolveReceiptState=br.resolveReceiptState,exports.retry=ii.retry,exports.rgbToHex=Y.rgbToHex,exports.roleLabel=f.roleLabel,exports.safeAttachmentUrl=p.safeAttachmentUrl,exports.safeImageUrl=p.safeImageUrl,exports.safeLinkUrl=p.safeLinkUrl,exports.scaleForRoom=Ca.scaleForRoom,exports.scaleSteps=Z.scaleSteps,exports.sequentialScale=Z.sequentialScale,exports.setAudioOutput=wr.setAudioOutput,exports.setDevBuild=re.setDevBuild,exports.setSenderBitrate=xa.setSenderBitrate,exports.setTunedLocalDescription=ba.setTunedLocalDescription,exports.share=$r.share,exports.shareOrDownloadBlob=ei.shareOrDownloadBlob,exports.shouldRetryQuery=Di.shouldRetryQuery,exports.skipWaiting=a.skipWaiting,exports.sleep=Xr.sleep,exports.slugify=_.slugify,exports.stopAudio=R.stopAudio,exports.storage=Yr.storage,exports.suggestGateThreshold=ra.suggestGateThreshold,exports.tailSignature=f.tailSignature,exports.themeContrast=Aa.themeContrast,exports.themeInitScript=Na.themeInitScript,exports.themePresets=Ma.themePresets,exports.throttle=x.throttle,exports.toCsv=ti.toCsv,exports.toOptions=s.toOptions,exports.toRadians=G.toRadians,exports.truncate=_.truncate,exports.tuneOpus=ba.tuneOpus,exports.turnTime=f.turnTime,exports.uniqueBy=v.uniqueBy,exports.unmask=V.unmask,exports.unprojectMercator=J.unprojectMercator,exports.unregisterAllServiceWorkers=a.unregisterAllServiceWorkers,exports.uploadFingerprint=E.uploadFingerprint,exports.uploadPresignedPost=ui.uploadPresignedPost,exports.uploadWithProgress=li.uploadWithProgress,exports.upsertById=Mi.upsertById,exports.urlBase64ToUint8Array=Ki.urlBase64ToUint8Array,exports.useAccessControl=yi.useAccessControl,Object.defineProperty(exports,"useActionData",{enumerable:!0,get:function(){return Q.useActionData}}),exports.useAnnounce=i.useAnnounce,exports.useAsync=Ye.useAsync,Object.defineProperty(exports,"useAsyncError",{enumerable:!0,get:function(){return Q.useAsyncError}}),Object.defineProperty(exports,"useAsyncValue",{enumerable:!0,get:function(){return Q.useAsyncValue}}),exports.useAudio=Qi.useAudio,exports.useAudioBus=na.useAudioBus,exports.useAudioRecorder=Or.useAudioRecorder,exports.useBarcodeScanner=Pr.useBarcodeScanner,exports.useBeforeInstallPrompt=nt.useBeforeInstallPrompt,Object.defineProperty(exports,"useBeforeUnload",{enumerable:!0,get:function(){return Q.useBeforeUnload}}),Object.defineProperty(exports,"useBlocker",{enumerable:!0,get:function(){return Q.useBlocker}}),exports.useBreakpoint=ae.useBreakpoint,exports.useCan=bi.useCan,exports.useClickOutside=Tt.useClickOutside,exports.useClientFilter=Ve.useClientFilter,exports.useClipboard=et.useClipboard,exports.useCountdown=vt.useCountdown,exports.useCounter=_t.useCounter,exports.useCreate=M.useCreate,exports.useCursorQuery=Ai.useCursorQuery,exports.useDataProvider=Ii.useDataProvider,exports.useDebounce=ze.useDebounce,exports.useDeepMemo=He.useDeepMemo,exports.useDelete=M.useDelete,exports.useDescribeApiError=si.useDescribeApiError,exports.useDisclosure=ht.useDisclosure,exports.useDocumentTitle=bt.useDocumentTitle,exports.useDocumentVisibility=Ze.useDocumentVisibility,exports.useDraftFilters=We.useDraftFilters,exports.useErrorHandler=da.useErrorHandler,exports.useEventListener=Ke.useEventListener,exports.useEventStream=Gi.useEventStream,exports.useFavicon=xt.useFavicon,exports.useFeatureFlag=X.useFeatureFlag,Object.defineProperty(exports,"useFetcher",{enumerable:!0,get:function(){return Q.useFetcher}}),Object.defineProperty(exports,"useFetchers",{enumerable:!0,get:function(){return Q.useFetchers}}),Object.defineProperty(exports,"useFieldArray",{enumerable:!0,get:function(){return $.useFieldArray}}),exports.useFlagValue=X.useFlagValue,exports.useFocusTrap=pe.useFocusTrap,Object.defineProperty(exports,"useForm",{enumerable:!0,get:function(){return $.useForm}}),Object.defineProperty(exports,"useFormAction",{enumerable:!0,get:function(){return Q.useFormAction}}),Object.defineProperty(exports,"useFormContext",{enumerable:!0,get:function(){return $.useFormContext}}),Object.defineProperty(exports,"useFormState",{enumerable:!0,get:function(){return $.useFormState}}),exports.useFullscreen=it.useFullscreen,exports.useGeolocation=at.useGeolocation,exports.useHover=pt.useHover,Object.defineProperty(exports,"useHref",{enumerable:!0,get:function(){return Q.useHref}}),exports.useI18n=T.useI18n,exports.useIdle=rt.useIdle,Object.defineProperty(exports,"useInRouterContext",{enumerable:!0,get:function(){return Q.useInRouterContext}}),exports.useInstallPrompt=Fe.useInstallPrompt,exports.useIntersectionObserver=Qe.useIntersectionObserver,exports.useInterval=lt.useInterval,exports.useIsFirstRender=Et.useIsFirstRender,exports.useKeyboardShortcut=tt.useKeyboardShortcut,exports.useLatestRef=Ue.useLatestRef,Object.defineProperty(exports,"useLinkClickHandler",{enumerable:!0,get:function(){return Q.useLinkClickHandler}}),exports.useLinkStats=Sa.useLinkStats,exports.useList=M.useList,exports.useListState=gt.useListState,Object.defineProperty(exports,"useLoaderData",{enumerable:!0,get:function(){return Q.useLoaderData}}),exports.useLocalStorage=qe.useLocalStorage,Object.defineProperty(exports,"useLocation",{enumerable:!0,get:function(){return Q.useLocation}}),exports.useLongPress=mt.useLongPress,exports.useLongPressHandlers=Ot.useLongPressHandlers,exports.useMap=St.useMap,Object.defineProperty(exports,"useMatch",{enumerable:!0,get:function(){return Q.useMatch}}),Object.defineProperty(exports,"useMatches",{enumerable:!0,get:function(){return Q.useMatches}}),exports.useMediaDevices=Nt.useMediaDevices,exports.useMediaPermission=Mt.useMediaPermission,exports.useMediaQuery=Ge.useMediaQuery,exports.useMicrophone=Ar.useMicrophone,exports.useModals=Vt.useModals,Object.defineProperty(exports,"useNavigate",{enumerable:!0,get:function(){return Q.useNavigate}}),Object.defineProperty(exports,"useNavigation",{enumerable:!0,get:function(){return Q.useNavigation}}),Object.defineProperty(exports,"useNavigationType",{enumerable:!0,get:function(){return Q.useNavigationType}}),exports.useNotificationInbox=On.useNotificationInbox,exports.useOAuthCallback=Ti.useOAuthCallback,exports.useObjectUrl=Dt.useObjectUrl,exports.useOfflineMutation=ji.useOfflineMutation,exports.useOfflineSync=Ft.useOfflineSync,exports.useOne=M.useOne,exports.useOnline=Xe.useOnline,exports.useOptionalI18n=T.useOptionalI18n,Object.defineProperty(exports,"useOutlet",{enumerable:!0,get:function(){return Q.useOutlet}}),Object.defineProperty(exports,"useOutletContext",{enumerable:!0,get:function(){return Q.useOutletContext}}),exports.usePaginatedQuery=ki.usePaginatedQuery,exports.usePagination=Be.usePagination,Object.defineProperty(exports,"useParams",{enumerable:!0,get:function(){return Q.useParams}}),exports.usePasskeyCapabilities=O.usePasskeyCapabilities,exports.usePasskeyRegistration=O.usePasskeyRegistration,exports.usePasskeySignIn=O.usePasskeySignIn,exports.usePoll=fi.usePoll,exports.usePositionTracker=Da.usePositionTracker,exports.usePrevious=ct.usePrevious,exports.usePushSubscription=qi.usePushSubscription,exports.usePushToTalk=r.usePushToTalk,exports.useQueue=wt.useQueue,exports.useResizeObserver=$e.useResizeObserver,Object.defineProperty(exports,"useResolvedPath",{enumerable:!0,get:function(){return Q.useResolvedPath}}),Object.defineProperty(exports,"useRevalidator",{enumerable:!0,get:function(){return Q.useRevalidator}}),Object.defineProperty(exports,"useRouteError",{enumerable:!0,get:function(){return Q.useRouteError}}),Object.defineProperty(exports,"useRouteLoaderData",{enumerable:!0,get:function(){return Q.useRouteLoaderData}}),Object.defineProperty(exports,"useRoutes",{enumerable:!0,get:function(){return Q.useRoutes}}),exports.useScreenCapture=oa.useScreenCapture,exports.useScrollLock=ot.useScrollLock,exports.useScrollOverflow=jt.useScrollOverflow,Object.defineProperty(exports,"useSearchParams",{enumerable:!0,get:function(){return Q.useSearchParams}}),exports.useServiceWorkerUpdate=kt.useServiceWorkerUpdate,exports.useSet=Ct.useSet,exports.useSfxPool=ea.useSfxPool,exports.useSortable=At.useSortable,exports.useSpeechRecognition=sa.useSpeechRecognition,exports.useStableCallback=st.useStableCallback,exports.useStorageEstimate=o.useStorageEstimate,Object.defineProperty(exports,"useSubmit",{enumerable:!0,get:function(){return Q.useSubmit}}),exports.useSyncStatus=Ft.useSyncStatus,exports.useTelemetry=Fa.useTelemetry,exports.useTheme=Vi.useTheme,exports.useThrottle=dt.useThrottle,exports.useTicketEventStream=N.useTicketEventStream,exports.useTimeout=ut.useTimeout,exports.useToast=Sn.useToast,exports.useToggle=Je.useToggle,exports.useTorch=Nr.useTorch,exports.useTranslate=T.useTranslate,exports.useTypewriter=yt.useTypewriter,exports.useUpdate=M.useUpdate,exports.useViaCEP=ga.useViaCEP,exports.useVideoRecorder=aa.useVideoRecorder,Object.defineProperty(exports,"useViewTransitionState",{enumerable:!0,get:function(){return Q.useViewTransitionState}}),Object.defineProperty(exports,"useWatch",{enumerable:!0,get:function(){return $.useWatch}}),exports.useWebSocket=ya.useWebSocket,exports.useWindowSize=ft.useWindowSize,exports.useZodForm=ha.useZodForm,exports.validateCNPJ=V.validateCNPJ,exports.validateCPF=V.validateCPF,exports.validateForm=pa.validateForm,exports.visibleTurns=f.visibleTurns,exports.withAllOption=s.withAllOption,exports.withEmptyOption=s.withEmptyOption,exports.withTimeout=Xr.withTimeout,exports.writeXlsx=Qr.writeXlsx,exports.zodResolver=ma.zodResolver;