@bravostudioai/react 0.1.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 (127) hide show
  1. package/bin/encore-lib.js +3 -0
  2. package/dist/_virtual/_commonjsHelpers.js +7 -0
  3. package/dist/_virtual/_commonjsHelpers.js.map +1 -0
  4. package/dist/_virtual/main.js +8 -0
  5. package/dist/_virtual/main.js.map +1 -0
  6. package/dist/_virtual/main2.js +5 -0
  7. package/dist/_virtual/main2.js.map +1 -0
  8. package/dist/app.js +9 -0
  9. package/dist/app.js.map +1 -0
  10. package/dist/cli/commands/download.js +82 -0
  11. package/dist/cli/commands/download.js.map +1 -0
  12. package/dist/cli/commands/generate.js +1526 -0
  13. package/dist/cli/commands/generate.js.map +1 -0
  14. package/dist/cli.js +25 -0
  15. package/dist/cli.js.map +1 -0
  16. package/dist/components/DynamicComponent.js +24 -0
  17. package/dist/components/DynamicComponent.js.map +1 -0
  18. package/dist/components/EncoreApp.js +259 -0
  19. package/dist/components/EncoreApp.js.map +1 -0
  20. package/dist/components/EncoreErrorBoundary.js +33 -0
  21. package/dist/components/EncoreErrorBoundary.js.map +1 -0
  22. package/dist/components/EncoreLoadingFallback.js +20 -0
  23. package/dist/components/EncoreLoadingFallback.js.map +1 -0
  24. package/dist/components.js +1454 -0
  25. package/dist/components.js.map +1 -0
  26. package/dist/constants.d.ts +3 -0
  27. package/dist/constants.d.ts.map +1 -0
  28. package/dist/contexts/EncoreActionContext.js +6 -0
  29. package/dist/contexts/EncoreActionContext.js.map +1 -0
  30. package/dist/contexts/EncoreAppContext.js +9 -0
  31. package/dist/contexts/EncoreAppContext.js.map +1 -0
  32. package/dist/contexts/EncoreBindingContext.js +6 -0
  33. package/dist/contexts/EncoreBindingContext.js.map +1 -0
  34. package/dist/contexts/EncoreComponentIdContext.js +8 -0
  35. package/dist/contexts/EncoreComponentIdContext.js.map +1 -0
  36. package/dist/contexts/EncoreRepeatingContainerContext.js +6 -0
  37. package/dist/contexts/EncoreRepeatingContainerContext.js.map +1 -0
  38. package/dist/hooks/usePusherUpdates.js +60 -0
  39. package/dist/hooks/usePusherUpdates.js.map +1 -0
  40. package/dist/index.js +16 -0
  41. package/dist/index.js.map +1 -0
  42. package/dist/lib/dynamicModules.js +132 -0
  43. package/dist/lib/dynamicModules.js.map +1 -0
  44. package/dist/lib/fetcher.js +58 -0
  45. package/dist/lib/fetcher.js.map +1 -0
  46. package/dist/lib/localMode.js +21 -0
  47. package/dist/lib/localMode.js.map +1 -0
  48. package/dist/lib/packages.js +18 -0
  49. package/dist/lib/packages.js.map +1 -0
  50. package/dist/node_modules/dotenv/lib/main.js +198 -0
  51. package/dist/node_modules/dotenv/lib/main.js.map +1 -0
  52. package/dist/node_modules/dotenv/package.json.js +8 -0
  53. package/dist/node_modules/dotenv/package.json.js.map +1 -0
  54. package/dist/packages/encore-lib/constants.js +6 -0
  55. package/dist/packages/encore-lib/constants.js.map +1 -0
  56. package/dist/src/app.d.ts +5 -0
  57. package/dist/src/app.d.ts.map +1 -0
  58. package/dist/src/cli/commands/download.d.ts +2 -0
  59. package/dist/src/cli/commands/download.d.ts.map +1 -0
  60. package/dist/src/cli/commands/generate.d.ts +2 -0
  61. package/dist/src/cli/commands/generate.d.ts.map +1 -0
  62. package/dist/src/cli/index.d.ts +2 -0
  63. package/dist/src/cli/index.d.ts.map +1 -0
  64. package/dist/src/components/DynamicComponent.d.ts +12 -0
  65. package/dist/src/components/DynamicComponent.d.ts.map +1 -0
  66. package/dist/src/components/EncoreApp.d.ts +27 -0
  67. package/dist/src/components/EncoreApp.d.ts.map +1 -0
  68. package/dist/src/components/EncoreErrorBoundary.d.ts +17 -0
  69. package/dist/src/components/EncoreErrorBoundary.d.ts.map +1 -0
  70. package/dist/src/components/EncoreLoadingFallback.d.ts +4 -0
  71. package/dist/src/components/EncoreLoadingFallback.d.ts.map +1 -0
  72. package/dist/src/components.d.ts +4 -0
  73. package/dist/src/components.d.ts.map +1 -0
  74. package/dist/src/contexts/EncoreActionContext.d.ts +13 -0
  75. package/dist/src/contexts/EncoreActionContext.d.ts.map +1 -0
  76. package/dist/src/contexts/EncoreAppContext.d.ts +8 -0
  77. package/dist/src/contexts/EncoreAppContext.d.ts.map +1 -0
  78. package/dist/src/contexts/EncoreBindingContext.d.ts +5 -0
  79. package/dist/src/contexts/EncoreBindingContext.d.ts.map +1 -0
  80. package/dist/src/contexts/EncoreComponentIdContext.d.ts +8 -0
  81. package/dist/src/contexts/EncoreComponentIdContext.d.ts.map +1 -0
  82. package/dist/src/contexts/EncoreRepeatingContainerContext.d.ts +21 -0
  83. package/dist/src/contexts/EncoreRepeatingContainerContext.d.ts.map +1 -0
  84. package/dist/src/hooks/useAuthRedirect.d.ts +3 -0
  85. package/dist/src/hooks/useAuthRedirect.d.ts.map +1 -0
  86. package/dist/src/hooks/usePusherUpdates.d.ts +18 -0
  87. package/dist/src/hooks/usePusherUpdates.d.ts.map +1 -0
  88. package/dist/src/index.d.ts +8 -0
  89. package/dist/src/index.d.ts.map +1 -0
  90. package/dist/src/lib/dynamicModules.d.ts +8 -0
  91. package/dist/src/lib/dynamicModules.d.ts.map +1 -0
  92. package/dist/src/lib/fetcher.d.ts +5 -0
  93. package/dist/src/lib/fetcher.d.ts.map +1 -0
  94. package/dist/src/lib/localMode.d.ts +3 -0
  95. package/dist/src/lib/localMode.d.ts.map +1 -0
  96. package/dist/src/lib/packages.d.ts +6 -0
  97. package/dist/src/lib/packages.d.ts.map +1 -0
  98. package/dist/src/stores/useEncoreState.d.ts +33 -0
  99. package/dist/src/stores/useEncoreState.d.ts.map +1 -0
  100. package/dist/stores/useEncoreState.js +70 -0
  101. package/dist/stores/useEncoreState.js.map +1 -0
  102. package/package.json +60 -0
  103. package/src/AGENTS.md +161 -0
  104. package/src/README.md +110 -0
  105. package/src/app.ts +5 -0
  106. package/src/cli/commands/download.ts +133 -0
  107. package/src/cli/commands/generate.ts +3045 -0
  108. package/src/cli/index.ts +35 -0
  109. package/src/components/DynamicComponent.tsx +40 -0
  110. package/src/components/EncoreApp.tsx +759 -0
  111. package/src/components/EncoreErrorBoundary.tsx +49 -0
  112. package/src/components/EncoreLoadingFallback.tsx +25 -0
  113. package/src/components.tsx +3155 -0
  114. package/src/contexts/EncoreActionContext.ts +18 -0
  115. package/src/contexts/EncoreAppContext.ts +13 -0
  116. package/src/contexts/EncoreBindingContext.ts +6 -0
  117. package/src/contexts/EncoreComponentIdContext.ts +12 -0
  118. package/src/contexts/EncoreRepeatingContainerContext.ts +30 -0
  119. package/src/hooks/useAuthRedirect.ts +63 -0
  120. package/src/hooks/usePusherUpdates.ts +156 -0
  121. package/src/index.ts +16 -0
  122. package/src/lib/dynamicModules.ts +193 -0
  123. package/src/lib/fetcher.ts +108 -0
  124. package/src/lib/localMode.ts +30 -0
  125. package/src/lib/moduleRegistry.ts +24 -0
  126. package/src/lib/packages.ts +33 -0
  127. package/src/stores/useEncoreState.ts +121 -0
@@ -0,0 +1,33 @@
1
+ import React from "react";
2
+ // import {
3
+ // Link,
4
+ // useSearchParams,
5
+ // useNavigate,
6
+ // useLocation,
7
+ // } from "react-router-dom";
8
+ import axios from "axios";
9
+ import EncoreComponents from "../components";
10
+ import * as EncoreApp from "../app"
11
+ // Note: ../app module doesn't exist in encore-lib, commenting out for now
12
+
13
+ export type Package = {
14
+ exports: unknown;
15
+ };
16
+
17
+ // These are the packages that will be available to remotely loaded code
18
+ const Packages: Record<string, () => Package> = {
19
+ "@/bravo/app": () => ({ exports: EncoreApp }), // Disabled: app module doesn't exist
20
+ // "react-router-dom": () => ({
21
+ // exports: { Link, useSearchParams, useNavigate, useLocation },
22
+ // }),
23
+ axios: () => ({ exports: axios }),
24
+ react: () => ({ exports: React }),
25
+ };
26
+
27
+ // Enable this if you want to use components from local project
28
+ const USE_LOCAL_BRAVO_RN = true;
29
+ if (USE_LOCAL_BRAVO_RN) {
30
+ Packages["@/bravo/components"] = () => ({ exports: EncoreComponents });
31
+ }
32
+
33
+ export default Packages;
@@ -0,0 +1,121 @@
1
+ import { create } from "zustand";
2
+ import { CONST_APPS_SERVICE_URL } from "../../constants";
3
+
4
+ type EncoreState = {
5
+ app: any;
6
+ baseURL: string;
7
+ accessToken?: {
8
+ expireAt: number;
9
+ token: string;
10
+ refreshToken: string;
11
+ params: string;
12
+ };
13
+ appId?: string;
14
+ formInputs: Record<string, Record<string, any>>;
15
+ pageId?: string;
16
+ statefulSetVariants: Record<string, string>;
17
+ inputGroups: Record<string, string>; // Maps group name to active element name
18
+ assetsById: Record<string, any>;
19
+ fontsById: Record<string, string>;
20
+ fontsByIdFull: Record<string, { family: string; postScriptName?: string }>;
21
+
22
+ resetFormInputs: () => void;
23
+ setAccessToken: (accessToken: EncoreState["accessToken"]) => void;
24
+ setApp: (app: any) => void;
25
+ setAppId: (appId: string) => void;
26
+ setFormInputValue: (nodeId: string, value: any) => void;
27
+ setPageId: (pageId: string) => void;
28
+ setStatefulSetVariant: (statefulSetId: string, variant: string) => void;
29
+ setInputGroupValue: (groupName: string, elementName: string) => void;
30
+ setBaseURL: (baseURL: string) => void;
31
+ };
32
+
33
+ const useEncoreState = create<EncoreState>((set) => ({
34
+ app: undefined,
35
+ baseURL:
36
+ import.meta.env.VITE_APPS_SERVICE_URL || CONST_APPS_SERVICE_URL ||
37
+ "https://apps-service-dev.bravostudio.app",
38
+ accessToken: undefined,
39
+ appId: undefined,
40
+ formInputs: {},
41
+ pageId: undefined,
42
+ statefulSetVariants: {},
43
+ inputGroups: {},
44
+ assetsById: {},
45
+ fontsById: {},
46
+ fontsByIdFull: {},
47
+
48
+ resetFormInputs: () => set((state) => ({ ...state, formInputs: {} })),
49
+
50
+ setAccessToken: (accessToken) => set((state) => ({ ...state, accessToken })),
51
+
52
+ setApp: (app: any) =>
53
+ set((state) => ({
54
+ ...state,
55
+ app,
56
+ assetsById:
57
+ app.app?.assets?.reduce?.(
58
+ (acc: Record<string, any>, asset: any) => ({
59
+ ...acc,
60
+ [asset.id]: asset,
61
+ }),
62
+ {}
63
+ ) ?? {},
64
+ fontsById:
65
+ app.app?.fonts?.reduce?.(
66
+ (acc: Record<string, string>, font: any) => ({
67
+ ...acc,
68
+ [font.id]: font.fontName?.family || "sans-serif",
69
+ }),
70
+ {}
71
+ ) ?? {},
72
+ fontsByIdFull:
73
+ app.app?.fonts?.reduce?.(
74
+ (
75
+ acc: Record<string, { family: string; postScriptName?: string }>,
76
+ font: any
77
+ ) => ({
78
+ ...acc,
79
+ [font.id]: {
80
+ family: font.fontName?.family || "sans-serif",
81
+ postScriptName: font.fontName?.postScriptName,
82
+ },
83
+ }),
84
+ {}
85
+ ) ?? {},
86
+ })),
87
+
88
+ setAppId: (appId) => set((state) => ({ ...state, appId })),
89
+
90
+ setFormInputValue: (nodeId, value) =>
91
+ set((state) => {
92
+ const oldPageInputs = state.formInputs[state.pageId!] || {};
93
+ const newPageInputs = { ...oldPageInputs, [nodeId]: value };
94
+ const newInputs = { ...state.formInputs, [state.pageId!]: newPageInputs };
95
+ return { ...state, formInputs: newInputs };
96
+ }),
97
+
98
+ setPageId: (pageId) => set((state) => ({ ...state, pageId })),
99
+
100
+ setStatefulSetVariant: (statefulSetId, variant) =>
101
+ set((state) => ({
102
+ ...state,
103
+ statefulSetVariants: {
104
+ ...state.statefulSetVariants,
105
+ [statefulSetId]: variant,
106
+ },
107
+ })),
108
+
109
+ setInputGroupValue: (groupName, elementName) =>
110
+ set((state) => ({
111
+ ...state,
112
+ inputGroups: {
113
+ ...state.inputGroups,
114
+ [groupName]: elementName,
115
+ },
116
+ })),
117
+
118
+ setBaseURL: (baseURL) => set((state) => ({ ...state, baseURL })),
119
+ }));
120
+
121
+ export default useEncoreState;