@wavemaker-ai/react-runtime 1.0.0-rc.647469 → 1.0.0-rc.647502

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 (315) hide show
  1. package/actions/base-action.d.ts +7 -0
  2. package/actions/login-action.d.ts +11 -0
  3. package/actions/logout-action.d.ts +10 -0
  4. package/actions/navigation-action.d.ts +35 -0
  5. package/actions/navigation-action.js +23 -5
  6. package/actions/notification-action.d.ts +20 -0
  7. package/actions/timer-action.d.ts +27 -0
  8. package/components/advanced/carousel/index.d.ts +1 -0
  9. package/components/advanced/carousel/index.js +2 -1
  10. package/components/advanced/carousel/template.d.ts +1 -0
  11. package/components/advanced/carousel/template.js +2 -1
  12. package/components/advanced/login/index.d.ts +1 -0
  13. package/components/advanced/marquee/index.d.ts +1 -0
  14. package/components/advanced/marquee/index.js +2 -1
  15. package/components/basic/anchor/index.d.ts +1 -0
  16. package/components/basic/anchor/index.js +4 -3
  17. package/components/basic/audio/index.d.ts +1 -0
  18. package/components/basic/audio/index.js +3 -2
  19. package/components/basic/html/index.d.ts +1 -0
  20. package/components/basic/icon/index.d.ts +1 -0
  21. package/components/basic/icon/index.js +4 -7
  22. package/components/basic/iframe/iframe.utils.d.ts +1 -1
  23. package/components/basic/iframe/iframe.utils.js +8 -4
  24. package/components/basic/iframe/index.d.ts +1 -0
  25. package/components/basic/label/index.d.ts +1 -0
  26. package/components/basic/label/index.js +3 -2
  27. package/components/basic/message/index.js +1 -1
  28. package/components/basic/picture/index.d.ts +1 -0
  29. package/components/basic/picture/index.js +3 -4
  30. package/components/basic/progress-bar/index.d.ts +1 -0
  31. package/components/basic/progress-bar/index.js +2 -1
  32. package/components/basic/progress-circle/index.d.ts +1 -0
  33. package/components/basic/richtexteditor/index.d.ts +2 -0
  34. package/components/basic/search/index.d.ts +3 -0
  35. package/components/basic/search/index.js +7 -4
  36. package/components/basic/search/props.d.ts +2 -0
  37. package/components/basic/spinner/index.d.ts +1 -0
  38. package/components/basic/tile/index.d.ts +1 -0
  39. package/components/basic/tile/index.js +2 -1
  40. package/components/basic/tree/Components/TreeNodeComponent.js +9 -5
  41. package/components/basic/tree/index.d.ts +1 -0
  42. package/components/basic/tree/index.js +14 -3
  43. package/components/basic/tree/utils.d.ts +2 -0
  44. package/components/basic/tree/utils.js +11 -1
  45. package/components/basic/video/index.d.ts +1 -0
  46. package/components/basic/video/index.js +40 -23
  47. package/components/chart/index.d.ts +1 -0
  48. package/components/common/AppSpinner.js +2 -5
  49. package/components/container/accordion/accordion-pane/index.d.ts +1 -0
  50. package/components/container/accordion/accordion-pane/index.js +1 -4
  51. package/components/container/accordion/index.d.ts +1 -0
  52. package/components/container/index.d.ts +3 -0
  53. package/components/container/index.js +6 -1
  54. package/components/container/layout-grid/grid-column/index.d.ts +1 -0
  55. package/components/container/layout-grid/grid-row/index.d.ts +1 -0
  56. package/components/container/layout-grid/index.d.ts +1 -0
  57. package/components/container/layout-grid/index.js +4 -8
  58. package/components/container/linear-layout/index.d.ts +1 -0
  59. package/components/container/linear-layout/linear-layout-item/index.d.ts +1 -0
  60. package/components/container/panel/components/panel-header/index.js +11 -6
  61. package/components/container/panel/components/panel-header/props.d.ts +5 -0
  62. package/components/container/panel/index.d.ts +1 -0
  63. package/components/container/panel/index.js +2 -1
  64. package/components/container/props.d.ts +2 -0
  65. package/components/container/repeat-template/index.d.ts +22 -1
  66. package/components/container/repeat-template/index.js +2 -1
  67. package/components/container/tabs/index.d.ts +3 -1
  68. package/components/container/tabs/index.js +102 -51
  69. package/components/container/tabs/props.d.ts +12 -0
  70. package/components/container/tabs/tab-pane/index.d.ts +1 -0
  71. package/components/container/tabs/tab-pane/index.js +28 -11
  72. package/components/container/wizard/index.d.ts +2 -0
  73. package/components/container/wizard/wizard-step/index.d.ts +1 -0
  74. package/components/container/wizard/wizard-step/index.js +2 -2
  75. package/components/data/card/card-actions/index.d.ts +1 -0
  76. package/components/data/card/card-actions/index.js +3 -5
  77. package/components/data/card/card-content/index.d.ts +1 -0
  78. package/components/data/card/card-content/index.js +3 -13
  79. package/components/data/card/card-footer/index.d.ts +1 -0
  80. package/components/data/card/card-footer/index.js +3 -5
  81. package/components/data/card/index.d.ts +1 -0
  82. package/components/data/card/index.js +3 -14
  83. package/components/data/form/dynamic-fields/index.js +7 -1
  84. package/components/data/form/dynamic-fields/props.d.ts +1 -0
  85. package/components/data/form/form-action/index.d.ts +2 -0
  86. package/components/data/form/form-body/index.js +2 -1
  87. package/components/data/form/form-field/base-field.js +4 -3
  88. package/components/data/form/form-footer/index.js +2 -1
  89. package/components/data/list/components/ListItemWithTemplate.js +4 -2
  90. package/components/data/list/hooks/props.d.ts +2 -2
  91. package/components/data/list/hooks/useListEventHandlers.js +6 -6
  92. package/components/data/list/index.d.ts +2 -0
  93. package/components/data/list/index.js +3 -4
  94. package/components/data/list/props.d.ts +2 -1
  95. package/components/data/list/utils/list-widget-methods.d.ts +2 -1
  96. package/components/data/table/components/RowCells.d.ts +16 -2
  97. package/components/data/table/components/RowCells.js +38 -24
  98. package/components/data/table/components/TableBody.js +11 -3
  99. package/components/data/table/components/TableDataRow.d.ts +3 -0
  100. package/components/data/table/components/TableDataRow.js +11 -3
  101. package/components/data/table/components/TableHeader.js +1 -4
  102. package/components/data/table/hooks/index.d.ts +1 -0
  103. package/components/data/table/hooks/index.js +12 -0
  104. package/components/data/table/hooks/useCustomExpressionColumns.d.ts +16 -0
  105. package/components/data/table/hooks/useCustomExpressionColumns.js +88 -0
  106. package/components/data/table/hooks/useDynamicColumns.js +1 -1
  107. package/components/data/table/hooks/useResponsiveColumns.d.ts +1 -0
  108. package/components/data/table/hooks/useRowSelection.d.ts +1 -1
  109. package/components/data/table/hooks/useRowSelection.js +26 -5
  110. package/components/data/table/hooks/useTableInitialization.js +2 -1
  111. package/components/data/table/index.d.ts +4 -0
  112. package/components/data/table/index.js +77 -12
  113. package/components/data/table/live-table/index.d.ts +1 -0
  114. package/components/data/table/props.d.ts +7 -0
  115. package/components/data/table/table-action/index.d.ts +1 -0
  116. package/components/data/table/table-column/index.d.ts +1 -0
  117. package/components/data/table/table-row/index.d.ts +1 -0
  118. package/components/data/table/table-row-action/index.d.ts +1 -0
  119. package/components/data/table/utils/buildSelectionColumns.js +7 -1
  120. package/components/data/table/utils/columnBuilder.js +1 -1
  121. package/components/data/table/utils/index.js +2 -2
  122. package/components/data/table/utils/renderDisplayCell.js +1 -1
  123. package/components/dialogs/alert-dialog/index.d.ts +2 -0
  124. package/components/dialogs/confirm-dialog/index.d.ts +2 -0
  125. package/components/dialogs/dialog/index.d.ts +2 -0
  126. package/components/dialogs/dialog/index.js +2 -4
  127. package/components/dialogs/dialog-actions/index.d.ts +1 -0
  128. package/components/dialogs/dialog-body/index.d.ts +1 -0
  129. package/components/dialogs/dialog-content/index.d.ts +1 -0
  130. package/components/dialogs/dialog-header/index.d.ts +1 -0
  131. package/components/dialogs/iframe-dialog/index.d.ts +2 -0
  132. package/components/dialogs/login-dialog/index.d.ts +2 -0
  133. package/components/dialogs/page-dialog/index.d.ts +2 -0
  134. package/components/form/button/index.d.ts +1 -0
  135. package/components/form/button/index.js +4 -3
  136. package/components/form/button-group/index.d.ts +1 -0
  137. package/components/form/button-group/index.js +2 -1
  138. package/components/input/calendar/index.d.ts +2 -0
  139. package/components/input/chips/index.d.ts +2 -0
  140. package/components/input/color-picker/index.d.ts +2 -0
  141. package/components/input/composite/index.d.ts +1 -0
  142. package/components/input/currency/index.d.ts +2 -0
  143. package/components/input/default/checkbox/index.d.ts +2 -0
  144. package/components/input/default/checkboxset/index.d.ts +2 -0
  145. package/components/input/default/radioset/index.d.ts +2 -0
  146. package/components/input/default/switch/index.d.ts +2 -0
  147. package/components/input/epoch/date/components/DatePickerPopover.js +11 -29
  148. package/components/input/epoch/date/index.d.ts +1 -0
  149. package/components/input/epoch/datetime/index.d.ts +1 -0
  150. package/components/input/epoch/datetime/index.js +10 -25
  151. package/components/input/epoch/time/index.d.ts +1 -0
  152. package/components/input/epoch/time/index.js +1 -1
  153. package/components/input/epoch/time/utils.d.ts +0 -17
  154. package/components/input/epoch/time/utils.js +1 -18
  155. package/components/input/fileupload/index.d.ts +1 -0
  156. package/components/input/number/index.d.ts +2 -0
  157. package/components/input/rating/index.d.ts +2 -0
  158. package/components/input/rating/index.js +14 -17
  159. package/components/input/select/index.d.ts +2 -0
  160. package/components/input/select/index.js +1 -4
  161. package/components/input/slider/index.d.ts +2 -0
  162. package/components/input/slider/index.js +13 -12
  163. package/components/input/text/index.d.ts +2 -0
  164. package/components/input/text/index.js +3 -14
  165. package/components/input/textarea/index.d.ts +2 -0
  166. package/components/input/textarea/index.js +7 -10
  167. package/components/input/upload/index.d.ts +2 -0
  168. package/components/input/upload/index.js +3 -5
  169. package/components/layout/footer/index.js +2 -1
  170. package/components/layout/footer/props.d.ts +1 -0
  171. package/components/layout/header/index.js +2 -1
  172. package/components/layout/header/props.d.ts +1 -0
  173. package/components/layout/leftnav/index.js +2 -1
  174. package/components/layout/leftnav/props.d.ts +1 -0
  175. package/components/layout/rightnav/index.js +2 -1
  176. package/components/layout/rightnav/props.d.ts +1 -0
  177. package/components/layout/topnav/index.js +2 -1
  178. package/components/layout/topnav/props.d.ts +1 -0
  179. package/components/navbar/index.d.ts +1 -0
  180. package/components/navbar/index.js +2 -1
  181. package/components/navbar/nav/index.d.ts +1 -0
  182. package/components/navbar/nav-item/index.d.ts +1 -0
  183. package/components/navbar/nav-item/index.js +2 -1
  184. package/components/navigation/breadcrumb/index.d.ts +1 -0
  185. package/components/navigation/menu/index.d.ts +1 -0
  186. package/components/navigation/menu/index.js +5 -4
  187. package/components/navigation/popover/index.d.ts +2 -1
  188. package/components/navigation/popover/index.js +1 -1
  189. package/components/page/error-boundary/index.js +5 -5
  190. package/components/page/index.js +13 -9
  191. package/components/page/partial/index.d.ts +1 -0
  192. package/components/prefab/container/index.js +2 -1
  193. package/context/WidgetProvider.js +2 -2
  194. package/core/app.service.js +40 -35
  195. package/core/constants/events.js +6 -0
  196. package/core/constants/index.d.ts +9 -1
  197. package/core/constants/index.js +32 -5
  198. package/core/formatter/date-formatters.d.ts +1 -1
  199. package/core/formatter/date-formatters.js +38 -13
  200. package/core/formatter/types.d.ts +1 -1
  201. package/core/proxy-service.js +15 -5
  202. package/core/security.service.d.ts +12 -0
  203. package/core/util/index.js +3 -2
  204. package/higherOrder/BaseApp.js +2 -2
  205. package/higherOrder/BasePage.d.ts +0 -17
  206. package/higherOrder/BasePage.js +53 -104
  207. package/higherOrder/BasePrefab.js +69 -59
  208. package/higherOrder/props.d.ts +1 -0
  209. package/higherOrder/withBaseWrapper.js +3 -4
  210. package/hooks/useAccess.js +13 -0
  211. package/mui-config/theme-provider.d.ts +3 -0
  212. package/mui-config/theme.d.ts +2 -0
  213. package/mui-config/theme.js +1 -4
  214. package/package-lock.json +2640 -615
  215. package/package.json +23 -4
  216. package/runtime-dynamic/App.d.ts +7 -0
  217. package/runtime-dynamic/App.js +144 -0
  218. package/runtime-dynamic/app-initializer.d.ts +15 -0
  219. package/runtime-dynamic/app-initializer.js +447 -0
  220. package/runtime-dynamic/components/ErrorBoundary.d.ts +18 -0
  221. package/runtime-dynamic/components/ErrorBoundary.js +93 -0
  222. package/runtime-dynamic/components/PageWrapper.d.ts +1 -0
  223. package/runtime-dynamic/components/PageWrapper.js +43 -0
  224. package/runtime-dynamic/components/PrefabPreview.d.ts +1 -0
  225. package/runtime-dynamic/components/PrefabPreview.js +84 -0
  226. package/runtime-dynamic/components/partial-content.d.ts +15 -0
  227. package/runtime-dynamic/components/partial-content.js +50 -0
  228. package/runtime-dynamic/components/prefab-content.d.ts +10 -0
  229. package/runtime-dynamic/components/prefab-content.js +31 -0
  230. package/runtime-dynamic/components/use-dynamic-component.d.ts +10 -0
  231. package/runtime-dynamic/components/use-dynamic-component.js +165 -0
  232. package/runtime-dynamic/factories/build-base-page-like-component.d.ts +8 -0
  233. package/runtime-dynamic/factories/build-base-page-like-component.js +59 -0
  234. package/runtime-dynamic/factories/prefab-factory.d.ts +3 -0
  235. package/runtime-dynamic/factories/prefab-factory.js +82 -0
  236. package/runtime-dynamic/factories/startup-info.d.ts +6 -0
  237. package/runtime-dynamic/factories/startup-info.js +28 -0
  238. package/runtime-dynamic/factories/utils.d.ts +23 -0
  239. package/runtime-dynamic/factories/utils.js +131 -0
  240. package/runtime-dynamic/index.d.ts +14 -0
  241. package/runtime-dynamic/index.js +191 -0
  242. package/runtime-dynamic/main.d.ts +2 -0
  243. package/runtime-dynamic/main.js +84 -0
  244. package/runtime-dynamic/preview-mode.d.ts +15 -0
  245. package/runtime-dynamic/preview-mode.js +31 -0
  246. package/runtime-dynamic/preview-navigation.d.ts +6 -0
  247. package/runtime-dynamic/preview-navigation.js +38 -0
  248. package/runtime-dynamic/preview-resource-base.d.ts +12 -0
  249. package/runtime-dynamic/preview-resource-base.js +65 -0
  250. package/runtime-dynamic/registry/component-registry.d.ts +3 -0
  251. package/runtime-dynamic/registry/component-registry.js +353 -0
  252. package/runtime-dynamic/registry/custom-widget-registry.d.ts +7 -0
  253. package/runtime-dynamic/registry/custom-widget-registry.js +18 -0
  254. package/runtime-dynamic/registry/index.d.ts +2 -0
  255. package/runtime-dynamic/registry/index.js +63 -0
  256. package/runtime-dynamic/registry/store.d.ts +9 -0
  257. package/runtime-dynamic/registry/store.js +26 -0
  258. package/runtime-dynamic/routes.d.ts +2 -0
  259. package/runtime-dynamic/routes.js +107 -0
  260. package/runtime-dynamic/services/app-extension-provider.d.ts +1 -0
  261. package/runtime-dynamic/services/app-extension-provider.js +45 -0
  262. package/runtime-dynamic/services/cache.d.ts +29 -0
  263. package/runtime-dynamic/services/cache.js +57 -0
  264. package/runtime-dynamic/services/component-ref-provider.d.ts +12 -0
  265. package/runtime-dynamic/services/component-ref-provider.js +149 -0
  266. package/runtime-dynamic/services/css-scoping.d.ts +2 -0
  267. package/runtime-dynamic/services/css-scoping.js +53 -0
  268. package/runtime-dynamic/services/fragment-url.d.ts +16 -0
  269. package/runtime-dynamic/services/fragment-url.js +74 -0
  270. package/runtime-dynamic/services/index.d.ts +10 -0
  271. package/runtime-dynamic/services/index.js +152 -0
  272. package/runtime-dynamic/services/markup-transpiler.d.ts +12 -0
  273. package/runtime-dynamic/services/markup-transpiler.js +250 -0
  274. package/runtime-dynamic/services/prefab-resources.d.ts +18 -0
  275. package/runtime-dynamic/services/prefab-resources.js +159 -0
  276. package/runtime-dynamic/services/resource-manager.d.ts +2 -0
  277. package/runtime-dynamic/services/resource-manager.js +66 -0
  278. package/runtime-dynamic/services/script-executor.d.ts +8 -0
  279. package/runtime-dynamic/services/script-executor.js +90 -0
  280. package/runtime-dynamic/services/variable-factory.d.ts +2 -0
  281. package/runtime-dynamic/services/variable-factory.js +260 -0
  282. package/runtime-dynamic/services/variable-registry.d.ts +12 -0
  283. package/runtime-dynamic/services/variable-registry.js +118 -0
  284. package/runtime-dynamic/services/variable-transpiler.d.ts +5 -0
  285. package/runtime-dynamic/services/variable-transpiler.js +159 -0
  286. package/runtime-dynamic/shims/next-image.d.ts +35 -0
  287. package/runtime-dynamic/shims/next-image.js +60 -0
  288. package/runtime-dynamic/shims/next-link.d.ts +25 -0
  289. package/runtime-dynamic/shims/next-link.js +33 -0
  290. package/runtime-dynamic/shims/next-navigation.d.ts +16 -0
  291. package/runtime-dynamic/shims/next-navigation.js +52 -0
  292. package/runtime-dynamic/utils/index.d.ts +9 -0
  293. package/runtime-dynamic/utils/index.js +40 -0
  294. package/store/middleware/navigationMiddleware.js +1 -1
  295. package/store/slices/appConfigSlice.js +10 -8
  296. package/store/slices/authSlice.js +46 -32
  297. package/tsconfig.declaration.tsbuildinfo +1 -1
  298. package/types/index.d.ts +1 -0
  299. package/utils/attr.js +71 -14
  300. package/utils/custom-expression/index.d.ts +43 -0
  301. package/utils/custom-expression/index.js +161 -0
  302. package/utils/custom-expression/parser.d.ts +15 -0
  303. package/utils/custom-expression/parser.js +208 -0
  304. package/utils/layoutsize-util.d.ts +1 -0
  305. package/utils/layoutsize-util.js +57 -0
  306. package/utils/lib-error-skipper.d.ts +4 -26
  307. package/utils/lib-error-skipper.js +41 -165
  308. package/utils/style-utils.d.ts +6 -0
  309. package/utils/style-utils.js +10 -1
  310. package/variables/metadata.service.js +2 -3
  311. package/variables/model-variable.js +10 -7
  312. package/variables/service-variable.d.ts +1 -0
  313. package/variables/service-variable.js +26 -6
  314. package/components/input/epoch/datetime/styled.d.ts +0 -78
  315. package/components/input/epoch/datetime/styled.js +0 -90
@@ -0,0 +1,84 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _typeof = require("@babel/runtime/helpers/typeof");
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.PrefabPreview = PrefabPreview;
9
+ var _react = _interopRequireWildcard(require("react"));
10
+ var _errorBoundary = _interopRequireDefault(require("@wavemaker-ai/react-runtime/components/page/error-boundary"));
11
+ var _common = require("@wavemaker-ai/react-runtime/components/common");
12
+ var _WidgetProvider = require("@wavemaker-ai/react-runtime/context/WidgetProvider");
13
+ var _fragmentUrl = require("../services/fragment-url");
14
+ var _ErrorBoundary = require("./ErrorBoundary");
15
+ var _useDynamicComponent2 = require("./use-dynamic-component");
16
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t2 in e) "default" !== _t2 && {}.hasOwnProperty.call(e, _t2) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t2)) && (i.get || i.set) ? o(f, _t2, i) : f[_t2] = e[_t2]); return f; })(e, t); }
17
+ var __jsx = _react["default"].createElement;
18
+ /** Matches Angular prefab preview `prefabname="__self__"` — root bundle, not `app/prefabs/…`. */
19
+ var PREFAB_PREVIEW_NAME = "__self__";
20
+
21
+ /**
22
+ * Minimal host {@link WidgetProvider} so {@link BasePrefab}'s {@link withBaseWrapper} has
23
+ * {@link usePageContext} before the prefab's own {@link BasePage} mounts (embedded prefabs use the page's provider).
24
+ */
25
+ function PrefabPreviewWidgetHost(_ref) {
26
+ var children = _ref.children;
27
+ var proxy = (0, _react.useRef)({
28
+ Widgets: {},
29
+ App: {
30
+ Widgets: {}
31
+ },
32
+ layoutReady: function layoutReady() {}
33
+ });
34
+ var pageShell = (0, _react.useMemo)(function () {
35
+ return {
36
+ type: "PAGE",
37
+ componentType: "PAGE",
38
+ componentName: "PrefabPreview",
39
+ Widgets: {},
40
+ App: {
41
+ Widgets: {}
42
+ }
43
+ };
44
+ }, []);
45
+ var providerValue = (0, _react.useMemo)(function () {
46
+ return {
47
+ value: pageShell,
48
+ proxy: proxy.current
49
+ };
50
+ }, [pageShell]);
51
+ return __jsx(_WidgetProvider.WidgetProvider, {
52
+ value: providerValue
53
+ }, children);
54
+ }
55
+ function PrefabPreview() {
56
+ var _useDynamicComponent = (0, _useDynamicComponent2.useDynamicComponent)(PREFAB_PREVIEW_NAME, _fragmentUrl.ComponentType.PREFAB),
57
+ Component = _useDynamicComponent.Component,
58
+ isLoading = _useDynamicComponent.isLoading,
59
+ error = _useDynamicComponent.error;
60
+ if (isLoading) {
61
+ return __jsx(_common.AppSpinner, {
62
+ show: true,
63
+ spinnermessages: ["Loading prefab…"]
64
+ });
65
+ }
66
+ if (error) {
67
+ return __jsx(_errorBoundary["default"], {
68
+ error: error,
69
+ title: "Failed to load prefab preview",
70
+ subtitle: "The prefab could not be loaded. Please try again."
71
+ });
72
+ }
73
+ if (!Component) {
74
+ return null;
75
+ }
76
+ return __jsx(_ErrorBoundary.ComponentErrorBoundary, {
77
+ scope: "prefab",
78
+ componentName: PREFAB_PREVIEW_NAME
79
+ }, __jsx(PrefabPreviewWidgetHost, null, __jsx("div", {
80
+ className: "prefab-preview row"
81
+ }, __jsx(Component, {
82
+ prefabname: ""
83
+ }))));
84
+ }
@@ -0,0 +1,15 @@
1
+ import React from "react";
2
+ import { Prettify, BaseProps } from "@wavemaker-ai/react-runtime/higherOrder/props";
3
+ export interface WmPartialContentProp {
4
+ prefab?: boolean;
5
+ content: string;
6
+ partialName?: string;
7
+ params?: string[];
8
+ onLoad?: (widget: {
9
+ viewParent?: Record<string, unknown>;
10
+ }) => void;
11
+ onRender?: (commonComponent: any) => void;
12
+ }
13
+ export type WmPartialContentProps = Prettify<WmPartialContentProp & BaseProps>;
14
+ declare const WmPartialContent: React.MemoExoticComponent<(props: WmPartialContentProps) => import("react/jsx-runtime").JSX.Element>;
15
+ export default WmPartialContent;
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _typeof = require("@babel/runtime/helpers/typeof");
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports["default"] = void 0;
9
+ var _react = _interopRequireWildcard(require("react"));
10
+ var _Container = _interopRequireDefault(require("@mui/material/Container"));
11
+ var _spinner = require("../../components/basic/spinner");
12
+ var _isEqual = _interopRequireDefault(require("lodash-es/isEqual"));
13
+ var _store = require("@wavemaker-ai/react-runtime/runtime-dynamic/registry/store");
14
+ var _fragmentUrl = require("@wavemaker-ai/react-runtime/runtime-dynamic/services/fragment-url");
15
+ var _ErrorBoundary = require("./ErrorBoundary");
16
+ var _useDynamicComponent2 = require("./use-dynamic-component");
17
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t2 in e) "default" !== _t2 && {}.hasOwnProperty.call(e, _t2) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t2)) && (i.get || i.set) ? o(f, _t2, i) : f[_t2] = e[_t2]); return f; })(e, t); }
18
+ var __jsx = _react["default"].createElement;
19
+ var WmPartialContent = /*#__PURE__*/(0, _react.memo)(function (props) {
20
+ var _useDynamicComponent = (0, _useDynamicComponent2.useDynamicComponent)(props === null || props === void 0 ? void 0 : props.content, _fragmentUrl.ComponentType.PARTIAL),
21
+ Component = _useDynamicComponent.Component;
22
+ return __jsx(_ErrorBoundary.ComponentErrorBoundary, {
23
+ scope: "partial",
24
+ componentName: props.content
25
+ }, __jsx(_Container["default"], {
26
+ className: "partial-container"
27
+ }, __jsx(_react.Suspense, {
28
+ fallback: __jsx(_spinner.WmSpinner, {
29
+ show: true,
30
+ listener: props.listener,
31
+ name: "partial-container-spinner"
32
+ })
33
+ }, Component && __jsx(Component, props))));
34
+ }, function (prevProps, nextProps) {
35
+ var staticKeys = ["content", "prefab", "prefabName", "partialName", "styles", "params"];
36
+ var staticEqual = staticKeys.every(function (key) {
37
+ if (key === "styles") {
38
+ return (0, _isEqual["default"])(prevProps[key], nextProps[key]);
39
+ }
40
+ return prevProps[key] === nextProps[key];
41
+ });
42
+ if (!staticEqual) return false;
43
+ var paramNames = nextProps.params || [];
44
+ return paramNames.every(function (p) {
45
+ return prevProps[p] === nextProps[p];
46
+ });
47
+ });
48
+ WmPartialContent.displayName = "WmPartialContent";
49
+ (0, _store.registerComponent)("WmPartialContent", WmPartialContent);
50
+ var _default = exports["default"] = WmPartialContent;
@@ -0,0 +1,10 @@
1
+ import React from "react";
2
+ type PrefabContentProps = {
3
+ prefabname: string;
4
+ content: string;
5
+ params: Record<string, unknown>;
6
+ onRender: (component: React.ComponentType<any>) => void;
7
+ listener: any;
8
+ };
9
+ declare const PrefabContent: (props: PrefabContentProps) => import("react/jsx-runtime").JSX.Element;
10
+ export default PrefabContent;
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+
3
+ var _typeof = require("@babel/runtime/helpers/typeof");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports["default"] = void 0;
8
+ var _react = _interopRequireWildcard(require("react"));
9
+ var _spinner = require("../../components/basic/spinner");
10
+ var _fragmentUrl = require("../services/fragment-url");
11
+ var _ErrorBoundary = require("./ErrorBoundary");
12
+ var _useDynamicComponent2 = require("./use-dynamic-component");
13
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t2 in e) "default" !== _t2 && {}.hasOwnProperty.call(e, _t2) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t2)) && (i.get || i.set) ? o(f, _t2, i) : f[_t2] = e[_t2]); return f; })(e, t); }
14
+ var __jsx = _react["default"].createElement;
15
+ var PrefabContent = function PrefabContent(props) {
16
+ var _useDynamicComponent = (0, _useDynamicComponent2.useDynamicComponent)(props === null || props === void 0 ? void 0 : props.prefabname, _fragmentUrl.ComponentType.PREFAB, {
17
+ prefabName: props === null || props === void 0 ? void 0 : props.prefabname
18
+ }),
19
+ Component = _useDynamicComponent.Component;
20
+ return __jsx(_ErrorBoundary.ComponentErrorBoundary, {
21
+ scope: "prefab",
22
+ componentName: props.prefabname
23
+ }, __jsx(_react.Suspense, {
24
+ fallback: __jsx(_spinner.WmSpinner, {
25
+ show: true,
26
+ listener: props.listener,
27
+ name: "prefab-spinner"
28
+ })
29
+ }, Component && __jsx(Component, props)));
30
+ };
31
+ var _default = exports["default"] = PrefabContent;
@@ -0,0 +1,10 @@
1
+ import { ComponentType } from "../services/fragment-url";
2
+ interface DynamicComponentState {
3
+ Component: React.ComponentType<any> | null;
4
+ isLoading: boolean;
5
+ error: Error | null;
6
+ }
7
+ export declare function useDynamicComponent(componentName: string | undefined, componentType: ComponentType, options?: {
8
+ prefabName?: string;
9
+ }): DynamicComponentState;
10
+ export {};
@@ -0,0 +1,165 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.useDynamicComponent = useDynamicComponent;
8
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
9
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
10
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
+ var _react = require("react");
12
+ var _componentRefProvider = require("../services/component-ref-provider");
13
+ var _fragmentUrl = require("../services/fragment-url");
14
+ var _cache = require("../services/cache");
15
+ var _buildBasePageLikeComponent = require("../factories/build-base-page-like-component");
16
+ var _prefabFactory = require("../factories/prefab-factory");
17
+ /** Third argument is only used for {@link ComponentType.PREFAB}: outbound defaults from prefab `config.json` (see {@link buildPrefabComponent}). */
18
+
19
+ var builders = (0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])({}, _fragmentUrl.ComponentType.PAGE, function (name, fragment) {
20
+ return (0, _buildBasePageLikeComponent.buildBasePageLikeComponent)("page", name, fragment);
21
+ }), _fragmentUrl.ComponentType.PARTIAL, function (name, fragment) {
22
+ return (0, _buildBasePageLikeComponent.buildBasePageLikeComponent)("partial", name, fragment);
23
+ }), _fragmentUrl.ComponentType.PREFAB, function (name, fragment, prefabOutboundDefaults) {
24
+ return (0, _prefabFactory.buildPrefabComponent)(name, fragment, prefabOutboundDefaults !== null && prefabOutboundDefaults !== void 0 ? prefabOutboundDefaults : {});
25
+ });
26
+ function getCachedComponent(componentType, name) {
27
+ if (!name) return undefined;
28
+ return (0, _cache.getComponentFromCache)(componentType, name);
29
+ }
30
+ function resolveInitialState(componentName, componentType) {
31
+ var cached = getCachedComponent(componentType, componentName);
32
+ if (cached) return {
33
+ Component: cached,
34
+ isLoading: false,
35
+ error: null
36
+ };
37
+ return {
38
+ Component: null,
39
+ isLoading: !!componentName,
40
+ error: null
41
+ };
42
+ }
43
+ function getFragmentFetchOptions(componentType, prefabNameOption, resolvedName) {
44
+ if (componentType !== _fragmentUrl.ComponentType.PREFAB) return undefined;
45
+ return {
46
+ prefabName: prefabNameOption || resolvedName
47
+ };
48
+ }
49
+ function useDynamicComponent(componentName, componentType, options) {
50
+ var _useState = (0, _react.useState)(function () {
51
+ return resolveInitialState(componentName, componentType);
52
+ }),
53
+ state = _useState[0],
54
+ setState = _useState[1];
55
+ var activeRequestRef = (0, _react.useRef)(0);
56
+ var load = (0, _react.useCallback)(/*#__PURE__*/function () {
57
+ var _ref = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee(name) {
58
+ var cached, requestId, fetchOptions, _prefabOutboundDefaults, _fragment, builder, Component, error;
59
+ return _regenerator["default"].wrap(function _callee$(_context) {
60
+ while (1) switch (_context.prev = _context.next) {
61
+ case 0:
62
+ cached = getCachedComponent(componentType, name);
63
+ if (!cached) {
64
+ _context.next = 4;
65
+ break;
66
+ }
67
+ setState({
68
+ Component: cached,
69
+ isLoading: false,
70
+ error: null
71
+ });
72
+ return _context.abrupt("return");
73
+ case 4:
74
+ requestId = ++activeRequestRef.current;
75
+ setState({
76
+ Component: null,
77
+ isLoading: true,
78
+ error: null
79
+ });
80
+ _context.prev = 6;
81
+ fetchOptions = getFragmentFetchOptions(componentType, options === null || options === void 0 ? void 0 : options.prefabName, name);
82
+ if (!(componentType === _fragmentUrl.ComponentType.PREFAB)) {
83
+ _context.next = 15;
84
+ break;
85
+ }
86
+ _context.next = 11;
87
+ return (0, _componentRefProvider.getPrefabConfig)(name);
88
+ case 11:
89
+ _context.t0 = _context.sent;
90
+ if (_context.t0) {
91
+ _context.next = 14;
92
+ break;
93
+ }
94
+ _context.t0 = {};
95
+ case 14:
96
+ _prefabOutboundDefaults = _context.t0;
97
+ case 15:
98
+ _context.next = 17;
99
+ return (0, _componentRefProvider.getComponentRef)(name, componentType, fetchOptions);
100
+ case 17:
101
+ _fragment = _context.sent;
102
+ builder = builders[componentType];
103
+ if (builder) {
104
+ _context.next = 21;
105
+ break;
106
+ }
107
+ throw new Error("No builder registered for component type: ".concat(componentType));
108
+ case 21:
109
+ _context.next = 23;
110
+ return builder(name, _fragment, _prefabOutboundDefaults);
111
+ case 23:
112
+ Component = _context.sent;
113
+ (0, _cache.setComponentInCache)(componentType, name, Component);
114
+ if (requestId === activeRequestRef.current) {
115
+ setState({
116
+ Component: Component,
117
+ isLoading: false,
118
+ error: null
119
+ });
120
+ }
121
+ _context.next = 35;
122
+ break;
123
+ case 28:
124
+ _context.prev = 28;
125
+ _context.t1 = _context["catch"](6);
126
+ if (!(requestId !== activeRequestRef.current)) {
127
+ _context.next = 32;
128
+ break;
129
+ }
130
+ return _context.abrupt("return");
131
+ case 32:
132
+ error = _context.t1 instanceof Error ? _context.t1 : new Error("Failed to load ".concat(componentType));
133
+ console.error("Failed to load ".concat(componentType, " \"").concat(name, "\":"), _context.t1);
134
+ setState({
135
+ Component: null,
136
+ isLoading: false,
137
+ error: error
138
+ });
139
+ case 35:
140
+ case "end":
141
+ return _context.stop();
142
+ }
143
+ }, _callee, null, [[6, 28]]);
144
+ }));
145
+ return function (_x) {
146
+ return _ref.apply(this, arguments);
147
+ };
148
+ }(), [componentType, options === null || options === void 0 ? void 0 : options.prefabName]);
149
+ (0, _react.useEffect)(function () {
150
+ if (!componentName) return;
151
+ var cached = getCachedComponent(componentType, componentName);
152
+ if (cached) {
153
+ setState(function (prev) {
154
+ return prev.Component === cached ? prev : {
155
+ Component: cached,
156
+ isLoading: false,
157
+ error: null
158
+ };
159
+ });
160
+ return;
161
+ }
162
+ load(componentName);
163
+ }, [componentName, load, componentType]);
164
+ return state;
165
+ }
@@ -0,0 +1,8 @@
1
+ import React from "react";
2
+ import type { DecodedFragment } from "../services/cache";
3
+ export type BasePageLikeKind = "page" | "partial";
4
+ /**
5
+ * Shared path for dynamically loaded pages and partials: both wrap codegen output
6
+ * with {@link BasePage}, differing only in script scope and startup metadata labels.
7
+ */
8
+ export declare function buildBasePageLikeComponent(kind: BasePageLikeKind, name: string, fragment: DecodedFragment): Promise<React.ComponentType<any>>;
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.buildBasePageLikeComponent = buildBasePageLikeComponent;
8
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
9
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
10
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
11
+ var _react = _interopRequireDefault(require("react"));
12
+ var _BasePage = _interopRequireDefault(require("@wavemaker-ai/react-runtime/higherOrder/BasePage"));
13
+ var _scriptExecutor = require("../services/script-executor");
14
+ var _utils = require("./utils");
15
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
16
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
17
+ /**
18
+ * Shared path for dynamically loaded pages and partials: both wrap codegen output
19
+ * with {@link BasePage}, differing only in script scope and startup metadata labels.
20
+ */
21
+ function buildBasePageLikeComponent(_x, _x2, _x3) {
22
+ return _buildBasePageLikeComponent.apply(this, arguments);
23
+ }
24
+ function _buildBasePageLikeComponent() {
25
+ _buildBasePageLikeComponent = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee(kind, name, fragment) {
26
+ var isPage, WrappedComponent, MemoizedComponent;
27
+ return _regenerator["default"].wrap(function _callee$(_context) {
28
+ while (1) switch (_context.prev = _context.next) {
29
+ case 0:
30
+ isPage = kind === "page";
31
+ _context.next = 3;
32
+ return (0, _utils.buildDynamicComponent)(fragment, {
33
+ componentName: name,
34
+ componentType: isPage ? "page" : "partial",
35
+ scriptScope: isPage ? _scriptExecutor.ScriptScope.PAGE : _scriptExecutor.ScriptScope.PARTIAL,
36
+ hoc: _BasePage["default"],
37
+ componentInfo: function componentInfo(startupInfo) {
38
+ return _objectSpread(_objectSpread({
39
+ componentName: name,
40
+ componentType: isPage ? "PAGE" : "PARTIAL"
41
+ }, startupInfo), {}, {
42
+ isPartOfPrefab: false,
43
+ appLocale: {}
44
+ });
45
+ }
46
+ });
47
+ case 3:
48
+ WrappedComponent = _context.sent;
49
+ MemoizedComponent = /*#__PURE__*/_react["default"].memo(WrappedComponent);
50
+ MemoizedComponent.displayName = isPage ? "BasePage(".concat(name, ")") : "BasePage_Partial(".concat(name, ")");
51
+ return _context.abrupt("return", MemoizedComponent);
52
+ case 7:
53
+ case "end":
54
+ return _context.stop();
55
+ }
56
+ }, _callee);
57
+ }));
58
+ return _buildBasePageLikeComponent.apply(this, arguments);
59
+ }
@@ -0,0 +1,3 @@
1
+ import React from "react";
2
+ import type { DecodedFragment } from "../services/cache";
3
+ export declare function buildPrefabComponent(prefabName: string, fragment: DecodedFragment, defaultPrefabProps: Record<string, unknown>): Promise<React.ComponentType<any>>;
@@ -0,0 +1,82 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.buildPrefabComponent = buildPrefabComponent;
8
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
9
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
12
+ var _react = _interopRequireDefault(require("react"));
13
+ var _BasePrefab = _interopRequireDefault(require("@wavemaker-ai/react-runtime/higherOrder/BasePrefab"));
14
+ var _scriptExecutor = require("../services/script-executor");
15
+ var _utils = require("./utils");
16
+ var __jsx = _react["default"].createElement;
17
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
18
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
19
+ function buildPrefabComponent(_x, _x2, _x3) {
20
+ return _buildPrefabComponent.apply(this, arguments);
21
+ }
22
+ function _buildPrefabComponent() {
23
+ _buildPrefabComponent = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee(prefabName, fragment, defaultPrefabProps) {
24
+ var BasePrefabComponent, DynamicPrefabShell;
25
+ return _regenerator["default"].wrap(function _callee$(_context) {
26
+ while (1) switch (_context.prev = _context.next) {
27
+ case 0:
28
+ _context.next = 2;
29
+ return (0, _utils.buildDynamicComponent)(fragment, {
30
+ componentName: prefabName,
31
+ componentType: "prefab",
32
+ scriptScope: _scriptExecutor.ScriptScope.PREFAB,
33
+ hoc: _BasePrefab["default"],
34
+ componentInfo: function componentInfo(startupInfo) {
35
+ return _objectSpread(_objectSpread({
36
+ type: "PREFAB",
37
+ componentName: prefabName,
38
+ componentType: "PREFAB"
39
+ }, startupInfo), {}, {
40
+ partials: [],
41
+ pages: [],
42
+ prefabInfo: {}
43
+ });
44
+ },
45
+ transpileOptions: {
46
+ isPartOfPrefab: true,
47
+ prefabName: prefabName
48
+ }
49
+ });
50
+ case 2:
51
+ BasePrefabComponent = _context.sent;
52
+ DynamicPrefabShell = /*#__PURE__*/_react["default"].memo(function (props) {
53
+ var _ref, _ref2;
54
+ var resolvedName = (_ref = (_ref2 = props.name) !== null && _ref2 !== void 0 ? _ref2 : defaultPrefabProps.name) !== null && _ref !== void 0 ? _ref : prefabName;
55
+ // Do NOT spread `defaultPrefabProps` as direct props here. The defaults flow
56
+ // into the prefab's internal `prefabInfo` via `outbound` (see `BasePrefab`),
57
+ // and from there into the prefab's own `pageContext` (so `Prefab.x` defaults
58
+ // are still applied). Spreading them as direct props would make them visible
59
+ // to the OUTER `withBaseWrapper`, which mirrors all direct props onto the
60
+ // parent page's `proxy.Widgets[name]`. Each re-render of the wrapper would
61
+ // then clobber any value the prefab itself wrote via `PARTIAL_STATE_SYNC`
62
+ // (e.g. `Prefab.selectedweekdataset = ...`) with the stale default (null),
63
+ // making `Page.Widgets.<prefab>.<prop>` reset to null in preview while
64
+ // codegen — which never spread defaults at this level — worked correctly.
65
+ return __jsx(BasePrefabComponent, (0, _extends2["default"])({
66
+ inbound: props,
67
+ outbound: defaultPrefabProps,
68
+ prefabname: prefabName
69
+ }, props, {
70
+ name: resolvedName
71
+ }));
72
+ });
73
+ DynamicPrefabShell.displayName = "DynamicPrefab(".concat(prefabName, ")");
74
+ return _context.abrupt("return", DynamicPrefabShell);
75
+ case 6:
76
+ case "end":
77
+ return _context.stop();
78
+ }
79
+ }, _callee);
80
+ }));
81
+ return _buildPrefabComponent.apply(this, arguments);
82
+ }
@@ -0,0 +1,6 @@
1
+ export interface StartupInfo {
2
+ startUpVariables: string[];
3
+ startUpActions: string[];
4
+ autoUpdateVariables: string[];
5
+ }
6
+ export declare function buildStartupInfo(variables: Record<string, unknown> | undefined): StartupInfo;
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.buildStartupInfo = buildStartupInfo;
7
+ var TIMER_ACTION_CATEGORY = "wm.TimerAction";
8
+ var AUTO_UPDATE_CATEGORIES = ["wm.Variable", "wm.LiveVariable"];
9
+ function buildStartupInfo(variables) {
10
+ var varDefs = Object.values(variables || {});
11
+ return {
12
+ startUpVariables: varDefs.filter(function (v) {
13
+ return v.startUpdate && v.category !== TIMER_ACTION_CATEGORY;
14
+ }).map(function (v) {
15
+ return v.name;
16
+ }),
17
+ startUpActions: varDefs.filter(function (v) {
18
+ return v.startUpdate && v.category === TIMER_ACTION_CATEGORY;
19
+ }).map(function (v) {
20
+ return v.name;
21
+ }),
22
+ autoUpdateVariables: varDefs.filter(function (v) {
23
+ return v.autoUpdate || AUTO_UPDATE_CATEGORIES.includes(v.category || "") && v.dataBinding && v.dataBinding.length;
24
+ }).map(function (v) {
25
+ return v.name;
26
+ })
27
+ };
28
+ }
@@ -0,0 +1,23 @@
1
+ import React from "react";
2
+ import { ScriptScope } from "../services/script-executor";
3
+ import { buildStartupInfo } from "./startup-info";
4
+ import type { TranspiledOutput, TranspileOptions } from "../services/markup-transpiler";
5
+ import type { DecodedFragment } from "../services/cache";
6
+ interface InnerComponentConfig {
7
+ componentName: string;
8
+ componentType: "page" | "partial" | "prefab";
9
+ transpiled: TranspiledOutput | null;
10
+ styles: string;
11
+ }
12
+ export declare function createDynamicInnerComponent({ componentName, componentType, transpiled, styles, }: InnerComponentConfig): React.FC<any>;
13
+ export interface DynamicComponentConfig {
14
+ componentName: string;
15
+ componentType: "page" | "partial" | "prefab";
16
+ scriptScope: ScriptScope;
17
+ hoc: (...args: any[]) => React.ComponentType<any>;
18
+ componentInfo: (startupInfo: ReturnType<typeof buildStartupInfo>) => Record<string, unknown>;
19
+ transpileOptions?: Partial<TranspileOptions>;
20
+ displayName?: string;
21
+ }
22
+ export declare function buildDynamicComponent(fragment: DecodedFragment, config: DynamicComponentConfig): Promise<React.ComponentType<any>>;
23
+ export {};