@use-voltra/core 2.3.1 → 2.4.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.
Files changed (52) hide show
  1. package/build/cjs/index.js +2 -0
  2. package/build/cjs/index.js.map +1 -1
  3. package/build/cjs/locale.js +117 -0
  4. package/build/cjs/locale.js.map +1 -0
  5. package/build/cjs/payload/short-names.js +2 -0
  6. package/build/cjs/payload/short-names.js.map +1 -1
  7. package/build/cjs/renderer/native-modifiers.js +28 -0
  8. package/build/cjs/renderer/native-modifiers.js.map +1 -0
  9. package/build/cjs/renderer/renderer.js +9 -0
  10. package/build/cjs/renderer/renderer.js.map +1 -1
  11. package/build/cjs/useUpdateOnHMR.js +23 -0
  12. package/build/cjs/useUpdateOnHMR.js.map +1 -0
  13. package/build/cjs/widget-environment.js.map +1 -1
  14. package/build/esm/index.js +2 -0
  15. package/build/esm/index.js.map +1 -1
  16. package/build/esm/locale.js +110 -0
  17. package/build/esm/locale.js.map +1 -0
  18. package/build/esm/payload/short-names.js +2 -0
  19. package/build/esm/payload/short-names.js.map +1 -1
  20. package/build/esm/renderer/native-modifiers.js +25 -0
  21. package/build/esm/renderer/native-modifiers.js.map +1 -0
  22. package/build/esm/renderer/renderer.js +9 -0
  23. package/build/esm/renderer/renderer.js.map +1 -1
  24. package/build/esm/useUpdateOnHMR.js +19 -0
  25. package/build/esm/useUpdateOnHMR.js.map +1 -0
  26. package/build/esm/widget-environment.js.map +1 -1
  27. package/build/types/index.d.ts +2 -0
  28. package/build/types/index.d.ts.map +1 -1
  29. package/build/types/locale.d.ts +48 -0
  30. package/build/types/locale.d.ts.map +1 -0
  31. package/build/types/payload/short-names.d.ts.map +1 -1
  32. package/build/types/renderer/index.d.ts +1 -0
  33. package/build/types/renderer/index.d.ts.map +1 -1
  34. package/build/types/renderer/native-modifiers.d.ts +13 -0
  35. package/build/types/renderer/native-modifiers.d.ts.map +1 -0
  36. package/build/types/renderer/renderer.d.ts.map +1 -1
  37. package/build/types/types.d.ts +81 -0
  38. package/build/types/types.d.ts.map +1 -1
  39. package/build/types/useUpdateOnHMR.d.ts +7 -0
  40. package/build/types/useUpdateOnHMR.d.ts.map +1 -0
  41. package/build/types/widget-environment.d.ts +28 -2
  42. package/build/types/widget-environment.d.ts.map +1 -1
  43. package/package.json +7 -1
  44. package/src/index.ts +2 -0
  45. package/src/locale.ts +139 -0
  46. package/src/payload/short-names.ts +2 -0
  47. package/src/renderer/index.ts +1 -0
  48. package/src/renderer/native-modifiers.ts +36 -0
  49. package/src/renderer/renderer.ts +8 -0
  50. package/src/types.ts +96 -0
  51. package/src/useUpdateOnHMR.ts +24 -0
  52. package/src/widget-environment.ts +42 -2
@@ -1 +1 @@
1
- {"version":3,"file":"renderer.js","sourceRoot":"","sources":["../../../src/renderer/renderer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"renderer.js","sourceRoot":"","sources":["../../../src/renderer/renderer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import { useEffect, useState } from 'react';
2
+ import { getFastRefreshHub } from './fastRefreshHub.js';
3
+ /**
4
+ * Force the calling component to re-render whenever Metro applies a Fast Refresh
5
+ * patch, so freshly patched Voltra payloads are re-rendered. Shared by the iOS and
6
+ * Android client packages; relies on the process-wide {@link FastRefreshHub}.
7
+ */
8
+ export const useUpdateOnHMR = () => {
9
+ const [, forceUpdate] = useState(0);
10
+ useEffect(() => {
11
+ if (!__DEV__) {
12
+ return;
13
+ }
14
+ return getFastRefreshHub().onPatch(() => {
15
+ forceUpdate((prev) => prev + 1);
16
+ });
17
+ }, []);
18
+ };
19
+ //# sourceMappingURL=useUpdateOnHMR.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useUpdateOnHMR.js","sourceRoot":"","sources":["../../src/useUpdateOnHMR.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAE3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAIvD;;;;GAIG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,EAAE;IACjC,MAAM,CAAC,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;IAEnC,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAM;QACR,CAAC;QAED,OAAO,iBAAiB,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE;YACtC,WAAW,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC,CAAA;QACjC,CAAC,CAAC,CAAA;IACJ,CAAC,EAAE,EAAE,CAAC,CAAA;AACR,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"widget-environment.js","sourceRoot":"","sources":["../../src/widget-environment.ts"],"names":[],"mappings":"AAiJA;;;;;;;GAOG;AACH,MAAM,UAAU,QAAQ,CACtB,GAAsB;IAEtB,OAAO,GAAG,CAAC,mBAAmB,KAAK,SAAS,CAAA;AAC9C,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,YAAY,CAAC,GAAsB;IACjD,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;AACvB,CAAC"}
1
+ {"version":3,"file":"widget-environment.js","sourceRoot":"","sources":["../../src/widget-environment.ts"],"names":[],"mappings":"AAyLA;;;;;;;GAOG;AACH,MAAM,UAAU,QAAQ,CACtB,GAAsB;IAEtB,OAAO,GAAG,CAAC,mBAAmB,KAAK,SAAS,CAAA;AAC9C,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,YAAY,CAAC,GAAsB;IACjD,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;AACvB,CAAC"}
@@ -1,8 +1,10 @@
1
1
  export * from './fastRefreshHub.js';
2
2
  export * from './jsx/createVoltraComponent.js';
3
+ export * from './locale.js';
3
4
  export * from './payload.js';
4
5
  export * from './payload/short-names.js';
5
6
  export * from './renderer/index.js';
6
7
  export * from './types.js';
8
+ export * from './useUpdateOnHMR.js';
7
9
  export * from './widget-environment.js';
8
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAA;AACnC,cAAc,gCAAgC,CAAA;AAC9C,cAAc,cAAc,CAAA;AAC5B,cAAc,0BAA0B,CAAA;AACxC,cAAc,qBAAqB,CAAA;AACnC,cAAc,YAAY,CAAA;AAC1B,cAAc,yBAAyB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAA;AACnC,cAAc,gCAAgC,CAAA;AAC9C,cAAc,aAAa,CAAA;AAC3B,cAAc,cAAc,CAAA;AAC5B,cAAc,0BAA0B,CAAA;AACxC,cAAc,qBAAqB,CAAA;AACnC,cAAc,YAAY,CAAA;AAC1B,cAAc,qBAAqB,CAAA;AACnC,cAAc,yBAAyB,CAAA"}
@@ -0,0 +1,48 @@
1
+ /**
2
+ * Locale negotiation shared by the Expo config plugins (initial-state and gallery-label pickers)
3
+ * and by widget code at render time (ADR 0009 §5).
4
+ *
5
+ * The fallback order is the one the native initial-state pickers use: for each preferred tag an
6
+ * exact match, then a language-only match; then `en` (or any `en-*`), then `__default`, then the
7
+ * first key in sorted order.
8
+ */
9
+ /** The locale fields of `WidgetEnvironment` / `LiveActivityEnvironment` that `resolveLocale`
10
+ * reads. */
11
+ export type LocaleEnvironment = {
12
+ locale?: string;
13
+ preferredLanguages?: readonly string[];
14
+ appLocale?: string;
15
+ };
16
+ /** Lower-cases a locale tag and turns ICU underscores into BCP-47 hyphens (`pt_BR` → `pt-br`). */
17
+ export declare function normalizeLocaleTag(tag: string): string;
18
+ /**
19
+ * Picks the best key out of `keys` for the user's `preferredLanguages`, or `undefined` when there
20
+ * are no keys.
21
+ */
22
+ export declare function pickLocaleKey<K extends string>(keys: readonly K[], preferredLanguages: readonly string[]): K | undefined;
23
+ /**
24
+ * Picks a localized value from a locale-keyed map using the same fallback rules as the iOS and
25
+ * Android runtimes: preferred language tags (full match, then language-only), then `en`, then
26
+ * `__default`, then the first value in key order. Empty strings, `null` and `undefined` values are
27
+ * skipped.
28
+ */
29
+ export declare function pickLocalizedValue<T>(perLocale: Record<string, T>, preferredLanguages: readonly string[]): T | undefined;
30
+ /**
31
+ * The languages a widget should try, most wanted first: the app's override
32
+ * (`setDynamicWidgetLocale`), then the user's preferred languages, then the locale the widget is
33
+ * drawn in. Duplicates are removed.
34
+ */
35
+ export declare function localeCandidates(env: LocaleEnvironment): string[];
36
+ /**
37
+ * Resolves which of the languages a widget ships should be used for this render.
38
+ *
39
+ * `supported` is either the list of language tags the widget has translations for, or the
40
+ * messages object itself keyed by language tag. Returns the matching key, or `undefined` when
41
+ * `supported` is empty.
42
+ *
43
+ * @example
44
+ * const messages = { en: { title: 'Weather' }, pl: { title: 'Pogoda' } }
45
+ * const t = messages[resolveLocale(env, messages) ?? 'en']
46
+ */
47
+ export declare function resolveLocale<K extends string>(env: LocaleEnvironment, supported: readonly K[] | Readonly<Record<K, unknown>>): K | undefined;
48
+ //# sourceMappingURL=locale.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"locale.d.ts","sourceRoot":"","sources":["../../src/locale.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH;YACY;AACZ,MAAM,MAAM,iBAAiB,GAAG;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,kBAAkB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IACtC,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA;AAID,kGAAkG;AAClG,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEtD;AAMD;;;GAGG;AACH,wBAAgB,aAAa,CAAC,CAAC,SAAS,MAAM,EAC5C,IAAI,EAAE,SAAS,CAAC,EAAE,EAClB,kBAAkB,EAAE,SAAS,MAAM,EAAE,GACpC,CAAC,GAAG,SAAS,CAsCf;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,EAClC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,EAC5B,kBAAkB,EAAE,SAAS,MAAM,EAAE,GACpC,CAAC,GAAG,SAAS,CAOf;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,iBAAiB,GAAG,MAAM,EAAE,CAqBjE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,aAAa,CAAC,CAAC,SAAS,MAAM,EAC5C,GAAG,EAAE,iBAAiB,EACtB,SAAS,EAAE,SAAS,CAAC,EAAE,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,GACrD,CAAC,GAAG,SAAS,CAGf"}
@@ -1 +1 @@
1
- {"version":3,"file":"short-names.d.ts","sourceRoot":"","sources":["../../../src/payload/short-names.ts"],"names":[],"mappings":"AAKA;;;GAGG;AACH,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAoLhD,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAoLhD,CAAA;AAED;;;GAGG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE5C;AAED;;;GAGG;AACH,wBAAgB,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAE5C"}
1
+ {"version":3,"file":"short-names.d.ts","sourceRoot":"","sources":["../../../src/payload/short-names.ts"],"names":[],"mappings":"AAKA;;;GAGG;AACH,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAqLhD,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAqLhD,CAAA;AAED;;;GAGG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE5C;AAED;;;GAGG;AACH,wBAAgB,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAE5C"}
@@ -5,5 +5,6 @@ export { flattenStyle } from './flatten-styles.js';
5
5
  export { getRenderCache, type RenderCache } from './render-cache.js';
6
6
  export { type ComponentRegistry, createVoltraRenderer, renderVariantToJson, transformProps, VOLTRA_PAYLOAD_VERSION, } from './renderer.js';
7
7
  export { createStylesheetRegistry, type StylesheetRegistry } from './stylesheet-registry.js';
8
+ export type { NativeModifiersProp, NoNativeModifier } from './native-modifiers.js';
8
9
  export type { VoltraVariantRenderer } from './types.js';
9
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/renderer/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,eAAe,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AAChF,OAAO,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAA;AAC/E,OAAO,EAAE,qBAAqB,EAAE,KAAK,eAAe,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAA;AACzG,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,EAAE,cAAc,EAAE,KAAK,WAAW,EAAE,MAAM,mBAAmB,CAAA;AACpE,OAAO,EACL,KAAK,iBAAiB,EACtB,oBAAoB,EACpB,mBAAmB,EACnB,cAAc,EACd,sBAAsB,GACvB,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,wBAAwB,EAAE,KAAK,kBAAkB,EAAE,MAAM,0BAA0B,CAAA;AAC5F,YAAY,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/renderer/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,eAAe,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AAChF,OAAO,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAA;AAC/E,OAAO,EAAE,qBAAqB,EAAE,KAAK,eAAe,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAA;AACzG,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,EAAE,cAAc,EAAE,KAAK,WAAW,EAAE,MAAM,mBAAmB,CAAA;AACpE,OAAO,EACL,KAAK,iBAAiB,EACtB,oBAAoB,EACpB,mBAAmB,EACnB,cAAc,EACd,sBAAsB,GACvB,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,wBAAwB,EAAE,KAAK,kBAAkB,EAAE,MAAM,0BAA0B,CAAA;AAC5F,YAAY,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAClF,YAAY,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAA"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * A value that means "no modifier", for the whole `modifiers` prop or for one entry, so that
3
+ * `[count && modifier]` and `label && [...]` type-check. `NaN` is skipped at runtime as well.
4
+ */
5
+ export type NoNativeModifier = false | null | undefined | 0 | '';
6
+ /** The `modifiers` prop of a platform's components, typed by that platform's modifier. */
7
+ export type NativeModifiersProp<Modifier> = readonly (Modifier | NoNativeModifier)[] | NoNativeModifier;
8
+ /**
9
+ * Encodes the `modifiers` prop as a JSON string, so that no parsing layer treats the descriptors as
10
+ * children or rewrites their keys (ADR 0005). Returns `undefined` when there is nothing to send.
11
+ */
12
+ export declare function encodeNativeModifiers(value: unknown): string | undefined;
13
+ //# sourceMappingURL=native-modifiers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"native-modifiers.d.ts","sourceRoot":"","sources":["../../../src/renderer/native-modifiers.ts"],"names":[],"mappings":"AAIA;;;GAGG;AACH,MAAM,MAAM,gBAAgB,GAAG,KAAK,GAAG,IAAI,GAAG,SAAS,GAAG,CAAC,GAAG,EAAE,CAAA;AAEhE,0FAA0F;AAC1F,MAAM,MAAM,mBAAmB,CAAC,QAAQ,IAAI,SAAS,CAAC,QAAQ,GAAG,gBAAgB,CAAC,EAAE,GAAG,gBAAgB,CAAA;AAEvG;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAkBxE"}
@@ -1 +1 @@
1
- {"version":3,"file":"renderer.d.ts","sourceRoot":"","sources":["../../../src/renderer/renderer.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,iBAAiB,EAKjB,SAAS,EACV,MAAM,OAAO,CAAA;AAgBd,OAAO,EAAoB,cAAc,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAC/E,OAAO,EAAE,eAAe,EAAsB,MAAM,uBAAuB,CAAA;AAE3E,OAAO,EAAyB,KAAK,eAAe,EAAwB,MAAM,uBAAuB,CAAA;AAGzG,OAAO,EAA4B,KAAK,kBAAkB,EAAE,MAAM,0BAA0B,CAAA;AAE5F,MAAM,MAAM,iBAAiB,GAAG;IAC9B,cAAc,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAA;CACzC,CAAA;AAkBD,KAAK,sBAAsB,GAAG;IAC5B,QAAQ,EAAE,eAAe,CAAA;IACzB,kBAAkB,CAAC,EAAE,kBAAkB,CAAA;IACvC,eAAe,CAAC,EAAE,eAAe,CAAA;IACjC,UAAU,CAAC,EAAE,GAAG,CAAC,SAAS,CAAC,CAAA;IAC3B,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,iBAAiB,EAAE,iBAAiB,CAAA;CACrC,CAAA;AAkPD,eAAO,MAAM,yBAAyB,GAAI,MAAM,EAC9C,WAAW,iBAAiB,CAAC,MAAM,CAAC,EACpC,OAAO,MAAM,EACb,SAAS,sBAAsB,KAC9B,cA4BF,CAAA;AAED,eAAO,MAAM,mBAAmB,GAAI,SAAS,SAAS,EAAE,mBAAmB,iBAAiB,KAAG,cAQ9F,CAAA;AA+CD,wBAAgB,cAAc,CAC5B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,OAAO,EAAE,sBAAsB,GAC9B,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CA8BjC;AAED,eAAO,MAAM,sBAAsB,IAAI,CAAA;AAEvC,eAAO,MAAM,oBAAoB,GAAI,mBAAmB,iBAAiB;wBAQ5C,MAAM,QAAQ,SAAS,KAAG,IAAI;kBA6BtC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;CA8CvC,CAAA"}
1
+ {"version":3,"file":"renderer.d.ts","sourceRoot":"","sources":["../../../src/renderer/renderer.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,iBAAiB,EAKjB,SAAS,EACV,MAAM,OAAO,CAAA;AAgBd,OAAO,EAAoB,cAAc,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAC/E,OAAO,EAAE,eAAe,EAAsB,MAAM,uBAAuB,CAAA;AAG3E,OAAO,EAAyB,KAAK,eAAe,EAAwB,MAAM,uBAAuB,CAAA;AAGzG,OAAO,EAA4B,KAAK,kBAAkB,EAAE,MAAM,0BAA0B,CAAA;AAE5F,MAAM,MAAM,iBAAiB,GAAG;IAC9B,cAAc,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAA;CACzC,CAAA;AAkBD,KAAK,sBAAsB,GAAG;IAC5B,QAAQ,EAAE,eAAe,CAAA;IACzB,kBAAkB,CAAC,EAAE,kBAAkB,CAAA;IACvC,eAAe,CAAC,EAAE,eAAe,CAAA;IACjC,UAAU,CAAC,EAAE,GAAG,CAAC,SAAS,CAAC,CAAA;IAC3B,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,iBAAiB,EAAE,iBAAiB,CAAA;CACrC,CAAA;AAkPD,eAAO,MAAM,yBAAyB,GAAI,MAAM,EAC9C,WAAW,iBAAiB,CAAC,MAAM,CAAC,EACpC,OAAO,MAAM,EACb,SAAS,sBAAsB,KAC9B,cA4BF,CAAA;AAED,eAAO,MAAM,mBAAmB,GAAI,SAAS,SAAS,EAAE,mBAAmB,iBAAiB,KAAG,cAQ9F,CAAA;AA+CD,wBAAgB,cAAc,CAC5B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,OAAO,EAAE,sBAAsB,GAC9B,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAqCjC;AAED,eAAO,MAAM,sBAAsB,IAAI,CAAA;AAEvC,eAAO,MAAM,oBAAoB,GAAI,mBAAmB,iBAAiB;wBAQ5C,MAAM,QAAQ,SAAS,KAAG,IAAI;kBA6BtC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;CA8CvC,CAAA"}
@@ -9,4 +9,85 @@ export type VoltraElementRef = {
9
9
  $r: number;
10
10
  };
11
11
  export type VoltraNodeJson = VoltraElementJson | VoltraElementJson[] | VoltraElementRef | string;
12
+ export type EventSubscription = {
13
+ remove: () => void;
14
+ };
15
+ type PreloadImageBaseOptions = {
16
+ key: string;
17
+ width?: number;
18
+ height?: number;
19
+ };
20
+ export type PreloadImageUrlOptions = PreloadImageBaseOptions & {
21
+ url: string;
22
+ method?: 'GET' | 'POST' | 'PUT';
23
+ headers?: Record<string, string>;
24
+ };
25
+ export type PreloadImageSvgOptions = PreloadImageBaseOptions & {
26
+ svg: string;
27
+ };
28
+ export type PreloadImageOptions = PreloadImageUrlOptions | PreloadImageSvgOptions;
29
+ export type PreloadImageFailure = {
30
+ key: string;
31
+ error: string;
32
+ };
33
+ export type PreloadImagesResult = {
34
+ succeeded: string[];
35
+ failed: PreloadImageFailure[];
36
+ };
37
+ /**
38
+ * @deprecated Use `setWidgetServerUpdate` with an `Authorization` header instead. These are
39
+ * stored in the same place and keep the same replace-the-whole-set semantics.
40
+ */
41
+ export type WidgetServerCredentials = {
42
+ token: string;
43
+ headers?: Record<string, string>;
44
+ };
45
+ /**
46
+ * Runtime overrides for a widget's `serverUpdate` settings — the twin of the `serverUpdate` key
47
+ * in app.json, which supplies the defaults.
48
+ *
49
+ * Every field is optional and replaces the app.json value when set. `headers` and `query` merge
50
+ * per key across layers; everything else takes the value from the most specific layer that sets
51
+ * it. Passing settings without a `widgetId` sets them for every server-driven widget.
52
+ */
53
+ export type WidgetServerUpdateSettings = {
54
+ /** Endpoint to fetch from. Must be https, or http to a local dev host in a debug build. */
55
+ url?: string;
56
+ /** How often to fetch, in minutes. Clamped to at least 15 and at most 24 hours. */
57
+ intervalMinutes?: number;
58
+ /** Set false to stop fetching and drive the widget from the app instead. Defaults to true. */
59
+ enabled?: boolean;
60
+ /** HTTP method. Defaults to GET. A body is dropped on GET and HEAD, with a warning. */
61
+ method?: 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE';
62
+ /** Extra query parameters. Voltra's own keys are reserved and rejected. */
63
+ query?: Record<string, string>;
64
+ /** Extra request headers, for example `Authorization`. */
65
+ headers?: Record<string, string>;
66
+ /** Request body, sent as `application/json`. */
67
+ body?: WidgetServerUpdateBody;
68
+ };
69
+ /** A JSON value, as accepted for a server-update request body. */
70
+ export type WidgetServerUpdateBody = string | number | boolean | null | WidgetServerUpdateBody[] | {
71
+ [key: string]: WidgetServerUpdateBody;
72
+ };
73
+ /** Options selecting which widget a settings call applies to. */
74
+ export type WidgetServerUpdateOptions = {
75
+ /** Widget id to scope the settings to. Omit to set them for every server-driven widget. */
76
+ widgetId?: string;
77
+ };
78
+ /**
79
+ * Fully resolved settings for one widget: every layer flattened and app.json's defaults applied,
80
+ * exactly what it would fetch with right now.
81
+ */
82
+ export type WidgetServerUpdateSnapshot = {
83
+ /** Absent when the widget is server-driven but has no URL yet. */
84
+ url?: string;
85
+ intervalMinutes: number;
86
+ enabled: boolean;
87
+ method: 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE';
88
+ query: Record<string, string>;
89
+ headers: Record<string, string>;
90
+ body?: WidgetServerUpdateBody;
91
+ };
92
+ export {};
12
93
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,cAAc,CAAA;AAE/E,MAAM,MAAM,iBAAiB,GAAG;IAC9B,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,CAAC,EAAE,MAAM,CAAA;IACV,CAAC,CAAC,EAAE,cAAc,CAAA;IAClB,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAA;CACpC,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,EAAE,EAAE,MAAM,CAAA;CACX,CAAA;AAED,MAAM,MAAM,cAAc,GAAG,iBAAiB,GAAG,iBAAiB,EAAE,GAAG,gBAAgB,GAAG,MAAM,CAAA"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Force the calling component to re-render whenever Metro applies a Fast Refresh
3
+ * patch, so freshly patched Voltra payloads are re-rendered. Shared by the iOS and
4
+ * Android client packages; relies on the process-wide {@link FastRefreshHub}.
5
+ */
6
+ export declare const useUpdateOnHMR: () => void;
7
+ //# sourceMappingURL=useUpdateOnHMR.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useUpdateOnHMR.d.ts","sourceRoot":"","sources":["../../src/useUpdateOnHMR.ts"],"names":[],"mappings":"AAMA;;;;GAIG;AACH,eAAO,MAAM,cAAc,YAY1B,CAAA"}
@@ -30,8 +30,34 @@ export type WidgetEnvironment<TConfig extends Record<string, unknown> | undefine
30
30
  /** Current color scheme of the widget's environment. May be `undefined` if the platform
31
31
  * doesn't expose it (rare). */
32
32
  colorScheme?: 'light' | 'dark';
33
- /** BCP-47 locale tag — for example `"en-US"` or `"pl-PL"`. */
34
- locale?: string;
33
+ /** BCP-47 locale tag the widget is being drawn in, including Unicode extensions for user
34
+ * overrides — for example `"pl-PL"` or `"en-US-u-hc-h23"`. On iOS this is the locale the
35
+ * widget extension resolved from the languages the app declares; see `preferredLanguages`
36
+ * for the user's full list. */
37
+ locale: string;
38
+ /** The user's ordered language list as BCP-47 tags, independent of what the app or the
39
+ * widget extension supports. Use it (or `resolveLocale`) to pick a translation. */
40
+ preferredLanguages: string[];
41
+ /** Language the app asked Voltra to render widgets in with `setDynamicWidgetLocale`.
42
+ * `undefined` unless the app set one. `resolveLocale` gives it precedence. */
43
+ appLocale?: string;
44
+ /** Writing direction of `locale`. */
45
+ layoutDirection: 'ltr' | 'rtl';
46
+ /** Effective clock preference, already reconciled with the user's 12/24-hour setting. Pass it
47
+ * as `hourCycle` to `Intl.DateTimeFormat`. */
48
+ hourCycle: 'h12' | 'h23';
49
+ /** IANA time zone of the device, for example `"Europe/Warsaw"`. Pass it as `timeZone` to
50
+ * `Intl.DateTimeFormat` when formatting `date`. */
51
+ timeZone: string;
52
+ /** Measurement system of the user's region. Absent when the platform cannot tell
53
+ * (Android below API 28). */
54
+ measurementSystem?: 'metric' | 'us' | 'uk';
55
+ /** Unicode calendar identifier as `Intl` spells it, for example `"gregory"` or
56
+ * `"japanese"`. */
57
+ calendar?: string;
58
+ /** First day of the week in the user's region: `1` is Sunday, `2` is Monday … `7` is
59
+ * Saturday (the `Calendar.firstWeekday` / `java.util.Calendar` numbering). */
60
+ firstDayOfWeek?: 1 | 2 | 3 | 4 | 5 | 6 | 7;
35
61
  /** iOS — rendering mode the widget is being drawn in. `fullColor` on home screen,
36
62
  * `accented` on tinted/Liquid Glass widgets (iOS 18+) and watchOS, `vibrant` on lock
37
63
  * screen. Maps to SwiftUI `@Environment(\.widgetRenderingMode)`. */
@@ -1 +1 @@
1
- {"version":3,"file":"widget-environment.d.ts","sourceRoot":"","sources":["../../src/widget-environment.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,MAAM,iBAAiB,CAAC,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GAAG,SAAS,IAAI;IAC/F;2DACuD;IACvD,IAAI,EAAE,IAAI,CAAA;IAEV;iFAC6E;IAC7E,YAAY,EAAE,MAAM,CAAA;IAEpB;mCAC+B;IAC/B,WAAW,CAAC,EAAE,OAAO,GAAG,MAAM,CAAA;IAE9B,8DAA8D;IAC9D,MAAM,CAAC,EAAE,MAAM,CAAA;IAOf;;wEAEoE;IACpE,mBAAmB,CAAC,EAAE,WAAW,GAAG,UAAU,GAAG,SAAS,CAAA;IAE1D;oFACgF;IAChF,8BAA8B,CAAC,EAAE,OAAO,CAAA;IAMxC;sFACkF;IAClF,aAAa,EAAE,OAAO,CAAA;IAMtB;qEACiE;IACjE,KAAK,EAAE,sBAAsB,CAAA;IAM7B;2EACuE;IACvE,YAAY,CAAC,EAAE,6BAA6B,CAAA;IAE5C;;;oFAGgF;IAChF,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB,CAAA;AAED;;;;;;;;GAQG;AACH,MAAM,MAAM,6BAA6B,GAAG;IAC1C;;;;;;OAMG;IACH,MAAM,EAAE,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,UAAU,CAAA;IAEhD,+EAA+E;IAC/E,SAAS,CAAC,EAAE,MAAM,CAAA;IAElB;;;;;;;;;;OAUG;IACH,KAAK,CAAC,EAAE,SAAS,GAAG,MAAM,GAAG,cAAc,GAAG,OAAO,GAAG,QAAQ,CAAA;IAEhE,4DAA4D;IAC5D,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB,CAAA;AAED;;;GAGG;AACH,MAAM,MAAM,sBAAsB,GAAG;IACnC;8DAC0D;IAC1D,KAAK,EAAE,OAAO,CAAA;IAEd;gEAC4D;IAC5D,QAAQ,CAAC,EAAE,MAAM,CAAA;IAEjB,0FAA0F;IAC1F,UAAU,EAAE,MAAM,CAAA;IAElB;;;oBAGgB;IAChB,aAAa,EAAE,MAAM,CAAA;CACtB,CAAA;AAED;;;;;;;GAOG;AACH,wBAAgB,QAAQ,CACtB,GAAG,EAAE,iBAAiB,GACrB,GAAG,IAAI,iBAAiB,GAAG;IAAE,mBAAmB,EAAE,WAAW,CAAC,iBAAiB,CAAC,qBAAqB,CAAC,CAAC,CAAA;CAAE,CAE3G;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,iBAAiB,GAAG,OAAO,CAE5D"}
1
+ {"version":3,"file":"widget-environment.d.ts","sourceRoot":"","sources":["../../src/widget-environment.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,MAAM,iBAAiB,CAAC,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GAAG,SAAS,IAAI;IAC/F;2DACuD;IACvD,IAAI,EAAE,IAAI,CAAA;IAEV;iFAC6E;IAC7E,YAAY,EAAE,MAAM,CAAA;IAEpB;mCAC+B;IAC/B,WAAW,CAAC,EAAE,OAAO,GAAG,MAAM,CAAA;IAQ9B;;;mCAG+B;IAC/B,MAAM,EAAE,MAAM,CAAA;IAEd;uFACmF;IACnF,kBAAkB,EAAE,MAAM,EAAE,CAAA;IAE5B;kFAC8E;IAC9E,SAAS,CAAC,EAAE,MAAM,CAAA;IAElB,qCAAqC;IACrC,eAAe,EAAE,KAAK,GAAG,KAAK,CAAA;IAE9B;kDAC8C;IAC9C,SAAS,EAAE,KAAK,GAAG,KAAK,CAAA;IAExB;uDACmD;IACnD,QAAQ,EAAE,MAAM,CAAA;IAEhB;iCAC6B;IAC7B,iBAAiB,CAAC,EAAE,QAAQ,GAAG,IAAI,GAAG,IAAI,CAAA;IAE1C;uBACmB;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAA;IAEjB;kFAC8E;IAC9E,cAAc,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IAO1C;;wEAEoE;IACpE,mBAAmB,CAAC,EAAE,WAAW,GAAG,UAAU,GAAG,SAAS,CAAA;IAE1D;oFACgF;IAChF,8BAA8B,CAAC,EAAE,OAAO,CAAA;IAMxC;sFACkF;IAClF,aAAa,EAAE,OAAO,CAAA;IAMtB;qEACiE;IACjE,KAAK,EAAE,sBAAsB,CAAA;IAM7B;2EACuE;IACvE,YAAY,CAAC,EAAE,6BAA6B,CAAA;IAE5C;;;oFAGgF;IAChF,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB,CAAA;AAED;;;;;;;;GAQG;AACH,MAAM,MAAM,6BAA6B,GAAG;IAC1C;;;;;;OAMG;IACH,MAAM,EAAE,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,UAAU,CAAA;IAEhD,+EAA+E;IAC/E,SAAS,CAAC,EAAE,MAAM,CAAA;IAElB;;;;;;;;;;OAUG;IACH,KAAK,CAAC,EAAE,SAAS,GAAG,MAAM,GAAG,cAAc,GAAG,OAAO,GAAG,QAAQ,CAAA;IAEhE,4DAA4D;IAC5D,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB,CAAA;AAED;;;GAGG;AACH,MAAM,MAAM,sBAAsB,GAAG;IACnC;8DAC0D;IAC1D,KAAK,EAAE,OAAO,CAAA;IAEd;gEAC4D;IAC5D,QAAQ,CAAC,EAAE,MAAM,CAAA;IAEjB,0FAA0F;IAC1F,UAAU,EAAE,MAAM,CAAA;IAElB;;;oBAGgB;IAChB,aAAa,EAAE,MAAM,CAAA;CACtB,CAAA;AAED;;;;;;;GAOG;AACH,wBAAgB,QAAQ,CACtB,GAAG,EAAE,iBAAiB,GACrB,GAAG,IAAI,iBAAiB,GAAG;IAAE,mBAAmB,EAAE,WAAW,CAAC,iBAAiB,CAAC,qBAAqB,CAAC,CAAC,CAAA;CAAE,CAE3G;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,iBAAiB,GAAG,OAAO,CAE5D"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@use-voltra/core",
3
- "version": "2.3.1",
3
+ "version": "2.4.0",
4
4
  "description": "Generic renderer and payload utilities for Voltra",
5
5
  "main": "build/cjs/index.js",
6
6
  "module": "build/esm/index.js",
@@ -18,6 +18,12 @@
18
18
  "import": "./build/esm/dynamic-live-activity.js",
19
19
  "default": "./build/esm/dynamic-live-activity.js"
20
20
  },
21
+ "./locale": {
22
+ "types": "./build/types/locale.d.ts",
23
+ "require": "./build/cjs/locale.js",
24
+ "import": "./build/esm/locale.js",
25
+ "default": "./build/esm/locale.js"
26
+ },
21
27
  "./package.json": "./package.json"
22
28
  },
23
29
  "files": [
package/src/index.ts CHANGED
@@ -1,7 +1,9 @@
1
1
  export * from './fastRefreshHub.js'
2
2
  export * from './jsx/createVoltraComponent.js'
3
+ export * from './locale.js'
3
4
  export * from './payload.js'
4
5
  export * from './payload/short-names.js'
5
6
  export * from './renderer/index.js'
6
7
  export * from './types.js'
8
+ export * from './useUpdateOnHMR.js'
7
9
  export * from './widget-environment.js'
package/src/locale.ts ADDED
@@ -0,0 +1,139 @@
1
+ /**
2
+ * Locale negotiation shared by the Expo config plugins (initial-state and gallery-label pickers)
3
+ * and by widget code at render time (ADR 0009 §5).
4
+ *
5
+ * The fallback order is the one the native initial-state pickers use: for each preferred tag an
6
+ * exact match, then a language-only match; then `en` (or any `en-*`), then `__default`, then the
7
+ * first key in sorted order.
8
+ */
9
+
10
+ /** The locale fields of `WidgetEnvironment` / `LiveActivityEnvironment` that `resolveLocale`
11
+ * reads. */
12
+ export type LocaleEnvironment = {
13
+ locale?: string
14
+ preferredLanguages?: readonly string[]
15
+ appLocale?: string
16
+ }
17
+
18
+ const DEFAULT_LOCALE_KEY = '__default'
19
+
20
+ /** Lower-cases a locale tag and turns ICU underscores into BCP-47 hyphens (`pt_BR` → `pt-br`). */
21
+ export function normalizeLocaleTag(tag: string): string {
22
+ return tag.trim().toLowerCase().replace(/_/g, '-')
23
+ }
24
+
25
+ function languageOf(normalizedTag: string): string {
26
+ return normalizedTag.split('-')[0] ?? normalizedTag
27
+ }
28
+
29
+ /**
30
+ * Picks the best key out of `keys` for the user's `preferredLanguages`, or `undefined` when there
31
+ * are no keys.
32
+ */
33
+ export function pickLocaleKey<K extends string>(
34
+ keys: readonly K[],
35
+ preferredLanguages: readonly string[]
36
+ ): K | undefined {
37
+ if (keys.length === 0) {
38
+ return undefined
39
+ }
40
+
41
+ const byNorm = new Map<string, K>()
42
+ for (const key of keys) {
43
+ const normalized = normalizeLocaleTag(key)
44
+ if (!byNorm.has(normalized)) {
45
+ byNorm.set(normalized, key)
46
+ }
47
+ }
48
+
49
+ for (const preferred of preferredLanguages) {
50
+ const normalized = normalizeLocaleTag(preferred)
51
+ const direct = byNorm.get(normalized)
52
+ if (direct !== undefined) {
53
+ return direct
54
+ }
55
+ const language = languageOf(normalized)
56
+ for (const key of keys) {
57
+ if (languageOf(normalizeLocaleTag(key)) === language) {
58
+ return key
59
+ }
60
+ }
61
+ }
62
+
63
+ const english = byNorm.get('en')
64
+ if (english !== undefined) {
65
+ return english
66
+ }
67
+
68
+ const fallback = byNorm.get(DEFAULT_LOCALE_KEY)
69
+ if (fallback !== undefined) {
70
+ return fallback
71
+ }
72
+
73
+ return [...keys].sort((a, b) => a.localeCompare(b))[0]
74
+ }
75
+
76
+ /**
77
+ * Picks a localized value from a locale-keyed map using the same fallback rules as the iOS and
78
+ * Android runtimes: preferred language tags (full match, then language-only), then `en`, then
79
+ * `__default`, then the first value in key order. Empty strings, `null` and `undefined` values are
80
+ * skipped.
81
+ */
82
+ export function pickLocalizedValue<T>(
83
+ perLocale: Record<string, T>,
84
+ preferredLanguages: readonly string[]
85
+ ): T | undefined {
86
+ const keys = Object.keys(perLocale).filter((key) => {
87
+ const value = perLocale[key]
88
+ return value !== undefined && value !== null && (value as unknown) !== ''
89
+ })
90
+ const key = pickLocaleKey(keys, preferredLanguages)
91
+ return key === undefined ? undefined : perLocale[key]
92
+ }
93
+
94
+ /**
95
+ * The languages a widget should try, most wanted first: the app's override
96
+ * (`setDynamicWidgetLocale`), then the user's preferred languages, then the locale the widget is
97
+ * drawn in. Duplicates are removed.
98
+ */
99
+ export function localeCandidates(env: LocaleEnvironment): string[] {
100
+ const candidates: string[] = []
101
+ const seen = new Set<string>()
102
+ const add = (tag: string | undefined) => {
103
+ if (typeof tag !== 'string' || tag.length === 0) {
104
+ return
105
+ }
106
+ const normalized = normalizeLocaleTag(tag)
107
+ if (seen.has(normalized)) {
108
+ return
109
+ }
110
+ seen.add(normalized)
111
+ candidates.push(tag)
112
+ }
113
+
114
+ add(env.appLocale)
115
+ for (const tag of env.preferredLanguages ?? []) {
116
+ add(tag)
117
+ }
118
+ add(env.locale)
119
+ return candidates
120
+ }
121
+
122
+ /**
123
+ * Resolves which of the languages a widget ships should be used for this render.
124
+ *
125
+ * `supported` is either the list of language tags the widget has translations for, or the
126
+ * messages object itself keyed by language tag. Returns the matching key, or `undefined` when
127
+ * `supported` is empty.
128
+ *
129
+ * @example
130
+ * const messages = { en: { title: 'Weather' }, pl: { title: 'Pogoda' } }
131
+ * const t = messages[resolveLocale(env, messages) ?? 'en']
132
+ */
133
+ export function resolveLocale<K extends string>(
134
+ env: LocaleEnvironment,
135
+ supported: readonly K[] | Readonly<Record<K, unknown>>
136
+ ): K | undefined {
137
+ const keys = (Array.isArray(supported) ? supported : Object.keys(supported)) as readonly K[]
138
+ return pickLocaleKey(keys, localeCandidates(env))
139
+ }
@@ -113,6 +113,7 @@ export const NAME_TO_SHORT: Record<string, string> = {
113
113
  minimumValueLabel: 'minvl',
114
114
  minLength: 'minl',
115
115
  minWidth: 'minw',
116
+ modifiers: 'mods',
116
117
  monospacedDigit: 'md',
117
118
  multilineTextAlignment: 'mta',
118
119
  name: 'n',
@@ -298,6 +299,7 @@ export const SHORT_TO_NAME: Record<string, string> = {
298
299
  minvl: 'minimumValueLabel',
299
300
  minl: 'minLength',
300
301
  minw: 'minWidth',
302
+ mods: 'modifiers',
301
303
  md: 'monospacedDigit',
302
304
  mta: 'multilineTextAlignment',
303
305
  n: 'name',
@@ -11,4 +11,5 @@ export {
11
11
  VOLTRA_PAYLOAD_VERSION,
12
12
  } from './renderer.js'
13
13
  export { createStylesheetRegistry, type StylesheetRegistry } from './stylesheet-registry.js'
14
+ export type { NativeModifiersProp, NoNativeModifier } from './native-modifiers.js'
14
15
  export type { VoltraVariantRenderer } from './types.js'
@@ -0,0 +1,36 @@
1
+ // Every falsy value means "no modifier", the way React skips falsy children, so `count && modifier` with
2
+ // `count = 0` or `label && [...]` with `label = ''` renders without the modifier instead of failing.
3
+ const isSkippedModifier = (value: unknown) => !value
4
+
5
+ /**
6
+ * A value that means "no modifier", for the whole `modifiers` prop or for one entry, so that
7
+ * `[count && modifier]` and `label && [...]` type-check. `NaN` is skipped at runtime as well.
8
+ */
9
+ export type NoNativeModifier = false | null | undefined | 0 | ''
10
+
11
+ /** The `modifiers` prop of a platform's components, typed by that platform's modifier. */
12
+ export type NativeModifiersProp<Modifier> = readonly (Modifier | NoNativeModifier)[] | NoNativeModifier
13
+
14
+ /**
15
+ * Encodes the `modifiers` prop as a JSON string, so that no parsing layer treats the descriptors as
16
+ * children or rewrites their keys (ADR 0005). Returns `undefined` when there is nothing to send.
17
+ */
18
+ export function encodeNativeModifiers(value: unknown): string | undefined {
19
+ // `modifiers={condition && [...]}` and `[condition && modifier]` mean "no modifier", not a render
20
+ // error, whatever falsy value the condition produces.
21
+ if (isSkippedModifier(value)) {
22
+ return undefined
23
+ }
24
+ if (!Array.isArray(value)) {
25
+ throw new Error('The `modifiers` prop must be an array of native modifiers.')
26
+ }
27
+ const modifiers = value.filter((modifier) => !isSkippedModifier(modifier))
28
+ for (const modifier of modifiers) {
29
+ if (typeof modifier !== 'object' || typeof modifier.$type !== 'string') {
30
+ throw new Error(
31
+ 'The `modifiers` prop only accepts values created by `Voltra.modifiers` or `VoltraAndroid.modifiers`.'
32
+ )
33
+ }
34
+ }
35
+ return modifiers.length > 0 ? JSON.stringify(modifiers) : undefined
36
+ }
@@ -28,6 +28,7 @@ import { shorten } from '../payload/short-names.js'
28
28
  import { VoltraElementRef, VoltraNodeJson, VoltraPropValue } from '../types.js'
29
29
  import { ContextRegistry, getContextRegistry } from './context-registry.js'
30
30
  import { getHooksDispatcher, getReactCurrentDispatcher } from './dispatcher.js'
31
+ import { encodeNativeModifiers } from './native-modifiers.js'
31
32
  import { createElementRegistry, type ElementRegistry, preScanForDuplicates } from './element-registry.js'
32
33
  import { flattenStyle } from './flatten-styles.js'
33
34
  import { getRenderCache, type RenderCache } from './render-cache.js'
@@ -406,6 +407,13 @@ export function transformProps(
406
407
  } else {
407
408
  transformed[shortKey] = compressStyleObject(value)
408
409
  }
410
+ } else if (key === 'modifiers') {
411
+ // Native modifiers travel as a JSON-encoded string so that no parsing layer treats the
412
+ // descriptors as children or rewrites their keys (ADR 0005).
413
+ const encoded = encodeNativeModifiers(value)
414
+ if (encoded !== undefined) {
415
+ transformed[shorten(key)] = encoded
416
+ }
409
417
  } else if (isReactNode(value)) {
410
418
  const serializedComponent = renderNode(value, {
411
419
  registry: getContextRegistry(),