@use-voltra/core 1.3.0-rc.1

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 (100) hide show
  1. package/README.md +30 -0
  2. package/build/cjs/index.js +23 -0
  3. package/build/cjs/index.js.map +1 -0
  4. package/build/cjs/jsx/createVoltraComponent.js +21 -0
  5. package/build/cjs/jsx/createVoltraComponent.js.map +1 -0
  6. package/build/cjs/package.json +3 -0
  7. package/build/cjs/payload/short-names.js +331 -0
  8. package/build/cjs/payload/short-names.js.map +1 -0
  9. package/build/cjs/payload.js +26 -0
  10. package/build/cjs/payload.js.map +1 -0
  11. package/build/cjs/renderer/context-registry.js +28 -0
  12. package/build/cjs/renderer/context-registry.js.map +1 -0
  13. package/build/cjs/renderer/dispatcher.js +62 -0
  14. package/build/cjs/renderer/dispatcher.js.map +1 -0
  15. package/build/cjs/renderer/element-registry.js +58 -0
  16. package/build/cjs/renderer/element-registry.js.map +1 -0
  17. package/build/cjs/renderer/flatten-styles.js +23 -0
  18. package/build/cjs/renderer/flatten-styles.js.map +1 -0
  19. package/build/cjs/renderer/index.js +23 -0
  20. package/build/cjs/renderer/index.js.map +1 -0
  21. package/build/cjs/renderer/render-cache.js +19 -0
  22. package/build/cjs/renderer/render-cache.js.map +1 -0
  23. package/build/cjs/renderer/renderer.js +358 -0
  24. package/build/cjs/renderer/renderer.js.map +1 -0
  25. package/build/cjs/renderer/stylesheet-registry.js +47 -0
  26. package/build/cjs/renderer/stylesheet-registry.js.map +1 -0
  27. package/build/cjs/renderer/types.js +3 -0
  28. package/build/cjs/renderer/types.js.map +1 -0
  29. package/build/cjs/styles/index.js +3 -0
  30. package/build/cjs/styles/index.js.map +1 -0
  31. package/build/cjs/styles/types.js +3 -0
  32. package/build/cjs/styles/types.js.map +1 -0
  33. package/build/cjs/types.js +3 -0
  34. package/build/cjs/types.js.map +1 -0
  35. package/build/esm/index.js +7 -0
  36. package/build/esm/index.js.map +1 -0
  37. package/build/esm/jsx/createVoltraComponent.js +16 -0
  38. package/build/esm/jsx/createVoltraComponent.js.map +1 -0
  39. package/build/esm/package.json +3 -0
  40. package/build/esm/payload/short-names.js +326 -0
  41. package/build/esm/payload/short-names.js.map +1 -0
  42. package/build/esm/payload.js +22 -0
  43. package/build/esm/payload.js.map +1 -0
  44. package/build/esm/renderer/context-registry.js +24 -0
  45. package/build/esm/renderer/context-registry.js.map +1 -0
  46. package/build/esm/renderer/dispatcher.js +54 -0
  47. package/build/esm/renderer/dispatcher.js.map +1 -0
  48. package/build/esm/renderer/element-registry.js +53 -0
  49. package/build/esm/renderer/element-registry.js.map +1 -0
  50. package/build/esm/renderer/flatten-styles.js +19 -0
  51. package/build/esm/renderer/flatten-styles.js.map +1 -0
  52. package/build/esm/renderer/index.js +8 -0
  53. package/build/esm/renderer/index.js.map +1 -0
  54. package/build/esm/renderer/render-cache.js +15 -0
  55. package/build/esm/renderer/render-cache.js.map +1 -0
  56. package/build/esm/renderer/renderer.js +351 -0
  57. package/build/esm/renderer/renderer.js.map +1 -0
  58. package/build/esm/renderer/stylesheet-registry.js +43 -0
  59. package/build/esm/renderer/stylesheet-registry.js.map +1 -0
  60. package/build/esm/renderer/types.js +2 -0
  61. package/build/esm/renderer/types.js.map +1 -0
  62. package/build/esm/styles/index.js +2 -0
  63. package/build/esm/styles/index.js.map +1 -0
  64. package/build/esm/styles/types.js +2 -0
  65. package/build/esm/styles/types.js.map +1 -0
  66. package/build/esm/types.js +2 -0
  67. package/build/esm/types.js.map +1 -0
  68. package/build/types/index.d.ts +7 -0
  69. package/build/types/index.d.ts.map +1 -0
  70. package/build/types/jsx/createVoltraComponent.d.ts +12 -0
  71. package/build/types/jsx/createVoltraComponent.d.ts.map +1 -0
  72. package/build/types/payload/short-names.d.ts +5 -0
  73. package/build/types/payload/short-names.d.ts.map +1 -0
  74. package/build/types/payload.d.ts +2 -0
  75. package/build/types/payload.d.ts.map +1 -0
  76. package/build/types/renderer/context-registry.d.ts +13 -0
  77. package/build/types/renderer/context-registry.d.ts.map +1 -0
  78. package/build/types/renderer/dispatcher.d.ts +35 -0
  79. package/build/types/renderer/dispatcher.d.ts.map +1 -0
  80. package/build/types/renderer/element-registry.d.ts +10 -0
  81. package/build/types/renderer/element-registry.d.ts.map +1 -0
  82. package/build/types/renderer/flatten-styles.d.ts +5 -0
  83. package/build/types/renderer/flatten-styles.d.ts.map +1 -0
  84. package/build/types/renderer/index.d.ts +9 -0
  85. package/build/types/renderer/index.d.ts.map +1 -0
  86. package/build/types/renderer/render-cache.d.ts +6 -0
  87. package/build/types/renderer/render-cache.d.ts.map +1 -0
  88. package/build/types/renderer/renderer.d.ts +26 -0
  89. package/build/types/renderer/renderer.d.ts.map +1 -0
  90. package/build/types/renderer/stylesheet-registry.d.ts +6 -0
  91. package/build/types/renderer/stylesheet-registry.d.ts.map +1 -0
  92. package/build/types/renderer/types.d.ts +4 -0
  93. package/build/types/renderer/types.d.ts.map +1 -0
  94. package/build/types/styles/index.d.ts +2 -0
  95. package/build/types/styles/index.d.ts.map +1 -0
  96. package/build/types/styles/types.d.ts +8 -0
  97. package/build/types/styles/types.d.ts.map +1 -0
  98. package/build/types/types.d.ts +36 -0
  99. package/build/types/types.d.ts.map +1 -0
  100. package/package.json +52 -0
@@ -0,0 +1,26 @@
1
+ import { FunctionComponent, ReactNode } from 'react';
2
+ import { VoltraNodeJson, VoltraPropValue } from '../types.js';
3
+ import { ContextRegistry } from './context-registry.js';
4
+ import { type ElementRegistry } from './element-registry.js';
5
+ import { type StylesheetRegistry } from './stylesheet-registry.js';
6
+ export type ComponentRegistry = {
7
+ getComponentId: (name: string) => number;
8
+ };
9
+ type VoltraRenderingContext = {
10
+ registry: ContextRegistry;
11
+ stylesheetRegistry?: StylesheetRegistry;
12
+ elementRegistry?: ElementRegistry;
13
+ duplicates?: Set<ReactNode>;
14
+ inStringOnlyContext?: boolean;
15
+ componentRegistry: ComponentRegistry;
16
+ };
17
+ export declare const renderFunctionalComponent: <TProps>(Component: FunctionComponent<TProps>, props: TProps, context: VoltraRenderingContext) => VoltraNodeJson;
18
+ export declare const renderVariantToJson: (element: ReactNode, componentRegistry: ComponentRegistry) => VoltraNodeJson;
19
+ export declare function transformProps(props: Record<string, unknown>, context: VoltraRenderingContext): Record<string, VoltraPropValue>;
20
+ export declare const VOLTRA_PAYLOAD_VERSION = 1;
21
+ export declare const createVoltraRenderer: (componentRegistry: ComponentRegistry) => {
22
+ addRootNode: (name: string, node: ReactNode) => void;
23
+ render: () => Record<string, any>;
24
+ };
25
+ export {};
26
+ //# sourceMappingURL=renderer.d.ts.map
@@ -0,0 +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;AAED,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;AA0ND,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"}
@@ -0,0 +1,6 @@
1
+ export type StylesheetRegistry = {
2
+ registerStyle: (styleObject: object) => number;
3
+ getStyles: () => Record<string, unknown>[];
4
+ };
5
+ export declare const createStylesheetRegistry: () => StylesheetRegistry;
6
+ //# sourceMappingURL=stylesheet-registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stylesheet-registry.d.ts","sourceRoot":"","sources":["../../../src/renderer/stylesheet-registry.ts"],"names":[],"mappings":"AAgCA,MAAM,MAAM,kBAAkB,GAAG;IAC/B,aAAa,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,MAAM,CAAA;IAC9C,SAAS,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAA;CAC3C,CAAA;AAED,eAAO,MAAM,wBAAwB,QAAO,kBAgB3C,CAAA"}
@@ -0,0 +1,4 @@
1
+ import { ReactNode } from 'react';
2
+ import { VoltraNodeJson } from '../types.js';
3
+ export type VoltraVariantRenderer = (node: ReactNode) => VoltraNodeJson;
4
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/renderer/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAEjC,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAE5C,MAAM,MAAM,qBAAqB,GAAG,CAAC,IAAI,EAAE,SAAS,KAAK,cAAc,CAAA"}
@@ -0,0 +1,2 @@
1
+ export type { VoltraStyleProp, VoltraTextStyle, VoltraTextStyleProp, VoltraViewStyle } from './types.js';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/styles/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,eAAe,EAAE,eAAe,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA"}
@@ -0,0 +1,8 @@
1
+ import type { StyleProp, TextStyle as RNTextStyle, ViewStyle as RNViewStyle } from 'react-native';
2
+ export type VoltraViewStyle = Pick<RNViewStyle, 'flex' | 'flexGrow' | 'flexShrink' | 'flexBasis' | 'alignItems' | 'alignSelf' | 'justifyContent' | 'flexDirection' | 'gap' | 'minWidth' | 'maxWidth' | 'width' | 'minHeight' | 'maxHeight' | 'height' | 'padding' | 'paddingTop' | 'paddingBottom' | 'paddingLeft' | 'paddingRight' | 'paddingHorizontal' | 'paddingVertical' | 'margin' | 'marginTop' | 'marginBottom' | 'marginLeft' | 'marginRight' | 'marginHorizontal' | 'marginVertical' | 'backgroundColor' | 'opacity' | 'borderRadius' | 'borderWidth' | 'borderColor' | 'shadowColor' | 'shadowOffset' | 'shadowOpacity' | 'shadowRadius' | 'overflow' | 'aspectRatio' | 'left' | 'top' | 'position' | 'zIndex' | 'transform'> & {
3
+ glassEffect?: 'clear' | 'identity' | 'regular' | 'none';
4
+ };
5
+ export type VoltraTextStyle = VoltraViewStyle & Pick<RNTextStyle, 'fontSize' | 'fontWeight' | 'fontFamily' | 'color' | 'letterSpacing' | 'fontVariant' | 'textDecorationLine' | 'lineHeight' | 'textAlign'>;
6
+ export type VoltraStyleProp = StyleProp<VoltraViewStyle>;
7
+ export type VoltraTextStyleProp = StyleProp<VoltraTextStyle>;
8
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/styles/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,IAAI,WAAW,EAAE,SAAS,IAAI,WAAW,EAAE,MAAM,cAAc,CAAA;AAEjG,MAAM,MAAM,eAAe,GAAG,IAAI,CAChC,WAAW,EACT,MAAM,GACN,UAAU,GACV,YAAY,GACZ,WAAW,GACX,YAAY,GACZ,WAAW,GACX,gBAAgB,GAChB,eAAe,GACf,KAAK,GACL,UAAU,GACV,UAAU,GACV,OAAO,GACP,WAAW,GACX,WAAW,GACX,QAAQ,GACR,SAAS,GACT,YAAY,GACZ,eAAe,GACf,aAAa,GACb,cAAc,GACd,mBAAmB,GACnB,iBAAiB,GACjB,QAAQ,GACR,WAAW,GACX,cAAc,GACd,YAAY,GACZ,aAAa,GACb,kBAAkB,GAClB,gBAAgB,GAChB,iBAAiB,GACjB,SAAS,GACT,cAAc,GACd,aAAa,GACb,aAAa,GACb,aAAa,GACb,cAAc,GACd,eAAe,GACf,cAAc,GACd,UAAU,GACV,aAAa,GACb,MAAM,GACN,KAAK,GACL,UAAU,GACV,QAAQ,GACR,WAAW,CACd,GAAG;IACF,WAAW,CAAC,EAAE,OAAO,GAAG,UAAU,GAAG,SAAS,GAAG,MAAM,CAAA;CACxD,CAAA;AAED,MAAM,MAAM,eAAe,GAAG,eAAe,GAC3C,IAAI,CACF,WAAW,EACT,UAAU,GACV,YAAY,GACZ,YAAY,GACZ,OAAO,GACP,eAAe,GACf,aAAa,GACb,oBAAoB,GACpB,YAAY,GACZ,WAAW,CACd,CAAA;AAEH,MAAM,MAAM,eAAe,GAAG,SAAS,CAAC,eAAe,CAAC,CAAA;AACxD,MAAM,MAAM,mBAAmB,GAAG,SAAS,CAAC,eAAe,CAAC,CAAA"}
@@ -0,0 +1,36 @@
1
+ export type VoltraPropValue = string | number | boolean | null | VoltraNodeJson;
2
+ export type VoltraElementJson = {
3
+ t: number;
4
+ i?: string;
5
+ c?: VoltraNodeJson;
6
+ p?: Record<string, VoltraPropValue>;
7
+ };
8
+ export type VoltraElementRef = {
9
+ $r: number;
10
+ };
11
+ export type VoltraNodeJson = VoltraElementJson | VoltraElementJson[] | VoltraElementRef | string;
12
+ export type EventSubscription = {
13
+ remove: () => void;
14
+ };
15
+ export type PreloadImageOptions = {
16
+ url: string;
17
+ key: string;
18
+ method?: 'GET' | 'POST' | 'PUT';
19
+ headers?: Record<string, string>;
20
+ };
21
+ export type PreloadImageFailure = {
22
+ key: string;
23
+ error: string;
24
+ };
25
+ export type PreloadImagesResult = {
26
+ succeeded: string[];
27
+ failed: PreloadImageFailure[];
28
+ };
29
+ export type UpdateWidgetOptions = {
30
+ deepLinkUrl?: string;
31
+ };
32
+ export type WidgetServerCredentials = {
33
+ token: string;
34
+ headers?: Record<string, string>;
35
+ };
36
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +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;AAEhG,MAAM,MAAM,iBAAiB,GAAG;IAC9B,MAAM,EAAE,MAAM,IAAI,CAAA;CACnB,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,CAAA;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CACjC,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC,SAAS,EAAE,MAAM,EAAE,CAAA;IACnB,MAAM,EAAE,mBAAmB,EAAE,CAAA;CAC9B,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB,CAAA;AAED,MAAM,MAAM,uBAAuB,GAAG;IACpC,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CACjC,CAAA"}
package/package.json ADDED
@@ -0,0 +1,52 @@
1
+ {
2
+ "name": "@use-voltra/core",
3
+ "version": "1.3.0-rc.1",
4
+ "description": "Shared renderer, types, and payload utilities for Voltra",
5
+ "main": "build/cjs/index.js",
6
+ "module": "build/esm/index.js",
7
+ "types": "build/types/index.d.ts",
8
+ "exports": {
9
+ ".": {
10
+ "types": "./build/types/index.d.ts",
11
+ "require": "./build/cjs/index.js",
12
+ "import": "./build/esm/index.js",
13
+ "default": "./build/esm/index.js"
14
+ },
15
+ "./package.json": "./package.json"
16
+ },
17
+ "files": [
18
+ "build",
19
+ "README.md"
20
+ ],
21
+ "scripts": {
22
+ "build": "node ../../scripts/build-package.mjs packages/core",
23
+ "clean": "rm -rf build",
24
+ "lint": "oxlint src",
25
+ "typecheck": "tsc -p tsconfig.typecheck.json --noEmit"
26
+ },
27
+ "dependencies": {
28
+ "react-is": "^19.2.0"
29
+ },
30
+ "keywords": [
31
+ "react-native",
32
+ "expo",
33
+ "voltra",
34
+ "renderer",
35
+ "jsx"
36
+ ],
37
+ "author": "Saúl Sharma (https://x.com/saul_sharma), Szymon Chmal (https://x.com/chmalszymon)",
38
+ "repository": {
39
+ "type": "git",
40
+ "url": "git+https://github.com/callstackincubator/voltra.git",
41
+ "directory": "packages/core"
42
+ },
43
+ "bugs": {
44
+ "url": "https://github.com/callstackincubator/voltra/issues"
45
+ },
46
+ "license": "MIT",
47
+ "homepage": "https://use-voltra.dev",
48
+ "peerDependencies": {
49
+ "react": "*",
50
+ "react-native": "*"
51
+ }
52
+ }