@wavemaker-ai/react-runtime 1.0.0-rc.324 → 1.0.0-rc.328

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 (124) hide show
  1. package/components/basic/anchor/index.js +3 -0
  2. package/components/basic/icon/index.js +36 -5
  3. package/components/basic/iframe/index.js +18 -8
  4. package/components/basic/label/index.js +4 -3
  5. package/components/basic/search/index.d.ts +72 -3
  6. package/components/basic/search/index.js +75 -21
  7. package/components/basic/search/props.d.ts +4 -0
  8. package/components/common/WmAppIcon/index.js +11 -8
  9. package/components/common/WmAppIcon/props.d.ts +2 -0
  10. package/components/container/accordion/accordion-pane/index.d.ts +1 -0
  11. package/components/container/accordion/accordion-pane/index.js +7 -3
  12. package/components/container/accordion/accordion-pane/props.d.ts +1 -0
  13. package/components/container/index.js +18 -5
  14. package/components/container/layout-grid/grid-row/index.js +1 -1
  15. package/components/container/panel/components/panel-header/index.js +1 -3
  16. package/components/container/tabs/tab-pane/index.d.ts +1 -0
  17. package/components/container/tabs/tab-pane/index.js +2 -2
  18. package/components/container/tabs/tab-pane/props.d.ts +1 -0
  19. package/components/container/wizard/index.js +11 -10
  20. package/components/container/wizard/utils.js +1 -0
  21. package/components/data/form/base-form/hooks/useFormSubmission.d.ts +1 -1
  22. package/components/data/form/base-form/hooks/useFormSubmission.js +3 -1
  23. package/components/data/form/base-form/index.js +11 -14
  24. package/components/data/form/base-form/props.d.ts +3 -0
  25. package/components/data/form/dynamic-fields/WmxDynamicFormField.d.ts +11 -0
  26. package/components/data/form/dynamic-fields/WmxDynamicFormField.js +77 -0
  27. package/components/data/form/dynamic-fields/index.js +12 -1
  28. package/components/data/form/form-controller/withFormController.js +19 -16
  29. package/components/data/form/form-field/base-field.js +8 -5
  30. package/components/data/form/form-field/index.js +15 -8
  31. package/components/data/form/form-field/props.d.ts +1 -0
  32. package/components/data/list/components/ListItemWithTemplate.js +5 -2
  33. package/components/data/list/hooks/useListEffects.js +1 -1
  34. package/components/data/list/index.js +14 -5
  35. package/components/data/list/utils/constants.d.ts +0 -1
  36. package/components/data/list/utils/constants.js +0 -2
  37. package/components/data/table/components/RowCells.js +20 -4
  38. package/components/data/table/components/TableBody.js +5 -3
  39. package/components/data/table/components/TableHeader.js +14 -8
  40. package/components/data/table/components/TablePanelHeading.js +1 -1
  41. package/components/data/table/hooks/useDynamicColumns.js +1 -1
  42. package/components/data/table/hooks/useRowExpansion.js +41 -31
  43. package/components/data/table/hooks/useRowHandlers.d.ts +4 -2
  44. package/components/data/table/hooks/useRowHandlers.js +23 -12
  45. package/components/data/table/hooks/useRowSelection.d.ts +1 -1
  46. package/components/data/table/hooks/useRowSelection.js +80 -66
  47. package/components/data/table/hooks/useServerSideSorting.js +0 -1
  48. package/components/data/table/hooks/useTableColumns.js +16 -8
  49. package/components/data/table/hooks/useTableData.js +0 -1
  50. package/components/data/table/hooks/useTableEdit.js +0 -1
  51. package/components/data/table/hooks/useTableState.js +14 -2
  52. package/components/data/table/index.js +94 -61
  53. package/components/data/table/live-table/index.js +0 -1
  54. package/components/data/table/props.d.ts +8 -0
  55. package/components/data/table/utils/buildSelectionColumns.js +2 -4
  56. package/components/data/table/utils/columnBuilder.d.ts +16 -2
  57. package/components/data/table/utils/columnBuilder.js +14 -9
  58. package/components/data/table/utils/columnWidthDistribution.js +10 -0
  59. package/components/data/table/utils/constants.d.ts +0 -4
  60. package/components/data/table/utils/constants.js +0 -7
  61. package/components/data/table/utils/dynamic-columns.d.ts +1 -1
  62. package/components/data/table/utils/dynamic-columns.js +3 -8
  63. package/components/data/table/utils/expansionColumn.d.ts +23 -0
  64. package/components/data/table/utils/expansionColumn.js +56 -0
  65. package/components/data/table/utils/index.d.ts +23 -3
  66. package/components/data/table/utils/index.js +60 -20
  67. package/components/data/table/utils/selectionUtils.d.ts +5 -0
  68. package/components/data/table/utils/selectionUtils.js +5 -0
  69. package/components/dialogs/dialog/index.js +3 -2
  70. package/components/dialogs/dialog-header/index.js +1 -1
  71. package/components/dialogs/index.js +14 -2
  72. package/components/input/chips/index.js +29 -5
  73. package/components/input/color-picker/index.js +4 -6
  74. package/components/input/default/radioset/index.js +2 -1
  75. package/components/input/epoch/date/index.js +1 -1
  76. package/components/input/select/index.js +3 -5
  77. package/components/input/text/index.js +2 -2
  78. package/components/input/textarea/index.js +42 -17
  79. package/components/navbar/nav/index.js +10 -5
  80. package/components/navigation/breadcrumb/index.js +2 -1
  81. package/components/navigation/popover/index.js +24 -8
  82. package/components/page/index.js +1 -1
  83. package/components/page/page-content/index.js +30 -6
  84. package/components/page/page-content/props.d.ts +1 -0
  85. package/components/page/partial-container/index.js +2 -1
  86. package/components/prefab/index.js +3 -2
  87. package/components/prefab/props.d.ts +1 -0
  88. package/components/wmx/WmxRenderer.d.ts +8 -0
  89. package/components/wmx/WmxRenderer.js +57 -0
  90. package/context/WidgetProvider.js +2 -1
  91. package/core/appstore.js +1 -1
  92. package/core/proxy-service.d.ts +1 -0
  93. package/core/proxy-service.js +53 -2
  94. package/core/util/index.d.ts +0 -2
  95. package/core/util/index.js +3 -30
  96. package/higherOrder/BasePage.js +36 -54
  97. package/higherOrder/DataNav.js +4 -1
  98. package/higherOrder/withBaseWrapper.js +9 -7
  99. package/hooks/useHttp.js +4 -2
  100. package/hooks/useLayoutSize.js +1 -1
  101. package/package-lock.json +240 -607
  102. package/package.json +3 -3
  103. package/runtime-dynamic/app-initializer.js +2 -1
  104. package/runtime-dynamic/components/partial-content.js +4 -1
  105. package/runtime-dynamic/components/wmx-placeholder.d.ts +18 -0
  106. package/runtime-dynamic/components/wmx-placeholder.js +48 -0
  107. package/runtime-dynamic/factories/dynamic-component.js +26 -3
  108. package/runtime-dynamic/main.js +6 -0
  109. package/runtime-dynamic/services/compile-render.js +75 -12
  110. package/runtime-dynamic/services/css-scoping.d.ts +2 -0
  111. package/runtime-dynamic/services/css-scoping.js +39 -20
  112. package/store/slices/i18nSlice.d.ts +0 -1
  113. package/store/slices/i18nSlice.js +0 -2
  114. package/utils/custom-expression/parser.js +11 -8
  115. package/utils/layoutsize-util.js +12 -7
  116. package/utils/style-utils.d.ts +6 -0
  117. package/utils/style-utils.js +10 -0
  118. package/utils/transformedDataset-utils.d.ts +3 -3
  119. package/utils/transformedDataset-utils.js +1 -2
  120. package/utils/wmx.utils.d.ts +6 -0
  121. package/utils/wmx.utils.js +41 -0
  122. package/variables/crud-variable.js +1 -1
  123. package/variables/live-variable.js +1 -1
  124. package/variables/service-variable.js +6 -3
@@ -419,13 +419,16 @@ const withDatasetAwareNavigation = (WrappedComponent) => {
419
419
  if (!navNodes || navNodes.length === 0) {
420
420
  return navNodes;
421
421
  }
422
+ if (!itemid && !binditemid.current) {
423
+ return navNodes;
424
+ }
422
425
  const currentRouteId = getCurrentRouteId();
423
426
  if (!currentRouteId) {
424
427
  return [];
425
428
  }
426
429
  const breadcrumbPath = findPathToNode(navNodes, currentRouteId);
427
430
  return breadcrumbPath.length > 0 ? breadcrumbPath : [];
428
- }, [navNodes]);
431
+ }, [navNodes, itemid]);
429
432
  return /* @__PURE__ */ jsx(
430
433
  WrappedComponent,
431
434
  __spreadProps(__spreadValues({}, props), {
@@ -30,7 +30,7 @@ var __objRest = (source, exclude) => {
30
30
  }
31
31
  return target;
32
32
  };
33
- import { jsx } from "react/jsx-runtime";
33
+ import { createElement } from "react";
34
34
  import React, { useEffect, useMemo, useCallback } from "react";
35
35
  import isEqual from "lodash-es/isEqual";
36
36
  import { useDeviceVisibility } from "../hooks/useDeviceVisibility";
@@ -48,7 +48,7 @@ const withBaseWrapper = (WrappedComponent) => {
48
48
  useEffect(() => {
49
49
  if (name && (props == null ? void 0 : props.iswidget) !== "false" && (pageContext == null ? void 0 : pageContext.Widgets)) {
50
50
  const widget = (widgetFromContext == null ? void 0 : widgetFromContext["data-widget-id"]) === componentWidgetId ? widgetFromContext : {};
51
- const registryEntry = __spreadProps(__spreadValues(__spreadValues({}, props), widget), {
51
+ const registryEntry = __spreadProps(__spreadValues(__spreadValues({}, widget), props), {
52
52
  "data-widget-id": componentWidgetId || void 0,
53
53
  // Ensure widget-id is stored
54
54
  viewParent: proxy
@@ -57,6 +57,7 @@ const withBaseWrapper = (WrappedComponent) => {
57
57
  }
58
58
  }, [name, pageContext == null ? void 0 : pageContext.Widgets, componentWidgetId, props]);
59
59
  const mergedProps = useMemo(() => {
60
+ var _a2;
60
61
  if (!name || !(pageContext == null ? void 0 : pageContext.Widgets) || (props == null ? void 0 : props.iswidget) === "false") {
61
62
  return props;
62
63
  }
@@ -72,8 +73,8 @@ const withBaseWrapper = (WrappedComponent) => {
72
73
  const widgetOverrides = registry == null ? void 0 : registry.getWidgetOverrides(name, componentWidgetId || "");
73
74
  if (widgetOverrides) {
74
75
  Object.keys(widgetOverrides).forEach((key) => {
75
- var _a2;
76
- const internalValue = (_a2 = registry == null ? void 0 : registry.getLastInternalValue) == null ? void 0 : _a2.call(registry, name, key);
76
+ var _a3;
77
+ const internalValue = (_a3 = registry == null ? void 0 : registry.getLastInternalValue) == null ? void 0 : _a3.call(registry, name, key);
77
78
  mergedState[key] = internalValue !== void 0 ? internalValue : widgetOverrides[key];
78
79
  if (props.prefab && key !== "inbound" && key !== "outbound" && key !== "show") {
79
80
  const updatedInbound = __spreadProps(__spreadValues({}, props.inbound), {
@@ -94,7 +95,7 @@ const withBaseWrapper = (WrappedComponent) => {
94
95
  });
95
96
  }
96
97
  } else if (shouldMergeFromContext) {
97
- mergedState = __spreadValues(__spreadValues(__spreadValues(__spreadValues({}, widget), props), (props == null ? void 0 : props.formfield) ? { datavalue: props.datavalue } : { datavalue: widgetDatavalue != null ? widgetDatavalue : props.datavalue }), component === "WmFormField" && !props["value"] && { value: datavalue, datavalue });
98
+ mergedState = __spreadValues(__spreadValues(__spreadValues(__spreadValues({}, widget), props), (props == null ? void 0 : props.formfield) ? { datavalue: props.datavalue } : { datavalue: (_a2 = props.datavalue) != null ? _a2 : widgetDatavalue }), component === "WmFormField" && !props["value"] && { value: datavalue, datavalue });
98
99
  } else {
99
100
  mergedState = __spreadValues(__spreadValues({}, props), component === "WmFormField" && !props["value"] && { value: datavalue, datavalue });
100
101
  }
@@ -153,7 +154,7 @@ const withBaseWrapper = (WrappedComponent) => {
153
154
  }
154
155
  const shouldHide = !showValue && !isDeferLoad;
155
156
  const updateon = (props == null ? void 0 : props.updateon) === "default" ? "keypress" : props == null ? void 0 : props.updateon;
156
- return /* @__PURE__ */ jsx(
157
+ return /* @__PURE__ */ createElement(
157
158
  WrappedComponent,
158
159
  __spreadProps(__spreadValues(__spreadProps(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues({}, rest), mergedProps), updateon && { updateon }), shouldHide && { hidden: true }), deferload !== void 0 && { deferload: deferload.toString() }), {
159
160
  show: (_d = mergedProps == null ? void 0 : mergedProps.show) == null ? void 0 : _d.toString(),
@@ -162,7 +163,8 @@ const withBaseWrapper = (WrappedComponent) => {
162
163
  styles: computedStyles
163
164
  }), (props == null ? void 0 : props.dataset) && { dataset: props == null ? void 0 : props.dataset }), {
164
165
  destroy,
165
- viewParent: proxy
166
+ viewParent: proxy,
167
+ key: (pageContext == null ? void 0 : pageContext.selectedLocale) || "en"
166
168
  })
167
169
  );
168
170
  };
package/hooks/useHttp.js CHANGED
@@ -157,7 +157,7 @@ class ModernHttpService {
157
157
  );
158
158
  }
159
159
  async send(options, variable) {
160
- var _a, _b;
160
+ var _a, _b, _c, _d;
161
161
  const serviceInfo = variable.serviceInfo;
162
162
  let headers = new AxiosHeaders(options.headers);
163
163
  let requestBody = options.data;
@@ -178,8 +178,10 @@ class ModernHttpService {
178
178
  url = variable.config.baseUrl + options.url.replace("./", "/");
179
179
  } else if (url === (serviceInfo == null ? void 0 : serviceInfo.directPath) && options.url.startsWith("http")) {
180
180
  url = options.url;
181
+ } else if (variable.config.baseUrl.includes("/services") && ((_b = options.url) == null ? void 0 : _b.includes("/services"))) {
182
+ url = variable.config.baseUrl + ((_c = options.url.replace("./services", "")) == null ? void 0 : _c.replace("./", "/"));
181
183
  } else {
182
- url = variable.config.baseUrl + ((_b = options.url.replace("./services", "")) == null ? void 0 : _b.replace("./", "/"));
184
+ url = variable.config.baseUrl + ((_d = options.url) == null ? void 0 : _d.replace("./", "/"));
183
185
  }
184
186
  if (!options.isDirectCall) {
185
187
  headers = headers.set("X-Requested-With", "XMLHttpRequest");
@@ -3,7 +3,7 @@ import { layoutSizeUtil } from "../utils/layoutsize-util";
3
3
  function useLayoutSize(ref, layoutWidth, layoutHeight) {
4
4
  useLayoutEffect(() => {
5
5
  if (ref.current && (layoutWidth || layoutHeight)) {
6
- layoutSizeUtil(ref.current, layoutWidth, layoutHeight);
6
+ layoutSizeUtil(ref.current, layoutWidth == null ? void 0 : layoutWidth.trim(), layoutHeight == null ? void 0 : layoutHeight.trim());
7
7
  }
8
8
  }, [layoutWidth, layoutHeight]);
9
9
  }