tempest-react-sdk 0.42.0 → 0.43.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.
@@ -0,0 +1,32 @@
1
+ //#region src/icons/material-symbols.ts
2
+ var e = "circle-question-mark", t = {
3
+ brush: "brush",
4
+ build: "wrench",
5
+ code: "code",
6
+ delivery_dining: "bike",
7
+ electrical_services: "plug-zap",
8
+ format_paint: "paint-roller",
9
+ gavel: "gavel",
10
+ handyman: "wrench",
11
+ hardware: "wrench",
12
+ key: "key",
13
+ lock: "lock",
14
+ mic: "mic",
15
+ palette: "palette",
16
+ pedal_bike: "bike",
17
+ plumbing: "shower-head",
18
+ router: "router",
19
+ settings: "settings",
20
+ shield: "shield",
21
+ smartphone: "smartphone",
22
+ tv: "tv",
23
+ two_wheeler: "bike",
24
+ warehouse: "warehouse"
25
+ };
26
+ function n(n, r = e) {
27
+ return n ? t[n.trim().toLowerCase()] ?? r : r;
28
+ }
29
+ //#endregion
30
+ export { e as MATERIAL_SYMBOL_FALLBACK, n as fromMaterialSymbol, t as materialToLucide };
31
+
32
+ //# sourceMappingURL=material-symbols.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"material-symbols.js","names":[],"sources":["../../src/icons/material-symbols.ts"],"sourcesContent":["import type { IconName } from \"./generated/icon-name\";\n\n/**\n * The slug `fromMaterialSymbol` falls back to when a code is unknown.\n *\n * A neutral glyph rather than nothing: a category created in an admin with a\n * code this table has not learned yet still has to draw something, or it opens a\n * hole in the grid and the bug reads as a layout problem instead of a missing\n * mapping.\n *\n * Lucide's `circle-help` is a deprecated alias of this slug. `<Icon>` resolves\n * aliases, so both render — but the bridge emits the canonical name, since a\n * value that gets persisted should not be one lucide has already renamed.\n */\nexport const MATERIAL_SYMBOL_FALLBACK: IconName = \"circle-question-mark\";\n\n/**\n * Material Symbols code → lucide slug, for backends that store `icon_code`.\n *\n * Every Python backend we write stores a category icon as a Material Symbol\n * (`build`, `format_paint`, `electrical_services`) — the vocabulary Flutter,\n * Android and the administrative seeds already speak. The SDK speaks lucide in\n * kebab-case. The two lists do not meet, and the failure is nastier than an\n * empty screen: a handful of codes collide by accident, so roughly one row in\n * ten draws the right icon and the bug reads as \"some icons went missing\".\n *\n * **This is a seed table, not the full vocabulary.** Material Symbols ships\n * ~3600 names and almost none of them will ever appear in an `icon_code` of\n * ours. It grows on demand, one hand-written pair at a time — a map generated by\n * name heuristics gets it badly wrong, starting with `build`, which is a wrench\n * in Material Symbols and not anything to do with construction.\n *\n * **Approximations, deliberate and not one-to-one:**\n *\n * - `plumbing` → `shower-head`, because lucide has no pipe.\n * - `build`, `handyman` and `hardware` all land on `wrench` — Material Symbols\n * distinguishes the tools, lucide does not.\n * - `pedal_bike`, `two_wheeler` and `delivery_dining` all land on `bike`.\n *\n * The thirteen identity pairs are here on purpose. Their names happen to match\n * in both vocabularies, so they already render today — leaving them out would\n * send them to {@link MATERIAL_SYMBOL_FALLBACK} and make this bridge a\n * regression for exactly the codes that used to work.\n *\n * @see fromMaterialSymbol — the lookup you normally call.\n */\nexport const materialToLucide: Readonly<Record<string, IconName>> = {\n brush: \"brush\",\n build: \"wrench\",\n code: \"code\",\n delivery_dining: \"bike\",\n electrical_services: \"plug-zap\",\n format_paint: \"paint-roller\",\n gavel: \"gavel\",\n handyman: \"wrench\",\n hardware: \"wrench\",\n key: \"key\",\n lock: \"lock\",\n mic: \"mic\",\n palette: \"palette\",\n pedal_bike: \"bike\",\n plumbing: \"shower-head\",\n router: \"router\",\n settings: \"settings\",\n shield: \"shield\",\n smartphone: \"smartphone\",\n tv: \"tv\",\n two_wheeler: \"bike\",\n warehouse: \"warehouse\",\n};\n\n/**\n * Translate a Material Symbols code into a lucide slug, always returning one.\n *\n * Never returns `undefined`: an unknown code resolves to `fallback`, so a row\n * whose `icon_code` this table has not learned yet still renders. The input is\n * trimmed and lower-cased before lookup, because a seed written by hand is the\n * kind of source that carries stray whitespace and the odd capital.\n *\n * Nothing else in `/icons` imports this module, so an app that does not store\n * Material Symbols never pays for the table.\n *\n * @example\n * <Icon name={fromMaterialSymbol(category.icon_code)} size={20} />\n *\n * @example\n * <Icon name={fromMaterialSymbol(category.icon_code, \"folder\")} size={20} />\n *\n * @param code - A Material Symbols name, or `null`/`undefined` for a row that has none.\n * @param fallback - Slug to use when `code` is empty or unknown. Defaults to {@link MATERIAL_SYMBOL_FALLBACK}.\n * @returns A lucide slug `<Icon>` can render.\n */\nexport function fromMaterialSymbol(\n code: string | null | undefined,\n fallback: IconName = MATERIAL_SYMBOL_FALLBACK,\n): IconName {\n if (!code) return fallback;\n return materialToLucide[code.trim().toLowerCase()] ?? fallback;\n}\n"],"mappings":";AAcA,IAAa,IAAqC,wBAgCrC,IAAuD;CAChE,OAAO;CACP,OAAO;CACP,MAAM;CACN,iBAAiB;CACjB,qBAAqB;CACrB,cAAc;CACd,OAAO;CACP,UAAU;CACV,UAAU;CACV,KAAK;CACL,MAAM;CACN,KAAK;CACL,SAAS;CACT,YAAY;CACZ,UAAU;CACV,QAAQ;CACR,UAAU;CACV,QAAQ;CACR,YAAY;CACZ,IAAI;CACJ,aAAa;CACb,WAAW;AACf;AAuBA,SAAgB,EACZ,GACA,IAAqB,GACb;CAER,OADK,IACE,EAAiB,EAAK,KAAK,CAAC,CAAC,YAAY,MAAM,IADpC;AAEtB"}
package/dist/icons.cjs CHANGED
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./icons/generated/aliases.cjs"),t=require("./icons/generated/icon-names.cjs"),n=require("./icons/icon-context.cjs"),r=require("./icons/shard-cache.cjs"),i=require("./icons/use-icon.cjs"),a=require("./icons/Icon.cjs"),o=require("./icons/IconProvider.cjs"),s=require("./icons/is-icon-name.cjs");exports.Icon=a.Icon,exports.IconProvider=o.IconProvider,exports.createIconRegistry=n.createIconRegistry,exports.iconAliases=e.iconAliases,exports.iconNames=t.iconNames,exports.iconStatus=r.iconStatus,exports.isIconName=s.isIconName,exports.loadIcon=r.loadIcon,exports.peekIcon=r.peekIcon,exports.preloadIcons=r.preloadIcons,exports.resolveIconAlias=r.resolveIconAlias,exports.useIcon=i.useIcon;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./icons/generated/aliases.cjs"),t=require("./icons/generated/icon-names.cjs"),n=require("./icons/icon-context.cjs"),r=require("./icons/shard-cache.cjs"),i=require("./icons/use-icon.cjs"),a=require("./icons/Icon.cjs"),o=require("./icons/IconProvider.cjs"),s=require("./icons/is-icon-name.cjs"),c=require("./icons/material-symbols.cjs");exports.Icon=a.Icon,exports.IconProvider=o.IconProvider,exports.MATERIAL_SYMBOL_FALLBACK=c.MATERIAL_SYMBOL_FALLBACK,exports.createIconRegistry=n.createIconRegistry,exports.fromMaterialSymbol=c.fromMaterialSymbol,exports.iconAliases=e.iconAliases,exports.iconNames=t.iconNames,exports.iconStatus=r.iconStatus,exports.isIconName=s.isIconName,exports.loadIcon=r.loadIcon,exports.materialToLucide=c.materialToLucide,exports.peekIcon=r.peekIcon,exports.preloadIcons=r.preloadIcons,exports.resolveIconAlias=r.resolveIconAlias,exports.useIcon=i.useIcon;
package/dist/icons.d.ts CHANGED
@@ -20,6 +20,29 @@ import { SVGProps } from 'react';
20
20
  */
21
21
  export declare function createIconRegistry(icons: Record<string, LucideIcon>): IconRegistry;
22
22
 
23
+ /**
24
+ * Translate a Material Symbols code into a lucide slug, always returning one.
25
+ *
26
+ * Never returns `undefined`: an unknown code resolves to `fallback`, so a row
27
+ * whose `icon_code` this table has not learned yet still renders. The input is
28
+ * trimmed and lower-cased before lookup, because a seed written by hand is the
29
+ * kind of source that carries stray whitespace and the odd capital.
30
+ *
31
+ * Nothing else in `/icons` imports this module, so an app that does not store
32
+ * Material Symbols never pays for the table.
33
+ *
34
+ * @example
35
+ * <Icon name={fromMaterialSymbol(category.icon_code)} size={20} />
36
+ *
37
+ * @example
38
+ * <Icon name={fromMaterialSymbol(category.icon_code, "folder")} size={20} />
39
+ *
40
+ * @param code - A Material Symbols name, or `null`/`undefined` for a row that has none.
41
+ * @param fallback - Slug to use when `code` is empty or unknown. Defaults to {@link MATERIAL_SYMBOL_FALLBACK}.
42
+ * @returns A lucide slug `<Icon>` can render.
43
+ */
44
+ export declare function fromMaterialSymbol(code: string | null | undefined, fallback?: IconName): IconName;
45
+
23
46
  /**
24
47
  * Render a lucide icon by slug.
25
48
  *
@@ -169,6 +192,52 @@ export declare function isIconName(value: string): value is IconName;
169
192
  */
170
193
  export declare function loadIcon(slug: string): Promise<void>;
171
194
 
195
+ /**
196
+ * The slug `fromMaterialSymbol` falls back to when a code is unknown.
197
+ *
198
+ * A neutral glyph rather than nothing: a category created in an admin with a
199
+ * code this table has not learned yet still has to draw something, or it opens a
200
+ * hole in the grid and the bug reads as a layout problem instead of a missing
201
+ * mapping.
202
+ *
203
+ * Lucide's `circle-help` is a deprecated alias of this slug. `<Icon>` resolves
204
+ * aliases, so both render — but the bridge emits the canonical name, since a
205
+ * value that gets persisted should not be one lucide has already renamed.
206
+ */
207
+ export declare const MATERIAL_SYMBOL_FALLBACK: IconName;
208
+
209
+ /**
210
+ * Material Symbols code → lucide slug, for backends that store `icon_code`.
211
+ *
212
+ * Every Python backend we write stores a category icon as a Material Symbol
213
+ * (`build`, `format_paint`, `electrical_services`) — the vocabulary Flutter,
214
+ * Android and the administrative seeds already speak. The SDK speaks lucide in
215
+ * kebab-case. The two lists do not meet, and the failure is nastier than an
216
+ * empty screen: a handful of codes collide by accident, so roughly one row in
217
+ * ten draws the right icon and the bug reads as "some icons went missing".
218
+ *
219
+ * **This is a seed table, not the full vocabulary.** Material Symbols ships
220
+ * ~3600 names and almost none of them will ever appear in an `icon_code` of
221
+ * ours. It grows on demand, one hand-written pair at a time — a map generated by
222
+ * name heuristics gets it badly wrong, starting with `build`, which is a wrench
223
+ * in Material Symbols and not anything to do with construction.
224
+ *
225
+ * **Approximations, deliberate and not one-to-one:**
226
+ *
227
+ * - `plumbing` → `shower-head`, because lucide has no pipe.
228
+ * - `build`, `handyman` and `hardware` all land on `wrench` — Material Symbols
229
+ * distinguishes the tools, lucide does not.
230
+ * - `pedal_bike`, `two_wheeler` and `delivery_dining` all land on `bike`.
231
+ *
232
+ * The thirteen identity pairs are here on purpose. Their names happen to match
233
+ * in both vocabularies, so they already render today — leaving them out would
234
+ * send them to {@link MATERIAL_SYMBOL_FALLBACK} and make this bridge a
235
+ * regression for exactly the codes that used to work.
236
+ *
237
+ * @see fromMaterialSymbol — the lookup you normally call.
238
+ */
239
+ export declare const materialToLucide: Readonly<Record<string, IconName>>;
240
+
172
241
  /**
173
242
  * Read an icon out of the cache without triggering a fetch.
174
243
  *
package/dist/icons.js CHANGED
@@ -6,4 +6,5 @@ import { useIcon as c } from "./icons/use-icon.js";
6
6
  import { Icon as l } from "./icons/Icon.js";
7
7
  import { IconProvider as u } from "./icons/IconProvider.js";
8
8
  import { isIconName as d } from "./icons/is-icon-name.js";
9
- export { l as Icon, u as IconProvider, n as createIconRegistry, e as iconAliases, t as iconNames, r as iconStatus, d as isIconName, i as loadIcon, a as peekIcon, o as preloadIcons, s as resolveIconAlias, c as useIcon };
9
+ import { MATERIAL_SYMBOL_FALLBACK as f, fromMaterialSymbol as p, materialToLucide as m } from "./icons/material-symbols.js";
10
+ export { l as Icon, u as IconProvider, f as MATERIAL_SYMBOL_FALLBACK, n as createIconRegistry, p as fromMaterialSymbol, e as iconAliases, t as iconNames, r as iconStatus, d as isIconName, i as loadIcon, m as materialToLucide, a as peekIcon, o as preloadIcons, s as resolveIconAlias, c as useIcon };
@@ -1 +1 @@
1
- {"version":3,"file":"AppRouter.cjs","names":[],"sources":["../../src/router/AppRouter.tsx"],"sourcesContent":["import { Suspense, useMemo } from \"react\";\nimport type { ComponentType, ReactNode } from \"react\";\nimport { BrowserRouter, HashRouter, MemoryRouter, Routes, Route } from \"react-router\";\nimport { lazyWithRetry } from \"../auth/lazy-with-retry\";\nimport { RouteGuard } from \"./RouteGuard\";\nimport type { RouterKind, TempestRouteObject } from \"./types\";\n\n/**\n * Identity helper that types a declarative route tree. Use it so editors give\n * autocomplete and type-checking on every node; the array is returned as-is.\n *\n * @example\n * export const routes = defineRoutes([\n * { path: \"/\", element: <Layout />, children: [\n * { index: true, lazy: () => import(\"./pages/Home\") },\n * { path: \"settings\", lazy: () => import(\"./pages/Settings\"),\n * guard: () => useAuth.getState().isAuthenticated, redirectTo: \"/login\" },\n * ] },\n * ]);\n */\nexport function defineRoutes(routes: TempestRouteObject[]): TempestRouteObject[] {\n return routes;\n}\n\nconst lazyCache = new WeakMap<TempestRouteObject, ComponentType<unknown>>();\n\nfunction resolveLazy(route: TempestRouteObject): ComponentType<unknown> {\n let comp = lazyCache.get(route);\n if (!comp) {\n comp = lazyWithRetry(route.lazy!);\n lazyCache.set(route, comp);\n }\n return comp;\n}\n\nfunction GuardedElement({\n guard,\n redirectTo,\n children,\n}: {\n guard: boolean | (() => boolean);\n redirectTo?: string;\n children: ReactNode;\n}) {\n const allowed = typeof guard === \"function\" ? guard() : guard;\n return (\n <RouteGuard when={allowed} redirectTo={redirectTo}>\n {children}\n </RouteGuard>\n );\n}\n\nfunction toRouteElements(routes: TempestRouteObject[]): ReactNode {\n return routes.map((route, i) => {\n let element: ReactNode = route.element;\n if (route.lazy) {\n const LazyComponent = resolveLazy(route);\n element = <LazyComponent />;\n }\n if (route.guard !== undefined) {\n element = (\n <GuardedElement guard={route.guard} redirectTo={route.redirectTo}>\n {element}\n </GuardedElement>\n );\n }\n\n if (route.index) {\n return <Route key={`index-${i}`} index element={element} />;\n }\n\n return (\n <Route\n key={route.path ?? `route-${i}`}\n path={route.path}\n element={element}\n caseSensitive={route.caseSensitive}\n >\n {route.children ? toRouteElements(route.children) : null}\n </Route>\n );\n });\n}\n\nconst ROUTERS: Record<RouterKind, typeof BrowserRouter> = {\n browser: BrowserRouter,\n hash: HashRouter,\n memory: MemoryRouter,\n};\n\nexport interface AppRouterProps {\n /** Declarative route tree, ideally built with {@link defineRoutes}. */\n routes: TempestRouteObject[];\n /** History strategy (default: `\"browser\"`). */\n router?: RouterKind;\n /** App-wide base path forwarded to the underlying router. */\n basename?: string;\n /** Initial URLs for the `\"memory\"` router (tests / non-DOM hosts). */\n initialEntries?: string[];\n /** Suspense fallback shown while a `lazy` route chunk loads. */\n fallback?: ReactNode;\n}\n\n/**\n * Render a full React Router (v7, declarative mode) from a {@link defineRoutes}\n * tree: picks the history strategy, wraps everything in a `<Suspense>` boundary\n * for `lazy` routes, and applies per-route `guard` redirects. This is the\n * single entry point apps mount at their root.\n *\n * @example\n * <AppRouter routes={routes} fallback={<Spinner />} />\n */\nexport function AppRouter({\n routes,\n router = \"browser\",\n basename,\n initialEntries,\n fallback = null,\n}: AppRouterProps) {\n const tree = useMemo(() => toRouteElements(routes), [routes]);\n const Router = ROUTERS[router];\n const routerProps = router === \"memory\" ? { basename, initialEntries } : { basename };\n\n return (\n <Router {...routerProps}>\n <Suspense fallback={fallback}>\n <Routes>{tree}</Routes>\n </Suspense>\n </Router>\n );\n}\n"],"mappings":"6JAoBA,SAAgB,EAAa,EAAoD,CAC7E,OAAO,CACX,CAEA,IAAM,EAAY,IAAI,QAEtB,SAAS,EAAY,EAAmD,CACpE,IAAI,EAAO,EAAU,IAAI,CAAK,EAK9B,OAJK,IACD,EAAO,EAAA,cAAc,EAAM,IAAK,EAChC,EAAU,IAAI,EAAO,CAAI,GAEtB,CACX,CAEA,SAAS,EAAe,CACpB,QACA,aACA,YAKD,CACC,IAAM,EAAU,OAAO,GAAU,WAAa,EAAM,EAAI,EACxD,OACI,EAAA,EAAA,IAAA,CAAC,EAAA,WAAD,CAAY,KAAM,EAAqB,aAClC,UACO,CAAA,CAEpB,CAEA,SAAS,EAAgB,EAAyC,CAC9D,OAAO,EAAO,KAAK,EAAO,IAAM,CAC5B,IAAI,EAAqB,EAAM,QAC/B,GAAI,EAAM,KAAM,CACZ,IAAM,EAAgB,EAAY,CAAK,EACvC,GAAU,EAAA,EAAA,IAAA,CAAC,EAAD,CAAgB,CAAA,CAC9B,CAaA,OAZI,EAAM,QAAU,IAAA,KAChB,GACI,EAAA,EAAA,IAAA,CAAC,EAAD,CAAgB,MAAO,EAAM,MAAO,WAAY,EAAM,WACjD,SAAA,CACW,CAAA,GAIpB,EAAM,OACC,EAAA,EAAA,IAAA,CAAC,EAAA,MAAD,CAA0B,MAAA,GAAe,SAAU,EAAvC,SAAS,GAA8B,GAI1D,EAAA,EAAA,IAAA,CAAC,EAAA,MAAD,CAEI,KAAM,EAAM,KACH,UACT,cAAe,EAAM,cAEpB,SAAA,EAAM,SAAW,EAAgB,EAAM,QAAQ,EAAI,IACjD,EANE,EAAM,MAAQ,SAAS,GAMzB,CAEf,CAAC,CACL,CAEA,IAAM,EAAoD,CACtD,QAAS,EAAA,cACT,KAAM,EAAA,WACN,OAAQ,EAAA,YACZ,EAwBA,SAAgB,EAAU,CACtB,SACA,SAAS,UACT,WACA,iBACA,WAAW,MACI,CACf,IAAM,GAAA,EAAO,EAAA,QAAA,KAAc,EAAgB,CAAM,EAAG,CAAC,CAAM,CAAC,EACtD,EAAS,EAAQ,GAGvB,OACI,EAAA,EAAA,IAAA,CAAC,EAAD,CAAQ,GAHQ,IAAW,SAAW,CAAE,WAAU,gBAAe,EAAI,CAAE,UAAS,EAI5E,UAAA,EAAA,EAAA,IAAA,CAAC,EAAA,SAAD,CAAoB,WAChB,UAAA,EAAA,EAAA,IAAA,CAAC,EAAA,OAAD,CAAA,SAAS,CAAa,CAAA,CAChB,CAAA,CACN,CAAA,CAEhB"}
1
+ {"version":3,"file":"AppRouter.cjs","names":[],"sources":["../../src/router/AppRouter.tsx"],"sourcesContent":["import { Suspense, useMemo } from \"react\";\nimport type { ComponentType, ReactNode } from \"react\";\nimport { BrowserRouter, HashRouter, MemoryRouter, Routes, Route } from \"react-router\";\nimport { lazyWithRetry } from \"../auth/lazy-with-retry\";\nimport { RouteGuard } from \"./RouteGuard\";\nimport type { RouterKind, TempestRouteObject } from \"./types\";\n\n/**\n * Identity helper that types a declarative route tree. Use it so editors give\n * autocomplete and type-checking on every node; the array is returned as-is.\n *\n * @example\n * export const routes = defineRoutes([\n * { path: \"/\", element: <Layout />, children: [\n * { index: true, lazy: () => import(\"./pages/Home\") },\n * { path: \"settings\", lazy: () => import(\"./pages/Settings\"),\n * guard: () => useAuth.getState().isAuthenticated, redirectTo: \"/login\" },\n * ] },\n * ]);\n */\nexport function defineRoutes(routes: TempestRouteObject[]): TempestRouteObject[] {\n return routes;\n}\n\nconst lazyCache = new WeakMap<TempestRouteObject, ComponentType<unknown>>();\n\nfunction resolveLazy(route: TempestRouteObject): ComponentType<unknown> {\n let comp = lazyCache.get(route);\n if (!comp) {\n comp = lazyWithRetry(route.lazy!);\n lazyCache.set(route, comp);\n }\n return comp;\n}\n\nfunction GuardedElement({\n guard,\n redirectTo,\n children,\n}: {\n guard: boolean | (() => boolean);\n redirectTo?: string;\n children: ReactNode;\n}) {\n const allowed = typeof guard === \"function\" ? guard() : guard;\n return (\n <RouteGuard when={allowed} redirectTo={redirectTo}>\n {children}\n </RouteGuard>\n );\n}\n\nfunction toRouteElements(routes: TempestRouteObject[]): ReactNode {\n return routes.map((route, i) => {\n let element: ReactNode = route.element;\n if (route.lazy) {\n const LazyComponent = resolveLazy(route);\n element = <LazyComponent />;\n }\n if (route.guard !== undefined) {\n element = (\n <GuardedElement guard={route.guard} redirectTo={route.redirectTo}>\n {element}\n </GuardedElement>\n );\n }\n\n if (route.index) {\n return <Route key={`index-${i}`} index element={element} />;\n }\n\n return (\n <Route\n key={route.path ?? `route-${i}`}\n path={route.path}\n element={element}\n caseSensitive={route.caseSensitive}\n >\n {route.children ? toRouteElements(route.children) : null}\n </Route>\n );\n });\n}\n\nconst ROUTERS: Record<RouterKind, typeof BrowserRouter> = {\n browser: BrowserRouter,\n hash: HashRouter,\n memory: MemoryRouter,\n};\n\nexport interface AppRouterProps {\n /** Declarative route tree, ideally built with {@link defineRoutes}. */\n routes: TempestRouteObject[];\n /** History strategy (default: `\"browser\"`). */\n router?: RouterKind;\n /** App-wide base path forwarded to the underlying router. */\n basename?: string;\n /** Initial URLs for the `\"memory\"` router (tests / non-DOM hosts). */\n initialEntries?: string[];\n /** Suspense fallback shown while a `lazy` route chunk loads. */\n fallback?: ReactNode;\n}\n\n/**\n * Render a full React Router (v7 or v8, declarative mode) from a\n * {@link defineRoutes}\n * tree: picks the history strategy, wraps everything in a `<Suspense>` boundary\n * for `lazy` routes, and applies per-route `guard` redirects. This is the\n * single entry point apps mount at their root.\n *\n * @example\n * <AppRouter routes={routes} fallback={<Spinner />} />\n */\nexport function AppRouter({\n routes,\n router = \"browser\",\n basename,\n initialEntries,\n fallback = null,\n}: AppRouterProps) {\n const tree = useMemo(() => toRouteElements(routes), [routes]);\n const Router = ROUTERS[router];\n const routerProps = router === \"memory\" ? { basename, initialEntries } : { basename };\n\n return (\n <Router {...routerProps}>\n <Suspense fallback={fallback}>\n <Routes>{tree}</Routes>\n </Suspense>\n </Router>\n );\n}\n"],"mappings":"6JAoBA,SAAgB,EAAa,EAAoD,CAC7E,OAAO,CACX,CAEA,IAAM,EAAY,IAAI,QAEtB,SAAS,EAAY,EAAmD,CACpE,IAAI,EAAO,EAAU,IAAI,CAAK,EAK9B,OAJK,IACD,EAAO,EAAA,cAAc,EAAM,IAAK,EAChC,EAAU,IAAI,EAAO,CAAI,GAEtB,CACX,CAEA,SAAS,EAAe,CACpB,QACA,aACA,YAKD,CACC,IAAM,EAAU,OAAO,GAAU,WAAa,EAAM,EAAI,EACxD,OACI,EAAA,EAAA,IAAA,CAAC,EAAA,WAAD,CAAY,KAAM,EAAqB,aAClC,UACO,CAAA,CAEpB,CAEA,SAAS,EAAgB,EAAyC,CAC9D,OAAO,EAAO,KAAK,EAAO,IAAM,CAC5B,IAAI,EAAqB,EAAM,QAC/B,GAAI,EAAM,KAAM,CACZ,IAAM,EAAgB,EAAY,CAAK,EACvC,GAAU,EAAA,EAAA,IAAA,CAAC,EAAD,CAAgB,CAAA,CAC9B,CAaA,OAZI,EAAM,QAAU,IAAA,KAChB,GACI,EAAA,EAAA,IAAA,CAAC,EAAD,CAAgB,MAAO,EAAM,MAAO,WAAY,EAAM,WACjD,SAAA,CACW,CAAA,GAIpB,EAAM,OACC,EAAA,EAAA,IAAA,CAAC,EAAA,MAAD,CAA0B,MAAA,GAAe,SAAU,EAAvC,SAAS,GAA8B,GAI1D,EAAA,EAAA,IAAA,CAAC,EAAA,MAAD,CAEI,KAAM,EAAM,KACH,UACT,cAAe,EAAM,cAEpB,SAAA,EAAM,SAAW,EAAgB,EAAM,QAAQ,EAAI,IACjD,EANE,EAAM,MAAQ,SAAS,GAMzB,CAEf,CAAC,CACL,CAEA,IAAM,EAAoD,CACtD,QAAS,EAAA,cACT,KAAM,EAAA,WACN,OAAQ,EAAA,YACZ,EAyBA,SAAgB,EAAU,CACtB,SACA,SAAS,UACT,WACA,iBACA,WAAW,MACI,CACf,IAAM,GAAA,EAAO,EAAA,QAAA,KAAc,EAAgB,CAAM,EAAG,CAAC,CAAM,CAAC,EACtD,EAAS,EAAQ,GAGvB,OACI,EAAA,EAAA,IAAA,CAAC,EAAD,CAAQ,GAHQ,IAAW,SAAW,CAAE,WAAU,gBAAe,EAAI,CAAE,UAAS,EAI5E,UAAA,EAAA,EAAA,IAAA,CAAC,EAAA,SAAD,CAAoB,WAChB,UAAA,EAAA,EAAA,IAAA,CAAC,EAAA,OAAD,CAAA,SAAS,CAAa,CAAA,CAChB,CAAA,CACN,CAAA,CAEhB"}
@@ -1 +1 @@
1
- {"version":3,"file":"AppRouter.js","names":[],"sources":["../../src/router/AppRouter.tsx"],"sourcesContent":["import { Suspense, useMemo } from \"react\";\nimport type { ComponentType, ReactNode } from \"react\";\nimport { BrowserRouter, HashRouter, MemoryRouter, Routes, Route } from \"react-router\";\nimport { lazyWithRetry } from \"../auth/lazy-with-retry\";\nimport { RouteGuard } from \"./RouteGuard\";\nimport type { RouterKind, TempestRouteObject } from \"./types\";\n\n/**\n * Identity helper that types a declarative route tree. Use it so editors give\n * autocomplete and type-checking on every node; the array is returned as-is.\n *\n * @example\n * export const routes = defineRoutes([\n * { path: \"/\", element: <Layout />, children: [\n * { index: true, lazy: () => import(\"./pages/Home\") },\n * { path: \"settings\", lazy: () => import(\"./pages/Settings\"),\n * guard: () => useAuth.getState().isAuthenticated, redirectTo: \"/login\" },\n * ] },\n * ]);\n */\nexport function defineRoutes(routes: TempestRouteObject[]): TempestRouteObject[] {\n return routes;\n}\n\nconst lazyCache = new WeakMap<TempestRouteObject, ComponentType<unknown>>();\n\nfunction resolveLazy(route: TempestRouteObject): ComponentType<unknown> {\n let comp = lazyCache.get(route);\n if (!comp) {\n comp = lazyWithRetry(route.lazy!);\n lazyCache.set(route, comp);\n }\n return comp;\n}\n\nfunction GuardedElement({\n guard,\n redirectTo,\n children,\n}: {\n guard: boolean | (() => boolean);\n redirectTo?: string;\n children: ReactNode;\n}) {\n const allowed = typeof guard === \"function\" ? guard() : guard;\n return (\n <RouteGuard when={allowed} redirectTo={redirectTo}>\n {children}\n </RouteGuard>\n );\n}\n\nfunction toRouteElements(routes: TempestRouteObject[]): ReactNode {\n return routes.map((route, i) => {\n let element: ReactNode = route.element;\n if (route.lazy) {\n const LazyComponent = resolveLazy(route);\n element = <LazyComponent />;\n }\n if (route.guard !== undefined) {\n element = (\n <GuardedElement guard={route.guard} redirectTo={route.redirectTo}>\n {element}\n </GuardedElement>\n );\n }\n\n if (route.index) {\n return <Route key={`index-${i}`} index element={element} />;\n }\n\n return (\n <Route\n key={route.path ?? `route-${i}`}\n path={route.path}\n element={element}\n caseSensitive={route.caseSensitive}\n >\n {route.children ? toRouteElements(route.children) : null}\n </Route>\n );\n });\n}\n\nconst ROUTERS: Record<RouterKind, typeof BrowserRouter> = {\n browser: BrowserRouter,\n hash: HashRouter,\n memory: MemoryRouter,\n};\n\nexport interface AppRouterProps {\n /** Declarative route tree, ideally built with {@link defineRoutes}. */\n routes: TempestRouteObject[];\n /** History strategy (default: `\"browser\"`). */\n router?: RouterKind;\n /** App-wide base path forwarded to the underlying router. */\n basename?: string;\n /** Initial URLs for the `\"memory\"` router (tests / non-DOM hosts). */\n initialEntries?: string[];\n /** Suspense fallback shown while a `lazy` route chunk loads. */\n fallback?: ReactNode;\n}\n\n/**\n * Render a full React Router (v7, declarative mode) from a {@link defineRoutes}\n * tree: picks the history strategy, wraps everything in a `<Suspense>` boundary\n * for `lazy` routes, and applies per-route `guard` redirects. This is the\n * single entry point apps mount at their root.\n *\n * @example\n * <AppRouter routes={routes} fallback={<Spinner />} />\n */\nexport function AppRouter({\n routes,\n router = \"browser\",\n basename,\n initialEntries,\n fallback = null,\n}: AppRouterProps) {\n const tree = useMemo(() => toRouteElements(routes), [routes]);\n const Router = ROUTERS[router];\n const routerProps = router === \"memory\" ? { basename, initialEntries } : { basename };\n\n return (\n <Router {...routerProps}>\n <Suspense fallback={fallback}>\n <Routes>{tree}</Routes>\n </Suspense>\n </Router>\n );\n}\n"],"mappings":";;;;;;AAoBA,SAAgB,EAAa,GAAoD;CAC7E,OAAO;AACX;AAEA,IAAM,oBAAY,IAAI,QAAoD;AAE1E,SAAS,EAAY,GAAmD;CACpE,IAAI,IAAO,EAAU,IAAI,CAAK;CAK9B,OAJK,MACD,IAAO,EAAc,EAAM,IAAK,GAChC,EAAU,IAAI,GAAO,CAAI,IAEtB;AACX;AAEA,SAAS,EAAe,EACpB,UACA,eACA,eAKD;CACC,IAAM,IAAU,OAAO,KAAU,aAAa,EAAM,IAAI;CACxD,OACI,kBAAC,GAAD;EAAY,MAAM;EAAqB;EAClC;CACO,CAAA;AAEpB;AAEA,SAAS,EAAgB,GAAyC;CAC9D,OAAO,EAAO,KAAK,GAAO,MAAM;EAC5B,IAAI,IAAqB,EAAM;EAC/B,IAAI,EAAM,MAAM;GACZ,IAAM,IAAgB,EAAY,CAAK;GACvC,IAAU,kBAAC,GAAD,CAAgB,CAAA;EAC9B;EAaA,OAZI,EAAM,UAAU,KAAA,MAChB,IACI,kBAAC,GAAD;GAAgB,OAAO,EAAM;GAAO,YAAY,EAAM;GACjD,UAAA;EACW,CAAA,IAIpB,EAAM,QACC,kBAAC,GAAD;GAA0B,OAAA;GAAe;EAAU,GAAvC,SAAS,GAA8B,IAI1D,kBAAC,GAAD;GAEI,MAAM,EAAM;GACH;GACT,eAAe,EAAM;GAEpB,UAAA,EAAM,WAAW,EAAgB,EAAM,QAAQ,IAAI;EACjD,GANE,EAAM,QAAQ,SAAS,GAMzB;CAEf,CAAC;AACL;AAEA,IAAM,IAAoD;CACtD,SAAS;CACT,MAAM;CACN,QAAQ;AACZ;AAwBA,SAAgB,EAAU,EACtB,WACA,YAAS,WACT,aACA,mBACA,cAAW,QACI;CACf,IAAM,IAAO,QAAc,EAAgB,CAAM,GAAG,CAAC,CAAM,CAAC,GACtD,IAAS,EAAQ;CAGvB,OACI,kBAAC,GAAD;EAAQ,GAHQ,MAAW,WAAW;GAAE;GAAU;EAAe,IAAI,EAAE,YAAS;EAI5E,UAAA,kBAAC,GAAD;GAAoB;GAChB,UAAA,kBAAC,GAAD,EAAA,UAAS,EAAa,CAAA;EAChB,CAAA;CACN,CAAA;AAEhB"}
1
+ {"version":3,"file":"AppRouter.js","names":[],"sources":["../../src/router/AppRouter.tsx"],"sourcesContent":["import { Suspense, useMemo } from \"react\";\nimport type { ComponentType, ReactNode } from \"react\";\nimport { BrowserRouter, HashRouter, MemoryRouter, Routes, Route } from \"react-router\";\nimport { lazyWithRetry } from \"../auth/lazy-with-retry\";\nimport { RouteGuard } from \"./RouteGuard\";\nimport type { RouterKind, TempestRouteObject } from \"./types\";\n\n/**\n * Identity helper that types a declarative route tree. Use it so editors give\n * autocomplete and type-checking on every node; the array is returned as-is.\n *\n * @example\n * export const routes = defineRoutes([\n * { path: \"/\", element: <Layout />, children: [\n * { index: true, lazy: () => import(\"./pages/Home\") },\n * { path: \"settings\", lazy: () => import(\"./pages/Settings\"),\n * guard: () => useAuth.getState().isAuthenticated, redirectTo: \"/login\" },\n * ] },\n * ]);\n */\nexport function defineRoutes(routes: TempestRouteObject[]): TempestRouteObject[] {\n return routes;\n}\n\nconst lazyCache = new WeakMap<TempestRouteObject, ComponentType<unknown>>();\n\nfunction resolveLazy(route: TempestRouteObject): ComponentType<unknown> {\n let comp = lazyCache.get(route);\n if (!comp) {\n comp = lazyWithRetry(route.lazy!);\n lazyCache.set(route, comp);\n }\n return comp;\n}\n\nfunction GuardedElement({\n guard,\n redirectTo,\n children,\n}: {\n guard: boolean | (() => boolean);\n redirectTo?: string;\n children: ReactNode;\n}) {\n const allowed = typeof guard === \"function\" ? guard() : guard;\n return (\n <RouteGuard when={allowed} redirectTo={redirectTo}>\n {children}\n </RouteGuard>\n );\n}\n\nfunction toRouteElements(routes: TempestRouteObject[]): ReactNode {\n return routes.map((route, i) => {\n let element: ReactNode = route.element;\n if (route.lazy) {\n const LazyComponent = resolveLazy(route);\n element = <LazyComponent />;\n }\n if (route.guard !== undefined) {\n element = (\n <GuardedElement guard={route.guard} redirectTo={route.redirectTo}>\n {element}\n </GuardedElement>\n );\n }\n\n if (route.index) {\n return <Route key={`index-${i}`} index element={element} />;\n }\n\n return (\n <Route\n key={route.path ?? `route-${i}`}\n path={route.path}\n element={element}\n caseSensitive={route.caseSensitive}\n >\n {route.children ? toRouteElements(route.children) : null}\n </Route>\n );\n });\n}\n\nconst ROUTERS: Record<RouterKind, typeof BrowserRouter> = {\n browser: BrowserRouter,\n hash: HashRouter,\n memory: MemoryRouter,\n};\n\nexport interface AppRouterProps {\n /** Declarative route tree, ideally built with {@link defineRoutes}. */\n routes: TempestRouteObject[];\n /** History strategy (default: `\"browser\"`). */\n router?: RouterKind;\n /** App-wide base path forwarded to the underlying router. */\n basename?: string;\n /** Initial URLs for the `\"memory\"` router (tests / non-DOM hosts). */\n initialEntries?: string[];\n /** Suspense fallback shown while a `lazy` route chunk loads. */\n fallback?: ReactNode;\n}\n\n/**\n * Render a full React Router (v7 or v8, declarative mode) from a\n * {@link defineRoutes}\n * tree: picks the history strategy, wraps everything in a `<Suspense>` boundary\n * for `lazy` routes, and applies per-route `guard` redirects. This is the\n * single entry point apps mount at their root.\n *\n * @example\n * <AppRouter routes={routes} fallback={<Spinner />} />\n */\nexport function AppRouter({\n routes,\n router = \"browser\",\n basename,\n initialEntries,\n fallback = null,\n}: AppRouterProps) {\n const tree = useMemo(() => toRouteElements(routes), [routes]);\n const Router = ROUTERS[router];\n const routerProps = router === \"memory\" ? { basename, initialEntries } : { basename };\n\n return (\n <Router {...routerProps}>\n <Suspense fallback={fallback}>\n <Routes>{tree}</Routes>\n </Suspense>\n </Router>\n );\n}\n"],"mappings":";;;;;;AAoBA,SAAgB,EAAa,GAAoD;CAC7E,OAAO;AACX;AAEA,IAAM,oBAAY,IAAI,QAAoD;AAE1E,SAAS,EAAY,GAAmD;CACpE,IAAI,IAAO,EAAU,IAAI,CAAK;CAK9B,OAJK,MACD,IAAO,EAAc,EAAM,IAAK,GAChC,EAAU,IAAI,GAAO,CAAI,IAEtB;AACX;AAEA,SAAS,EAAe,EACpB,UACA,eACA,eAKD;CACC,IAAM,IAAU,OAAO,KAAU,aAAa,EAAM,IAAI;CACxD,OACI,kBAAC,GAAD;EAAY,MAAM;EAAqB;EAClC;CACO,CAAA;AAEpB;AAEA,SAAS,EAAgB,GAAyC;CAC9D,OAAO,EAAO,KAAK,GAAO,MAAM;EAC5B,IAAI,IAAqB,EAAM;EAC/B,IAAI,EAAM,MAAM;GACZ,IAAM,IAAgB,EAAY,CAAK;GACvC,IAAU,kBAAC,GAAD,CAAgB,CAAA;EAC9B;EAaA,OAZI,EAAM,UAAU,KAAA,MAChB,IACI,kBAAC,GAAD;GAAgB,OAAO,EAAM;GAAO,YAAY,EAAM;GACjD,UAAA;EACW,CAAA,IAIpB,EAAM,QACC,kBAAC,GAAD;GAA0B,OAAA;GAAe;EAAU,GAAvC,SAAS,GAA8B,IAI1D,kBAAC,GAAD;GAEI,MAAM,EAAM;GACH;GACT,eAAe,EAAM;GAEpB,UAAA,EAAM,WAAW,EAAgB,EAAM,QAAQ,IAAI;EACjD,GANE,EAAM,QAAQ,SAAS,GAMzB;CAEf,CAAC;AACL;AAEA,IAAM,IAAoD;CACtD,SAAS;CACT,MAAM;CACN,QAAQ;AACZ;AAyBA,SAAgB,EAAU,EACtB,WACA,YAAS,WACT,aACA,mBACA,cAAW,QACI;CACf,IAAM,IAAO,QAAc,EAAgB,CAAM,GAAG,CAAC,CAAM,CAAC,GACtD,IAAS,EAAQ;CAGvB,OACI,kBAAC,GAAD;EAAQ,GAHQ,MAAW,WAAW;GAAE;GAAU;EAAe,IAAI,EAAE,YAAS;EAI5E,UAAA,kBAAC,GAAD;GAAoB;GAChB,UAAA,kBAAC,GAAD,EAAA,UAAS,EAAa,CAAA;EAChB,CAAA;CACN,CAAA;AAEhB"}
@@ -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("./components/AppBar/AppBar.cjs"),ie=require("./hooks/use-breakpoint.cjs"),ae=require("./components/AppShell/AppShell.cjs"),oe=require("./components/AspectRatio/AspectRatio.cjs"),se=require("./components/Avatar/Avatar.cjs"),ce=require("./components/AvatarGroup/AvatarGroup.cjs"),le=require("./components/Badge/Badge.cjs"),ue=require("./components/Banner/Banner.cjs"),de=require("./components/BottomNavigation/BottomNavigation.cjs"),fe=require("./components/BottomSheet/BottomSheet.cjs"),pe=require("./components/Breadcrumbs/Breadcrumbs.cjs"),me=require("./components/Button/Button.cjs"),he=require("./components/Card/Card.cjs"),ge=require("./components/Center/Center.cjs"),_e=require("./components/Checkbox/Checkbox.cjs"),ve=require("./components/ChipInput/ChipInput.cjs"),ye=require("./components/Combobox/Combobox.cjs"),be=require("./components/Modal/Modal.cjs"),xe=require("./components/ConfirmDialog/ConfirmDialog.cjs"),Se=require("./components/Input/Input.cjs"),Ce=require("./components/DatePicker/DatePicker.cjs"),we=require("./components/Divider/Divider.cjs"),Te=require("./components/Drawer/Drawer.cjs"),Ee=require("./components/DropdownMenu/DropdownMenu.cjs"),De=require("./components/Dropzone/Dropzone.cjs"),Oe=require("./components/EmptyState/EmptyState.cjs"),ke=require("./components/ErrorState/ErrorState.cjs"),Ae=require("./components/FileUpload/FileUpload.cjs"),e=require("./components/Form/Form.cjs"),t=require("./components/Layout/Layout.cjs"),je=require("./hooks/use-before-install-prompt.cjs"),Me=require("./components/InstallBanner/InstallBanner.cjs"),Ne=require("./components/InstallButton/InstallButton.cjs"),Pe=require("./hooks/use-debounce.cjs"),Fe=require("./hooks/use-pagination.cjs"),Ie=require("./hooks/use-client-filter.cjs"),Le=require("./hooks/use-media-query.cjs"),Re=require("./hooks/use-event-listener.cjs"),ze=require("./hooks/use-local-storage.cjs"),Be=require("./hooks/use-toggle.cjs"),Ve=require("./hooks/use-async.cjs"),He=require("./hooks/use-online.cjs"),Ue=require("./hooks/use-document-visibility.cjs"),We=require("./hooks/use-intersection-observer.cjs"),Ge=require("./hooks/use-resize-observer.cjs"),Ke=require("./hooks/use-clipboard.cjs"),qe=require("./hooks/use-keyboard-shortcut.cjs"),Je=require("./hooks/use-idle.cjs"),Ye=require("./hooks/use-geolocation.cjs"),Xe=require("./hooks/use-scroll-lock.cjs"),Ze=require("./hooks/use-focus-trap.cjs"),n=require("./hooks/use-announce.cjs"),Qe=require("./hooks/use-stable-callback.cjs"),$e=require("./hooks/use-deep-memo.cjs"),et=require("./hooks/use-previous.cjs"),tt=require("./hooks/use-interval.cjs"),nt=require("./hooks/use-timeout.cjs"),rt=require("./hooks/use-throttle.cjs"),it=require("./hooks/use-window-size.cjs"),at=require("./hooks/use-hover.cjs"),ot=require("./hooks/use-long-press.cjs"),st=require("./hooks/use-disclosure.cjs"),ct=require("./hooks/use-list-state.cjs"),lt=require("./hooks/use-counter.cjs"),ut=require("./hooks/use-document-title.cjs"),dt=require("./hooks/use-favicon.cjs"),ft=require("./hooks/use-map.cjs"),pt=require("./hooks/use-set.cjs"),mt=require("./hooks/use-queue.cjs"),ht=require("./hooks/use-click-outside.cjs"),gt=require("./hooks/use-is-first-render.cjs"),_t=require("./hooks/use-object-url.cjs"),vt=require("./hooks/use-long-press-handlers.cjs"),r=require("./hooks/pwa-env.cjs"),yt=require("./hooks/use-install-prompt.cjs"),i=require("./sw/register-service-worker.cjs"),bt=require("./hooks/use-service-worker-update.cjs"),a=require("./hooks/use-storage-estimate.cjs"),xt=require("./hooks/use-sortable.cjs"),St=require("./hooks/use-scroll-overflow.cjs"),Ct=require("./hooks/use-media-permission.cjs"),wt=require("./hooks/use-media-devices.cjs"),Tt=require("./components/OfflineIndicator/OfflineIndicator.cjs"),o=require("./offline/use-offline-sync.cjs"),Et=require("./components/VisuallyHidden/VisuallyHidden.cjs"),Dt=require("./components/SyncStatusBadge/SyncStatusBadge.cjs"),Ot=require("./components/UpdatePrompt/UpdatePrompt.cjs"),s=require("./components/Kanban/Kanban.cjs"),kt=require("./components/Kbd/Kbd.cjs"),At=require("./components/ModalsManager/ModalsManager.cjs"),jt=require("./components/Navbar/Navbar.cjs"),Mt=require("./components/NProgress/NProgress.cjs"),Nt=require("./components/Page/Page.cjs"),Pt=require("./components/Pagination/Pagination.cjs"),Ft=require("./components/PasswordInput/PasswordInput.cjs"),It=require("./components/PinInput/PinInput.cjs"),Lt=require("./components/Popover/Popover.cjs"),Rt=require("./components/Progress/Progress.cjs"),c=require("./components/Radio/Radio.cjs"),zt=require("./components/RangeSlider/RangeSlider.cjs"),Bt=require("./components/RatingStars/RatingStars.cjs"),l=require("./components/Responsive/Responsive.cjs"),Vt=require("./components/SafeArea/SafeArea.cjs"),Ht=require("./components/SearchBar/SearchBar.cjs"),Ut=require("./components/SegmentedControl/SegmentedControl.cjs"),Wt=require("./components/Select/Select.cjs"),Gt=require("./components/Sidebar/Sidebar.cjs"),Kt=require("./components/Skeleton/Skeleton.cjs"),qt=require("./components/Spacer/Spacer.cjs"),Jt=require("./components/Spinner/Spinner.cjs"),Yt=require("./components/Stat/Stat.cjs"),Xt=require("./components/Stepper/Stepper.cjs"),u=require("./utils/numbers.cjs"),Zt=require("./components/StepperInput/StepperInput.cjs"),Qt=require("./components/Switch/Switch.cjs"),$t=require("./components/Tag/Tag.cjs"),en=require("./components/Table/Table.cjs"),tn=require("./components/Tabs/Tabs.cjs"),nn=require("./components/Textarea/Textarea.cjs"),rn=require("./components/Timeline/Timeline.cjs"),an=require("./components/Tooltip/Tooltip.cjs"),on=require("./components/Toast/ToastProvider.cjs"),sn=require("./components/ImageCropper/ImageCropper.cjs"),cn=require("./components/Sparkline/Sparkline.cjs"),ln=require("./components/Scheduler/Scheduler.cjs"),un=require("./utils/relative-time.cjs"),dn=require("./components/NotificationCenter/NotificationCenter.cjs"),fn=require("./components/NotificationCenter/use-notification-inbox.cjs"),pn=require("./components/VirtualList/VirtualList.cjs"),mn=require("./utils/compare-values.cjs"),hn=require("./components/VirtualTable/VirtualTable.cjs"),d=require("./components/QRCode/qr-encode.cjs"),gn=require("./components/QRCode/QRCode.cjs"),_n=require("./components/CopyButton/CopyButton.cjs"),vn=require("./components/CodeBlock/CodeBlock.cjs"),yn=require("./components/RelativeTime/RelativeTime.cjs"),bn=require("./components/Money/Money.cjs"),xn=require("./components/TreeView/TreeView.cjs"),Sn=require("./components/TruncateText/TruncateText.cjs"),Cn=require("./components/Portal/Portal.cjs"),wn=require("./components/ClickOutside/ClickOutside.cjs"),Tn=require("./components/ConditionalWrapper/ConditionalWrapper.cjs"),En=require("./components/For/For.cjs"),Dn=require("./components/ErrorText/ErrorText.cjs"),On=require("./components/Image/Image.cjs"),kn=require("./components/DataList/DataList.cjs"),An=require("./components/DescriptionList/DescriptionList.cjs"),jn=require("./components/Toggle/Toggle.cjs"),Mn=require("./components/ToggleGroup/ToggleGroup.cjs"),Nn=require("./components/Label/Label.cjs"),Pn=require("./components/Collapsible/Collapsible.cjs"),Fn=require("./components/ContextMenu/ContextMenu.cjs"),In=require("./components/HoverCard/HoverCard.cjs"),Ln=require("./components/Command/Command.cjs"),Rn=require("./components/ScrollArea/ScrollArea.cjs"),zn=require("./components/Resizable/Resizable.cjs"),Bn=require("./components/Calendar/Calendar.cjs"),Vn=require("./components/Slider/Slider.cjs"),Hn=require("./components/MultiSelect/MultiSelect.cjs"),Un=require("./components/DateRangePicker/DateRangePicker.cjs"),Wn=require("./components/NavigationMenu/NavigationMenu.cjs"),Gn=require("./components/Menubar/Menubar.cjs"),Kn=require("./components/Carousel/Carousel.cjs"),qn=require("./components/DataTable/DataTable.cjs"),Jn=require("./components/ListTile/ListTile.cjs"),Yn=require("./components/FloatingActionButton/FloatingActionButton.cjs"),Xn=require("./components/NavigationRail/NavigationRail.cjs"),Zn=require("./components/TimePicker/TimePicker.cjs"),Qn=require("./components/RefreshIndicator/RefreshIndicator.cjs"),$n=require("./components/Wizard/Wizard.cjs"),er=require("./components/Lightbox/Lightbox.cjs"),tr=require("./components/SignaturePad/SignaturePad.cjs"),nr=require("./components/Chat/ChatComposer.cjs"),rr=require("./components/Chat/Chat.cjs"),ir=require("./audio/audio-output.cjs"),ar=require("./components/AudioPlayer/AudioPlayer.cjs"),or=require("./capture/media-recorder.cjs"),f=require("./audio/audio-recorder.cjs"),sr=require("./audio/level-meter.cjs"),cr=require("./audio/use-audio-recorder.cjs"),lr=require("./audio/media-access.cjs"),ur=require("./audio/use-microphone.cjs"),dr=require("./audio/wav.cjs"),fr=require("./components/AudioRecorder/AudioRecorder.cjs"),p=require("./capture/barcode.cjs"),pr=require("./capture/use-torch.cjs"),mr=require("./capture/use-barcode-scanner.cjs"),hr=require("./components/BarcodeScanner/BarcodeScanner.cjs"),m=require("./components/AIChat/ai-chat-turns.cjs"),gr=require("./components/AIChat/AIChatComposer.cjs"),_r=require("./components/Markdown/Markdown.cjs"),vr=require("./components/AIChat/AIChatTurn.cjs"),yr=require("./components/AIChat/AIChat.cjs"),br=require("./components/Transfer/Transfer.cjs"),xr=require("./components/Masonry/Masonry.cjs"),Sr=require("./components/Tour/Tour.cjs"),h=require("./components/FilterBar/filter-model.cjs"),Cr=require("./components/FilterBar/FilterBar.cjs"),g=require("./utils/format.cjs"),wr=require("./utils/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"),S=require("./utils/promises.cjs"),Tr=require("./utils/ids.cjs"),Er=require("./utils/xlsx.cjs"),C=require("./http/errors.cjs"),Dr=require("./http/api-client.cjs"),Or=require("./http/parse-response.cjs"),kr=require("./http/upload-with-progress.cjs"),Ar=require("./http/idempotency.cjs"),jr=require("./http/retry.cjs"),w=require("./http/resumable-upload.cjs"),Mr=require("./http/use-poll.cjs"),Nr=require("./auth/create-auth-store.cjs"),Pr=require("./auth/AuthGuard.cjs"),T=require("./auth/jwt.cjs"),Fr=require("./auth/lazy-with-retry.cjs"),Ir=require("./auth/refresh-queue.cjs"),E=require("./auth/passkey.cjs"),D=require("./auth/use-passkey.cjs"),Lr=require("./auth/create-tempest-auth.cjs"),Rr=require("./access/access-control-context.cjs"),zr=require("./access/use-can.cjs"),Br=require("./access/Can.cjs"),Vr=require("./access/create-role-access-control.cjs"),Hr=require("./access/permissions-from-token.cjs"),Ur=require("./oauth/GoogleSignIn.cjs"),Wr=require("./oauth/use-oauth-callback.cjs"),O=require("./query/constants.cjs"),Gr=require("./query/create-query-keys.cjs"),Kr=require("./query/QueryProvider.cjs"),k=require("./query/pagination.cjs"),qr=require("./query/use-paginated-query.cjs"),Jr=require("./query/use-cursor-query.cjs"),Yr=require("./query/use-offline-mutation.cjs"),Xr=require("./query/optimistic.cjs"),Zr=require("./offline/create-offline-store.cjs"),Qr=require("./query/offline-persistence.cjs"),$r=require("./data/create-data-provider.cjs"),ei=require("./data/data-provider-context.cjs"),A=require("./data/use-resource.cjs"),ti=require("./router/RouteGuard.cjs"),j=require("./router/AppRouter.cjs"),ni=require("./store/create-store.cjs"),ri=require("./store/create-selectors.cjs"),M=require("./theme/ThemeProvider.cjs"),ii=require("./i18n/create-i18n.cjs"),N=require("./i18n/I18nProvider.cjs"),ai=require("./error-boundary/ErrorBoundary.cjs"),oi=require("./app/AppProviders.cjs"),si=require("./sse/create-event-stream.cjs"),ci=require("./sse/use-event-stream.cjs"),P=require("./push/utils.cjs"),F=require("./push/web-push-client.cjs"),li=require("./push/use-push-subscription.cjs"),I=require("./sw/create-push-handler.cjs"),L=require("./sw/cache.cjs"),ui=require("./sw/background-sync.cjs"),di=require("./sw/periodic-sync.cjs"),R=require("./sw/cache-inspect.cjs"),z=require("./audio/audio-player.cjs"),fi=require("./audio/use-audio.cjs"),B=require("./capture/video-recorder.cjs"),pi=require("./capture/use-video-recorder.cjs"),mi=require("./capture/use-screen-capture.cjs"),hi=require("./capture/use-speech-recognition.cjs"),gi=require("./offline/create-offline-sync.cjs"),_i=require("./offline/conflict.cjs"),vi=require("./error-boundary/use-error-handler.cjs"),yi=require("./forms/FormField.cjs"),bi=require("./forms/validate-form.cjs"),xi=require("./forms/zod-resolver.cjs"),Si=require("./forms/use-zod-form.cjs"),V=require("./forms/br-validators.cjs"),H=require("./forms/masked-inputs.cjs"),Ci=require("./forms/use-viacep.cjs"),wi=require("./ws/create-web-socket.cjs"),Ti=require("./ws/use-web-socket.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"),Ei=require("./geo/routing.cjs"),Di=require("./geo/create-position-tracker.cjs"),Oi=require("./geo/use-position-tracker.cjs"),ki=require("./geo/TrajectoryMap.cjs"),Ai=require("./theme/apply-theme.cjs"),J=require("./theme/color.cjs"),ji=require("./theme/create-theme.cjs"),Y=require("./theme/theme-presets.cjs"),Mi=require("./theme/initial-theme.cjs"),Ni=require("./logger/logger.cjs"),Pi=require("./telemetry/TelemetryProvider.cjs"),Fi=require("./telemetry/console-adapter.cjs"),Ii=require("./telemetry/sentry-adapter.cjs"),Li=require("./telemetry/posthog-adapter.cjs"),X=require("./feature-flags/FeatureFlagsProvider.cjs"),Ri=require("./feature-flags/in-memory-adapter.cjs"),zi=require("./feature-flags/growthbook-adapter.cjs"),Bi=require("./feature-flags/launchdarkly-adapter.cjs"),Vi=require("./share/share.cjs"),Hi=require("./share/share-or-download.cjs"),Z=require("./charts/scales.cjs"),Ui=require("./perf/cache-size.cjs"),Wi=require("./perf/device.cjs"),Gi=require("./perf/format.cjs"),Ki=require("./perf/profiler.cjs");let Q=require("react-router"),$=require("react-hook-form");exports.AIChat=yr.AIChat,exports.AIChatComposer=gr.AIChatComposer,exports.AIChatTurn=vr.AIChatTurn,exports.ALL_BARCODE_FORMATS=p.ALL_BARCODE_FORMATS,exports.AUDIO_MIME_CANDIDATES=f.AUDIO_MIME_CANDIDATES,exports.AccessControlProvider=Rr.AccessControlProvider,exports.Accordion=te.Accordion,exports.Alert=ne.Alert,exports.AppBar=re.AppBar,exports.AppProviders=oi.AppProviders,exports.AppRouter=j.AppRouter,exports.AppShell=ae.AppShell,exports.AspectRatio=oe.AspectRatio,exports.AudioPlayer=ar.AudioPlayer,exports.AudioRecorder=fr.AudioRecorder,exports.AuthGuard=Pr.AuthGuard,exports.Avatar=se.Avatar,exports.AvatarGroup=ce.AvatarGroup,exports.BREAKPOINTS=ie.BREAKPOINTS,exports.Badge=le.Badge,exports.Banner=ue.Banner,exports.BarcodeScanner=hr.BarcodeScanner,exports.BottomNavigation=de.BottomNavigation,exports.BottomSheet=fe.BottomSheet,exports.Breadcrumbs=pe.Breadcrumbs,Object.defineProperty(exports,"BrowserRouter",{enumerable:!0,get:function(){return Q.BrowserRouter}}),exports.Button=me.Button,exports.CACHE_TIME=O.CACHE_TIME,exports.CEPInput=H.CEPInput,exports.CNPJInput=H.CNPJInput,exports.CPFInput=H.CPFInput,exports.Calendar=Bn.Calendar,exports.Can=Br.Can,exports.Card=he.Card,exports.Carousel=Kn.Carousel,exports.Center=ge.Center,exports.Chat=rr.Chat,exports.ChatComposer=nr.ChatComposer,exports.Checkbox=_e.Checkbox,exports.ChipInput=ve.ChipInput,exports.ClickOutside=wn.ClickOutside,exports.CodeBlock=vn.CodeBlock,exports.Collapsible=Pn.Collapsible,exports.Combobox=ye.Combobox,exports.Command=Ln.Command,exports.ConditionalWrapper=Tn.ConditionalWrapper,exports.ConfirmDialog=xe.ConfirmDialog,exports.Container=t.Container,exports.ContextMenu=Fn.ContextMenu,Object.defineProperty(exports,"Controller",{enumerable:!0,get:function(){return $.Controller}}),exports.CopyButton=_n.CopyButton,exports.DEFAULT_BARCODE_FORMATS=p.DEFAULT_BARCODE_FORMATS,exports.DEFAULT_CAR_SPEED_KMH=G.DEFAULT_CAR_SPEED_KMH,exports.DEFAULT_CHUNK_SIZE=w.DEFAULT_CHUNK_SIZE,exports.DEFAULT_CIRCUITY_FACTOR=G.DEFAULT_CIRCUITY_FACTOR,exports.DEFAULT_MODE_DURATION_FACTORS=G.DEFAULT_MODE_DURATION_FACTORS,exports.DEFAULT_PUB_KEY_CRED_PARAMS=E.DEFAULT_PUB_KEY_CRED_PARAMS,exports.DIVERGING_STEP_COUNT=Z.DIVERGING_STEP_COUNT,exports.DataList=kn.DataList,exports.DataTable=qn.DataTable,exports.DatePicker=Ce.DatePicker,exports.DateRangePicker=Un.DateRangePicker,exports.DescriptionList=An.DescriptionList,exports.Divider=we.Divider,exports.Drawer=Te.Drawer,exports.DropdownMenu=Ee.DropdownMenu,exports.Dropzone=De.Dropzone,exports.EARTH_RADIUS_KM=W.EARTH_RADIUS_KM,exports.EmptyState=Oe.EmptyState,exports.ErrorBoundary=ai.ErrorBoundary,exports.ErrorState=ke.ErrorState,exports.ErrorText=Dn.ErrorText,exports.FeatureFlagsProvider=X.FeatureFlagsProvider,exports.FileUpload=Ae.FileUpload,exports.FilterBar=Cr.FilterBar,exports.FloatingActionButton=Yn.FloatingActionButton,exports.For=En.For,exports.Form=e.Form,exports.FormActions=e.FormActions,exports.FormField=yi.FormField,Object.defineProperty(exports,"FormProvider",{enumerable:!0,get:function(){return $.FormProvider}}),exports.FormRow=e.FormRow,exports.FormSection=e.FormSection,exports.GoogleSignIn=Ur.GoogleSignIn,exports.Grid=t.Grid,Object.defineProperty(exports,"HashRouter",{enumerable:!0,get:function(){return Q.HashRouter}}),exports.Hide=l.Hide,exports.HoverCard=In.HoverCard,exports.I18nProvider=N.I18nProvider,exports.Image=On.Image,exports.ImageCropper=sn.ImageCropper,exports.Input=Se.Input,exports.InstallBanner=Me.InstallBanner,exports.InstallButton=Ne.InstallButton,exports.Kanban=s.Kanban,exports.Kbd=kt.Kbd,exports.Label=Nn.Label,exports.Lightbox=er.Lightbox,Object.defineProperty(exports,"Link",{enumerable:!0,get:function(){return Q.Link}}),exports.ListTile=Jn.ListTile,exports.Markdown=_r.Markdown,exports.Masonry=xr.Masonry,Object.defineProperty(exports,"MemoryRouter",{enumerable:!0,get:function(){return Q.MemoryRouter}}),exports.Menubar=Gn.Menubar,exports.Modal=be.Modal,exports.ModalsProvider=At.ModalsProvider,exports.Money=bn.Money,exports.MoneyInput=H.MoneyInput,exports.MultiSelect=Hn.MultiSelect,exports.NProgressBar=Mt.NProgressBar,Object.defineProperty(exports,"NavLink",{enumerable:!0,get:function(){return Q.NavLink}}),exports.Navbar=jt.Navbar,Object.defineProperty(exports,"Navigate",{enumerable:!0,get:function(){return Q.Navigate}}),exports.NavigationMenu=Wn.NavigationMenu,exports.NavigationRail=Xn.NavigationRail,exports.NotificationCenter=dn.NotificationCenter,exports.ORDINAL_START_STEP=Z.ORDINAL_START_STEP,exports.OfflineIndicator=Tt.OfflineIndicator,Object.defineProperty(exports,"Outlet",{enumerable:!0,get:function(){return Q.Outlet}}),exports.Page=Nt.Page,exports.Pagination=Pt.Pagination,exports.PasskeyError=E.PasskeyError,exports.PasswordInput=Ft.PasswordInput,exports.PhoneInput=H.PhoneInput,exports.PinInput=It.PinInput,exports.Popover=Lt.Popover,exports.Portal=Cn.Portal,exports.Progress=Rt.Progress,exports.QRCapacityError=d.QRCapacityError,exports.QRCode=gn.QRCode,exports.QueryProvider=Kr.QueryProvider,exports.REFETCH_TIME=O.REFETCH_TIME,exports.Radio=c.Radio,exports.RadioGroup=c.RadioGroup,exports.RangeSlider=zt.RangeSlider,exports.RatingStars=Bt.RatingStars,exports.RefreshIndicator=Qn.RefreshIndicator,exports.RelativeTime=yn.RelativeTime,exports.Resizable=zn.Resizable,Object.defineProperty(exports,"Route",{enumerable:!0,get:function(){return Q.Route}}),exports.RouteGuard=ti.RouteGuard,Object.defineProperty(exports,"Routes",{enumerable:!0,get:function(){return Q.Routes}}),exports.SEQUENTIAL_STEP_COUNT=Z.SEQUENTIAL_STEP_COUNT,exports.STALE_TIME=O.STALE_TIME,exports.SafeArea=Vt.SafeArea,exports.Scheduler=ln.Scheduler,exports.ScrollArea=Rn.ScrollArea,exports.SearchBar=Ht.SearchBar,exports.SegmentedControl=Ut.SegmentedControl,exports.Select=Wt.Select,exports.Show=l.Show,exports.Sidebar=Gt.Sidebar,exports.SignaturePad=tr.SignaturePad,exports.Skeleton=Kt.Skeleton,exports.Slider=Vn.Slider,exports.Spacer=qt.Spacer,exports.Sparkline=cn.Sparkline,exports.Spinner=Jt.Spinner,exports.Stack=t.Stack,exports.Stat=Yt.Stat,exports.Stepper=Xt.Stepper,exports.StepperInput=Zt.StepperInput,exports.Switch=Qt.Switch,exports.SyncStatusBadge=Dt.SyncStatusBadge,exports.Table=en.Table,exports.Tabs=tn.Tabs,exports.Tag=$t.Tag,exports.TelemetryProvider=Pi.TelemetryProvider,exports.TempestApiError=C.TempestApiError,exports.TempestDataProvider=ei.TempestDataProvider,exports.Textarea=nn.Textarea,exports.ThemeProvider=M.ThemeProvider,exports.TimePicker=Zn.TimePicker,exports.Timeline=rn.Timeline,exports.ToastProvider=on.ToastProvider,exports.Toggle=jn.Toggle,exports.ToggleGroup=Mn.ToggleGroup,exports.ToggleGroupItem=Mn.ToggleGroupItem,exports.Tooltip=an.Tooltip,exports.Tour=Sr.Tour,exports.TrajectoryMap=ki.TrajectoryMap,exports.Transfer=br.Transfer,exports.TreeView=xn.TreeView,exports.TruncateText=Sn.TruncateText,exports.UpdatePrompt=Ot.UpdatePrompt,exports.VirtualList=pn.VirtualList,exports.VirtualTable=hn.VirtualTable,exports.VisuallyHidden=Et.VisuallyHidden,exports.WebPushClient=F.WebPushClient,exports.WebPushPermissionDeniedError=F.WebPushPermissionDeniedError,exports.WebPushUnsupportedError=F.WebPushUnsupportedError,exports.Wizard=$n.Wizard,exports.aiChatStrings=m.aiChatStrings,exports.announce=n.announce,exports.applyKanbanMove=s.applyKanbanMove,exports.applyTheme=Ai.applyTheme,exports.assertNever=b.assertNever,exports.base64UrlToBytes=E.base64UrlToBytes,exports.bearingDeg=W.bearingDeg,exports.blobToWav=dr.blobToWav,exports.boundingBox=K.boundingBox,exports.boundsCenter=K.boundsCenter,exports.buildOpenInChromeIntent=r.buildOpenInChromeIntent,exports.bytesToBase64Url=E.bytesToBase64Url,exports.cachedResponseBytes=Ui.cachedResponseBytes,exports.camelCase=_.camelCase,exports.capitalize=_.capitalize,exports.chunk=v.chunk,exports.clamp=u.clamp,exports.clampLatitude=U.clampLatitude,exports.classifyPasskeyError=E.classifyPasskeyError,exports.clearAnnouncer=n.clearAnnouncer,exports.clearCaches=R.clearCaches,exports.cn=ee.cn,exports.compareValues=mn.compareValues,exports.consoleSink=Ni.consoleSink,exports.consoleTelemetryAdapter=Fi.consoleTelemetryAdapter,exports.contrastRatio=J.contrastRatio,exports.createApiClient=Dr.createApiClient,exports.createAudioPlayer=z.createAudioPlayer,exports.createAudioRecorder=f.createAudioRecorder,exports.createAuthStore=Nr.createAuthStore,exports.createBarcodeDetector=p.createBarcodeDetector,exports.createColorScale=J.createColorScale,exports.createDataProvider=$r.createDataProvider,exports.createEventStream=si.createEventStream,exports.createGrowthBookFeatureFlagsAdapter=zi.createGrowthBookFeatureFlagsAdapter,exports.createI18n=ii.createI18n,exports.createInMemoryFlags=Ri.createInMemoryFlags,exports.createInferenceProfiler=Ki.createInferenceProfiler,exports.createLaunchDarklyFeatureFlagsAdapter=Bi.createLaunchDarklyFeatureFlagsAdapter,exports.createLevelMeter=sr.createLevelMeter,exports.createLocalUploadStorage=w.createLocalUploadStorage,exports.createLogger=Ni.createLogger,exports.createMediaRecorder=or.createMediaRecorder,exports.createOSRMBackend=Ei.createOSRMBackend,exports.createOfflineStore=Zr.createOfflineStore,exports.createOfflineSync=gi.createOfflineSync,exports.createPartialResponse=L.createPartialResponse,exports.createPasskeyClient=E.createPasskeyClient,exports.createPositionTracker=Di.createPositionTracker,exports.createPostHogTelemetryAdapter=Li.createPostHogTelemetryAdapter,exports.createQueryKeys=Gr.createQueryKeys,exports.createRefreshQueue=Ir.createRefreshQueue,exports.createResumableUpload=w.createResumableUpload,exports.createRoleAccessControl=Vr.createRoleAccessControl,exports.createSelectors=ri.createSelectors,exports.createSentryTelemetryAdapter=Ii.createSentryTelemetryAdapter,exports.createStore=ni.createStore,exports.createTempestAuth=Lr.createTempestAuth,exports.createTheme=ji.createTheme,exports.createVideoRecorder=B.createVideoRecorder,exports.createWebSocket=wi.createWebSocket,exports.debounce=x.debounce,exports.decodeJWT=T.decodeJWT,exports.deepMerge=y.deepMerge,exports.defineRoutes=j.defineRoutes,exports.describeFilter=h.describeFilter,exports.divergingScale=Z.divergingScale,exports.emptyOffsetPage=k.emptyOffsetPage,exports.encodeQR=d.encodeQR,exports.encodeWav=dr.encodeWav,exports.estimatePasswordStrength=Ft.estimatePasswordStrength,exports.estimateStorage=a.estimateStorage,exports.estimateTravel=G.estimateTravel,exports.expandBounds=K.expandBounds,exports.filtersFromSearchParams=h.filtersFromSearchParams,exports.filtersToSearchParams=h.filtersToSearchParams,exports.fitProjection=q.fitProjection,exports.formatBytes=u.formatBytes,exports.formatCEP=V.formatCEP,exports.formatCNPJ=V.formatCNPJ,exports.formatCPF=g.formatCPF,exports.formatCompactNumber=u.formatCompactNumber,exports.formatCurrency=g.formatCurrency,exports.formatDate=g.formatDate,exports.formatDateTime=g.formatDateTime,exports.formatDurationMs=Gi.formatDurationMs,exports.formatPercent=g.formatPercent,exports.formatPhone=g.formatPhone,exports.generateIdempotencyKey=Ar.generateIdempotencyKey,exports.getInitialTheme=Mi.getInitialTheme,exports.getSupportedBarcodeFormats=p.getSupportedBarcodeFormats,exports.getThemePreset=Y.getThemePreset,exports.groupBy=v.groupBy,exports.haversineKm=W.haversineKm,exports.hexToOklch=J.hexToOklch,exports.hexToRgb=J.hexToRgb,exports.hexToRgbaString=J.hexToRgbaString,exports.higherVersionWins=_i.higherVersionWins,exports.inspectCaches=R.inspectCaches,exports.installBackgroundSync=ui.installBackgroundSync,exports.installNotificationClickHandler=I.installNotificationClickHandler,exports.installPrecache=L.installPrecache,exports.installPushHandler=I.installPushHandler,exports.installRuntimeCache=L.installRuntimeCache,exports.installSkipWaitingListener=I.installSkipWaitingListener,exports.isAndroid=r.isAndroid,exports.isAndroidWithoutPromptApi=r.isAndroidWithoutPromptApi,exports.isApiError=C.isApiError,exports.isAudioOutputSelectionSupported=ir.isAudioOutputSelectionSupported,exports.isAudioRecordingSupported=f.isAudioRecordingSupported,exports.isBarcodeDetectionSupported=p.isBarcodeDetectionSupported,exports.isConditionalMediationAvailable=E.isConditionalMediationAvailable,exports.isCoordinate=U.isCoordinate,exports.isCursorPage=k.isCursorPage,exports.isDefined=b.isDefined,exports.isEmpty=y.isEmpty,exports.isGenerating=m.isGenerating,exports.isIOS=r.isIOS,exports.isJWTExpired=T.isJWTExpired,exports.isMediaCaptureSupported=lr.isMediaCaptureSupported,exports.isNumber=b.isNumber,exports.isOffsetPage=k.isOffsetPage,exports.isPasskeySupported=E.isPasskeySupported,exports.isPlainObject=b.isPlainObject,exports.isPlatformAuthenticatorAvailable=E.isPlatformAuthenticatorAvailable,exports.isPushSupported=P.isPushSupported,exports.isScreenCaptureSupported=mi.isScreenCaptureSupported,exports.isShareSupported=Vi.isShareSupported,exports.isSpeechRecognitionSupported=hi.isSpeechRecognitionSupported,exports.isStandalone=r.isStandalone,exports.isString=b.isString,exports.isValidLatitude=U.isValidLatitude,exports.isValidLongitude=U.isValidLongitude,exports.isVideoRecordingSupported=B.isVideoRecordingSupported,exports.kebabCase=_.kebabCase,exports.lastAssistantId=m.lastAssistantId,exports.lastWriteWins=_i.lastWriteWins,exports.lazyWithRetry=Fr.lazyWithRetry,exports.listQueryKey=A.listQueryKey,exports.matrixToPath=d.matrixToPath,exports.memoizeOne=x.memoizeOne,exports.moveItem=xt.moveItem,exports.normalizeBarcode=p.normalizeBarcode,exports.normalizeLongitude=U.normalizeLongitude,exports.nprogress=Mt.nprogress,exports.oklchToHex=J.oklchToHex,exports.omit=y.omit,exports.once=x.once,exports.oneQueryKey=A.oneQueryKey,exports.operatorsFor=h.operatorsFor,exports.parseResponse=Or.parseResponse,exports.pathLengthKm=W.pathLengthKm,exports.permissionsFromToken=Hr.permissionsFromToken,exports.persistQueryClientOffline=Qr.persistQueryClientOffline,exports.pick=y.pick,exports.pickAudioMimeType=f.pickAudioMimeType,exports.pickVideoMimeType=B.pickVideoMimeType,exports.playAudio=z.playAudio,exports.pluralize=_.pluralize,exports.projectMercator=q.projectMercator,exports.randomId=Tr.randomId,exports.range=v.range,exports.readDeviceProfile=Wi.readDeviceProfile,exports.readThemeToken=Ai.readThemeToken,exports.readableForeground=J.readableForeground,Object.defineProperty(exports,"redirect",{enumerable:!0,get:function(){return Q.redirect}}),exports.registerPeriodicSync=di.registerPeriodicSync,exports.registerServiceWorker=i.registerServiceWorker,exports.relativeLuminance=J.relativeLuminance,exports.relativeTime=un.relativeTime,exports.removeById=Xr.removeById,exports.requestPersistentStorage=a.requestPersistentStorage,exports.retry=jr.retry,exports.rgbToHex=J.rgbToHex,exports.roleLabel=m.roleLabel,exports.scaleSteps=Z.scaleSteps,exports.sequentialScale=Z.sequentialScale,exports.setAudioOutput=ir.setAudioOutput,exports.share=Vi.share,exports.shareOrDownloadBlob=Hi.shareOrDownloadBlob,exports.skipWaiting=i.skipWaiting,exports.sleep=S.sleep,exports.slugify=_.slugify,exports.stopAudio=z.stopAudio,exports.storage=wr.storage,exports.tailSignature=m.tailSignature,exports.themeContrast=ji.themeContrast,exports.themeInitScript=Mi.themeInitScript,exports.themePresets=Y.themePresets,exports.throttle=x.throttle,exports.toRadians=W.toRadians,exports.truncate=_.truncate,exports.turnTime=m.turnTime,exports.uniqueBy=v.uniqueBy,exports.unmask=V.unmask,exports.unprojectMercator=q.unprojectMercator,exports.unregisterAllServiceWorkers=i.unregisterAllServiceWorkers,exports.uploadFingerprint=w.uploadFingerprint,exports.uploadWithProgress=kr.uploadWithProgress,exports.upsertById=Xr.upsertById,exports.urlBase64ToUint8Array=P.urlBase64ToUint8Array,exports.useAccessControl=Rr.useAccessControl,exports.useAnnounce=n.useAnnounce,exports.useAsync=Ve.useAsync,exports.useAudio=fi.useAudio,exports.useAudioRecorder=cr.useAudioRecorder,exports.useBarcodeScanner=mr.useBarcodeScanner,exports.useBeforeInstallPrompt=je.useBeforeInstallPrompt,exports.useBreakpoint=ie.useBreakpoint,exports.useCan=zr.useCan,exports.useClickOutside=ht.useClickOutside,exports.useClientFilter=Ie.useClientFilter,exports.useClipboard=Ke.useClipboard,exports.useCounter=lt.useCounter,exports.useCreate=A.useCreate,exports.useCursorQuery=Jr.useCursorQuery,exports.useDataProvider=ei.useDataProvider,exports.useDebounce=Pe.useDebounce,exports.useDeepMemo=$e.useDeepMemo,exports.useDelete=A.useDelete,exports.useDisclosure=st.useDisclosure,exports.useDocumentTitle=ut.useDocumentTitle,exports.useDocumentVisibility=Ue.useDocumentVisibility,exports.useErrorHandler=vi.useErrorHandler,exports.useEventListener=Re.useEventListener,exports.useEventStream=ci.useEventStream,exports.useFavicon=dt.useFavicon,exports.useFeatureFlag=X.useFeatureFlag,Object.defineProperty(exports,"useFieldArray",{enumerable:!0,get:function(){return $.useFieldArray}}),exports.useFlagValue=X.useFlagValue,exports.useFocusTrap=Ze.useFocusTrap,Object.defineProperty(exports,"useForm",{enumerable:!0,get:function(){return $.useForm}}),Object.defineProperty(exports,"useFormContext",{enumerable:!0,get:function(){return $.useFormContext}}),Object.defineProperty(exports,"useFormState",{enumerable:!0,get:function(){return $.useFormState}}),exports.useGeolocation=Ye.useGeolocation,exports.useHover=at.useHover,exports.useI18n=N.useI18n,exports.useIdle=Je.useIdle,exports.useInstallPrompt=yt.useInstallPrompt,exports.useIntersectionObserver=We.useIntersectionObserver,exports.useInterval=tt.useInterval,exports.useIsFirstRender=gt.useIsFirstRender,exports.useKeyboardShortcut=qe.useKeyboardShortcut,exports.useList=A.useList,exports.useListState=ct.useListState,exports.useLocalStorage=ze.useLocalStorage,Object.defineProperty(exports,"useLocation",{enumerable:!0,get:function(){return Q.useLocation}}),exports.useLongPress=ot.useLongPress,exports.useLongPressHandlers=vt.useLongPressHandlers,exports.useMap=ft.useMap,Object.defineProperty(exports,"useMatch",{enumerable:!0,get:function(){return Q.useMatch}}),exports.useMediaDevices=wt.useMediaDevices,exports.useMediaPermission=Ct.useMediaPermission,exports.useMediaQuery=Le.useMediaQuery,exports.useMicrophone=ur.useMicrophone,exports.useModals=At.useModals,Object.defineProperty(exports,"useNavigate",{enumerable:!0,get:function(){return Q.useNavigate}}),exports.useNotificationInbox=fn.useNotificationInbox,exports.useOAuthCallback=Wr.useOAuthCallback,exports.useObjectUrl=_t.useObjectUrl,exports.useOfflineMutation=Yr.useOfflineMutation,exports.useOfflineSync=o.useOfflineSync,exports.useOne=A.useOne,exports.useOnline=He.useOnline,exports.usePaginatedQuery=qr.usePaginatedQuery,exports.usePagination=Fe.usePagination,Object.defineProperty(exports,"useParams",{enumerable:!0,get:function(){return Q.useParams}}),exports.usePasskeyCapabilities=D.usePasskeyCapabilities,exports.usePasskeyRegistration=D.usePasskeyRegistration,exports.usePasskeySignIn=D.usePasskeySignIn,exports.usePoll=Mr.usePoll,exports.usePositionTracker=Oi.usePositionTracker,exports.usePrevious=et.usePrevious,exports.usePushSubscription=li.usePushSubscription,exports.useQueue=mt.useQueue,exports.useResizeObserver=Ge.useResizeObserver,Object.defineProperty(exports,"useRouteError",{enumerable:!0,get:function(){return Q.useRouteError}}),exports.useScreenCapture=mi.useScreenCapture,exports.useScrollLock=Xe.useScrollLock,exports.useScrollOverflow=St.useScrollOverflow,Object.defineProperty(exports,"useSearchParams",{enumerable:!0,get:function(){return Q.useSearchParams}}),exports.useServiceWorkerUpdate=bt.useServiceWorkerUpdate,exports.useSet=pt.useSet,exports.useSortable=xt.useSortable,exports.useSpeechRecognition=hi.useSpeechRecognition,exports.useStableCallback=Qe.useStableCallback,exports.useStorageEstimate=a.useStorageEstimate,exports.useSyncStatus=o.useSyncStatus,exports.useTelemetry=Pi.useTelemetry,exports.useTheme=M.useTheme,exports.useThrottle=rt.useThrottle,exports.useTimeout=nt.useTimeout,exports.useToast=on.useToast,exports.useToggle=Be.useToggle,exports.useTorch=pr.useTorch,exports.useTranslate=N.useTranslate,exports.useUpdate=A.useUpdate,exports.useViaCEP=Ci.useViaCEP,exports.useVideoRecorder=pi.useVideoRecorder,Object.defineProperty(exports,"useWatch",{enumerable:!0,get:function(){return $.useWatch}}),exports.useWebSocket=Ti.useWebSocket,exports.useWindowSize=it.useWindowSize,exports.useZodForm=Si.useZodForm,exports.validateCNPJ=V.validateCNPJ,exports.validateCPF=V.validateCPF,exports.validateForm=bi.validateForm,exports.visibleTurns=m.visibleTurns,exports.withTimeout=S.withTimeout,exports.writeXlsx=Er.writeXlsx,exports.zodResolver=xi.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("./components/AppBar/AppBar.cjs"),ie=require("./hooks/use-breakpoint.cjs"),ae=require("./components/AppShell/AppShell.cjs"),oe=require("./components/AspectRatio/AspectRatio.cjs"),se=require("./components/Avatar/Avatar.cjs"),ce=require("./components/AvatarGroup/AvatarGroup.cjs"),le=require("./components/Badge/Badge.cjs"),ue=require("./components/Banner/Banner.cjs"),de=require("./components/BottomNavigation/BottomNavigation.cjs"),fe=require("./components/BottomSheet/BottomSheet.cjs"),pe=require("./components/Breadcrumbs/Breadcrumbs.cjs"),me=require("./components/Button/Button.cjs"),he=require("./components/Card/Card.cjs"),ge=require("./components/Center/Center.cjs"),_e=require("./components/Checkbox/Checkbox.cjs"),ve=require("./components/ChipInput/ChipInput.cjs"),ye=require("./components/Combobox/Combobox.cjs"),be=require("./components/Modal/Modal.cjs"),xe=require("./components/ConfirmDialog/ConfirmDialog.cjs"),Se=require("./components/Input/Input.cjs"),Ce=require("./components/DatePicker/DatePicker.cjs"),we=require("./components/Divider/Divider.cjs"),Te=require("./components/Drawer/Drawer.cjs"),Ee=require("./components/DropdownMenu/DropdownMenu.cjs"),De=require("./components/Dropzone/Dropzone.cjs"),Oe=require("./components/EmptyState/EmptyState.cjs"),ke=require("./components/ErrorState/ErrorState.cjs"),Ae=require("./components/FileUpload/FileUpload.cjs"),e=require("./components/Form/Form.cjs"),t=require("./components/Layout/Layout.cjs"),je=require("./hooks/use-before-install-prompt.cjs"),Me=require("./components/InstallBanner/InstallBanner.cjs"),Ne=require("./components/InstallButton/InstallButton.cjs"),Pe=require("./hooks/use-debounce.cjs"),Fe=require("./hooks/use-pagination.cjs"),Ie=require("./hooks/use-client-filter.cjs"),Le=require("./hooks/use-media-query.cjs"),Re=require("./hooks/use-event-listener.cjs"),ze=require("./hooks/use-local-storage.cjs"),Be=require("./hooks/use-toggle.cjs"),Ve=require("./hooks/use-async.cjs"),He=require("./hooks/use-online.cjs"),Ue=require("./hooks/use-document-visibility.cjs"),We=require("./hooks/use-intersection-observer.cjs"),Ge=require("./hooks/use-resize-observer.cjs"),Ke=require("./hooks/use-clipboard.cjs"),qe=require("./hooks/use-keyboard-shortcut.cjs"),Je=require("./hooks/use-idle.cjs"),Ye=require("./hooks/use-geolocation.cjs"),Xe=require("./hooks/use-scroll-lock.cjs"),Ze=require("./hooks/use-focus-trap.cjs"),n=require("./hooks/use-announce.cjs"),Qe=require("./hooks/use-stable-callback.cjs"),$e=require("./hooks/use-deep-memo.cjs"),et=require("./hooks/use-previous.cjs"),tt=require("./hooks/use-interval.cjs"),nt=require("./hooks/use-timeout.cjs"),rt=require("./hooks/use-throttle.cjs"),it=require("./hooks/use-window-size.cjs"),at=require("./hooks/use-hover.cjs"),ot=require("./hooks/use-long-press.cjs"),st=require("./hooks/use-disclosure.cjs"),ct=require("./hooks/use-list-state.cjs"),lt=require("./hooks/use-counter.cjs"),ut=require("./hooks/use-document-title.cjs"),dt=require("./hooks/use-favicon.cjs"),ft=require("./hooks/use-map.cjs"),pt=require("./hooks/use-set.cjs"),mt=require("./hooks/use-queue.cjs"),ht=require("./hooks/use-click-outside.cjs"),gt=require("./hooks/use-is-first-render.cjs"),_t=require("./hooks/use-object-url.cjs"),vt=require("./hooks/use-long-press-handlers.cjs"),r=require("./hooks/pwa-env.cjs"),yt=require("./hooks/use-install-prompt.cjs"),i=require("./sw/register-service-worker.cjs"),bt=require("./hooks/use-service-worker-update.cjs"),a=require("./hooks/use-storage-estimate.cjs"),xt=require("./hooks/use-sortable.cjs"),St=require("./hooks/use-scroll-overflow.cjs"),Ct=require("./hooks/use-media-permission.cjs"),wt=require("./hooks/use-media-devices.cjs"),Tt=require("./components/OfflineIndicator/OfflineIndicator.cjs"),o=require("./offline/use-offline-sync.cjs"),Et=require("./components/VisuallyHidden/VisuallyHidden.cjs"),Dt=require("./components/SyncStatusBadge/SyncStatusBadge.cjs"),Ot=require("./components/UpdatePrompt/UpdatePrompt.cjs"),s=require("./components/Kanban/Kanban.cjs"),kt=require("./components/Kbd/Kbd.cjs"),At=require("./components/ModalsManager/ModalsManager.cjs"),jt=require("./components/Navbar/Navbar.cjs"),Mt=require("./components/NProgress/NProgress.cjs"),Nt=require("./components/Page/Page.cjs"),Pt=require("./components/Pagination/Pagination.cjs"),Ft=require("./components/PasswordInput/PasswordInput.cjs"),It=require("./components/PinInput/PinInput.cjs"),Lt=require("./components/Popover/Popover.cjs"),Rt=require("./components/Progress/Progress.cjs"),c=require("./components/Radio/Radio.cjs"),zt=require("./components/RangeSlider/RangeSlider.cjs"),Bt=require("./components/RatingStars/RatingStars.cjs"),l=require("./components/Responsive/Responsive.cjs"),Vt=require("./components/SafeArea/SafeArea.cjs"),Ht=require("./components/SearchBar/SearchBar.cjs"),Ut=require("./components/SegmentedControl/SegmentedControl.cjs"),Wt=require("./components/Select/Select.cjs"),Gt=require("./components/Sidebar/Sidebar.cjs"),Kt=require("./components/Skeleton/Skeleton.cjs"),qt=require("./components/Spacer/Spacer.cjs"),Jt=require("./components/Spinner/Spinner.cjs"),Yt=require("./components/Stat/Stat.cjs"),Xt=require("./components/Stepper/Stepper.cjs"),u=require("./utils/numbers.cjs"),Zt=require("./components/StepperInput/StepperInput.cjs"),Qt=require("./components/Switch/Switch.cjs"),$t=require("./components/Tag/Tag.cjs"),en=require("./components/Table/Table.cjs"),tn=require("./components/Tabs/Tabs.cjs"),nn=require("./components/Textarea/Textarea.cjs"),rn=require("./components/Timeline/Timeline.cjs"),an=require("./components/Tooltip/Tooltip.cjs"),on=require("./components/Toast/ToastProvider.cjs"),sn=require("./components/ImageCropper/ImageCropper.cjs"),cn=require("./components/Sparkline/Sparkline.cjs"),ln=require("./components/Scheduler/Scheduler.cjs"),un=require("./utils/relative-time.cjs"),dn=require("./components/NotificationCenter/NotificationCenter.cjs"),fn=require("./components/NotificationCenter/use-notification-inbox.cjs"),pn=require("./components/VirtualList/VirtualList.cjs"),mn=require("./utils/compare-values.cjs"),hn=require("./components/VirtualTable/VirtualTable.cjs"),d=require("./components/QRCode/qr-encode.cjs"),gn=require("./components/QRCode/QRCode.cjs"),_n=require("./components/CopyButton/CopyButton.cjs"),vn=require("./components/CodeBlock/CodeBlock.cjs"),yn=require("./components/RelativeTime/RelativeTime.cjs"),bn=require("./components/Money/Money.cjs"),xn=require("./components/TreeView/TreeView.cjs"),Sn=require("./components/TruncateText/TruncateText.cjs"),Cn=require("./components/Portal/Portal.cjs"),wn=require("./components/ClickOutside/ClickOutside.cjs"),Tn=require("./components/ConditionalWrapper/ConditionalWrapper.cjs"),En=require("./components/For/For.cjs"),Dn=require("./components/ErrorText/ErrorText.cjs"),On=require("./components/Image/Image.cjs"),kn=require("./components/DataList/DataList.cjs"),An=require("./components/DescriptionList/DescriptionList.cjs"),jn=require("./components/Toggle/Toggle.cjs"),Mn=require("./components/ToggleGroup/ToggleGroup.cjs"),Nn=require("./components/Label/Label.cjs"),Pn=require("./components/Collapsible/Collapsible.cjs"),Fn=require("./components/ContextMenu/ContextMenu.cjs"),In=require("./components/HoverCard/HoverCard.cjs"),Ln=require("./components/Command/Command.cjs"),Rn=require("./components/ScrollArea/ScrollArea.cjs"),zn=require("./components/Resizable/Resizable.cjs"),Bn=require("./components/Calendar/Calendar.cjs"),Vn=require("./components/Slider/Slider.cjs"),Hn=require("./components/MultiSelect/MultiSelect.cjs"),Un=require("./components/DateRangePicker/DateRangePicker.cjs"),Wn=require("./components/NavigationMenu/NavigationMenu.cjs"),Gn=require("./components/Menubar/Menubar.cjs"),Kn=require("./components/Carousel/Carousel.cjs"),qn=require("./components/DataTable/DataTable.cjs"),Jn=require("./components/ListTile/ListTile.cjs"),Yn=require("./components/FloatingActionButton/FloatingActionButton.cjs"),Xn=require("./components/NavigationRail/NavigationRail.cjs"),Zn=require("./components/TimePicker/TimePicker.cjs"),Qn=require("./components/RefreshIndicator/RefreshIndicator.cjs"),$n=require("./components/Wizard/Wizard.cjs"),er=require("./components/Lightbox/Lightbox.cjs"),tr=require("./components/SignaturePad/SignaturePad.cjs"),nr=require("./components/Chat/ChatComposer.cjs"),rr=require("./components/Chat/Chat.cjs"),ir=require("./audio/audio-output.cjs"),ar=require("./components/AudioPlayer/AudioPlayer.cjs"),or=require("./capture/media-recorder.cjs"),f=require("./audio/audio-recorder.cjs"),sr=require("./audio/level-meter.cjs"),cr=require("./audio/use-audio-recorder.cjs"),lr=require("./audio/media-access.cjs"),ur=require("./audio/use-microphone.cjs"),dr=require("./audio/wav.cjs"),fr=require("./components/AudioRecorder/AudioRecorder.cjs"),p=require("./capture/barcode.cjs"),pr=require("./capture/use-torch.cjs"),mr=require("./capture/use-barcode-scanner.cjs"),hr=require("./components/BarcodeScanner/BarcodeScanner.cjs"),m=require("./components/AIChat/ai-chat-turns.cjs"),gr=require("./components/AIChat/AIChatComposer.cjs"),_r=require("./components/Markdown/Markdown.cjs"),vr=require("./components/AIChat/AIChatTurn.cjs"),yr=require("./components/AIChat/AIChat.cjs"),br=require("./components/Transfer/Transfer.cjs"),xr=require("./components/Masonry/Masonry.cjs"),Sr=require("./components/Tour/Tour.cjs"),h=require("./components/FilterBar/filter-model.cjs"),Cr=require("./components/FilterBar/FilterBar.cjs"),g=require("./utils/format.cjs"),wr=require("./utils/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"),S=require("./utils/promises.cjs"),Tr=require("./utils/ids.cjs"),Er=require("./utils/xlsx.cjs"),C=require("./http/errors.cjs"),Dr=require("./http/retry.cjs"),Or=require("./http/api-client.cjs"),kr=require("./http/parse-response.cjs"),Ar=require("./http/upload-with-progress.cjs"),jr=require("./http/idempotency.cjs"),w=require("./http/resumable-upload.cjs"),Mr=require("./http/use-poll.cjs"),Nr=require("./auth/create-auth-store.cjs"),Pr=require("./auth/AuthGuard.cjs"),T=require("./auth/jwt.cjs"),Fr=require("./auth/lazy-with-retry.cjs"),Ir=require("./auth/refresh-queue.cjs"),E=require("./auth/passkey.cjs"),D=require("./auth/use-passkey.cjs"),Lr=require("./auth/create-tempest-auth.cjs"),Rr=require("./access/access-control-context.cjs"),zr=require("./access/use-can.cjs"),Br=require("./access/Can.cjs"),Vr=require("./access/create-role-access-control.cjs"),Hr=require("./access/permissions-from-token.cjs"),Ur=require("./oauth/GoogleSignIn.cjs"),Wr=require("./oauth/use-oauth-callback.cjs"),O=require("./query/constants.cjs"),Gr=require("./query/create-query-keys.cjs"),Kr=require("./query/QueryProvider.cjs"),k=require("./query/pagination.cjs"),qr=require("./query/use-paginated-query.cjs"),Jr=require("./query/use-cursor-query.cjs"),Yr=require("./query/use-offline-mutation.cjs"),Xr=require("./query/optimistic.cjs"),Zr=require("./offline/create-offline-store.cjs"),Qr=require("./query/offline-persistence.cjs"),$r=require("./data/create-data-provider.cjs"),ei=require("./data/data-provider-context.cjs"),A=require("./data/use-resource.cjs"),ti=require("./router/RouteGuard.cjs"),j=require("./router/AppRouter.cjs"),ni=require("./store/create-store.cjs"),ri=require("./store/create-selectors.cjs"),M=require("./theme/ThemeProvider.cjs"),ii=require("./i18n/create-i18n.cjs"),N=require("./i18n/I18nProvider.cjs"),ai=require("./error-boundary/ErrorBoundary.cjs"),oi=require("./app/AppProviders.cjs"),si=require("./sse/create-event-stream.cjs"),ci=require("./sse/use-event-stream.cjs"),P=require("./push/utils.cjs"),F=require("./push/web-push-client.cjs"),li=require("./push/use-push-subscription.cjs"),I=require("./sw/create-push-handler.cjs"),L=require("./sw/cache.cjs"),ui=require("./sw/background-sync.cjs"),di=require("./sw/periodic-sync.cjs"),R=require("./sw/cache-inspect.cjs"),z=require("./audio/audio-player.cjs"),fi=require("./audio/use-audio.cjs"),B=require("./capture/video-recorder.cjs"),pi=require("./capture/use-video-recorder.cjs"),mi=require("./capture/use-screen-capture.cjs"),hi=require("./capture/use-speech-recognition.cjs"),gi=require("./offline/create-offline-sync.cjs"),_i=require("./offline/conflict.cjs"),vi=require("./error-boundary/use-error-handler.cjs"),yi=require("./forms/FormField.cjs"),bi=require("./forms/validate-form.cjs"),xi=require("./forms/zod-resolver.cjs"),Si=require("./forms/use-zod-form.cjs"),V=require("./forms/br-validators.cjs"),H=require("./forms/masked-inputs.cjs"),Ci=require("./forms/use-viacep.cjs"),wi=require("./ws/create-web-socket.cjs"),Ti=require("./ws/use-web-socket.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"),Ei=require("./geo/routing.cjs"),Di=require("./geo/create-position-tracker.cjs"),Oi=require("./geo/use-position-tracker.cjs"),ki=require("./geo/TrajectoryMap.cjs"),Ai=require("./theme/apply-theme.cjs"),J=require("./theme/color.cjs"),ji=require("./theme/create-theme.cjs"),Y=require("./theme/theme-presets.cjs"),Mi=require("./theme/initial-theme.cjs"),Ni=require("./logger/logger.cjs"),Pi=require("./telemetry/TelemetryProvider.cjs"),Fi=require("./telemetry/console-adapter.cjs"),Ii=require("./telemetry/sentry-adapter.cjs"),Li=require("./telemetry/posthog-adapter.cjs"),X=require("./feature-flags/FeatureFlagsProvider.cjs"),Ri=require("./feature-flags/in-memory-adapter.cjs"),zi=require("./feature-flags/growthbook-adapter.cjs"),Bi=require("./feature-flags/launchdarkly-adapter.cjs"),Vi=require("./share/share.cjs"),Hi=require("./share/share-or-download.cjs"),Z=require("./charts/scales.cjs"),Ui=require("./perf/cache-size.cjs"),Wi=require("./perf/device.cjs"),Gi=require("./perf/format.cjs"),Ki=require("./perf/profiler.cjs");let Q=require("react-router"),$=require("react-hook-form");exports.AIChat=yr.AIChat,exports.AIChatComposer=gr.AIChatComposer,exports.AIChatTurn=vr.AIChatTurn,exports.ALL_BARCODE_FORMATS=p.ALL_BARCODE_FORMATS,exports.AUDIO_MIME_CANDIDATES=f.AUDIO_MIME_CANDIDATES,exports.AccessControlProvider=Rr.AccessControlProvider,exports.Accordion=te.Accordion,exports.Alert=ne.Alert,exports.AppBar=re.AppBar,exports.AppProviders=oi.AppProviders,exports.AppRouter=j.AppRouter,exports.AppShell=ae.AppShell,exports.AspectRatio=oe.AspectRatio,exports.AudioPlayer=ar.AudioPlayer,exports.AudioRecorder=fr.AudioRecorder,exports.AuthGuard=Pr.AuthGuard,exports.Avatar=se.Avatar,exports.AvatarGroup=ce.AvatarGroup,exports.BREAKPOINTS=ie.BREAKPOINTS,exports.Badge=le.Badge,exports.Banner=ue.Banner,exports.BarcodeScanner=hr.BarcodeScanner,exports.BottomNavigation=de.BottomNavigation,exports.BottomSheet=fe.BottomSheet,exports.Breadcrumbs=pe.Breadcrumbs,Object.defineProperty(exports,"BrowserRouter",{enumerable:!0,get:function(){return Q.BrowserRouter}}),exports.Button=me.Button,exports.CACHE_TIME=O.CACHE_TIME,exports.CEPInput=H.CEPInput,exports.CNPJInput=H.CNPJInput,exports.CPFInput=H.CPFInput,exports.Calendar=Bn.Calendar,exports.Can=Br.Can,exports.Card=he.Card,exports.Carousel=Kn.Carousel,exports.Center=ge.Center,exports.Chat=rr.Chat,exports.ChatComposer=nr.ChatComposer,exports.Checkbox=_e.Checkbox,exports.ChipInput=ve.ChipInput,exports.ClickOutside=wn.ClickOutside,exports.CodeBlock=vn.CodeBlock,exports.Collapsible=Pn.Collapsible,exports.Combobox=ye.Combobox,exports.Command=Ln.Command,exports.ConditionalWrapper=Tn.ConditionalWrapper,exports.ConfirmDialog=xe.ConfirmDialog,exports.Container=t.Container,exports.ContextMenu=Fn.ContextMenu,Object.defineProperty(exports,"Controller",{enumerable:!0,get:function(){return $.Controller}}),exports.CopyButton=_n.CopyButton,exports.DEFAULT_BARCODE_FORMATS=p.DEFAULT_BARCODE_FORMATS,exports.DEFAULT_CAR_SPEED_KMH=G.DEFAULT_CAR_SPEED_KMH,exports.DEFAULT_CHUNK_SIZE=w.DEFAULT_CHUNK_SIZE,exports.DEFAULT_CIRCUITY_FACTOR=G.DEFAULT_CIRCUITY_FACTOR,exports.DEFAULT_MODE_DURATION_FACTORS=G.DEFAULT_MODE_DURATION_FACTORS,exports.DEFAULT_PUB_KEY_CRED_PARAMS=E.DEFAULT_PUB_KEY_CRED_PARAMS,exports.DIVERGING_STEP_COUNT=Z.DIVERGING_STEP_COUNT,exports.DataList=kn.DataList,exports.DataTable=qn.DataTable,exports.DatePicker=Ce.DatePicker,exports.DateRangePicker=Un.DateRangePicker,exports.DescriptionList=An.DescriptionList,exports.Divider=we.Divider,exports.Drawer=Te.Drawer,exports.DropdownMenu=Ee.DropdownMenu,exports.Dropzone=De.Dropzone,exports.EARTH_RADIUS_KM=W.EARTH_RADIUS_KM,exports.EmptyState=Oe.EmptyState,exports.ErrorBoundary=ai.ErrorBoundary,exports.ErrorState=ke.ErrorState,exports.ErrorText=Dn.ErrorText,exports.FeatureFlagsProvider=X.FeatureFlagsProvider,exports.FileUpload=Ae.FileUpload,exports.FilterBar=Cr.FilterBar,exports.FloatingActionButton=Yn.FloatingActionButton,exports.For=En.For,exports.Form=e.Form,exports.FormActions=e.FormActions,exports.FormField=yi.FormField,Object.defineProperty(exports,"FormProvider",{enumerable:!0,get:function(){return $.FormProvider}}),exports.FormRow=e.FormRow,exports.FormSection=e.FormSection,exports.GoogleSignIn=Ur.GoogleSignIn,exports.Grid=t.Grid,Object.defineProperty(exports,"HashRouter",{enumerable:!0,get:function(){return Q.HashRouter}}),exports.Hide=l.Hide,exports.HoverCard=In.HoverCard,exports.I18nProvider=N.I18nProvider,exports.Image=On.Image,exports.ImageCropper=sn.ImageCropper,exports.Input=Se.Input,exports.InstallBanner=Me.InstallBanner,exports.InstallButton=Ne.InstallButton,exports.Kanban=s.Kanban,exports.Kbd=kt.Kbd,exports.Label=Nn.Label,exports.Lightbox=er.Lightbox,Object.defineProperty(exports,"Link",{enumerable:!0,get:function(){return Q.Link}}),exports.ListTile=Jn.ListTile,exports.Markdown=_r.Markdown,exports.Masonry=xr.Masonry,Object.defineProperty(exports,"MemoryRouter",{enumerable:!0,get:function(){return Q.MemoryRouter}}),exports.Menubar=Gn.Menubar,exports.Modal=be.Modal,exports.ModalsProvider=At.ModalsProvider,exports.Money=bn.Money,exports.MoneyInput=H.MoneyInput,exports.MultiSelect=Hn.MultiSelect,exports.NProgressBar=Mt.NProgressBar,Object.defineProperty(exports,"NavLink",{enumerable:!0,get:function(){return Q.NavLink}}),exports.Navbar=jt.Navbar,Object.defineProperty(exports,"Navigate",{enumerable:!0,get:function(){return Q.Navigate}}),exports.NavigationMenu=Wn.NavigationMenu,exports.NavigationRail=Xn.NavigationRail,exports.NotificationCenter=dn.NotificationCenter,exports.ORDINAL_START_STEP=Z.ORDINAL_START_STEP,exports.OfflineIndicator=Tt.OfflineIndicator,Object.defineProperty(exports,"Outlet",{enumerable:!0,get:function(){return Q.Outlet}}),exports.Page=Nt.Page,exports.Pagination=Pt.Pagination,exports.PasskeyError=E.PasskeyError,exports.PasswordInput=Ft.PasswordInput,exports.PhoneInput=H.PhoneInput,exports.PinInput=It.PinInput,exports.Popover=Lt.Popover,exports.Portal=Cn.Portal,exports.Progress=Rt.Progress,exports.QRCapacityError=d.QRCapacityError,exports.QRCode=gn.QRCode,exports.QueryProvider=Kr.QueryProvider,exports.REFETCH_TIME=O.REFETCH_TIME,exports.Radio=c.Radio,exports.RadioGroup=c.RadioGroup,exports.RangeSlider=zt.RangeSlider,exports.RatingStars=Bt.RatingStars,exports.RefreshIndicator=Qn.RefreshIndicator,exports.RelativeTime=yn.RelativeTime,exports.Resizable=zn.Resizable,Object.defineProperty(exports,"Route",{enumerable:!0,get:function(){return Q.Route}}),exports.RouteGuard=ti.RouteGuard,Object.defineProperty(exports,"Routes",{enumerable:!0,get:function(){return Q.Routes}}),exports.SEQUENTIAL_STEP_COUNT=Z.SEQUENTIAL_STEP_COUNT,exports.STALE_TIME=O.STALE_TIME,exports.SafeArea=Vt.SafeArea,exports.Scheduler=ln.Scheduler,exports.ScrollArea=Rn.ScrollArea,exports.SearchBar=Ht.SearchBar,exports.SegmentedControl=Ut.SegmentedControl,exports.Select=Wt.Select,exports.Show=l.Show,exports.Sidebar=Gt.Sidebar,exports.SignaturePad=tr.SignaturePad,exports.Skeleton=Kt.Skeleton,exports.Slider=Vn.Slider,exports.Spacer=qt.Spacer,exports.Sparkline=cn.Sparkline,exports.Spinner=Jt.Spinner,exports.Stack=t.Stack,exports.Stat=Yt.Stat,exports.Stepper=Xt.Stepper,exports.StepperInput=Zt.StepperInput,exports.Switch=Qt.Switch,exports.SyncStatusBadge=Dt.SyncStatusBadge,exports.Table=en.Table,exports.Tabs=tn.Tabs,exports.Tag=$t.Tag,exports.TelemetryProvider=Pi.TelemetryProvider,exports.TempestApiError=C.TempestApiError,exports.TempestDataProvider=ei.TempestDataProvider,exports.Textarea=nn.Textarea,exports.ThemeProvider=M.ThemeProvider,exports.TimePicker=Zn.TimePicker,exports.Timeline=rn.Timeline,exports.ToastProvider=on.ToastProvider,exports.Toggle=jn.Toggle,exports.ToggleGroup=Mn.ToggleGroup,exports.ToggleGroupItem=Mn.ToggleGroupItem,exports.Tooltip=an.Tooltip,exports.Tour=Sr.Tour,exports.TrajectoryMap=ki.TrajectoryMap,exports.Transfer=br.Transfer,exports.TreeView=xn.TreeView,exports.TruncateText=Sn.TruncateText,exports.UpdatePrompt=Ot.UpdatePrompt,exports.VirtualList=pn.VirtualList,exports.VirtualTable=hn.VirtualTable,exports.VisuallyHidden=Et.VisuallyHidden,exports.WebPushClient=F.WebPushClient,exports.WebPushPermissionDeniedError=F.WebPushPermissionDeniedError,exports.WebPushUnsupportedError=F.WebPushUnsupportedError,exports.Wizard=$n.Wizard,exports.aiChatStrings=m.aiChatStrings,exports.announce=n.announce,exports.applyKanbanMove=s.applyKanbanMove,exports.applyTheme=Ai.applyTheme,exports.assertNever=b.assertNever,exports.base64UrlToBytes=E.base64UrlToBytes,exports.bearingDeg=W.bearingDeg,exports.blobToWav=dr.blobToWav,exports.boundingBox=K.boundingBox,exports.boundsCenter=K.boundsCenter,exports.buildOpenInChromeIntent=r.buildOpenInChromeIntent,exports.bytesToBase64Url=E.bytesToBase64Url,exports.cachedResponseBytes=Ui.cachedResponseBytes,exports.camelCase=_.camelCase,exports.capitalize=_.capitalize,exports.chunk=v.chunk,exports.clamp=u.clamp,exports.clampLatitude=U.clampLatitude,exports.classifyPasskeyError=E.classifyPasskeyError,exports.clearAnnouncer=n.clearAnnouncer,exports.clearCaches=R.clearCaches,exports.cn=ee.cn,exports.compareValues=mn.compareValues,exports.consoleSink=Ni.consoleSink,exports.consoleTelemetryAdapter=Fi.consoleTelemetryAdapter,exports.contrastRatio=J.contrastRatio,exports.createApiClient=Or.createApiClient,exports.createAudioPlayer=z.createAudioPlayer,exports.createAudioRecorder=f.createAudioRecorder,exports.createAuthStore=Nr.createAuthStore,exports.createBarcodeDetector=p.createBarcodeDetector,exports.createColorScale=J.createColorScale,exports.createDataProvider=$r.createDataProvider,exports.createEventStream=si.createEventStream,exports.createGrowthBookFeatureFlagsAdapter=zi.createGrowthBookFeatureFlagsAdapter,exports.createI18n=ii.createI18n,exports.createInMemoryFlags=Ri.createInMemoryFlags,exports.createInferenceProfiler=Ki.createInferenceProfiler,exports.createLaunchDarklyFeatureFlagsAdapter=Bi.createLaunchDarklyFeatureFlagsAdapter,exports.createLevelMeter=sr.createLevelMeter,exports.createLocalUploadStorage=w.createLocalUploadStorage,exports.createLogger=Ni.createLogger,exports.createMediaRecorder=or.createMediaRecorder,exports.createOSRMBackend=Ei.createOSRMBackend,exports.createOfflineStore=Zr.createOfflineStore,exports.createOfflineSync=gi.createOfflineSync,exports.createPartialResponse=L.createPartialResponse,exports.createPasskeyClient=E.createPasskeyClient,exports.createPositionTracker=Di.createPositionTracker,exports.createPostHogTelemetryAdapter=Li.createPostHogTelemetryAdapter,exports.createQueryKeys=Gr.createQueryKeys,exports.createRefreshQueue=Ir.createRefreshQueue,exports.createResumableUpload=w.createResumableUpload,exports.createRoleAccessControl=Vr.createRoleAccessControl,exports.createSelectors=ri.createSelectors,exports.createSentryTelemetryAdapter=Ii.createSentryTelemetryAdapter,exports.createStore=ni.createStore,exports.createTempestAuth=Lr.createTempestAuth,exports.createTheme=ji.createTheme,exports.createVideoRecorder=B.createVideoRecorder,exports.createWebSocket=wi.createWebSocket,exports.debounce=x.debounce,exports.decodeJWT=T.decodeJWT,exports.deepMerge=y.deepMerge,exports.defineRoutes=j.defineRoutes,exports.describeFilter=h.describeFilter,exports.divergingScale=Z.divergingScale,exports.emptyOffsetPage=k.emptyOffsetPage,exports.encodeQR=d.encodeQR,exports.encodeWav=dr.encodeWav,exports.estimatePasswordStrength=Ft.estimatePasswordStrength,exports.estimateStorage=a.estimateStorage,exports.estimateTravel=G.estimateTravel,exports.expandBounds=K.expandBounds,exports.filtersFromSearchParams=h.filtersFromSearchParams,exports.filtersToSearchParams=h.filtersToSearchParams,exports.fitProjection=q.fitProjection,exports.formatBytes=u.formatBytes,exports.formatCEP=V.formatCEP,exports.formatCNPJ=V.formatCNPJ,exports.formatCPF=g.formatCPF,exports.formatCompactNumber=u.formatCompactNumber,exports.formatCurrency=g.formatCurrency,exports.formatDate=g.formatDate,exports.formatDateTime=g.formatDateTime,exports.formatDurationMs=Gi.formatDurationMs,exports.formatPercent=g.formatPercent,exports.formatPhone=g.formatPhone,exports.generateIdempotencyKey=jr.generateIdempotencyKey,exports.getInitialTheme=Mi.getInitialTheme,exports.getSupportedBarcodeFormats=p.getSupportedBarcodeFormats,exports.getThemePreset=Y.getThemePreset,exports.groupBy=v.groupBy,exports.haversineKm=W.haversineKm,exports.hexToOklch=J.hexToOklch,exports.hexToRgb=J.hexToRgb,exports.hexToRgbaString=J.hexToRgbaString,exports.higherVersionWins=_i.higherVersionWins,exports.inspectCaches=R.inspectCaches,exports.installBackgroundSync=ui.installBackgroundSync,exports.installNotificationClickHandler=I.installNotificationClickHandler,exports.installPrecache=L.installPrecache,exports.installPushHandler=I.installPushHandler,exports.installRuntimeCache=L.installRuntimeCache,exports.installSkipWaitingListener=I.installSkipWaitingListener,exports.isAndroid=r.isAndroid,exports.isAndroidWithoutPromptApi=r.isAndroidWithoutPromptApi,exports.isApiError=C.isApiError,exports.isAudioOutputSelectionSupported=ir.isAudioOutputSelectionSupported,exports.isAudioRecordingSupported=f.isAudioRecordingSupported,exports.isBarcodeDetectionSupported=p.isBarcodeDetectionSupported,exports.isConditionalMediationAvailable=E.isConditionalMediationAvailable,exports.isCoordinate=U.isCoordinate,exports.isCursorPage=k.isCursorPage,exports.isDefined=b.isDefined,exports.isEmpty=y.isEmpty,exports.isGenerating=m.isGenerating,exports.isIOS=r.isIOS,exports.isJWTExpired=T.isJWTExpired,exports.isMediaCaptureSupported=lr.isMediaCaptureSupported,exports.isNumber=b.isNumber,exports.isOffsetPage=k.isOffsetPage,exports.isPasskeySupported=E.isPasskeySupported,exports.isPlainObject=b.isPlainObject,exports.isPlatformAuthenticatorAvailable=E.isPlatformAuthenticatorAvailable,exports.isPushSupported=P.isPushSupported,exports.isScreenCaptureSupported=mi.isScreenCaptureSupported,exports.isShareSupported=Vi.isShareSupported,exports.isSpeechRecognitionSupported=hi.isSpeechRecognitionSupported,exports.isStandalone=r.isStandalone,exports.isString=b.isString,exports.isValidLatitude=U.isValidLatitude,exports.isValidLongitude=U.isValidLongitude,exports.isVideoRecordingSupported=B.isVideoRecordingSupported,exports.kebabCase=_.kebabCase,exports.lastAssistantId=m.lastAssistantId,exports.lastWriteWins=_i.lastWriteWins,exports.lazyWithRetry=Fr.lazyWithRetry,exports.listQueryKey=A.listQueryKey,exports.matrixToPath=d.matrixToPath,exports.memoizeOne=x.memoizeOne,exports.moveItem=xt.moveItem,exports.normalizeBarcode=p.normalizeBarcode,exports.normalizeLongitude=U.normalizeLongitude,exports.nprogress=Mt.nprogress,exports.oklchToHex=J.oklchToHex,exports.omit=y.omit,exports.once=x.once,exports.oneQueryKey=A.oneQueryKey,exports.operatorsFor=h.operatorsFor,exports.parseResponse=kr.parseResponse,exports.pathLengthKm=W.pathLengthKm,exports.permissionsFromToken=Hr.permissionsFromToken,exports.persistQueryClientOffline=Qr.persistQueryClientOffline,exports.pick=y.pick,exports.pickAudioMimeType=f.pickAudioMimeType,exports.pickVideoMimeType=B.pickVideoMimeType,exports.playAudio=z.playAudio,exports.pluralize=_.pluralize,exports.projectMercator=q.projectMercator,exports.randomId=Tr.randomId,exports.range=v.range,exports.readDeviceProfile=Wi.readDeviceProfile,exports.readThemeToken=Ai.readThemeToken,exports.readableForeground=J.readableForeground,Object.defineProperty(exports,"redirect",{enumerable:!0,get:function(){return Q.redirect}}),exports.registerPeriodicSync=di.registerPeriodicSync,exports.registerServiceWorker=i.registerServiceWorker,exports.relativeLuminance=J.relativeLuminance,exports.relativeTime=un.relativeTime,exports.removeById=Xr.removeById,exports.requestPersistentStorage=a.requestPersistentStorage,exports.retry=Dr.retry,exports.rgbToHex=J.rgbToHex,exports.roleLabel=m.roleLabel,exports.scaleSteps=Z.scaleSteps,exports.sequentialScale=Z.sequentialScale,exports.setAudioOutput=ir.setAudioOutput,exports.share=Vi.share,exports.shareOrDownloadBlob=Hi.shareOrDownloadBlob,exports.skipWaiting=i.skipWaiting,exports.sleep=S.sleep,exports.slugify=_.slugify,exports.stopAudio=z.stopAudio,exports.storage=wr.storage,exports.tailSignature=m.tailSignature,exports.themeContrast=ji.themeContrast,exports.themeInitScript=Mi.themeInitScript,exports.themePresets=Y.themePresets,exports.throttle=x.throttle,exports.toRadians=W.toRadians,exports.truncate=_.truncate,exports.turnTime=m.turnTime,exports.uniqueBy=v.uniqueBy,exports.unmask=V.unmask,exports.unprojectMercator=q.unprojectMercator,exports.unregisterAllServiceWorkers=i.unregisterAllServiceWorkers,exports.uploadFingerprint=w.uploadFingerprint,exports.uploadWithProgress=Ar.uploadWithProgress,exports.upsertById=Xr.upsertById,exports.urlBase64ToUint8Array=P.urlBase64ToUint8Array,exports.useAccessControl=Rr.useAccessControl,exports.useAnnounce=n.useAnnounce,exports.useAsync=Ve.useAsync,exports.useAudio=fi.useAudio,exports.useAudioRecorder=cr.useAudioRecorder,exports.useBarcodeScanner=mr.useBarcodeScanner,exports.useBeforeInstallPrompt=je.useBeforeInstallPrompt,exports.useBreakpoint=ie.useBreakpoint,exports.useCan=zr.useCan,exports.useClickOutside=ht.useClickOutside,exports.useClientFilter=Ie.useClientFilter,exports.useClipboard=Ke.useClipboard,exports.useCounter=lt.useCounter,exports.useCreate=A.useCreate,exports.useCursorQuery=Jr.useCursorQuery,exports.useDataProvider=ei.useDataProvider,exports.useDebounce=Pe.useDebounce,exports.useDeepMemo=$e.useDeepMemo,exports.useDelete=A.useDelete,exports.useDisclosure=st.useDisclosure,exports.useDocumentTitle=ut.useDocumentTitle,exports.useDocumentVisibility=Ue.useDocumentVisibility,exports.useErrorHandler=vi.useErrorHandler,exports.useEventListener=Re.useEventListener,exports.useEventStream=ci.useEventStream,exports.useFavicon=dt.useFavicon,exports.useFeatureFlag=X.useFeatureFlag,Object.defineProperty(exports,"useFieldArray",{enumerable:!0,get:function(){return $.useFieldArray}}),exports.useFlagValue=X.useFlagValue,exports.useFocusTrap=Ze.useFocusTrap,Object.defineProperty(exports,"useForm",{enumerable:!0,get:function(){return $.useForm}}),Object.defineProperty(exports,"useFormContext",{enumerable:!0,get:function(){return $.useFormContext}}),Object.defineProperty(exports,"useFormState",{enumerable:!0,get:function(){return $.useFormState}}),exports.useGeolocation=Ye.useGeolocation,exports.useHover=at.useHover,exports.useI18n=N.useI18n,exports.useIdle=Je.useIdle,exports.useInstallPrompt=yt.useInstallPrompt,exports.useIntersectionObserver=We.useIntersectionObserver,exports.useInterval=tt.useInterval,exports.useIsFirstRender=gt.useIsFirstRender,exports.useKeyboardShortcut=qe.useKeyboardShortcut,exports.useList=A.useList,exports.useListState=ct.useListState,exports.useLocalStorage=ze.useLocalStorage,Object.defineProperty(exports,"useLocation",{enumerable:!0,get:function(){return Q.useLocation}}),exports.useLongPress=ot.useLongPress,exports.useLongPressHandlers=vt.useLongPressHandlers,exports.useMap=ft.useMap,Object.defineProperty(exports,"useMatch",{enumerable:!0,get:function(){return Q.useMatch}}),exports.useMediaDevices=wt.useMediaDevices,exports.useMediaPermission=Ct.useMediaPermission,exports.useMediaQuery=Le.useMediaQuery,exports.useMicrophone=ur.useMicrophone,exports.useModals=At.useModals,Object.defineProperty(exports,"useNavigate",{enumerable:!0,get:function(){return Q.useNavigate}}),exports.useNotificationInbox=fn.useNotificationInbox,exports.useOAuthCallback=Wr.useOAuthCallback,exports.useObjectUrl=_t.useObjectUrl,exports.useOfflineMutation=Yr.useOfflineMutation,exports.useOfflineSync=o.useOfflineSync,exports.useOne=A.useOne,exports.useOnline=He.useOnline,exports.usePaginatedQuery=qr.usePaginatedQuery,exports.usePagination=Fe.usePagination,Object.defineProperty(exports,"useParams",{enumerable:!0,get:function(){return Q.useParams}}),exports.usePasskeyCapabilities=D.usePasskeyCapabilities,exports.usePasskeyRegistration=D.usePasskeyRegistration,exports.usePasskeySignIn=D.usePasskeySignIn,exports.usePoll=Mr.usePoll,exports.usePositionTracker=Oi.usePositionTracker,exports.usePrevious=et.usePrevious,exports.usePushSubscription=li.usePushSubscription,exports.useQueue=mt.useQueue,exports.useResizeObserver=Ge.useResizeObserver,Object.defineProperty(exports,"useRouteError",{enumerable:!0,get:function(){return Q.useRouteError}}),exports.useScreenCapture=mi.useScreenCapture,exports.useScrollLock=Xe.useScrollLock,exports.useScrollOverflow=St.useScrollOverflow,Object.defineProperty(exports,"useSearchParams",{enumerable:!0,get:function(){return Q.useSearchParams}}),exports.useServiceWorkerUpdate=bt.useServiceWorkerUpdate,exports.useSet=pt.useSet,exports.useSortable=xt.useSortable,exports.useSpeechRecognition=hi.useSpeechRecognition,exports.useStableCallback=Qe.useStableCallback,exports.useStorageEstimate=a.useStorageEstimate,exports.useSyncStatus=o.useSyncStatus,exports.useTelemetry=Pi.useTelemetry,exports.useTheme=M.useTheme,exports.useThrottle=rt.useThrottle,exports.useTimeout=nt.useTimeout,exports.useToast=on.useToast,exports.useToggle=Be.useToggle,exports.useTorch=pr.useTorch,exports.useTranslate=N.useTranslate,exports.useUpdate=A.useUpdate,exports.useViaCEP=Ci.useViaCEP,exports.useVideoRecorder=pi.useVideoRecorder,Object.defineProperty(exports,"useWatch",{enumerable:!0,get:function(){return $.useWatch}}),exports.useWebSocket=Ti.useWebSocket,exports.useWindowSize=it.useWindowSize,exports.useZodForm=Si.useZodForm,exports.validateCNPJ=V.validateCNPJ,exports.validateCPF=V.validateCPF,exports.validateForm=bi.validateForm,exports.visibleTurns=m.visibleTurns,exports.withTimeout=S.withTimeout,exports.writeXlsx=Er.writeXlsx,exports.zodResolver=xi.zodResolver;
@@ -564,13 +564,37 @@ export declare interface ApiClientConfig {
564
564
  * Return an empty string to disable the header.
565
565
  */
566
566
  requestId?: () => string;
567
- /** Called on 401 responses. Use it to logout the user or trigger a refresh. */
567
+ /**
568
+ * Called when a request ends up unauthorized — a 401 with no `refresh`
569
+ * configured, a `refresh()` that threw, or a retry that came back 401 again
570
+ * after a refresh that resolved. Use it to end the session.
571
+ */
568
572
  onUnauthorized?: (response: Response) => void | Promise<void>;
569
573
  /**
570
574
  * Optional refresh hook. When provided and the original request returns 401,
571
575
  * the client awaits `refresh()` then retries the request once.
572
576
  */
573
577
  refresh?: () => Promise<void>;
578
+ /**
579
+ * Retry failed requests with exponential backoff. Off by default, so the
580
+ * client keeps failing fast unless you opt in.
581
+ *
582
+ * `true` uses the built-in policy, which is deliberately conservative: only
583
+ * idempotent methods (`GET`, `HEAD`, `OPTIONS`) and only failures a retry
584
+ * can plausibly fix — a network error, `408`, `425`, `429`, or any `5xx`. A
585
+ * `POST` is never retried on its own, so nothing gets duplicated.
586
+ *
587
+ * Pass {@link RetryOptions} to tune it. Supplying your own `shouldRetry`
588
+ * replaces the built-in policy entirely, method check included — that is the
589
+ * escape hatch for retrying a write you made idempotent with
590
+ * {@link generateIdempotencyKey}.
591
+ *
592
+ * Retries wrap the whole request, refresh included, and each attempt carries
593
+ * its own `X-Request-ID`. A `4xx` outside the three listed above is never
594
+ * retried: repeating an identical request cannot fix a bad payload or a
595
+ * permission the caller does not have.
596
+ */
597
+ retry?: boolean | RetryOptions;
574
598
  /** Whether to send cookies on cross-origin requests (default: false). */
575
599
  withCredentials?: boolean;
576
600
  /** Default headers merged into every request. */
@@ -755,7 +779,8 @@ export declare interface AppProvidersProps {
755
779
  }
756
780
 
757
781
  /**
758
- * Render a full React Router (v7, declarative mode) from a {@link defineRoutes}
782
+ * Render a full React Router (v7 or v8, declarative mode) from a
783
+ * {@link defineRoutes}
759
784
  * tree: picks the history strategy, wraps everything in a `<Suspense>` boundary
760
785
  * for `lazy` routes, and applies per-route `guard` redirects. This is the
761
786
  * single entry point apps mount at their root.
@@ -2476,9 +2501,29 @@ export declare const CPFInput: ForwardRefExoticComponent<Omit<InputProps, "value
2476
2501
  /**
2477
2502
  * Create a typed HTTP client backed by `fetch`.
2478
2503
  *
2479
- * Handles JSON serialization, query params, bearer auth via `getToken`,
2480
- * automatic refresh + retry on 401 when `refresh` is supplied, and uploads
2481
- * via `FormData`. Throws an `ApiError` on non-2xx responses.
2504
+ * Handles JSON serialization, query params, bearer auth via `getToken`, uploads
2505
+ * via `FormData`, and throws a typed `ApiError` on any non-2xx response.
2506
+ *
2507
+ * **Expired sessions.** A `401` with `refresh` configured awaits the refresh and
2508
+ * replays the request once. `onUnauthorized` fires whenever that path ends
2509
+ * unauthorized anyway — the refresh threw, or the replay came back `401` — which
2510
+ * is the signal to clear the session. Without `refresh`, the first `401` calls
2511
+ * it directly.
2512
+ *
2513
+ * **Retries** are off unless you set `retry`. See {@link ApiClientConfig.retry}
2514
+ * for the built-in policy; it never replays a write.
2515
+ *
2516
+ * @example
2517
+ * const api = createApiClient({
2518
+ * baseURL: import.meta.env.VITE_API_URL,
2519
+ * getToken: () => useAuthStore.getState().token,
2520
+ * refresh,
2521
+ * onUnauthorized: () => useAuthStore.getState().logout(),
2522
+ * retry: true,
2523
+ * });
2524
+ *
2525
+ * @param config - Base URL plus the optional auth, retry and fetch hooks.
2526
+ * @returns A client with `request`/`get`/`post`/`put`/`patch`/`delete`/`upload`.
2482
2527
  */
2483
2528
  export declare function createApiClient(config: ApiClientConfig): ApiClient;
2484
2529
 
@@ -3303,8 +3348,13 @@ export declare interface CreateStorePersistOptions<T> {
3303
3348
  * Turn-key auth preset wiring `createAuthStore` + `createRefreshQueue` +
3304
3349
  * `createApiClient` to the Tempest FastAPI SDK auth contract: login returns
3305
3350
  * `{ access_token, token_type }`, requests carry `Authorization: Bearer`, and a
3306
- * `401` triggers a single deduplicated refresh + retry. Logout (or a failed
3307
- * refresh) clears the session.
3351
+ * `401` triggers a single deduplicated refresh + replay.
3352
+ *
3353
+ * The session is cleared whenever that path ends unauthorized anyway — the
3354
+ * refresh threw, or the replay came back `401` — so a refresh token that the
3355
+ * backend has revoked cannot leave the app holding a dead session. With
3356
+ * `redirectTo` set, the browser also leaves the page; without it, clearing the
3357
+ * store is enough for a `<RouteGuard>` to navigate on its own.
3308
3358
  *
3309
3359
  * @example
3310
3360
  * const auth = createTempestAuth<User, { email: string; password: string }>({
@@ -3356,6 +3406,23 @@ export declare interface CreateTempestAuthOptions<TUser> {
3356
3406
  * refresh token is stored, else `undefined` (cookie-based refresh).
3357
3407
  */
3358
3408
  refreshBody?: (refreshToken: string | null) => unknown;
3409
+ /**
3410
+ * Retry policy for `api`, forwarded to {@link createApiClient}. Off by
3411
+ * default; `true` enables the conservative built-in policy, which never
3412
+ * replays a write.
3413
+ */
3414
+ retry?: boolean | RetryOptions;
3415
+ /**
3416
+ * Where to send the browser when the session ends — a hard navigation via
3417
+ * `window.location.assign`, after the store is cleared.
3418
+ *
3419
+ * **Prefer leaving this unset.** `logout()` already clears the store, so a
3420
+ * `<RouteGuard when={isAuthenticated} redirectTo="/login">` wrapped around
3421
+ * the protected area navigates on its own, which keeps the SPA alive and the
3422
+ * router history intact. Reach for this only when the expiry can happen
3423
+ * outside any guarded subtree and a full reload is acceptable.
3424
+ */
3425
+ redirectTo?: string;
3359
3426
  }
3360
3427
 
3361
3428
  /**
@@ -211,11 +211,11 @@ import { sleep as di, withTimeout as fi } from "./utils/promises.js";
211
211
  import { randomId as pi } from "./utils/ids.js";
212
212
  import { writeXlsx as mi } from "./utils/xlsx.js";
213
213
  import { TempestApiError as hi, isApiError as gi } from "./http/errors.js";
214
- import { createApiClient as _i } from "./http/api-client.js";
215
- import { parseResponse as vi } from "./http/parse-response.js";
216
- import { uploadWithProgress as yi } from "./http/upload-with-progress.js";
217
- import { generateIdempotencyKey as bi } from "./http/idempotency.js";
218
- import { retry as xi } from "./http/retry.js";
214
+ import { retry as _i } from "./http/retry.js";
215
+ import { createApiClient as vi } from "./http/api-client.js";
216
+ import { parseResponse as yi } from "./http/parse-response.js";
217
+ import { uploadWithProgress as bi } from "./http/upload-with-progress.js";
218
+ import { generateIdempotencyKey as xi } from "./http/idempotency.js";
219
219
  import { DEFAULT_CHUNK_SIZE as Si, createLocalUploadStorage as Ci, createResumableUpload as wi, uploadFingerprint as Ti } from "./http/resumable-upload.js";
220
220
  import { usePoll as Ei } from "./http/use-poll.js";
221
221
  import { createAuthStore as Di } from "./auth/create-auth-store.js";
@@ -315,4 +315,4 @@ import { cachedResponseBytes as mc } from "./perf/cache-size.js";
315
315
  import { readDeviceProfile as hc } from "./perf/device.js";
316
316
  import { formatDurationMs as gc } from "./perf/format.js";
317
317
  import { createInferenceProfiler as _c } from "./perf/profiler.js";
318
- export { Er as AIChat, Cr as AIChatComposer, Tr as AIChatTurn, sr as ALL_BARCODE_FORMATS, Xn as AUDIO_MIME_CANDIDATES, Ki as AccessControlProvider, t as Accordion, n as Alert, r as AppBar, $a as AppProviders, Ea as AppRouter, o as AppShell, s as AspectRatio, Jn as AudioPlayer, or as AudioRecorder, Oi as AuthGuard, c as Avatar, l as AvatarGroup, i as BREAKPOINTS, u as Badge, d as Banner, hr as BarcodeScanner, f as BottomNavigation, p as BottomSheet, m as Breadcrumbs, Oa as BrowserRouter, h as Button, ea as CACHE_TIME, Wo as CEPInput, Go as CNPJInput, Ko as CPFInput, On as Calendar, Yi as Can, g as Card, Pn as Carousel, _ as Center, Gn as Chat, Wn as ChatComposer, v as Checkbox, y as ChipInput, dn as ClickOutside, an as CodeBlock, Sn as Collapsible, b as Combobox, Tn as Command, fn as ConditionalWrapper, S as ConfirmDialog, I as Container, Cn as ContextMenu, Xo as Controller, rn as CopyButton, cr as DEFAULT_BARCODE_FORMATS, hs as DEFAULT_CAR_SPEED_KMH, Si as DEFAULT_CHUNK_SIZE, gs as DEFAULT_CIRCUITY_FACTOR, _s as DEFAULT_MODE_DURATION_FACTORS, Ni as DEFAULT_PUB_KEY_CRED_PARAMS, cc as DIVERGING_STEP_COUNT, gn as DataList, Fn as DataTable, w as DatePicker, jn as DateRangePicker, _n as DescriptionList, T as Divider, E as Drawer, D as DropdownMenu, O as Dropzone, us as EARTH_RADIUS_KM, k as EmptyState, Qa as ErrorBoundary, A as ErrorState, mn as ErrorText, $s as FeatureFlagsProvider, j as FileUpload, Pr as FilterBar, Ln as FloatingActionButton, pn as For, M as Form, N as FormActions, Fo as FormField, Zo as FormProvider, P as FormRow, F as FormSection, Qi as GoogleSignIn, L as Grid, ka as HashRouter, yt as Hide, wn as HoverCard, Ya as I18nProvider, hn as Image, Wt as ImageCropper, C as Input, B as InstallBanner, V as InstallButton, et as Kanban, nt as Kbd, xn as Label, Hn as Lightbox, Aa as Link, In as ListTile, wr as Markdown, Or as Masonry, ja as MemoryRouter, Nn as Menubar, x as Modal, rt as ModalsProvider, sn as Money, qo as MoneyInput, An as MultiSelect, ot as NProgressBar, Ma as NavLink, at as Navbar, Na as Navigate, Mn as NavigationMenu, Rn as NavigationRail, Jt as NotificationCenter, lc as ORDINAL_START_STEP, Je as OfflineIndicator, Pa as Outlet, ct as Page, lt as Pagination, Pi as PasskeyError, ut as PasswordInput, Jo as PhoneInput, ft as PinInput, pt as Popover, un as Portal, mt as Progress, $t as QRCapacityError, nn as QRCode, ia as QueryProvider, ta as REFETCH_TIME, ht as Radio, gt as RadioGroup, _t as RangeSlider, vt as RatingStars, Bn as RefreshIndicator, on as RelativeTime, Dn as Resizable, Fa as Route, Ta as RouteGuard, Ia as Routes, uc as SEQUENTIAL_STEP_COUNT, na as STALE_TIME, xt as SafeArea, Kt as Scheduler, En as ScrollArea, St as SearchBar, Ct as SegmentedControl, wt as Select, bt as Show, Tt as Sidebar, Un as SignaturePad, Et as Skeleton, kn as Slider, Dt as Spacer, Gt as Sparkline, Ot as Spinner, R as Stack, kt as Stat, At as Stepper, Pt as StepperInput, Ft as Switch, Qe as SyncStatusBadge, Lt as Table, Rt as Tabs, It as Tag, Js as TelemetryProvider, hi as TempestApiError, ga as TempestDataProvider, zt as Textarea, Ka as ThemeProvider, zn as TimePicker, Bt as Timeline, Ht as ToastProvider, vn as Toggle, yn as ToggleGroup, bn as ToggleGroupItem, Vt as Tooltip, kr as Tour, Os as TrajectoryMap, Dr as Transfer, cn as TreeView, ln as TruncateText, $e as UpdatePrompt, Xt as VirtualList, Qt as VirtualTable, Ze as VisuallyHidden, io as WebPushClient, ao as WebPushPermissionDeniedError, oo as WebPushUnsupportedError, Vn as Wizard, gr as aiChatStrings, oe as announce, tt as applyKanbanMove, ks as applyTheme, ni as assertNever, Fi as base64UrlToBytes, ds as bearingDeg, ir as blobToWav, ys as boundingBox, bs as boundsCenter, Ae as buildOpenInChromeIntent, Ii as bytesToBase64Url, mc as cachedResponseBytes, Hr as camelCase, Ur as capitalize, Jr as chunk, jt as clamp, as as clampLatitude, Li as classifyPasskeyError, se as clearAnnouncer, _o as clearCaches, e as cn, Zt as compareValues, Ks as consoleSink, Xs as consoleTelemetryAdapter, js as contrastRatio, _i as createApiClient, yo as createAudioPlayer, Zn as createAudioRecorder, Di as createAuthStore, lr as createBarcodeDetector, Ms as createColorScale, ha as createDataProvider, eo as createEventStream, rc as createGrowthBookFeatureFlagsAdapter, Ja as createI18n, nc as createInMemoryFlags, _c as createInferenceProfiler, ic as createLaunchDarklyFeatureFlagsAdapter, er as createLevelMeter, Ci as createLocalUploadStorage, qs as createLogger, Yn as createMediaRecorder, Ts as createOSRMBackend, pa as createOfflineStore, jo as createOfflineSync, fo as createPartialResponse, Ri as createPasskeyClient, Es as createPositionTracker, Qs as createPostHogTelemetryAdapter, ra as createQueryKeys, Mi as createRefreshQueue, wi as createResumableUpload, Xi as createRoleAccessControl, Ga as createSelectors, Zs as createSentryTelemetryAdapter, Wa as createStore, Gi as createTempestAuth, Bs as createTheme, Co as createVideoRecorder, rs as createWebSocket, si as debounce, ki as decodeJWT, Qr as deepMerge, Da as defineRoutes, Ar as describeFilter, dc as divergingScale, aa as emptyOffsetPage, en as encodeQR, ar as encodeWav, dt as estimatePasswordStrength, Be as estimateStorage, vs as estimateTravel, xs as expandBounds, jr as filtersFromSearchParams, Mr as filtersToSearchParams, Ss as fitProjection, Mt as formatBytes, zo as formatCEP, Bo as formatCNPJ, Fr as formatCPF, Nt as formatCompactNumber, Ir as formatCurrency, Lr as formatDate, Rr as formatDateTime, gc as formatDurationMs, zr as formatPercent, Br as formatPhone, bi as generateIdempotencyKey, Ws as getInitialTheme, ur as getSupportedBarcodeFormats, Hs as getThemePreset, Yr as groupBy, fs as haversineKm, Ns as hexToOklch, Ps as hexToRgb, Fs as hexToRgbaString, Mo as higherVersionWins, vo as inspectCaches, ho as installBackgroundSync, co as installNotificationClickHandler, po as installPrecache, lo as installPushHandler, mo as installRuntimeCache, uo as installSkipWaitingListener, je as isAndroid, Me as isAndroidWithoutPromptApi, gi as isApiError, Kn as isAudioOutputSelectionSupported, Qn as isAudioRecordingSupported, dr as isBarcodeDetectionSupported, zi as isConditionalMediationAvailable, os as isCoordinate, oa as isCursorPage, ri as isDefined, $r as isEmpty, _r as isGenerating, Ne as isIOS, Ai as isJWTExpired, nr as isMediaCaptureSupported, ii as isNumber, sa as isOffsetPage, Bi as isPasskeySupported, ai as isPlainObject, Vi as isPlatformAuthenticatorAvailable, no as isPushSupported, Do as isScreenCaptureSupported, ac as isShareSupported, ko as isSpeechRecognitionSupported, Pe as isStandalone, oi as isString, ss as isValidLatitude, cs as isValidLongitude, wo as isVideoRecordingSupported, Wr as kebabCase, vr as lastAssistantId, No as lastWriteWins, ji as lazyWithRetry, va as listQueryKey, tn as matrixToPath, ci as memoizeOne, Ue as moveItem, fr as normalizeBarcode, ls as normalizeLongitude, st as nprogress, Is as oklchToHex, ei as omit, li as once, ya as oneQueryKey, Nr as operatorsFor, vi as parseResponse, ps as pathLengthKm, Zi as permissionsFromToken, ma as persistQueryClientOffline, ti as pick, $n as pickAudioMimeType, To as pickVideoMimeType, bo as playAudio, Gr as pluralize, Cs as projectMercator, pi as randomId, Xr as range, hc as readDeviceProfile, As as readThemeToken, Ls as readableForeground, La as redirect, go as registerPeriodicSync, Ie as registerServiceWorker, Rs as relativeLuminance, qt as relativeTime, da as removeById, Ve as requestPersistentStorage, xi as retry, zs as rgbToHex, yr as roleLabel, fc as scaleSteps, pc as sequentialScale, qn as setAudioOutput, oc as share, sc as shareOrDownloadBlob, Le as skipWaiting, di as sleep, Kr as slugify, xo as stopAudio, Vr as storage, br as tailSignature, Vs as themeContrast, Gs as themeInitScript, Us as themePresets, ui as throttle, ms as toRadians, qr as truncate, xr as turnTime, Zr as uniqueBy, Vo as unmask, ws as unprojectMercator, Re as unregisterAllServiceWorkers, Ti as uploadFingerprint, yi as uploadWithProgress, fa as upsertById, ro as urlBase64ToUint8Array, qi as useAccessControl, ce as useAnnounce, Y as useAsync, So as useAudio, tr as useAudioRecorder, mr as useBarcodeScanner, z as useBeforeInstallPrompt, a as useBreakpoint, Ji as useCan, Ee as useClickOutside, W as useClientFilter, ee as useClipboard, be as useCounter, ba as useCreate, la as useCursorQuery, _a as useDataProvider, H as useDebounce, ue as useDeepMemo, xa as useDelete, ve as useDisclosure, xe as useDocumentTitle, Z as useDocumentVisibility, Po as useErrorHandler, K as useEventListener, to as useEventStream, Se as useFavicon, ec as useFeatureFlag, Qo as useFieldArray, tc as useFlagValue, ae as useFocusTrap, $o as useForm, es as useFormContext, ts as useFormState, re as useGeolocation, ge as useHover, Xa as useI18n, ne as useIdle, Fe as useInstallPrompt, Q as useIntersectionObserver, fe as useInterval, De as useIsFirstRender, te as useKeyboardShortcut, Sa as useList, ye as useListState, q as useLocalStorage, Ra as useLocation, _e as useLongPress, ke as useLongPressHandlers, Ce as useMap, za as useMatch, qe as useMediaDevices, Ke as useMediaPermission, G as useMediaQuery, rr as useMicrophone, it as useModals, Ba as useNavigate, Yt as useNotificationInbox, $i as useOAuthCallback, Oe as useObjectUrl, ua as useOfflineMutation, Ye as useOfflineSync, Ca as useOne, X as useOnline, ca as usePaginatedQuery, U as usePagination, Va as useParams, Hi as usePasskeyCapabilities, Ui as usePasskeyRegistration, Wi as usePasskeySignIn, Ei as usePoll, Ds as usePositionTracker, de as usePrevious, so as usePushSubscription, Te as useQueue, $ as useResizeObserver, Ha as useRouteError, Oo as useScreenCapture, ie as useScrollLock, Ge as useScrollOverflow, Ua as useSearchParams, ze as useServiceWorkerUpdate, we as useSet, We as useSortable, Ao as useSpeechRecognition, le as useStableCallback, He as useStorageEstimate, Xe as useSyncStatus, Ys as useTelemetry, qa as useTheme, me as useThrottle, pe as useTimeout, Ut as useToast, J as useToggle, pr as useTorch, Za as useTranslate, wa as useUpdate, Yo as useViaCEP, Eo as useVideoRecorder, ns as useWatch, is as useWebSocket, he as useWindowSize, Ro as useZodForm, Ho as validateCNPJ, Uo as validateCPF, Io as validateForm, Sr as visibleTurns, fi as withTimeout, mi as writeXlsx, Lo as zodResolver };
318
+ export { Er as AIChat, Cr as AIChatComposer, Tr as AIChatTurn, sr as ALL_BARCODE_FORMATS, Xn as AUDIO_MIME_CANDIDATES, Ki as AccessControlProvider, t as Accordion, n as Alert, r as AppBar, $a as AppProviders, Ea as AppRouter, o as AppShell, s as AspectRatio, Jn as AudioPlayer, or as AudioRecorder, Oi as AuthGuard, c as Avatar, l as AvatarGroup, i as BREAKPOINTS, u as Badge, d as Banner, hr as BarcodeScanner, f as BottomNavigation, p as BottomSheet, m as Breadcrumbs, Oa as BrowserRouter, h as Button, ea as CACHE_TIME, Wo as CEPInput, Go as CNPJInput, Ko as CPFInput, On as Calendar, Yi as Can, g as Card, Pn as Carousel, _ as Center, Gn as Chat, Wn as ChatComposer, v as Checkbox, y as ChipInput, dn as ClickOutside, an as CodeBlock, Sn as Collapsible, b as Combobox, Tn as Command, fn as ConditionalWrapper, S as ConfirmDialog, I as Container, Cn as ContextMenu, Xo as Controller, rn as CopyButton, cr as DEFAULT_BARCODE_FORMATS, hs as DEFAULT_CAR_SPEED_KMH, Si as DEFAULT_CHUNK_SIZE, gs as DEFAULT_CIRCUITY_FACTOR, _s as DEFAULT_MODE_DURATION_FACTORS, Ni as DEFAULT_PUB_KEY_CRED_PARAMS, cc as DIVERGING_STEP_COUNT, gn as DataList, Fn as DataTable, w as DatePicker, jn as DateRangePicker, _n as DescriptionList, T as Divider, E as Drawer, D as DropdownMenu, O as Dropzone, us as EARTH_RADIUS_KM, k as EmptyState, Qa as ErrorBoundary, A as ErrorState, mn as ErrorText, $s as FeatureFlagsProvider, j as FileUpload, Pr as FilterBar, Ln as FloatingActionButton, pn as For, M as Form, N as FormActions, Fo as FormField, Zo as FormProvider, P as FormRow, F as FormSection, Qi as GoogleSignIn, L as Grid, ka as HashRouter, yt as Hide, wn as HoverCard, Ya as I18nProvider, hn as Image, Wt as ImageCropper, C as Input, B as InstallBanner, V as InstallButton, et as Kanban, nt as Kbd, xn as Label, Hn as Lightbox, Aa as Link, In as ListTile, wr as Markdown, Or as Masonry, ja as MemoryRouter, Nn as Menubar, x as Modal, rt as ModalsProvider, sn as Money, qo as MoneyInput, An as MultiSelect, ot as NProgressBar, Ma as NavLink, at as Navbar, Na as Navigate, Mn as NavigationMenu, Rn as NavigationRail, Jt as NotificationCenter, lc as ORDINAL_START_STEP, Je as OfflineIndicator, Pa as Outlet, ct as Page, lt as Pagination, Pi as PasskeyError, ut as PasswordInput, Jo as PhoneInput, ft as PinInput, pt as Popover, un as Portal, mt as Progress, $t as QRCapacityError, nn as QRCode, ia as QueryProvider, ta as REFETCH_TIME, ht as Radio, gt as RadioGroup, _t as RangeSlider, vt as RatingStars, Bn as RefreshIndicator, on as RelativeTime, Dn as Resizable, Fa as Route, Ta as RouteGuard, Ia as Routes, uc as SEQUENTIAL_STEP_COUNT, na as STALE_TIME, xt as SafeArea, Kt as Scheduler, En as ScrollArea, St as SearchBar, Ct as SegmentedControl, wt as Select, bt as Show, Tt as Sidebar, Un as SignaturePad, Et as Skeleton, kn as Slider, Dt as Spacer, Gt as Sparkline, Ot as Spinner, R as Stack, kt as Stat, At as Stepper, Pt as StepperInput, Ft as Switch, Qe as SyncStatusBadge, Lt as Table, Rt as Tabs, It as Tag, Js as TelemetryProvider, hi as TempestApiError, ga as TempestDataProvider, zt as Textarea, Ka as ThemeProvider, zn as TimePicker, Bt as Timeline, Ht as ToastProvider, vn as Toggle, yn as ToggleGroup, bn as ToggleGroupItem, Vt as Tooltip, kr as Tour, Os as TrajectoryMap, Dr as Transfer, cn as TreeView, ln as TruncateText, $e as UpdatePrompt, Xt as VirtualList, Qt as VirtualTable, Ze as VisuallyHidden, io as WebPushClient, ao as WebPushPermissionDeniedError, oo as WebPushUnsupportedError, Vn as Wizard, gr as aiChatStrings, oe as announce, tt as applyKanbanMove, ks as applyTheme, ni as assertNever, Fi as base64UrlToBytes, ds as bearingDeg, ir as blobToWav, ys as boundingBox, bs as boundsCenter, Ae as buildOpenInChromeIntent, Ii as bytesToBase64Url, mc as cachedResponseBytes, Hr as camelCase, Ur as capitalize, Jr as chunk, jt as clamp, as as clampLatitude, Li as classifyPasskeyError, se as clearAnnouncer, _o as clearCaches, e as cn, Zt as compareValues, Ks as consoleSink, Xs as consoleTelemetryAdapter, js as contrastRatio, vi as createApiClient, yo as createAudioPlayer, Zn as createAudioRecorder, Di as createAuthStore, lr as createBarcodeDetector, Ms as createColorScale, ha as createDataProvider, eo as createEventStream, rc as createGrowthBookFeatureFlagsAdapter, Ja as createI18n, nc as createInMemoryFlags, _c as createInferenceProfiler, ic as createLaunchDarklyFeatureFlagsAdapter, er as createLevelMeter, Ci as createLocalUploadStorage, qs as createLogger, Yn as createMediaRecorder, Ts as createOSRMBackend, pa as createOfflineStore, jo as createOfflineSync, fo as createPartialResponse, Ri as createPasskeyClient, Es as createPositionTracker, Qs as createPostHogTelemetryAdapter, ra as createQueryKeys, Mi as createRefreshQueue, wi as createResumableUpload, Xi as createRoleAccessControl, Ga as createSelectors, Zs as createSentryTelemetryAdapter, Wa as createStore, Gi as createTempestAuth, Bs as createTheme, Co as createVideoRecorder, rs as createWebSocket, si as debounce, ki as decodeJWT, Qr as deepMerge, Da as defineRoutes, Ar as describeFilter, dc as divergingScale, aa as emptyOffsetPage, en as encodeQR, ar as encodeWav, dt as estimatePasswordStrength, Be as estimateStorage, vs as estimateTravel, xs as expandBounds, jr as filtersFromSearchParams, Mr as filtersToSearchParams, Ss as fitProjection, Mt as formatBytes, zo as formatCEP, Bo as formatCNPJ, Fr as formatCPF, Nt as formatCompactNumber, Ir as formatCurrency, Lr as formatDate, Rr as formatDateTime, gc as formatDurationMs, zr as formatPercent, Br as formatPhone, xi as generateIdempotencyKey, Ws as getInitialTheme, ur as getSupportedBarcodeFormats, Hs as getThemePreset, Yr as groupBy, fs as haversineKm, Ns as hexToOklch, Ps as hexToRgb, Fs as hexToRgbaString, Mo as higherVersionWins, vo as inspectCaches, ho as installBackgroundSync, co as installNotificationClickHandler, po as installPrecache, lo as installPushHandler, mo as installRuntimeCache, uo as installSkipWaitingListener, je as isAndroid, Me as isAndroidWithoutPromptApi, gi as isApiError, Kn as isAudioOutputSelectionSupported, Qn as isAudioRecordingSupported, dr as isBarcodeDetectionSupported, zi as isConditionalMediationAvailable, os as isCoordinate, oa as isCursorPage, ri as isDefined, $r as isEmpty, _r as isGenerating, Ne as isIOS, Ai as isJWTExpired, nr as isMediaCaptureSupported, ii as isNumber, sa as isOffsetPage, Bi as isPasskeySupported, ai as isPlainObject, Vi as isPlatformAuthenticatorAvailable, no as isPushSupported, Do as isScreenCaptureSupported, ac as isShareSupported, ko as isSpeechRecognitionSupported, Pe as isStandalone, oi as isString, ss as isValidLatitude, cs as isValidLongitude, wo as isVideoRecordingSupported, Wr as kebabCase, vr as lastAssistantId, No as lastWriteWins, ji as lazyWithRetry, va as listQueryKey, tn as matrixToPath, ci as memoizeOne, Ue as moveItem, fr as normalizeBarcode, ls as normalizeLongitude, st as nprogress, Is as oklchToHex, ei as omit, li as once, ya as oneQueryKey, Nr as operatorsFor, yi as parseResponse, ps as pathLengthKm, Zi as permissionsFromToken, ma as persistQueryClientOffline, ti as pick, $n as pickAudioMimeType, To as pickVideoMimeType, bo as playAudio, Gr as pluralize, Cs as projectMercator, pi as randomId, Xr as range, hc as readDeviceProfile, As as readThemeToken, Ls as readableForeground, La as redirect, go as registerPeriodicSync, Ie as registerServiceWorker, Rs as relativeLuminance, qt as relativeTime, da as removeById, Ve as requestPersistentStorage, _i as retry, zs as rgbToHex, yr as roleLabel, fc as scaleSteps, pc as sequentialScale, qn as setAudioOutput, oc as share, sc as shareOrDownloadBlob, Le as skipWaiting, di as sleep, Kr as slugify, xo as stopAudio, Vr as storage, br as tailSignature, Vs as themeContrast, Gs as themeInitScript, Us as themePresets, ui as throttle, ms as toRadians, qr as truncate, xr as turnTime, Zr as uniqueBy, Vo as unmask, ws as unprojectMercator, Re as unregisterAllServiceWorkers, Ti as uploadFingerprint, bi as uploadWithProgress, fa as upsertById, ro as urlBase64ToUint8Array, qi as useAccessControl, ce as useAnnounce, Y as useAsync, So as useAudio, tr as useAudioRecorder, mr as useBarcodeScanner, z as useBeforeInstallPrompt, a as useBreakpoint, Ji as useCan, Ee as useClickOutside, W as useClientFilter, ee as useClipboard, be as useCounter, ba as useCreate, la as useCursorQuery, _a as useDataProvider, H as useDebounce, ue as useDeepMemo, xa as useDelete, ve as useDisclosure, xe as useDocumentTitle, Z as useDocumentVisibility, Po as useErrorHandler, K as useEventListener, to as useEventStream, Se as useFavicon, ec as useFeatureFlag, Qo as useFieldArray, tc as useFlagValue, ae as useFocusTrap, $o as useForm, es as useFormContext, ts as useFormState, re as useGeolocation, ge as useHover, Xa as useI18n, ne as useIdle, Fe as useInstallPrompt, Q as useIntersectionObserver, fe as useInterval, De as useIsFirstRender, te as useKeyboardShortcut, Sa as useList, ye as useListState, q as useLocalStorage, Ra as useLocation, _e as useLongPress, ke as useLongPressHandlers, Ce as useMap, za as useMatch, qe as useMediaDevices, Ke as useMediaPermission, G as useMediaQuery, rr as useMicrophone, it as useModals, Ba as useNavigate, Yt as useNotificationInbox, $i as useOAuthCallback, Oe as useObjectUrl, ua as useOfflineMutation, Ye as useOfflineSync, Ca as useOne, X as useOnline, ca as usePaginatedQuery, U as usePagination, Va as useParams, Hi as usePasskeyCapabilities, Ui as usePasskeyRegistration, Wi as usePasskeySignIn, Ei as usePoll, Ds as usePositionTracker, de as usePrevious, so as usePushSubscription, Te as useQueue, $ as useResizeObserver, Ha as useRouteError, Oo as useScreenCapture, ie as useScrollLock, Ge as useScrollOverflow, Ua as useSearchParams, ze as useServiceWorkerUpdate, we as useSet, We as useSortable, Ao as useSpeechRecognition, le as useStableCallback, He as useStorageEstimate, Xe as useSyncStatus, Ys as useTelemetry, qa as useTheme, me as useThrottle, pe as useTimeout, Ut as useToast, J as useToggle, pr as useTorch, Za as useTranslate, wa as useUpdate, Yo as useViaCEP, Eo as useVideoRecorder, ns as useWatch, is as useWebSocket, he as useWindowSize, Ro as useZodForm, Ho as validateCNPJ, Uo as validateCPF, Io as validateForm, Sr as visibleTurns, fi as withTimeout, mi as writeXlsx, Lo as zodResolver };