@uplifted/react 0.23.0 → 0.25.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/CHANGELOG.md +55 -0
- package/dist/AddClientSheet.d.ts +10 -1
- package/dist/AddClientSheet.d.ts.map +1 -1
- package/dist/AddClientSheet.js +26 -21
- package/dist/AddClientSheet.js.map +1 -1
- package/dist/AiSettingsSheet.d.ts +2 -2
- package/dist/AiSettingsSheet.d.ts.map +1 -1
- package/dist/AiSettingsSheet.js +30 -97
- package/dist/AiSettingsSheet.js.map +1 -1
- package/dist/AssistantGrid.d.ts +10 -8
- package/dist/AssistantGrid.d.ts.map +1 -1
- package/dist/AssistantGrid.js +90 -16
- package/dist/AssistantGrid.js.map +1 -1
- package/dist/BulkGenerateSheet.d.ts +13 -5
- package/dist/BulkGenerateSheet.d.ts.map +1 -1
- package/dist/BulkGenerateSheet.js +25 -11
- package/dist/BulkGenerateSheet.js.map +1 -1
- package/dist/ClientList.d.ts.map +1 -1
- package/dist/ClientList.js +8 -8
- package/dist/ClientList.js.map +1 -1
- package/dist/Composer.d.ts +4 -0
- package/dist/Composer.d.ts.map +1 -1
- package/dist/Composer.js +5 -9
- package/dist/Composer.js.map +1 -1
- package/dist/ConnectClientSheet.d.ts +26 -0
- package/dist/ConnectClientSheet.d.ts.map +1 -0
- package/dist/ConnectClientSheet.js +67 -0
- package/dist/ConnectClientSheet.js.map +1 -0
- package/dist/ConversationPane.d.ts +3 -1
- package/dist/ConversationPane.d.ts.map +1 -1
- package/dist/ConversationPane.js +30 -7
- package/dist/ConversationPane.js.map +1 -1
- package/dist/HostLinkAction.d.ts +10 -0
- package/dist/HostLinkAction.d.ts.map +1 -0
- package/dist/HostLinkAction.js +14 -0
- package/dist/HostLinkAction.js.map +1 -0
- package/dist/HostPreviewPane.d.ts +4 -2
- package/dist/HostPreviewPane.d.ts.map +1 -1
- package/dist/HostPreviewPane.js +6 -6
- package/dist/HostPreviewPane.js.map +1 -1
- package/dist/ItemActions.d.ts +7 -3
- package/dist/ItemActions.d.ts.map +1 -1
- package/dist/ItemActions.js +4 -3
- package/dist/ItemActions.js.map +1 -1
- package/dist/OfferSheet.d.ts +2 -0
- package/dist/OfferSheet.d.ts.map +1 -1
- package/dist/OfferSheet.js +3 -1
- package/dist/OfferSheet.js.map +1 -1
- package/dist/QuickSend.d.ts +3 -1
- package/dist/QuickSend.d.ts.map +1 -1
- package/dist/QuickSend.js +10 -3
- package/dist/QuickSend.js.map +1 -1
- package/dist/SegmentEditor.d.ts +11 -4
- package/dist/SegmentEditor.d.ts.map +1 -1
- package/dist/SegmentEditor.js +96 -11
- package/dist/SegmentEditor.js.map +1 -1
- package/dist/ThreadFeed.d.ts +7 -1
- package/dist/ThreadFeed.d.ts.map +1 -1
- package/dist/ThreadFeed.js +4 -4
- package/dist/ThreadFeed.js.map +1 -1
- package/dist/UpliftPanel.d.ts +10 -2
- package/dist/UpliftPanel.d.ts.map +1 -1
- package/dist/UpliftPanel.js +142 -24
- package/dist/UpliftPanel.js.map +1 -1
- package/dist/UpliftProvider.d.ts.map +1 -1
- package/dist/UpliftProvider.js +16 -2
- package/dist/UpliftProvider.js.map +1 -1
- package/dist/build-info.json +3 -3
- package/dist/channels.d.ts +2 -0
- package/dist/channels.d.ts.map +1 -1
- package/dist/channels.js +4 -0
- package/dist/channels.js.map +1 -1
- package/dist/draftContext.d.ts +34 -0
- package/dist/draftContext.d.ts.map +1 -0
- package/dist/draftContext.js +48 -0
- package/dist/draftContext.js.map +1 -0
- package/dist/host.d.ts +19 -0
- package/dist/host.d.ts.map +1 -1
- package/dist/host.js.map +1 -1
- package/dist/icons.d.ts +4 -0
- package/dist/icons.d.ts.map +1 -1
- package/dist/icons.js +5 -0
- package/dist/icons.js.map +1 -1
- package/dist/index.d.ts +6 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/segments.d.ts.map +1 -1
- package/dist/segments.js +2 -1
- package/dist/segments.js.map +1 -1
- package/dist/styles.d.ts +1 -1
- package/dist/styles.d.ts.map +1 -1
- package/dist/styles.js +63 -25
- package/dist/styles.js.map +1 -1
- package/dist/usePreviewDrafts.d.ts +1 -1
- package/dist/usePreviewDrafts.d.ts.map +1 -1
- package/dist/usePreviewDrafts.js +8 -1
- package/dist/usePreviewDrafts.js.map +1 -1
- package/dist/useSend.d.ts +7 -2
- package/dist/useSend.d.ts.map +1 -1
- package/dist/useSend.js +7 -2
- package/dist/useSend.js.map +1 -1
- package/package.json +3 -3
- package/dist/ComposerExtras.d.ts +0 -15
- package/dist/ComposerExtras.d.ts.map +0 -1
- package/dist/ComposerExtras.js +0 -14
- package/dist/ComposerExtras.js.map +0 -1
package/dist/ItemActions.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ItemActions.js","sourceRoot":"","sources":["../src/ItemActions.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,
|
|
1
|
+
{"version":3,"file":"ItemActions.js","sourceRoot":"","sources":["../src/ItemActions.tsx"],"names":[],"mappings":"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"}
|
package/dist/OfferSheet.d.ts
CHANGED
|
@@ -28,5 +28,7 @@ export interface OfferSheetProps {
|
|
|
28
28
|
* explanation when adding them, so the CTA goes straight to checkout. The price comes from the
|
|
29
29
|
* Stripe price via GET /billing/plan, never from the host. Copy follows the Uplift Propane page.
|
|
30
30
|
*/
|
|
31
|
+
/** S1: clients a coach can connect without a plan. */
|
|
32
|
+
export declare const FREE_CLIENTS = 2;
|
|
31
33
|
export declare function OfferSheet({ onClose, onCheckout, freeClients, hostName, reason, connecting, connected, onUpgraded }: OfferSheetProps): import("react").JSX.Element;
|
|
32
34
|
//# sourceMappingURL=OfferSheet.d.ts.map
|
package/dist/OfferSheet.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OfferSheet.d.ts","sourceRoot":"","sources":["../src/OfferSheet.tsx"],"names":[],"mappings":"AASA,yHAAyH;AACzH,MAAM,MAAM,WAAW,GAAG,cAAc,GAAG,eAAe,GAAG,SAAS,GAAG,OAAO,CAAC;AAEjF,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB;;;OAGG;IACH,UAAU,CAAC,EAAE,CAAC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,SAAS,CAAC;IACtD,sDAAsD;IACtD,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,sDAAsD;IACtD,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;IACjC,mEAAmE;IACnE,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,6DAA6D;IAC7D,SAAS,CAAC,EAAE,aAAa,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,GAAG,SAAS,CAAC;IACpE,4EAA4E;IAC5E,UAAU,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;CACvC;AAiBD;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,
|
|
1
|
+
{"version":3,"file":"OfferSheet.d.ts","sourceRoot":"","sources":["../src/OfferSheet.tsx"],"names":[],"mappings":"AASA,yHAAyH;AACzH,MAAM,MAAM,WAAW,GAAG,cAAc,GAAG,eAAe,GAAG,SAAS,GAAG,OAAO,CAAC;AAEjF,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB;;;OAGG;IACH,UAAU,CAAC,EAAE,CAAC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,SAAS,CAAC;IACtD,sDAAsD;IACtD,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,sDAAsD;IACtD,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;IACjC,mEAAmE;IACnE,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,6DAA6D;IAC7D,SAAS,CAAC,EAAE,aAAa,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,GAAG,SAAS,CAAC;IACpE,4EAA4E;IAC5E,UAAU,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;CACvC;AAiBD;;;;;GAKG;AACH,sDAAsD;AACtD,eAAO,MAAM,YAAY,IAAI,CAAC;AAE9B,wBAAgB,UAAU,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,WAA0B,EAAE,QAAQ,EAAE,MAAgB,EAAE,UAAU,EAAE,SAAc,EAAE,UAAU,EAAE,EAAE,eAAe,+BAsIlK"}
|
package/dist/OfferSheet.js
CHANGED
|
@@ -25,7 +25,9 @@ function namesLine(cs) {
|
|
|
25
25
|
* explanation when adding them, so the CTA goes straight to checkout. The price comes from the
|
|
26
26
|
* Stripe price via GET /billing/plan, never from the host. Copy follows the Uplift Propane page.
|
|
27
27
|
*/
|
|
28
|
-
|
|
28
|
+
/** S1: clients a coach can connect without a plan. */
|
|
29
|
+
export const FREE_CLIENTS = 2;
|
|
30
|
+
export function OfferSheet({ onClose, onCheckout, freeClients = FREE_CLIENTS, hostName, reason = "pitch", connecting, connected = [], onUpgraded }) {
|
|
29
31
|
const billing = useBilling();
|
|
30
32
|
const [step, setStep] = useState("offer");
|
|
31
33
|
const [tick, setTick] = useState(false);
|
package/dist/OfferSheet.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OfferSheet.js","sourceRoot":"","sources":["../src/OfferSheet.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE5E,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AA2BzD,MAAM,QAAQ,GAA4B;IACxC,CAAC,qBAAqB,EAAE,wDAAwD,CAAC;IACjF,CAAC,gCAAgC,EAAE,gDAAgD,CAAC;IACpF,CAAC,qBAAqB,EAAE,6CAA6C,CAAC;CACvE,CAAC;AAEF,SAAS,SAAS,CAAC,EAAmC;IACpD,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAC3C,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC;QAAE,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACrC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACjD,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC,OAAO,CAAC;AAChE,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,UAAU,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,GAAG,
|
|
1
|
+
{"version":3,"file":"OfferSheet.js","sourceRoot":"","sources":["../src/OfferSheet.tsx"],"names":[],"mappings":"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"}
|
package/dist/QuickSend.d.ts
CHANGED
|
@@ -7,9 +7,11 @@ export declare const QS_UNDO_SECONDS = 5;
|
|
|
7
7
|
* ever tap explains itself once (remembered in localStorage). Stops propagation so the row does
|
|
8
8
|
* not open.
|
|
9
9
|
*/
|
|
10
|
-
export declare function QuickSend({ client, drafts, onSent }: {
|
|
10
|
+
export declare function QuickSend({ client, drafts, source, onSent }: {
|
|
11
11
|
client: Client;
|
|
12
12
|
drafts: DraftSet;
|
|
13
|
+
/** Where the drafts came from: the reply drafts Uplift prepared, or Bulk generate. */
|
|
14
|
+
source?: "reply_options" | "bulk";
|
|
13
15
|
onSent?: ((client: Client, body: string) => void) | undefined;
|
|
14
16
|
}): import("react").JSX.Element | null;
|
|
15
17
|
//# sourceMappingURL=QuickSend.d.ts.map
|
package/dist/QuickSend.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QuickSend.d.ts","sourceRoot":"","sources":["../src/QuickSend.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"QuickSend.d.ts","sourceRoot":"","sources":["../src/QuickSend.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAMtD,eAAO,MAAM,YAAY,gCAAgC,CAAC;AAC1D,eAAO,MAAM,eAAe,IAAI,CAAC;AAQjC;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,MAAwB,EAAE,MAAM,EAAE,EAAE;IAC9E,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,QAAQ,CAAC;IACjB,sFAAsF;IACtF,MAAM,CAAC,EAAE,eAAe,GAAG,MAAM,CAAC;IAClC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;CAC/D,sCAqFA"}
|
package/dist/QuickSend.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
2
|
import { useCallback, useEffect, useRef, useState } from "react";
|
|
3
|
+
import { buildDraftContext } from "./draftContext.js";
|
|
3
4
|
import { IconCheckCircle, IconLoader, IconUndo, IconZap } from "./icons.js";
|
|
4
5
|
import { Sheet } from "./Sheet.js";
|
|
5
6
|
import { useUplift } from "./UpliftProvider.js";
|
|
@@ -15,7 +16,7 @@ function newKey() {
|
|
|
15
16
|
* ever tap explains itself once (remembered in localStorage). Stops propagation so the row does
|
|
16
17
|
* not open.
|
|
17
18
|
*/
|
|
18
|
-
export function QuickSend({ client, drafts, onSent }) {
|
|
19
|
+
export function QuickSend({ client, drafts, source = "reply_options", onSent }) {
|
|
19
20
|
const { client: api } = useUplift();
|
|
20
21
|
const draft = drafts.five_words || drafts.happy || "";
|
|
21
22
|
const [phase, setPhase] = useState("idle");
|
|
@@ -31,7 +32,13 @@ export function QuickSend({ client, drafts, onSent }) {
|
|
|
31
32
|
const doSend = useCallback(async () => {
|
|
32
33
|
setPhase("sending");
|
|
33
34
|
try {
|
|
34
|
-
|
|
35
|
+
// Always a verbatim draft, as native quick send: it never teaches the coach's voice.
|
|
36
|
+
await api.send(client.id, {
|
|
37
|
+
body: draft,
|
|
38
|
+
origin: { kind: "draft", source, edited: false },
|
|
39
|
+
draftContext: buildDraftContext({ composerShown: [{ text: draft, source }], composerPurpose: source === "bulk" ? "bulk" : "aggregate", picked: { text: draft, source } }),
|
|
40
|
+
idempotencyKey: key.current,
|
|
41
|
+
});
|
|
35
42
|
setPhase("sent");
|
|
36
43
|
setTimeout(() => onSent?.(client, draft), 600);
|
|
37
44
|
}
|
|
@@ -40,7 +47,7 @@ export function QuickSend({ client, drafts, onSent }) {
|
|
|
40
47
|
setPhase("error");
|
|
41
48
|
key.current = newKey();
|
|
42
49
|
}
|
|
43
|
-
}, [api, client, draft, onSent]);
|
|
50
|
+
}, [api, client, draft, source, onSent]);
|
|
44
51
|
const startCountdown = useCallback(() => {
|
|
45
52
|
setPhase("countdown");
|
|
46
53
|
let remaining = QS_UNDO_SECONDS;
|
package/dist/QuickSend.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QuickSend.js","sourceRoot":"","sources":["../src/QuickSend.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEjE,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5E,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEhD,MAAM,CAAC,MAAM,YAAY,GAAG,6BAA6B,CAAC;AAC1D,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC;AAGjC,SAAS,MAAM;IACb,MAAM,CAAC,GAAG,UAAU,CAAC,MAA4B,CAAC;IAClD,OAAO,CAAC,IAAI,OAAO,CAAC,CAAC,UAAU,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;AAC9I,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,SAAS,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"QuickSend.js","sourceRoot":"","sources":["../src/QuickSend.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5E,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEhD,MAAM,CAAC,MAAM,YAAY,GAAG,6BAA6B,CAAC;AAC1D,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC;AAGjC,SAAS,MAAM;IACb,MAAM,CAAC,GAAG,UAAU,CAAC,MAA4B,CAAC;IAClD,OAAO,CAAC,IAAI,OAAO,CAAC,CAAC,UAAU,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;AAC9I,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,SAAS,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,eAAe,EAAE,MAAM,EAM3E;IACC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,SAAS,EAAE,CAAC;IACpC,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC;IACtD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAQ,MAAM,CAAC,CAAC;IAClD,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,eAAe,CAAC,CAAC;IAC5D,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAClD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;IACxD,MAAM,KAAK,GAAG,MAAM,CAAwC,IAAI,CAAC,CAAC;IAClE,MAAM,GAAG,GAAG,MAAM,CAAS,MAAM,EAAE,CAAC,CAAC;IACrC,SAAS,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI,KAAK,CAAC,OAAO;QAAE,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAEhF,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACxC,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;IAEhF,MAAM,MAAM,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;QACpC,QAAQ,CAAC,SAAS,CAAC,CAAC;QACpB,IAAI,CAAC;YACH,qFAAqF;YACrF,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE;gBACxB,IAAI,EAAE,KAAK;gBACX,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE;gBAChD,YAAY,EAAE,iBAAiB,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,eAAe,EAAE,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC;gBACzK,cAAc,EAAE,GAAG,CAAC,OAAO;aAC5B,CAAC,CAAC;YACH,QAAQ,CAAC,MAAM,CAAC,CAAC;YACjB,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC;QACjD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,QAAQ,CAAE,GAAa,EAAE,OAAO,IAAI,gBAAgB,CAAC,CAAC;YACtD,QAAQ,CAAC,OAAO,CAAC,CAAC;YAClB,GAAG,CAAC,OAAO,GAAG,MAAM,EAAE,CAAC;QACzB,CAAC;IACH,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAEzC,MAAM,cAAc,GAAG,WAAW,CAAC,GAAG,EAAE;QACtC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACtB,IAAI,SAAS,GAAG,eAAe,CAAC;QAChC,YAAY,CAAC,SAAS,CAAC,CAAC;QACxB,KAAK,CAAC,OAAO,GAAG,WAAW,CAAC,GAAG,EAAE;YAC/B,SAAS,IAAI,CAAC,CAAC;YACf,YAAY,CAAC,SAAS,CAAC,CAAC;YACxB,IAAI,SAAS,IAAI,CAAC,EAAE,CAAC;gBAAC,IAAI,KAAK,CAAC,OAAO;oBAAE,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBAAC,KAAK,MAAM,EAAE,CAAC;YAAC,CAAC;QACzF,CAAC,EAAE,IAAI,CAAC,CAAC;IACX,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAEb,MAAM,SAAS,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC;QAAC,OAAO,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,IAAI,CAAC;IAAC,CAAC,CAAC,CAAC,CAAC;IACxG,MAAM,aAAa,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC;QAAC,YAAY,CAAC,OAAO,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;IAExG,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACxB,MAAM,WAAW,GAAG,KAAK,KAAK,WAAW,CAAC;IAC1C,OAAO,CACL,8BACE,kBACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAE,UAAU,WAAW,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,EAAE,EAC9L,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE;oBACb,CAAC,CAAC,eAAe,EAAE,CAAC;oBACpB,IAAI,WAAW,EAAE,CAAC;wBAAC,IAAI,KAAK,CAAC,OAAO;4BAAE,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;wBAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;wBAAC,YAAY,CAAC,eAAe,CAAC,CAAC;wBAAC,OAAO;oBAAC,CAAC;oBAC9H,IAAI,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,OAAO;wBAAE,OAAO;oBAClD,QAAQ,CAAC,IAAI,CAAC,CAAC;oBACf,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC;wBAAC,YAAY,CAAC,IAAI,CAAC,CAAC;wBAAC,OAAO;oBAAC,CAAC;oBACjD,cAAc,EAAE,CAAC;gBACnB,CAAC,EACD,QAAQ,EAAE,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,MAAM,EACjD,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,KAAK,qBAAqB,CAAC,CAAC,CAAC,KAAK,gBACpF,WAAW,CAAC,CAAC,CAAC,mBAAmB,MAAM,CAAC,IAAI,KAAK,SAAS,GAAG,CAAC,CAAC,CAAC,iBAAiB,MAAM,CAAC,IAAI,KAAK,KAAK,EAAE,aAEnH,KAAK,KAAK,MAAM,IAAI,KAAC,eAAe,KAAG,EACvC,KAAK,KAAK,SAAS,IAAI,KAAC,UAAU,KAAG,EACrC,WAAW,IAAI,KAAC,QAAQ,KAAG,EAC3B,CAAC,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,OAAO,CAAC,IAAI,KAAC,OAAO,KAAG,EACvD,eAAM,SAAS,EAAC,eAAe,YAAE,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,SAAS,GAAG,CAAC,CAAC,CAAC,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,SAAS,GAAQ,IACxL,EACR,SAAS,IAAI,CACZ,MAAC,KAAK,IAAC,UAAU,EAAC,kBAAkB,EAAC,OAAO,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,aACrE,YAAG,SAAS,EAAC,WAAW,2BAAe,EACvC,aAAI,EAAE,EAAC,kBAAkB,sCAA2B,EACpD,aAAG,SAAS,EAAC,QAAQ,qBAAK,2CAA4B,yIAAqI,EAC3L,eAAK,SAAS,EAAC,cAAc,aAC3B,iBAAQ,IAAI,EAAC,QAAQ,EAAC,SAAS,EAAC,QAAQ,EAAC,OAAO,EAAE,GAAG,EAAE,GAAG,aAAa,EAAE,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,6BAAuB,EAC1I,iBAAQ,IAAI,EAAC,QAAQ,EAAC,SAAS,EAAC,OAAO,EAAC,OAAO,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,uBAAiB,IACvF,IACA,CACT,IACA,CACJ,CAAC;AACJ,CAAC"}
|
package/dist/SegmentEditor.d.ts
CHANGED
|
@@ -14,12 +14,19 @@ export interface SegmentEditorProps {
|
|
|
14
14
|
disabled?: boolean | undefined;
|
|
15
15
|
/** Nothing can be typed or removed: the box shows fixed text (Uplift's stock intro) and only Send applies. */
|
|
16
16
|
readOnly?: boolean | undefined;
|
|
17
|
+
/** Esc in the editor: the parent's clear. */
|
|
18
|
+
onEscape?: (() => void) | undefined;
|
|
17
19
|
}
|
|
18
20
|
/**
|
|
19
21
|
* Two modes, like native Uplift's editor: a plain textarea for typing, and a contentEditable
|
|
20
|
-
* box that shows an injected draft as
|
|
21
|
-
*
|
|
22
|
-
*
|
|
22
|
+
* box that shows an injected draft as pills the coach can delete one by one. The DOM of the
|
|
23
|
+
* pill box is owned by hand (written on inject, read on change), never by React, so the caret
|
|
24
|
+
* and the browser's own editing stay intact. The parent only ever sees plain text.
|
|
25
|
+
*
|
|
26
|
+
* An injected draft first lands "suggested" (native #633): greyed plain text on a tint with a
|
|
27
|
+
* "Click to edit to teach Uplift your voice." label, so it reads as Uplift's words. Send works as is. The first click,
|
|
28
|
+
* tap or keystroke opens the pills; pills stay grey until the coach clicks or types in one.
|
|
29
|
+
* A locked injection (the stock intro) is never suggested.
|
|
23
30
|
*/
|
|
24
|
-
export declare function SegmentEditor({ value, onChange, inject, placeholder, ariaLabel, disabled, readOnly }: SegmentEditorProps): import("react").JSX.Element;
|
|
31
|
+
export declare function SegmentEditor({ value, onChange, inject, placeholder, ariaLabel, disabled, readOnly, onEscape }: SegmentEditorProps): import("react").JSX.Element;
|
|
25
32
|
//# sourceMappingURL=SegmentEditor.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SegmentEditor.d.ts","sourceRoot":"","sources":["../src/SegmentEditor.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"SegmentEditor.d.ts","sourceRoot":"","sources":["../src/SegmentEditor.tsx"],"names":[],"mappings":"AAKA,6IAA6I;AAC7I,MAAM,WAAW,SAAS;IAAG,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;CAAE;AAEtF,MAAM,WAAW,kBAAkB;IACjC,gEAAgE;IAChE,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,MAAM,CAAC,EAAE,SAAS,GAAG,IAAI,GAAG,SAAS,CAAC;IACtC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC/B,8GAA8G;IAC9G,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC/B,6CAA6C;IAC7C,QAAQ,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;CACrC;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,aAAa,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,kBAAkB,+BA+LlI"}
|
package/dist/SegmentEditor.js
CHANGED
|
@@ -1,18 +1,30 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { useCallback, useEffect, useLayoutEffect, useRef, useState } from "react";
|
|
3
|
+
import { flushSync } from "react-dom";
|
|
3
4
|
import { reconstructMessage, SEG_CLASS, SEG_DELETE_CLASS, toLockedPillHtml, toPillHtml } from "./segments.js";
|
|
5
|
+
import { IconSparkles } from "./icons.js";
|
|
4
6
|
/**
|
|
5
7
|
* Two modes, like native Uplift's editor: a plain textarea for typing, and a contentEditable
|
|
6
|
-
* box that shows an injected draft as
|
|
7
|
-
*
|
|
8
|
-
*
|
|
8
|
+
* box that shows an injected draft as pills the coach can delete one by one. The DOM of the
|
|
9
|
+
* pill box is owned by hand (written on inject, read on change), never by React, so the caret
|
|
10
|
+
* and the browser's own editing stay intact. The parent only ever sees plain text.
|
|
11
|
+
*
|
|
12
|
+
* An injected draft first lands "suggested" (native #633): greyed plain text on a tint with a
|
|
13
|
+
* "Click to edit to teach Uplift your voice." label, so it reads as Uplift's words. Send works as is. The first click,
|
|
14
|
+
* tap or keystroke opens the pills; pills stay grey until the coach clicks or types in one.
|
|
15
|
+
* A locked injection (the stock intro) is never suggested.
|
|
9
16
|
*/
|
|
10
|
-
export function SegmentEditor({ value, onChange, inject, placeholder, ariaLabel, disabled, readOnly }) {
|
|
17
|
+
export function SegmentEditor({ value, onChange, inject, placeholder, ariaLabel, disabled, readOnly, onEscape }) {
|
|
11
18
|
const [rich, setRich] = useState(false);
|
|
19
|
+
const [suggested, setSuggested] = useState(false);
|
|
20
|
+
// Set while engage() hands a suggested draft to the pills: it focuses itself, inside the tap.
|
|
21
|
+
const engaging = useRef(false);
|
|
12
22
|
const boxRef = useRef(null);
|
|
13
23
|
const taRef = useRef(null);
|
|
14
24
|
const lastKey = useRef(null);
|
|
15
25
|
const pendingHtml = useRef(null);
|
|
26
|
+
// Bumped on every inject, so a second pick redraws the pills even when already in pill mode.
|
|
27
|
+
const [injected, setInjected] = useState(0);
|
|
16
28
|
// Inject: switch to pills. Done in a layout effect so the box exists before we write to it.
|
|
17
29
|
useEffect(() => {
|
|
18
30
|
if (!inject || !inject.text.trim() || inject.key === lastKey.current)
|
|
@@ -20,15 +32,19 @@ export function SegmentEditor({ value, onChange, inject, placeholder, ariaLabel,
|
|
|
20
32
|
lastKey.current = inject.key;
|
|
21
33
|
pendingHtml.current = inject.locked ? toLockedPillHtml(inject.text, inject.key) : toPillHtml(inject.text, inject.key);
|
|
22
34
|
setRich(true);
|
|
35
|
+
setSuggested(!inject.locked);
|
|
36
|
+
setInjected((n) => n + 1);
|
|
23
37
|
}, [inject]);
|
|
24
38
|
useLayoutEffect(() => {
|
|
25
39
|
if (!rich || pendingHtml.current === null)
|
|
26
40
|
return;
|
|
27
41
|
const el = boxRef.current;
|
|
28
42
|
if (!el)
|
|
29
|
-
return;
|
|
43
|
+
return; // still suggested: the pills are written when the coach engages
|
|
30
44
|
el.innerHTML = pendingHtml.current;
|
|
31
45
|
pendingHtml.current = null;
|
|
46
|
+
if (engaging.current)
|
|
47
|
+
return;
|
|
32
48
|
// Caret at the end, after the last pill, so typing continues the message. Native does the same.
|
|
33
49
|
const t = setTimeout(() => {
|
|
34
50
|
el.focus();
|
|
@@ -43,19 +59,49 @@ export function SegmentEditor({ value, onChange, inject, placeholder, ariaLabel,
|
|
|
43
59
|
el.removeChild(marker);
|
|
44
60
|
}, 80);
|
|
45
61
|
return () => clearTimeout(t);
|
|
46
|
-
}, [rich]);
|
|
62
|
+
}, [rich, injected, suggested]);
|
|
47
63
|
// The parent cleared the text (sent, or switched client): leave pill mode.
|
|
48
64
|
useEffect(() => {
|
|
49
65
|
if (rich && value === "") {
|
|
50
66
|
setRich(false);
|
|
67
|
+
setSuggested(false);
|
|
68
|
+
pendingHtml.current = null;
|
|
51
69
|
if (boxRef.current)
|
|
52
70
|
boxRef.current.innerHTML = "";
|
|
53
71
|
}
|
|
54
72
|
}, [value, rich]);
|
|
73
|
+
// First click, tap, focus or keystroke on a suggested draft: hand it to the pills. Synchronous
|
|
74
|
+
// (flushSync) so focus lands inside the same tap, which is what opens the keyboard on iOS.
|
|
75
|
+
const engage = useCallback(() => {
|
|
76
|
+
if (!suggested || disabled)
|
|
77
|
+
return;
|
|
78
|
+
engaging.current = true;
|
|
79
|
+
flushSync(() => setSuggested(false));
|
|
80
|
+
engaging.current = false;
|
|
81
|
+
const el = boxRef.current;
|
|
82
|
+
if (!el)
|
|
83
|
+
return;
|
|
84
|
+
el.focus();
|
|
85
|
+
const range = document.createRange();
|
|
86
|
+
range.selectNodeContents(el);
|
|
87
|
+
range.collapse(false);
|
|
88
|
+
const sel = window.getSelection();
|
|
89
|
+
sel?.removeAllRanges();
|
|
90
|
+
sel?.addRange(range);
|
|
91
|
+
}, [suggested, disabled]);
|
|
92
|
+
// Mark the pill under the caret as the coach's (white, full-strength text).
|
|
93
|
+
const touchAtCaret = useCallback(() => {
|
|
94
|
+
const node = window.getSelection()?.anchorNode;
|
|
95
|
+
const el = node && (node.nodeType === 1 ? node : node.parentElement);
|
|
96
|
+
const seg = el?.closest(`.${SEG_CLASS}`);
|
|
97
|
+
if (seg && boxRef.current?.contains(seg))
|
|
98
|
+
seg.classList.add("touched");
|
|
99
|
+
}, []);
|
|
55
100
|
const readBack = useCallback(() => {
|
|
56
101
|
const el = boxRef.current;
|
|
57
102
|
if (!el)
|
|
58
103
|
return;
|
|
104
|
+
touchAtCaret();
|
|
59
105
|
const html = el.innerHTML;
|
|
60
106
|
const plain = reconstructMessage(html);
|
|
61
107
|
onChange(plain);
|
|
@@ -64,7 +110,7 @@ export function SegmentEditor({ value, onChange, inject, placeholder, ariaLabel,
|
|
|
64
110
|
setRich(false);
|
|
65
111
|
if (!html.includes(SEG_CLASS) && !plain)
|
|
66
112
|
setRich(false);
|
|
67
|
-
}, [onChange]);
|
|
113
|
+
}, [onChange, touchAtCaret]);
|
|
68
114
|
const removePill = useCallback((id) => {
|
|
69
115
|
const el = boxRef.current?.querySelector(`.${SEG_CLASS}[data-seg="${id}"]`);
|
|
70
116
|
if (!el)
|
|
@@ -78,18 +124,57 @@ export function SegmentEditor({ value, onChange, inject, placeholder, ariaLabel,
|
|
|
78
124
|
e.preventDefault();
|
|
79
125
|
e.stopPropagation();
|
|
80
126
|
removePill(t.getAttribute("data-seg") ?? "");
|
|
127
|
+
return;
|
|
81
128
|
}
|
|
129
|
+
const seg = t.closest(`.${SEG_CLASS}`);
|
|
130
|
+
boxRef.current?.querySelectorAll(`.${SEG_CLASS}.active`).forEach((s) => { if (s !== seg)
|
|
131
|
+
s.classList.remove("active"); });
|
|
132
|
+
if (seg && !seg.classList.contains("u-seg-lock"))
|
|
133
|
+
seg.classList.add("active", "touched");
|
|
82
134
|
}, [removePill]);
|
|
135
|
+
const onBlur = useCallback(() => {
|
|
136
|
+
boxRef.current?.querySelectorAll(`.${SEG_CLASS}.active`).forEach((s) => s.classList.remove("active"));
|
|
137
|
+
}, []);
|
|
83
138
|
const onKeyDown = useCallback((e) => {
|
|
84
139
|
const t = e.target;
|
|
85
140
|
if (t.classList.contains(SEG_DELETE_CLASS) && (e.key === "Enter" || e.key === " ")) {
|
|
86
141
|
e.preventDefault();
|
|
87
142
|
removePill(t.getAttribute("data-seg") ?? "");
|
|
143
|
+
return;
|
|
88
144
|
}
|
|
89
|
-
|
|
145
|
+
if (e.key === "Escape" && onEscape) {
|
|
146
|
+
e.preventDefault();
|
|
147
|
+
onEscape();
|
|
148
|
+
}
|
|
149
|
+
}, [removePill, onEscape]);
|
|
150
|
+
if (rich && suggested) {
|
|
151
|
+
return (
|
|
152
|
+
// Distinct keys: both boxes are <div>s in the same slot, and React would otherwise reuse
|
|
153
|
+
// one node, keeping the hand-written pills inside the suggested box (native #634).
|
|
154
|
+
_jsxs("div", { className: "u-editor u-editor-rich u-editor-sugg", role: "textbox", "aria-multiline": "true", "aria-label": ariaLabel, "aria-description": "AI draft. Click or start typing to edit; your edits train the AI.", "aria-disabled": disabled || undefined, tabIndex: disabled ? -1 : 0, "data-testid": "suggested-draft", onFocus: engage, onClick: engage, onKeyDown: (e) => {
|
|
155
|
+
if (e.key === "Escape") {
|
|
156
|
+
if (onEscape) {
|
|
157
|
+
e.preventDefault();
|
|
158
|
+
onEscape();
|
|
159
|
+
}
|
|
160
|
+
return;
|
|
161
|
+
}
|
|
162
|
+
if (e.key === "Tab" || e.metaKey || e.ctrlKey || e.altKey)
|
|
163
|
+
return;
|
|
164
|
+
engage();
|
|
165
|
+
// The first character typed lands at the end of the draft, not nowhere.
|
|
166
|
+
if (e.key.length === 1) {
|
|
167
|
+
e.preventDefault();
|
|
168
|
+
document.execCommand("insertText", false, e.key);
|
|
169
|
+
}
|
|
170
|
+
}, children: [_jsxs("span", { className: "u-sugg-label", "aria-hidden": "true", children: [_jsx(IconSparkles, {}), "Click to edit to teach Uplift your voice."] }), _jsx("span", { className: "u-sugg-text", children: value })] }, "suggested"));
|
|
171
|
+
}
|
|
90
172
|
if (rich) {
|
|
91
|
-
return (_jsx("div", { ref: boxRef, className: `u-editor u-editor-rich${readOnly ? " u-editor-locked" : ""}`, role: "textbox", "aria-multiline": "true", "aria-label": ariaLabel, "aria-disabled": disabled || undefined, "aria-readonly": readOnly || undefined, contentEditable: !disabled && !readOnly, suppressContentEditableWarning: true, "data-placeholder": placeholder, onInput: readBack, onClick: onClick, onKeyDown: onKeyDown }));
|
|
173
|
+
return (_jsx("div", { ref: boxRef, className: `u-editor u-editor-rich${readOnly ? " u-editor-locked" : ""}`, role: "textbox", "aria-multiline": "true", "aria-label": ariaLabel, "aria-disabled": disabled || undefined, "aria-readonly": readOnly || undefined, contentEditable: !disabled && !readOnly, suppressContentEditableWarning: true, "data-placeholder": placeholder, onInput: readBack, onClick: onClick, onKeyDown: onKeyDown, onBlur: onBlur }, "rich"));
|
|
92
174
|
}
|
|
93
|
-
return (_jsx("textarea", { ref: taRef, className: "u-editor", "aria-label": ariaLabel, placeholder: placeholder, value: value, disabled: disabled, readOnly: readOnly, onChange: (e) => onChange(e.target.value),
|
|
175
|
+
return (_jsx("textarea", { ref: taRef, className: "u-editor", "aria-label": ariaLabel, placeholder: placeholder, value: value, disabled: disabled, readOnly: readOnly, onChange: (e) => onChange(e.target.value), onKeyDown: (e) => { if (e.key === "Escape" && onEscape) {
|
|
176
|
+
e.preventDefault();
|
|
177
|
+
onEscape();
|
|
178
|
+
} }, rows: 3 }));
|
|
94
179
|
}
|
|
95
180
|
//# sourceMappingURL=SegmentEditor.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SegmentEditor.js","sourceRoot":"","sources":["../src/SegmentEditor.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,EAAE,QAAQ,EAAuC,MAAM,OAAO,CAAC;AACvH,OAAO,EAAE,kBAAkB,EAAE,SAAS,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"SegmentEditor.js","sourceRoot":"","sources":["../src/SegmentEditor.tsx"],"names":[],"mappings":"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"}
|
package/dist/ThreadFeed.d.ts
CHANGED
|
@@ -11,8 +11,14 @@ export interface ThreadFeedProps {
|
|
|
11
11
|
actions?: (m: Message) => ReactNode;
|
|
12
12
|
/** Rendered at the foot of the feed (the closed-window ghost). */
|
|
13
13
|
foot?: ReactNode;
|
|
14
|
+
/**
|
|
15
|
+
* On cards for messages the client sent in another conversation (`eventType` "externalMessage"):
|
|
16
|
+
* the way to that conversation, e.g. the host's "Open in Pulse". Rendered under the card only when
|
|
17
|
+
* the card has no action row; with one, pass it to that row instead (ItemActions `extra`).
|
|
18
|
+
*/
|
|
19
|
+
externalMessageAction?: ReactNode;
|
|
14
20
|
}
|
|
15
|
-
export declare function ThreadFeed({ thread, clientName, activitySourceLabel, now, actions, foot }: ThreadFeedProps): import("react").JSX.Element;
|
|
21
|
+
export declare function ThreadFeed({ thread, clientName, activitySourceLabel, now, actions, foot, externalMessageAction }: ThreadFeedProps): import("react").JSX.Element;
|
|
16
22
|
type FeedItem = {
|
|
17
23
|
type: "day";
|
|
18
24
|
key: string;
|
package/dist/ThreadFeed.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ThreadFeed.d.ts","sourceRoot":"","sources":["../src/ThreadFeed.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AACjD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAK7C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAGlD,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,WAAW,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,kEAAkE;IAClE,mBAAmB,EAAE,MAAM,CAAC;IAC5B,GAAG,EAAE,IAAI,CAAC;IACV,wHAAwH;IACxH,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,SAAS,CAAC;IACpC,kEAAkE;IAClE,IAAI,CAAC,EAAE,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"ThreadFeed.d.ts","sourceRoot":"","sources":["../src/ThreadFeed.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AACjD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAK7C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAGlD,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,WAAW,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,kEAAkE;IAClE,mBAAmB,EAAE,MAAM,CAAC;IAC5B,GAAG,EAAE,IAAI,CAAC;IACV,wHAAwH;IACxH,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,SAAS,CAAC;IACpC,kEAAkE;IAClE,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB;;;;OAIG;IACH,qBAAqB,CAAC,EAAE,SAAS,CAAC;CACnC;AAED,wBAAgB,UAAU,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,mBAAmB,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,qBAAqB,EAAE,EAAE,eAAe,+BAwCjI;AAED,KAAK,QAAQ,GAAG;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC;AAEjG,sEAAsE;AACtE,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,QAAQ,EAAE,CAYxD"}
|
package/dist/ThreadFeed.js
CHANGED
|
@@ -5,12 +5,12 @@ import { EventIcon } from "./icons.js";
|
|
|
5
5
|
import { MediaAttachment } from "./MediaAttachment.js";
|
|
6
6
|
import { clockLabel, dayKey, dayLabel } from "./time.js";
|
|
7
7
|
import { useStickToBottom } from "./useStickToBottom.js";
|
|
8
|
-
export function ThreadFeed({ thread, clientName, activitySourceLabel, now, actions, foot }) {
|
|
8
|
+
export function ThreadFeed({ thread, clientName, activitySourceLabel, now, actions, foot, externalMessageAction }) {
|
|
9
9
|
const first = clientName.split(" ")[0] ?? clientName;
|
|
10
10
|
const stick = useStickToBottom(thread.messages[0]?.id);
|
|
11
11
|
return (_jsxs("div", { className: "u-feed", role: "log", "aria-label": `Conversation with ${clientName}`, "aria-busy": thread.status === "loading", ...stick, children: [thread.status === "loading" && (_jsxs(_Fragment, { children: [_jsx("div", { className: "u-skel", style: { width: "40%", alignSelf: "flex-end" } }), _jsx("div", { className: "u-skel", style: { width: "60%" } }), _jsx("div", { className: "u-skel", style: { width: "35%", alignSelf: "center" } })] })), thread.status === "error" && (_jsxs("div", { className: "u-state", role: "alert", children: [_jsx("h3", { children: "Couldn't load this conversation" }), _jsx("p", { children: thread.error?.message }), _jsx("button", { type: "button", className: "u-retry", onClick: thread.reload, children: "Retry" })] })), thread.status === "ready" && thread.messages.length === 0 && (_jsx("div", { className: "u-state", children: _jsxs("p", { children: ["No messages or activity yet. Send ", first, " the first one below."] }) })), thread.status === "ready" && thread.hasMore && (_jsx("button", { type: "button", className: "u-older", onClick: thread.loadOlder, disabled: thread.loadingOlder, children: thread.loadingOlder ? "Loading…" : "Show older" })), thread.status === "ready" && !thread.hasMore && thread.messages.length > 0 && _jsx("span", { className: "u-hist-start", children: "\u2014 beginning of history \u2014" }), thread.status === "ready" && withDays(thread.messages).map((item) => item.type === "day"
|
|
12
12
|
? _jsx("span", { className: "u-day", children: dayLabel(item.at, now) }, item.key)
|
|
13
|
-
: (_jsx(Item, { m: item.message, first: first, source: activitySourceLabel, children: actions ? actions(item.message) : null }, item.message.id))), thread.status === "ready" && foot] }));
|
|
13
|
+
: (_jsx(Item, { m: item.message, first: first, source: activitySourceLabel, externalAction: externalMessageAction, children: actions ? actions(item.message) : null }, item.message.id))), thread.status === "ready" && foot] }));
|
|
14
14
|
}
|
|
15
15
|
/** Insert a day separator wherever the local calendar day changes. */
|
|
16
16
|
export function withDays(messages) {
|
|
@@ -26,11 +26,11 @@ export function withDays(messages) {
|
|
|
26
26
|
}
|
|
27
27
|
return out;
|
|
28
28
|
}
|
|
29
|
-
function Item({ m, first, source, children }) {
|
|
29
|
+
function Item({ m, first, source, children, externalAction }) {
|
|
30
30
|
const time = clockLabel(m.sentAt);
|
|
31
31
|
const [showTemplate, setShowTemplate] = useState(false);
|
|
32
32
|
if (m.kind === "event") {
|
|
33
|
-
return (_jsxs("div", { className: "u-ev", children: [_jsx(EventIcon, { type: m.eventType }), _jsxs("div", { children: [_jsx("b", { children: m.body }), _jsxs("div", { className: "u-meta", children: ["From ", source, time ? ` · ${time}` : ""] }), children] })] }));
|
|
33
|
+
return (_jsxs("div", { className: "u-ev", children: [_jsx(EventIcon, { type: m.eventType }), _jsxs("div", { children: [_jsx("b", { children: m.body }), _jsxs("div", { className: "u-meta", children: ["From ", source, time ? ` · ${time}` : ""] }), m.eventType === "externalMessage" && externalAction && !children && _jsx("div", { className: "u-ev-open", children: externalAction }), children] })] }));
|
|
34
34
|
}
|
|
35
35
|
const out = m.direction !== "inbound";
|
|
36
36
|
const atts = m.attachments ?? [];
|
package/dist/ThreadFeed.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ThreadFeed.js","sourceRoot":"","sources":["../src/ThreadFeed.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAkB,MAAM,OAAO,CAAC;AAEjD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAEzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"ThreadFeed.js","sourceRoot":"","sources":["../src/ThreadFeed.tsx"],"names":[],"mappings":"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"}
|
package/dist/UpliftPanel.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Channel, Client } from "@uplifted/sdk";
|
|
2
|
-
import { type HostActivityLoader, type HostClient } from "./host.js";
|
|
2
|
+
import { type HostActivityLoader, type HostClient, type HostContactLoader } from "./host.js";
|
|
3
3
|
export interface UpliftPanelProps {
|
|
4
4
|
/** Header title. Default "Messages". */
|
|
5
5
|
title?: string;
|
|
@@ -26,6 +26,14 @@ export interface UpliftPanelProps {
|
|
|
26
26
|
hostClients?: ReadonlyArray<HostClient>;
|
|
27
27
|
/** Loads a not-connected host client's recent activity for the preview feed and drafts. */
|
|
28
28
|
hostActivity?: HostActivityLoader;
|
|
29
|
+
/**
|
|
30
|
+
* Reads a host client's phone when the coach connects them. With a phone, and the channel's rules
|
|
31
|
+
* already confirmed (`acknowledgedChannels`), Connect needs no form: the channel follows the number
|
|
32
|
+
* (+1 SMS, anything else WhatsApp). Without it the connect sheet asks for the phone.
|
|
33
|
+
*/
|
|
34
|
+
hostContact?: HostContactLoader;
|
|
35
|
+
/** Open a client's `hostLink` yourself (for example to navigate an embedding parent). Default: a link to a new tab. */
|
|
36
|
+
onOpenHostLink?: (host: HostClient) => void;
|
|
29
37
|
/** The coach's name, so preview drafts can be signed the way the real ones are. */
|
|
30
38
|
coachName?: string;
|
|
31
39
|
/** Fallback roster and open-thread refresh interval while the tab is visible and the stream is down. 0 disables. Default 20000. */
|
|
@@ -36,5 +44,5 @@ export interface UpliftPanelProps {
|
|
|
36
44
|
now?: () => Date;
|
|
37
45
|
className?: string;
|
|
38
46
|
}
|
|
39
|
-
export declare function UpliftPanel({ title, hostName, initialClientId, onCheckout, onSent, onClientAdded, acknowledgedChannels, onChannelAcknowledged, hostClients, hostActivity, coachName, now, className, pollMs, live: liveUpdates }: UpliftPanelProps): import("react").JSX.Element;
|
|
47
|
+
export declare function UpliftPanel({ title, hostName, initialClientId, onCheckout, onSent, onClientAdded, acknowledgedChannels, onChannelAcknowledged, hostClients, hostActivity, hostContact, onOpenHostLink, coachName, now, className, pollMs, live: liveUpdates }: UpliftPanelProps): import("react").JSX.Element;
|
|
40
48
|
//# sourceMappingURL=UpliftPanel.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UpliftPanel.d.ts","sourceRoot":"","sources":["../src/UpliftPanel.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"UpliftPanel.d.ts","sourceRoot":"","sources":["../src/UpliftPanel.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,EAAS,MAAM,eAAe,CAAC;AAS5D,OAAO,EAAgD,KAAK,kBAAkB,EAAE,KAAK,UAAU,EAAE,KAAK,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAiB3I,MAAM,WAAW,gBAAgB;IAC/B,wCAAwC;IACxC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0FAA0F;IAC1F,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,0EAA0E;IAC1E,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxC,sCAAsC;IACtC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,sCAAsC;IACtC,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,+FAA+F;IAC/F,oBAAoB,CAAC,EAAE,OAAO,EAAE,CAAC;IACjC,qBAAqB,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IACnD;;;OAGG;IACH,WAAW,CAAC,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;IACxC,2FAA2F;IAC3F,YAAY,CAAC,EAAE,kBAAkB,CAAC;IAClC;;;;OAIG;IACH,WAAW,CAAC,EAAE,iBAAiB,CAAC;IAChC,uHAAuH;IACvH,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,IAAI,CAAC;IAC5C,mFAAmF;IACnF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mIAAmI;IACnI,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,oFAAoF;IACpF,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,qEAAqE;IACrE,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAmBD,wBAAgB,WAAW,CAAC,EAAE,KAAkB,EAAE,QAAqB,EAAE,eAAsB,EAAE,UAAU,EAAE,MAAM,EAAE,aAAa,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,gBAAgB,+BAuahT"}
|