@wireai/activation 0.13.2 → 0.13.5
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/AGENTS.md +6 -3
- package/CHANGELOG.md +291 -4
- package/INTEGRATION_PROMPT.md +7 -1
- package/README.md +68 -2
- package/dist/analytics/index.d.mts +86 -6
- package/dist/analytics/index.d.ts +86 -6
- package/dist/analytics/index.js +271 -472
- package/dist/analytics/index.js.map +1 -1
- package/dist/analytics/index.mjs +269 -471
- package/dist/analytics/index.mjs.map +1 -1
- package/dist/coachmarks/index.d.mts +15 -2
- package/dist/coachmarks/index.d.ts +15 -2
- package/dist/coachmarks/index.js +58 -14
- package/dist/coachmarks/index.js.map +1 -1
- package/dist/coachmarks/index.mjs +58 -14
- package/dist/coachmarks/index.mjs.map +1 -1
- package/dist/{currentSession-ClkLjcJ0.d.mts → currentSession-DgJf0fRz.d.mts} +4 -4
- package/dist/{currentSession-DOVZEWJl.d.ts → currentSession-EOHU64QD.d.ts} +4 -4
- package/dist/{decision-Bl_M2y3r.d.mts → decision-Bgo17oH7.d.mts} +1 -1
- package/dist/{decision-Cau5KmP6.d.ts → decision-Bkh_LigV.d.ts} +1 -1
- package/dist/index.d.mts +27 -4
- package/dist/index.d.ts +27 -4
- package/dist/index.js +224 -575
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +221 -572
- package/dist/index.mjs.map +1 -1
- package/dist/questionnaire/index.d.mts +43 -11
- package/dist/questionnaire/index.d.ts +43 -11
- package/dist/questionnaire/index.js +45 -13
- package/dist/questionnaire/index.js.map +1 -1
- package/dist/questionnaire/index.mjs +45 -13
- package/dist/questionnaire/index.mjs.map +1 -1
- package/dist/reviews/index.d.mts +5 -5
- package/dist/reviews/index.d.ts +5 -5
- package/dist/reviews/index.js +31 -9
- package/dist/reviews/index.js.map +1 -1
- package/dist/reviews/index.mjs +31 -9
- package/dist/reviews/index.mjs.map +1 -1
- package/dist/showcase/index.d.mts +1 -1
- package/dist/showcase/index.d.ts +1 -1
- package/dist/showcase/index.js +7 -2
- package/dist/showcase/index.js.map +1 -1
- package/dist/showcase/index.mjs +7 -2
- package/dist/showcase/index.mjs.map +1 -1
- package/dist/{transport-CF_eHwzC.d.mts → transport-B_0SgCBe.d.ts} +44 -5
- package/dist/{transport-DsRe4epC.d.ts → transport-j5gFfJhK.d.mts} +44 -5
- package/dist/{types-CKFhyrMu.d.mts → types-BpwiRpA8.d.mts} +1 -1
- package/dist/{types-CKFhyrMu.d.ts → types-BpwiRpA8.d.ts} +1 -1
- package/dist/{types-CNUqMK0D.d.mts → types-Cju-1_jT.d.mts} +42 -2
- package/dist/{types-Buj9Lw9t.d.ts → types-h2BZvl1t.d.ts} +42 -2
- package/llms.txt +1 -1
- package/package.json +6 -1
- package/src/OnboardingFlow.tsx +44 -15
- package/src/WireOnboarding.tsx +7 -6
- package/src/activation/revalidation.ts +9 -1
- package/src/activation/wireActivation.ts +3 -3
- package/src/analytics/analyticsFacade.ts +2 -2
- package/src/analytics/currentSession.ts +10 -0
- package/src/analytics/eventQueue.ts +88 -20
- package/src/analytics/index.ts +6 -0
- package/src/analytics/reportClientEvent.ts +29 -7
- package/src/analytics/wireDoctor.ts +330 -0
- package/src/cards/CardGridSelectCard.tsx +1 -1
- package/src/cards/ChipSelectCard.tsx +2 -2
- package/src/cards/SelectionCard.tsx +1 -1
- package/src/coachmarks/runtime.ts +72 -3
- package/src/coachmarks/useCoachmarkTour.ts +62 -14
- package/src/context/deviceId.ts +14 -5
- package/src/features/WireFeaturesProvider.tsx +12 -1
- package/src/identity/identityRecord.ts +9 -1
- package/src/identity/userIdentity.ts +1 -1
- package/src/questionnaire/QuestionnaireGate.tsx +90 -10
- package/src/questionnaire/index.ts +9 -1
- package/src/questionnaire/transport.ts +46 -11
- package/src/reviews/ReviewGate.tsx +61 -6
- package/src/reviews/index.ts +10 -1
- package/src/reviews/runtime.ts +11 -1
- package/src/reviews/transport.ts +58 -12
- package/src/session-analytics/useLifecycleEvents.ts +1 -1
- package/src/theme/ThemeContext.tsx +49 -1
- package/src/types.ts +1 -1
- package/src/utils/submitResult.ts +39 -0
|
@@ -145,7 +145,7 @@ var useWireFeatures = (config) => {
|
|
|
145
145
|
return flags;
|
|
146
146
|
};
|
|
147
147
|
var CONTEXT_SYMBOL = /* @__PURE__ */ Symbol.for("wireai.features.context");
|
|
148
|
-
var globalObj =
|
|
148
|
+
var globalObj = globalThis;
|
|
149
149
|
if (!globalObj[CONTEXT_SYMBOL]) {
|
|
150
150
|
globalObj[CONTEXT_SYMBOL] = createContext(null);
|
|
151
151
|
}
|
|
@@ -169,10 +169,36 @@ var coachmarkRuntime = () => {
|
|
|
169
169
|
runtimeGlobal[COACHMARK_RUNTIME_SLOT] = created;
|
|
170
170
|
return created;
|
|
171
171
|
};
|
|
172
|
+
var enabledListeners = () => {
|
|
173
|
+
const runtime = coachmarkRuntime();
|
|
174
|
+
if (!runtime.listeners) runtime.listeners = /* @__PURE__ */ new Set();
|
|
175
|
+
return runtime.listeners;
|
|
176
|
+
};
|
|
177
|
+
var notifyCoachmarksEnabled = () => {
|
|
178
|
+
if (enabledListeners().size === 0) return;
|
|
179
|
+
void Promise.resolve().then(() => {
|
|
180
|
+
for (const listener of [...enabledListeners()]) {
|
|
181
|
+
try {
|
|
182
|
+
listener();
|
|
183
|
+
} catch {
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
});
|
|
187
|
+
};
|
|
172
188
|
var setCoachmarksEnabled = (value) => {
|
|
173
|
-
coachmarkRuntime()
|
|
189
|
+
const runtime = coachmarkRuntime();
|
|
190
|
+
if (runtime.coachmarksEnabled === value) return;
|
|
191
|
+
runtime.coachmarksEnabled = value;
|
|
192
|
+
notifyCoachmarksEnabled();
|
|
174
193
|
};
|
|
175
194
|
var areCoachmarksEnabled = () => coachmarkRuntime().coachmarksEnabled;
|
|
195
|
+
var subscribeCoachmarksEnabled = (listener) => {
|
|
196
|
+
const listeners2 = enabledListeners();
|
|
197
|
+
listeners2.add(listener);
|
|
198
|
+
return () => {
|
|
199
|
+
listeners2.delete(listener);
|
|
200
|
+
};
|
|
201
|
+
};
|
|
176
202
|
var setCoachmarkStorage = (storage) => {
|
|
177
203
|
coachmarkRuntime().storage = storage;
|
|
178
204
|
};
|
|
@@ -286,7 +312,12 @@ var defaultOnboardingTheme = {
|
|
|
286
312
|
var mergeTheme = (override) => {
|
|
287
313
|
return defaultOnboardingTheme;
|
|
288
314
|
};
|
|
289
|
-
var
|
|
315
|
+
var THEME_CONTEXT_SLOT = /* @__PURE__ */ Symbol.for("@wireai/activation:themeContext");
|
|
316
|
+
var themeGlobal = globalThis;
|
|
317
|
+
if (!themeGlobal[THEME_CONTEXT_SLOT]) {
|
|
318
|
+
themeGlobal[THEME_CONTEXT_SLOT] = createContext(null);
|
|
319
|
+
}
|
|
320
|
+
var OnboardingThemeContext = themeGlobal[THEME_CONTEXT_SLOT];
|
|
290
321
|
var useOnboardingTheme = () => {
|
|
291
322
|
const ctx = useContext(OnboardingThemeContext);
|
|
292
323
|
return ctx != null ? ctx : mergeTheme();
|
|
@@ -831,26 +862,39 @@ var useCoachmarkTour = (steps, {
|
|
|
831
862
|
const lastShownStepIdRef = useRef(null);
|
|
832
863
|
const callbacksRef = useRef({ onStepShown, onStepEngaged, onStepDismissed });
|
|
833
864
|
callbacksRef.current = { onStepShown, onStepEngaged, onStepDismissed };
|
|
834
|
-
const
|
|
835
|
-
|
|
836
|
-
|
|
837
|
-
|
|
838
|
-
|
|
839
|
-
|
|
840
|
-
|
|
841
|
-
|
|
865
|
+
const coachmarksOn = useSyncExternalStore(
|
|
866
|
+
subscribeCoachmarksEnabled,
|
|
867
|
+
areCoachmarksEnabled,
|
|
868
|
+
areCoachmarksEnabled
|
|
869
|
+
);
|
|
870
|
+
const exit = useCallback(
|
|
871
|
+
(writeGate) => {
|
|
872
|
+
if (finishedRef.current) return;
|
|
873
|
+
finishedRef.current = true;
|
|
874
|
+
if (writeGate && showOnce) markSeenGate(coachmarkGateKey(tourId));
|
|
875
|
+
coachmarkOverlay.hide();
|
|
876
|
+
setActiveIndex(null);
|
|
877
|
+
onComplete == null ? void 0 : onComplete();
|
|
878
|
+
},
|
|
879
|
+
[onComplete, showOnce, tourId]
|
|
880
|
+
);
|
|
881
|
+
const finish = useCallback(() => exit(true), [exit]);
|
|
842
882
|
useEffect(() => {
|
|
843
883
|
if (!enabled || startedRef.current) return void 0;
|
|
844
|
-
if (!
|
|
884
|
+
if (!coachmarksOn) return void 0;
|
|
845
885
|
if (showOnce && hasSeenGate(coachmarkGateKey(tourId))) return void 0;
|
|
846
886
|
const timer = setTimeout(() => {
|
|
847
887
|
startedRef.current = true;
|
|
848
888
|
setActiveIndex(0);
|
|
849
889
|
}, startDelayMs);
|
|
850
890
|
return () => clearTimeout(timer);
|
|
851
|
-
}, [enabled, startDelayMs, showOnce, tourId]);
|
|
891
|
+
}, [enabled, coachmarksOn, startDelayMs, showOnce, tourId]);
|
|
852
892
|
useEffect(() => {
|
|
853
893
|
if (activeIndex === null) return void 0;
|
|
894
|
+
if (!coachmarksOn) {
|
|
895
|
+
exit(false);
|
|
896
|
+
return void 0;
|
|
897
|
+
}
|
|
854
898
|
if (!enabled) {
|
|
855
899
|
if (startedRef.current && !finishedRef.current) coachmarkOverlay.hide();
|
|
856
900
|
return void 0;
|
|
@@ -900,7 +944,7 @@ var useCoachmarkTour = (steps, {
|
|
|
900
944
|
return () => {
|
|
901
945
|
cancelled = true;
|
|
902
946
|
};
|
|
903
|
-
}, [activeIndex, steps, finish, enabled]);
|
|
947
|
+
}, [activeIndex, steps, finish, exit, enabled, coachmarksOn]);
|
|
904
948
|
useEffect(
|
|
905
949
|
() => () => {
|
|
906
950
|
if (!finishedRef.current) coachmarkOverlay.hide();
|