@cellarnode/ui 0.19.1 → 0.20.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-ws.d.ts +56 -0
- package/dist/chat/chat-ws.d.ts.map +1 -1
- package/dist/chat/chat-ws.js +103 -0
- package/dist/chat/chat-ws.js.map +1 -1
- package/dist/chat/index.d.ts +1 -1
- package/dist/chat/index.d.ts.map +1 -1
- package/dist/components/journey-card.d.ts +9 -1
- package/dist/components/journey-card.d.ts.map +1 -1
- package/dist/components/journey-card.js +13 -6
- package/dist/components/journey-card.js.map +1 -1
- package/dist/components/journey-card.stories.d.ts +2 -0
- package/dist/components/journey-card.stories.d.ts.map +1 -1
- package/dist/components/journey-card.stories.js +43 -0
- package/dist/components/journey-card.stories.js.map +1 -1
- package/dist/components/sortable-card-context.d.ts +18 -0
- package/dist/components/sortable-card-context.d.ts.map +1 -0
- package/dist/components/sortable-card-context.js +18 -0
- package/dist/components/sortable-card-context.js.map +1 -0
- package/dist/components/sortable-card-shell.d.ts +40 -21
- package/dist/components/sortable-card-shell.d.ts.map +1 -1
- package/dist/components/sortable-card-shell.js +46 -39
- package/dist/components/sortable-card-shell.js.map +1 -1
- package/dist/components/sortable-card-shell.stories.d.ts +1 -1
- package/dist/components/sortable-card-shell.stories.d.ts.map +1 -1
- package/dist/components/sortable-card-shell.stories.js +28 -15
- package/dist/components/sortable-card-shell.stories.js.map +1 -1
- package/dist/components/sortable-card-shell.test.js +57 -16
- package/dist/components/sortable-card-shell.test.js.map +1 -1
- package/dist/offer/attachments-card.d.ts +7 -1
- package/dist/offer/attachments-card.d.ts.map +1 -1
- package/dist/offer/attachments-card.js +3 -3
- package/dist/offer/attachments-card.js.map +1 -1
- package/dist/offer/index.d.ts +1 -1
- package/dist/offer/index.d.ts.map +1 -1
- package/dist/offer/negotiation-section.d.ts +9 -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-document.d.ts +24 -24
- package/dist/offer/offer-document.d.ts.map +1 -1
- package/dist/offer/offer-document.js +269 -49
- package/dist/offer/offer-document.js.map +1 -1
- package/dist/offer/offer-document.stories.d.ts +11 -0
- package/dist/offer/offer-document.stories.d.ts.map +1 -1
- package/dist/offer/offer-document.stories.js +136 -84
- package/dist/offer/offer-document.stories.js.map +1 -1
- package/dist/offer/types.d.ts +81 -0
- package/dist/offer/types.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/chat/chat-ws.d.ts
CHANGED
|
@@ -1,4 +1,23 @@
|
|
|
1
1
|
import type { ChatWsConfig, PresenceEvent } from "./types";
|
|
2
|
+
/**
|
|
3
|
+
* Offer realtime event types — mirrors Plan 2 backend's
|
|
4
|
+
* `src/features/offers/realtime.ts:OfferEventType`. The composite
|
|
5
|
+
* `offer.mutation` carries a `subEvents` array so a single atomic server
|
|
6
|
+
* mutation (counter / accept / decline / withdraw) fans out as ONE message
|
|
7
|
+
* to every subscriber, preserving cross-sub-event ordering.
|
|
8
|
+
*/
|
|
9
|
+
export type OfferEventType = "offer.state_changed" | "offer.timeline_event_added" | "offer.attachment_added" | "offer.presence_changed" | "offer.typing_changed" | "offer.mutation";
|
|
10
|
+
export interface OfferSubEvent {
|
|
11
|
+
type: Exclude<OfferEventType, "offer.mutation">;
|
|
12
|
+
payload: Record<string, unknown>;
|
|
13
|
+
}
|
|
14
|
+
export interface OfferEvent {
|
|
15
|
+
seq: number;
|
|
16
|
+
type: OfferEventType;
|
|
17
|
+
offerId: string;
|
|
18
|
+
emittedAt: string;
|
|
19
|
+
payload: Record<string, unknown>;
|
|
20
|
+
}
|
|
2
21
|
type MessageCallback = (roomId: string, data: Record<string, unknown>) => void;
|
|
3
22
|
type TypingCallback = (roomId: string, orgId: string) => void;
|
|
4
23
|
type ReadCallback = (roomId: string, data: {
|
|
@@ -18,6 +37,11 @@ type UnreadUpdateCallback = (data: {
|
|
|
18
37
|
orgId: string;
|
|
19
38
|
unreadCount: number;
|
|
20
39
|
}) => void;
|
|
40
|
+
type OfferEventCallback = (event: OfferEvent) => void;
|
|
41
|
+
type OfferSubscribedCallback = (data: {
|
|
42
|
+
offerId: string;
|
|
43
|
+
cursorSeq: number;
|
|
44
|
+
}) => void;
|
|
21
45
|
declare class ChatWebSocket {
|
|
22
46
|
private ws;
|
|
23
47
|
private pingTimer;
|
|
@@ -25,6 +49,12 @@ declare class ChatWebSocket {
|
|
|
25
49
|
private reconnectAttempt;
|
|
26
50
|
private connectAttempts;
|
|
27
51
|
private subscribedRooms;
|
|
52
|
+
/**
|
|
53
|
+
* Offer subscriptions keyed by offerId → last-observed seq. The value is the
|
|
54
|
+
* sinceSeq to replay from on reconnect. `undefined` means "no cursor yet"
|
|
55
|
+
* (first subscribe); a number means "I've seen up to N, send me N+1 onward".
|
|
56
|
+
*/
|
|
57
|
+
private subscribedOffers;
|
|
28
58
|
private messageCallbacks;
|
|
29
59
|
private typingCallbacks;
|
|
30
60
|
private readCallbacks;
|
|
@@ -32,6 +62,8 @@ declare class ChatWebSocket {
|
|
|
32
62
|
private connectionCallbacks;
|
|
33
63
|
private notificationCallbacks;
|
|
34
64
|
private unreadUpdateCallbacks;
|
|
65
|
+
private offerEventCallbacks;
|
|
66
|
+
private offerSubscribedCallbacks;
|
|
35
67
|
private _isConnected;
|
|
36
68
|
private _hasFailed;
|
|
37
69
|
private config;
|
|
@@ -45,10 +77,34 @@ declare class ChatWebSocket {
|
|
|
45
77
|
onConnectionChange(cb: ConnectionCallback): () => void;
|
|
46
78
|
onNotification(cb: NotificationCallback): () => void;
|
|
47
79
|
onUnreadUpdate(cb: UnreadUpdateCallback): () => void;
|
|
80
|
+
/**
|
|
81
|
+
* Subscribe to the per-offer realtime event stream (Plan 2 Chunk 7).
|
|
82
|
+
* `cb` receives every `offer.*` event in delivery order — including the
|
|
83
|
+
* composite `offer.mutation` payload. The callback also tracks the last
|
|
84
|
+
* observed `seq` so reconnects resume with the correct `sinceSeq`.
|
|
85
|
+
*/
|
|
86
|
+
onOfferEvent(cb: OfferEventCallback): () => void;
|
|
87
|
+
/**
|
|
88
|
+
* Notified when the server acks a `subscribe_offer` with the initial
|
|
89
|
+
* cursor (the stream length at subscribe time). Mostly useful so the
|
|
90
|
+
* client can `invalidateQueries` after a gap-free handshake.
|
|
91
|
+
*/
|
|
92
|
+
onOfferSubscribed(cb: OfferSubscribedCallback): () => void;
|
|
48
93
|
connect(): Promise<void>;
|
|
49
94
|
disconnect(): void;
|
|
50
95
|
subscribe(roomId: string): void;
|
|
51
96
|
unsubscribe(roomId: string): void;
|
|
97
|
+
/**
|
|
98
|
+
* Start receiving realtime events for an offer. Tracks the subscription
|
|
99
|
+
* so the WS re-sends it on reconnect. If a gap-free replay is desired,
|
|
100
|
+
* call `sendOfferSubscribe(offerId, sinceSeq)` with the last-observed seq.
|
|
101
|
+
*/
|
|
102
|
+
sendOfferSubscribe(offerId: string, sinceSeq?: number): void;
|
|
103
|
+
/**
|
|
104
|
+
* Stop receiving realtime events for an offer. Safe to call when not
|
|
105
|
+
* connected — the subscription is simply dropped from the tracking set.
|
|
106
|
+
*/
|
|
107
|
+
sendOfferUnsubscribe(offerId: string): void;
|
|
52
108
|
sendChatMessage(roomId: string, content: string): void;
|
|
53
109
|
sendTyping(roomId: string): void;
|
|
54
110
|
sendMarkRead(roomId: string, messageId: string): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat-ws.d.ts","sourceRoot":"","sources":["../../src/chat/chat-ws.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"chat-ws.d.ts","sourceRoot":"","sources":["../../src/chat/chat-ws.ts"],"names":[],"mappings":"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"}
|
package/dist/chat/chat-ws.js
CHANGED
|
@@ -8,6 +8,12 @@ class ChatWebSocket {
|
|
|
8
8
|
reconnectAttempt = 0;
|
|
9
9
|
connectAttempts = 0;
|
|
10
10
|
subscribedRooms = new Set();
|
|
11
|
+
/**
|
|
12
|
+
* Offer subscriptions keyed by offerId → last-observed seq. The value is the
|
|
13
|
+
* sinceSeq to replay from on reconnect. `undefined` means "no cursor yet"
|
|
14
|
+
* (first subscribe); a number means "I've seen up to N, send me N+1 onward".
|
|
15
|
+
*/
|
|
16
|
+
subscribedOffers = new Map();
|
|
11
17
|
messageCallbacks = new Set();
|
|
12
18
|
typingCallbacks = new Set();
|
|
13
19
|
readCallbacks = new Set();
|
|
@@ -15,6 +21,8 @@ class ChatWebSocket {
|
|
|
15
21
|
connectionCallbacks = new Set();
|
|
16
22
|
notificationCallbacks = new Set();
|
|
17
23
|
unreadUpdateCallbacks = new Set();
|
|
24
|
+
offerEventCallbacks = new Set();
|
|
25
|
+
offerSubscribedCallbacks = new Set();
|
|
18
26
|
_isConnected = false;
|
|
19
27
|
_hasFailed = false;
|
|
20
28
|
config;
|
|
@@ -71,6 +79,29 @@ class ChatWebSocket {
|
|
|
71
79
|
this.unreadUpdateCallbacks.delete(cb);
|
|
72
80
|
};
|
|
73
81
|
}
|
|
82
|
+
/**
|
|
83
|
+
* Subscribe to the per-offer realtime event stream (Plan 2 Chunk 7).
|
|
84
|
+
* `cb` receives every `offer.*` event in delivery order — including the
|
|
85
|
+
* composite `offer.mutation` payload. The callback also tracks the last
|
|
86
|
+
* observed `seq` so reconnects resume with the correct `sinceSeq`.
|
|
87
|
+
*/
|
|
88
|
+
onOfferEvent(cb) {
|
|
89
|
+
this.offerEventCallbacks.add(cb);
|
|
90
|
+
return () => {
|
|
91
|
+
this.offerEventCallbacks.delete(cb);
|
|
92
|
+
};
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Notified when the server acks a `subscribe_offer` with the initial
|
|
96
|
+
* cursor (the stream length at subscribe time). Mostly useful so the
|
|
97
|
+
* client can `invalidateQueries` after a gap-free handshake.
|
|
98
|
+
*/
|
|
99
|
+
onOfferSubscribed(cb) {
|
|
100
|
+
this.offerSubscribedCallbacks.add(cb);
|
|
101
|
+
return () => {
|
|
102
|
+
this.offerSubscribedCallbacks.delete(cb);
|
|
103
|
+
};
|
|
104
|
+
}
|
|
74
105
|
async connect() {
|
|
75
106
|
if (this.ws?.readyState === WebSocket.OPEN)
|
|
76
107
|
return;
|
|
@@ -89,6 +120,13 @@ class ChatWebSocket {
|
|
|
89
120
|
for (const roomId of this.subscribedRooms) {
|
|
90
121
|
this.send({ type: "subscribe", roomId });
|
|
91
122
|
}
|
|
123
|
+
// Re-subscribe to offers. Pass `sinceSeq` (last observed seq) so
|
|
124
|
+
// the server replays any events we missed during the disconnect.
|
|
125
|
+
for (const [offerId, sinceSeq] of this.subscribedOffers) {
|
|
126
|
+
this.send(sinceSeq !== undefined
|
|
127
|
+
? { type: "subscribe_offer", offerId, sinceSeq }
|
|
128
|
+
: { type: "subscribe_offer", offerId });
|
|
129
|
+
}
|
|
92
130
|
// Subscribe to notifications
|
|
93
131
|
this.send({ type: "subscribe_notifications" });
|
|
94
132
|
};
|
|
@@ -135,6 +173,7 @@ class ChatWebSocket {
|
|
|
135
173
|
}
|
|
136
174
|
this._isConnected = false;
|
|
137
175
|
this.subscribedRooms.clear();
|
|
176
|
+
this.subscribedOffers.clear();
|
|
138
177
|
this.notifyConnection(false);
|
|
139
178
|
}
|
|
140
179
|
subscribe(roomId) {
|
|
@@ -149,6 +188,29 @@ class ChatWebSocket {
|
|
|
149
188
|
this.send({ type: "unsubscribe", roomId });
|
|
150
189
|
}
|
|
151
190
|
}
|
|
191
|
+
/**
|
|
192
|
+
* Start receiving realtime events for an offer. Tracks the subscription
|
|
193
|
+
* so the WS re-sends it on reconnect. If a gap-free replay is desired,
|
|
194
|
+
* call `sendOfferSubscribe(offerId, sinceSeq)` with the last-observed seq.
|
|
195
|
+
*/
|
|
196
|
+
sendOfferSubscribe(offerId, sinceSeq) {
|
|
197
|
+
this.subscribedOffers.set(offerId, sinceSeq);
|
|
198
|
+
if (this._isConnected) {
|
|
199
|
+
this.send(sinceSeq !== undefined
|
|
200
|
+
? { type: "subscribe_offer", offerId, sinceSeq }
|
|
201
|
+
: { type: "subscribe_offer", offerId });
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
/**
|
|
205
|
+
* Stop receiving realtime events for an offer. Safe to call when not
|
|
206
|
+
* connected — the subscription is simply dropped from the tracking set.
|
|
207
|
+
*/
|
|
208
|
+
sendOfferUnsubscribe(offerId) {
|
|
209
|
+
this.subscribedOffers.delete(offerId);
|
|
210
|
+
if (this._isConnected) {
|
|
211
|
+
this.send({ type: "unsubscribe_offer", offerId });
|
|
212
|
+
}
|
|
213
|
+
}
|
|
152
214
|
sendChatMessage(roomId, content) {
|
|
153
215
|
this.send({ type: "message", roomId, content });
|
|
154
216
|
}
|
|
@@ -208,6 +270,47 @@ class ChatWebSocket {
|
|
|
208
270
|
});
|
|
209
271
|
}
|
|
210
272
|
break;
|
|
273
|
+
case "offer_subscribed": {
|
|
274
|
+
// Track the initial cursor so the UI knows the subscription is
|
|
275
|
+
// established (and can trigger `invalidateQueries` for a clean
|
|
276
|
+
// snapshot refetch). Also record `cursorSeq` as the floor for the
|
|
277
|
+
// sinceSeq we'll send on next reconnect if no further events
|
|
278
|
+
// arrive.
|
|
279
|
+
const prev = this.subscribedOffers.get(msg.offerId);
|
|
280
|
+
if (prev === undefined) {
|
|
281
|
+
this.subscribedOffers.set(msg.offerId, msg.cursorSeq);
|
|
282
|
+
}
|
|
283
|
+
for (const cb of this.offerSubscribedCallbacks) {
|
|
284
|
+
cb({ offerId: msg.offerId, cursorSeq: msg.cursorSeq });
|
|
285
|
+
}
|
|
286
|
+
break;
|
|
287
|
+
}
|
|
288
|
+
case "offer_unsubscribed":
|
|
289
|
+
this.subscribedOffers.delete(msg.offerId);
|
|
290
|
+
break;
|
|
291
|
+
case "offer.state_changed":
|
|
292
|
+
case "offer.timeline_event_added":
|
|
293
|
+
case "offer.attachment_added":
|
|
294
|
+
case "offer.presence_changed":
|
|
295
|
+
case "offer.typing_changed":
|
|
296
|
+
case "offer.mutation": {
|
|
297
|
+
// Track the highest-seen seq per offer so reconnects resume with
|
|
298
|
+
// the correct `sinceSeq` and the server can replay missed events.
|
|
299
|
+
const prev = this.subscribedOffers.get(msg.offerId) ?? -1;
|
|
300
|
+
if (msg.seq > prev)
|
|
301
|
+
this.subscribedOffers.set(msg.offerId, msg.seq);
|
|
302
|
+
const event = {
|
|
303
|
+
seq: msg.seq,
|
|
304
|
+
type: msg.type,
|
|
305
|
+
offerId: msg.offerId,
|
|
306
|
+
emittedAt: msg.emittedAt,
|
|
307
|
+
payload: msg.payload,
|
|
308
|
+
};
|
|
309
|
+
for (const cb of this.offerEventCallbacks) {
|
|
310
|
+
cb(event);
|
|
311
|
+
}
|
|
312
|
+
break;
|
|
313
|
+
}
|
|
211
314
|
case "pong":
|
|
212
315
|
break;
|
|
213
316
|
}
|
package/dist/chat/chat-ws.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat-ws.js","sourceRoot":"","sources":["../../src/chat/chat-ws.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"chat-ws.js","sourceRoot":"","sources":["../../src/chat/chat-ws.ts"],"names":[],"mappings":"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"}
|
package/dist/chat/index.d.ts
CHANGED
|
@@ -3,7 +3,7 @@ export { UnifiedTimeline } from "./unified-timeline";
|
|
|
3
3
|
export { NegotiationEventCard } from "./negotiation-event-card";
|
|
4
4
|
export { ChatToggleButton } from "./chat-toggle-button";
|
|
5
5
|
export { createChatWs } from "./chat-ws";
|
|
6
|
-
export type { ChatWebSocket } from "./chat-ws";
|
|
6
|
+
export type { ChatWebSocket, OfferEventType, OfferEvent, OfferSubEvent } from "./chat-ws";
|
|
7
7
|
export { createChatApi } from "./chat-api";
|
|
8
8
|
export type { ApiFetchFn } from "./chat-api";
|
|
9
9
|
export { useChat } from "./use-chat";
|
package/dist/chat/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/chat/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,YAAY,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/chat/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1F,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,YAAY,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,YAAY,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,KAAK,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrF,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAC5E,YAAY,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,YAAY,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACpE,YAAY,EACV,2BAA2B,EAC3B,cAAc,GACf,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,YAAY,EACV,qBAAqB,EACrB,cAAc,GACf,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,YAAY,EACV,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,YAAY,EACV,QAAQ,EACR,WAAW,EACX,uBAAuB,EACvB,mBAAmB,EACnB,iBAAiB,EACjB,aAAa,EACb,aAAa,EACb,YAAY,EACZ,SAAS,EACT,uBAAuB,EACvB,cAAc,EACd,aAAa,GACd,MAAM,SAAS,CAAC"}
|
|
@@ -42,8 +42,16 @@ export interface JourneyCardProps {
|
|
|
42
42
|
animate?: boolean;
|
|
43
43
|
/** Disable hover lift (used inside drag overlay) */
|
|
44
44
|
disableHover?: boolean;
|
|
45
|
+
/**
|
|
46
|
+
* Force-show the drag grip in the top-left corner. Normally the card
|
|
47
|
+
* auto-detects whether it is rendered inside a `SortableCardShell` via
|
|
48
|
+
* `SortableCardContext`. Set to `false` to suppress the grip even when
|
|
49
|
+
* nested in a shell (e.g. inside a drag overlay preview). Set to `true`
|
|
50
|
+
* to show it outside of a shell (rare).
|
|
51
|
+
*/
|
|
52
|
+
showGrip?: boolean;
|
|
45
53
|
onClick?: () => void;
|
|
46
54
|
className?: string;
|
|
47
55
|
}
|
|
48
|
-
export declare function JourneyCard({ productImage, productInitials, title, subtitle, modified, activityDot, matchScore, progress, metaRight, metaRightTone, participants, titleIcon, actionsSlot, variant, animate, disableHover, onClick, className, }: JourneyCardProps): import("react/jsx-runtime").JSX.Element;
|
|
56
|
+
export declare function JourneyCard({ productImage, productInitials, title, subtitle, modified, activityDot, matchScore, progress, metaRight, metaRightTone, participants, titleIcon, actionsSlot, variant, animate, disableHover, showGrip, onClick, className, }: JourneyCardProps): import("react/jsx-runtime").JSX.Element;
|
|
49
57
|
//# sourceMappingURL=journey-card.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"journey-card.d.ts","sourceRoot":"","sources":["../../src/components/journey-card.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"journey-card.d.ts","sourceRoot":"","sources":["../../src/components/journey-card.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,EAAe,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAG9D,MAAM,MAAM,kBAAkB,GAAG,SAAS,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,CAAC;AAErE,MAAM,WAAW,gBAAgB;IAC/B,iGAAiG;IACjG,YAAY,CAAC,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IACxD,2FAA2F;IAC3F,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,8EAA8E;IAC9E,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,wCAAwC;IACxC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,gDAAgD;IAChD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,8FAA8F;IAC9F,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,sEAAsE;IACtE,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,oDAAoD;IACpD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,+EAA+E;IAC/E,SAAS,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC5B,+BAA+B;IAC/B,aAAa,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;IAChD,2CAA2C;IAC3C,YAAY,CAAC,EAAE,UAAU,EAAE,CAAC;IAC5B,6FAA6F;IAC7F,SAAS,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC5B;;;;;OAKG;IACH,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC9B,8CAA8C;IAC9C,OAAO,CAAC,EAAE,kBAAkB,CAAC;IAC7B,gCAAgC;IAChC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,oDAAoD;IACpD,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AASD,wBAAgB,WAAW,CAAC,EAC1B,YAAY,EACZ,eAAe,EACf,KAAK,EACL,QAAQ,EACR,QAAgB,EAChB,WAAW,EACX,UAAU,EACV,QAAQ,EACR,SAAS,EACT,aAAyB,EACzB,YAAY,EACZ,SAAS,EACT,WAAW,EACX,OAAmB,EACnB,OAAe,EACf,YAAoB,EACpB,QAAQ,EACR,OAAO,EACP,SAAS,GACV,EAAE,gBAAgB,2CAyMlB"}
|
|
@@ -1,32 +1,39 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { motion } from "motion/react";
|
|
3
|
+
import * as React from "react";
|
|
4
|
+
import { Grip } from "lucide-react";
|
|
3
5
|
import { cn } from "../lib/utils";
|
|
4
6
|
import { AvatarStack } from "./avatar-stack";
|
|
7
|
+
import { SortableCardContext } from "./sortable-card-context";
|
|
5
8
|
const VARIANT_BG = {
|
|
6
9
|
default: "bg-[var(--card)]",
|
|
7
10
|
sent: "bg-[color-mix(in_oklab,white_96%,var(--primary)_4%)]",
|
|
8
11
|
won: "bg-[var(--tone-success-surface)] border-[color-mix(in_oklab,white_72%,var(--success)_28%)]",
|
|
9
12
|
lost: "bg-[color-mix(in_oklab,white_97%,var(--foreground)_3%)] opacity-90",
|
|
10
13
|
};
|
|
11
|
-
export function JourneyCard({ productImage, productInitials, title, subtitle, modified = false, activityDot, matchScore, progress, metaRight, metaRightTone = "default", participants, titleIcon, actionsSlot, variant = "default", animate = false, disableHover = false, onClick, className, }) {
|
|
14
|
+
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, }) {
|
|
12
15
|
const showInitials = !productImage && !!productInitials;
|
|
16
|
+
const { isDraggable } = React.use(SortableCardContext);
|
|
17
|
+
// Default: show grip whenever the card is nested in a SortableCardShell.
|
|
18
|
+
// Consumers can override either direction via `showGrip`.
|
|
19
|
+
const renderGrip = showGrip ?? isDraggable;
|
|
13
20
|
const shell = (_jsxs("div", { role: onClick ? "button" : undefined, tabIndex: onClick ? 0 : undefined, onClick: onClick, onKeyDown: (e) => {
|
|
14
21
|
if (onClick && (e.key === "Enter" || e.key === " ")) {
|
|
15
22
|
e.preventDefault();
|
|
16
23
|
onClick();
|
|
17
24
|
}
|
|
18
|
-
}, className: cn("group relative rounded-xl border border-[color-mix(in_oklab,var(--border)_60%,transparent)] p-3", "backdrop-blur-[14px] backdrop-saturate-[120%]", "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 &&
|
|
25
|
+
}, className: cn("group relative rounded-xl border border-[color-mix(in_oklab,var(--border)_60%,transparent)] p-3.5", "backdrop-blur-[14px] backdrop-saturate-[120%]", "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 &&
|
|
19
26
|
"transition-[transform,border-color,box-shadow] duration-[var(--duration-standard)] ease-[var(--ease-emphasized)] will-change-transform", !disableHover &&
|
|
20
|
-
"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], onClick && "cursor-pointer", className), children: [_jsxs("div", { className: "flex items-start gap-[10px]", children: [productImage ? (_jsx("img", { src: productImage.url, alt: productImage.altText ?? "", width:
|
|
27
|
+
"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], onClick && "cursor-pointer", className), children: [renderGrip && (_jsx("span", { "aria-hidden": "true", title: "Drag to reorder", className: "pointer-events-none absolute left-1.5 top-1.5 z-10 flex size-5 items-center justify-center rounded text-[var(--muted-foreground)] opacity-30 transition-opacity duration-[var(--duration-standard)] ease-[var(--ease-emphasized)] group-hover:opacity-100", children: _jsx(Grip, { className: "size-3.5" }) })), _jsxs("div", { className: cn("flex items-start gap-[10px]", renderGrip && "pl-5"), children: [productImage ? (_jsx("img", { src: productImage.url, alt: productImage.altText ?? "", width: 48, height: 48, loading: "lazy", className: "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)]" })) : showInitials ? (_jsx("div", { className: "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)]", style: {
|
|
21
28
|
background: "linear-gradient(135deg, color-mix(in oklab, var(--primary) 60%, white) 0%, color-mix(in oklab, var(--accent-secondary) 60%, white) 100%)",
|
|
22
29
|
fontFamily: "Sora, sans-serif",
|
|
23
|
-
}, "aria-hidden": "true", children: productInitials })) : (_jsx("div", { className: "flex size-
|
|
30
|
+
}, "aria-hidden": "true", children: productInitials })) : (_jsx("div", { className: "flex size-12 shrink-0 items-center justify-center rounded-lg text-lg", style: {
|
|
24
31
|
background: "color-mix(in oklab, white 94%, var(--primary) 6%)",
|
|
25
32
|
border: "1.5px dashed color-mix(in oklab, var(--primary) 30%, white)",
|
|
26
33
|
color: "color-mix(in oklab, var(--primary) 60%, var(--muted-foreground))",
|
|
27
|
-
}, "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: [_jsx("div", { className: "min-w-0 flex-1 truncate font-display text-
|
|
34
|
+
}, "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: [_jsx("div", { className: "min-w-0 flex-1 truncate font-display text-sm/tight font-semibold tracking-tight text-foreground", children: title }), modified && (_jsx("span", { 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", { 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 })), typeof matchScore === "number" && (_jsxs("span", { className: cn("shrink-0 rounded-md px-1.5 py-[1px] text-[10px] font-semibold tabular-nums", matchScore >= 80
|
|
28
35
|
? "bg-[color-mix(in_oklab,var(--primary)_10%,transparent)] text-[color-mix(in_oklab,black_30%,var(--primary)_70%)]"
|
|
29
|
-
: "bg-[color-mix(in_oklab,var(--primary)_6%,transparent)] text-[var(--muted-foreground)]"), children: [matchScore, "%"] }))] }), subtitle && (_jsx("div", { className: "truncate text-
|
|
36
|
+
: "bg-[color-mix(in_oklab,var(--primary)_6%,transparent)] text-[var(--muted-foreground)]"), children: [matchScore, "%"] }))] }), subtitle && (_jsx("div", { className: "truncate text-xs/snug 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-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: {
|
|
30
37
|
width: `${Math.max(0, Math.min(1, progress)) * 100}%`,
|
|
31
38
|
background: "linear-gradient(90deg, var(--primary), color-mix(in oklab, var(--primary) 70%, var(--accent-secondary)))",
|
|
32
39
|
} }) })), ((participants && participants.length > 0) || metaRight || actionsSlot) && (_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" })), ((participants && participants.length > 0) || metaRight || actionsSlot) && (_jsxs("div", { className: "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" &&
|
|
@@ -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;
|
|
1
|
+
{"version":3,"file":"journey-card.js","sourceRoot":"","sources":["../../src/components/journey-card.tsx"],"names":[],"mappings":"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"}
|
|
@@ -11,5 +11,7 @@ export declare const Sent: Story;
|
|
|
11
11
|
export declare const Won: Story;
|
|
12
12
|
export declare const WithAnimation: Story;
|
|
13
13
|
export declare const WithActivityDot: Story;
|
|
14
|
+
export declare const WithDragGrip: Story;
|
|
15
|
+
export declare const WithDragGripForceShown: Story;
|
|
14
16
|
export declare const WithActionsSlot: Story;
|
|
15
17
|
//# sourceMappingURL=journey-card.stories.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"journey-card.stories.d.ts","sourceRoot":"","sources":["../../src/components/journey-card.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EAAe,KAAK,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"journey-card.stories.d.ts","sourceRoot":"","sources":["../../src/components/journey-card.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EAAe,KAAK,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAGpE,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,gBAAgB,CAYhC,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;AAE9C,eAAO,MAAM,QAAQ,EAAE,KAUtB,CAAC;AAEF,eAAO,MAAM,0BAA0B,EAAE,KAUxC,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,KAWvB,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,KAUzB,CAAC;AAEF,eAAO,MAAM,IAAI,EAAE,KAclB,CAAC;AAEF,eAAO,MAAM,GAAG,EAAE,KAejB,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,KAQ3B,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,KAU7B,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,KA0B1B,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,KAoBpC,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,KA2B7B,CAAC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import { Award, MoreHorizontal } from "lucide-react";
|
|
3
3
|
import { JourneyCard } from "./journey-card";
|
|
4
|
+
import { SortableCardContext } from "./sortable-card-shell";
|
|
4
5
|
const meta = {
|
|
5
6
|
title: "Components/JourneyCard",
|
|
6
7
|
component: JourneyCard,
|
|
@@ -105,6 +106,48 @@ export const WithActivityDot = {
|
|
|
105
106
|
metaRightTone: "muted",
|
|
106
107
|
},
|
|
107
108
|
};
|
|
109
|
+
export const WithDragGrip = {
|
|
110
|
+
name: "With drag grip (inside SortableCardShell)",
|
|
111
|
+
decorators: [
|
|
112
|
+
(Story) => (_jsx(SortableCardContext, { value: { isDraggable: true }, children: _jsx(Story, {}) })),
|
|
113
|
+
],
|
|
114
|
+
args: {
|
|
115
|
+
productInitials: "CR",
|
|
116
|
+
title: "Chardonnay Reserve 2021",
|
|
117
|
+
subtitle: "Nordic Wines · Organic whites",
|
|
118
|
+
participants: [{ id: "nw", name: "Nordic Wines" }],
|
|
119
|
+
metaRight: "2d ago",
|
|
120
|
+
metaRightTone: "muted",
|
|
121
|
+
onClick: () => { },
|
|
122
|
+
},
|
|
123
|
+
parameters: {
|
|
124
|
+
docs: {
|
|
125
|
+
description: {
|
|
126
|
+
story: "Cards rendered inside a `SortableCardShell` show a top-left grip affordance (6-dot grid, opacity 30% idle / 100% on hover). The grip is purely visual — `pointer-events-none` — so the whole card remains the drag activation surface. Toggle the story in isolation (not inside a shell) via the `Selected` story to verify the grip disappears outside a drag context.",
|
|
127
|
+
},
|
|
128
|
+
},
|
|
129
|
+
},
|
|
130
|
+
};
|
|
131
|
+
export const WithDragGripForceShown = {
|
|
132
|
+
name: "With drag grip (showGrip={true})",
|
|
133
|
+
args: {
|
|
134
|
+
showGrip: true,
|
|
135
|
+
productInitials: "CR",
|
|
136
|
+
title: "Chardonnay Reserve 2021",
|
|
137
|
+
subtitle: "Nordic Wines · Organic whites",
|
|
138
|
+
participants: [{ id: "nw", name: "Nordic Wines" }],
|
|
139
|
+
metaRight: "2d ago",
|
|
140
|
+
metaRightTone: "muted",
|
|
141
|
+
onClick: () => { },
|
|
142
|
+
},
|
|
143
|
+
parameters: {
|
|
144
|
+
docs: {
|
|
145
|
+
description: {
|
|
146
|
+
story: "`showGrip` overrides auto-detection. Use `true` to force the grip outside a `SortableCardShell` context, or `false` to suppress it inside one (e.g. in a drag-overlay preview).",
|
|
147
|
+
},
|
|
148
|
+
},
|
|
149
|
+
},
|
|
150
|
+
};
|
|
108
151
|
export const WithActionsSlot = {
|
|
109
152
|
args: {
|
|
110
153
|
productInitials: "CR",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"journey-card.stories.js","sourceRoot":"","sources":["../../src/components/journey-card.stories.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,WAAW,EAAyB,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"journey-card.stories.js","sourceRoot":"","sources":["../../src/components/journey-card.stories.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SortableCardContext — minimal leaf module.
|
|
3
|
+
*
|
|
4
|
+
* Extracted from `sortable-card-shell.tsx` so card components (e.g.
|
|
5
|
+
* `JourneyCard`) can read the context to decide whether to render a
|
|
6
|
+
* drag affordance WITHOUT transitively importing `@dnd-kit/dom` at
|
|
7
|
+
* module load. `@dnd-kit/dom` touches `ResizeObserver` when imported,
|
|
8
|
+
* which breaks jsdom-based tests that don't polyfill it.
|
|
9
|
+
*
|
|
10
|
+
* The shell itself re-exports this via `sortable-card-shell.tsx` for
|
|
11
|
+
* back-compat, so `import { SortableCardContext } from "./sortable-card-shell"`
|
|
12
|
+
* still works for existing consumers and tests.
|
|
13
|
+
*/
|
|
14
|
+
export interface SortableCardContextValue {
|
|
15
|
+
isDraggable: boolean;
|
|
16
|
+
}
|
|
17
|
+
export declare const SortableCardContext: import("react").Context<SortableCardContextValue>;
|
|
18
|
+
//# sourceMappingURL=sortable-card-context.d.ts.map
|
|
@@ -0,0 +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;CACtB;AAED,eAAO,MAAM,mBAAmB,mDAE9B,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SortableCardContext — minimal leaf module.
|
|
3
|
+
*
|
|
4
|
+
* Extracted from `sortable-card-shell.tsx` so card components (e.g.
|
|
5
|
+
* `JourneyCard`) can read the context to decide whether to render a
|
|
6
|
+
* drag affordance WITHOUT transitively importing `@dnd-kit/dom` at
|
|
7
|
+
* module load. `@dnd-kit/dom` touches `ResizeObserver` when imported,
|
|
8
|
+
* which breaks jsdom-based tests that don't polyfill it.
|
|
9
|
+
*
|
|
10
|
+
* The shell itself re-exports this via `sortable-card-shell.tsx` for
|
|
11
|
+
* back-compat, so `import { SortableCardContext } from "./sortable-card-shell"`
|
|
12
|
+
* still works for existing consumers and tests.
|
|
13
|
+
*/
|
|
14
|
+
import { createContext } from "react";
|
|
15
|
+
export const SortableCardContext = createContext({
|
|
16
|
+
isDraggable: false,
|
|
17
|
+
});
|
|
18
|
+
//# sourceMappingURL=sortable-card-context.js.map
|
|
@@ -0,0 +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;AAMtC,MAAM,CAAC,MAAM,mBAAmB,GAAG,aAAa,CAA2B;IACzE,WAAW,EAAE,KAAK;CACnB,CAAC,CAAC"}
|