@cellarnode/ui 0.180.0 → 0.182.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.
- package/dist/chat/chat-surface.d.ts +2 -0
- package/dist/chat/chat-surface.d.ts.map +1 -1
- package/dist/chat/chat-surface.js +2 -1
- package/dist/chat/chat-surface.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 +7 -1
- package/dist/chat/messenger-screen/message-adapters.d.ts.map +1 -1
- package/dist/chat/messenger-screen/message-adapters.js +12 -3
- 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 +2 -2
- package/dist/chat/messenger-screen/messenger-screen.js.map +1 -1
- package/dist/chat/messenger-screen/room-panel.d.ts +3 -1
- package/dist/chat/messenger-screen/room-panel.d.ts.map +1 -1
- package/dist/chat/messenger-screen/room-panel.js +46 -9
- package/dist/chat/messenger-screen/room-panel.js.map +1 -1
- package/dist/chat/messenger-screen/types.d.ts +16 -1
- package/dist/chat/messenger-screen/types.d.ts.map +1 -1
- package/dist/components/certification-upload-card.d.ts +25 -3
- package/dist/components/certification-upload-card.d.ts.map +1 -1
- package/dist/components/certification-upload-card.js +34 -4
- package/dist/components/certification-upload-card.js.map +1 -1
- package/dist/components/journey-card.d.ts +58 -3
- package/dist/components/journey-card.d.ts.map +1 -1
- package/dist/components/journey-card.js +35 -11
- package/dist/components/journey-card.js.map +1 -1
- package/dist/components/party-logo-image.d.ts +16 -0
- package/dist/components/party-logo-image.d.ts.map +1 -0
- package/dist/components/party-logo-image.js +16 -0
- package/dist/components/party-logo-image.js.map +1 -0
- package/dist/components/sortable-card-context.d.ts +7 -0
- package/dist/components/sortable-card-context.d.ts.map +1 -1
- package/dist/components/sortable-card-context.js.map +1 -1
- package/dist/components/sortable-card-shell.d.ts +13 -8
- package/dist/components/sortable-card-shell.d.ts.map +1 -1
- package/dist/components/sortable-card-shell.js +41 -18
- package/dist/components/sortable-card-shell.js.map +1 -1
- package/dist/hooks/use-kanban-dnd.d.ts +1 -0
- package/dist/hooks/use-kanban-dnd.d.ts.map +1 -1
- package/dist/hooks/use-kanban-dnd.js +2 -2
- package/dist/hooks/use-kanban-dnd.js.map +1 -1
- package/dist/offer/index.d.ts +2 -0
- package/dist/offer/index.d.ts.map +1 -1
- package/dist/offer/index.js +1 -0
- package/dist/offer/index.js.map +1 -1
- package/dist/offer/negotiation-flow-timeline.d.ts +7 -1
- package/dist/offer/negotiation-flow-timeline.d.ts.map +1 -1
- package/dist/offer/negotiation-flow-timeline.js +23 -6
- package/dist/offer/negotiation-flow-timeline.js.map +1 -1
- package/dist/offer/negotiation-labels.d.ts +3 -0
- package/dist/offer/negotiation-labels.d.ts.map +1 -1
- package/dist/offer/negotiation-labels.js +2 -0
- package/dist/offer/negotiation-labels.js.map +1 -1
- package/dist/offer/negotiation-section.d.ts +4 -1
- package/dist/offer/negotiation-section.d.ts.map +1 -1
- package/dist/offer/negotiation-section.js +2 -2
- package/dist/offer/negotiation-section.js.map +1 -1
- package/dist/offer/offer-page.d.ts +7 -1
- package/dist/offer/offer-page.d.ts.map +1 -1
- package/dist/offer/offer-page.js +2 -2
- package/dist/offer/offer-page.js.map +1 -1
- package/dist/offer/participants.d.ts +53 -0
- package/dist/offer/participants.d.ts.map +1 -0
- package/dist/offer/participants.js +36 -0
- package/dist/offer/participants.js.map +1 -0
- package/dist/offer/types.d.ts +5 -0
- package/dist/offer/types.d.ts.map +1 -1
- package/dist/product-editor/index.d.ts +1 -1
- package/dist/product-editor/index.d.ts.map +1 -1
- package/dist/product-editor/index.js.map +1 -1
- package/dist/product-editor/product-editor-resource-types.d.ts +40 -2
- package/dist/product-editor/product-editor-resource-types.d.ts.map +1 -1
- package/dist/product-editor/tabs/resources/certifications-panel.d.ts +10 -3
- package/dist/product-editor/tabs/resources/certifications-panel.d.ts.map +1 -1
- package/dist/product-editor/tabs/resources/certifications-panel.js +239 -24
- package/dist/product-editor/tabs/resources/certifications-panel.js.map +1 -1
- package/dist/product-editor/types.d.ts +1 -1
- package/dist/product-editor/types.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -6,29 +6,41 @@ import { cn } from "../lib/utils.js";
|
|
|
6
6
|
import { AvatarStack } from "./avatar-stack.js";
|
|
7
7
|
import { SortableCardContext } from "./sortable-card-context.js";
|
|
8
8
|
import { SourceComposite } from "./source-composite.js";
|
|
9
|
+
const PRIMARY_ACTION_TONE = {
|
|
10
|
+
info: "bg-[var(--tone-info-soft)] text-[var(--tone-info-fg)] border-[var(--tone-info-border)]",
|
|
11
|
+
brand: "bg-[var(--tone-brand-soft)] text-[var(--tone-brand-fg)] border-[var(--tone-brand-border)]",
|
|
12
|
+
negotiation: "bg-[var(--tone-negotiation-soft)] text-[var(--tone-negotiation-fg)] border-[var(--tone-negotiation-border)]",
|
|
13
|
+
warning: "bg-[var(--tone-warning-soft)] text-[var(--tone-warning-fg)] border-[var(--tone-warning-border)]",
|
|
14
|
+
success: "bg-[var(--tone-success-soft)] text-[var(--tone-success-fg)] border-[var(--tone-success-border)]",
|
|
15
|
+
};
|
|
9
16
|
const VARIANT_BG = {
|
|
10
17
|
default: "bg-[var(--card)]",
|
|
11
18
|
sent: "bg-[var(--tone-brand-surface)]",
|
|
12
19
|
won: "bg-[var(--tone-success-surface)] border-[var(--tone-success-border)]",
|
|
13
20
|
lost: "bg-[var(--tone-neutral-surface)] opacity-90",
|
|
14
21
|
};
|
|
15
|
-
export function JourneyCard({ productImage, productInitials, title, subtitle, modified = false, activityDot, matchScore, progress, metaRight, metaRightTone = "default", participants, titleIcon, actionsSlot, variant = "default", animate = false, disableHover = false, showGrip, onClick, className, source, onSourceClick, }) {
|
|
22
|
+
export function JourneyCard({ productImage, productInitials, title, subtitle, modified = false, activityDot, matchScore, progress, metaRight, metaRightTone = "default", participants, titleIcon, actionsSlot, primaryAction, variant = "default", animate = false, disableHover = false, showGrip, onClick, ariaLabel, labels, className, source, onSourceClick, }) {
|
|
16
23
|
const showInitials = !productImage && !!productInitials;
|
|
17
|
-
const { isDraggable } = React.use(SortableCardContext);
|
|
24
|
+
const { isDraggable, handleRef } = React.use(SortableCardContext);
|
|
18
25
|
// Default: show grip whenever the card is nested in a SortableCardShell.
|
|
19
26
|
// Consumers can override either direction via `showGrip`.
|
|
20
27
|
const renderGrip = showGrip ?? isDraggable;
|
|
21
|
-
const
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
28
|
+
const reasonId = React.useId();
|
|
29
|
+
const titleId = React.useId();
|
|
30
|
+
const openLabelId = React.useId();
|
|
31
|
+
const reorderLabelId = React.useId();
|
|
32
|
+
const openLabel = labels?.open ?? "Open";
|
|
33
|
+
const reorderLabel = labels?.reorder ?? "Reorder";
|
|
34
|
+
const hasBaseline = (participants && participants.length > 0) || !!metaRight || !!actionsSlot || !!primaryAction;
|
|
35
|
+
const primaryDisabled = !!primaryAction?.disabled;
|
|
36
|
+
const primaryReason = primaryDisabled ? primaryAction?.disabledReason : undefined;
|
|
37
|
+
const shell = (_jsxs("div", { className: cn("group relative rounded-xl border border-[color-mix(in_oklab,var(--border)_60%,transparent)] p-3.5", "shadow-[0_1px_2px_oklch(0.2_0.005_230/0.04),0_8px_24px_-18px_oklch(0.2_0.005_230/0.08),inset_0_1px_0_oklch(1_0_0/0.35)]", !disableHover &&
|
|
27
38
|
"transition-[transform,border-color,box-shadow] duration-[var(--duration-standard)] ease-[var(--ease-emphasized)] will-change-transform", !disableHover &&
|
|
28
39
|
"hover:-translate-y-1 hover:border-[color-mix(in_oklab,var(--primary)_22%,var(--border))] hover:shadow-[0_8px_20px_-12px_oklch(0.2_0.005_230/0.08),0_20px_50px_-30px_oklch(0.40_0.062_178/0.28),inset_0_1px_0_oklch(1_0_0/0.45)] hover:z-10 focus-within:z-10 has-[[data-open]]:z-50", VARIANT_BG[variant],
|
|
29
40
|
// When the grip is shown, widen the left padding into a dedicated
|
|
30
41
|
// gutter that holds it; twMerge overrides the left side of p-3.5.
|
|
31
|
-
renderGrip && "pl-7", onClick && "cursor-pointer", className), children: [
|
|
42
|
+
renderGrip && "pl-7", onClick && "cursor-pointer", className), children: [onClick && (_jsx("button", { type: "button", "data-card-main": true, onClick: onClick, "aria-label": ariaLabel, "aria-labelledby": ariaLabel ? undefined : `${openLabelId} ${titleId}`, className: "absolute inset-0 z-[1] cursor-pointer rounded-xl focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-ring/70" })), (onClick && !ariaLabel) || (renderGrip && handleRef) ? (_jsxs("span", { hidden: true, children: [onClick && !ariaLabel && _jsx("span", { id: openLabelId, children: openLabel }), renderGrip && handleRef && _jsx("span", { id: reorderLabelId, children: reorderLabel })] })) : null, renderGrip &&
|
|
43
|
+
(handleRef ? (_jsx("button", { type: "button", ref: handleRef, "data-drag-handle": true, "aria-labelledby": `${reorderLabelId} ${titleId}`, className: "absolute inset-y-0 left-0 z-10 flex w-7 cursor-grab items-center justify-center rounded-l-xl text-[var(--muted-foreground)] opacity-0 transition-opacity duration-[var(--duration-standard)] ease-[var(--ease-emphasized)] group-hover:opacity-100 focus-visible:opacity-100 focus-visible:outline-2 focus-visible:-outline-offset-2 focus-visible:outline-ring/70 pointer-coarse:w-9 pointer-coarse:opacity-30 pointer-coarse:focus-visible:opacity-100", children: _jsx(GripVertical, { "aria-hidden": "true", className: "size-4" }) })) : (_jsx("span", { "aria-hidden": "true", className: "pointer-events-none absolute inset-y-0 left-0 z-10 flex w-7 items-center justify-center text-[var(--muted-foreground)] opacity-0 transition-opacity duration-[var(--duration-standard)] ease-[var(--ease-emphasized)] group-hover:opacity-100 pointer-coarse:opacity-30", children: _jsx(GripVertical, { className: "size-4" }) }))), _jsxs("div", { className: "flex items-start gap-[10px]", children: [productImage ? (_jsx("img", { src: productImage.url, alt: productImage.altText ?? "", width: 48, height: 48, loading: "lazy", "data-thumb": "true", className: cn("size-12 shrink-0 rounded-lg object-cover shadow-[0_2px_8px_-2px_oklch(0_0_0/0.15),inset_0_1px_0_oklch(1_0_0/0.2)]", source === "match" &&
|
|
32
44
|
"ring-4 ring-[color-mix(in_oklab,var(--primary)_18%,transparent)]") })) : showInitials ? (_jsx("div", { "data-thumb": "true", className: cn("flex size-12 shrink-0 items-center justify-center rounded-lg text-sm font-bold tracking-tight text-white shadow-[0_2px_8px_-2px_oklch(0_0_0/0.15),inset_0_1px_0_oklch(1_0_0/0.2)]", source === "match" &&
|
|
33
45
|
"ring-4 ring-[color-mix(in_oklab,var(--primary)_18%,transparent)]"), style: {
|
|
34
46
|
background: "linear-gradient(135deg, color-mix(in oklab, var(--primary) 60%, white) 0%, color-mix(in oklab, var(--accent-secondary) 60%, white) 100%)",
|
|
@@ -38,10 +50,22 @@ export function JourneyCard({ productImage, productInitials, title, subtitle, mo
|
|
|
38
50
|
background: "var(--tone-brand-surface)",
|
|
39
51
|
border: "1.5px dashed var(--tone-brand-border)",
|
|
40
52
|
color: "var(--tone-brand-fg)",
|
|
41
|
-
}, "aria-hidden": "true", children: "+" })), _jsxs("div", { className: "min-w-0 flex-1 pt-0.5", children: [_jsxs("div", { className: "mb-[3px] flex items-center gap-1.5", children: [source && (_jsx(SourceComposite, { source: source, matchScore: matchScore, onClick: onSourceClick })), _jsx("div", { className: "min-w-0 flex-1 truncate font-display text-sm/5 font-semibold tracking-tight text-foreground", children: title }), modified && (_jsx("span", { role: "img", title: "Modified for this offer", "aria-label": "Modified for this offer", className: "size-[7px] shrink-0 rounded-full bg-[var(--accent-secondary)] shadow-[0_0_0_3px_color-mix(in_oklab,var(--accent-secondary)_15%,transparent)]" })), activityDot && !modified && (_jsx("span", { role: "img", title: "Recent activity", "aria-label": "Recent activity", className: "size-[7px] shrink-0 rounded-full bg-[var(--primary)] shadow-[0_0_0_3px_color-mix(in_oklab,var(--primary)_15%,transparent)]" })), titleIcon && (_jsx("span", { className: "shrink-0 text-[var(--accent-secondary)]", children: titleIcon }))] }), subtitle && (_jsx("div", { className: "truncate text-xs/4 text-[var(--muted-foreground)]", children: subtitle }))] })] }), typeof progress === "number" && (_jsx("div", { className: "mt-[10px] h-1 overflow-hidden rounded-full bg-[color-mix(in_oklab,var(--primary)_8%,transparent)]", role: "progressbar", "aria-label": "Offer preparation progress", "aria-valuenow": Math.round(progress * 100), "aria-valuemin": 0, "aria-valuemax": 100, children: _jsx("div", { className: "h-full transition-[width] duration-[var(--duration-hero)] ease-[var(--ease-emphasized)]", style: {
|
|
53
|
+
}, "aria-hidden": "true", children: "+" })), _jsxs("div", { className: "min-w-0 flex-1 pt-0.5", children: [_jsxs("div", { className: "mb-[3px] flex items-center gap-1.5", children: [source && (_jsx(SourceComposite, { source: source, matchScore: matchScore, onClick: onSourceClick, className: onSourceClick ? "relative z-10" : undefined })), _jsx("div", { id: titleId, className: "min-w-0 flex-1 truncate font-display text-sm/5 font-semibold tracking-tight text-foreground", children: title }), modified && (_jsx("span", { role: "img", title: "Modified for this offer", "aria-label": "Modified for this offer", className: "size-[7px] shrink-0 rounded-full bg-[var(--accent-secondary)] shadow-[0_0_0_3px_color-mix(in_oklab,var(--accent-secondary)_15%,transparent)]" })), activityDot && !modified && (_jsx("span", { role: "img", title: "Recent activity", "aria-label": "Recent activity", className: "size-[7px] shrink-0 rounded-full bg-[var(--primary)] shadow-[0_0_0_3px_color-mix(in_oklab,var(--primary)_15%,transparent)]" })), titleIcon && (_jsx("span", { className: "shrink-0 text-[var(--accent-secondary)]", children: titleIcon }))] }), subtitle && (_jsx("div", { className: "truncate text-xs/4 text-[var(--muted-foreground)]", children: subtitle }))] })] }), typeof progress === "number" && (_jsx("div", { className: "mt-[10px] h-1 overflow-hidden rounded-full bg-[color-mix(in_oklab,var(--primary)_8%,transparent)]", role: "progressbar", "aria-label": "Offer preparation progress", "aria-valuenow": Math.round(progress * 100), "aria-valuemin": 0, "aria-valuemax": 100, children: _jsx("div", { className: "h-full transition-[width] duration-[var(--duration-hero)] ease-[var(--ease-emphasized)]", style: {
|
|
42
54
|
width: `${Math.max(0, Math.min(1, progress)) * 100}%`,
|
|
43
55
|
background: "linear-gradient(90deg, var(--primary), color-mix(in oklab, var(--primary) 70%, var(--accent-secondary)))",
|
|
44
|
-
} }) })),
|
|
56
|
+
} }) })), hasBaseline && (_jsx("div", { className: "mx-0 my-[10px] h-px bg-linear-to-r from-transparent via-[color-mix(in_oklab,var(--primary)_15%,transparent)] to-transparent" })), hasBaseline && (_jsxs("div", { className: "@container flex items-center gap-2", children: [participants && participants.length > 0 ? (_jsx(AvatarStack, { orgs: participants, size: "sm" })) : (_jsx("span", {})), _jsx("span", { className: "flex-1" }), metaRight && (_jsx("span", { className: cn("text-right font-display text-xs tabular-nums tracking-tight", metaRightTone === "success" && "font-bold text-[var(--tone-success-fg)]", metaRightTone === "muted" && "text-[var(--muted-foreground)]", metaRightTone === "default" && "text-[var(--muted-foreground)]"), children: metaRight })), primaryAction && (_jsxs("div", { className: "relative z-10 flex min-w-0 shrink justify-end", onClick: (e) => e.stopPropagation(), onKeyDown: (e) => e.stopPropagation(), children: [_jsxs("button", { type: "button", "data-no-drag": true, "aria-label": primaryAction.ariaLabel, "aria-disabled": primaryDisabled ? "true" : undefined, "aria-describedby": primaryReason ? reasonId : undefined, title: primaryReason, onClick: (e) => {
|
|
57
|
+
if (primaryDisabled) {
|
|
58
|
+
e.preventDefault();
|
|
59
|
+
return;
|
|
60
|
+
}
|
|
61
|
+
primaryAction.onClick();
|
|
62
|
+
}, className: cn("inline-flex min-h-7 min-w-0 max-w-full items-center justify-center gap-1 rounded-full border px-2.5 text-xs/5 font-medium shadow-xs", "transition-[filter,transform] duration-[var(--duration-standard)] ease-[var(--ease-emphasized)]", "focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-ring/70", "pointer-coarse:min-h-11 pointer-coarse:px-3", PRIMARY_ACTION_TONE[primaryAction.tone ?? "brand"], primaryDisabled
|
|
63
|
+
? "cursor-not-allowed opacity-60"
|
|
64
|
+
: "hover:brightness-95 active:scale-95"), children: [primaryAction.icon && (_jsx("span", { "aria-hidden": "true", className: "inline-flex shrink-0 items-center [&>svg]:size-3.5", children: primaryAction.icon })), _jsx("span", { className: cn("min-w-0 truncate",
|
|
65
|
+
// Narrow card (row under 14rem): collapse to icon-only; the
|
|
66
|
+
// label stays in the accessibility tree. Without an icon the
|
|
67
|
+
// label always shows (it would otherwise be an empty pill).
|
|
68
|
+
primaryAction.icon && "sr-only @min-[14rem]:not-sr-only"), children: primaryAction.label })] }), primaryReason && (_jsx("span", { id: reasonId, className: "sr-only", children: primaryReason }))] })), actionsSlot && (_jsx("div", { className: "relative z-10 shrink-0 opacity-40 transition-opacity duration-[var(--duration-standard)] ease-[var(--ease-emphasized)] hover:opacity-100 focus-within:opacity-100 has-[[data-open]]:opacity-100", onClick: (e) => e.stopPropagation(), onKeyDown: (e) => e.stopPropagation(), children: actionsSlot }))] }))] }));
|
|
45
69
|
if (animate) {
|
|
46
70
|
return (_jsx(motion.div, { initial: { opacity: 0, y: 12, scale: 0.96 }, animate: { opacity: 1, y: 0, scale: 1 }, transition: { duration: 0.25, ease: [0.16, 1, 0.3, 1] }, children: shell }));
|
|
47
71
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"journey-card.js","sourceRoot":"","sources":["../../src/components/journey-card.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAClC,OAAO,EAAE,WAAW,EAAmB,MAAM,gBAAgB,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"journey-card.js","sourceRoot":"","sources":["../../src/components/journey-card.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
export interface PartyLogoImageProps {
|
|
3
|
+
src: string | null | undefined;
|
|
4
|
+
/** Org name for a standalone logo; `""` when a visible name sits next to it. */
|
|
5
|
+
alt: string;
|
|
6
|
+
className?: string;
|
|
7
|
+
/** Rendered when there is no `src` or the image fails to load. */
|
|
8
|
+
fallback: React.ReactNode;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* CEL-2151 - an org logo that degrades to `fallback` (a letter or initials
|
|
12
|
+
* mark) when the URL is missing or the image errors. The failure is tracked
|
|
13
|
+
* per `src`, so a new URL gets a fresh attempt.
|
|
14
|
+
*/
|
|
15
|
+
export declare function PartyLogoImage({ src, alt, className, fallback }: PartyLogoImageProps): import("react/jsx-runtime").JSX.Element;
|
|
16
|
+
//# sourceMappingURL=party-logo-image.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"party-logo-image.d.ts","sourceRoot":"","sources":["../../src/components/party-logo-image.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,MAAM,WAAW,mBAAmB;IAClC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAC/B,gFAAgF;IAChF,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kEAAkE;IAClE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,mBAAmB,2CAcpF"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Fragment as _Fragment, jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import * as React from "react";
|
|
3
|
+
/**
|
|
4
|
+
* CEL-2151 - an org logo that degrades to `fallback` (a letter or initials
|
|
5
|
+
* mark) when the URL is missing or the image errors. The failure is tracked
|
|
6
|
+
* per `src`, so a new URL gets a fresh attempt.
|
|
7
|
+
*/
|
|
8
|
+
export function PartyLogoImage({ src, alt, className, fallback }) {
|
|
9
|
+
const [failedSrc, setFailedSrc] = React.useState(null);
|
|
10
|
+
if (!src || failedSrc === src)
|
|
11
|
+
return _jsx(_Fragment, { children: fallback });
|
|
12
|
+
return (_jsx("img", { src: src, alt: alt, className: className,
|
|
13
|
+
// No lazy loading: printed timelines must include the logos.
|
|
14
|
+
referrerPolicy: "no-referrer", decoding: "async", onError: () => setFailedSrc(src) }));
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=party-logo-image.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"party-logo-image.js","sourceRoot":"","sources":["../../src/components/party-logo-image.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAW/B;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,QAAQ,EAAuB;IACnF,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAgB,IAAI,CAAC,CAAC;IACtE,IAAI,CAAC,GAAG,IAAI,SAAS,KAAK,GAAG;QAAE,OAAO,4BAAG,QAAQ,GAAI,CAAC;IACtD,OAAO,CACL,cACE,GAAG,EAAE,GAAG,EACR,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,SAAS;QACpB,6DAA6D;QAC7D,cAAc,EAAC,aAAa,EAC5B,QAAQ,EAAC,OAAO,EAChB,OAAO,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,GAChC,CACH,CAAC;AACJ,CAAC"}
|
|
@@ -13,6 +13,13 @@
|
|
|
13
13
|
*/
|
|
14
14
|
export interface SortableCardContextValue {
|
|
15
15
|
isDraggable: boolean;
|
|
16
|
+
/**
|
|
17
|
+
* dnd-kit activator-node ref. A card that mounts it on a real `<button>`
|
|
18
|
+
* (the grip) makes that button the ONLY keyboard drag handle and keeps the
|
|
19
|
+
* shell wrapper non-interactive (CEL-2173). Pointer drag still starts from
|
|
20
|
+
* anywhere on the card. Undefined outside a shell or when the shell is disabled.
|
|
21
|
+
*/
|
|
22
|
+
handleRef?: (element: Element | null) => void;
|
|
16
23
|
}
|
|
17
24
|
export declare const SortableCardContext: import("react").Context<SortableCardContextValue>;
|
|
18
25
|
//# sourceMappingURL=sortable-card-context.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sortable-card-context.d.ts","sourceRoot":"","sources":["../../src/components/sortable-card-context.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAIH,MAAM,WAAW,wBAAwB;IACvC,WAAW,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"sortable-card-context.d.ts","sourceRoot":"","sources":["../../src/components/sortable-card-context.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAIH,MAAM,WAAW,wBAAwB;IACvC,WAAW,EAAE,OAAO,CAAC;IACrB;;;;;OAKG;IACH,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,KAAK,IAAI,CAAC;CAC/C;AAED,eAAO,MAAM,mBAAmB,mDAE9B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sortable-card-context.js","sourceRoot":"","sources":["../../src/components/sortable-card-context.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"sortable-card-context.js","sourceRoot":"","sources":["../../src/components/sortable-card-context.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAatC,MAAM,CAAC,MAAM,mBAAmB,GAAG,aAAa,CAA2B;IACzE,WAAW,EAAE,KAAK;CACnB,CAAC,CAAC"}
|
|
@@ -11,13 +11,19 @@
|
|
|
11
11
|
* Tab to drop, Escape to cancel). Both share one `preventActivation` guard
|
|
12
12
|
* that inspects the event target with `Element.closest(...)`: any element
|
|
13
13
|
* matching a known interactive selector — or carrying a `data-no-drag`
|
|
14
|
-
* attribute — cancels activation
|
|
14
|
+
* attribute — cancels activation (a `data-card-main` stretched button is the
|
|
15
|
+
* one exception, for pointer only; see `shouldPreventDragActivation`), so a press or keypress on a button, link
|
|
15
16
|
* or menu inside the card runs that control instead of starting a drag.
|
|
16
17
|
*
|
|
17
|
-
* Keyboard a11y scaffolding (
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
18
|
+
* Keyboard a11y scaffolding (`aria-roledescription`, `aria-pressed`,
|
|
19
|
+
* screen-reader instructions + a polite live region) is provided
|
|
20
|
+
* automatically by @dnd-kit's `Accessibility` plugin on the drag ACTIVATOR.
|
|
21
|
+
* The shell exposes `handleRef` through `SortableCardContext`: a card that
|
|
22
|
+
* mounts it on a real grip `<button>` (JourneyCard does, CEL-2173) makes that
|
|
23
|
+
* button the only keyboard drag handle, and the wrapper stays a plain,
|
|
24
|
+
* non-focusable container (no nested interactives). Pointer drag still starts
|
|
25
|
+
* from anywhere on the card. A card that mounts no handle falls back to the
|
|
26
|
+
* old behaviour: dnd-kit promotes the wrapper to a focusable `role="button"`.
|
|
21
27
|
* Announcement copy is overridable at the board level (see `KanbanDndBoard`).
|
|
22
28
|
* See CEL-921.
|
|
23
29
|
*
|
|
@@ -40,9 +46,8 @@ export type { SortableCardContextValue };
|
|
|
40
46
|
* adding the `data-no-drag` attribute.
|
|
41
47
|
*
|
|
42
48
|
* Notable exclusion: `[role='button']` and `[role='link']` are NOT in
|
|
43
|
-
* this list.
|
|
44
|
-
*
|
|
45
|
-
* would resolve to the card wrapper itself and drag would never activate.
|
|
49
|
+
* this list. dnd-kit can promote the card wrapper to `role='button'`. If we
|
|
50
|
+
* matched those, `closest()` would resolve to the card wrapper itself and drag would never activate.
|
|
46
51
|
* `@dnd-kit/dom`'s own activation constraints (5px distance, 200ms delay)
|
|
47
52
|
* already prevent tap-clicks from starting accidental drags, so dropping
|
|
48
53
|
* these roles is safe.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sortable-card-shell.d.ts","sourceRoot":"","sources":["../../src/components/sortable-card-shell.tsx"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"sortable-card-shell.d.ts","sourceRoot":"","sources":["../../src/components/sortable-card-shell.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AAEH,OAAO,EAAW,KAAK,SAAS,EAAY,MAAM,OAAO,CAAC;AAI1D,OAAO,EAAE,mBAAmB,EAAE,KAAK,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AAM7F,OAAO,EAAE,mBAAmB,EAAE,CAAC;AAC/B,YAAY,EAAE,wBAAwB,EAAE,CAAC;AAIzC;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,8BAA8B,QAqBhC,CAAC;AA2BZ,MAAM,MAAM,qBAAqB,GAAG,UAAU,GAAG,WAAW,CAAC;AAE7D;;GAEG;AACH,UAAU,4BAA4B;IACpC,qDAAqD;IACrD,EAAE,EAAE,MAAM,CAAC;IAEX;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAE/B,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,oFAAoF;IACpF,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB,6CAA6C;IAC7C,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED;;;GAGG;AACH,UAAU,8BAA8B;IACtC,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,4CAA4C;IAC5C,KAAK,EAAE,MAAM,CAAC;IACd,gDAAgD;IAChD,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;GAGG;AACH,UAAU,+BAA+B;IACvC,IAAI,EAAE,WAAW,CAAC;IAClB,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,KAAK,CAAC,EAAE,KAAK,CAAC;CACf;AAED;;;;GAIG;AACH,MAAM,MAAM,sBAAsB,GAAG,4BAA4B,GAC/D,CAAC,8BAA8B,GAAG,+BAA+B,CAAC,CAAC;AAIrE;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,sBAAsB,2CAyD9D"}
|
|
@@ -12,13 +12,19 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
12
12
|
* Tab to drop, Escape to cancel). Both share one `preventActivation` guard
|
|
13
13
|
* that inspects the event target with `Element.closest(...)`: any element
|
|
14
14
|
* matching a known interactive selector — or carrying a `data-no-drag`
|
|
15
|
-
* attribute — cancels activation
|
|
15
|
+
* attribute — cancels activation (a `data-card-main` stretched button is the
|
|
16
|
+
* one exception, for pointer only; see `shouldPreventDragActivation`), so a press or keypress on a button, link
|
|
16
17
|
* or menu inside the card runs that control instead of starting a drag.
|
|
17
18
|
*
|
|
18
|
-
* Keyboard a11y scaffolding (
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
19
|
+
* Keyboard a11y scaffolding (`aria-roledescription`, `aria-pressed`,
|
|
20
|
+
* screen-reader instructions + a polite live region) is provided
|
|
21
|
+
* automatically by @dnd-kit's `Accessibility` plugin on the drag ACTIVATOR.
|
|
22
|
+
* The shell exposes `handleRef` through `SortableCardContext`: a card that
|
|
23
|
+
* mounts it on a real grip `<button>` (JourneyCard does, CEL-2173) makes that
|
|
24
|
+
* button the only keyboard drag handle, and the wrapper stays a plain,
|
|
25
|
+
* non-focusable container (no nested interactives). Pointer drag still starts
|
|
26
|
+
* from anywhere on the card. A card that mounts no handle falls back to the
|
|
27
|
+
* old behaviour: dnd-kit promotes the wrapper to a focusable `role="button"`.
|
|
22
28
|
* Announcement copy is overridable at the board level (see `KanbanDndBoard`).
|
|
23
29
|
* See CEL-921.
|
|
24
30
|
*
|
|
@@ -48,9 +54,8 @@ export { SortableCardContext };
|
|
|
48
54
|
* adding the `data-no-drag` attribute.
|
|
49
55
|
*
|
|
50
56
|
* Notable exclusion: `[role='button']` and `[role='link']` are NOT in
|
|
51
|
-
* this list.
|
|
52
|
-
*
|
|
53
|
-
* would resolve to the card wrapper itself and drag would never activate.
|
|
57
|
+
* this list. dnd-kit can promote the card wrapper to `role='button'`. If we
|
|
58
|
+
* matched those, `closest()` would resolve to the card wrapper itself and drag would never activate.
|
|
54
59
|
* `@dnd-kit/dom`'s own activation constraints (5px distance, 200ms delay)
|
|
55
60
|
* already prevent tap-clicks from starting accidental drags, so dropping
|
|
56
61
|
* these roles is safe.
|
|
@@ -86,11 +91,23 @@ export const SORTABLE_CARD_NO_DRAG_SELECTOR = [
|
|
|
86
91
|
* activation keys) guards — the check is purely target-based, so it works for
|
|
87
92
|
* any `Event` whose `target` is the pressed element.
|
|
88
93
|
*/
|
|
89
|
-
function shouldPreventDragActivation(event) {
|
|
94
|
+
function shouldPreventDragActivation(event, allowCardMain = false) {
|
|
90
95
|
const target = event.target;
|
|
91
96
|
if (!(target instanceof Element))
|
|
92
97
|
return false;
|
|
93
|
-
|
|
98
|
+
const match = target.closest(SORTABLE_CARD_NO_DRAG_SELECTOR);
|
|
99
|
+
if (match === null)
|
|
100
|
+
return false;
|
|
101
|
+
// The grip button IS the drag handle (pointer and keyboard).
|
|
102
|
+
if (match.hasAttribute("data-drag-handle"))
|
|
103
|
+
return false;
|
|
104
|
+
// CEL-2173: a card's stretched main button (`data-card-main`, JourneyCard)
|
|
105
|
+
// covers the whole card body, so a POINTER press on it must still start a
|
|
106
|
+
// drag (the 5px/200ms activation constraints keep a plain click a click).
|
|
107
|
+
// The keyboard guard does not pass `allowCardMain`: Space/Enter on that
|
|
108
|
+
// button opens the card; the grip button (the dnd-kit handle) is the
|
|
109
|
+
// keyboard lift handle.
|
|
110
|
+
return !(allowCardMain && match.hasAttribute("data-card-main"));
|
|
94
111
|
}
|
|
95
112
|
// ─── Component ──────────────────────────────────────────────────────────────
|
|
96
113
|
/**
|
|
@@ -116,22 +133,24 @@ export function SortableCardShell(props) {
|
|
|
116
133
|
// drag from every card — the CEL-921 gap this restores.
|
|
117
134
|
const sensors = useMemo(() => [
|
|
118
135
|
PointerSensor.configure({
|
|
119
|
-
|
|
136
|
+
// Listen on the whole card, not only the handle: with a grip handle
|
|
137
|
+
// mounted dnd-kit would otherwise bind pointerdown to the grip alone.
|
|
138
|
+
activatorElements: (source) => (source.element ? [source.element] : []),
|
|
139
|
+
preventActivation: (event) => shouldPreventDragActivation(event, true),
|
|
120
140
|
}),
|
|
121
141
|
KeyboardSensor.configure({
|
|
122
142
|
preventActivation: (event) => shouldPreventDragActivation(event),
|
|
123
143
|
}),
|
|
124
144
|
], []);
|
|
125
|
-
const contextValue = useMemo(() => ({ isDraggable: !disabled }), [disabled]);
|
|
126
145
|
if (props.mode === "draggable") {
|
|
127
|
-
return (_jsx(
|
|
146
|
+
return (_jsx(DraggableShell, { id: id, data: data, disabled: disabled, isShaking: isShaking, className: className, sensors: sensors, children: children }));
|
|
128
147
|
}
|
|
129
148
|
// Sortable mode (default). TS narrows `props` so `index` and `group`
|
|
130
149
|
// are guaranteed to be `number` + `string` — no casts needed.
|
|
131
|
-
return (_jsx(
|
|
150
|
+
return (_jsx(SortableShell, { id: id, index: props.index, group: props.group, data: data, disabled: disabled, isShaking: isShaking, className: className, sensors: sensors, children: children }));
|
|
132
151
|
}
|
|
133
152
|
function SortableShell({ id, index, group, data, disabled, isShaking, className, sensors, children, }) {
|
|
134
|
-
const { ref, isDragSource, isDropTarget } = useSortableCard({
|
|
153
|
+
const { ref, handleRef, isDragSource, isDropTarget } = useSortableCard({
|
|
135
154
|
id,
|
|
136
155
|
index,
|
|
137
156
|
group,
|
|
@@ -139,16 +158,20 @@ function SortableShell({ id, index, group, data, disabled, isShaking, className,
|
|
|
139
158
|
disabled,
|
|
140
159
|
sensors,
|
|
141
160
|
});
|
|
142
|
-
return (_jsx(Wrapper, { innerRef: ref, isDragSource: isDragSource, isDropTarget: isDropTarget, showDropTargetLine: true, isShaking: isShaking, className: className, children: children }));
|
|
161
|
+
return (_jsx(HandleProvider, { disabled: disabled, handleRef: handleRef, children: _jsx(Wrapper, { innerRef: ref, isDragSource: isDragSource, isDropTarget: isDropTarget, showDropTargetLine: true, isShaking: isShaking, className: className, children: children }) }));
|
|
143
162
|
}
|
|
144
163
|
function DraggableShell({ id, data, disabled, isShaking, className, sensors, children, }) {
|
|
145
|
-
const { ref, isDragging } = useDraggableCard({
|
|
164
|
+
const { ref, handleRef, isDragging } = useDraggableCard({
|
|
146
165
|
id,
|
|
147
166
|
data,
|
|
148
167
|
disabled,
|
|
149
168
|
sensors,
|
|
150
169
|
});
|
|
151
|
-
return (_jsx(Wrapper, { innerRef: ref, isDragSource: isDragging, isDropTarget: false, showDropTargetLine: false, isShaking: isShaking, className: className, children: children }));
|
|
170
|
+
return (_jsx(HandleProvider, { disabled: disabled, handleRef: handleRef, children: _jsx(Wrapper, { innerRef: ref, isDragSource: isDragging, isDropTarget: false, showDropTargetLine: false, isShaking: isShaking, className: className, children: children }) }));
|
|
171
|
+
}
|
|
172
|
+
function HandleProvider({ disabled, handleRef, children, }) {
|
|
173
|
+
const value = useMemo(() => ({ isDraggable: !disabled, handleRef: disabled ? undefined : handleRef }), [disabled, handleRef]);
|
|
174
|
+
return _jsx(SortableCardContext, { value: value, children: children });
|
|
152
175
|
}
|
|
153
176
|
function Wrapper({ innerRef, isDragSource, isDropTarget, showDropTargetLine, isShaking, className, children, }) {
|
|
154
177
|
return (_jsx("div", { ref: innerRef, className: cn("relative cursor-grab select-none transition-[transform,box-shadow,opacity] hover:z-10 has-[[data-open]]:z-50 active:cursor-grabbing",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sortable-card-shell.js","sourceRoot":"","sources":["../../src/components/sortable-card-shell.tsx"],"names":[],"mappings":";AAAA
|
|
1
|
+
{"version":3,"file":"sortable-card-shell.js","sourceRoot":"","sources":["../../src/components/sortable-card-shell.tsx"],"names":[],"mappings":"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"}
|
|
@@ -17,6 +17,7 @@ export interface UseDraggableCardOptions {
|
|
|
17
17
|
}
|
|
18
18
|
export declare function useDraggableCard({ id, data, disabled, sensors }: UseDraggableCardOptions): {
|
|
19
19
|
ref: (element: Element | null) => void;
|
|
20
|
+
handleRef: (element: Element | null) => void;
|
|
20
21
|
isDragging: boolean;
|
|
21
22
|
};
|
|
22
23
|
export interface UseSortableCardOptions {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-kanban-dnd.d.ts","sourceRoot":"","sources":["../../src/hooks/use-kanban-dnd.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAI5C,MAAM,WAAW,uBAAuB;IACtC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,uBAAuB
|
|
1
|
+
{"version":3,"file":"use-kanban-dnd.d.ts","sourceRoot":"","sources":["../../src/hooks/use-kanban-dnd.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAI5C,MAAM,WAAW,uBAAuB;IACtC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,uBAAuB;;;;EASxF;AAID,MAAM,WAAW,sBAAsB;IACrC,sBAAsB;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,gIAAgI;IAChI,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,2GAA2G;IAC3G,KAAK,EAAE,MAAM,CAAC;IACd,mFAAmF;IACnF,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,eAAe,CAAC,EAC9B,EAAE,EACF,IAAI,EACJ,KAAK,EACL,KAAK,EACL,QAAQ,EACR,OAAO,GACR,EAAE,sBAAsB;;;;;EAWxB;AAID,MAAM,WAAW,yBAAyB;IACxC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,yBAAyB;;;EAQnF"}
|
|
@@ -5,13 +5,13 @@
|
|
|
5
5
|
import { useDraggable, useDroppable } from "@dnd-kit/react";
|
|
6
6
|
import { useSortable } from "@dnd-kit/react/sortable";
|
|
7
7
|
export function useDraggableCard({ id, data, disabled, sensors }) {
|
|
8
|
-
const { ref, isDragging } = useDraggable({
|
|
8
|
+
const { ref, handleRef, isDragging } = useDraggable({
|
|
9
9
|
id,
|
|
10
10
|
data,
|
|
11
11
|
disabled,
|
|
12
12
|
sensors,
|
|
13
13
|
});
|
|
14
|
-
return { ref, isDragging };
|
|
14
|
+
return { ref, handleRef, isDragging };
|
|
15
15
|
}
|
|
16
16
|
/**
|
|
17
17
|
* Wraps `useSortable` from `@dnd-kit/react/sortable`. Unlike `useDraggableCard`,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-kanban-dnd.js","sourceRoot":"","sources":["../../src/hooks/use-kanban-dnd.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAkBtD,MAAM,UAAU,gBAAgB,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAA2B;IACvF,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"use-kanban-dnd.js","sourceRoot":"","sources":["../../src/hooks/use-kanban-dnd.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAkBtD,MAAM,UAAU,gBAAgB,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAA2B;IACvF,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,YAAY,CAAC;QAClD,EAAE;QACF,IAAI;QACJ,QAAQ;QACR,OAAO;KACR,CAAC,CAAC;IAEH,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC;AACxC,CAAC;AAuBD;;;;;;;;;;GAUG;AACH,MAAM,UAAU,eAAe,CAAC,EAC9B,EAAE,EACF,IAAI,EACJ,KAAK,EACL,KAAK,EACL,QAAQ,EACR,OAAO,GACgB;IACvB,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,EAAE,GAAG,WAAW,CAAC;QACjE,EAAE;QACF,IAAI;QACJ,KAAK;QACL,KAAK;QACL,QAAQ;QACR,OAAO;KACR,CAAC,CAAC;IAEH,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,EAAE,CAAC;AACxD,CAAC;AAUD,MAAM,UAAU,kBAAkB,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAA6B;IAClF,MAAM,EAAE,GAAG,EAAE,YAAY,EAAE,GAAG,YAAY,CAAC;QACzC,EAAE;QACF,IAAI;QACJ,QAAQ;KACT,CAAC,CAAC;IAEH,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC;AACvC,CAAC"}
|
package/dist/offer/index.d.ts
CHANGED
|
@@ -59,6 +59,8 @@ export type { NegotiationEventMetadata, NegotiationLabels, RoundSnapshotMetadata
|
|
|
59
59
|
export { CounterSlideOver } from "./counter-slide-over.js";
|
|
60
60
|
export type { CounterSlideOverProps, CounterBanner, CounterDraft } from "./counter-slide-over.js";
|
|
61
61
|
export type { PriceTypeRegistryEntry } from "../components/delivery-terms-select.js";
|
|
62
|
+
export { resolveParticipant, safeDisplayLabel, roleFallbackName } from "./participants.js";
|
|
63
|
+
export type { OfferParticipants, OfferParticipantParty, OfferParticipantMember, ParticipantFallbackNames, ResolvedParticipant, ResolveParticipantQuery, } from "./participants.js";
|
|
62
64
|
export { NegotiationFlowTimeline } from "./negotiation-flow-timeline.js";
|
|
63
65
|
export type { NegotiationFlowTimelineProps } from "./negotiation-flow-timeline.js";
|
|
64
66
|
export { NegotiationSection } from "./negotiation-section.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/offer/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/offer/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,YAAY,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAKlE,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AACtE;;;GAGG;AACH,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,YAAY,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AACpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,YAAY,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACxE,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,YAAY,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AACnE,YAAY,EACV,mBAAmB,EACnB,kBAAkB,EAClB,aAAa,EACb,kBAAkB,EAClB,eAAe,GAChB,MAAM,SAAS,CAAC;AASjB,mBAAmB,SAAS,CAAC;AAC7B,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,YAAY,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,YAAY,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,YAAY,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,YAAY,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AACrE,YAAY,EAAE,4BAA4B,EAAE,MAAM,4BAA4B,CAAC;AAE/E,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,YAAY,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAElE,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,YAAY,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAEpE,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,YAAY,EAAE,oBAAoB,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAE1E,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,YAAY,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAErD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,YAAY,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAElE,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,YAAY,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAEpE,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,YAAY,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAEvD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,YAAY,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAEpF,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,YAAY,EACV,qBAAqB,EACrB,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,YAAY,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAEnD,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACpE,YAAY,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAC;AAE9E,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,YAAY,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEzD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,YAAY,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAE9D,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,YAAY,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAE/D,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,YAAY,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAE3D,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,YAAY,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAChE,YAAY,EACV,wBAAwB,EACxB,iBAAiB,EACjB,qBAAqB,GACtB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,YAAY,EAAE,qBAAqB,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAI/F,YAAY,EAAE,sBAAsB,EAAE,MAAM,qCAAqC,CAAC;AAElF,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACxF,YAAY,EACV,iBAAiB,EACjB,qBAAqB,EACrB,sBAAsB,EACtB,wBAAwB,EACxB,mBAAmB,EACnB,uBAAuB,GACxB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AACtE,YAAY,EAAE,4BAA4B,EAAE,MAAM,6BAA6B,CAAC;AAEhF,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,YAAY,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAErE,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAC1E,YAAY,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAEzF,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,YAAY,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAEpE,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,YAAY,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAElF,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AACtE,YAAY,EACV,qBAAqB,EACrB,8BAA8B,EAC9B,sBAAsB,EACtB,2BAA2B,EAC3B,mCAAmC,EACnC,6BAA6B,EAC7B,mBAAmB,EACnB,qBAAqB,EACrB,0BAA0B,EAC1B,yBAAyB,EACzB,2BAA2B,EAC3B,4BAA4B,EAC5B,0BAA0B,EAC1B,qBAAqB,EACrB,iCAAiC,GAClC,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,6BAA6B,EAAE,4BAA4B,EAAE,MAAM,sBAAsB,CAAC;AACnG,YAAY,EACV,gBAAgB,EAChB,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,SAAS,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AAClE,YAAY,EACV,eAAe,EACf,iBAAiB,EACjB,4BAA4B,EAC5B,qBAAqB,EACrB,0BAA0B,EAC1B,eAAe,EACf,cAAc,EACd,4BAA4B,GAC7B,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,kBAAkB,EAClB,sBAAsB,EACtB,8BAA8B,EAC9B,+BAA+B,EAC/B,2BAA2B,EAC3B,6BAA6B,GAC9B,MAAM,wBAAwB,CAAC;AAChC,YAAY,EACV,qCAAqC,EACrC,0BAA0B,EAC1B,mCAAmC,EACnC,0BAA0B,EAC1B,qBAAqB,EACrB,2BAA2B,EAC3B,2BAA2B,EAC3B,oBAAoB,EACpB,uBAAuB,EACvB,wBAAwB,EACxB,uBAAuB,EACvB,mBAAmB,EACnB,uBAAuB,EACvB,yBAAyB,EACzB,yBAAyB,EACzB,sBAAsB,EACtB,4BAA4B,EAC5B,2BAA2B,EAC3B,0BAA0B,EAC1B,wBAAwB,GACzB,MAAM,wBAAwB,CAAC;AAChC,YAAY,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAOzD,OAAO,EACL,mBAAmB,EACnB,KAAK,wBAAwB,EAC7B,KAAK,sBAAsB,EAC3B,KAAK,kBAAkB,GACxB,MAAM,qCAAqC,CAAC;AAE7C,OAAO,EACL,eAAe,EACf,KAAK,oBAAoB,EACzB,KAAK,WAAW,GACjB,MAAM,qCAAqC,CAAC;AAE7C,OAAO,EACL,iBAAiB,EACjB,KAAK,sBAAsB,EAC3B,KAAK,iBAAiB,EACtB,KAAK,wBAAwB,GAC9B,MAAM,uCAAuC,CAAC;AAE/C,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,YAAY,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AACvF,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,YAAY,EAAE,wBAAwB,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AACnG,YAAY,EACV,UAAU,EACV,oBAAoB,EACpB,qBAAqB,EACrB,kBAAkB,GACnB,MAAM,uBAAuB,CAAC"}
|
package/dist/offer/index.js
CHANGED
|
@@ -33,6 +33,7 @@ export { AttachmentsCard } from "./attachments-card.js";
|
|
|
33
33
|
export { TimelineEvent } from "./timeline-event.js";
|
|
34
34
|
export { NewActivityPill } from "./new-activity-pill.js";
|
|
35
35
|
export { CounterSlideOver } from "./counter-slide-over.js";
|
|
36
|
+
export { resolveParticipant, safeDisplayLabel, roleFallbackName } from "./participants.js";
|
|
36
37
|
export { NegotiationFlowTimeline } from "./negotiation-flow-timeline.js";
|
|
37
38
|
export { NegotiationSection } from "./negotiation-section.js";
|
|
38
39
|
export { RoundDiffBanner, RoundStateSnapshot } from "./round-diff-banner.js";
|
package/dist/offer/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/offer/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/offer/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import { type NegotiationLabels } from "./negotiation-labels.js";
|
|
3
|
+
import { type OfferParticipants } from "./participants.js";
|
|
3
4
|
import type { TimelineEventData, ViewerAdvantage } from "./types.js";
|
|
4
5
|
export interface NegotiationFlowTimelineProps {
|
|
5
6
|
events: TimelineEventData[];
|
|
@@ -10,7 +11,12 @@ export interface NegotiationFlowTimelineProps {
|
|
|
10
11
|
onKeyDown?: React.KeyboardEventHandler<HTMLOListElement>;
|
|
11
12
|
/** Optional caller-owned generated copy. Authored timeline data remains raw. */
|
|
12
13
|
labels?: NegotiationLabels;
|
|
14
|
+
/**
|
|
15
|
+
* CEL-2151 - optional org logos and people's names. Without it the timeline
|
|
16
|
+
* renders exactly as before (letter marks, no name line).
|
|
17
|
+
*/
|
|
18
|
+
participants?: OfferParticipants;
|
|
13
19
|
className?: string;
|
|
14
20
|
}
|
|
15
|
-
export declare function NegotiationFlowTimeline({ events, viewerAdvantageFor, focusedIndex, onEventFocus, onEventRef, onKeyDown, labels: labelsOverride, className, }: NegotiationFlowTimelineProps): import("react/jsx-runtime").JSX.Element;
|
|
21
|
+
export declare function NegotiationFlowTimeline({ events, viewerAdvantageFor, focusedIndex, onEventFocus, onEventRef, onKeyDown, labels: labelsOverride, participants, className, }: NegotiationFlowTimelineProps): import("react/jsx-runtime").JSX.Element;
|
|
16
22
|
//# sourceMappingURL=negotiation-flow-timeline.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"negotiation-flow-timeline.d.ts","sourceRoot":"","sources":["../../src/offer/negotiation-flow-timeline.tsx"],"names":[],"mappings":"AACA,OAAO,KAAuC,MAAM,OAAO,CAAC;AAY5D,OAAO,EAGL,KAAK,iBAAiB,EACvB,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"negotiation-flow-timeline.d.ts","sourceRoot":"","sources":["../../src/offer/negotiation-flow-timeline.tsx"],"names":[],"mappings":"AACA,OAAO,KAAuC,MAAM,OAAO,CAAC;AAY5D,OAAO,EAGL,KAAK,iBAAiB,EACvB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAEL,KAAK,iBAAiB,EAEvB,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAoBlE,MAAM,WAAW,4BAA4B;IAC3C,MAAM,EAAE,iBAAiB,EAAE,CAAC;IAC5B,kBAAkB,CAAC,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,eAAe,CAAC;IACnE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,GAAG,IAAI,KAAK,IAAI,CAAC;IACjE,SAAS,CAAC,EAAE,KAAK,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,CAAC;IACzD,gFAAgF;IAChF,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAC3B;;;OAGG;IACH,YAAY,CAAC,EAAE,iBAAiB,CAAC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAwQD,wBAAgB,uBAAuB,CAAC,EACtC,MAAM,EACN,kBAAkB,EAClB,YAAgB,EAChB,YAAY,EACZ,UAAU,EACV,SAAS,EACT,MAAM,EAAE,cAAc,EACtB,YAAY,EACZ,SAAS,GACV,EAAE,4BAA4B,2CA6D9B"}
|