@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,25 @@
1
+ /**
2
+ * Shim for next/link in the dynamic preview runtime (non-Next.js).
3
+ * Renders a standard <a> element.
4
+ */
5
+ import React from "react";
6
+ interface LinkHref {
7
+ pathname?: string;
8
+ query?: Record<string, string>;
9
+ }
10
+ interface LinkProps {
11
+ href: string | LinkHref;
12
+ as?: string;
13
+ replace?: boolean;
14
+ scroll?: boolean;
15
+ shallow?: boolean;
16
+ prefetch?: boolean;
17
+ locale?: string;
18
+ children?: React.ReactNode;
19
+ className?: string;
20
+ style?: React.CSSProperties;
21
+ onClick?: (event: React.MouseEvent<HTMLAnchorElement>) => void;
22
+ [key: string]: unknown;
23
+ }
24
+ declare function NextLink({ href, children, replace: _replace, scroll: _scroll, shallow: _shallow, prefetch: _prefetch, locale: _locale, as: _as, ...rest }: LinkProps): import("react/jsx-runtime").JSX.Element;
25
+ export default NextLink;
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports["default"] = void 0;
8
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
+ var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
10
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
11
+ var _react = _interopRequireDefault(require("react"));
12
+ var _excluded = ["href", "children", "replace", "scroll", "shallow", "prefetch", "locale", "as"];
13
+ /**
14
+ * Shim for next/link in the dynamic preview runtime (non-Next.js).
15
+ * Renders a standard <a> element.
16
+ */
17
+ var __jsx = _react["default"].createElement;
18
+ function NextLink(_ref) {
19
+ var href = _ref.href,
20
+ children = _ref.children,
21
+ _replace = _ref.replace,
22
+ _scroll = _ref.scroll,
23
+ _shallow = _ref.shallow,
24
+ _prefetch = _ref.prefetch,
25
+ _locale = _ref.locale,
26
+ _as = _ref.as,
27
+ rest = (0, _objectWithoutProperties2["default"])(_ref, _excluded);
28
+ var hrefStr = (0, _typeof2["default"])(href) === "object" ? "".concat(href.pathname || "/").concat(href.query ? "?" + new URLSearchParams(href.query).toString() : "") : href;
29
+ return __jsx("a", (0, _extends2["default"])({
30
+ href: hrefStr
31
+ }, rest), children);
32
+ }
33
+ var _default = exports["default"] = NextLink;
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Shim for next/navigation in the dynamic preview runtime (non-Next.js).
3
+ * Uses standard pathname-based routing (browser history API).
4
+ * Maps shared `react-pages` paths to the preview segment only (this bundle).
5
+ */
6
+ export declare function useSearchParams(): URLSearchParams;
7
+ export declare function usePathname(): string;
8
+ export declare function useRouter(): {
9
+ push: (path: string) => void;
10
+ replace: (path: string) => void;
11
+ back: () => void;
12
+ forward: () => void;
13
+ refresh: () => void;
14
+ prefetch: () => void;
15
+ };
16
+ export declare function useParams(): {};
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useParams = useParams;
7
+ exports.usePathname = usePathname;
8
+ exports.useRouter = useRouter;
9
+ exports.useSearchParams = useSearchParams;
10
+ var _constants = require("@wavemaker-ai/react-runtime/core/constants");
11
+ /**
12
+ * Shim for next/navigation in the dynamic preview runtime (non-Next.js).
13
+ * Uses standard pathname-based routing (browser history API).
14
+ * Maps shared `react-pages` paths to the preview segment only (this bundle).
15
+ */
16
+
17
+ function normalizePath(path) {
18
+ return path.replace(new RegExp("/".concat(_constants.ROUTING_BASEPATH_PRODUCTION, "/"), "g"), "/".concat(_constants.PREVIEW_ROUTING_BASEPATH, "/"));
19
+ }
20
+ function useSearchParams() {
21
+ return new URLSearchParams(window.location.search);
22
+ }
23
+ function usePathname() {
24
+ return window.location.pathname;
25
+ }
26
+ function useRouter() {
27
+ return {
28
+ push: function push(path) {
29
+ var normalizedPath = normalizePath(path);
30
+ window.history.pushState(null, "", normalizedPath);
31
+ window.dispatchEvent(new PopStateEvent("popstate"));
32
+ },
33
+ replace: function replace(path) {
34
+ var normalizedPath = normalizePath(path);
35
+ window.history.replaceState(null, "", normalizedPath);
36
+ window.dispatchEvent(new PopStateEvent("popstate"));
37
+ },
38
+ back: function back() {
39
+ return window.history.back();
40
+ },
41
+ forward: function forward() {
42
+ return window.history.forward();
43
+ },
44
+ refresh: function refresh() {
45
+ return window.location.reload();
46
+ },
47
+ prefetch: function prefetch() {}
48
+ };
49
+ }
50
+ function useParams() {
51
+ return {};
52
+ }
@@ -0,0 +1,9 @@
1
+ export declare function decodeURIComponentSafe(str: string): string;
2
+ export declare function parseJsonSafe(str: string): Record<string, unknown>;
3
+ export declare function getMetaContent(name: string): string;
4
+ /**
5
+ * Yields control back to the browser's main thread via setTimeout(0),
6
+ * allowing it to paint frames and handle user input between heavy
7
+ * compilation phases. Prevents long-task jank (>50ms) that degrades INP.
8
+ */
9
+ export declare const yieldToMain: () => Promise<void>;
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.decodeURIComponentSafe = decodeURIComponentSafe;
7
+ exports.getMetaContent = getMetaContent;
8
+ exports.parseJsonSafe = parseJsonSafe;
9
+ exports.yieldToMain = void 0;
10
+ function decodeURIComponentSafe(str) {
11
+ if (!str) return "";
12
+ try {
13
+ return decodeURIComponent(str.replace(/\+/g, " "));
14
+ } catch (_unused) {
15
+ return str;
16
+ }
17
+ }
18
+ function parseJsonSafe(str) {
19
+ if (!str) return {};
20
+ try {
21
+ return JSON.parse(str);
22
+ } catch (_unused2) {
23
+ return {};
24
+ }
25
+ }
26
+ function getMetaContent(name) {
27
+ var meta = document.querySelector("meta[name=\"".concat(name, "\"]"));
28
+ return (meta === null || meta === void 0 ? void 0 : meta.getAttribute("content")) || "";
29
+ }
30
+
31
+ /**
32
+ * Yields control back to the browser's main thread via setTimeout(0),
33
+ * allowing it to paint frames and handle user input between heavy
34
+ * compilation phases. Prevents long-task jank (>50ms) that degrades INP.
35
+ */
36
+ var yieldToMain = exports.yieldToMain = function yieldToMain() {
37
+ return new Promise(function (resolve) {
38
+ return setTimeout(resolve, 0);
39
+ });
40
+ };
@@ -27,7 +27,7 @@ var navigationMiddleware = exports.navigationMiddleware = function navigationMid
27
27
  loginPage = ((_state$auth$securityC = state.auth.securityConfig) === null || _state$auth$securityC === void 0 || (_state$auth$securityC = _state$auth$securityC.loginConfig) === null || _state$auth$securityC === void 0 ? void 0 : _state$auth$securityC.pageName) || "Login";
28
28
  if (router) {
29
29
  store.dispatch((0, _authSlice.setPageLoading)(false));
30
- router.push("/".concat(_constants.ROUTING_BASEPATH, "/").concat(loginPage));
30
+ router.push("/".concat((0, _constants.getActiveRoutingBasePath)(), "/").concat(loginPage));
31
31
  }
32
32
  }
33
33
  return _context.abrupt("return", result);
@@ -49,17 +49,19 @@ var getServiceDefinitions = exports.getServiceDefinitions = (0, _toolkit.createA
49
49
  }());
50
50
  var getPrefabDefinitions = exports.getPrefabDefinitions = (0, _toolkit.createAsyncThunk)("appConfig/getPrefabDefinitions", /*#__PURE__*/function () {
51
51
  var _ref5 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee2(_ref3, _ref4) {
52
- var prefabName, baseUrl, pages, dispatch, rejectWithValue, _response$data, url, response, data;
52
+ var prefabName, baseUrl, pages, dispatch, rejectWithValue, _response$data, useRootServicedefs, url, response, data;
53
53
  return _regenerator["default"].wrap(function _callee2$(_context2) {
54
54
  while (1) switch (_context2.prev = _context2.next) {
55
55
  case 0:
56
56
  prefabName = _ref3.prefabName, baseUrl = _ref3.baseUrl, pages = _ref3.pages;
57
57
  dispatch = _ref4.dispatch, rejectWithValue = _ref4.rejectWithValue;
58
58
  _context2.prev = 2;
59
- url = "".concat(baseUrl !== null && baseUrl !== void 0 ? baseUrl : "", "/services/prefabs/").concat(prefabName, "/servicedefs").concat(baseUrl ? "" : ".json");
60
- _context2.next = 6;
59
+ // `""` and `__self__`: studio prefab preview root `servicedefs` (metadata uses CONTEXT_APP).
60
+ useRootServicedefs = !prefabName || prefabName === "__self__";
61
+ url = useRootServicedefs ? "".concat(baseUrl !== null && baseUrl !== void 0 ? baseUrl : "", "/services/servicedefs").concat(baseUrl ? "" : ".json") : "".concat(baseUrl !== null && baseUrl !== void 0 ? baseUrl : "", "/services/prefabs/").concat(prefabName, "/servicedefs").concat(baseUrl ? "" : ".json");
62
+ _context2.next = 7;
61
63
  return _axios["default"].get(url);
62
- case 6:
64
+ case 7:
63
65
  response = _context2.sent;
64
66
  data = {
65
67
  serviceDefs: (response === null || response === void 0 || (_response$data = response.data) === null || _response$data === void 0 ? void 0 : _response$data.serviceDefs) || {},
@@ -71,15 +73,15 @@ var getPrefabDefinitions = exports.getPrefabDefinitions = (0, _toolkit.createAsy
71
73
  data: data
72
74
  }));
73
75
  return _context2.abrupt("return", data);
74
- case 12:
75
- _context2.prev = 12;
76
+ case 13:
77
+ _context2.prev = 13;
76
78
  _context2.t0 = _context2["catch"](2);
77
79
  return _context2.abrupt("return", rejectWithValue("Failed to fetch prefab definitions"));
78
- case 15:
80
+ case 16:
79
81
  case "end":
80
82
  return _context2.stop();
81
83
  }
82
- }, _callee2, null, [[2, 12]]);
84
+ }, _callee2, null, [[2, 13]]);
83
85
  }));
84
86
  return function (_x3, _x4) {
85
87
  return _ref5.apply(this, arguments);
@@ -103,16 +103,21 @@ var loadSecurityInfo = exports.loadSecurityInfo = (0, _toolkit.createAsyncThunk)
103
103
  return dispatch((0, _appConfigSlice.getServiceDefinitions)(baseURL)).unwrap();
104
104
  case 18:
105
105
  dispatch(setIsLoggedIn(true));
106
- dispatch(setLandingPage(details.userInfo.landingPage));
107
106
 
108
107
  // Clear access cache when user logs in (permissions might have changed)
109
108
  (0, _useAccess.clearAccessCache)();
110
109
  landingPage = details.userInfo.landingPage;
111
- loginPage = (_secConfig$loginConfi = secConfig.loginConfig) === null || _secConfig$loginConfi === void 0 ? void 0 : _secConfig$loginConfi.pageName; // Extract the last segment of the pathname (the page name)
110
+ loginPage = (_secConfig$loginConfi = secConfig.loginConfig) === null || _secConfig$loginConfi === void 0 ? void 0 : _secConfig$loginConfi.pageName; // Store the landing page as a full routable path so navigateToLandingPage
111
+ // can use it directly without accidentally producing a relative URL.
112
+ if (landingPage) {
113
+ dispatch(setLandingPage("/".concat((0, _constants.getActiveRoutingBasePath)(), "/").concat(landingPage)));
114
+ }
115
+
116
+ // Extract the last segment of the pathname (the page name)
112
117
  currentPageName = pathname.split("/").filter(Boolean).pop();
113
118
  isOnLoginPage = currentPageName === loginPage;
114
119
  if (router && landingPage && isOnLoginPage) {
115
- router.push("/".concat(_constants.ROUTING_BASEPATH, "/").concat(landingPage));
120
+ router.push("/".concat((0, _constants.getActiveRoutingBasePath)(), "/").concat(landingPage));
116
121
  }
117
122
  _context.next = 30;
118
123
  break;
@@ -135,31 +140,26 @@ var loadSecurityInfo = exports.loadSecurityInfo = (0, _toolkit.createAsyncThunk)
135
140
  }
136
141
  return _context.abrupt("return", Promise.resolve({}));
137
142
  case 40:
138
- _context.next = 42;
139
- return dispatch(redirectToLogin({
140
- securityConfig: secConfig
141
- })).unwrap();
142
- case 42:
143
143
  return _context.abrupt("return", Promise.resolve({}));
144
- case 43:
145
- _context.next = 50;
144
+ case 41:
145
+ _context.next = 48;
146
146
  break;
147
- case 45:
148
- _context.prev = 45;
147
+ case 43:
148
+ _context.prev = 43;
149
149
  _context.t0 = _context["catch"](4);
150
- _context.next = 49;
150
+ _context.next = 47;
151
151
  return dispatch(redirectToLogin({})).unwrap();
152
- case 49:
152
+ case 47:
153
153
  throw _context.t0;
154
- case 50:
155
- _context.prev = 50;
154
+ case 48:
155
+ _context.prev = 48;
156
156
  dispatch(setPageLoading(false));
157
- return _context.finish(50);
158
- case 53:
157
+ return _context.finish(48);
158
+ case 51:
159
159
  case "end":
160
160
  return _context.stop();
161
161
  }
162
- }, _callee, null, [[4, 45, 50, 53]]);
162
+ }, _callee, null, [[4, 43, 48, 51]]);
163
163
  }));
164
164
  return function (_x, _x2) {
165
165
  return _ref2.apply(this, arguments);
@@ -182,7 +182,8 @@ var login = exports.login = (0, _toolkit.createAsyncThunk)("auth/login", /*#__PU
182
182
  return _axios["default"].post("".concat(options.baseURL, "/j_spring_security_check"), payload, {
183
183
  withCredentials: true,
184
184
  headers: {
185
- "Content-Type": "application/x-www-form-urlencoded"
185
+ "Content-Type": "application/x-www-form-urlencoded",
186
+ "X-Requested-With": "XMLHttpRequest"
186
187
  }
187
188
  });
188
189
  case 7:
@@ -223,11 +224,11 @@ var login = exports.login = (0, _toolkit.createAsyncThunk)("auth/login", /*#__PU
223
224
  }());
224
225
  var logout = exports.logout = (0, _toolkit.createAsyncThunk)("auth/logout", /*#__PURE__*/function () {
225
226
  var _ref6 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee3(options, _ref5) {
226
- var dispatch, responseData, response, redirectURI;
227
+ var dispatch, getState, responseData, response, redirectURI, router, isPreview, _state$auth, state, loginPage;
227
228
  return _regenerator["default"].wrap(function _callee3$(_context3) {
228
229
  while (1) switch (_context3.prev = _context3.next) {
229
230
  case 0:
230
- dispatch = _ref5.dispatch;
231
+ dispatch = _ref5.dispatch, getState = _ref5.getState;
231
232
  responseData = null;
232
233
  _context3.prev = 2;
233
234
  _context3.next = 5;
@@ -261,14 +262,25 @@ var logout = exports.logout = (0, _toolkit.createAsyncThunk)("auth/logout", /*#_
261
262
 
262
263
  // Clear access cache when user logs out
263
264
  (0, _useAccess.clearAccessCache)();
265
+
266
+ // In preview mode the router is registered; navigate to the login page so
267
+ // the SPA reflects the logged-out state. In production the server-side
268
+ // redirect (window.location.href above) or Next.js routing handles this.
269
+ router = (0, _navigationMiddleware.getRouterInstance)();
270
+ isPreview = (0, _constants.getActiveRoutingBasePath)() === _constants.PREVIEW_ROUTING_BASEPATH;
271
+ if (router && isPreview) {
272
+ state = getState();
273
+ loginPage = ((_state$auth = state.auth) === null || _state$auth === void 0 || (_state$auth = _state$auth.securityConfig) === null || _state$auth === void 0 || (_state$auth = _state$auth.loginConfig) === null || _state$auth === void 0 ? void 0 : _state$auth.pageName) || "Login";
274
+ router.replace("/".concat(_constants.PREVIEW_ROUTING_BASEPATH, "/").concat(loginPage));
275
+ }
264
276
  return _context3.finish(15);
265
- case 22:
277
+ case 25:
266
278
  return _context3.abrupt("return", Promise.resolve(responseData));
267
- case 23:
279
+ case 26:
268
280
  case "end":
269
281
  return _context3.stop();
270
282
  }
271
- }, _callee3, null, [[2, 12, 15, 22]]);
283
+ }, _callee3, null, [[2, 12, 15, 25]]);
272
284
  }));
273
285
  return function (_x5, _x6) {
274
286
  return _ref6.apply(this, arguments);
@@ -391,25 +403,27 @@ var checkAccess = exports.checkAccess = (0, _toolkit.createAsyncThunk)("auth/che
391
403
  }());
392
404
  var navigateToLandingPage = exports.navigateToLandingPage = (0, _toolkit.createAsyncThunk)("auth/navigate/landingpage", /*#__PURE__*/function () {
393
405
  var _ref13 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee6(_ref11, _ref12) {
394
- var baseUrl, pageName, getState, dispatch, state, _state$auth, auth, redirectTo, landingPageToNavigate, _state$info, _auth$loggedInUser, homePage, router;
406
+ var baseUrl, pageName, getState, dispatch, state, _state$auth2, auth, redirectTo, landingPageToNavigate, _state$info, _auth$loggedInUser, homePage, userLandingPage, router;
395
407
  return _regenerator["default"].wrap(function _callee6$(_context6) {
396
408
  while (1) switch (_context6.prev = _context6.next) {
397
409
  case 0:
398
410
  baseUrl = _ref11.baseUrl, pageName = _ref11.pageName;
399
411
  getState = _ref12.getState, dispatch = _ref12.dispatch;
400
412
  state = getState();
401
- _state$auth = state.auth, auth = _state$auth === void 0 ? {} : _state$auth;
413
+ _state$auth2 = state.auth, auth = _state$auth2 === void 0 ? {} : _state$auth2;
402
414
  redirectTo = (0, _app.getCurrentRouteQueryParam)("redirectTo"); // Priority: redirectTo param > stored landingPage > user's default landingPage > Main
403
415
  if (redirectTo) {
404
416
  // Use the redirectTo parameter from URL
405
- landingPageToNavigate = "/".concat(_constants.ROUTING_BASEPATH, "/").concat(redirectTo);
417
+ landingPageToNavigate = "/".concat((0, _constants.getActiveRoutingBasePath)(), "/").concat(redirectTo);
406
418
  } else if (auth.landingPage) {
407
419
  // Use stored landing page
408
420
  landingPageToNavigate = auth.landingPage;
409
421
  } else {
410
- // Use user's default landing page or Main
422
+ // Use user's default landing page or Main. The landingPage from the server
423
+ // is a plain page name (e.g. "Main"), so always build the full routable path.
411
424
  homePage = ((_state$info = state.info) === null || _state$info === void 0 || (_state$info = _state$info.appConfig) === null || _state$info === void 0 || (_state$info = _state$info.appProperties) === null || _state$info === void 0 ? void 0 : _state$info.homePage) || "Main";
412
- landingPageToNavigate = ((_auth$loggedInUser = auth.loggedInUser) === null || _auth$loggedInUser === void 0 ? void 0 : _auth$loggedInUser.landingPage) || "/".concat(_constants.ROUTING_BASEPATH, "/").concat(homePage);
425
+ userLandingPage = (_auth$loggedInUser = auth.loggedInUser) === null || _auth$loggedInUser === void 0 ? void 0 : _auth$loggedInUser.landingPage;
426
+ landingPageToNavigate = userLandingPage ? "/".concat((0, _constants.getActiveRoutingBasePath)(), "/").concat(userLandingPage) : "/".concat((0, _constants.getActiveRoutingBasePath)(), "/").concat(homePage);
413
427
  }
414
428
  router = (0, _navigationMiddleware.getRouterInstance)();
415
429
  if (router) {
@@ -449,12 +463,12 @@ var redirectToLogin = exports.redirectToLogin = (0, _toolkit.createAsyncThunk)("
449
463
  } else {
450
464
  loginPage = (securityConfig === null || securityConfig === void 0 || (_securityConfig$login2 = securityConfig.loginConfig) === null || _securityConfig$login2 === void 0 ? void 0 : _securityConfig$login2.pageName) || "Login"; // Store landing page for post-login redirect
451
465
  if (redirectTo && !redirectTo.startsWith("/" + loginPage)) {
452
- setLandingPage("/".concat(_constants.ROUTING_BASEPATH, "/").concat(redirectTo));
466
+ setLandingPage("/".concat((0, _constants.getActiveRoutingBasePath)(), "/").concat(redirectTo));
453
467
  }
454
468
  router = (0, _navigationMiddleware.getRouterInstance)();
455
469
  if (router && !isPublicPage) {
456
470
  // Build login URL with redirectTo query parameter
457
- loginPath = "/".concat(_constants.ROUTING_BASEPATH, "/").concat(loginPage);
471
+ loginPath = "/".concat((0, _constants.getActiveRoutingBasePath)(), "/").concat(loginPage);
458
472
  loginUrl = redirectTo && redirectTo.toLowerCase() !== homePage.toLowerCase() ? "".concat(loginPath, "?redirectTo=").concat(redirectTo) : loginPath;
459
473
  router.push(loginUrl);
460
474
  }