@cellarnode/ui 0.172.0 → 0.173.1
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/chat/chat-api.d.ts.map +1 -1
- package/dist/chat/chat-api.js +12 -2
- package/dist/chat/chat-api.js.map +1 -1
- package/dist/chat/chat-composer.d.ts +67 -0
- package/dist/chat/chat-composer.d.ts.map +1 -0
- package/dist/chat/chat-composer.js +482 -0
- package/dist/chat/chat-composer.js.map +1 -0
- package/dist/chat/chat-labels.d.ts +5 -0
- package/dist/chat/chat-labels.d.ts.map +1 -0
- package/dist/chat/chat-labels.js +8 -0
- package/dist/chat/chat-labels.js.map +1 -0
- package/dist/chat/chat-surface.d.ts +127 -26
- package/dist/chat/chat-surface.d.ts.map +1 -1
- package/dist/chat/chat-surface.js +103 -45
- package/dist/chat/chat-surface.js.map +1 -1
- package/dist/chat/index.d.ts +2 -2
- package/dist/chat/index.d.ts.map +1 -1
- package/dist/chat/index.js.map +1 -1
- package/dist/chat/messenger-screen/index.d.ts +1 -1
- package/dist/chat/messenger-screen/index.d.ts.map +1 -1
- package/dist/chat/messenger-screen/message-adapters.d.ts +4 -2
- package/dist/chat/messenger-screen/message-adapters.d.ts.map +1 -1
- package/dist/chat/messenger-screen/message-adapters.js +52 -6
- package/dist/chat/messenger-screen/message-adapters.js.map +1 -1
- package/dist/chat/messenger-screen/messenger-screen.d.ts.map +1 -1
- package/dist/chat/messenger-screen/messenger-screen.js +20 -3
- package/dist/chat/messenger-screen/messenger-screen.js.map +1 -1
- package/dist/chat/messenger-screen/room-panel.d.ts +9 -1
- package/dist/chat/messenger-screen/room-panel.d.ts.map +1 -1
- package/dist/chat/messenger-screen/room-panel.js +114 -19
- package/dist/chat/messenger-screen/room-panel.js.map +1 -1
- package/dist/chat/messenger-screen/types.d.ts +49 -2
- package/dist/chat/messenger-screen/types.d.ts.map +1 -1
- package/dist/chat/types.d.ts +33 -5
- package/dist/chat/types.d.ts.map +1 -1
- package/dist/chat-ably/use-chat-messages.d.ts +33 -6
- package/dist/chat-ably/use-chat-messages.d.ts.map +1 -1
- package/dist/chat-ably/use-chat-messages.js +116 -17
- package/dist/chat-ably/use-chat-messages.js.map +1 -1
- package/dist/components/importer-picker-modal.d.ts +5 -0
- package/dist/components/importer-picker-modal.d.ts.map +1 -1
- package/dist/components/importer-picker-modal.js +3 -2
- package/dist/components/importer-picker-modal.js.map +1 -1
- package/dist/product-editor/index.d.ts +2 -0
- package/dist/product-editor/index.d.ts.map +1 -1
- package/dist/product-editor/index.js +1 -0
- package/dist/product-editor/index.js.map +1 -1
- package/dist/product-editor/product-readiness-approval-dialog.d.ts +23 -0
- package/dist/product-editor/product-readiness-approval-dialog.d.ts.map +1 -0
- package/dist/product-editor/product-readiness-approval-dialog.js +101 -0
- package/dist/product-editor/product-readiness-approval-dialog.js.map +1 -0
- package/dist/product-editor/tabs/product-status-tab.d.ts +2 -3
- package/dist/product-editor/tabs/product-status-tab.d.ts.map +1 -1
- package/dist/product-editor/tabs/product-status-tab.js +34 -40
- package/dist/product-editor/tabs/product-status-tab.js.map +1 -1
- package/dist/realtime/journey-offers/schemas.d.ts +21 -6
- package/dist/realtime/journey-offers/schemas.d.ts.map +1 -1
- package/dist/realtime/journey-offers/schemas.js +16 -10
- package/dist/realtime/journey-offers/schemas.js.map +1 -1
- package/package.json +1 -1
|
@@ -15,6 +15,10 @@ export interface ImporterPickerImporter {
|
|
|
15
15
|
specialties?: string[];
|
|
16
16
|
/** Whether this importer is in an active partnership with the producer. */
|
|
17
17
|
isPartnership?: boolean;
|
|
18
|
+
/** Why this importer matches the producer's product and target market. */
|
|
19
|
+
matchRationale?: string;
|
|
20
|
+
/** Whether CellarNode assigned this importer responsibility for the market. */
|
|
21
|
+
isMarketResponsible?: boolean;
|
|
18
22
|
/** Optional logo URL. */
|
|
19
23
|
logoUrl?: string;
|
|
20
24
|
}
|
|
@@ -50,6 +54,7 @@ interface ImporterPickerCopy {
|
|
|
50
54
|
emptyState: string;
|
|
51
55
|
searchPlaceholder: string;
|
|
52
56
|
searchingLabel: string;
|
|
57
|
+
marketResponsibleLabel: string;
|
|
53
58
|
}
|
|
54
59
|
export declare function ImporterPickerModal({ open, onOpenChange, mode, importers, lockedImporterId, maxSelectable, onConfirm, searchValue, onSearchChange, isSearching, copy: copyOverride, }: ImporterPickerModalProps): import("react/jsx-runtime").JSX.Element;
|
|
55
60
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"importer-picker-modal.d.ts","sourceRoot":"","sources":["../../src/components/importer-picker-modal.tsx"],"names":[],"mappings":"AAKA;;;;;;GAMG;AACH,MAAM,MAAM,kBAAkB,GAAG,UAAU,GAAG,QAAQ,GAAG,MAAM,CAAC;AAEhE,MAAM,WAAW,sBAAsB;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,sEAAsE;IACtE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iDAAiD;IACjD,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,2EAA2E;IAC3E,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,yBAAyB;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,OAAO,CAAC;IACd,YAAY,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACtC,IAAI,EAAE,kBAAkB,CAAC;IACzB,iFAAiF;IACjF,SAAS,EAAE,sBAAsB,EAAE,CAAC;IACpC,gFAAgF;IAChF,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,0FAA0F;IAC1F,aAAa,EAAE,MAAM,CAAC;IACtB,mEAAmE;IACnE,SAAS,EAAE,CAAC,cAAc,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAK9C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,sEAAsE;IACtE,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,6BAA6B;IAC7B,IAAI,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC;CACpC;AAED,UAAU,kBAAkB;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IACnC,UAAU,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC;IACpC,UAAU,EAAE,MAAM,CAAC;IACnB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,cAAc,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"importer-picker-modal.d.ts","sourceRoot":"","sources":["../../src/components/importer-picker-modal.tsx"],"names":[],"mappings":"AAKA;;;;;;GAMG;AACH,MAAM,MAAM,kBAAkB,GAAG,UAAU,GAAG,QAAQ,GAAG,MAAM,CAAC;AAEhE,MAAM,WAAW,sBAAsB;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,sEAAsE;IACtE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iDAAiD;IACjD,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,2EAA2E;IAC3E,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,0EAA0E;IAC1E,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,+EAA+E;IAC/E,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,yBAAyB;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,OAAO,CAAC;IACd,YAAY,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACtC,IAAI,EAAE,kBAAkB,CAAC;IACzB,iFAAiF;IACjF,SAAS,EAAE,sBAAsB,EAAE,CAAC;IACpC,gFAAgF;IAChF,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,0FAA0F;IAC1F,aAAa,EAAE,MAAM,CAAC;IACtB,mEAAmE;IACnE,SAAS,EAAE,CAAC,cAAc,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAK9C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,sEAAsE;IACtE,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,6BAA6B;IAC7B,IAAI,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC;CACpC;AAED,UAAU,kBAAkB;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IACnC,UAAU,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC;IACpC,UAAU,EAAE,MAAM,CAAC;IACnB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,cAAc,EAAE,MAAM,CAAC;IACvB,sBAAsB,EAAE,MAAM,CAAC;CAChC;AAuBD,wBAAgB,mBAAmB,CAAC,EAClC,IAAI,EACJ,YAAY,EACZ,IAAI,EACJ,SAAS,EACT,gBAAgB,EAChB,aAAa,EACb,SAAS,EACT,WAAW,EACX,cAAc,EACd,WAAW,EACX,IAAI,EAAE,YAAY,GACnB,EAAE,wBAAwB,2CA0O1B"}
|
|
@@ -5,7 +5,7 @@ import { useMemo, useState } from "react";
|
|
|
5
5
|
import { cn } from "../lib/utils.js";
|
|
6
6
|
const DEFAULT_COPY = {
|
|
7
7
|
monopolyTitle: "State monopoly tender",
|
|
8
|
-
monopolySubtitle: "
|
|
8
|
+
monopolySubtitle: "CellarNode assigns these importers responsibility for this market.",
|
|
9
9
|
lockedTitle: "Direct from importer",
|
|
10
10
|
lockedSubtitle: "This tender was posted by the importer below. Your offer will go to them.",
|
|
11
11
|
openTitle: "Send offer to importers",
|
|
@@ -20,6 +20,7 @@ const DEFAULT_COPY = {
|
|
|
20
20
|
emptyState: "No recommended importers for this market yet. Contact support.",
|
|
21
21
|
searchPlaceholder: "Search importers by name or country",
|
|
22
22
|
searchingLabel: "Searching importers",
|
|
23
|
+
marketResponsibleLabel: "Market responsible",
|
|
23
24
|
};
|
|
24
25
|
export function ImporterPickerModal({ open, onOpenChange, mode, importers, lockedImporterId, maxSelectable, onConfirm, searchValue, onSearchChange, isSearching, copy: copyOverride, }) {
|
|
25
26
|
const copy = { ...DEFAULT_COPY, ...copyOverride };
|
|
@@ -81,7 +82,7 @@ export function ImporterPickerModal({ open, onOpenChange, mode, importers, locke
|
|
|
81
82
|
? "border-primary bg-primary/5"
|
|
82
83
|
: "border-border bg-background hover:bg-muted/30", disabled && !isSelected && "cursor-not-allowed opacity-50"), children: [mode !== "locked" && (_jsx("div", { className: cn("flex size-5 shrink-0 items-center justify-center rounded border", isSelected
|
|
83
84
|
? "border-primary bg-primary text-primary-foreground"
|
|
84
|
-
: "border-border"), children: isSelected && _jsx(Check, { className: "size-3", "aria-hidden": true }) })), imp.logoUrl ? (_jsx("img", { src: imp.logoUrl, alt: "", className: "size-8 shrink-0 rounded-md object-cover" })) : (_jsx("div", { className: "size-8 shrink-0 rounded-md bg-muted", "aria-hidden": true })), _jsxs("div", { className: "min-w-0 flex-1", children: [_jsx("p", { className: "truncate text-sm font-medium text-foreground", children: imp.name }), imp.country && (_jsx("p", { className: "text-xs text-muted-foreground", children: imp.country })), imp.specialties && imp.specialties.length > 0 && (_jsx("div", { className: "mt-1 flex flex-wrap gap-1", children: imp.specialties.map((sp) => (_jsx("span", { className: "rounded-sm bg-muted px-1.5 py-0.5 text-xs text-muted-foreground", children: sp }, sp))) }))] }), imp.isPartnership && (_jsx("span", { className: "rounded-full bg-[var(--tone-success-soft)] px-2 py-0.5 text-xs font-semibold text-[var(--tone-success-fg)]", children: "Partner" }))] }, imp.id));
|
|
85
|
+
: "border-border"), children: isSelected && _jsx(Check, { className: "size-3", "aria-hidden": true }) })), imp.logoUrl ? (_jsx("img", { src: imp.logoUrl, alt: "", className: "size-8 shrink-0 rounded-md object-cover" })) : (_jsx("div", { className: "size-8 shrink-0 rounded-md bg-muted", "aria-hidden": true })), _jsxs("div", { className: "min-w-0 flex-1", children: [_jsx("p", { className: "truncate text-sm font-medium text-foreground", children: imp.name }), imp.country && (_jsx("p", { className: "text-xs text-muted-foreground", children: imp.country })), imp.specialties && imp.specialties.length > 0 && (_jsx("div", { className: "mt-1 flex flex-wrap gap-1", children: imp.specialties.map((sp) => (_jsx("span", { className: "rounded-sm bg-muted px-1.5 py-0.5 text-xs text-muted-foreground", children: sp }, sp))) })), imp.matchRationale && (_jsx("p", { className: "mt-1 break-words text-xs text-muted-foreground", children: imp.matchRationale }))] }), (imp.isPartnership || (mode === "monopoly" && imp.isMarketResponsible)) && (_jsxs("div", { className: "flex shrink-0 flex-col items-end gap-1", children: [mode === "monopoly" && imp.isMarketResponsible && (_jsx("span", { className: "rounded-full border border-primary/20 bg-primary/10 px-2 py-0.5 text-xs font-semibold text-primary", children: copy.marketResponsibleLabel })), imp.isPartnership && (_jsx("span", { className: "rounded-full bg-[var(--tone-success-soft)] px-2 py-0.5 text-xs font-semibold text-[var(--tone-success-fg)]", children: "Partner" }))] }))] }, imp.id));
|
|
85
86
|
}) })), showCapWarning && (_jsx("p", { className: "mt-3 text-xs text-[var(--tone-warning-fg)]", children: copy.capWarning(maxSelectable) })), _jsxs("div", { className: "mt-4 flex items-center justify-end gap-2 border-t border-border pt-4", children: [_jsx("button", { type: "button", onClick: () => handleOpenChange(false), className: "rounded-md px-3 py-1.5 text-xs font-medium text-foreground hover:bg-muted/50", children: copy.cancel }), _jsx("button", { type: "button", onClick: handleConfirm, disabled: selected.length === 0, className: "rounded-md bg-primary px-3 py-1.5 text-xs font-semibold text-primary-foreground hover:bg-primary/90 disabled:cursor-not-allowed disabled:opacity-50", children: copy.confirm(selected.length) })] })] })] }) }));
|
|
86
87
|
}
|
|
87
88
|
//# sourceMappingURL=importer-picker-modal.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"importer-picker-modal.js","sourceRoot":"","sources":["../../src/components/importer-picker-modal.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"importer-picker-modal.js","sourceRoot":"","sources":["../../src/components/importer-picker-modal.tsx"],"names":[],"mappings":"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"}
|
|
@@ -8,6 +8,8 @@ export { ProductEditorHero } from "./product-editor-hero.js";
|
|
|
8
8
|
export type { ProductEditorHeroProps } from "./product-editor-hero.js";
|
|
9
9
|
export { ProductEditorSaveBar } from "./product-editor-save-bar.js";
|
|
10
10
|
export type { ProductEditorSaveBarProps } from "./product-editor-save-bar.js";
|
|
11
|
+
export { ProductReadinessApprovalDialog } from "./product-readiness-approval-dialog.js";
|
|
12
|
+
export type { ProductReadinessApprovalDialogProps } from "./product-readiness-approval-dialog.js";
|
|
11
13
|
export { ProductEssentialsTab } from "./tabs/product-essentials-tab.js";
|
|
12
14
|
export type { ProductEssentialsTabProps } from "./tabs/product-essentials-tab.js";
|
|
13
15
|
export { ProductGalleryTab } from "./tabs/product-gallery-tab.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/product-editor/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AACtE,YAAY,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAKxE,OAAO,EACL,wBAAwB,EACxB,gCAAgC,EAChC,qBAAqB,EACrB,6BAA6B,EAC7B,2BAA2B,EAC3B,sBAAsB,GACvB,MAAM,wBAAwB,CAAC;AAChC,YAAY,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAGvE,YAAY,EACV,gBAAgB,EAChB,SAAS,EACT,2BAA2B,EAC3B,cAAc,EACd,eAAe,EACf,kBAAkB,EAClB,eAAe,EACf,cAAc,EACd,qBAAqB,EACrB,sBAAsB,EACtB,yBAAyB,EACzB,sBAAsB,EACtB,wBAAwB,EACxB,4BAA4B,EAC5B,wBAAwB,EACxB,SAAS,EACT,gBAAgB,EAChB,qBAAqB,EACrB,4BAA4B,EAC5B,iBAAiB,EACjB,cAAc,EACd,mBAAmB,EACnB,eAAe,EACf,YAAY,EACZ,eAAe,EACf,aAAa,EACb,mBAAmB,EACnB,qBAAqB,EACrB,kBAAkB,EAClB,oBAAoB,EACpB,kBAAkB,EAClB,sBAAsB,EACtB,eAAe,EACf,mBAAmB,EACnB,iBAAiB,EACjB,2BAA2B,EAC3B,gBAAgB,EAChB,wBAAwB,EACxB,uBAAuB,EACvB,wBAAwB,EACxB,wBAAwB,GACzB,MAAM,SAAS,CAAC;AAGjB,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,YAAY,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,YAAY,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/product-editor/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AACtE,YAAY,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAKxE,OAAO,EACL,wBAAwB,EACxB,gCAAgC,EAChC,qBAAqB,EACrB,6BAA6B,EAC7B,2BAA2B,EAC3B,sBAAsB,GACvB,MAAM,wBAAwB,CAAC;AAChC,YAAY,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAGvE,YAAY,EACV,gBAAgB,EAChB,SAAS,EACT,2BAA2B,EAC3B,cAAc,EACd,eAAe,EACf,kBAAkB,EAClB,eAAe,EACf,cAAc,EACd,qBAAqB,EACrB,sBAAsB,EACtB,yBAAyB,EACzB,sBAAsB,EACtB,wBAAwB,EACxB,4BAA4B,EAC5B,wBAAwB,EACxB,SAAS,EACT,gBAAgB,EAChB,qBAAqB,EACrB,4BAA4B,EAC5B,iBAAiB,EACjB,cAAc,EACd,mBAAmB,EACnB,eAAe,EACf,YAAY,EACZ,eAAe,EACf,aAAa,EACb,mBAAmB,EACnB,qBAAqB,EACrB,kBAAkB,EAClB,oBAAoB,EACpB,kBAAkB,EAClB,sBAAsB,EACtB,eAAe,EACf,mBAAmB,EACnB,iBAAiB,EACjB,2BAA2B,EAC3B,gBAAgB,EAChB,wBAAwB,EACxB,uBAAuB,EACvB,wBAAwB,EACxB,wBAAwB,GACzB,MAAM,SAAS,CAAC;AAGjB,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,YAAY,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,YAAY,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AAC3E,OAAO,EAAE,8BAA8B,EAAE,MAAM,qCAAqC,CAAC;AACrF,YAAY,EAAE,mCAAmC,EAAE,MAAM,qCAAqC,CAAC;AAG/F,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,YAAY,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AAC/E,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,YAAY,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,YAAY,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACzE,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,YAAY,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AAC7E,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,YAAY,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAEvE,cAAc,4BAA4B,CAAC;AAC3C,YAAY,EACV,eAAe,EACf,iBAAiB,EACjB,mBAAmB,EACnB,mBAAmB,EACnB,sBAAsB,GACvB,MAAM,SAAS,CAAC"}
|
|
@@ -8,6 +8,7 @@ export { BACKEND_CURRENCY_PATTERN, collectPriceRangeCurrencyOrphans, isBackendCu
|
|
|
8
8
|
export { ProductEditor } from "./product-editor.js";
|
|
9
9
|
export { ProductEditorHero } from "./product-editor-hero.js";
|
|
10
10
|
export { ProductEditorSaveBar } from "./product-editor-save-bar.js";
|
|
11
|
+
export { ProductReadinessApprovalDialog } from "./product-readiness-approval-dialog.js";
|
|
11
12
|
// Tab stubs (exported for consumers that compose individual tabs)
|
|
12
13
|
export { ProductEssentialsTab } from "./tabs/product-essentials-tab.js";
|
|
13
14
|
export { ProductGalleryTab } from "./tabs/product-gallery-tab.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/product-editor/index.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,OAAO,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAGtE,8EAA8E;AAC9E,6EAA6E;AAC7E,wDAAwD;AACxD,OAAO,EACL,wBAAwB,EACxB,gCAAgC,EAChC,qBAAqB,EACrB,6BAA6B,EAC7B,2BAA2B,EAC3B,sBAAsB,GACvB,MAAM,wBAAwB,CAAC;AAgDhC,eAAe;AACf,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/product-editor/index.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,OAAO,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAGtE,8EAA8E;AAC9E,6EAA6E;AAC7E,wDAAwD;AACxD,OAAO,EACL,wBAAwB,EACxB,gCAAgC,EAChC,qBAAqB,EACrB,6BAA6B,EAC7B,2BAA2B,EAC3B,sBAAsB,GACvB,MAAM,wBAAwB,CAAC;AAgDhC,eAAe;AACf,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEjE,OAAO,EAAE,8BAA8B,EAAE,MAAM,qCAAqC,CAAC;AAGrF,kEAAkE;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAErE,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAE/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAE/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAEnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAG7D,cAAc,4BAA4B,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { MatchReadinessEntry } from "./types.js";
|
|
2
|
+
export interface ProductReadinessApprovalDialogProps {
|
|
3
|
+
open: boolean;
|
|
4
|
+
entries: readonly MatchReadinessEntry[];
|
|
5
|
+
blockers?: readonly MatchReadinessEntry[];
|
|
6
|
+
isAcknowledging?: boolean;
|
|
7
|
+
isApproving?: boolean;
|
|
8
|
+
onClose(): void;
|
|
9
|
+
onAcknowledge(entry: MatchReadinessEntry): void | Promise<void>;
|
|
10
|
+
/** Return false when consumer recovery updated the review but did not approve. */
|
|
11
|
+
onApprove(): void | false | Promise<void | false>;
|
|
12
|
+
t?: (key: string, fallback?: string) => string;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Shared human-review step for low-confidence product fields.
|
|
16
|
+
*
|
|
17
|
+
* The consumer owns the API mutations, current variant version, and refreshed
|
|
18
|
+
* readiness returned by the server. This dialog owns only presentation and
|
|
19
|
+
* interaction safety: failed callbacks keep the review open, and a successful
|
|
20
|
+
* final approval is the only path that closes it.
|
|
21
|
+
*/
|
|
22
|
+
export declare function ProductReadinessApprovalDialog({ ...props }: ProductReadinessApprovalDialogProps): import("react/jsx-runtime").JSX.Element;
|
|
23
|
+
//# sourceMappingURL=product-readiness-approval-dialog.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"product-readiness-approval-dialog.d.ts","sourceRoot":"","sources":["../../src/product-editor/product-readiness-approval-dialog.tsx"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAEnD,MAAM,WAAW,mCAAmC;IAClD,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,SAAS,mBAAmB,EAAE,CAAC;IACxC,QAAQ,CAAC,EAAE,SAAS,mBAAmB,EAAE,CAAC;IAC1C,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,OAAO,IAAI,IAAI,CAAC;IAChB,aAAa,CAAC,KAAK,EAAE,mBAAmB,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAChE,kFAAkF;IAClF,SAAS,IAAI,IAAI,GAAG,KAAK,GAAG,OAAO,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC;IAClD,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;CAChD;AAKD;;;;;;;GAOG;AACH,wBAAgB,8BAA8B,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,mCAAmC,2CAE/F"}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import * as React from "react";
|
|
3
|
+
import { Button } from "../components/button.js";
|
|
4
|
+
import { Dialog, DialogActions, DialogBody, DialogDescription, DialogTitle, } from "../components/dialog.js";
|
|
5
|
+
/**
|
|
6
|
+
* Shared human-review step for low-confidence product fields.
|
|
7
|
+
*
|
|
8
|
+
* The consumer owns the API mutations, current variant version, and refreshed
|
|
9
|
+
* readiness returned by the server. This dialog owns only presentation and
|
|
10
|
+
* interaction safety: failed callbacks keep the review open, and a successful
|
|
11
|
+
* final approval is the only path that closes it.
|
|
12
|
+
*/
|
|
13
|
+
export function ProductReadinessApprovalDialog({ ...props }) {
|
|
14
|
+
return _jsx(ProductReadinessApprovalDialogSession, { ...props }, props.open ? "open" : "closed");
|
|
15
|
+
}
|
|
16
|
+
function ProductReadinessApprovalDialogSession({ open, entries, blockers = [], isAcknowledging = false, isApproving = false, onClose, onAcknowledge, onApprove, t, }) {
|
|
17
|
+
const tr = React.useMemo(() => t ?? ((_key, fallback) => fallback ?? _key), [t]);
|
|
18
|
+
const [reviewError, setReviewError] = React.useState(null);
|
|
19
|
+
const [activeAction, setActiveAction] = React.useState(null);
|
|
20
|
+
const actionInFlightRef = React.useRef(false);
|
|
21
|
+
const lifecycleRef = React.useRef({ generation: 0, mounted: false });
|
|
22
|
+
React.useLayoutEffect(() => {
|
|
23
|
+
const lifecycle = lifecycleRef.current;
|
|
24
|
+
lifecycle.mounted = true;
|
|
25
|
+
lifecycle.generation += 1;
|
|
26
|
+
return () => {
|
|
27
|
+
lifecycle.mounted = false;
|
|
28
|
+
lifecycle.generation += 1;
|
|
29
|
+
actionInFlightRef.current = false;
|
|
30
|
+
};
|
|
31
|
+
}, []);
|
|
32
|
+
const isCurrentLifecycle = (generation) => lifecycleRef.current.mounted && lifecycleRef.current.generation === generation;
|
|
33
|
+
const mutationPending = isAcknowledging || isApproving || activeAction !== null;
|
|
34
|
+
const finalApprovalBlocked = entries.length > 0 || blockers.length > 0 || mutationPending;
|
|
35
|
+
const close = () => {
|
|
36
|
+
if (mutationPending || actionInFlightRef.current)
|
|
37
|
+
return;
|
|
38
|
+
lifecycleRef.current.generation += 1;
|
|
39
|
+
setReviewError(null);
|
|
40
|
+
onClose();
|
|
41
|
+
};
|
|
42
|
+
const acknowledge = async (entry) => {
|
|
43
|
+
if (mutationPending || actionInFlightRef.current)
|
|
44
|
+
return;
|
|
45
|
+
const generation = lifecycleRef.current.generation;
|
|
46
|
+
actionInFlightRef.current = true;
|
|
47
|
+
setActiveAction("acknowledge");
|
|
48
|
+
setReviewError(null);
|
|
49
|
+
try {
|
|
50
|
+
await onAcknowledge(entry);
|
|
51
|
+
}
|
|
52
|
+
catch {
|
|
53
|
+
if (!isCurrentLifecycle(generation))
|
|
54
|
+
return;
|
|
55
|
+
setReviewError("acknowledge");
|
|
56
|
+
}
|
|
57
|
+
finally {
|
|
58
|
+
if (isCurrentLifecycle(generation)) {
|
|
59
|
+
actionInFlightRef.current = false;
|
|
60
|
+
setActiveAction(null);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
};
|
|
64
|
+
const approve = async () => {
|
|
65
|
+
if (finalApprovalBlocked || actionInFlightRef.current)
|
|
66
|
+
return;
|
|
67
|
+
const generation = lifecycleRef.current.generation;
|
|
68
|
+
actionInFlightRef.current = true;
|
|
69
|
+
setActiveAction("approve");
|
|
70
|
+
setReviewError(null);
|
|
71
|
+
try {
|
|
72
|
+
const shouldClose = await onApprove();
|
|
73
|
+
if (!isCurrentLifecycle(generation))
|
|
74
|
+
return;
|
|
75
|
+
actionInFlightRef.current = false;
|
|
76
|
+
setActiveAction(null);
|
|
77
|
+
if (shouldClose !== false) {
|
|
78
|
+
lifecycleRef.current.generation += 1;
|
|
79
|
+
onClose();
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
catch {
|
|
83
|
+
if (!isCurrentLifecycle(generation))
|
|
84
|
+
return;
|
|
85
|
+
setReviewError("approve");
|
|
86
|
+
actionInFlightRef.current = false;
|
|
87
|
+
setActiveAction(null);
|
|
88
|
+
}
|
|
89
|
+
};
|
|
90
|
+
return (_jsxs(Dialog, { open: open, onClose: close, children: [_jsxs(DialogBody, { children: [_jsx(DialogTitle, { children: tr("matchReadiness.acknowledgementsHeading", "Please confirm") }), _jsx(DialogDescription, { children: tr("matchReadiness.acknowledgementsDescription", "The following fields need your confirmation before the product can be approved.") }), entries.length > 0 && (_jsx("div", { className: "mt-4 flex flex-col gap-3", children: entries.map((entry, index) => {
|
|
91
|
+
const fieldLabel = tr(entry.labelKey, entry.path);
|
|
92
|
+
return (_jsxs("div", { className: "flex flex-col gap-2 rounded-xl border border-border/60 bg-muted/30 p-4", children: [_jsxs("div", { className: "flex items-center justify-between gap-4", children: [_jsx("span", { className: "text-sm/6 font-medium text-foreground", children: fieldLabel }), _jsx(Button, { type: "button", outline: true, "data-autofocus": index === 0 ? "true" : undefined, disabled: mutationPending, "aria-label": `${tr("matchReadiness.confirmAction", "Confirm")}: ${fieldLabel}`, onClick: () => void acknowledge(entry), children: tr("matchReadiness.confirmAction", "Confirm") })] }), _jsx("span", { className: "inline-flex w-fit items-center rounded-full bg-[var(--tone-warning-soft)] px-2.5 py-0.5 text-xs/5 font-medium text-[var(--tone-warning-fg)]", children: tr(`matchReadiness.reason.${entry.reason}`, entry.reason) })] }, entry.path));
|
|
93
|
+
}) })), blockers.length > 0 && (_jsxs("div", { className: "mt-4 rounded-xl bg-[var(--tone-danger-soft)] p-4 text-[var(--tone-danger-fg)]", role: "status", children: [_jsx("p", { className: "text-sm/6 font-semibold", children: tr("matchReadiness.blockersHeading", "Required before approval") }), _jsx("ul", { className: "mt-2 list-disc pl-5 text-sm/6", children: blockers.map((blocker) => (_jsx("li", { children: tr(blocker.labelKey, blocker.path) }, blocker.path))) }), _jsx("p", { className: "mt-2 text-sm/6", children: tr("matchReadiness.approveBlockedHint", "Complete the required fields before approving.") })] })), reviewError && blockers.length === 0 && (_jsx("p", { className: "mt-4 text-sm/6 text-[var(--tone-danger-fg)]", role: "alert", children: reviewError === "acknowledge"
|
|
94
|
+
? tr("matchReadiness.acknowledgeError", "Couldn't confirm. Please try again.")
|
|
95
|
+
: tr("variantEdit.status.approveErrorBody", "Couldn't approve product. Please try again.") }))] }), _jsxs(DialogActions, { children: [_jsx(Button, { type: "button", plain: true, disabled: mutationPending, onClick: close, children: blockers.length > 0
|
|
96
|
+
? tr("matchReadiness.returnToProductAction", "Return to product")
|
|
97
|
+
: tr("common.cancel", "Cancel") }), _jsx(Button, { type: "button", color: "emerald", disabled: finalApprovalBlocked, onClick: () => void approve(), children: isApproving || activeAction === "approve"
|
|
98
|
+
? tr("variantEdit.status.approving", "Publishing…")
|
|
99
|
+
: tr("variantEdit.status.approveAction", "Approve & publish") })] })] }));
|
|
100
|
+
}
|
|
101
|
+
//# sourceMappingURL=product-readiness-approval-dialog.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"product-readiness-approval-dialog.js","sourceRoot":"","sources":["../../src/product-editor/product-readiness-approval-dialog.tsx"],"names":[],"mappings":"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"}
|
|
@@ -18,9 +18,8 @@ export interface ProductStatusTabProps {
|
|
|
18
18
|
* - Approve & publish CTA — rendered ONLY when `features.approvalWorkflow`
|
|
19
19
|
* is true AND validationState === "pending_review". CTA is disabled while
|
|
20
20
|
* `isDirty` is true (unsaved edits must be saved first).
|
|
21
|
-
* -
|
|
22
|
-
*
|
|
23
|
-
* prop catches up from the parent refetch).
|
|
21
|
+
* - Server-authoritative approval: Validation + Discoverability render the
|
|
22
|
+
* controlled `status.validationState` supplied after consumer mutation/refetch.
|
|
24
23
|
* - AI-flagged fields guidance checklist (advisory, non-blocking;
|
|
25
24
|
* `flaggedFields` is `FlaggedFieldEntry[]` — each carries a path plus
|
|
26
25
|
* optional reason + confidence enrichment rendered as labelled chips)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"product-status-tab.d.ts","sourceRoot":"","sources":["../../../src/product-editor/tabs/product-status-tab.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAqB,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAI9F,MAAM,WAAW,qBAAqB;IACpC,MAAM,CAAC,EAAE,mBAAmB,CAAC;IAC7B,QAAQ,CAAC,EAAE,qBAAqB,CAAC;IACjC;;;;;OAKG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;CAChD;AA4HD
|
|
1
|
+
{"version":3,"file":"product-status-tab.d.ts","sourceRoot":"","sources":["../../../src/product-editor/tabs/product-status-tab.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAqB,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAI9F,MAAM,WAAW,qBAAqB;IACpC,MAAM,CAAC,EAAE,mBAAmB,CAAC;IAC7B,QAAQ,CAAC,EAAE,qBAAqB,CAAC;IACjC;;;;;OAKG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;CAChD;AA4HD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAe,EAAE,CAAC,EAAE,EAAE,qBAAqB,2CAmT/F"}
|
|
@@ -116,9 +116,8 @@ function formatReviewDate(iso) {
|
|
|
116
116
|
* - Approve & publish CTA — rendered ONLY when `features.approvalWorkflow`
|
|
117
117
|
* is true AND validationState === "pending_review". CTA is disabled while
|
|
118
118
|
* `isDirty` is true (unsaved edits must be saved first).
|
|
119
|
-
* -
|
|
120
|
-
*
|
|
121
|
-
* prop catches up from the parent refetch).
|
|
119
|
+
* - Server-authoritative approval: Validation + Discoverability render the
|
|
120
|
+
* controlled `status.validationState` supplied after consumer mutation/refetch.
|
|
122
121
|
* - AI-flagged fields guidance checklist (advisory, non-blocking;
|
|
123
122
|
* `flaggedFields` is `FlaggedFieldEntry[]` — each carries a path plus
|
|
124
123
|
* optional reason + confidence enrichment rendered as labelled chips)
|
|
@@ -132,50 +131,39 @@ function formatReviewDate(iso) {
|
|
|
132
131
|
*/
|
|
133
132
|
export function ProductStatusTab({ status, features, isDirty = false, t }) {
|
|
134
133
|
const tr = React.useMemo(() => t ?? ((_k, fb) => fb ?? _k), [t]);
|
|
135
|
-
// Optimistic approve: on approve success, flip the displayed state
|
|
136
|
-
// immediately, ahead of the parent refetch. Reverts if the server value
|
|
137
|
-
// changes (e.g. navigating to a different product).
|
|
138
|
-
const [optimisticApproved, setOptimisticApproved] = React.useState(false);
|
|
139
|
-
// Clear optimistic flag when the server value changes (navigation / refetch).
|
|
140
|
-
const serverValidationState = status?.validationState;
|
|
141
|
-
React.useEffect(() => {
|
|
142
|
-
// Snap-to-server reset: when the underlying validation state changes (a
|
|
143
|
-
// refetch landed, or the user navigated to a different product), the local
|
|
144
|
-
// optimistic flip is stale and must be cleared. This is a legitimate
|
|
145
|
-
// setState-in-effect — the rule's heuristic flags the syntactic call site
|
|
146
|
-
// without seeing that it's a one-shot sync to an external value. Only
|
|
147
|
-
// `@eslint-react/set-state-in-effect` fires for this direct-constant call
|
|
148
|
-
// shape (the `react-hooks/set-state-in-effect` variant flags the updater-
|
|
149
|
-
// callback shape, not this one), so disabling that one alone is correct —
|
|
150
|
-
// adding the react-hooks rule here would be an unused-directive warning.
|
|
151
|
-
// eslint-disable-next-line @eslint-react/set-state-in-effect
|
|
152
|
-
setOptimisticApproved(false);
|
|
153
|
-
}, [serverValidationState]);
|
|
154
134
|
if (!status) {
|
|
155
135
|
return (_jsx("div", { className: "rounded-xl border border-border/60 bg-muted/30 p-6 text-sm text-muted-foreground", children: tr("variantEdit.status.unavailable", "Status will appear after the product is saved.") }));
|
|
156
136
|
}
|
|
157
137
|
const { validationState: serverStatus, matchCount, flaggedFields, matchReadiness, onApprove, isApproving, extractedBy, reviewedBy, reviewedAt, citations, professionalSummary, } = status;
|
|
158
|
-
//
|
|
159
|
-
//
|
|
160
|
-
|
|
138
|
+
// Server status is authoritative. The earlier CEL-576 timing optimization
|
|
139
|
+
// could apply an old request's completion after direct consumers reused this
|
|
140
|
+
// component for another product; consumers now publish the returned status.
|
|
141
|
+
const validationState = serverStatus;
|
|
161
142
|
const isDiscoverable = validationState === "approved";
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
143
|
+
const isPendingReview = serverStatus === "pending_review";
|
|
144
|
+
const hasCitations = Array.isArray(citations) && citations.length > 0;
|
|
145
|
+
// CEL-1830 — the backend's `canApprove` folds `blockers` AND
|
|
146
|
+
// `acknowledgementsRequired` into a single boolean (`canApprove =
|
|
147
|
+
// blockers.length === 0 && acknowledgementsRequired.length === 0`), so
|
|
148
|
+
// gating the CTA on `!canApprove` disabled it — and made `onApprove`
|
|
149
|
+
// unreachable — for any product with an unacknowledged flag. Per the
|
|
150
|
+
// CEL-1822 product decision only `blockers` may disable the button;
|
|
151
|
+
// unacknowledged flags keep it enabled (relabelled below) so the click
|
|
152
|
+
// still fires `onApprove` and the consumer's acknowledge dialog opens.
|
|
153
|
+
const readinessBlocked = matchReadiness ? matchReadiness.blockers.length > 0 : false;
|
|
154
|
+
const needsAcknowledgement = matchReadiness
|
|
155
|
+
? !readinessBlocked && matchReadiness.acknowledgementsRequired.length > 0
|
|
156
|
+
: false;
|
|
165
157
|
const handleApprove = async () => {
|
|
166
158
|
if (!onApprove)
|
|
167
159
|
return;
|
|
168
|
-
setOptimisticApproved(true);
|
|
169
160
|
try {
|
|
170
161
|
await onApprove();
|
|
171
162
|
}
|
|
172
163
|
catch {
|
|
173
|
-
//
|
|
174
|
-
setOptimisticApproved(false);
|
|
164
|
+
// Preserve the server-backed review state so the action remains retryable.
|
|
175
165
|
}
|
|
176
166
|
};
|
|
177
|
-
const hasCitations = Array.isArray(citations) && citations.length > 0;
|
|
178
|
-
const readinessBlocked = matchReadiness ? !matchReadiness.canApprove : false;
|
|
179
167
|
return (_jsxs("div", { className: "flex flex-col gap-6", children: [_jsxs("div", { className: "grid grid-cols-1 gap-4 sm:grid-cols-2", children: [_jsx(StatusCard, { label: tr("variantEdit.status.validation", "Validation"), value: validationState === "approved"
|
|
180
168
|
? tr("variantEdit.status.active", "Active")
|
|
181
169
|
: validationState === "pending_review"
|
|
@@ -190,10 +178,10 @@ export function ProductStatusTab({ status, features, isDirty = false, t }) {
|
|
|
190
178
|
? (matchCount ?? 0) > 0
|
|
191
179
|
? tr("variantEdit.status.discoverableHelper", `Your product is discoverable. ${matchCount ?? 0} matches found so far.`)
|
|
192
180
|
: tr("variantEdit.status.discoverableNoMatchesHelper", "Your product is discoverable. No matches yet.")
|
|
193
|
-
: tr("variantEdit.status.notDiscoverableHelper", "Your product will become discoverable to importers once it's been reviewed and approved.") })] }), matchReadiness && (_jsxs("div", { className: "rounded-xl border border-border/60 bg-card p-5", children: [_jsxs("div", { className: "mb-4 flex flex-col gap-2", children: [_jsxs("div", { className: "flex items-center justify-between", children: [_jsx("h4", { className: "text-xs font-semibold uppercase tracking-[0.14em] text-muted-foreground", children: tr("matchReadiness.heading", "Match Readiness") }), _jsxs("span", { className: "text-sm font-medium text-foreground", children: [matchReadiness.completed, " / ", matchReadiness.total] })] }), _jsx("div", { role: "progressbar", "aria-label": tr("matchReadiness.heading", "Match Readiness"), "aria-valuenow": Math.round(matchReadiness.percent), "aria-valuemin": 0, "aria-valuemax": 100, "aria-valuetext": tr("matchReadiness.progressValueText", `${matchReadiness.completed} of ${matchReadiness.total} fields complete`), className: "h-2 w-full overflow-hidden rounded-full bg-muted", children: _jsx("div", { className: `h-full ${matchReadiness.percent === 100 ? "bg-[var(--tone-success-solid)]" : "bg-[var(--tone-warning-fg)]"} transition-[width,background-color] duration-500`, style: { width: `${Math.round(matchReadiness.percent)}%` } }) })] }), _jsxs("div", { className: "flex flex-col gap-5", children: [matchReadiness.blockers.length > 0 && (_jsxs("div", { children: [_jsx("h5", { className: "mb-3 text-xs font-semibold uppercase tracking-[0.14em] text-[var(--tone-warning-fg)]", children: tr("matchReadiness.blockersHeading", "Required before approval") }), _jsx("ul", { className: "flex flex-col gap-2", children: matchReadiness.blockers.map((entry) => (_jsxs("li", { className: "flex flex-wrap items-center gap-x-3 gap-y-1.5 rounded-xl border border-[var(--tone-warning-border)]/40 bg-[var(--tone-warning-soft)] px-4 py-3", children: [_jsx("span", { className: "text-sm font-medium text-[var(--tone-warning-fg)]", children: tr(entry.labelKey, fieldLabel(entry.path, tr)) }), _jsx("span", { className: "inline-flex items-center rounded-full bg-[var(--tone-warning-fg)]/10 px-2.5 py-0.5 text-xs font-medium text-[var(--tone-warning-fg)]", children: readinessReasonLabel(entry.reason, tr) })] }, `blocker-${entry.path}`))) })] })), matchReadiness.recommendations.length > 0 && (_jsxs("div", { children: [_jsx("h5", { className: "mb-3 text-xs font-semibold uppercase tracking-[0.14em] text-muted-foreground", children: tr("matchReadiness.recommendationsHeading", "
|
|
181
|
+
: tr("variantEdit.status.notDiscoverableHelper", "Your product will become discoverable to importers once it's been reviewed and approved.") })] }), matchReadiness && (_jsxs("div", { className: "rounded-xl border border-border/60 bg-card p-5", children: [_jsxs("div", { className: "mb-4 flex flex-col gap-2", children: [_jsxs("div", { className: "flex items-center justify-between", children: [_jsx("h4", { className: "text-xs font-semibold uppercase tracking-[0.14em] text-muted-foreground", children: tr("matchReadiness.heading", "Match Readiness") }), _jsxs("span", { className: "text-sm font-medium text-foreground", children: [matchReadiness.completed, " / ", matchReadiness.total] })] }), _jsx("div", { role: "progressbar", "aria-label": tr("matchReadiness.heading", "Match Readiness"), "aria-valuenow": Math.round(matchReadiness.percent), "aria-valuemin": 0, "aria-valuemax": 100, "aria-valuetext": tr("matchReadiness.progressValueText", `${matchReadiness.completed} of ${matchReadiness.total} fields complete`), className: "h-2 w-full overflow-hidden rounded-full bg-muted", children: _jsx("div", { className: `h-full ${matchReadiness.percent === 100 ? "bg-[var(--tone-success-solid)]" : "bg-[var(--tone-warning-fg)]"} transition-[width,background-color] duration-500`, style: { width: `${Math.round(matchReadiness.percent)}%` } }) })] }), _jsxs("div", { className: "flex flex-col gap-5", children: [matchReadiness.blockers.length > 0 && (_jsxs("div", { children: [_jsx("h5", { className: "mb-3 text-xs font-semibold uppercase tracking-[0.14em] text-[var(--tone-warning-fg)]", children: tr("matchReadiness.blockersHeading", "Required before approval") }), _jsx("ul", { className: "flex flex-col gap-2", children: matchReadiness.blockers.map((entry) => (_jsxs("li", { className: "flex flex-wrap items-center gap-x-3 gap-y-1.5 rounded-xl border border-[var(--tone-warning-border)]/40 bg-[var(--tone-warning-soft)] px-4 py-3", children: [_jsx("span", { className: "text-sm font-medium text-[var(--tone-warning-fg)]", children: tr(entry.labelKey, fieldLabel(entry.path, tr)) }), _jsx("span", { className: "inline-flex items-center rounded-full bg-[var(--tone-warning-fg)]/10 px-2.5 py-0.5 text-xs font-medium text-[var(--tone-warning-fg)]", children: readinessReasonLabel(entry.reason, tr) })] }, `blocker-${entry.path}`))) })] })), matchReadiness.recommendations.length > 0 && (_jsxs("div", { children: [_jsx("h5", { className: "mb-3 text-xs font-semibold uppercase tracking-[0.14em] text-muted-foreground", children: tr("matchReadiness.recommendationsHeading", "Recommended before matching") }), _jsx("ul", { className: "flex flex-col gap-2", children: matchReadiness.recommendations.map((entry) => (_jsxs("li", { className: "flex flex-wrap items-center gap-x-3 gap-y-1.5 rounded-xl border border-border/60 bg-muted/30 px-4 py-3", children: [_jsx("span", { className: "text-sm font-medium text-foreground", children: tr(entry.labelKey, fieldLabel(entry.path, tr)) }), _jsx("span", { className: "inline-flex items-center rounded-full bg-muted/60 px-2.5 py-0.5 text-xs font-medium text-muted-foreground", children: readinessReasonLabel(entry.reason, tr) })] }, `rec-${entry.path}`))) })] })), matchReadiness.acknowledgementsRequired.length > 0 && (_jsxs("div", { children: [_jsx("h5", { className: "mb-3 text-xs font-semibold uppercase tracking-[0.14em] text-muted-foreground", children: tr("matchReadiness.acknowledgementsHeading", "Please confirm") }), _jsx("ul", { className: "flex flex-col gap-2", children: matchReadiness.acknowledgementsRequired.map((entry) => (_jsxs("li", { className: "flex flex-wrap items-center gap-x-3 gap-y-1.5 rounded-xl border border-border/60 bg-muted/30 px-4 py-3", children: [_jsx("span", { className: "text-sm font-medium text-foreground", children: tr(entry.labelKey, fieldLabel(entry.path, tr)) }), _jsx("span", { className: "inline-flex items-center rounded-full bg-[var(--tone-warning-soft)] px-2.5 py-0.5 text-xs font-medium text-[var(--tone-warning-fg)]", children: readinessReasonLabel(entry.reason, tr) })] }, `ack-${entry.path}`))) })] })), matchReadiness.blockers.length === 0 &&
|
|
194
182
|
matchReadiness.canApprove &&
|
|
195
183
|
matchReadiness.recommendations.length === 0 &&
|
|
196
|
-
matchReadiness.acknowledgementsRequired.length === 0 && (_jsxs("div", { className: "flex items-center gap-2 rounded-xl border border-[var(--tone-success-border)]/30 bg-[var(--tone-success-soft)]/30 px-4 py-3 text-sm text-[var(--tone-success-fg)]", children: [_jsx(CheckCircle2, { className: "size-4 shrink-0", "aria-hidden": "true" }), _jsx("span", { children: tr("matchReadiness.allComplete", "All required fields are complete.") })] }))] })] })), features?.approvalWorkflow && isPendingReview && onApprove && (_jsx(ApprovePanel, { hasUnsavedEdits: isDirty, isApproving: isApproving ?? false, readinessBlocked: readinessBlocked, onApprove: handleApprove, flaggedFields: flaggedFields ?? null, fieldLabelOf: (p) => fieldLabel(p, tr), reasonLabelOf: (r) => reasonLabel(r, tr), confidenceLabelOf: (c) => confidenceLabel(c, tr), tr: tr })), (extractedBy || reviewedBy || reviewedAt) && (_jsx(StatusCard, { label: tr("variantEdit.status.provenance", "Provenance"), value: extractedBy
|
|
184
|
+
matchReadiness.acknowledgementsRequired.length === 0 && (_jsxs("div", { className: "flex items-center gap-2 rounded-xl border border-[var(--tone-success-border)]/30 bg-[var(--tone-success-soft)]/30 px-4 py-3 text-sm text-[var(--tone-success-fg)]", children: [_jsx(CheckCircle2, { className: "size-4 shrink-0", "aria-hidden": "true" }), _jsx("span", { children: tr("matchReadiness.allComplete", "All required fields are complete.") })] }))] })] })), features?.approvalWorkflow && isPendingReview && onApprove && (_jsx(ApprovePanel, { hasUnsavedEdits: isDirty, isApproving: isApproving ?? false, readinessBlocked: readinessBlocked, needsAcknowledgement: needsAcknowledgement, onApprove: handleApprove, flaggedFields: flaggedFields ?? null, fieldLabelOf: (p) => fieldLabel(p, tr), reasonLabelOf: (r) => reasonLabel(r, tr), confidenceLabelOf: (c) => confidenceLabel(c, tr), tr: tr })), (extractedBy || reviewedBy || reviewedAt) && (_jsx(StatusCard, { label: tr("variantEdit.status.provenance", "Provenance"), value: extractedBy
|
|
197
185
|
? tr("variantEdit.status.extractedBy", `Auto-extracted by ${extractedBy}`)
|
|
198
186
|
: tr("variantEdit.status.reviewed", "Reviewed"), tone: "neutral", helper: reviewedAt || reviewedBy
|
|
199
187
|
? tr("variantEdit.status.reviewedOn", reviewedAt
|
|
@@ -207,22 +195,28 @@ export function ProductStatusTab({ status, features, isDirty = false, t }) {
|
|
|
207
195
|
// ─── ApprovePanel ─────────────────────────────────────────────────────────────
|
|
208
196
|
// Custom cubic-bezier so the CTA's press + icon nudge feel sprung, not linear.
|
|
209
197
|
const CTA_TRANSITION = "transition-[transform,box-shadow,opacity] duration-500 ease-[cubic-bezier(0.32,0.72,0,1)]";
|
|
210
|
-
function ApprovePanel({ hasUnsavedEdits, isApproving, readinessBlocked, onApprove, flaggedFields, fieldLabelOf, reasonLabelOf, confidenceLabelOf, tr, }) {
|
|
198
|
+
function ApprovePanel({ hasUnsavedEdits, isApproving, readinessBlocked, needsAcknowledgement, onApprove, flaggedFields, fieldLabelOf, reasonLabelOf, confidenceLabelOf, tr, }) {
|
|
211
199
|
const disabled = hasUnsavedEdits || isApproving || readinessBlocked;
|
|
212
200
|
const hintId = "approve-publish-hint";
|
|
213
|
-
// Decide which hint to show. Blocked message wins over dirty hint
|
|
201
|
+
// Decide which hint to show. Blocked message wins over dirty hint, which
|
|
202
|
+
// wins over the (non-blocking) acknowledgement nudge.
|
|
214
203
|
const showReadinessHint = readinessBlocked;
|
|
215
204
|
const showDirtyHint = hasUnsavedEdits && !readinessBlocked;
|
|
216
|
-
const
|
|
205
|
+
const showAcknowledgementHint = needsAcknowledgement && !showDirtyHint;
|
|
206
|
+
const hasHint = showReadinessHint || showDirtyHint || showAcknowledgementHint;
|
|
217
207
|
return (
|
|
218
208
|
// Double-bezel: outer tray + inner core. Tray is neutral — carries both
|
|
219
209
|
// warning ("Needs review") and success action (green CTA + clean empty
|
|
220
210
|
// state). Tinting the tray one tone would clash two semantic hues.
|
|
221
211
|
_jsx("div", { className: "rounded-[1.5rem] bg-muted/40 p-1.5 ring-1 ring-border/50", children: _jsxs("div", { className: "rounded-[calc(1.5rem-0.375rem)] bg-card p-5", children: [_jsxs("div", { className: "flex flex-col gap-4 sm:flex-row sm:items-start sm:justify-between", children: [_jsxs("div", { className: "min-w-0", children: [_jsx("p", { className: "mb-1 text-xs font-semibold uppercase tracking-[0.14em] text-[var(--tone-warning-fg)]", children: tr("variantEdit.status.approveEyebrow", "Needs review") }), _jsx("h4", { className: "text-base font-semibold text-foreground", children: tr("variantEdit.status.approveHeading", "Ready to publish?") }), _jsx("p", { className: "mt-1 max-w-prose text-sm/6 text-muted-foreground", children: tr("variantEdit.status.approveBody", "This product was auto-extracted and is awaiting your review. Approving makes it discoverable to importers.") })] }), _jsxs("div", { className: "flex shrink-0 flex-col items-stretch gap-1.5 sm:items-end", children: [_jsxs("button", { type: "button", onClick: onApprove, disabled: disabled, "aria-describedby": hasHint ? hintId : undefined, className: `group inline-flex items-center justify-center gap-3 rounded-full bg-[var(--tone-success-solid)] px-6 py-3 font-semibold text-[var(--tone-success-solid-fg)] shadow-sm hover:brightness-110 active:scale-[0.98] disabled:cursor-not-allowed disabled:opacity-50 disabled:hover:brightness-100 ${CTA_TRANSITION}`, children: [_jsx("span", { children: isApproving
|
|
222
212
|
? tr("variantEdit.status.approving", "Publishing…")
|
|
223
|
-
:
|
|
213
|
+
: needsAcknowledgement
|
|
214
|
+
? tr("variantEdit.status.reviewFlaggedAction", "Review flagged fields")
|
|
215
|
+
: tr("variantEdit.status.approveAction", "Approve & publish") }), _jsx("span", { className: `flex size-7 items-center justify-center rounded-full bg-white/15 ${CTA_TRANSITION} group-enabled:group-hover:translate-x-1 group-enabled:group-hover:-translate-y-px`, "aria-hidden": "true", children: _jsx(ArrowUpRight, { className: "size-4" }) })] }), hasHint && (_jsx("p", { id: hintId, className: "text-xs text-muted-foreground", children: showReadinessHint
|
|
224
216
|
? tr("matchReadiness.approveBlockedHint", "Complete the required fields above first.")
|
|
225
|
-
:
|
|
217
|
+
: showDirtyHint
|
|
218
|
+
? tr("variantEdit.status.approveDirtyHint", "Save your changes first")
|
|
219
|
+
: tr("matchReadiness.reviewFlaggedHint", "Review the flagged fields below, then confirm to publish.") }))] })] }), _jsxs("div", { className: "mt-5 border-t border-border/50 pt-4", children: [_jsx("h5", { className: "mb-3 text-xs font-semibold uppercase tracking-[0.14em] text-muted-foreground", children: tr("variantEdit.status.flaggedHeading", "Flagged during extraction") }), !flaggedFields || flaggedFields.length === 0 ? (_jsxs("div", { className: "flex items-center gap-2 rounded-xl border border-[var(--tone-success-border)]/30 bg-[var(--tone-success-soft)]/30 px-4 py-3 text-sm text-[var(--tone-success-fg)]", children: [_jsx(CheckCircle2, { className: "size-4 shrink-0", "aria-hidden": "true" }), _jsx("span", { children: tr("variantEdit.status.flaggedEmpty", "No issues flagged during extraction.") })] })) : (_jsx("ul", { className: "flex flex-col gap-2.5", children: flaggedFields.map((field, i) => (_jsxs("li", { className: "flex flex-wrap items-center gap-x-3 gap-y-1.5 rounded-xl border border-border/60 bg-muted/30 px-4 py-3", children: [_jsx("span", { className: "text-sm font-medium text-foreground", children: fieldLabelOf(field.path) }), _jsx("span", { className: "inline-flex items-center rounded-full bg-[var(--tone-warning-soft)] px-2.5 py-0.5 text-xs font-medium text-[var(--tone-warning-fg)]", children: reasonLabelOf(field.reason) }), field.confidence && (_jsx(ConfidenceChip, { confidence: field.confidence, label: confidenceLabelOf(field.confidence) }))] }, `${field.path}-${i}`))) }))] })] }) }));
|
|
226
220
|
}
|
|
227
221
|
// ─── ConfidenceChip ───────────────────────────────────────────────────────────
|
|
228
222
|
function ConfidenceChip({ confidence, label }) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"product-status-tab.js","sourceRoot":"","sources":["../../../src/product-editor/tabs/product-status-tab.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"product-status-tab.js","sourceRoot":"","sources":["../../../src/product-editor/tabs/product-status-tab.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAkB1D,gFAAgF;AAEhF;;;;GAIG;AACH,SAAS,UAAU,CAAC,IAAY,EAAE,EAA8C;IAC9E,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC;IAC3C,MAAM,OAAO,GAA2B;QACtC,QAAQ,EAAE,EAAE,CAAC,0CAA0C,EAAE,UAAU,CAAC;QACpE,OAAO,EAAE,EAAE,CAAC,yCAAyC,EAAE,cAAc,CAAC;QACtE,SAAS,EAAE,EAAE,CAAC,2CAA2C,EAAE,WAAW,CAAC;QACvE,OAAO,EAAE,EAAE,CAAC,yCAAyC,EAAE,SAAS,CAAC;QACjE,GAAG,EAAE,EAAE,CAAC,qCAAqC,EAAE,KAAK,CAAC;QACrD,OAAO,EAAE,EAAE,CAAC,yCAAyC,EAAE,SAAS,CAAC;QACjE,eAAe,EAAE,EAAE,CAAC,iDAAiD,EAAE,mBAAmB,CAAC;QAC3F,MAAM,EAAE,EAAE,CAAC,wCAAwC,EAAE,QAAQ,CAAC;QAC9D,IAAI,EAAE,EAAE,CAAC,4BAA4B,EAAE,MAAM,CAAC;QAC9C,QAAQ,EAAE,EAAE,CAAC,gCAAgC,EAAE,UAAU,CAAC;QAC1D,WAAW,EAAE,EAAE,CAAC,mCAAmC,EAAE,aAAa,CAAC;QACnE,eAAe,EAAE,EAAE,CAAC,uCAAuC,EAAE,kBAAkB,CAAC;QAChF,gBAAgB,EAAE,EAAE,CAAC,wCAAwC,EAAE,mBAAmB,CAAC;QACnF,aAAa,EAAE,EAAE,CAAC,qCAAqC,EAAE,gBAAgB,CAAC;QAC1E,UAAU,EAAE,EAAE,CAAC,kCAAkC,EAAE,aAAa,CAAC;KAClE,CAAC;IACF,IAAI,OAAO,CAAC,IAAI,CAAC;QAAE,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC;IACxC,sDAAsD;IACtD,MAAM,MAAM,GAAG,IAAI;SAChB,OAAO,CAAC,iBAAiB,EAAE,OAAO,CAAC;SACnC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC;SACtB,IAAI,EAAE,CAAC;IACV,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAC1D,CAAC;AAED;;;;GAIG;AACH,SAAS,WAAW,CAClB,MAA0B,EAC1B,EAA8C;IAE9C,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,gBAAgB;YACnB,OAAO,EAAE,CAAC,iDAAiD,EAAE,gBAAgB,CAAC,CAAC;QACjF,KAAK,iBAAiB;YACpB,OAAO,EAAE,CAAC,kDAAkD,EAAE,oBAAoB,CAAC,CAAC;QACtF,KAAK,WAAW;YACd,OAAO,EAAE,CAAC,4CAA4C,EAAE,WAAW,CAAC,CAAC;QACvE,KAAK,qBAAqB;YACxB,OAAO,EAAE,CAAC,sDAAsD,EAAE,eAAe,CAAC,CAAC;QACrF,KAAK,mBAAmB;YACtB,OAAO,EAAE,CAAC,oDAAoD,EAAE,uBAAuB,CAAC,CAAC;QAC3F;YACE,OAAO,EAAE,CAAC,yCAAyC,EAAE,kBAAkB,CAAC,CAAC;IAC7E,CAAC;AACH,CAAC;AAED,SAAS,oBAAoB,CAC3B,MAAc,EACd,EAA8C;IAE9C,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,kBAAkB;YACrB,OAAO,EAAE,CAAC,wCAAwC,EAAE,UAAU,CAAC,CAAC;QAClE,KAAK,SAAS;YACZ,OAAO,EAAE,CAAC,+BAA+B,EAAE,eAAe,CAAC,CAAC;QAC9D,KAAK,mBAAmB;YACtB,OAAO,EAAE,CAAC,yCAAyC,EAAE,mBAAmB,CAAC,CAAC;QAC5E,KAAK,gBAAgB;YACnB,OAAO,EAAE,CAAC,sCAAsC,EAAE,eAAe,CAAC,CAAC;QACrE;YACE,OAAO,EAAE,CAAC,+BAA+B,EAAE,eAAe,CAAC,CAAC;IAChE,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,SAAS,eAAe,CACtB,UAAkB,EAClB,EAA8C;IAE9C,QAAQ,UAAU,EAAE,CAAC;QACnB,KAAK,MAAM;YACT,OAAO,EAAE,CAAC,oCAAoC,EAAE,iBAAiB,CAAC,CAAC;QACrE,KAAK,QAAQ;YACX,OAAO,EAAE,CAAC,sCAAsC,EAAE,mBAAmB,CAAC,CAAC;QACzE,KAAK,KAAK;YACR,OAAO,EAAE,CAAC,mCAAmC,EAAE,gBAAgB,CAAC,CAAC;QACnE,KAAK,WAAW;YACd,OAAO,EAAE,CAAC,yCAAyC,EAAE,UAAU,CAAC,CAAC;QACnE,OAAO,CAAC,CAAC,CAAC;YACR,MAAM,MAAM,GAAG,UAAU;iBACtB,OAAO,CAAC,iBAAiB,EAAE,OAAO,CAAC;iBACnC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC;iBACtB,IAAI,EAAE,CAAC;YACV,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,SAAS,gBAAgB,CAAC,GAAW;IACnC,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC;IACxB,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;QAAE,OAAO,GAAG,CAAC;IAC1C,OAAO,CAAC,CAAC,kBAAkB,CAAC,SAAS,EAAE;QACrC,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,OAAO;QACd,GAAG,EAAE,SAAS;KACf,CAAC,CAAC;AACL,CAAC;AAED,gFAAgF;AAEhF;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,UAAU,gBAAgB,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,GAAG,KAAK,EAAE,CAAC,EAAyB;IAC9F,MAAM,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,EAAU,EAAE,EAAW,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAElF,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,CACL,cAAK,SAAS,EAAC,kFAAkF,YAC9F,EAAE,CAAC,gCAAgC,EAAE,gDAAgD,CAAC,GACnF,CACP,CAAC;IACJ,CAAC;IAED,MAAM,EACJ,eAAe,EAAE,YAAY,EAC7B,UAAU,EACV,aAAa,EACb,cAAc,EACd,SAAS,EACT,WAAW,EACX,WAAW,EACX,UAAU,EACV,UAAU,EACV,SAAS,EACT,mBAAmB,GACpB,GAAG,MAAM,CAAC;IAEX,0EAA0E;IAC1E,6EAA6E;IAC7E,4EAA4E;IAC5E,MAAM,eAAe,GAAG,YAAY,CAAC;IAErC,MAAM,cAAc,GAAG,eAAe,KAAK,UAAU,CAAC;IACtD,MAAM,eAAe,GAAG,YAAY,KAAK,gBAAgB,CAAC;IAE1D,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;IACtE,6DAA6D;IAC7D,kEAAkE;IAClE,uEAAuE;IACvE,qEAAqE;IACrE,qEAAqE;IACrE,oEAAoE;IACpE,uEAAuE;IACvE,uEAAuE;IACvE,MAAM,gBAAgB,GAAG,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IACrF,MAAM,oBAAoB,GAAG,cAAc;QACzC,CAAC,CAAC,CAAC,gBAAgB,IAAI,cAAc,CAAC,wBAAwB,CAAC,MAAM,GAAG,CAAC;QACzE,CAAC,CAAC,KAAK,CAAC;IAEV,MAAM,aAAa,GAAG,KAAK,IAAI,EAAE;QAC/B,IAAI,CAAC,SAAS;YAAE,OAAO;QACvB,IAAI,CAAC;YACH,MAAM,SAAS,EAAE,CAAC;QACpB,CAAC;QAAC,MAAM,CAAC;YACP,2EAA2E;QAC7E,CAAC;IACH,CAAC,CAAC;IAEF,OAAO,CACL,eAAK,SAAS,EAAC,qBAAqB,aAElC,eAAK,SAAS,EAAC,uCAAuC,aACpD,KAAC,UAAU,IACT,KAAK,EAAE,EAAE,CAAC,+BAA+B,EAAE,YAAY,CAAC,EACxD,KAAK,EACH,eAAe,KAAK,UAAU;4BAC5B,CAAC,CAAC,EAAE,CAAC,2BAA2B,EAAE,QAAQ,CAAC;4BAC3C,CAAC,CAAC,eAAe,KAAK,gBAAgB;gCACpC,CAAC,CAAC,EAAE,CAAC,gCAAgC,EAAE,cAAc,CAAC;gCACtD,CAAC,CAAC,EAAE,CAAC,0BAA0B,EAAE,OAAO,CAAC,EAE/C,IAAI,EACF,eAAe,KAAK,UAAU;4BAC5B,CAAC,CAAC,SAAS;4BACX,CAAC,CAAC,eAAe,KAAK,gBAAgB;gCACpC,CAAC,CAAC,SAAS;gCACX,CAAC,CAAC,SAAS,GAEjB,EAEF,KAAC,UAAU,IACT,KAAK,EAAE,EAAE,CAAC,oCAAoC,EAAE,iBAAiB,CAAC,EAClE,KAAK,EACH,cAAc;4BACZ,CAAC,CAAC,EAAE,CAAC,iCAAiC,EAAE,oBAAoB,CAAC;4BAC7D,CAAC,CAAC,EAAE,CAAC,oCAAoC,EAAE,sBAAsB,CAAC,EAEtE,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,EAC5C,MAAM,EACJ,cAAc;4BACZ,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,GAAG,CAAC;gCACrB,CAAC,CAAC,EAAE,CACA,uCAAuC,EACvC,iCAAiC,UAAU,IAAI,CAAC,wBAAwB,CACzE;gCACH,CAAC,CAAC,EAAE,CACA,gDAAgD,EAChD,+CAA+C,CAChD;4BACL,CAAC,CAAC,EAAE,CACA,0CAA0C,EAC1C,0FAA0F,CAC3F,GAEP,IACE,EAGL,cAAc,IAAI,CACjB,eAAK,SAAS,EAAC,gDAAgD,aAC7D,eAAK,SAAS,EAAC,0BAA0B,aACvC,eAAK,SAAS,EAAC,mCAAmC,aAChD,aAAI,SAAS,EAAC,yEAAyE,YACpF,EAAE,CAAC,wBAAwB,EAAE,iBAAiB,CAAC,GAC7C,EACL,gBAAM,SAAS,EAAC,qCAAqC,aAClD,cAAc,CAAC,SAAS,SAAK,cAAc,CAAC,KAAK,IAC7C,IACH,EACN,cACE,IAAI,EAAC,aAAa,gBACN,EAAE,CAAC,wBAAwB,EAAE,iBAAiB,CAAC,mBAC5C,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,mBAClC,CAAC,mBACD,GAAG,oBACF,EAAE,CAChB,kCAAkC,EAClC,GAAG,cAAc,CAAC,SAAS,OAAO,cAAc,CAAC,KAAK,kBAAkB,CACzE,EACD,SAAS,EAAC,kDAAkD,YAE5D,cACE,SAAS,EAAE,UAAU,cAAc,CAAC,OAAO,KAAK,GAAG,CAAC,CAAC,CAAC,gCAAgC,CAAC,CAAC,CAAC,6BAA6B,mDAAmD,EACzK,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,GAAG,EAAE,GAC1D,GACE,IACF,EAEN,eAAK,SAAS,EAAC,qBAAqB,aACjC,cAAc,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,CACrC,0BACE,aAAI,SAAS,EAAC,sFAAsF,YACjG,EAAE,CAAC,gCAAgC,EAAE,0BAA0B,CAAC,GAC9D,EACL,aAAI,SAAS,EAAC,qBAAqB,YAChC,cAAc,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CACtC,cAEE,SAAS,EAAC,gJAAgJ,aAE1J,eAAM,SAAS,EAAC,mDAAmD,YAChE,EAAE,CAAC,KAAK,CAAC,QAAQ,EAAE,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,GAC1C,EACP,eAAM,SAAS,EAAC,sIAAsI,YACnJ,oBAAoB,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,GAClC,KARF,WAAW,KAAK,CAAC,IAAI,EAAE,CASzB,CACN,CAAC,GACC,IACD,CACP,EAEA,cAAc,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,IAAI,CAC5C,0BACE,aAAI,SAAS,EAAC,8EAA8E,YACzF,EAAE,CAAC,uCAAuC,EAAE,6BAA6B,CAAC,GACxE,EACL,aAAI,SAAS,EAAC,qBAAqB,YAChC,cAAc,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAC7C,cAEE,SAAS,EAAC,wGAAwG,aAElH,eAAM,SAAS,EAAC,qCAAqC,YAClD,EAAE,CAAC,KAAK,CAAC,QAAQ,EAAE,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,GAC1C,EACP,eAAM,SAAS,EAAC,2GAA2G,YACxH,oBAAoB,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,GAClC,KARF,OAAO,KAAK,CAAC,IAAI,EAAE,CASrB,CACN,CAAC,GACC,IACD,CACP,EAEA,cAAc,CAAC,wBAAwB,CAAC,MAAM,GAAG,CAAC,IAAI,CACrD,0BACE,aAAI,SAAS,EAAC,8EAA8E,YACzF,EAAE,CAAC,wCAAwC,EAAE,gBAAgB,CAAC,GAC5D,EACL,aAAI,SAAS,EAAC,qBAAqB,YAChC,cAAc,CAAC,wBAAwB,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CACtD,cAEE,SAAS,EAAC,wGAAwG,aAElH,eAAM,SAAS,EAAC,qCAAqC,YAClD,EAAE,CAAC,KAAK,CAAC,QAAQ,EAAE,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,GAC1C,EACP,eAAM,SAAS,EAAC,qIAAqI,YAClJ,oBAAoB,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,GAClC,KARF,OAAO,KAAK,CAAC,IAAI,EAAE,CASrB,CACN,CAAC,GACC,IACD,CACP,EAEA,cAAc,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC;gCACnC,cAAc,CAAC,UAAU;gCACzB,cAAc,CAAC,eAAe,CAAC,MAAM,KAAK,CAAC;gCAC3C,cAAc,CAAC,wBAAwB,CAAC,MAAM,KAAK,CAAC,IAAI,CACtD,eAAK,SAAS,EAAC,mKAAmK,aAChL,KAAC,YAAY,IAAC,SAAS,EAAC,iBAAiB,iBAAa,MAAM,GAAG,EAC/D,yBACG,EAAE,CAAC,4BAA4B,EAAE,mCAAmC,CAAC,GACjE,IACH,CACP,IACC,IACF,CACP,EAOA,QAAQ,EAAE,gBAAgB,IAAI,eAAe,IAAI,SAAS,IAAI,CAC7D,KAAC,YAAY,IACX,eAAe,EAAE,OAAO,EACxB,WAAW,EAAE,WAAW,IAAI,KAAK,EACjC,gBAAgB,EAAE,gBAAgB,EAClC,oBAAoB,EAAE,oBAAoB,EAC1C,SAAS,EAAE,aAAa,EACxB,aAAa,EAAE,aAAa,IAAI,IAAI,EACpC,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,EAAE,CAAC,EACtC,aAAa,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,EAAE,EAAE,CAAC,EACxC,iBAAiB,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,CAAC,EAAE,EAAE,CAAC,EAChD,EAAE,EAAE,EAAE,GACN,CACH,EAMA,CAAC,WAAW,IAAI,UAAU,IAAI,UAAU,CAAC,IAAI,CAC5C,KAAC,UAAU,IACT,KAAK,EAAE,EAAE,CAAC,+BAA+B,EAAE,YAAY,CAAC,EACxD,KAAK,EACH,WAAW;oBACT,CAAC,CAAC,EAAE,CAAC,gCAAgC,EAAE,qBAAqB,WAAW,EAAE,CAAC;oBAC1E,CAAC,CAAC,EAAE,CAAC,6BAA6B,EAAE,UAAU,CAAC,EAEnD,IAAI,EAAC,SAAS,EACd,MAAM,EACJ,UAAU,IAAI,UAAU;oBACtB,CAAC,CAAC,EAAE,CACA,+BAA+B,EAC/B,UAAU;wBACR,CAAC,CAAC,eAAe,gBAAgB,CAAC,UAAU,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,OAAO,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE;wBACvF,CAAC,CAAC,eAAe,UAAU,EAAE,CAChC;oBACH,CAAC,CAAC,SAAS,GAEf,CACH,EAGA,mBAAmB,IAAI,CACtB,eAAK,SAAS,EAAC,gDAAgD,aAC7D,aAAI,SAAS,EAAC,8EAA8E,YACzF,EAAE,CAAC,wCAAwC,EAAE,sBAAsB,CAAC,GAClE,EACL,YAAG,SAAS,EAAC,yBAAyB,YAAE,mBAAmB,GAAK,IAC5D,CACP,EAGA,YAAY,IAAI,CACf,eAAK,SAAS,EAAC,gDAAgD,aAC7D,aAAI,SAAS,EAAC,8EAA8E,YACzF,EAAE,CAAC,8BAA8B,EAAE,WAAW,CAAC,GAC7C,EACL,aAAI,SAAS,EAAC,6BAA6B,YACxC,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;wBAC/B,+GAA+G;wBAC/G,4DAA4D;wBAC5D,uBACG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CACP,YACE,IAAI,EAAE,CAAC,CAAC,GAAG,EACX,MAAM,EAAC,QAAQ,EACf,GAAG,EAAC,qBAAqB,EACzB,SAAS,EAAC,8BAA8B,YAEvC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,GACf,CACL,CAAC,CAAC,CAAC,CACF,eAAM,SAAS,EAAC,iBAAiB,YAAE,CAAC,CAAC,KAAK,GAAQ,CACnD,IAZM,GAAG,CAAC,CAAC,GAAG,IAAI,EAAE,IAAI,CAAC,EAAE,CAazB,CACN,CAAC,GACC,IACD,CACP,IACG,CACP,CAAC;AACJ,CAAC;AAED,iFAAiF;AAEjF,+EAA+E;AAC/E,MAAM,cAAc,GAClB,2FAA2F,CAAC;AAwB9F,SAAS,YAAY,CAAC,EACpB,eAAe,EACf,WAAW,EACX,gBAAgB,EAChB,oBAAoB,EACpB,SAAS,EACT,aAAa,EACb,YAAY,EACZ,aAAa,EACb,iBAAiB,EACjB,EAAE,GACgB;IAClB,MAAM,QAAQ,GAAG,eAAe,IAAI,WAAW,IAAI,gBAAgB,CAAC;IACpE,MAAM,MAAM,GAAG,sBAAsB,CAAC;IAEtC,yEAAyE;IACzE,sDAAsD;IACtD,MAAM,iBAAiB,GAAG,gBAAgB,CAAC;IAC3C,MAAM,aAAa,GAAG,eAAe,IAAI,CAAC,gBAAgB,CAAC;IAC3D,MAAM,uBAAuB,GAAG,oBAAoB,IAAI,CAAC,aAAa,CAAC;IACvE,MAAM,OAAO,GAAG,iBAAiB,IAAI,aAAa,IAAI,uBAAuB,CAAC;IAE9E,OAAO;IACL,wEAAwE;IACxE,uEAAuE;IACvE,mEAAmE;IACnE,cAAK,SAAS,EAAC,0DAA0D,YACvE,eAAK,SAAS,EAAC,6CAA6C,aAC1D,eAAK,SAAS,EAAC,mEAAmE,aAChF,eAAK,SAAS,EAAC,SAAS,aACtB,YAAG,SAAS,EAAC,sFAAsF,YAChG,EAAE,CAAC,mCAAmC,EAAE,cAAc,CAAC,GACtD,EACJ,aAAI,SAAS,EAAC,yCAAyC,YACpD,EAAE,CAAC,mCAAmC,EAAE,mBAAmB,CAAC,GAC1D,EACL,YAAG,SAAS,EAAC,kDAAkD,YAC5D,EAAE,CACD,gCAAgC,EAChC,4GAA4G,CAC7G,GACC,IACA,EAEN,eAAK,SAAS,EAAC,2DAA2D,aACxE,kBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,SAAS,EAClB,QAAQ,EAAE,QAAQ,sBACA,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,EAC9C,SAAS,EAAE,gSAAgS,cAAc,EAAE,aAE3T,yBACG,WAAW;gDACV,CAAC,CAAC,EAAE,CAAC,8BAA8B,EAAE,aAAa,CAAC;gDACnD,CAAC,CAAC,oBAAoB;oDACpB,CAAC,CAAC,EAAE,CAAC,wCAAwC,EAAE,uBAAuB,CAAC;oDACvE,CAAC,CAAC,EAAE,CAAC,kCAAkC,EAAE,mBAAmB,CAAC,GAC5D,EACP,eACE,SAAS,EAAE,oEAAoE,cAAc,oFAAoF,iBACrK,MAAM,YAElB,KAAC,YAAY,IAAC,SAAS,EAAC,QAAQ,GAAG,GAC9B,IACA,EACR,OAAO,IAAI,CACV,YAAG,EAAE,EAAE,MAAM,EAAE,SAAS,EAAC,+BAA+B,YACrD,iBAAiB;wCAChB,CAAC,CAAC,EAAE,CACA,mCAAmC,EACnC,2CAA2C,CAC5C;wCACH,CAAC,CAAC,aAAa;4CACb,CAAC,CAAC,EAAE,CAAC,qCAAqC,EAAE,yBAAyB,CAAC;4CACtE,CAAC,CAAC,EAAE,CACA,kCAAkC,EAClC,2DAA2D,CAC5D,GACL,CACL,IACG,IACF,EAGN,eAAK,SAAS,EAAC,qCAAqC,aAClD,aAAI,SAAS,EAAC,8EAA8E,YACzF,EAAE,CAAC,mCAAmC,EAAE,2BAA2B,CAAC,GAClE,EACJ,CAAC,aAAa,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAC9C,eAAK,SAAS,EAAC,mKAAmK,aAChL,KAAC,YAAY,IAAC,SAAS,EAAC,iBAAiB,iBAAa,MAAM,GAAG,EAC/D,yBACG,EAAE,CAAC,iCAAiC,EAAE,sCAAsC,CAAC,GACzE,IACH,CACP,CAAC,CAAC,CAAC,CACF,aAAI,SAAS,EAAC,uBAAuB,YAClC,aAAa,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,CAC/B,cAKE,SAAS,EAAC,wGAAwG,aAElH,eAAM,SAAS,EAAC,qCAAqC,YAClD,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,GACpB,EACP,eAAM,SAAS,EAAC,qIAAqI,YAClJ,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,GACvB,EACN,KAAK,CAAC,UAAU,IAAI,CACnB,KAAC,cAAc,IACb,UAAU,EAAE,KAAK,CAAC,UAAU,EAC5B,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC,UAAU,CAAC,GAC1C,CACH,KAdI,GAAG,KAAK,CAAC,IAAI,IAAI,CAAC,EAAE,CAetB,CACN,CAAC,GACC,CACN,IACG,IACF,GACF,CACP,CAAC;AACJ,CAAC;AAED,iFAAiF;AAEjF,SAAS,cAAc,CAAC,EAAE,UAAU,EAAE,KAAK,EAAyC;IAClF,wEAAwE;IACxE,yEAAyE;IACzE,sEAAsE;IACtE,MAAM,KAAK,GACT,UAAU,KAAK,MAAM;QACnB,CAAC,CAAC,qGAAqG;QACvG,CAAC,CAAC,UAAU,KAAK,QAAQ;YACvB,CAAC,CAAC,kDAAkD;YACpD,CAAC,CAAC,qDAAqD,CAAC;IAC9D,OAAO,CACL,eACE,SAAS,EAAE,kFAAkF,KAAK,EAAE,YAEnG,KAAK,GACD,CACR,CAAC;AACJ,CAAC;AAED,iFAAiF;AAEjF,SAAS,UAAU,CAAC,EAClB,KAAK,EACL,KAAK,EACL,IAAI,EACJ,MAAM,GAMP;IACC,MAAM,SAAS,GACb,IAAI,KAAK,SAAS;QAChB,CAAC,CAAC,oGAAoG;QACtG,CAAC,CAAC,IAAI,KAAK,SAAS;YAClB,CAAC,CAAC,oGAAoG;YACtG,CAAC,CAAC,0CAA0C,CAAC;IAEnD,OAAO,CACL,eAAK,SAAS,EAAE,yBAAyB,SAAS,EAAE,aAClD,YAAG,SAAS,EAAC,8DAA8D,YAAE,KAAK,GAAK,EACvF,YAAG,SAAS,EAAC,8BAA8B,YAAE,KAAK,GAAK,EACtD,MAAM,IAAI,YAAG,SAAS,EAAC,yBAAyB,YAAE,MAAM,GAAK,IAC1D,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -53,7 +53,12 @@ export type OfferMutation = z.infer<typeof OfferMutationSchema>;
|
|
|
53
53
|
* an ordered list of leaf sub-events, preserving the B5 atomicity guarantee
|
|
54
54
|
* (Spec §3.2 "Important shape decisions").
|
|
55
55
|
*/
|
|
56
|
-
export declare const OfferSubEventSchema: z.ZodObject<{
|
|
56
|
+
export declare const OfferSubEventSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
57
|
+
type: z.ZodLiteral<"attachment_changed">;
|
|
58
|
+
payload: z.ZodObject<{
|
|
59
|
+
attachmentId: z.ZodString;
|
|
60
|
+
}, z.core.$strip>;
|
|
61
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
57
62
|
type: z.ZodEnum<{
|
|
58
63
|
state_changed: "state_changed";
|
|
59
64
|
timeline_event_added: "timeline_event_added";
|
|
@@ -62,7 +67,7 @@ export declare const OfferSubEventSchema: z.ZodObject<{
|
|
|
62
67
|
typing_changed: "typing_changed";
|
|
63
68
|
}>;
|
|
64
69
|
payload: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
65
|
-
}, z.core.$strip>;
|
|
70
|
+
}, z.core.$strip>], "type">;
|
|
66
71
|
export type OfferSubEvent = z.infer<typeof OfferSubEventSchema>;
|
|
67
72
|
/**
|
|
68
73
|
* Wire payload for `org:{orgId}:offer:{offerId}` (event name `"offer"`).
|
|
@@ -80,7 +85,12 @@ export type OfferSubEvent = z.infer<typeof OfferSubEventSchema>;
|
|
|
80
85
|
*/
|
|
81
86
|
export declare const OfferEventSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
82
87
|
mutation: z.ZodLiteral<"mutation">;
|
|
83
|
-
subEvents: z.ZodArray<z.ZodObject<{
|
|
88
|
+
subEvents: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
89
|
+
type: z.ZodLiteral<"attachment_changed">;
|
|
90
|
+
payload: z.ZodObject<{
|
|
91
|
+
attachmentId: z.ZodString;
|
|
92
|
+
}, z.core.$strip>;
|
|
93
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
84
94
|
type: z.ZodEnum<{
|
|
85
95
|
state_changed: "state_changed";
|
|
86
96
|
timeline_event_added: "timeline_event_added";
|
|
@@ -89,7 +99,7 @@ export declare const OfferEventSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
89
99
|
typing_changed: "typing_changed";
|
|
90
100
|
}>;
|
|
91
101
|
payload: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
92
|
-
}, z.core.$strip>>;
|
|
102
|
+
}, z.core.$strip>], "type">>;
|
|
93
103
|
payload: z.ZodOptional<z.ZodUnknown>;
|
|
94
104
|
emissionId: z.ZodString;
|
|
95
105
|
offerId: z.ZodString;
|
|
@@ -105,7 +115,12 @@ export declare const OfferEventSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
105
115
|
presence_changed: "presence_changed";
|
|
106
116
|
typing_changed: "typing_changed";
|
|
107
117
|
}>;
|
|
108
|
-
subEvents: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
118
|
+
subEvents: z.ZodOptional<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
119
|
+
type: z.ZodLiteral<"attachment_changed">;
|
|
120
|
+
payload: z.ZodObject<{
|
|
121
|
+
attachmentId: z.ZodString;
|
|
122
|
+
}, z.core.$strip>;
|
|
123
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
109
124
|
type: z.ZodEnum<{
|
|
110
125
|
state_changed: "state_changed";
|
|
111
126
|
timeline_event_added: "timeline_event_added";
|
|
@@ -114,7 +129,7 @@ export declare const OfferEventSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
114
129
|
typing_changed: "typing_changed";
|
|
115
130
|
}>;
|
|
116
131
|
payload: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
117
|
-
}, z.core.$strip>>>;
|
|
132
|
+
}, z.core.$strip>], "type">>>;
|
|
118
133
|
payload: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
119
134
|
emissionId: z.ZodString;
|
|
120
135
|
offerId: z.ZodString;
|