@burdenoff/microfe-ggnomad 2026.1030.1 → 2026.1030.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ggnomad/components/EntityCard.d.ts +9 -1
- package/dist/ggnomad/components/EntityCard.d.ts.map +1 -1
- package/dist/ggnomad/components/EntityCard.js +14 -7
- package/dist/ggnomad/components/EntityCard.js.map +1 -1
- package/dist/ggnomad/hooks/useFocusedRecordParam.d.ts +23 -0
- package/dist/ggnomad/hooks/useFocusedRecordParam.d.ts.map +1 -0
- package/dist/ggnomad/hooks/useFocusedRecordParam.js +15 -0
- package/dist/ggnomad/hooks/useFocusedRecordParam.js.map +1 -0
- package/dist/ggnomad/pages/BookingsPage.d.ts.map +1 -1
- package/dist/ggnomad/pages/BookingsPage.js +149 -142
- package/dist/ggnomad/pages/BookingsPage.js.map +1 -1
- package/dist/ggnomad/pages/ProviderAnalyticsPage.d.ts.map +1 -1
- package/dist/ggnomad/pages/ProviderAnalyticsPage.js +135 -134
- package/dist/ggnomad/pages/ProviderAnalyticsPage.js.map +1 -1
- package/dist/services/assistantQuota.d.ts +69 -0
- package/dist/services/assistantQuota.d.ts.map +1 -0
- package/dist/services/assistantQuota.js +52 -0
- package/dist/services/assistantQuota.js.map +1 -0
- package/dist/services/createSandboxAssistantTransport.d.ts +5 -3
- package/dist/services/createSandboxAssistantTransport.d.ts.map +1 -1
- package/dist/services/createSandboxAssistantTransport.js +26 -6
- package/dist/services/createSandboxAssistantTransport.js.map +1 -1
- package/dist/utils/pageContext.d.ts +62 -8
- package/dist/utils/pageContext.d.ts.map +1 -1
- package/dist/utils/pageContext.js +114 -39
- package/dist/utils/pageContext.js.map +1 -1
- package/package.json +3 -2
|
@@ -14,6 +14,14 @@ type EntityCardProps = {
|
|
|
14
14
|
imageAlt?: string;
|
|
15
15
|
/** When provided, the whole card becomes a router Link. */
|
|
16
16
|
to?: string;
|
|
17
|
+
/**
|
|
18
|
+
* When provided (and `to` is not), the title becomes a toggle button that
|
|
19
|
+
* focuses this record in place — e.g. a booking on the bookings page, which
|
|
20
|
+
* has no detail route. The focused card is ringed.
|
|
21
|
+
*/
|
|
22
|
+
onSelect?: () => void;
|
|
23
|
+
/** Whether this record is the focused one (only meaningful with `onSelect`). */
|
|
24
|
+
selected?: boolean;
|
|
17
25
|
className?: string;
|
|
18
26
|
};
|
|
19
27
|
/**
|
|
@@ -22,6 +30,6 @@ type EntityCardProps = {
|
|
|
22
30
|
* fallback otherwise) above the title / meta / price. Hover lifts the shadow and
|
|
23
31
|
* gently zooms the photo. When `to` is set the whole surface is one accessible link.
|
|
24
32
|
*/
|
|
25
|
-
export declare function EntityCard({ title, meta, price, badge, footer, image, imageAlt, to, className, }: EntityCardProps): import("react").JSX.Element;
|
|
33
|
+
export declare function EntityCard({ title, meta, price, badge, footer, image, imageAlt, to, onSelect, selected, className, }: EntityCardProps): import("react").JSX.Element;
|
|
26
34
|
export {};
|
|
27
35
|
//# sourceMappingURL=EntityCard.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EntityCard.d.ts","sourceRoot":"","sources":["../../../src/ggnomad/components/EntityCard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAKvC,KAAK,eAAe,GAAG;IACrB,KAAK,EAAE,SAAS,CAAC;IACjB,4DAA4D;IAC5D,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,6CAA6C;IAC7C,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,uEAAuE;IACvE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,kDAAkD;IAClD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,2DAA2D;IAC3D,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,EACzB,KAAK,EACL,IAAI,EACJ,KAAK,EACL,KAAK,EACL,MAAM,EACN,KAAK,EACL,QAAQ,EACR,EAAE,EACF,SAAS,GACV,EAAE,eAAe,+
|
|
1
|
+
{"version":3,"file":"EntityCard.d.ts","sourceRoot":"","sources":["../../../src/ggnomad/components/EntityCard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAKvC,KAAK,eAAe,GAAG;IACrB,KAAK,EAAE,SAAS,CAAC;IACjB,4DAA4D;IAC5D,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,6CAA6C;IAC7C,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,uEAAuE;IACvE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,kDAAkD;IAClD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,2DAA2D;IAC3D,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,gFAAgF;IAChF,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,EACzB,KAAK,EACL,IAAI,EACJ,KAAK,EACL,KAAK,EACL,MAAM,EACN,KAAK,EACL,QAAQ,EACR,EAAE,EACF,QAAQ,EACR,QAAgB,EAChB,SAAS,GACV,EAAE,eAAe,+BA4EjB"}
|
|
@@ -3,8 +3,8 @@ import { Link as t } from "react-router";
|
|
|
3
3
|
import { GlassCard as n } from "@burdenoff/fe-libs/ui";
|
|
4
4
|
import { Fragment as r, jsx as i, jsxs as a } from "react/jsx-runtime";
|
|
5
5
|
//#region src/ggnomad/components/EntityCard.tsx
|
|
6
|
-
function o({ title: o, meta: s, price: c, badge: l, footer: u, image: d, imageAlt: f, to: p,
|
|
7
|
-
let
|
|
6
|
+
function o({ title: o, meta: s, price: c, badge: l, footer: u, image: d, imageAlt: f, to: p, onSelect: m, selected: h = !1, className: g }) {
|
|
7
|
+
let _ = /* @__PURE__ */ a(r, { children: [
|
|
8
8
|
/* @__PURE__ */ a("div", {
|
|
9
9
|
className: "relative -mx-4 -mt-4 mb-3 aspect-[16/10] overflow-hidden",
|
|
10
10
|
children: [
|
|
@@ -27,7 +27,13 @@ function o({ title: o, meta: s, price: c, badge: l, footer: u, image: d, imageAl
|
|
|
27
27
|
}),
|
|
28
28
|
/* @__PURE__ */ a("div", {
|
|
29
29
|
className: "min-w-0",
|
|
30
|
-
children: [/* @__PURE__ */ i("
|
|
30
|
+
children: [m && !p ? /* @__PURE__ */ i("button", {
|
|
31
|
+
type: "button",
|
|
32
|
+
"aria-pressed": h,
|
|
33
|
+
onClick: m,
|
|
34
|
+
className: "block w-full truncate rounded-sm text-left font-medium text-text-primary hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-border-focus cursor-pointer",
|
|
35
|
+
children: o
|
|
36
|
+
}) : /* @__PURE__ */ i("p", {
|
|
31
37
|
className: "truncate font-medium text-text-primary",
|
|
32
38
|
children: o
|
|
33
39
|
}), s ? /* @__PURE__ */ i("p", {
|
|
@@ -49,13 +55,14 @@ function o({ title: o, meta: s, price: c, badge: l, footer: u, image: d, imageAl
|
|
|
49
55
|
className: "group block rounded-card focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-border-focus focus-visible:ring-offset-2 focus-visible:ring-offset-bg-canvas",
|
|
50
56
|
children: /* @__PURE__ */ i(n, {
|
|
51
57
|
treatment: "plain",
|
|
52
|
-
className: e("overflow-hidden border-border-seam p-4",
|
|
53
|
-
children:
|
|
58
|
+
className: e("overflow-hidden border-border-seam p-4", g),
|
|
59
|
+
children: _
|
|
54
60
|
})
|
|
55
61
|
}) : /* @__PURE__ */ i(n, {
|
|
56
62
|
treatment: "plain",
|
|
57
|
-
|
|
58
|
-
|
|
63
|
+
"aria-current": m && h ? "true" : void 0,
|
|
64
|
+
className: e("group overflow-hidden border-border-seam p-4", m && h && "ring-2 ring-action-primary-bg", g),
|
|
65
|
+
children: _
|
|
59
66
|
});
|
|
60
67
|
}
|
|
61
68
|
//#endregion
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EntityCard.js","names":[],"sources":["../../../src/ggnomad/components/EntityCard.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\nimport { Link } from 'react-router';\nimport { GlassCard } from '@burdenoff/fe-libs/ui';\nimport { cn } from '../utils/cn';\n\ntype EntityCardProps = {\n title: ReactNode;\n /** Optional secondary line (category / type / duration). */\n meta?: ReactNode;\n /** Right-aligned price or primary figure. */\n price?: ReactNode;\n badge?: ReactNode;\n footer?: ReactNode;\n /** Optional cover photo URL. Falls back to a branded gradient tile. */\n image?: string | null;\n /** Accessible description for the cover photo. */\n imageAlt?: string;\n /** When provided, the whole card becomes a router Link. */\n to?: string;\n className?: string;\n};\n\n/**\n * An inventory tile for a property / tour / event / activity / provider. When an\n * `image` is supplied it renders a 16:10 cover photo (with a branded gradient\n * fallback otherwise) above the title / meta / price. Hover lifts the shadow and\n * gently zooms the photo. When `to` is set the whole surface is one accessible link.\n */\nexport function EntityCard({\n title,\n meta,\n price,\n badge,\n footer,\n image,\n imageAlt,\n to,\n className,\n}: EntityCardProps) {\n const cover = (\n <div className=\"relative -mx-4 -mt-4 mb-3 aspect-[16/10] overflow-hidden\">\n {image ? (\n <img\n src={image}\n alt={imageAlt ?? ''}\n loading=\"lazy\"\n decoding=\"async\"\n className=\"size-full object-cover transition-transform duration-300 group-hover:scale-[1.04]\"\n />\n ) : (\n <div\n aria-hidden=\"true\"\n className=\"size-full bg-gradient-to-br from-action-primary-bg/25 via-bg-sunken to-bg-sunken\"\n />\n )}\n <div className=\"pointer-events-none absolute inset-0 bg-gradient-to-t from-black/45 via-transparent to-transparent\" />\n {badge ? <div className=\"absolute left-2 top-2\">{badge}</div> : null}\n </div>\n );\n\n const body = (\n <>\n {cover}\n <div className=\"min-w-0\">\n <p className=\"truncate font-medium text-text-primary\">{title}</p>\n {meta ? <p className=\"mt-0.5 text-sm text-text-secondary\">{meta}</p> : null}\n </div>\n {price ? (\n <p className=\"mt-2 text-sm font-medium tabular-nums text-text-primary\">{price}</p>\n ) : null}\n {footer ? <div className=\"mt-2 text-sm text-text-secondary\">{footer}</div> : null}\n </>\n );\n\n if (to) {\n return (\n <Link\n to={to}\n className=\"group block rounded-card focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-border-focus focus-visible:ring-offset-2 focus-visible:ring-offset-bg-canvas\"\n >\n <GlassCard\n treatment=\"plain\"\n className={cn('overflow-hidden border-border-seam p-4', className)}\n >\n {body}\n </GlassCard>\n </Link>\n );\n }\n\n return (\n <GlassCard\n treatment=\"plain\"\n className={cn('group overflow-hidden border-border-seam p-4'
|
|
1
|
+
{"version":3,"file":"EntityCard.js","names":[],"sources":["../../../src/ggnomad/components/EntityCard.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\nimport { Link } from 'react-router';\nimport { GlassCard } from '@burdenoff/fe-libs/ui';\nimport { cn } from '../utils/cn';\n\ntype EntityCardProps = {\n title: ReactNode;\n /** Optional secondary line (category / type / duration). */\n meta?: ReactNode;\n /** Right-aligned price or primary figure. */\n price?: ReactNode;\n badge?: ReactNode;\n footer?: ReactNode;\n /** Optional cover photo URL. Falls back to a branded gradient tile. */\n image?: string | null;\n /** Accessible description for the cover photo. */\n imageAlt?: string;\n /** When provided, the whole card becomes a router Link. */\n to?: string;\n /**\n * When provided (and `to` is not), the title becomes a toggle button that\n * focuses this record in place — e.g. a booking on the bookings page, which\n * has no detail route. The focused card is ringed.\n */\n onSelect?: () => void;\n /** Whether this record is the focused one (only meaningful with `onSelect`). */\n selected?: boolean;\n className?: string;\n};\n\n/**\n * An inventory tile for a property / tour / event / activity / provider. When an\n * `image` is supplied it renders a 16:10 cover photo (with a branded gradient\n * fallback otherwise) above the title / meta / price. Hover lifts the shadow and\n * gently zooms the photo. When `to` is set the whole surface is one accessible link.\n */\nexport function EntityCard({\n title,\n meta,\n price,\n badge,\n footer,\n image,\n imageAlt,\n to,\n onSelect,\n selected = false,\n className,\n}: EntityCardProps) {\n const cover = (\n <div className=\"relative -mx-4 -mt-4 mb-3 aspect-[16/10] overflow-hidden\">\n {image ? (\n <img\n src={image}\n alt={imageAlt ?? ''}\n loading=\"lazy\"\n decoding=\"async\"\n className=\"size-full object-cover transition-transform duration-300 group-hover:scale-[1.04]\"\n />\n ) : (\n <div\n aria-hidden=\"true\"\n className=\"size-full bg-gradient-to-br from-action-primary-bg/25 via-bg-sunken to-bg-sunken\"\n />\n )}\n <div className=\"pointer-events-none absolute inset-0 bg-gradient-to-t from-black/45 via-transparent to-transparent\" />\n {badge ? <div className=\"absolute left-2 top-2\">{badge}</div> : null}\n </div>\n );\n\n const body = (\n <>\n {cover}\n <div className=\"min-w-0\">\n {onSelect && !to ? (\n <button\n type=\"button\"\n aria-pressed={selected}\n onClick={onSelect}\n className=\"block w-full truncate rounded-sm text-left font-medium text-text-primary hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-border-focus cursor-pointer\"\n >\n {title}\n </button>\n ) : (\n <p className=\"truncate font-medium text-text-primary\">{title}</p>\n )}\n {meta ? <p className=\"mt-0.5 text-sm text-text-secondary\">{meta}</p> : null}\n </div>\n {price ? (\n <p className=\"mt-2 text-sm font-medium tabular-nums text-text-primary\">{price}</p>\n ) : null}\n {footer ? <div className=\"mt-2 text-sm text-text-secondary\">{footer}</div> : null}\n </>\n );\n\n if (to) {\n return (\n <Link\n to={to}\n className=\"group block rounded-card focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-border-focus focus-visible:ring-offset-2 focus-visible:ring-offset-bg-canvas\"\n >\n <GlassCard\n treatment=\"plain\"\n className={cn('overflow-hidden border-border-seam p-4', className)}\n >\n {body}\n </GlassCard>\n </Link>\n );\n }\n\n return (\n <GlassCard\n treatment=\"plain\"\n aria-current={onSelect && selected ? 'true' : undefined}\n className={cn(\n 'group overflow-hidden border-border-seam p-4',\n onSelect && selected && 'ring-2 ring-action-primary-bg',\n className\n )}\n >\n {body}\n </GlassCard>\n );\n}\n"],"mappings":";;;;;AAoCA,SAAgB,EAAW,EACzB,UACA,SACA,UACA,UACA,WACA,UACA,aACA,OACA,aACA,cAAW,IACX,gBACkB;CAsBlB,IAAM,IACJ,kBAAA,GAAA,EAAA,UAAA;EArBA,kBAAC,OAAD;GAAK,WAAU;aAAf;IACG,IACC,kBAAC,OAAD;KACE,KAAK;KACL,KAAK,KAAY;KACjB,SAAQ;KACR,UAAS;KACT,WAAU;IACX,CAAA,IAED,kBAAC,OAAD;KACE,eAAY;KACZ,WAAU;IACX,CAAA;IAEH,kBAAC,OAAD,EAAK,WAAU,qGAAsG,CAAA;IACpH,IAAQ,kBAAC,OAAD;KAAK,WAAU;eAAyB;IAAW,CAAA,IAAI;GAC7D;GAKF;EACD,kBAAC,OAAD;GAAK,WAAU;aAAf,CACG,KAAY,CAAC,IACZ,kBAAC,UAAD;IACE,MAAK;IACL,gBAAc;IACd,SAAS;IACT,WAAU;cAET;GACK,CAAA,IAER,kBAAC,KAAD;IAAG,WAAU;cAA0C;GAAS,CAAA,GAEjE,IAAO,kBAAC,KAAD;IAAG,WAAU;cAAsC;GAAQ,CAAA,IAAI,IACpE;;EACJ,IACC,kBAAC,KAAD;GAAG,WAAU;aAA2D;EAAS,CAAA,IAC/E;EACH,IAAS,kBAAC,OAAD;GAAK,WAAU;aAAoC;EAAY,CAAA,IAAI;CAC7E,EAAA,CAAA;CAmBJ,OAhBI,IAEA,kBAAC,GAAD;EACM;EACJ,WAAU;YAEV,kBAAC,GAAD;GACE,WAAU;GACV,WAAW,EAAG,0CAA0C,CAAS;aAEhE;EACQ,CAAA;CACP,CAAA,IAKR,kBAAC,GAAD;EACE,WAAU;EACV,gBAAc,KAAY,IAAW,SAAS,KAAA;EAC9C,WAAW,EACT,gDACA,KAAY,KAAY,iCACxB,CACF;YAEC;CACQ,CAAA;AAEf"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The search param that names the record a list page is focused on.
|
|
3
|
+
*
|
|
4
|
+
* `resolveGGNomadConversationContext` (`src/utils/pageContext.ts`) reads the
|
|
5
|
+
* same `?id=` on the bookings and provider-analytics pages, so the assistant
|
|
6
|
+
* can act on "this booking" without asking which one the user means, and the
|
|
7
|
+
* focused record is linkable.
|
|
8
|
+
*/
|
|
9
|
+
export declare const FOCUSED_RECORD_PARAM = "id";
|
|
10
|
+
/**
|
|
11
|
+
* The focused record on a list page, held in the URL rather than component
|
|
12
|
+
* state.
|
|
13
|
+
*
|
|
14
|
+
* Keeping the URL as the single source of truth means a deep link or a reload
|
|
15
|
+
* focuses the same record even before (or without) the list loading it, and
|
|
16
|
+
* there is no second copy of the selection to fall out of step. Updates use
|
|
17
|
+
* `replace` so focusing records does not fill the browser history.
|
|
18
|
+
*/
|
|
19
|
+
export declare function useFocusedRecordParam(): readonly [
|
|
20
|
+
focusedId: string | null,
|
|
21
|
+
setFocusedId: (id: string | null) => void
|
|
22
|
+
];
|
|
23
|
+
//# sourceMappingURL=useFocusedRecordParam.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useFocusedRecordParam.d.ts","sourceRoot":"","sources":["../../../src/ggnomad/hooks/useFocusedRecordParam.ts"],"names":[],"mappings":"AAGA;;;;;;;GAOG;AACH,eAAO,MAAM,oBAAoB,OAAO,CAAC;AAEzC;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,IAAI,SAAS;IAChD,SAAS,EAAE,MAAM,GAAG,IAAI;IACxB,YAAY,EAAE,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI;CAC1C,CAuBA"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { useCallback as e } from "react";
|
|
2
|
+
import { useSearchParams as t } from "react-router";
|
|
3
|
+
function n() {
|
|
4
|
+
let [n, r] = t();
|
|
5
|
+
return [n.get("id"), e((e) => {
|
|
6
|
+
r((t) => {
|
|
7
|
+
let n = new URLSearchParams(t);
|
|
8
|
+
return e ? n.set("id", e) : n.delete("id"), n;
|
|
9
|
+
}, { replace: !0 });
|
|
10
|
+
}, [r])];
|
|
11
|
+
}
|
|
12
|
+
//#endregion
|
|
13
|
+
export { n as useFocusedRecordParam };
|
|
14
|
+
|
|
15
|
+
//# sourceMappingURL=useFocusedRecordParam.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useFocusedRecordParam.js","names":[],"sources":["../../../src/ggnomad/hooks/useFocusedRecordParam.ts"],"sourcesContent":["import { useCallback } from 'react';\nimport { useSearchParams } from 'react-router';\n\n/**\n * The search param that names the record a list page is focused on.\n *\n * `resolveGGNomadConversationContext` (`src/utils/pageContext.ts`) reads the\n * same `?id=` on the bookings and provider-analytics pages, so the assistant\n * can act on \"this booking\" without asking which one the user means, and the\n * focused record is linkable.\n */\nexport const FOCUSED_RECORD_PARAM = 'id';\n\n/**\n * The focused record on a list page, held in the URL rather than component\n * state.\n *\n * Keeping the URL as the single source of truth means a deep link or a reload\n * focuses the same record even before (or without) the list loading it, and\n * there is no second copy of the selection to fall out of step. Updates use\n * `replace` so focusing records does not fill the browser history.\n */\nexport function useFocusedRecordParam(): readonly [\n focusedId: string | null,\n setFocusedId: (id: string | null) => void,\n] {\n const [searchParams, setSearchParams] = useSearchParams();\n const focusedId = searchParams.get(FOCUSED_RECORD_PARAM);\n\n const setFocusedId = useCallback(\n (id: string | null) => {\n setSearchParams(\n (previous) => {\n const next = new URLSearchParams(previous);\n if (id) {\n next.set(FOCUSED_RECORD_PARAM, id);\n } else {\n next.delete(FOCUSED_RECORD_PARAM);\n }\n return next;\n },\n { replace: true }\n );\n },\n [setSearchParams]\n );\n\n return [focusedId, setFocusedId] as const;\n}\n"],"mappings":";;AAsBA,SAAgB,IAGd;CACA,IAAM,CAAC,GAAc,KAAmB,EAAgB;CAqBxD,OAAO,CApBW,EAAa,IAAA,IAoBvB,GAlBa,GAClB,MAAsB;EACrB,GACG,MAAa;GACZ,IAAM,IAAO,IAAI,gBAAgB,CAAQ;GAMzC,OALI,IACF,EAAK,IAAA,MAA0B,CAAE,IAEjC,EAAK,OAAA,IAA2B,GAE3B;EACT,GACA,EAAE,SAAS,GAAK,CAClB;CACF,GACA,CAAC,CAAe,CAGC,CAAY;AACjC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BookingsPage.d.ts","sourceRoot":"","sources":["../../../src/ggnomad/pages/BookingsPage.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"BookingsPage.d.ts","sourceRoot":"","sources":["../../../src/ggnomad/pages/BookingsPage.tsx"],"names":[],"mappings":"AA6EA,wBAAgB,YAAY,gCA6f3B"}
|