@bravostudioai/react 0.1.18 → 0.1.21

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 (99) hide show
  1. package/dist/_virtual/index.js +6 -0
  2. package/dist/_virtual/index.js.map +1 -0
  3. package/dist/_virtual/index2.js +5 -0
  4. package/dist/_virtual/index2.js.map +1 -0
  5. package/dist/_virtual/use-sync-external-store-shim.development.js +5 -0
  6. package/dist/_virtual/use-sync-external-store-shim.development.js.map +1 -0
  7. package/dist/_virtual/use-sync-external-store-shim.production.js +5 -0
  8. package/dist/_virtual/use-sync-external-store-shim.production.js.map +1 -0
  9. package/dist/cli/commands/generate.js +144 -129
  10. package/dist/cli/commands/generate.js.map +1 -1
  11. package/dist/components/DynamicComponent.js.map +1 -1
  12. package/dist/components/EncoreApp.js +42 -39
  13. package/dist/components/EncoreApp.js.map +1 -1
  14. package/dist/components/EncoreErrorBoundary.js.map +1 -1
  15. package/dist/components/EncoreLoadingFallback.js.map +1 -1
  16. package/dist/components.js +343 -336
  17. package/dist/components.js.map +1 -1
  18. package/dist/contexts/EncoreActionContext.js +3 -3
  19. package/dist/contexts/EncoreActionContext.js.map +1 -1
  20. package/dist/contexts/EncoreAppContext.js +2 -2
  21. package/dist/contexts/EncoreAppContext.js.map +1 -1
  22. package/dist/contexts/EncoreBindingContext.js +2 -2
  23. package/dist/contexts/EncoreBindingContext.js.map +1 -1
  24. package/dist/contexts/EncoreComponentIdContext.js +3 -5
  25. package/dist/contexts/EncoreComponentIdContext.js.map +1 -1
  26. package/dist/contexts/EncoreRepeatingContainerContext.js +2 -2
  27. package/dist/contexts/EncoreRepeatingContainerContext.js.map +1 -1
  28. package/dist/contexts/EncoreRouterContext.js +2 -2
  29. package/dist/contexts/EncoreRouterContext.js.map +1 -1
  30. package/dist/hooks/usePusherUpdates.js +1 -1
  31. package/dist/hooks/usePusherUpdates.js.map +1 -1
  32. package/dist/index.js +21 -19
  33. package/dist/index.js.map +1 -1
  34. package/dist/lib/fetcher.js +22 -17
  35. package/dist/lib/fetcher.js.map +1 -1
  36. package/dist/node_modules/dequal/lite/index.js +25 -0
  37. package/dist/node_modules/dequal/lite/index.js.map +1 -0
  38. package/dist/node_modules/swr/dist/_internal/config-context-12s-Dh3trQsc.js +289 -0
  39. package/dist/node_modules/swr/dist/_internal/config-context-12s-Dh3trQsc.js.map +1 -0
  40. package/dist/node_modules/swr/dist/_internal/constants.js +5 -0
  41. package/dist/node_modules/swr/dist/_internal/constants.js.map +1 -0
  42. package/dist/node_modules/swr/dist/_internal/events.js +8 -0
  43. package/dist/node_modules/swr/dist/_internal/events.js.map +1 -0
  44. package/dist/node_modules/swr/dist/_internal/index.js +78 -0
  45. package/dist/node_modules/swr/dist/_internal/index.js.map +1 -0
  46. package/dist/node_modules/swr/dist/index/index.js +216 -0
  47. package/dist/node_modules/swr/dist/index/index.js.map +1 -0
  48. package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js +59 -0
  49. package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js.map +1 -0
  50. package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.js +47 -0
  51. package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.js.map +1 -0
  52. package/dist/node_modules/use-sync-external-store/shim/index.js +11 -0
  53. package/dist/node_modules/use-sync-external-store/shim/index.js.map +1 -0
  54. package/dist/src/cli/commands/generate.d.ts.map +1 -1
  55. package/dist/src/components/DynamicComponent.d.ts.map +1 -1
  56. package/dist/src/components/EncoreApp.d.ts.map +1 -1
  57. package/dist/src/components/EncoreErrorBoundary.d.ts.map +1 -1
  58. package/dist/src/components/EncoreLoadingFallback.d.ts.map +1 -1
  59. package/dist/src/components.d.ts.map +1 -1
  60. package/dist/src/contexts/EncoreActionContext.d.ts +1 -2
  61. package/dist/src/contexts/EncoreActionContext.d.ts.map +1 -1
  62. package/dist/src/contexts/EncoreAppContext.d.ts +1 -2
  63. package/dist/src/contexts/EncoreAppContext.d.ts.map +1 -1
  64. package/dist/src/contexts/EncoreBindingContext.d.ts +1 -2
  65. package/dist/src/contexts/EncoreBindingContext.d.ts.map +1 -1
  66. package/dist/src/contexts/EncoreComponentIdContext.d.ts +1 -2
  67. package/dist/src/contexts/EncoreComponentIdContext.d.ts.map +1 -1
  68. package/dist/src/contexts/EncoreRepeatingContainerContext.d.ts +1 -2
  69. package/dist/src/contexts/EncoreRepeatingContainerContext.d.ts.map +1 -1
  70. package/dist/src/contexts/EncoreRouterContext.d.ts +1 -2
  71. package/dist/src/contexts/EncoreRouterContext.d.ts.map +1 -1
  72. package/dist/src/hooks/useAuthRedirect.d.ts.map +1 -1
  73. package/dist/src/hooks/usePusherUpdates.d.ts.map +1 -1
  74. package/dist/src/index.d.ts +2 -1
  75. package/dist/src/index.d.ts.map +1 -1
  76. package/dist/src/lib/fetcher.d.ts.map +1 -1
  77. package/dist/src/stores/useEncoreState.d.ts.map +1 -1
  78. package/dist/src/version.d.ts +2 -0
  79. package/dist/src/version.d.ts.map +1 -0
  80. package/dist/stores/useEncoreState.js.map +1 -1
  81. package/dist/version.js +5 -0
  82. package/dist/version.js.map +1 -0
  83. package/package.json +3 -2
  84. package/src/components/DynamicComponent.tsx +1 -0
  85. package/src/components/EncoreApp.tsx +3 -1
  86. package/src/components/EncoreErrorBoundary.tsx +36 -35
  87. package/src/components/EncoreLoadingFallback.tsx +19 -18
  88. package/src/components.tsx +5 -34
  89. package/src/contexts/EncoreActionContext.ts +4 -2
  90. package/src/contexts/EncoreAppContext.ts +4 -2
  91. package/src/contexts/EncoreBindingContext.ts +4 -2
  92. package/src/contexts/EncoreComponentIdContext.ts +4 -4
  93. package/src/contexts/EncoreRepeatingContainerContext.ts +4 -3
  94. package/src/contexts/EncoreRouterContext.ts +4 -2
  95. package/src/hooks/useAuthRedirect.ts +2 -0
  96. package/src/hooks/usePusherUpdates.ts +2 -0
  97. package/src/index.ts +2 -0
  98. package/src/stores/useEncoreState.ts +2 -0
  99. package/src/version.ts +1 -0
@@ -1 +1 @@
1
- {"version":3,"file":"usePusherUpdates.d.ts","sourceRoot":"","sources":["../../../src/hooks/usePusherUpdates.ts"],"names":[],"mappings":"AACA,OAAO,MAAM,MAAM,WAAW,CAAC;AAU/B,KAAK,uBAAuB,GAAG;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;CACvB,CAAC;AAWF;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,EAC/B,KAAK,EACL,MAAM,EACN,OAAc,EACd,QAAQ,GACT,EAAE,uBAAuB;;;EAsHzB"}
1
+ {"version":3,"file":"usePusherUpdates.d.ts","sourceRoot":"","sources":["../../../src/hooks/usePusherUpdates.ts"],"names":[],"mappings":"AAGA,OAAO,MAAM,MAAM,WAAW,CAAC;AAU/B,KAAK,uBAAuB,GAAG;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;CACvB,CAAC;AAWF;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,EAC/B,KAAK,EACL,MAAM,EACN,OAAc,EACd,QAAQ,GACT,EAAE,uBAAuB;;;EAsHzB"}
@@ -4,6 +4,7 @@ import EncoreLoadingFallback from "./components/EncoreLoadingFallback";
4
4
  import EncoreAppContext from "./contexts/EncoreAppContext";
5
5
  import EncoreBindingContext from "./contexts/EncoreBindingContext";
6
6
  import useEncoreState from "./stores/useEncoreState";
7
- export { EncoreApp, EncoreErrorBoundary, EncoreLoadingFallback, EncoreAppContext, EncoreBindingContext, useEncoreState, };
7
+ import { PACKAGE_VERSION } from "./version";
8
+ export { EncoreApp, EncoreErrorBoundary, EncoreLoadingFallback, EncoreAppContext, EncoreBindingContext, useEncoreState, PACKAGE_VERSION, };
8
9
  export * from "./codegen";
9
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,SAAS,MAAM,wBAAwB,CAAC;AAC/C,OAAO,mBAAmB,MAAM,kCAAkC,CAAC;AACnE,OAAO,qBAAqB,MAAM,oCAAoC,CAAC;AACvE,OAAO,gBAAgB,MAAM,6BAA6B,CAAC;AAC3D,OAAO,oBAAoB,MAAM,iCAAiC,CAAC;AACnE,OAAO,cAAc,MAAM,yBAAyB,CAAC;AAErD,OAAO,EACL,SAAS,EACT,mBAAmB,EACnB,qBAAqB,EACrB,gBAAgB,EAChB,oBAAoB,EACpB,cAAc,GACf,CAAC;AAEF,cAAc,WAAW,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,SAAS,MAAM,wBAAwB,CAAC;AAC/C,OAAO,mBAAmB,MAAM,kCAAkC,CAAC;AACnE,OAAO,qBAAqB,MAAM,oCAAoC,CAAC;AACvE,OAAO,gBAAgB,MAAM,6BAA6B,CAAC;AAC3D,OAAO,oBAAoB,MAAM,iCAAiC,CAAC;AACnE,OAAO,cAAc,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAE5C,OAAO,EACL,SAAS,EACT,mBAAmB,EACnB,qBAAqB,EACrB,gBAAgB,EAChB,oBAAoB,EACpB,cAAc,EACd,eAAe,GAChB,CAAC;AAEF,cAAc,WAAW,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"fetcher.d.ts","sourceRoot":"","sources":["../../../src/lib/fetcher.ts"],"names":[],"mappings":"AAKA,QAAA,MAAM,iBAAiB,cAEtB,CAAC;AAIF,QAAA,MAAM,OAAO,GAAI,KAAK,MAAM,QA6F3B,CAAC;AAEF,eAAe,OAAO,CAAC;AACvB,OAAO,EAAE,iBAAiB,IAAI,cAAc,EAAE,CAAC"}
1
+ {"version":3,"file":"fetcher.d.ts","sourceRoot":"","sources":["../../../src/lib/fetcher.ts"],"names":[],"mappings":"AAKA,QAAA,MAAM,iBAAiB,cAEtB,CAAC;AAIF,QAAA,MAAM,OAAO,GAAI,KAAK,MAAM,QA2F3B,CAAC;AAEF,eAAe,OAAO,CAAC;AACvB,OAAO,EAAE,iBAAiB,IAAI,cAAc,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"useEncoreState.d.ts","sourceRoot":"","sources":["../../../src/stores/useEncoreState.ts"],"names":[],"mappings":"AAGA,KAAK,WAAW,GAAG;IACjB,GAAG,EAAE,GAAG,CAAC;IACT,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE;QACZ,QAAQ,EAAE,MAAM,CAAC;QACjB,KAAK,EAAE,MAAM,CAAC;QACd,YAAY,EAAE,MAAM,CAAC;QACrB,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;IAChD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5C,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAChC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,cAAc,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAE3E,eAAe,EAAE,MAAM,IAAI,CAAC;IAC5B,cAAc,EAAE,CAAC,WAAW,EAAE,WAAW,CAAC,aAAa,CAAC,KAAK,IAAI,CAAC;IAClE,MAAM,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,IAAI,CAAC;IAC3B,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,iBAAiB,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;IACxD,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,qBAAqB,EAAE,CAAC,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACxE,kBAAkB,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;IACrE,UAAU,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACvC,CAAC;AAEF,QAAA,MAAM,cAAc,0EA4FjB,CAAC;AAEJ,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"useEncoreState.d.ts","sourceRoot":"","sources":["../../../src/stores/useEncoreState.ts"],"names":[],"mappings":"AAKA,KAAK,WAAW,GAAG;IACjB,GAAG,EAAE,GAAG,CAAC;IACT,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE;QACZ,QAAQ,EAAE,MAAM,CAAC;QACjB,KAAK,EAAE,MAAM,CAAC;QACd,YAAY,EAAE,MAAM,CAAC;QACrB,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;IAChD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5C,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAChC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,cAAc,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAE3E,eAAe,EAAE,MAAM,IAAI,CAAC;IAC5B,cAAc,EAAE,CAAC,WAAW,EAAE,WAAW,CAAC,aAAa,CAAC,KAAK,IAAI,CAAC;IAClE,MAAM,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,IAAI,CAAC;IAC3B,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,iBAAiB,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;IACxD,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,qBAAqB,EAAE,CAAC,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACxE,kBAAkB,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;IACrE,UAAU,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACvC,CAAC;AAEF,QAAA,MAAM,cAAc,0EA4FjB,CAAC;AAEJ,eAAe,cAAc,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const PACKAGE_VERSION = "0.1.22";
2
+ //# sourceMappingURL=version.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe,WAAW,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"useEncoreState.js","sources":["../../src/stores/useEncoreState.ts"],"sourcesContent":["import { create } from \"zustand\";\nimport { CONST_APPS_SERVICE_URL } from \"../../constants\";\n\ntype EncoreState = {\n app: any;\n baseURL: string;\n accessToken?: {\n expireAt: number;\n token: string;\n refreshToken: string;\n params: string;\n };\n appId?: string;\n formInputs: Record<string, Record<string, any>>;\n pageId?: string;\n statefulSetVariants: Record<string, string>;\n inputGroups: Record<string, string>; // Maps group name to active element name\n assetsById: Record<string, any>;\n fontsById: Record<string, string>;\n fontsByIdFull: Record<string, { family: string; postScriptName?: string }>;\n\n resetFormInputs: () => void;\n setAccessToken: (accessToken: EncoreState[\"accessToken\"]) => void;\n setApp: (app: any) => void;\n setAppId: (appId: string) => void;\n setFormInputValue: (nodeId: string, value: any) => void;\n setPageId: (pageId: string) => void;\n setStatefulSetVariant: (statefulSetId: string, variant: string) => void;\n setInputGroupValue: (groupName: string, elementName: string) => void;\n setBaseURL: (baseURL: string) => void;\n};\n\nconst useEncoreState = create<EncoreState>((set) => ({\n app: undefined,\n baseURL:\n (typeof import.meta !== \"undefined\" &&\n (import.meta as any).env &&\n (import.meta as any).env.VITE_APPS_SERVICE_URL) ||\n CONST_APPS_SERVICE_URL,\n\n accessToken: undefined,\n appId: undefined,\n formInputs: {},\n pageId: undefined,\n statefulSetVariants: {},\n inputGroups: {},\n assetsById: {},\n fontsById: {},\n fontsByIdFull: {},\n\n resetFormInputs: () => set((state) => ({ ...state, formInputs: {} })),\n\n setAccessToken: (accessToken) => set((state) => ({ ...state, accessToken })),\n\n setApp: (app: any) =>\n set((state) => ({\n ...state,\n app,\n assetsById:\n app.app?.assets?.reduce?.(\n (acc: Record<string, any>, asset: any) => ({\n ...acc,\n [asset.id]: asset,\n }),\n {}\n ) ?? {},\n fontsById:\n app.app?.fonts?.reduce?.(\n (acc: Record<string, string>, font: any) => ({\n ...acc,\n [font.id]:\n font.fontName?.postScriptName ||\n font.fontName?.family ||\n \"sans-serif\",\n }),\n {}\n ) ?? {},\n fontsByIdFull:\n app.app?.fonts?.reduce?.(\n (\n acc: Record<string, { family: string; postScriptName?: string }>,\n font: any\n ) => ({\n ...acc,\n [font.id]: {\n family: font.fontName?.family || \"sans-serif\",\n postScriptName: font.fontName?.postScriptName,\n },\n }),\n {}\n ) ?? {},\n })),\n\n setAppId: (appId) => set((state) => ({ ...state, appId })),\n\n setFormInputValue: (nodeId, value) =>\n set((state) => {\n const oldPageInputs = state.formInputs[state.pageId!] || {};\n const newPageInputs = { ...oldPageInputs, [nodeId]: value };\n const newInputs = { ...state.formInputs, [state.pageId!]: newPageInputs };\n return { ...state, formInputs: newInputs };\n }),\n\n setPageId: (pageId) => set((state) => ({ ...state, pageId })),\n\n setStatefulSetVariant: (statefulSetId, variant) =>\n set((state) => ({\n ...state,\n statefulSetVariants: {\n ...state.statefulSetVariants,\n [statefulSetId]: variant,\n },\n })),\n\n setInputGroupValue: (groupName, elementName) =>\n set((state) => ({\n ...state,\n inputGroups: {\n ...state.inputGroups,\n [groupName]: elementName,\n },\n })),\n\n setBaseURL: (baseURL) => set((state) => ({ ...state, baseURL })),\n}));\n\nexport default useEncoreState;\n"],"names":["useEncoreState","create","set","CONST_APPS_SERVICE_URL","state","accessToken","app","acc","asset","font","appId","nodeId","value","newPageInputs","newInputs","pageId","statefulSetId","variant","groupName","elementName","baseURL"],"mappings":";;AAgCA,MAAMA,IAAiBC,EAAoB,CAACC,OAAS;AAAA,EACnD,KAAK;AAAA,EACL,SAIEC;AAAA,EAEF,aAAa;AAAA,EACb,OAAO;AAAA,EACP,YAAY,CAAA;AAAA,EACZ,QAAQ;AAAA,EACR,qBAAqB,CAAA;AAAA,EACrB,aAAa,CAAA;AAAA,EACb,YAAY,CAAA;AAAA,EACZ,WAAW,CAAA;AAAA,EACX,eAAe,CAAA;AAAA,EAEf,iBAAiB,MAAMD,EAAI,CAACE,OAAW,EAAE,GAAGA,GAAO,YAAY,CAAA,EAAC,EAAI;AAAA,EAEpE,gBAAgB,CAACC,MAAgBH,EAAI,CAACE,OAAW,EAAE,GAAGA,GAAO,aAAAC,EAAA,EAAc;AAAA,EAE3E,QAAQ,CAACC,MACPJ,EAAI,CAACE,OAAW;AAAA,IACd,GAAGA;AAAA,IACH,KAAAE;AAAA,IACA,YACEA,EAAI,KAAK,QAAQ;AAAA,MACf,CAACC,GAA0BC,OAAgB;AAAA,QACzC,GAAGD;AAAA,QACH,CAACC,EAAM,EAAE,GAAGA;AAAA,MAAA;AAAA,MAEd,CAAA;AAAA,IAAC,KACE,CAAA;AAAA,IACP,WACEF,EAAI,KAAK,OAAO;AAAA,MACd,CAACC,GAA6BE,OAAe;AAAA,QAC3C,GAAGF;AAAA,QACH,CAACE,EAAK,EAAE,GACNA,EAAK,UAAU,kBACfA,EAAK,UAAU,UACf;AAAA,MAAA;AAAA,MAEJ,CAAA;AAAA,IAAC,KACE,CAAA;AAAA,IACP,eACEH,EAAI,KAAK,OAAO;AAAA,MACd,CACEC,GACAE,OACI;AAAA,QACJ,GAAGF;AAAA,QACH,CAACE,EAAK,EAAE,GAAG;AAAA,UACT,QAAQA,EAAK,UAAU,UAAU;AAAA,UACjC,gBAAgBA,EAAK,UAAU;AAAA,QAAA;AAAA,MACjC;AAAA,MAEF,CAAA;AAAA,IAAC,KACE,CAAA;AAAA,EAAC,EACR;AAAA,EAEJ,UAAU,CAACC,MAAUR,EAAI,CAACE,OAAW,EAAE,GAAGA,GAAO,OAAAM,EAAA,EAAQ;AAAA,EAEzD,mBAAmB,CAACC,GAAQC,MAC1BV,EAAI,CAACE,MAAU;AAEb,UAAMS,IAAgB,EAAE,GADFT,EAAM,WAAWA,EAAM,MAAO,KAAK,CAAA,GACf,CAACO,CAAM,GAAGC,EAAA,GAC9CE,IAAY,EAAE,GAAGV,EAAM,YAAY,CAACA,EAAM,MAAO,GAAGS,EAAA;AAC1D,WAAO,EAAE,GAAGT,GAAO,YAAYU,EAAA;AAAA,EACjC,CAAC;AAAA,EAEH,WAAW,CAACC,MAAWb,EAAI,CAACE,OAAW,EAAE,GAAGA,GAAO,QAAAW,EAAA,EAAS;AAAA,EAE5D,uBAAuB,CAACC,GAAeC,MACrCf,EAAI,CAACE,OAAW;AAAA,IACd,GAAGA;AAAA,IACH,qBAAqB;AAAA,MACnB,GAAGA,EAAM;AAAA,MACT,CAACY,CAAa,GAAGC;AAAA,IAAA;AAAA,EACnB,EACA;AAAA,EAEJ,oBAAoB,CAACC,GAAWC,MAC9BjB,EAAI,CAACE,OAAW;AAAA,IACd,GAAGA;AAAA,IACH,aAAa;AAAA,MACX,GAAGA,EAAM;AAAA,MACT,CAACc,CAAS,GAAGC;AAAA,IAAA;AAAA,EACf,EACA;AAAA,EAEJ,YAAY,CAACC,MAAYlB,EAAI,CAACE,OAAW,EAAE,GAAGA,GAAO,SAAAgB,IAAU;AACjE,EAAE;"}
1
+ {"version":3,"file":"useEncoreState.js","sources":["../../src/stores/useEncoreState.ts"],"sourcesContent":["\"use client\";\nimport { create } from \"zustand\";\n\nimport { CONST_APPS_SERVICE_URL } from \"../../constants\";\n\ntype EncoreState = {\n app: any;\n baseURL: string;\n accessToken?: {\n expireAt: number;\n token: string;\n refreshToken: string;\n params: string;\n };\n appId?: string;\n formInputs: Record<string, Record<string, any>>;\n pageId?: string;\n statefulSetVariants: Record<string, string>;\n inputGroups: Record<string, string>; // Maps group name to active element name\n assetsById: Record<string, any>;\n fontsById: Record<string, string>;\n fontsByIdFull: Record<string, { family: string; postScriptName?: string }>;\n\n resetFormInputs: () => void;\n setAccessToken: (accessToken: EncoreState[\"accessToken\"]) => void;\n setApp: (app: any) => void;\n setAppId: (appId: string) => void;\n setFormInputValue: (nodeId: string, value: any) => void;\n setPageId: (pageId: string) => void;\n setStatefulSetVariant: (statefulSetId: string, variant: string) => void;\n setInputGroupValue: (groupName: string, elementName: string) => void;\n setBaseURL: (baseURL: string) => void;\n};\n\nconst useEncoreState = create<EncoreState>((set) => ({\n app: undefined,\n baseURL:\n (typeof import.meta !== \"undefined\" &&\n (import.meta as any).env &&\n (import.meta as any).env.VITE_APPS_SERVICE_URL) ||\n CONST_APPS_SERVICE_URL,\n\n accessToken: undefined,\n appId: undefined,\n formInputs: {},\n pageId: undefined,\n statefulSetVariants: {},\n inputGroups: {},\n assetsById: {},\n fontsById: {},\n fontsByIdFull: {},\n\n resetFormInputs: () => set((state) => ({ ...state, formInputs: {} })),\n\n setAccessToken: (accessToken) => set((state) => ({ ...state, accessToken })),\n\n setApp: (app: any) =>\n set((state) => ({\n ...state,\n app,\n assetsById:\n app.app?.assets?.reduce?.(\n (acc: Record<string, any>, asset: any) => ({\n ...acc,\n [asset.id]: asset,\n }),\n {}\n ) ?? {},\n fontsById:\n app.app?.fonts?.reduce?.(\n (acc: Record<string, string>, font: any) => ({\n ...acc,\n [font.id]:\n font.fontName?.postScriptName ||\n font.fontName?.family ||\n \"sans-serif\",\n }),\n {}\n ) ?? {},\n fontsByIdFull:\n app.app?.fonts?.reduce?.(\n (\n acc: Record<string, { family: string; postScriptName?: string }>,\n font: any\n ) => ({\n ...acc,\n [font.id]: {\n family: font.fontName?.family || \"sans-serif\",\n postScriptName: font.fontName?.postScriptName,\n },\n }),\n {}\n ) ?? {},\n })),\n\n setAppId: (appId) => set((state) => ({ ...state, appId })),\n\n setFormInputValue: (nodeId, value) =>\n set((state) => {\n const oldPageInputs = state.formInputs[state.pageId!] || {};\n const newPageInputs = { ...oldPageInputs, [nodeId]: value };\n const newInputs = { ...state.formInputs, [state.pageId!]: newPageInputs };\n return { ...state, formInputs: newInputs };\n }),\n\n setPageId: (pageId) => set((state) => ({ ...state, pageId })),\n\n setStatefulSetVariant: (statefulSetId, variant) =>\n set((state) => ({\n ...state,\n statefulSetVariants: {\n ...state.statefulSetVariants,\n [statefulSetId]: variant,\n },\n })),\n\n setInputGroupValue: (groupName, elementName) =>\n set((state) => ({\n ...state,\n inputGroups: {\n ...state.inputGroups,\n [groupName]: elementName,\n },\n })),\n\n setBaseURL: (baseURL) => set((state) => ({ ...state, baseURL })),\n}));\n\nexport default useEncoreState;\n"],"names":["useEncoreState","create","set","CONST_APPS_SERVICE_URL","state","accessToken","app","acc","asset","font","appId","nodeId","value","newPageInputs","newInputs","pageId","statefulSetId","variant","groupName","elementName","baseURL"],"mappings":";;AAkCA,MAAMA,IAAiBC,EAAoB,CAACC,OAAS;AAAA,EACnD,KAAK;AAAA,EACL,SAIEC;AAAA,EAEF,aAAa;AAAA,EACb,OAAO;AAAA,EACP,YAAY,CAAA;AAAA,EACZ,QAAQ;AAAA,EACR,qBAAqB,CAAA;AAAA,EACrB,aAAa,CAAA;AAAA,EACb,YAAY,CAAA;AAAA,EACZ,WAAW,CAAA;AAAA,EACX,eAAe,CAAA;AAAA,EAEf,iBAAiB,MAAMD,EAAI,CAACE,OAAW,EAAE,GAAGA,GAAO,YAAY,CAAA,EAAC,EAAI;AAAA,EAEpE,gBAAgB,CAACC,MAAgBH,EAAI,CAACE,OAAW,EAAE,GAAGA,GAAO,aAAAC,EAAA,EAAc;AAAA,EAE3E,QAAQ,CAACC,MACPJ,EAAI,CAACE,OAAW;AAAA,IACd,GAAGA;AAAA,IACH,KAAAE;AAAA,IACA,YACEA,EAAI,KAAK,QAAQ;AAAA,MACf,CAACC,GAA0BC,OAAgB;AAAA,QACzC,GAAGD;AAAA,QACH,CAACC,EAAM,EAAE,GAAGA;AAAA,MAAA;AAAA,MAEd,CAAA;AAAA,IAAC,KACE,CAAA;AAAA,IACP,WACEF,EAAI,KAAK,OAAO;AAAA,MACd,CAACC,GAA6BE,OAAe;AAAA,QAC3C,GAAGF;AAAA,QACH,CAACE,EAAK,EAAE,GACNA,EAAK,UAAU,kBACfA,EAAK,UAAU,UACf;AAAA,MAAA;AAAA,MAEJ,CAAA;AAAA,IAAC,KACE,CAAA;AAAA,IACP,eACEH,EAAI,KAAK,OAAO;AAAA,MACd,CACEC,GACAE,OACI;AAAA,QACJ,GAAGF;AAAA,QACH,CAACE,EAAK,EAAE,GAAG;AAAA,UACT,QAAQA,EAAK,UAAU,UAAU;AAAA,UACjC,gBAAgBA,EAAK,UAAU;AAAA,QAAA;AAAA,MACjC;AAAA,MAEF,CAAA;AAAA,IAAC,KACE,CAAA;AAAA,EAAC,EACR;AAAA,EAEJ,UAAU,CAACC,MAAUR,EAAI,CAACE,OAAW,EAAE,GAAGA,GAAO,OAAAM,EAAA,EAAQ;AAAA,EAEzD,mBAAmB,CAACC,GAAQC,MAC1BV,EAAI,CAACE,MAAU;AAEb,UAAMS,IAAgB,EAAE,GADFT,EAAM,WAAWA,EAAM,MAAO,KAAK,CAAA,GACf,CAACO,CAAM,GAAGC,EAAA,GAC9CE,IAAY,EAAE,GAAGV,EAAM,YAAY,CAACA,EAAM,MAAO,GAAGS,EAAA;AAC1D,WAAO,EAAE,GAAGT,GAAO,YAAYU,EAAA;AAAA,EACjC,CAAC;AAAA,EAEH,WAAW,CAACC,MAAWb,EAAI,CAACE,OAAW,EAAE,GAAGA,GAAO,QAAAW,EAAA,EAAS;AAAA,EAE5D,uBAAuB,CAACC,GAAeC,MACrCf,EAAI,CAACE,OAAW;AAAA,IACd,GAAGA;AAAA,IACH,qBAAqB;AAAA,MACnB,GAAGA,EAAM;AAAA,MACT,CAACY,CAAa,GAAGC;AAAA,IAAA;AAAA,EACnB,EACA;AAAA,EAEJ,oBAAoB,CAACC,GAAWC,MAC9BjB,EAAI,CAACE,OAAW;AAAA,IACd,GAAGA;AAAA,IACH,aAAa;AAAA,MACX,GAAGA,EAAM;AAAA,MACT,CAACc,CAAS,GAAGC;AAAA,IAAA;AAAA,EACf,EACA;AAAA,EAEJ,YAAY,CAACC,MAAYlB,EAAI,CAACE,OAAW,EAAE,GAAGA,GAAO,SAAAgB,IAAU;AACjE,EAAE;"}
@@ -0,0 +1,5 @@
1
+ const o = "0.1.22";
2
+ export {
3
+ o as PACKAGE_VERSION
4
+ };
5
+ //# sourceMappingURL=version.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version.js","sources":["../src/version.ts"],"sourcesContent":["export const PACKAGE_VERSION = \"0.1.22\";\n"],"names":["PACKAGE_VERSION"],"mappings":"AAAO,MAAMA,IAAkB;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bravostudioai/react",
3
- "version": "0.1.18",
3
+ "version": "0.1.21",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/src/index.d.ts",
@@ -16,7 +16,8 @@
16
16
  "./contexts/*": "./dist/contexts/*",
17
17
  "./hooks/*": "./dist/hooks/*",
18
18
  "./stores/*": "./dist/stores/*",
19
- "./lib/*": "./dist/lib/*"
19
+ "./lib/*": "./dist/lib/*",
20
+ "./version": "./dist/version.js"
20
21
  },
21
22
  "bin": "./bin/encore-lib.js",
22
23
  "files": [
@@ -1,3 +1,4 @@
1
+ "use client";
1
2
  import React, { useMemo, Suspense } from "react";
2
3
 
3
4
  type Props = {
@@ -1,3 +1,4 @@
1
+ "use client";
1
2
  import useSWR from "swr";
2
3
  import fetcher from "../lib/fetcher";
3
4
  import useEncoreState from "../stores/useEncoreState";
@@ -230,8 +231,9 @@ const EncoreApp = ({
230
231
  console.warn(
231
232
  `[EncoreApp] Font "${
232
233
  postScriptName || family
233
- }" is marked as broken in the database. URL: ${url}`
234
+ }" is marked as broken in the database. URL: ${url} - SKIPPING DOWNLOAD`
234
235
  );
236
+ return;
235
237
  }
236
238
 
237
239
  const familyName = postScriptName || family;
@@ -1,49 +1,50 @@
1
+ "use client";
1
2
  import React from "react";
2
3
 
3
4
  type Props = {
4
- children: React.ReactNode;
5
- fallback?: React.ReactNode;
5
+ children: React.ReactNode;
6
+ fallback?: React.ReactNode;
6
7
  };
7
8
 
8
9
  type State = {
9
- hasError: boolean;
10
- error: unknown;
10
+ hasError: boolean;
11
+ error: unknown;
11
12
  };
12
13
 
13
14
  export default class EncoreErrorBoundary extends React.Component<Props, State> {
14
- constructor(props: Props) {
15
- super(props);
16
- this.state = { hasError: false, error: null };
17
- }
15
+ constructor(props: Props) {
16
+ super(props);
17
+ this.state = { hasError: false, error: null };
18
+ }
18
19
 
19
- static getDerivedStateFromError(error: unknown): State {
20
- return { hasError: true, error };
21
- }
20
+ static getDerivedStateFromError(error: unknown): State {
21
+ return { hasError: true, error };
22
+ }
22
23
 
23
- componentDidCatch(error: unknown) {
24
- // eslint-disable-next-line no-console
25
- console.error("EncoreErrorBoundary caught:", error);
26
- }
24
+ componentDidCatch(error: unknown) {
25
+ // eslint-disable-next-line no-console
26
+ console.error("EncoreErrorBoundary caught:", error);
27
+ }
27
28
 
28
- render() {
29
- if (this.state.hasError) {
30
- return (
31
- this.props.fallback || (
32
- <div
33
- style={{
34
- padding: 16,
35
- color: "#b91c1c",
36
- background: "#fef2f2",
37
- border: "1px solid #fecaca",
38
- borderRadius: 8,
39
- fontFamily: "ui-sans-serif, system-ui, sans-serif",
40
- }}
41
- >
42
- Failed to render. Check console for details.
43
- </div>
44
- )
45
- );
46
- }
47
- return this.props.children;
29
+ render() {
30
+ if (this.state.hasError) {
31
+ return (
32
+ this.props.fallback || (
33
+ <div
34
+ style={{
35
+ padding: 16,
36
+ color: "#b91c1c",
37
+ background: "#fef2f2",
38
+ border: "1px solid #fecaca",
39
+ borderRadius: 8,
40
+ fontFamily: "ui-sans-serif, system-ui, sans-serif",
41
+ }}
42
+ >
43
+ Failed to render. Check console for details.
44
+ </div>
45
+ )
46
+ );
48
47
  }
48
+ return this.props.children;
49
+ }
49
50
  }
@@ -1,25 +1,26 @@
1
+ "use client";
1
2
  import React from "react";
2
3
 
3
4
  const EncoreLoadingFallback: React.FC = () => {
4
- return (
5
- <div className="flex flex-col items-center justify-center h-full w-full bg-white">
6
- <div className="mb-8">
7
- <div
8
- style={{
9
- fontSize: "48px",
10
- fontWeight: "bold",
11
- color: "#6366f1",
12
- fontFamily: "ui-sans-serif, system-ui, sans-serif",
13
- }}
14
- >
15
- Encore
16
- </div>
17
- </div>
18
- <div className="text-gray-700 text-lg font-medium">
19
- <span className="inline-block animate-pulse">loading...</span>
20
- </div>
5
+ return (
6
+ <div className="flex flex-col items-center justify-center h-full w-full bg-white">
7
+ <div className="mb-8">
8
+ <div
9
+ style={{
10
+ fontSize: "48px",
11
+ fontWeight: "bold",
12
+ color: "#6366f1",
13
+ fontFamily: "ui-sans-serif, system-ui, sans-serif",
14
+ }}
15
+ >
16
+ Encore
21
17
  </div>
22
- );
18
+ </div>
19
+ <div className="text-gray-700 text-lg font-medium">
20
+ <span className="inline-block animate-pulse">loading...</span>
21
+ </div>
22
+ </div>
23
+ );
23
24
  };
24
25
 
25
26
  export default EncoreLoadingFallback;
@@ -198,35 +198,6 @@ const useEncoreStyle = (
198
198
  shouldCenterHorizontally = true;
199
199
  }
200
200
 
201
- // If element has explicit width that's nearly full-width (>= 95% of container) and left position
202
- // is in the range 15-35% (which suggests the element should be centered but is
203
- // currently positioned from its left edge), center it using transform
204
- if (
205
- !shouldCenterHorizontally &&
206
- hasExplicitDimensions &&
207
- style.layout?.layoutSizingHorizontal === "FIXED" &&
208
- style.layout?.size?.x
209
- ) {
210
- const elementWidthPx = style.layout.size.x;
211
- const scale = pageContext.scaleFactor ?? 1;
212
- const scaledElementWidth = elementWidthPx * scale;
213
- const containerWidth = containerContext?.dimensions?.width;
214
-
215
- // Check if element width is >= 95% of container width
216
- if (
217
- containerWidth &&
218
- typeof containerWidth === "number" &&
219
- containerWidth > 0
220
- ) {
221
- const widthRatio = scaledElementWidth / containerWidth;
222
- // Element is nearly full width (>= 95%) and left position suggests it should be centered
223
- // The left position range 15-35% is typical for a nearly-full-width element that's meant to be centered
224
- if (widthRatio >= 0.95 && left >= 15 && left <= 35) {
225
- shouldCenterHorizontally = true;
226
- }
227
- }
228
- }
229
-
230
201
  result.top = `${top}%`;
231
202
 
232
203
  // Check if inset exists in original style - if so, we'll need to modify it for centering
@@ -333,14 +304,14 @@ const useEncoreStyle = (
333
304
 
334
305
  result.flexGrow = style.layout.grow;
335
306
  // Set flexWrap: if wrap is explicitly "NO_WRAP", use "nowrap", otherwise default to "wrap" for layouts that need it
336
- if (style.layout.wrap === "NO_WRAP") {
337
- result.flexWrap = "nowrap";
307
+ // Set flexWrap: default to "nowrap" to match Figma's default behavior
308
+ // Only wrap if explicitly requested
309
+ if (style.layout.wrap === "WRAP" || style.layout.flexWrap === "wrap") {
310
+ result.flexWrap = "wrap";
338
311
  } else if (style.layout.flexWrap) {
339
- // If flexWrap is explicitly set, use it
340
312
  result.flexWrap = style.layout.flexWrap;
341
313
  } else {
342
- // Default to wrap for horizontal layouts (allows items to wrap to new rows)
343
- result.flexWrap = "wrap";
314
+ result.flexWrap = "nowrap";
344
315
  }
345
316
 
346
317
  // Always set gap properties for flex containers
@@ -1,4 +1,6 @@
1
- import React from "react";
1
+ "use client";
2
+
3
+ import { createContext } from "react";
2
4
 
3
5
  export type EncoreActionPayload = {
4
6
  bravo: {
@@ -12,6 +14,6 @@ type EncoreActionContextType = {
12
14
  onAction?: (payload: EncoreActionPayload) => void | Promise<void>;
13
15
  };
14
16
 
15
- const EncoreActionContext = React.createContext<EncoreActionContextType>({});
17
+ const EncoreActionContext = createContext<EncoreActionContextType>({});
16
18
 
17
19
  export default EncoreActionContext;
@@ -1,11 +1,13 @@
1
- import React from "react";
1
+ "use client";
2
+
3
+ import { createContext } from "react";
2
4
 
3
5
  type EncoreAppContext = {
4
6
  app: any;
5
7
  baseURL: string;
6
8
  };
7
9
 
8
- const EncoreAppContext = React.createContext<EncoreAppContext>({
10
+ const EncoreAppContext = createContext<EncoreAppContext>({
9
11
  app: null,
10
12
  baseURL: "",
11
13
  });
@@ -1,6 +1,8 @@
1
- import React from "react";
1
+ "use client";
2
+
3
+ import { createContext } from "react";
2
4
 
3
5
  type EncoreBindingContext = {};
4
- const EncoreBindingContext = React.createContext({});
6
+ const EncoreBindingContext = createContext({});
5
7
 
6
8
  export default EncoreBindingContext;
@@ -1,12 +1,12 @@
1
- import React from "react";
1
+ "use client";
2
+
3
+ import { createContext } from "react";
2
4
 
3
5
  type EncoreComponentIdContext = {
4
6
  componentId?: string;
5
7
  statefulSetId?: string; // ID of the parent StatefulSetComponent
6
8
  };
7
9
 
8
- const EncoreComponentIdContext = React.createContext<EncoreComponentIdContext>(
9
- {}
10
- );
10
+ const EncoreComponentIdContext = createContext<EncoreComponentIdContext>({});
11
11
 
12
12
  export default EncoreComponentIdContext;
@@ -1,4 +1,6 @@
1
- import React from "react";
1
+ "use client";
2
+
3
+ import { createContext } from "react";
2
4
 
3
5
  export type RepeatingContainerControl = {
4
6
  currentIndex?: number;
@@ -24,7 +26,6 @@ type EncoreRepeatingContainerContextValue = {
24
26
  };
25
27
 
26
28
  const EncoreRepeatingContainerContext =
27
- React.createContext<EncoreRepeatingContainerContextValue | null>(null);
29
+ createContext<EncoreRepeatingContainerContextValue | null>(null);
28
30
 
29
31
  export default EncoreRepeatingContainerContext;
30
-
@@ -1,4 +1,6 @@
1
- import React, { useContext } from "react";
1
+ "use client";
2
+
3
+ import { useContext, createContext } from "react";
2
4
 
3
5
  export type EncoreRouterContextType = {
4
6
  navigate: (path: string) => void;
@@ -21,7 +23,7 @@ const defaultRouter: EncoreRouterContextType = {
21
23
  };
22
24
 
23
25
  const EncoreRouterContext =
24
- React.createContext<EncoreRouterContextType>(defaultRouter);
26
+ createContext<EncoreRouterContextType>(defaultRouter);
25
27
 
26
28
  export const useEncoreRouter = () => useContext(EncoreRouterContext);
27
29
 
@@ -1,4 +1,6 @@
1
+ "use client";
1
2
  import EncoreAppContext from "../contexts/EncoreAppContext";
3
+
2
4
  import useEncoreState from "../stores/useEncoreState";
3
5
  import { useEncoreRouter } from "../contexts/EncoreRouterContext";
4
6
  import { useContext, useEffect, useMemo } from "react";
@@ -1,4 +1,6 @@
1
+ "use client";
1
2
  import { useEffect, useRef } from "react";
3
+
2
4
  import Pusher from "pusher-js";
3
5
  import { mutate } from "swr";
4
6
  import { clearModuleCache } from "../lib/moduleRegistry";
package/src/index.ts CHANGED
@@ -5,6 +5,7 @@ import EncoreLoadingFallback from "./components/EncoreLoadingFallback";
5
5
  import EncoreAppContext from "./contexts/EncoreAppContext";
6
6
  import EncoreBindingContext from "./contexts/EncoreBindingContext";
7
7
  import useEncoreState from "./stores/useEncoreState";
8
+ import { PACKAGE_VERSION } from "./version";
8
9
 
9
10
  export {
10
11
  EncoreApp,
@@ -13,6 +14,7 @@ export {
13
14
  EncoreAppContext,
14
15
  EncoreBindingContext,
15
16
  useEncoreState,
17
+ PACKAGE_VERSION,
16
18
  };
17
19
 
18
20
  export * from "./codegen";
@@ -1,4 +1,6 @@
1
+ "use client";
1
2
  import { create } from "zustand";
3
+
2
4
  import { CONST_APPS_SERVICE_URL } from "../../constants";
3
5
 
4
6
  type EncoreState = {
package/src/version.ts ADDED
@@ -0,0 +1 @@
1
+ export const PACKAGE_VERSION = "0.1.22";