react-native-divkit 1.0.0 → 1.2.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/DivKit.d.ts CHANGED
@@ -20,6 +20,7 @@
20
20
  import React from 'react';
21
21
  import { type ViewStyle } from 'react-native';
22
22
  import type { Action, DivJson, Direction } from '../typings/common';
23
+ import { type TypefaceProvider } from './context/DivKitContext';
23
24
  import { GlobalVariablesController } from './expressions/globalVariablesController';
24
25
  import { type WrappedError } from './utils/wrapError';
25
26
  /**
@@ -61,11 +62,28 @@ export interface DivKitProps {
61
62
  id?: string;
62
63
  /** Global variables controller for sharing variables across DivKit instances */
63
64
  globalVariablesController?: GlobalVariablesController;
65
+ /**
66
+ * Custom font provider for mapping font_family names to platform-specific fonts.
67
+ * Called even when font_family is omitted (in that case receives an empty string).
68
+ * Default: returns empty string (uses system default font)
69
+ *
70
+ * @example
71
+ * ```tsx
72
+ * <DivKit
73
+ * typefaceProvider={(fontFamily, opts) => {
74
+ * if (!fontFamily) return 'MyDefaultText-Regular';
75
+ * if (fontFamily === 'display') return 'MyCustomDisplay-Bold';
76
+ * return '';
77
+ * }}
78
+ * />
79
+ * ```
80
+ */
81
+ typefaceProvider?: TypefaceProvider;
64
82
  }
65
83
  /**
66
84
  * DivKit - Main component
67
85
  *
68
86
  * Renders DivKit JSON as React Native components
69
87
  */
70
- export declare function DivKit({ data, onStat, onCustomAction, onError, direction, platform, style, id, globalVariablesController }: DivKitProps): React.JSX.Element;
88
+ export declare function DivKit({ data, onStat, onCustomAction, onError, direction, platform, style, id, globalVariablesController, typefaceProvider }: DivKitProps): React.JSX.Element;
71
89
  //# sourceMappingURL=DivKit.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DivKit.d.ts","sourceRoot":"","sources":["../src/DivKit.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAkD,MAAM,OAAO,CAAC;AACvE,OAAO,EAAoB,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAChE,OAAO,KAAK,EAAE,MAAM,EAAE,OAAO,EAAe,SAAS,EAAE,MAAM,mBAAmB,CAAC;AASjF,OAAO,EAAE,yBAAyB,EAAE,MAAM,yCAAyC,CAAC;AAEpF,OAAO,EAAa,KAAK,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAQjE;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,IAAI,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,KAAK,IAAI,CAAC;AAE5E;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG;IAAE,GAAG,EAAE,MAAM,CAAA;CAAE,KAAK,IAAI,CAAC;AAE9E;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,CAAC;AAE1D;;GAEG;AACH,MAAM,WAAW,WAAW;IACxB,uBAAuB;IACvB,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IAEvB,sCAAsC;IACtC,MAAM,CAAC,EAAE,YAAY,CAAC;IAEtB,kCAAkC;IAClC,cAAc,CAAC,EAAE,oBAAoB,CAAC;IAEtC,0BAA0B;IAC1B,OAAO,CAAC,EAAE,aAAa,CAAC;IAExB,sCAAsC;IACtC,SAAS,CAAC,EAAE,SAAS,CAAC;IAEtB,kDAAkD;IAClD,QAAQ,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC;IAE/B,0CAA0C;IAC1C,KAAK,CAAC,EAAE,SAAS,CAAC;IAElB,mCAAmC;IACnC,EAAE,CAAC,EAAE,MAAM,CAAC;IAEZ,gFAAgF;IAChF,yBAAyB,CAAC,EAAE,yBAAyB,CAAC;CACzD;AAED;;;;GAIG;AACH,wBAAgB,MAAM,CAAC,EACnB,IAAI,EACJ,MAAM,EACN,cAAc,EACd,OAAO,EACP,SAAiB,EACjB,QAAkB,EAClB,KAAK,EACL,EAAW,EACX,yBAAyB,EAC5B,EAAE,WAAW,qBAmgBb"}
1
+ {"version":3,"file":"DivKit.d.ts","sourceRoot":"","sources":["../src/DivKit.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAkD,MAAM,OAAO,CAAC;AACvE,OAAO,EAAoB,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAChE,OAAO,KAAK,EAAE,MAAM,EAAE,OAAO,EAAe,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAIjF,OAAO,EAA0C,KAAK,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAKxG,OAAO,EAAE,yBAAyB,EAAE,MAAM,yCAAyC,CAAC;AAEpF,OAAO,EAAa,KAAK,YAAY,EAAE,MAAM,mBAAmB,CAAC;AASjE;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,IAAI,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,KAAK,IAAI,CAAC;AAE5E;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG;IAAE,GAAG,EAAE,MAAM,CAAA;CAAE,KAAK,IAAI,CAAC;AAE9E;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,CAAC;AAE1D;;GAEG;AACH,MAAM,WAAW,WAAW;IACxB,uBAAuB;IACvB,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IAEvB,sCAAsC;IACtC,MAAM,CAAC,EAAE,YAAY,CAAC;IAEtB,kCAAkC;IAClC,cAAc,CAAC,EAAE,oBAAoB,CAAC;IAEtC,0BAA0B;IAC1B,OAAO,CAAC,EAAE,aAAa,CAAC;IAExB,sCAAsC;IACtC,SAAS,CAAC,EAAE,SAAS,CAAC;IAEtB,kDAAkD;IAClD,QAAQ,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC;IAE/B,0CAA0C;IAC1C,KAAK,CAAC,EAAE,SAAS,CAAC;IAElB,mCAAmC;IACnC,EAAE,CAAC,EAAE,MAAM,CAAC;IAEZ,gFAAgF;IAChF,yBAAyB,CAAC,EAAE,yBAAyB,CAAC;IAEtD;;;;;;;;;;;;;;;OAeG;IACH,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;CACvC;AAED;;;;GAIG;AACH,wBAAgB,MAAM,CAAC,EACnB,IAAI,EACJ,MAAM,EACN,cAAc,EACd,OAAO,EACP,SAAiB,EACjB,QAAkB,EAClB,KAAK,EACL,EAAW,EACX,yBAAyB,EACzB,gBAAoC,EACvC,EAAE,WAAW,qBAggBb"}
package/dist/DivKit.js CHANGED
@@ -31,6 +31,7 @@ import { arrayInsert, arrayRemove, arraySet } from './actions/array';
31
31
  import { dictSetValue } from './actions/dict';
32
32
  import { copyToClipboard } from './actions/copyToClipboard';
33
33
  import { updateStructure } from './actions/updateStructure';
34
+ import { applySetStateAction } from './actions/setState';
34
35
  import { evalExpression } from './expressions/eval';
35
36
  import { parse } from './expressions/expressions';
36
37
  /**
@@ -38,7 +39,7 @@ import { parse } from './expressions/expressions';
38
39
  *
39
40
  * Renders DivKit JSON as React Native components
40
41
  */
41
- export function DivKit({ data, onStat, onCustomAction, onError, direction = 'ltr', platform = 'touch', style, id = 'root', globalVariablesController }) {
42
+ export function DivKit({ data, onStat, onCustomAction, onError, direction = 'ltr', platform = 'touch', style, id = 'root', globalVariablesController, typefaceProvider = _fontFamily => '' }) {
42
43
  const componentIdCounter = useRef(0);
43
44
  const componentsMap = useRef(new Map());
44
45
  const statesMap = useRef(new Map());
@@ -220,13 +221,7 @@ export function DivKit({ data, onStat, onCustomAction, onError, direction = 'ltr
220
221
  }
221
222
  break;
222
223
  case 'set_state': {
223
- const setStateAction = typed;
224
- if (setStateAction.state_id && setStateAction.temporary_state_id) {
225
- const setter = statesMap.current.get(setStateAction.state_id);
226
- if (setter) {
227
- await setter(String(setStateAction.temporary_state_id));
228
- }
229
- }
224
+ await applySetStateAction(typed, statesMap.current);
230
225
  break;
231
226
  }
232
227
  case 'array_insert_value':
@@ -324,6 +319,7 @@ export function DivKit({ data, onStat, onCustomAction, onError, direction = 'ltr
324
319
  },
325
320
  direction,
326
321
  platform,
322
+ typefaceProvider,
327
323
  variables,
328
324
  getVariable,
329
325
  setVariable,
@@ -336,6 +332,7 @@ export function DivKit({ data, onStat, onCustomAction, onError, direction = 'ltr
336
332
  onCustomAction,
337
333
  direction,
338
334
  platform,
335
+ typefaceProvider,
339
336
  variables,
340
337
  getVariable,
341
338
  setVariable,
@@ -1 +1 @@
1
- {"version":3,"file":"DivKit.js","sourceRoot":"","sources":["../src/DivKit.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DivKit.js","sourceRoot":"","sources":["../src/DivKit.tsx"],"names":[],"mappings":"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"}
@@ -8,4 +8,5 @@ export { arrayInsert, arrayRemove, arraySet } from './array';
8
8
  export { dictSetValue } from './dict';
9
9
  export { copyToClipboard, initClipboard } from './copyToClipboard';
10
10
  export { updateStructure } from './updateStructure';
11
+ export { applySetStateAction } from './setState';
11
12
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/actions/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/actions/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC"}
@@ -8,4 +8,5 @@ export { arrayInsert, arrayRemove, arraySet } from './array';
8
8
  export { dictSetValue } from './dict';
9
9
  export { copyToClipboard, initClipboard } from './copyToClipboard';
10
10
  export { updateStructure } from './updateStructure';
11
+ export { applySetStateAction } from './setState';
11
12
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/actions/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/actions/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC"}
@@ -0,0 +1,7 @@
1
+ import type { ActionSetState } from '../../typings/common';
2
+ import type { StateSetter } from '../context/StateContext';
3
+ export interface ActionSetStateCompat extends ActionSetState {
4
+ temporary_state_id?: unknown;
5
+ }
6
+ export declare function applySetStateAction(actionTyped: ActionSetStateCompat, statesMap: Map<string, StateSetter>): Promise<void>;
7
+ //# sourceMappingURL=setState.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setState.d.ts","sourceRoot":"","sources":["../../src/actions/setState.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAE3D,MAAM,WAAW,oBAAqB,SAAQ,cAAc;IACxD,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAChC;AAED,wBAAsB,mBAAmB,CACrC,WAAW,EAAE,oBAAoB,EACjC,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,GACpC,OAAO,CAAC,IAAI,CAAC,CA0Cf"}
@@ -0,0 +1,35 @@
1
+ export async function applySetStateAction(actionTyped, statesMap) {
2
+ const statePath = typeof actionTyped.state_id === 'string' ? actionTyped.state_id : undefined;
3
+ if (!statePath) {
4
+ throw new Error('Missing state id');
5
+ }
6
+ const temporaryStateId = actionTyped.temporary_state_id;
7
+ // MVP-compatible format used in current RN tests/examples:
8
+ // { state_id: 'component_id', temporary_state_id: 'target_state_id' }
9
+ if (temporaryStateId !== undefined && temporaryStateId !== null) {
10
+ const setter = statesMap.get(statePath);
11
+ if (setter) {
12
+ await setter(String(temporaryStateId));
13
+ }
14
+ return;
15
+ }
16
+ // Web-compatible path format:
17
+ // state_id: "rootState/divId/selectedState[/divId/selectedState...]"
18
+ const parts = statePath.split('/').filter(Boolean);
19
+ if (parts.length < 2) {
20
+ return;
21
+ }
22
+ // If path length is odd, first segment is root card state id (unsupported in RN MVP)
23
+ // and should be skipped for local state resolution.
24
+ const startIndex = parts.length % 2 === 1 ? 1 : 0;
25
+ for (let index = startIndex; index + 1 < parts.length; index += 2) {
26
+ const componentId = parts[index];
27
+ const nextStateId = parts[index + 1];
28
+ const setter = statesMap.get(componentId);
29
+ if (!setter) {
30
+ return;
31
+ }
32
+ await setter(nextStateId);
33
+ }
34
+ }
35
+ //# sourceMappingURL=setState.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setState.js","sourceRoot":"","sources":["../../src/actions/setState.ts"],"names":[],"mappings":"AAOA,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACrC,WAAiC,EACjC,SAAmC;IAEnC,MAAM,SAAS,GAAG,OAAO,WAAW,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;IAE9F,IAAI,CAAC,SAAS,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;IACxC,CAAC;IAED,MAAM,gBAAgB,GAAG,WAAW,CAAC,kBAAkB,CAAC;IAExD,2DAA2D;IAC3D,sEAAsE;IACtE,IAAI,gBAAgB,KAAK,SAAS,IAAI,gBAAgB,KAAK,IAAI,EAAE,CAAC;QAC9D,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACxC,IAAI,MAAM,EAAE,CAAC;YACT,MAAM,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC;QAC3C,CAAC;QACD,OAAO;IACX,CAAC;IAED,8BAA8B;IAC9B,qEAAqE;IACrE,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAEnD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACnB,OAAO;IACX,CAAC;IAED,qFAAqF;IACrF,oDAAoD;IACpD,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAElD,KAAK,IAAI,KAAK,GAAG,UAAU,EAAE,KAAK,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QAChE,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;QACjC,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QAErC,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAC1C,IAAI,CAAC,MAAM,EAAE,CAAC;YACV,OAAO;QACX,CAAC;QAED,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC;IAC9B,CAAC;AACL,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"DivText.d.ts","sourceRoot":"","sources":["../../../src/components/text/DivText.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkB,MAAM,OAAO,CAAC;AAEvC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,KAAK,EAAE,WAAW,EAAsC,MAAM,kBAAkB,CAAC;AAKxF,MAAM,WAAW,YAAY;IACzB,gBAAgB,EAAE,gBAAgB,CAAC,WAAW,CAAC,CAAC;CACnD;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,OAAO,CAAC,EAAE,gBAAgB,EAAE,EAAE,YAAY,qBA2JzD"}
1
+ {"version":3,"file":"DivText.d.ts","sourceRoot":"","sources":["../../../src/components/text/DivText.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkB,MAAM,OAAO,CAAC;AAEvC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,KAAK,EAAE,WAAW,EAAsC,MAAM,kBAAkB,CAAC;AAKxF,MAAM,WAAW,YAAY;IACzB,gBAAgB,EAAE,gBAAgB,CAAC,WAAW,CAAC,CAAC;CACnD;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,OAAO,CAAC,EAAE,gBAAgB,EAAE,EAAE,YAAY,qBAgKzD"}
@@ -24,7 +24,7 @@ import { useDivKitContext } from '../../context/DivKitContext';
24
24
  * Based on Web Text.svelte
25
25
  */
26
26
  export function DivText({ componentContext }) {
27
- const { direction } = useDivKitContext();
27
+ const { direction, typefaceProvider } = useDivKitContext();
28
28
  const { json, variables } = componentContext;
29
29
  // Reactive properties - use hooks for properties that may contain variables
30
30
  const text = useDerivedFromVarsSimple(json.text || '', variables || new Map());
@@ -70,9 +70,13 @@ export function DivText({ componentContext }) {
70
70
  const weight = Math.max(100, Math.min(900, json.font_weight_value));
71
71
  style.fontWeight = String(weight);
72
72
  }
73
- // Font family
74
- if (json.font_family) {
75
- style.fontFamily = json.font_family;
73
+ // Font family - use typefaceProvider to map font name (like Web TextRange.svelte)
74
+ // If font_family is missing, provider receives empty string and can return global fallback.
75
+ const sourceFontFamily = typeof json.font_family === 'string' ? json.font_family : '';
76
+ const fontWeight = style.fontWeight ? Number(style.fontWeight) : 400;
77
+ const mappedFamily = typefaceProvider(sourceFontFamily, { fontWeight });
78
+ if (mappedFamily) {
79
+ style.fontFamily = mappedFamily;
76
80
  }
77
81
  // Line height
78
82
  if (json.line_height && fontSize) {
@@ -125,6 +129,7 @@ export function DivText({ componentContext }) {
125
129
  json.font_weight,
126
130
  json.font_weight_value,
127
131
  json.font_family,
132
+ typefaceProvider,
128
133
  json.line_height,
129
134
  json.letter_spacing,
130
135
  json.underline,
@@ -1 +1 @@
1
- {"version":3,"file":"DivText.js","sourceRoot":"","sources":["../../../src/components/text/DivText.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,IAAI,EAAa,MAAM,cAAc,CAAC;AAG3D,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AAC1E,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAM/D;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,UAAU,OAAO,CAAC,EAAE,gBAAgB,EAAgB;IACtD,MAAM,EAAE,SAAS,EAAE,GAAG,gBAAgB,EAAE,CAAC;IACzC,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,gBAAgB,CAAC;IAE7C,4EAA4E;IAC5E,MAAM,IAAI,GAAG,wBAAwB,CAAS,IAAI,CAAC,IAAI,IAAI,EAAE,EAAE,SAAS,IAAI,IAAI,GAAG,EAAE,CAAC,CAAC;IAEvF,MAAM,QAAQ,GAAG,wBAAwB,CAAS,IAAI,CAAC,SAAS,IAAI,EAAE,EAAE,SAAS,IAAI,IAAI,GAAG,EAAE,CAAC,CAAC;IAEhG,MAAM,SAAS,GAAG,wBAAwB,CAAS,IAAI,CAAC,UAAU,IAAI,SAAS,EAAE,SAAS,IAAI,IAAI,GAAG,EAAE,CAAC,CAAC;IAEzG,MAAM,uBAAuB,GAAG,wBAAwB,CACpD,IAAI,CAAC,yBAAyB,IAAI,OAAO,EACzC,SAAS,IAAI,IAAI,GAAG,EAAE,CACzB,CAAC;IAEF,MAAM,YAAY,GAAG,wBAAwB,CAAe,IAAI,CAAC,cAAc,IAAI,IAAI,EAAE,SAAS,IAAI,IAAI,GAAG,EAAE,CAAC,CAAC;IAEjH,MAAM,QAAQ,GAAG,wBAAwB,CAAqB,IAAI,CAAC,SAAS,EAAE,SAAS,IAAI,IAAI,GAAG,EAAE,CAAC,CAAC;IAEtG,6CAA6C;IAC7C,6DAA6D;IAC7D,oDAAoD;IACpD,sDAAsD;IACtD,MAAM,WAAW,GAAG,CAAC,KAAa,EAAU,EAAE;QAC1C,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;YACxB,OAAO,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC;QACpC,CAAC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC,CAAC;IAEF,MAAM,gBAAgB,GAAG,YAAY,KAAK,IAAI,CAAC;IAE/C,mBAAmB;IACnB,MAAM,SAAS,GAAG,OAAO,CAAC,GAAc,EAAE;QACtC,MAAM,KAAK,GAAc,EAAE,CAAC;QAE5B,YAAY;QACZ,IAAI,QAAQ,EAAE,CAAC;YACX,KAAK,CAAC,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;QAC3C,CAAC;QAED,aAAa;QACb,IAAI,SAAS,EAAE,CAAC;YACZ,KAAK,CAAC,KAAK,GAAG,SAAS,CAAC;QAC5B,CAAC;QAED,cAAc;QACd,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,MAAM,SAAS,GAAgD;gBAC3D,KAAK,EAAE,KAAK;gBACZ,OAAO,EAAE,KAAK;gBACd,MAAM,EAAE,KAAK;gBACb,IAAI,EAAE,KAAK;aACd,CAAC;YACF,KAAK,CAAC,UAAU,GAAG,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,KAAK,CAAC;QAC5D,CAAC;aAAM,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAChC,gCAAgC;YAChC,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC;YACpE,KAAK,CAAC,UAAU,GAAG,MAAM,CAAC,MAAM,CAA4B,CAAC;QACjE,CAAC;QAED,cAAc;QACd,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC;QACxC,CAAC;QAED,cAAc;QACd,IAAI,IAAI,CAAC,WAAW,IAAI,QAAQ,EAAE,CAAC;YAC/B,KAAK,CAAC,UAAU,GAAG,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACrD,CAAC;QAED,iBAAiB;QACjB,IAAI,IAAI,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;YACpC,KAAK,CAAC,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC;QAC9C,CAAC;QAED,iBAAiB;QACjB,MAAM,UAAU,GAAG,uBAAuB,CAAC;QAC3C,IAAI,UAAU,KAAK,OAAO,EAAE,CAAC;YACzB,KAAK,CAAC,SAAS,GAAG,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;QAC7D,CAAC;aAAM,IAAI,UAAU,KAAK,KAAK,EAAE,CAAC;YAC9B,KAAK,CAAC,SAAS,GAAG,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;QAC7D,CAAC;aAAM,IAAI,UAAU,KAAK,QAAQ,EAAE,CAAC;YACjC,KAAK,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC/B,CAAC;aAAM,IAAI,UAAU,KAAK,MAAM,IAAI,UAAU,KAAK,OAAO,EAAE,CAAC;YACzD,KAAK,CAAC,SAAS,GAAG,UAAU,CAAC;QACjC,CAAC;QAED,8BAA8B;QAC9B,IAAI,IAAI,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;YAC9B,KAAK,CAAC,kBAAkB,GAAG,WAAW,CAAC;QAC3C,CAAC;QAED,2CAA2C;QAC3C,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC3B,IAAI,KAAK,CAAC,kBAAkB,KAAK,WAAW,EAAE,CAAC;gBAC3C,KAAK,CAAC,kBAAkB,GAAG,wBAAwB,CAAC;YACxD,CAAC;iBAAM,CAAC;gBACJ,KAAK,CAAC,kBAAkB,GAAG,cAAc,CAAC;YAC9C,CAAC;QACL,CAAC;QAED,8CAA8C;QAC9C,IAAI,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAC7B,sDAAsD;YACtD,oDAAoD;YACpD,qBAAqB;YACrB,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAQ,CAAC;QACxF,CAAC;QAED,OAAO,KAAK,CAAC;IACjB,CAAC,EAAE;QACC,QAAQ;QACR,YAAY;QACZ,SAAS;QACT,uBAAuB;QACvB,IAAI,CAAC,WAAW;QAChB,IAAI,CAAC,iBAAiB;QACtB,IAAI,CAAC,WAAW;QAChB,IAAI,CAAC,WAAW;QAChB,IAAI,CAAC,cAAc;QACnB,IAAI,CAAC,SAAS;QACd,IAAI,CAAC,MAAM;QACX,IAAI,CAAC,qBAAqB;QAC1B,SAAS;KACZ,CAAC,CAAC;IAEH,+BAA+B;IAC/B,MAAM,aAAa,GAAG,QAAQ,IAAI,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;IAEtE,iBAAiB;IACjB,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,EAAE;QAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAgC,CAAC;QACvD,IAAI,QAAQ,KAAK,KAAK,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;YACpD,OAAO,MAAM,CAAC;QAClB,CAAC;QACD,OAAO,SAAS,CAAC;IACrB,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC;IAEnC,uEAAuE;IACvE,+EAA+E;IAE/E,OAAO,CACH,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,gBAAgB,CAAC,CACtC;YAAA,CAAC,IAAI,CACD,KAAK,CAAC,CAAC,SAAS,CAAC,CACjB,aAAa,CAAC,CAAC,aAAa,CAAC,CAC7B,aAAa,CAAC,CAAC,aAAa,CAAC,CAC7B,gBAAgB,CAAC,CAAC,gBAAgB,CAAC,CAEnC;gBAAA,CAAC,IAAI,CACT;YAAA,EAAE,IAAI,CACV;QAAA,EAAE,KAAK,CAAC,CACX,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"DivText.js","sourceRoot":"","sources":["../../../src/components/text/DivText.tsx"],"names":[],"mappings":"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"}
@@ -2,6 +2,35 @@ import type { Action, Direction } from '../../typings/common';
2
2
  import type { MaybeMissing } from '../expressions/json';
3
3
  import type { Variable } from '../expressions/variable';
4
4
  import type { ComponentContext } from '../types/componentContext';
5
+ /**
6
+ * Custom font provider function
7
+ * Maps font_family name from DivKit JSON to a platform-specific font name
8
+ * and can provide a global fallback when font_family is absent.
9
+ *
10
+ * Based on TypefaceProvider from Web implementation (typings/common.d.ts)
11
+ *
12
+ * @param fontFamily - font family name from DivKit JSON (empty string when absent)
13
+ * @param opts - optional parameters (e.g. fontWeight for weight-specific font selection)
14
+ * @returns platform-specific font name string for React Native's fontFamily style
15
+ *
16
+ * @example
17
+ * ```tsx
18
+ * <DivKit
19
+ * typefaceProvider={(fontFamily, opts) => {
20
+ * if (fontFamily === 'display') return 'MyCustomDisplay-Bold';
21
+ * if (fontFamily === 'text') {
22
+ * return opts?.fontWeight && opts.fontWeight >= 700
23
+ * ? 'MyCustomText-Bold'
24
+ * : 'MyCustomText-Regular';
25
+ * }
26
+ * return '';
27
+ * }}
28
+ * />
29
+ * ```
30
+ */
31
+ export type TypefaceProvider = (fontFamily: string, opts?: {
32
+ fontWeight?: number;
33
+ }) => string;
5
34
  /**
6
35
  * Main DivKit context interface
7
36
  * Based on RootCtxValue from Web implementation with simplifications for MVP
@@ -13,6 +42,7 @@ export interface DivKitContextValue {
13
42
  }): void;
14
43
  direction: Direction;
15
44
  platform: 'desktop' | 'touch';
45
+ typefaceProvider: TypefaceProvider;
16
46
  variables: Map<string, Variable>;
17
47
  getVariable(name: string): Variable | undefined;
18
48
  setVariable(name: string, value: unknown): void;
@@ -1 +1 @@
1
- {"version":3,"file":"DivKitContext.d.ts","sourceRoot":"","sources":["../../src/context/DivKitContext.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAElE;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IAE/B,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;IAC1D,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAGzD,SAAS,EAAE,SAAS,CAAC;IACrB,QAAQ,EAAE,SAAS,GAAG,OAAO,CAAC;IAG9B,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACjC,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,CAAC;IAChD,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,CAAC;IAGhD,iBAAiB,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAC/D,mBAAmB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAGtC,cAAc,CACV,OAAO,EAAE,YAAY,CAAC,MAAM,EAAE,CAAC,GAAG,SAAS,EAC3C,IAAI,CAAC,EAAE;QACH,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;QACpC,WAAW,CAAC,EAAE,OAAO,CAAC;KACzB,GACF,OAAO,CAAC,IAAI,CAAC,CAAC;IAGjB,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;CAC9B;AAED,eAAO,MAAM,aAAa,oDAAiD,CAAC;AAE5E;;;GAGG;AACH,wBAAgB,gBAAgB,IAAI,kBAAkB,CAMrD"}
1
+ {"version":3,"file":"DivKitContext.d.ts","sourceRoot":"","sources":["../../src/context/DivKitContext.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAElE;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;IACvD,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB,KAAK,MAAM,CAAC;AAEb;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IAE/B,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;IAC1D,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAGzD,SAAS,EAAE,SAAS,CAAC;IACrB,QAAQ,EAAE,SAAS,GAAG,OAAO,CAAC;IAG9B,gBAAgB,EAAE,gBAAgB,CAAC;IAGnC,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACjC,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,CAAC;IAChD,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,CAAC;IAGhD,iBAAiB,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAC/D,mBAAmB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAGtC,cAAc,CACV,OAAO,EAAE,YAAY,CAAC,MAAM,EAAE,CAAC,GAAG,SAAS,EAC3C,IAAI,CAAC,EAAE;QACH,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;QACpC,WAAW,CAAC,EAAE,OAAO,CAAC;KACzB,GACF,OAAO,CAAC,IAAI,CAAC,CAAC;IAGjB,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;CAC9B;AAED,eAAO,MAAM,aAAa,oDAAiD,CAAC;AAE5E;;;GAGG;AACH,wBAAgB,gBAAgB,IAAI,kBAAkB,CAMrD"}
@@ -1 +1 @@
1
- {"version":3,"file":"DivKitContext.js","sourceRoot":"","sources":["../../src/context/DivKitContext.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAyClD,MAAM,CAAC,MAAM,aAAa,GAAG,aAAa,CAA4B,IAAI,CAAC,CAAC;AAE5E;;;GAGG;AACH,MAAM,UAAU,gBAAgB;IAC5B,MAAM,OAAO,GAAG,UAAU,CAAC,aAAa,CAAC,CAAC;IAC1C,IAAI,CAAC,OAAO,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;IACnF,CAAC;IACD,OAAO,OAAO,CAAC;AACnB,CAAC"}
1
+ {"version":3,"file":"DivKitContext.js","sourceRoot":"","sources":["../../src/context/DivKitContext.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AA0ElD,MAAM,CAAC,MAAM,aAAa,GAAG,aAAa,CAA4B,IAAI,CAAC,CAAC;AAE5E;;;GAGG;AACH,MAAM,UAAU,gBAAgB;IAC5B,MAAM,OAAO,GAAG,UAAU,CAAC,aAAa,CAAC,CAAC;IAC1C,IAAI,CAAC,OAAO,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;IACnF,CAAC;IACD,OAAO,OAAO,CAAC;AACnB,CAAC"}
package/dist/index.d.ts CHANGED
@@ -21,7 +21,7 @@ export { createVariable, Variable, StringVariable, IntegerVariable, NumberVariab
21
21
  export type { VariableType, VariableValue } from './expressions/variable';
22
22
  export { createGlobalVariablesController, GlobalVariablesController } from './expressions/globalVariablesController';
23
23
  export { useDivKitContext, DivKitContext } from './context/DivKitContext';
24
- export type { DivKitContextValue } from './context/DivKitContext';
24
+ export type { DivKitContextValue, TypefaceProvider } from './context/DivKitContext';
25
25
  export { useDerivedFromVars, useDerivedFromVarsSimple } from './hooks/useDerivedFromVars';
26
26
  export { useVariable, useVariableInstance, useVariableSetter, useVariableState } from './hooks/useVariable';
27
27
  export { useAction, useActions, useActionHandler, useHasActions } from './hooks/useAction';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAGH,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAG/F,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEvH,YAAY,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEhD,YAAY,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAGjE,OAAO,EACH,cAAc,EACd,QAAQ,EACR,cAAc,EACd,eAAe,EACf,cAAc,EACd,eAAe,EACf,aAAa,EACb,WAAW,EACX,YAAY,EACZ,aAAa,EAChB,MAAM,wBAAwB,CAAC;AAEhC,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAG1E,OAAO,EAAE,+BAA+B,EAAE,yBAAyB,EAAE,MAAM,yCAAyC,CAAC;AAGrH,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAE1E,YAAY,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAGlE,OAAO,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAE1F,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAE5G,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAG3F,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,YAAY,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEtD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAGH,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAG/F,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEvH,YAAY,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEhD,YAAY,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAGjE,OAAO,EACH,cAAc,EACd,QAAQ,EACR,cAAc,EACd,eAAe,EACf,cAAc,EACd,eAAe,EACf,aAAa,EACb,WAAW,EACX,YAAY,EACZ,aAAa,EAChB,MAAM,wBAAwB,CAAC;AAEhC,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAG1E,OAAO,EAAE,+BAA+B,EAAE,yBAAyB,EAAE,MAAM,yCAAyC,CAAC;AAGrH,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAE1E,YAAY,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAGpF,OAAO,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAE1F,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAE5G,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAG3F,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,YAAY,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEtD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-divkit",
3
- "version": "1.0.0",
3
+ "version": "1.2.0",
4
4
  "description": "DivKit renderer for React Native - Server-driven UI framework",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
package/src/DivKit.tsx CHANGED
@@ -24,7 +24,7 @@ import type { Action, DivJson, DivVariable, Direction } from '../typings/common'
24
24
  import type { DivBaseData } from './types/base';
25
25
  import type { ComponentContext } from './types/componentContext';
26
26
  import type { MaybeMissing } from './expressions/json';
27
- import { DivKitContext, type DivKitContextValue } from './context/DivKitContext';
27
+ import { DivKitContext, type DivKitContextValue, type TypefaceProvider } from './context/DivKitContext';
28
28
  import { ActionContext, type ActionContextValue } from './context/ActionContext';
29
29
  import { StateContext, type StateContextValue, type StateSetter } from './context/StateContext';
30
30
  import { DivComponent } from './components/DivComponent';
@@ -36,6 +36,7 @@ import { arrayInsert, arrayRemove, arraySet } from './actions/array';
36
36
  import { dictSetValue } from './actions/dict';
37
37
  import { copyToClipboard } from './actions/copyToClipboard';
38
38
  import { updateStructure } from './actions/updateStructure';
39
+ import { applySetStateAction, type ActionSetStateCompat } from './actions/setState';
39
40
  import { evalExpression } from './expressions/eval';
40
41
  import { parse } from './expressions/expressions';
41
42
 
@@ -84,6 +85,24 @@ export interface DivKitProps {
84
85
 
85
86
  /** Global variables controller for sharing variables across DivKit instances */
86
87
  globalVariablesController?: GlobalVariablesController;
88
+
89
+ /**
90
+ * Custom font provider for mapping font_family names to platform-specific fonts.
91
+ * Called even when font_family is omitted (in that case receives an empty string).
92
+ * Default: returns empty string (uses system default font)
93
+ *
94
+ * @example
95
+ * ```tsx
96
+ * <DivKit
97
+ * typefaceProvider={(fontFamily, opts) => {
98
+ * if (!fontFamily) return 'MyDefaultText-Regular';
99
+ * if (fontFamily === 'display') return 'MyCustomDisplay-Bold';
100
+ * return '';
101
+ * }}
102
+ * />
103
+ * ```
104
+ */
105
+ typefaceProvider?: TypefaceProvider;
87
106
  }
88
107
 
89
108
  /**
@@ -100,7 +119,8 @@ export function DivKit({
100
119
  platform = 'touch',
101
120
  style,
102
121
  id = 'root',
103
- globalVariablesController
122
+ globalVariablesController,
123
+ typefaceProvider = _fontFamily => ''
104
124
  }: DivKitProps) {
105
125
  const componentIdCounter = useRef(0);
106
126
  const componentsMap = useRef<Map<string, ComponentContext>>(new Map());
@@ -339,13 +359,7 @@ export function DivKit({
339
359
  break;
340
360
 
341
361
  case 'set_state': {
342
- const setStateAction = typed as any;
343
- if (setStateAction.state_id && setStateAction.temporary_state_id) {
344
- const setter = statesMap.current.get(setStateAction.state_id);
345
- if (setter) {
346
- await setter(String(setStateAction.temporary_state_id));
347
- }
348
- }
362
+ await applySetStateAction(typed as ActionSetStateCompat, statesMap.current);
349
363
  break;
350
364
  }
351
365
 
@@ -474,6 +488,8 @@ export function DivKit({
474
488
  direction,
475
489
  platform,
476
490
 
491
+ typefaceProvider,
492
+
477
493
  variables,
478
494
  getVariable,
479
495
  setVariable,
@@ -490,6 +506,7 @@ export function DivKit({
490
506
  onCustomAction,
491
507
  direction,
492
508
  platform,
509
+ typefaceProvider,
493
510
  variables,
494
511
  getVariable,
495
512
  setVariable,
@@ -9,3 +9,4 @@ export { arrayInsert, arrayRemove, arraySet } from './array';
9
9
  export { dictSetValue } from './dict';
10
10
  export { copyToClipboard, initClipboard } from './copyToClipboard';
11
11
  export { updateStructure } from './updateStructure';
12
+ export { applySetStateAction } from './setState';
@@ -0,0 +1,53 @@
1
+ import type { ActionSetState } from '../../typings/common';
2
+ import type { StateSetter } from '../context/StateContext';
3
+
4
+ export interface ActionSetStateCompat extends ActionSetState {
5
+ temporary_state_id?: unknown;
6
+ }
7
+
8
+ export async function applySetStateAction(
9
+ actionTyped: ActionSetStateCompat,
10
+ statesMap: Map<string, StateSetter>
11
+ ): Promise<void> {
12
+ const statePath = typeof actionTyped.state_id === 'string' ? actionTyped.state_id : undefined;
13
+
14
+ if (!statePath) {
15
+ throw new Error('Missing state id');
16
+ }
17
+
18
+ const temporaryStateId = actionTyped.temporary_state_id;
19
+
20
+ // MVP-compatible format used in current RN tests/examples:
21
+ // { state_id: 'component_id', temporary_state_id: 'target_state_id' }
22
+ if (temporaryStateId !== undefined && temporaryStateId !== null) {
23
+ const setter = statesMap.get(statePath);
24
+ if (setter) {
25
+ await setter(String(temporaryStateId));
26
+ }
27
+ return;
28
+ }
29
+
30
+ // Web-compatible path format:
31
+ // state_id: "rootState/divId/selectedState[/divId/selectedState...]"
32
+ const parts = statePath.split('/').filter(Boolean);
33
+
34
+ if (parts.length < 2) {
35
+ return;
36
+ }
37
+
38
+ // If path length is odd, first segment is root card state id (unsupported in RN MVP)
39
+ // and should be skipped for local state resolution.
40
+ const startIndex = parts.length % 2 === 1 ? 1 : 0;
41
+
42
+ for (let index = startIndex; index + 1 < parts.length; index += 2) {
43
+ const componentId = parts[index];
44
+ const nextStateId = parts[index + 1];
45
+
46
+ const setter = statesMap.get(componentId);
47
+ if (!setter) {
48
+ return;
49
+ }
50
+
51
+ await setter(nextStateId);
52
+ }
53
+ }
@@ -31,7 +31,7 @@ export interface DivTextProps {
31
31
  * Based on Web Text.svelte
32
32
  */
33
33
  export function DivText({ componentContext }: DivTextProps) {
34
- const { direction } = useDivKitContext();
34
+ const { direction, typefaceProvider } = useDivKitContext();
35
35
  const { json, variables } = componentContext;
36
36
 
37
37
  // Reactive properties - use hooks for properties that may contain variables
@@ -92,9 +92,13 @@ export function DivText({ componentContext }: DivTextProps) {
92
92
  style.fontWeight = String(weight) as TextStyle['fontWeight'];
93
93
  }
94
94
 
95
- // Font family
96
- if (json.font_family) {
97
- style.fontFamily = json.font_family;
95
+ // Font family - use typefaceProvider to map font name (like Web TextRange.svelte)
96
+ // If font_family is missing, provider receives empty string and can return global fallback.
97
+ const sourceFontFamily = typeof json.font_family === 'string' ? json.font_family : '';
98
+ const fontWeight = style.fontWeight ? Number(style.fontWeight) : 400;
99
+ const mappedFamily = typefaceProvider(sourceFontFamily, { fontWeight });
100
+ if (mappedFamily) {
101
+ style.fontFamily = mappedFamily;
98
102
  }
99
103
 
100
104
  // Line height
@@ -150,6 +154,7 @@ export function DivText({ componentContext }: DivTextProps) {
150
154
  json.font_weight,
151
155
  json.font_weight_value,
152
156
  json.font_family,
157
+ typefaceProvider,
153
158
  json.line_height,
154
159
  json.letter_spacing,
155
160
  json.underline,
@@ -4,6 +4,36 @@ import type { MaybeMissing } from '../expressions/json';
4
4
  import type { Variable } from '../expressions/variable';
5
5
  import type { ComponentContext } from '../types/componentContext';
6
6
 
7
+ /**
8
+ * Custom font provider function
9
+ * Maps font_family name from DivKit JSON to a platform-specific font name
10
+ * and can provide a global fallback when font_family is absent.
11
+ *
12
+ * Based on TypefaceProvider from Web implementation (typings/common.d.ts)
13
+ *
14
+ * @param fontFamily - font family name from DivKit JSON (empty string when absent)
15
+ * @param opts - optional parameters (e.g. fontWeight for weight-specific font selection)
16
+ * @returns platform-specific font name string for React Native's fontFamily style
17
+ *
18
+ * @example
19
+ * ```tsx
20
+ * <DivKit
21
+ * typefaceProvider={(fontFamily, opts) => {
22
+ * if (fontFamily === 'display') return 'MyCustomDisplay-Bold';
23
+ * if (fontFamily === 'text') {
24
+ * return opts?.fontWeight && opts.fontWeight >= 700
25
+ * ? 'MyCustomText-Bold'
26
+ * : 'MyCustomText-Regular';
27
+ * }
28
+ * return '';
29
+ * }}
30
+ * />
31
+ * ```
32
+ */
33
+ export type TypefaceProvider = (fontFamily: string, opts?: {
34
+ fontWeight?: number;
35
+ }) => string;
36
+
7
37
  /**
8
38
  * Main DivKit context interface
9
39
  * Based on RootCtxValue from Web implementation with simplifications for MVP
@@ -17,6 +47,9 @@ export interface DivKitContextValue {
17
47
  direction: Direction;
18
48
  platform: 'desktop' | 'touch';
19
49
 
50
+ // Font provider
51
+ typefaceProvider: TypefaceProvider;
52
+
20
53
  // Variable system
21
54
  variables: Map<string, Variable>;
22
55
  getVariable(name: string): Variable | undefined;
package/src/index.ts CHANGED
@@ -46,7 +46,7 @@ export { createGlobalVariablesController, GlobalVariablesController } from './ex
46
46
  // Context hooks (for advanced usage)
47
47
  export { useDivKitContext, DivKitContext } from './context/DivKitContext';
48
48
 
49
- export type { DivKitContextValue } from './context/DivKitContext';
49
+ export type { DivKitContextValue, TypefaceProvider } from './context/DivKitContext';
50
50
 
51
51
  // Hooks (for custom components)
52
52
  export { useDerivedFromVars, useDerivedFromVarsSimple } from './hooks/useDerivedFromVars';