@rocapine/react-native-onboarding 1.17.0 → 1.18.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/infra/fonts/registry.d.ts.map +1 -1
- package/dist/infra/fonts/registry.js +29 -6
- package/dist/infra/fonts/registry.js.map +1 -1
- package/dist/infra/provider/OnboardingProvider.d.ts +1 -0
- package/dist/infra/provider/OnboardingProvider.d.ts.map +1 -1
- package/dist/infra/provider/OnboardingProvider.js +6 -1
- package/dist/infra/provider/OnboardingProvider.js.map +1 -1
- package/dist/types.d.ts +7 -1
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/infra/fonts/registry.ts +38 -6
- package/src/infra/provider/OnboardingProvider.tsx +8 -2
- package/src/types.ts +9 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../src/infra/fonts/registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../src/infra/fonts/registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAGV,aAAa,EAEb,aAAa,EACd,MAAM,aAAa,CAAC;AAErB,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;AAUlE,eAAO,MAAM,eAAe,GAAI,KAAK,aAAa,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,KAAG,MAOlF,CAAC;AA8CF,eAAO,MAAM,aAAa,GAAU,UAAU,aAAa,GAAG,SAAS,KAAG,OAAO,CAAC,YAAY,CAgC7F,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAC5B,UAAU,YAAY,GAAG,IAAI,GAAG,SAAS,EACzC,QAAQ,MAAM,GAAG,IAAI,GAAG,SAAS,EACjC,QAAQ,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,KACzC,MAAM,GAAG,SA0BX,CAAC"}
|
|
@@ -34,6 +34,31 @@ const loadExpoFont = () => {
|
|
|
34
34
|
return null;
|
|
35
35
|
}
|
|
36
36
|
};
|
|
37
|
+
const normalizeFamilyVariants = (input) => {
|
|
38
|
+
if (!input)
|
|
39
|
+
return [];
|
|
40
|
+
if (Array.isArray(input)) {
|
|
41
|
+
const byWeight = new Map();
|
|
42
|
+
for (const entry of input) {
|
|
43
|
+
if (!entry || typeof entry.url !== "string" || !entry.url)
|
|
44
|
+
continue;
|
|
45
|
+
const weight = (0, exports.normalizeWeight)(entry.weight);
|
|
46
|
+
const existing = byWeight.get(weight);
|
|
47
|
+
const isNormalStyle = !entry.style || entry.style === "normal";
|
|
48
|
+
if (!existing || isNormalStyle) {
|
|
49
|
+
byWeight.set(weight, { weight, url: entry.url });
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
return Array.from(byWeight.values());
|
|
53
|
+
}
|
|
54
|
+
const out = [];
|
|
55
|
+
for (const [weightKey, url] of Object.entries(input)) {
|
|
56
|
+
if (typeof url !== "string" || !url)
|
|
57
|
+
continue;
|
|
58
|
+
out.push({ weight: (0, exports.normalizeWeight)(weightKey), url });
|
|
59
|
+
}
|
|
60
|
+
return out;
|
|
61
|
+
};
|
|
37
62
|
const registerFonts = async (manifest) => {
|
|
38
63
|
var _a;
|
|
39
64
|
const registry = {};
|
|
@@ -43,14 +68,12 @@ const registerFonts = async (manifest) => {
|
|
|
43
68
|
if (!Font)
|
|
44
69
|
return registry;
|
|
45
70
|
const loads = [];
|
|
46
|
-
for (const [family,
|
|
47
|
-
|
|
71
|
+
for (const [family, variantsInput] of Object.entries(manifest)) {
|
|
72
|
+
const variants = normalizeFamilyVariants(variantsInput);
|
|
73
|
+
if (variants.length === 0)
|
|
48
74
|
continue;
|
|
49
75
|
registry[family] = (_a = registry[family]) !== null && _a !== void 0 ? _a : {};
|
|
50
|
-
for (const
|
|
51
|
-
if (!url)
|
|
52
|
-
continue;
|
|
53
|
-
const weight = (0, exports.normalizeWeight)(weightKey);
|
|
76
|
+
for (const { weight, url } of variants) {
|
|
54
77
|
const registeredName = buildRegisteredName(family, weight);
|
|
55
78
|
registry[family][weight] = registeredName;
|
|
56
79
|
loads.push(Font.loadAsync({ [registeredName]: { uri: url } }).catch((error) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/infra/fonts/registry.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/infra/fonts/registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -44,6 +44,7 @@ export declare const OnboardingProgressContext: import("react").Context<{
|
|
|
44
44
|
setOnboarding: (onboarding: Onboarding<OnboardingStepType>) => void;
|
|
45
45
|
variables: Record<string, any>;
|
|
46
46
|
setVariable: (name: string, value: any) => void;
|
|
47
|
+
getVariables: () => Record<string, any>;
|
|
47
48
|
customActions: CustomActions;
|
|
48
49
|
}>;
|
|
49
50
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OnboardingProvider.d.ts","sourceRoot":"","sources":["../../../src/infra/provider/OnboardingProvider.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AAEtE,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAC;AAW7E,MAAM,MAAM,mBAAmB,GAAG,CAAC,IAAI,EAAE;IACvC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,uBAAuB,GAAG,SAAS,CAAC,CAAC;CAChE,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAE3B,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;AAEhE,UAAU,uBAAuB;IAC/B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,MAAM,EAAE,sBAAsB,CAAC;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,oBAAoB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC3C;;;;;OAKG;IACH,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B;;;;OAIG;IACH,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CACjC;AAiCD,eAAO,MAAM,kBAAkB,GAAI,mFAOhC,uBAAuB,
|
|
1
|
+
{"version":3,"file":"OnboardingProvider.d.ts","sourceRoot":"","sources":["../../../src/infra/provider/OnboardingProvider.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AAEtE,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAC;AAW7E,MAAM,MAAM,mBAAmB,GAAG,CAAC,IAAI,EAAE;IACvC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,uBAAuB,GAAG,SAAS,CAAC,CAAC;CAChE,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAE3B,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;AAEhE,UAAU,uBAAuB;IAC/B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,MAAM,EAAE,sBAAsB,CAAC;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,oBAAoB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC3C;;;;;OAKG;IACH,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B;;;;OAIG;IACH,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CACjC;AAiCD,eAAO,MAAM,kBAAkB,GAAI,mFAOhC,uBAAuB,4CA8CzB,CAAC;AAEF,eAAO,MAAM,yBAAyB;gBACxB;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,qBAAqB,EAAE,OAAO,CAAA;KAAE;mBAC/C,CAAC,IAAI,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,qBAAqB,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI;gBACrE,MAAM;mBACH,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI;YAC9B,sBAAsB;YACtB,MAAM;0BACQ,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;gBAC7B,UAAU,CAAC,kBAAkB,CAAC,GAAG,IAAI;mBAClC,CAAC,UAAU,EAAE,UAAU,CAAC,kBAAkB,CAAC,KAAK,IAAI;eACxD,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;iBACjB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,IAAI;kBACjC,MAAM,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;mBACxB,aAAa;EAe5B,CAAC"}
|
|
@@ -30,9 +30,12 @@ const OnboardingProvider = ({ children, client, locale = "en", customAudiencePar
|
|
|
30
30
|
const [totalSteps, setTotalSteps] = (0, react_1.useState)(0);
|
|
31
31
|
const [onboarding, setOnboarding] = (0, react_1.useState)(null);
|
|
32
32
|
const [variables, setVariables] = (0, react_1.useState)({});
|
|
33
|
+
const variablesRef = (0, react_1.useRef)(variables);
|
|
33
34
|
const setVariable = (0, react_1.useCallback)((name, value) => {
|
|
34
|
-
|
|
35
|
+
variablesRef.current = Object.assign(Object.assign({}, variablesRef.current), { [name]: value });
|
|
36
|
+
setVariables(variablesRef.current);
|
|
35
37
|
}, []);
|
|
38
|
+
const getVariables = (0, react_1.useCallback)(() => variablesRef.current, []);
|
|
36
39
|
return ((0, jsx_runtime_1.jsx)(react_query_1.QueryClientProvider, { client: queryClient, children: (0, jsx_runtime_1.jsx)(exports.OnboardingProgressContext.Provider, { value: {
|
|
37
40
|
activeStep,
|
|
38
41
|
setActiveStep,
|
|
@@ -45,6 +48,7 @@ const OnboardingProvider = ({ children, client, locale = "en", customAudiencePar
|
|
|
45
48
|
setOnboarding,
|
|
46
49
|
variables,
|
|
47
50
|
setVariable,
|
|
51
|
+
getVariables,
|
|
48
52
|
customActions,
|
|
49
53
|
}, children: (0, jsx_runtime_1.jsx)(OnboardingDataGate, { client: client, locale: locale, customAudienceParams: customAudienceParams, setOnboarding: setOnboarding, fontsFallback: fontsFallback, children: children }) }) }));
|
|
50
54
|
};
|
|
@@ -61,6 +65,7 @@ exports.OnboardingProgressContext = (0, react_1.createContext)({
|
|
|
61
65
|
setOnboarding: () => { },
|
|
62
66
|
variables: {},
|
|
63
67
|
setVariable: () => { },
|
|
68
|
+
getVariables: () => ({}),
|
|
64
69
|
customActions: {},
|
|
65
70
|
});
|
|
66
71
|
//# sourceMappingURL=OnboardingProvider.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OnboardingProvider.js","sourceRoot":"","sources":["../../../src/infra/provider/OnboardingProvider.tsx"],"names":[],"mappings":";;;;AAAA,
|
|
1
|
+
{"version":3,"file":"OnboardingProvider.js","sourceRoot":"","sources":["../../../src/infra/provider/OnboardingProvider.tsx"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -38,7 +38,13 @@ export interface OnboardingMetadata {
|
|
|
38
38
|
}
|
|
39
39
|
export type FontWeightKey = "regular" | "medium" | "semibold" | "bold" | "extrabold" | "100" | "200" | "300" | "400" | "500" | "600" | "700" | "800" | "900";
|
|
40
40
|
export type FontFamilyManifest = Partial<Record<FontWeightKey, string>>;
|
|
41
|
-
export
|
|
41
|
+
export interface FontVariantEntry {
|
|
42
|
+
weight: FontWeightKey | number;
|
|
43
|
+
style?: "normal" | "italic" | string;
|
|
44
|
+
url: string;
|
|
45
|
+
}
|
|
46
|
+
export type FontFamilyManifestInput = FontFamilyManifest | FontVariantEntry[];
|
|
47
|
+
export type FontsManifest = Record<string, FontFamilyManifestInput>;
|
|
42
48
|
export interface Onboarding<StepType extends BaseStepType = BaseStepType> {
|
|
43
49
|
metadata: OnboardingMetadata;
|
|
44
50
|
steps: StepType[];
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAErD;;;GAGG;AACH,MAAM,MAAM,YAAY,GAAG;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,OAAO,CAAC,EAAE,GAAG,CAAC;IACd,aAAa,CAAC,EAAE,GAAG,CAAC;IACpB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,6BAA6B,CACvC,QAAQ,SAAS,YAAY,GAAG,YAAY,IAC1C;IACF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kBAAkB,CAAC,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC;IAC1C,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;CACvB,CAAC;AAEF,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,MAAM,aAAa,GACrB,SAAS,GACT,QAAQ,GACR,UAAU,GACV,MAAM,GACN,WAAW,GACX,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,CAAC;AAEV,MAAM,MAAM,kBAAkB,GAAG,OAAO,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC;AAExE,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAErD;;;GAGG;AACH,MAAM,MAAM,YAAY,GAAG;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,OAAO,CAAC,EAAE,GAAG,CAAC;IACd,aAAa,CAAC,EAAE,GAAG,CAAC;IACpB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,6BAA6B,CACvC,QAAQ,SAAS,YAAY,GAAG,YAAY,IAC1C;IACF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kBAAkB,CAAC,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC;IAC1C,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;CACvB,CAAC;AAEF,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,MAAM,aAAa,GACrB,SAAS,GACT,QAAQ,GACR,UAAU,GACV,MAAM,GACN,WAAW,GACX,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,CAAC;AAEV,MAAM,MAAM,kBAAkB,GAAG,OAAO,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC;AAExE,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,aAAa,GAAG,MAAM,CAAC;IAC/B,KAAK,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,MAAM,CAAC;IACrC,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,MAAM,uBAAuB,GAAG,kBAAkB,GAAG,gBAAgB,EAAE,CAAC;AAE9E,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAC;AAEpE,MAAM,WAAW,UAAU,CAAC,QAAQ,SAAS,YAAY,GAAG,YAAY;IACtE,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,aAAa,EAAE,GAAG,CAAC;IACnB,KAAK,CAAC,EAAE,aAAa,CAAC;CACvB;AAED,MAAM,WAAW,uBAAuB;IACtC,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,sBAAsB,EAAE,MAAM,GAAG,IAAI,CAAC;CACvC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rocapine/react-native-onboarding",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.18.0",
|
|
4
4
|
"description": "Headless React Native SDK for Rocapine Onboarding Studio - Data fetching, state management, and hooks",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -1,4 +1,10 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type {
|
|
2
|
+
FontFamilyManifest,
|
|
3
|
+
FontFamilyManifestInput,
|
|
4
|
+
FontsManifest,
|
|
5
|
+
FontVariantEntry,
|
|
6
|
+
FontWeightKey,
|
|
7
|
+
} from "../../types";
|
|
2
8
|
|
|
3
9
|
export type FontRegistry = Record<string, Record<number, string>>;
|
|
4
10
|
|
|
@@ -36,6 +42,33 @@ const loadExpoFont = (): typeof import("expo-font") | null => {
|
|
|
36
42
|
}
|
|
37
43
|
};
|
|
38
44
|
|
|
45
|
+
type NormalizedVariant = { weight: number; url: string };
|
|
46
|
+
|
|
47
|
+
const normalizeFamilyVariants = (input: FontFamilyManifestInput | undefined): NormalizedVariant[] => {
|
|
48
|
+
if (!input) return [];
|
|
49
|
+
|
|
50
|
+
if (Array.isArray(input)) {
|
|
51
|
+
const byWeight = new Map<number, NormalizedVariant>();
|
|
52
|
+
for (const entry of input as FontVariantEntry[]) {
|
|
53
|
+
if (!entry || typeof entry.url !== "string" || !entry.url) continue;
|
|
54
|
+
const weight = normalizeWeight(entry.weight as FontWeightKey | number);
|
|
55
|
+
const existing = byWeight.get(weight);
|
|
56
|
+
const isNormalStyle = !entry.style || entry.style === "normal";
|
|
57
|
+
if (!existing || isNormalStyle) {
|
|
58
|
+
byWeight.set(weight, { weight, url: entry.url });
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
return Array.from(byWeight.values());
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
const out: NormalizedVariant[] = [];
|
|
65
|
+
for (const [weightKey, url] of Object.entries(input as FontFamilyManifest)) {
|
|
66
|
+
if (typeof url !== "string" || !url) continue;
|
|
67
|
+
out.push({ weight: normalizeWeight(weightKey as FontWeightKey), url });
|
|
68
|
+
}
|
|
69
|
+
return out;
|
|
70
|
+
};
|
|
71
|
+
|
|
39
72
|
export const registerFonts = async (manifest: FontsManifest | undefined): Promise<FontRegistry> => {
|
|
40
73
|
const registry: FontRegistry = {};
|
|
41
74
|
if (!manifest || Object.keys(manifest).length === 0) return registry;
|
|
@@ -45,13 +78,12 @@ export const registerFonts = async (manifest: FontsManifest | undefined): Promis
|
|
|
45
78
|
|
|
46
79
|
const loads: Array<Promise<void>> = [];
|
|
47
80
|
|
|
48
|
-
for (const [family,
|
|
49
|
-
|
|
81
|
+
for (const [family, variantsInput] of Object.entries(manifest)) {
|
|
82
|
+
const variants = normalizeFamilyVariants(variantsInput);
|
|
83
|
+
if (variants.length === 0) continue;
|
|
50
84
|
registry[family] = registry[family] ?? {};
|
|
51
85
|
|
|
52
|
-
for (const
|
|
53
|
-
if (!url) continue;
|
|
54
|
-
const weight = normalizeWeight(weightKey as FontWeightKey);
|
|
86
|
+
for (const { weight, url } of variants) {
|
|
55
87
|
const registeredName = buildRegisteredName(family, weight);
|
|
56
88
|
registry[family][weight] = registeredName;
|
|
57
89
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { createContext, useCallback, useState } from "react";
|
|
1
|
+
import { createContext, useCallback, useRef, useState } from "react";
|
|
2
2
|
import { QueryClient, QueryClientProvider, useQuery } from "@tanstack/react-query";
|
|
3
3
|
import { OnboardingStudioClient } from "../../OnboardingStudioClient";
|
|
4
4
|
import { getOnboardingQuery } from "../queries/getOnboarding.query";
|
|
@@ -87,9 +87,12 @@ export const OnboardingProvider = ({
|
|
|
87
87
|
const [totalSteps, setTotalSteps] = useState(0);
|
|
88
88
|
const [onboarding, setOnboarding] = useState<Onboarding<OnboardingStepType> | null>(null);
|
|
89
89
|
const [variables, setVariables] = useState<Record<string, any>>({});
|
|
90
|
+
const variablesRef = useRef<Record<string, any>>(variables);
|
|
90
91
|
const setVariable = useCallback((name: string, value: any) => {
|
|
91
|
-
|
|
92
|
+
variablesRef.current = { ...variablesRef.current, [name]: value };
|
|
93
|
+
setVariables(variablesRef.current);
|
|
92
94
|
}, []);
|
|
95
|
+
const getVariables = useCallback(() => variablesRef.current, []);
|
|
93
96
|
|
|
94
97
|
return (
|
|
95
98
|
<QueryClientProvider client={queryClient}>
|
|
@@ -106,6 +109,7 @@ export const OnboardingProvider = ({
|
|
|
106
109
|
setOnboarding,
|
|
107
110
|
variables,
|
|
108
111
|
setVariable,
|
|
112
|
+
getVariables,
|
|
109
113
|
customActions,
|
|
110
114
|
}}
|
|
111
115
|
>
|
|
@@ -135,6 +139,7 @@ export const OnboardingProgressContext = createContext<{
|
|
|
135
139
|
setOnboarding: (onboarding: Onboarding<OnboardingStepType>) => void;
|
|
136
140
|
variables: Record<string, any>;
|
|
137
141
|
setVariable: (name: string, value: any) => void;
|
|
142
|
+
getVariables: () => Record<string, any>;
|
|
138
143
|
customActions: CustomActions;
|
|
139
144
|
}>({
|
|
140
145
|
activeStep: { number: 0, displayProgressHeader: false },
|
|
@@ -148,5 +153,6 @@ export const OnboardingProgressContext = createContext<{
|
|
|
148
153
|
setOnboarding: () => { },
|
|
149
154
|
variables: {},
|
|
150
155
|
setVariable: () => { },
|
|
156
|
+
getVariables: () => ({}),
|
|
151
157
|
customActions: {},
|
|
152
158
|
});
|
package/src/types.ts
CHANGED
|
@@ -62,7 +62,15 @@ export type FontWeightKey =
|
|
|
62
62
|
|
|
63
63
|
export type FontFamilyManifest = Partial<Record<FontWeightKey, string>>;
|
|
64
64
|
|
|
65
|
-
export
|
|
65
|
+
export interface FontVariantEntry {
|
|
66
|
+
weight: FontWeightKey | number;
|
|
67
|
+
style?: "normal" | "italic" | string;
|
|
68
|
+
url: string;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
export type FontFamilyManifestInput = FontFamilyManifest | FontVariantEntry[];
|
|
72
|
+
|
|
73
|
+
export type FontsManifest = Record<string, FontFamilyManifestInput>;
|
|
66
74
|
|
|
67
75
|
export interface Onboarding<StepType extends BaseStepType = BaseStepType> {
|
|
68
76
|
metadata: OnboardingMetadata;
|