@j2inn/fin5-ui-utils 6.0.4 → 6.0.5-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (212) hide show
  1. package/README.md +5 -5
  2. package/dist/fantomProps/createFin5Props/index.d.ts +12 -12
  3. package/dist/fantomProps/createFin5Props/index.js +146 -146
  4. package/dist/fantomProps/createFin5Props/runCreateFin5Props.d.ts +2 -2
  5. package/dist/fantomProps/createFin5Props/runCreateFin5Props.js +16 -16
  6. package/dist/fantomProps/fantomPropsToObject.d.ts +8 -8
  7. package/dist/fantomProps/fantomPropsToObject.js +183 -183
  8. package/dist/fantomProps/generateJsonFromFantomPropsFile.d.ts +4 -4
  9. package/dist/fantomProps/generateJsonFromFantomPropsFile.js +41 -41
  10. package/dist/fantomProps/localePropsToJson.d.ts +1 -1
  11. package/dist/fantomProps/localePropsToJson.js +50 -50
  12. package/dist/fantomProps/readFantomPropsFile.d.ts +5 -5
  13. package/dist/fantomProps/readFantomPropsFile.js +66 -61
  14. package/dist/fantomProps/readFantomPropsFile.js.map +1 -1
  15. package/dist/fin5Top/fin5FileUpload.d.ts +24 -24
  16. package/dist/fin5Top/fin5FileUpload.js +51 -51
  17. package/dist/fin5Top/fin5Top.d.ts +124 -124
  18. package/dist/fin5Top/fin5Top.js +53 -53
  19. package/dist/fin5Top/finEdge2Cloud.d.ts +6 -6
  20. package/dist/fin5Top/finEdge2Cloud.js +15 -15
  21. package/dist/fin5Top/getFin5BinUrl.d.ts +2 -2
  22. package/dist/fin5Top/getFin5BinUrl.js +9 -9
  23. package/dist/fin5Top/openFin5Alarm.d.ts +22 -22
  24. package/dist/fin5Top/openFin5Alarm.js +23 -23
  25. package/dist/fin5Top/openFin5Historian.d.ts +3 -3
  26. package/dist/fin5Top/openFin5Historian.js +19 -19
  27. package/dist/fin5Top/useFin5AppURLHashParameter.d.ts +18 -18
  28. package/dist/fin5Top/useFin5AppURLHashParameter.js +133 -133
  29. package/dist/index.d.ts +35 -35
  30. package/dist/index.js +69 -69
  31. package/dist/jobs/jobUtils.d.ts +14 -14
  32. package/dist/jobs/jobUtils.js +15 -15
  33. package/dist/react/app/Fin5AppContainer.d.ts +36 -36
  34. package/dist/react/app/Fin5AppContainer.js +102 -102
  35. package/dist/react/app/Fin5AppRootStore.d.ts +40 -40
  36. package/dist/react/app/Fin5AppRootStore.js +69 -69
  37. package/dist/react/components/ErrorBoundary.d.ts +57 -57
  38. package/dist/react/components/ErrorBoundary.js +150 -150
  39. package/dist/react/components/ErrorDisplayer.d.ts +19 -19
  40. package/dist/react/components/ErrorDisplayer.js +36 -36
  41. package/dist/react/components/Loader.d.ts +9 -9
  42. package/dist/react/components/Loader.js +17 -17
  43. package/dist/react/components/LoadingSpinner.d.ts +2 -2
  44. package/dist/react/components/LoadingSpinner.js +27 -27
  45. package/dist/react/components/RecordImage.d.ts +20 -20
  46. package/dist/react/components/RecordImage.js +51 -51
  47. package/dist/react/components/charts/QRCode.d.ts +25 -25
  48. package/dist/react/components/charts/QRCode.js +82 -82
  49. package/dist/react/components/charts/line-bar/Chart.d.ts +166 -166
  50. package/dist/react/components/charts/line-bar/Chart.js +442 -442
  51. package/dist/react/components/charts/line-bar/HGridChart.d.ts +58 -58
  52. package/dist/react/components/charts/line-bar/HGridChart.js +285 -285
  53. package/dist/react/components/charts/pie/PieChart.d.ts +94 -94
  54. package/dist/react/components/charts/pie/PieChart.js +204 -204
  55. package/dist/react/components/charts/pie/SimplePieChart.d.ts +21 -21
  56. package/dist/react/components/charts/pie/SimplePieChart.js +55 -55
  57. package/dist/react/components/graphics/GraphicViewer.d.ts +10 -10
  58. package/dist/react/components/graphics/GraphicViewer.js +29 -29
  59. package/dist/react/components/graphics/GraphicsTabViewer.d.ts +17 -17
  60. package/dist/react/components/graphics/GraphicsTabViewer.js +90 -90
  61. package/dist/react/components/makeCustomElement.d.ts +16 -16
  62. package/dist/react/components/makeCustomElement.js +150 -150
  63. package/dist/react/components/navigation/BasicLayout.d.ts +41 -41
  64. package/dist/react/components/navigation/BasicLayout.js +155 -155
  65. package/dist/react/components/navigation/HeaderSiderLayout.d.ts +13 -13
  66. package/dist/react/components/navigation/HeaderSiderLayout.js +110 -110
  67. package/dist/react/components/navigation/MenuPage.d.ts +37 -37
  68. package/dist/react/components/navigation/MenuPage.js +36 -36
  69. package/dist/react/components/navigation/MenuTrigger.d.ts +9 -9
  70. package/dist/react/components/navigation/MenuTrigger.js +33 -33
  71. package/dist/react/components/navigation/ReactRouterHeaderSiderLayout.d.ts +11 -11
  72. package/dist/react/components/navigation/ReactRouterHeaderSiderLayout.js +25 -25
  73. package/dist/react/components/navigation/ReactRouterLayout.d.ts +46 -46
  74. package/dist/react/components/navigation/ReactRouterLayout.js +132 -132
  75. package/dist/react/components/navigation/customRouting/Router.d.ts +12 -12
  76. package/dist/react/components/navigation/customRouting/Router.js +45 -45
  77. package/dist/react/components/navigation/customRouting/RouterLayout.d.ts +11 -11
  78. package/dist/react/components/navigation/customRouting/RouterLayout.js +61 -61
  79. package/dist/react/components/resolvable/configurationForm/ConfigurationForm.d.ts +27 -27
  80. package/dist/react/components/resolvable/configurationForm/ConfigurationForm.js +95 -95
  81. package/dist/react/components/resolvable/configurationForm/ConfigurationFormEntry.d.ts +16 -16
  82. package/dist/react/components/resolvable/configurationForm/ConfigurationFormEntry.js +88 -88
  83. package/dist/react/components/resolvable/configurationForm/getSectionDefault.d.ts +16 -16
  84. package/dist/react/components/resolvable/configurationForm/getSectionDefault.js +99 -99
  85. package/dist/react/hooks/useFin5BinUrl.d.ts +6 -6
  86. package/dist/react/hooks/useFin5BinUrl.js +15 -15
  87. package/dist/react/hooks/useFin5ColorScheme.d.ts +2 -2
  88. package/dist/react/hooks/useFin5ColorScheme.js +49 -49
  89. package/dist/react/hooks/useScreenSize.d.ts +7 -7
  90. package/dist/react/hooks/useScreenSize.js +31 -31
  91. package/dist_es/fantomProps/createFin5Props/index.d.ts +12 -12
  92. package/dist_es/fantomProps/createFin5Props/index.js +140 -140
  93. package/dist_es/fantomProps/createFin5Props/runCreateFin5Props.d.ts +2 -2
  94. package/dist_es/fantomProps/createFin5Props/runCreateFin5Props.js +11 -11
  95. package/dist_es/fantomProps/fantomPropsToObject.d.ts +8 -8
  96. package/dist_es/fantomProps/fantomPropsToObject.js +178 -178
  97. package/dist_es/fantomProps/generateJsonFromFantomPropsFile.d.ts +4 -4
  98. package/dist_es/fantomProps/generateJsonFromFantomPropsFile.js +12 -12
  99. package/dist_es/fantomProps/localePropsToJson.d.ts +1 -1
  100. package/dist_es/fantomProps/localePropsToJson.js +21 -21
  101. package/dist_es/fantomProps/readFantomPropsFile.d.ts +5 -5
  102. package/dist_es/fantomProps/readFantomPropsFile.js +40 -35
  103. package/dist_es/fantomProps/readFantomPropsFile.js.map +1 -1
  104. package/dist_es/fin5Top/fin5FileUpload.d.ts +24 -24
  105. package/dist_es/fin5Top/fin5FileUpload.js +47 -47
  106. package/dist_es/fin5Top/fin5Top.d.ts +124 -124
  107. package/dist_es/fin5Top/fin5Top.js +49 -49
  108. package/dist_es/fin5Top/finEdge2Cloud.d.ts +6 -6
  109. package/dist_es/fin5Top/finEdge2Cloud.js +11 -11
  110. package/dist_es/fin5Top/getFin5BinUrl.d.ts +2 -2
  111. package/dist_es/fin5Top/getFin5BinUrl.js +5 -5
  112. package/dist_es/fin5Top/openFin5Alarm.d.ts +22 -22
  113. package/dist_es/fin5Top/openFin5Alarm.js +19 -19
  114. package/dist_es/fin5Top/openFin5Historian.d.ts +3 -3
  115. package/dist_es/fin5Top/openFin5Historian.js +15 -15
  116. package/dist_es/fin5Top/useFin5AppURLHashParameter.d.ts +18 -18
  117. package/dist_es/fin5Top/useFin5AppURLHashParameter.js +124 -124
  118. package/dist_es/index.d.ts +35 -35
  119. package/dist_es/index.js +53 -53
  120. package/dist_es/jobs/jobUtils.d.ts +14 -14
  121. package/dist_es/jobs/jobUtils.js +9 -9
  122. package/dist_es/react/app/Fin5AppContainer.d.ts +36 -36
  123. package/dist_es/react/app/Fin5AppContainer.js +73 -73
  124. package/dist_es/react/app/Fin5AppContainer.jsx +82 -0
  125. package/dist_es/react/app/Fin5AppContainer.jsx.map +1 -0
  126. package/dist_es/react/app/Fin5AppRootStore.d.ts +40 -40
  127. package/dist_es/react/app/Fin5AppRootStore.js +65 -65
  128. package/dist_es/react/components/ErrorBoundary.d.ts +57 -57
  129. package/dist_es/react/components/ErrorBoundary.js +123 -123
  130. package/dist_es/react/components/ErrorBoundary.jsx +150 -0
  131. package/dist_es/react/components/ErrorBoundary.jsx.map +1 -0
  132. package/dist_es/react/components/ErrorDisplayer.d.ts +19 -19
  133. package/dist_es/react/components/ErrorDisplayer.js +28 -28
  134. package/dist_es/react/components/ErrorDisplayer.jsx +36 -0
  135. package/dist_es/react/components/ErrorDisplayer.jsx.map +1 -0
  136. package/dist_es/react/components/Loader.d.ts +9 -9
  137. package/dist_es/react/components/Loader.js +12 -12
  138. package/dist_es/react/components/Loader.jsx +13 -0
  139. package/dist_es/react/components/Loader.jsx.map +1 -0
  140. package/dist_es/react/components/LoadingSpinner.d.ts +2 -2
  141. package/dist_es/react/components/LoadingSpinner.js +20 -20
  142. package/dist_es/react/components/LoadingSpinner.jsx +22 -0
  143. package/dist_es/react/components/LoadingSpinner.jsx.map +1 -0
  144. package/dist_es/react/components/RecordImage.d.ts +20 -20
  145. package/dist_es/react/components/RecordImage.js +24 -24
  146. package/dist_es/react/components/charts/QRCode.d.ts +25 -25
  147. package/dist_es/react/components/charts/QRCode.js +52 -52
  148. package/dist_es/react/components/charts/line-bar/Chart.d.ts +166 -166
  149. package/dist_es/react/components/charts/line-bar/Chart.js +415 -415
  150. package/dist_es/react/components/charts/line-bar/HGridChart.d.ts +58 -58
  151. package/dist_es/react/components/charts/line-bar/HGridChart.js +250 -250
  152. package/dist_es/react/components/charts/line-bar/ZincGridChart.d.ts +12 -0
  153. package/dist_es/react/components/charts/line-bar/ZincGridChart.js +17 -0
  154. package/dist_es/react/components/charts/line-bar/ZincGridChart.js.map +1 -0
  155. package/dist_es/react/components/charts/pie/PieChart.d.ts +94 -94
  156. package/dist_es/react/components/charts/pie/PieChart.js +177 -177
  157. package/dist_es/react/components/charts/pie/SimplePieChart.d.ts +21 -21
  158. package/dist_es/react/components/charts/pie/SimplePieChart.js +25 -25
  159. package/dist_es/react/components/graphics/GraphicViewer.d.ts +10 -10
  160. package/dist_es/react/components/graphics/GraphicViewer.js +22 -22
  161. package/dist_es/react/components/graphics/GraphicViewer.jsx +23 -0
  162. package/dist_es/react/components/graphics/GraphicViewer.jsx.map +1 -0
  163. package/dist_es/react/components/graphics/GraphicsTabViewer.d.ts +17 -17
  164. package/dist_es/react/components/graphics/GraphicsTabViewer.js +60 -60
  165. package/dist_es/react/components/graphics/GraphicsTabViewer.jsx +63 -0
  166. package/dist_es/react/components/graphics/GraphicsTabViewer.jsx.map +1 -0
  167. package/dist_es/react/components/makeCustomElement.d.ts +16 -16
  168. package/dist_es/react/components/makeCustomElement.js +142 -142
  169. package/dist_es/react/components/navigation/BasicLayout.d.ts +41 -41
  170. package/dist_es/react/components/navigation/BasicLayout.js +124 -124
  171. package/dist_es/react/components/navigation/BasicLayout.jsx +133 -0
  172. package/dist_es/react/components/navigation/BasicLayout.jsx.map +1 -0
  173. package/dist_es/react/components/navigation/HeaderSiderLayout.d.ts +13 -13
  174. package/dist_es/react/components/navigation/HeaderSiderLayout.js +80 -80
  175. package/dist_es/react/components/navigation/MenuPage.d.ts +37 -37
  176. package/dist_es/react/components/navigation/MenuPage.js +30 -30
  177. package/dist_es/react/components/navigation/MenuPage.jsx +31 -0
  178. package/dist_es/react/components/navigation/MenuPage.jsx.map +1 -0
  179. package/dist_es/react/components/navigation/MenuTrigger.d.ts +9 -9
  180. package/dist_es/react/components/navigation/MenuTrigger.js +28 -28
  181. package/dist_es/react/components/navigation/ReactRouterHeaderSiderLayout.d.ts +11 -11
  182. package/dist_es/react/components/navigation/ReactRouterHeaderSiderLayout.js +18 -18
  183. package/dist_es/react/components/navigation/ReactRouterLayout.d.ts +46 -46
  184. package/dist_es/react/components/navigation/ReactRouterLayout.js +99 -99
  185. package/dist_es/react/components/navigation/Router.d.ts +12 -0
  186. package/dist_es/react/components/navigation/Router.js +19 -0
  187. package/dist_es/react/components/navigation/Router.js.map +1 -0
  188. package/dist_es/react/components/navigation/Router.jsx +19 -0
  189. package/dist_es/react/components/navigation/Router.jsx.map +1 -0
  190. package/dist_es/react/components/navigation/customRouting/Router.d.ts +12 -12
  191. package/dist_es/react/components/navigation/customRouting/Router.js +18 -18
  192. package/dist_es/react/components/navigation/customRouting/RouterLayout.d.ts +11 -11
  193. package/dist_es/react/components/navigation/customRouting/RouterLayout.js +34 -34
  194. package/dist_es/react/components/navigation/react-router/BasicLayout.d.ts +23 -0
  195. package/dist_es/react/components/navigation/react-router/BasicLayout.js +82 -0
  196. package/dist_es/react/components/navigation/react-router/BasicLayout.js.map +1 -0
  197. package/dist_es/react/components/navigation/react-router/ReactRouterBasicLayout.d.ts +24 -0
  198. package/dist_es/react/components/navigation/react-router/ReactRouterBasicLayout.js +82 -0
  199. package/dist_es/react/components/navigation/react-router/ReactRouterBasicLayout.js.map +1 -0
  200. package/dist_es/react/components/resolvable/configurationForm/ConfigurationForm.d.ts +27 -27
  201. package/dist_es/react/components/resolvable/configurationForm/ConfigurationForm.js +64 -64
  202. package/dist_es/react/components/resolvable/configurationForm/ConfigurationFormEntry.d.ts +16 -16
  203. package/dist_es/react/components/resolvable/configurationForm/ConfigurationFormEntry.js +58 -58
  204. package/dist_es/react/components/resolvable/configurationForm/getSectionDefault.d.ts +16 -16
  205. package/dist_es/react/components/resolvable/configurationForm/getSectionDefault.js +94 -94
  206. package/dist_es/react/hooks/useFin5BinUrl.d.ts +6 -6
  207. package/dist_es/react/hooks/useFin5BinUrl.js +11 -11
  208. package/dist_es/react/hooks/useFin5ColorScheme.d.ts +2 -2
  209. package/dist_es/react/hooks/useFin5ColorScheme.js +45 -45
  210. package/dist_es/react/hooks/useScreenSize.d.ts +7 -7
  211. package/dist_es/react/hooks/useScreenSize.js +27 -27
  212. package/package.json +1 -1
@@ -1,37 +1,37 @@
1
- "use strict";
2
- /*
3
- * Copyright (c) 2022, J2 Innovations. All Rights Reserved
4
- */
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.getAllSubPages = exports.pageTreeToPageList = exports.findPageByName = void 0;
7
- /**
8
- * Retrieve a specific page or subPage from a root page list
9
- * @param name the name of the searched page
10
- * @param pages the list of root pages
11
- */
12
- function findPageByName(pages, name) {
13
- return pageTreeToPageList(pages).find((page) => page.key === name && !page.disabled);
14
- }
15
- exports.findPageByName = findPageByName;
16
- /**
17
- * Expands the list of pages to include all the subpages
18
- */
19
- function pageTreeToPageList(pages) {
20
- return pages.flatMap((page) => getAllSubPages(page));
21
- }
22
- exports.pageTreeToPageList = pageTreeToPageList;
23
- /**
24
- * Recursively get all the subPages of a root page
25
- * @param page root page
26
- * @returns the whole tree of subPages as a list
27
- */
28
- function getAllSubPages(page) {
29
- if (page.children) {
30
- return [page].concat(...page.children.map((subPage) => getAllSubPages(subPage)));
31
- }
32
- else {
33
- return [page];
34
- }
35
- }
36
- exports.getAllSubPages = getAllSubPages;
1
+ "use strict";
2
+ /*
3
+ * Copyright (c) 2022, J2 Innovations. All Rights Reserved
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.getAllSubPages = exports.pageTreeToPageList = exports.findPageByName = void 0;
7
+ /**
8
+ * Retrieve a specific page or subPage from a root page list
9
+ * @param name the name of the searched page
10
+ * @param pages the list of root pages
11
+ */
12
+ function findPageByName(pages, name) {
13
+ return pageTreeToPageList(pages).find((page) => page.key === name && !page.disabled);
14
+ }
15
+ exports.findPageByName = findPageByName;
16
+ /**
17
+ * Expands the list of pages to include all the subpages
18
+ */
19
+ function pageTreeToPageList(pages) {
20
+ return pages.flatMap((page) => getAllSubPages(page));
21
+ }
22
+ exports.pageTreeToPageList = pageTreeToPageList;
23
+ /**
24
+ * Recursively get all the subPages of a root page
25
+ * @param page root page
26
+ * @returns the whole tree of subPages as a list
27
+ */
28
+ function getAllSubPages(page) {
29
+ if (page.children) {
30
+ return [page].concat(...page.children.map((subPage) => getAllSubPages(subPage)));
31
+ }
32
+ else {
33
+ return [page];
34
+ }
35
+ }
36
+ exports.getAllSubPages = getAllSubPages;
37
37
  //# sourceMappingURL=MenuPage.js.map
@@ -1,9 +1,9 @@
1
- import React from 'react';
2
- interface MenuTriggerProps {
3
- hiddenSider: boolean;
4
- headerHeight?: number;
5
- className?: string;
6
- onClick: () => void;
7
- }
8
- declare const MenuTrigger: React.FC<MenuTriggerProps>;
9
- export default MenuTrigger;
1
+ import React from 'react';
2
+ interface MenuTriggerProps {
3
+ hiddenSider: boolean;
4
+ headerHeight?: number;
5
+ className?: string;
6
+ onClick: () => void;
7
+ }
8
+ declare const MenuTrigger: React.FC<MenuTriggerProps>;
9
+ export default MenuTrigger;
@@ -1,34 +1,34 @@
1
- "use strict";
2
- /*
3
- * Copyright (c) 2024, J2 Innovations. All Rights Reserved
4
- */
5
- var __importDefault = (this && this.__importDefault) || function (mod) {
6
- return (mod && mod.__esModule) ? mod : { "default": mod };
7
- };
8
- Object.defineProperty(exports, "__esModule", { value: true });
9
- const icons_1 = require("@ant-design/icons");
10
- const classnames_1 = __importDefault(require("classnames"));
11
- const react_1 = __importDefault(require("react"));
12
- const react_jss_1 = require("react-jss");
13
- const useStyles = (0, react_jss_1.createUseStyles)((theme) => ({
14
- menuTrigger: ({ headerHeight }) => ({
15
- width: headerHeight,
16
- height: '100%',
17
- textAlign: 'center',
18
- fontSize: 18,
19
- cursor: 'pointer',
20
- transition: 'color 0.3s ease-in-out',
21
- backgroundColor: 'transparent',
22
- color: theme.linkColor,
23
- padding: '0 0.5rem',
24
- '&:hover': {
25
- color: theme.linkActiveColor,
26
- },
27
- }),
28
- }));
29
- const MenuTrigger = ({ hiddenSider, headerHeight = 45, onClick, className, }) => {
30
- const classes = useStyles({ headerHeight });
31
- return hiddenSider ? (react_1.default.createElement(icons_1.MenuUnfoldOutlined, { className: (0, classnames_1.default)(classes.menuTrigger, className), onClick: onClick })) : (react_1.default.createElement(icons_1.MenuFoldOutlined, { className: (0, classnames_1.default)(classes.menuTrigger, className), onClick: onClick }));
32
- };
33
- exports.default = MenuTrigger;
1
+ "use strict";
2
+ /*
3
+ * Copyright (c) 2024, J2 Innovations. All Rights Reserved
4
+ */
5
+ var __importDefault = (this && this.__importDefault) || function (mod) {
6
+ return (mod && mod.__esModule) ? mod : { "default": mod };
7
+ };
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ const icons_1 = require("@ant-design/icons");
10
+ const classnames_1 = __importDefault(require("classnames"));
11
+ const react_1 = __importDefault(require("react"));
12
+ const react_jss_1 = require("react-jss");
13
+ const useStyles = (0, react_jss_1.createUseStyles)((theme) => ({
14
+ menuTrigger: ({ headerHeight }) => ({
15
+ width: headerHeight,
16
+ height: '100%',
17
+ textAlign: 'center',
18
+ fontSize: 18,
19
+ cursor: 'pointer',
20
+ transition: 'color 0.3s ease-in-out',
21
+ backgroundColor: 'transparent',
22
+ color: theme.linkColor,
23
+ padding: '0 0.5rem',
24
+ '&:hover': {
25
+ color: theme.linkActiveColor,
26
+ },
27
+ }),
28
+ }));
29
+ const MenuTrigger = ({ hiddenSider, headerHeight = 45, onClick, className, }) => {
30
+ const classes = useStyles({ headerHeight });
31
+ return hiddenSider ? (react_1.default.createElement(icons_1.MenuUnfoldOutlined, { className: (0, classnames_1.default)(classes.menuTrigger, className), onClick: onClick })) : (react_1.default.createElement(icons_1.MenuFoldOutlined, { className: (0, classnames_1.default)(classes.menuTrigger, className), onClick: onClick }));
32
+ };
33
+ exports.default = MenuTrigger;
34
34
  //# sourceMappingURL=MenuTrigger.js.map
@@ -1,11 +1,11 @@
1
- import type { Location } from '@remix-run/router';
2
- import React from 'react';
3
- import { HeaderSiderLayoutProps } from './HeaderSiderLayout';
4
- import { ReactRouterMenuPage } from './ReactRouterLayout';
5
- export interface ReactRouterHeaderSiderLayoutProps extends HeaderSiderLayoutProps<ReactRouterMenuPage> {
6
- isSelectedRoute?: (page: ReactRouterMenuPage, location: Location) => boolean;
7
- }
8
- /**
9
- * Header/Sider layout that uses React Router.
10
- */
11
- export declare const ReactRouterHeaderSiderLayout: React.FC<ReactRouterHeaderSiderLayoutProps>;
1
+ import type { Location } from '@remix-run/router';
2
+ import React from 'react';
3
+ import { HeaderSiderLayoutProps } from './HeaderSiderLayout';
4
+ import { ReactRouterMenuPage } from './ReactRouterLayout';
5
+ export interface ReactRouterHeaderSiderLayoutProps extends HeaderSiderLayoutProps<ReactRouterMenuPage> {
6
+ isSelectedRoute?: (page: ReactRouterMenuPage, location: Location) => boolean;
7
+ }
8
+ /**
9
+ * Header/Sider layout that uses React Router.
10
+ */
11
+ export declare const ReactRouterHeaderSiderLayout: React.FC<ReactRouterHeaderSiderLayoutProps>;
@@ -1,26 +1,26 @@
1
- "use strict";
2
- /*
3
- * Copyright (c) 2024, J2 Innovations. All Rights Reserved
4
- */
5
- var __importDefault = (this && this.__importDefault) || function (mod) {
6
- return (mod && mod.__esModule) ? mod : { "default": mod };
7
- };
8
- Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.ReactRouterHeaderSiderLayout = void 0;
10
- const react_1 = __importDefault(require("react"));
11
- const react_router_1 = require("react-router");
12
- const HeaderSiderLayout_1 = require("./HeaderSiderLayout");
13
- const ReactRouterLayout_1 = require("./ReactRouterLayout");
14
- /**
15
- * Header/Sider layout that uses React Router.
16
- */
17
- const ReactRouterHeaderSiderLayout = ({ isSelectedRoute, pages = [], onSelect, ...otherProps }) => {
18
- const navigate = (0, react_router_1.useNavigate)();
19
- const selectedRoutes = (0, ReactRouterLayout_1.useSelectedRoutes)(pages, isSelectedRoute);
20
- const pageKeyRouteMap = (0, ReactRouterLayout_1.useGetPageKeyRouteMap)(pages);
21
- const defaultOnSelect = (0, ReactRouterLayout_1.useDefaultOnSelect)(navigate, pageKeyRouteMap, pages);
22
- return (react_1.default.createElement(HeaderSiderLayout_1.HeaderSiderLayout, { ...otherProps, pages: pages, onSelect: onSelect ?? defaultOnSelect, selectedPages: selectedRoutes },
23
- react_1.default.createElement(react_router_1.Outlet, null)));
24
- };
25
- exports.ReactRouterHeaderSiderLayout = ReactRouterHeaderSiderLayout;
1
+ "use strict";
2
+ /*
3
+ * Copyright (c) 2024, J2 Innovations. All Rights Reserved
4
+ */
5
+ var __importDefault = (this && this.__importDefault) || function (mod) {
6
+ return (mod && mod.__esModule) ? mod : { "default": mod };
7
+ };
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.ReactRouterHeaderSiderLayout = void 0;
10
+ const react_1 = __importDefault(require("react"));
11
+ const react_router_1 = require("react-router");
12
+ const HeaderSiderLayout_1 = require("./HeaderSiderLayout");
13
+ const ReactRouterLayout_1 = require("./ReactRouterLayout");
14
+ /**
15
+ * Header/Sider layout that uses React Router.
16
+ */
17
+ const ReactRouterHeaderSiderLayout = ({ isSelectedRoute, pages = [], onSelect, ...otherProps }) => {
18
+ const navigate = (0, react_router_1.useNavigate)();
19
+ const selectedRoutes = (0, ReactRouterLayout_1.useSelectedRoutes)(pages, isSelectedRoute);
20
+ const pageKeyRouteMap = (0, ReactRouterLayout_1.useGetPageKeyRouteMap)(pages);
21
+ const defaultOnSelect = (0, ReactRouterLayout_1.useDefaultOnSelect)(navigate, pageKeyRouteMap, pages);
22
+ return (react_1.default.createElement(HeaderSiderLayout_1.HeaderSiderLayout, { ...otherProps, pages: pages, onSelect: onSelect ?? defaultOnSelect, selectedPages: selectedRoutes },
23
+ react_1.default.createElement(react_router_1.Outlet, null)));
24
+ };
25
+ exports.ReactRouterHeaderSiderLayout = ReactRouterHeaderSiderLayout;
26
26
  //# sourceMappingURL=ReactRouterHeaderSiderLayout.js.map
@@ -1,46 +1,46 @@
1
- import type { Location } from '@remix-run/router';
2
- import React from 'react';
3
- import { NavigateFunction } from 'react-router';
4
- import { BasicLayoutProps } from './BasicLayout';
5
- import { MenuPage } from './MenuPage';
6
- export declare type ReactRouterMenuPage = MenuPage & {
7
- route: string;
8
- };
9
- export interface ReactRouterLayoutProps extends BasicLayoutProps<ReactRouterMenuPage> {
10
- isSelectedRoute?: (page: ReactRouterMenuPage, location: Location) => boolean;
11
- }
12
- /**
13
- * This hook can be used with react-router/BasicLayout,
14
- * to ensure FIN5 URL is aligned with the internal frame URL.
15
- * This does not skip the hash update and should be used only with
16
- * FIN >= 5.1.7.92, otherwise FIN will reload the entire page.
17
- */
18
- export declare const useLocationUpdate: () => void;
19
- /**
20
- * This hook can be used with react-router/BasicLayout,
21
- * to ensure FIN5 URL is aligned with the internal frame URL.
22
- * This skips the hash update and should be used only with
23
- * FIN < 5.1.7.92.
24
- * @deprecated use only with FIN < 5.1.7.92
25
- * @see {@link useLocationUpdate} for FIN >= 5.1.7.92
26
- */
27
- export declare const useLocationUpdateSkippingHash: () => void;
28
- export declare const useSelectedRoutes: (pages: ReactRouterMenuPage[], isSelectedRoute?: (page: ReactRouterMenuPage, location: Location) => boolean) => string[];
29
- /**
30
- * If we are inside a frame (FIN5), the route is left as is.
31
- * If we are outside FIN5 frame, the route needs to be prefixed with a segment containing the project name.
32
- * @param route
33
- * @returns the correct route for the environment
34
- */
35
- export declare const getRoute: (route: string) => string;
36
- /**
37
- * Create a map that holds the page key and its related route.
38
- * @param pages
39
- * @returns the map page key - route
40
- */
41
- export declare const useGetPageKeyRouteMap: (pages: ReactRouterMenuPage[]) => Map<string, string>;
42
- export declare const useDefaultOnSelect: (navigate: NavigateFunction, pageKeyRouteMap: Map<string, string>, pages: ReactRouterMenuPage[]) => (key: string) => void;
43
- /**
44
- * Basic layout that uses React Router.
45
- */
46
- export declare const ReactRouterLayout: React.FC<ReactRouterLayoutProps>;
1
+ import type { Location } from '@remix-run/router';
2
+ import React from 'react';
3
+ import { NavigateFunction } from 'react-router';
4
+ import { BasicLayoutProps } from './BasicLayout';
5
+ import { MenuPage } from './MenuPage';
6
+ export declare type ReactRouterMenuPage = MenuPage & {
7
+ route: string;
8
+ };
9
+ export interface ReactRouterLayoutProps extends BasicLayoutProps<ReactRouterMenuPage> {
10
+ isSelectedRoute?: (page: ReactRouterMenuPage, location: Location) => boolean;
11
+ }
12
+ /**
13
+ * This hook can be used with react-router/BasicLayout,
14
+ * to ensure FIN5 URL is aligned with the internal frame URL.
15
+ * This does not skip the hash update and should be used only with
16
+ * FIN >= 5.1.7.92, otherwise FIN will reload the entire page.
17
+ */
18
+ export declare const useLocationUpdate: () => void;
19
+ /**
20
+ * This hook can be used with react-router/BasicLayout,
21
+ * to ensure FIN5 URL is aligned with the internal frame URL.
22
+ * This skips the hash update and should be used only with
23
+ * FIN < 5.1.7.92.
24
+ * @deprecated use only with FIN < 5.1.7.92
25
+ * @see {@link useLocationUpdate} for FIN >= 5.1.7.92
26
+ */
27
+ export declare const useLocationUpdateSkippingHash: () => void;
28
+ export declare const useSelectedRoutes: (pages: ReactRouterMenuPage[], isSelectedRoute?: (page: ReactRouterMenuPage, location: Location) => boolean) => string[];
29
+ /**
30
+ * If we are inside a frame (FIN5), the route is left as is.
31
+ * If we are outside FIN5 frame, the route needs to be prefixed with a segment containing the project name.
32
+ * @param route
33
+ * @returns the correct route for the environment
34
+ */
35
+ export declare const getRoute: (route: string) => string;
36
+ /**
37
+ * Create a map that holds the page key and its related route.
38
+ * @param pages
39
+ * @returns the map page key - route
40
+ */
41
+ export declare const useGetPageKeyRouteMap: (pages: ReactRouterMenuPage[]) => Map<string, string>;
42
+ export declare const useDefaultOnSelect: (navigate: NavigateFunction, pageKeyRouteMap: Map<string, string>, pages: ReactRouterMenuPage[]) => (key: string) => void;
43
+ /**
44
+ * Basic layout that uses React Router.
45
+ */
46
+ export declare const ReactRouterLayout: React.FC<ReactRouterLayoutProps>;
@@ -1,133 +1,133 @@
1
- "use strict";
2
- /*
3
- * Copyright (c) 2023, J2 Innovations. All Rights Reserved
4
- */
5
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
6
- if (k2 === undefined) k2 = k;
7
- var desc = Object.getOwnPropertyDescriptor(m, k);
8
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
9
- desc = { enumerable: true, get: function() { return m[k]; } };
10
- }
11
- Object.defineProperty(o, k2, desc);
12
- }) : (function(o, m, k, k2) {
13
- if (k2 === undefined) k2 = k;
14
- o[k2] = m[k];
15
- }));
16
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
17
- Object.defineProperty(o, "default", { enumerable: true, value: v });
18
- }) : function(o, v) {
19
- o["default"] = v;
20
- });
21
- var __importStar = (this && this.__importStar) || function (mod) {
22
- if (mod && mod.__esModule) return mod;
23
- var result = {};
24
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
25
- __setModuleDefault(result, mod);
26
- return result;
27
- };
28
- Object.defineProperty(exports, "__esModule", { value: true });
29
- exports.ReactRouterLayout = exports.useDefaultOnSelect = exports.useGetPageKeyRouteMap = exports.getRoute = exports.useSelectedRoutes = exports.useLocationUpdateSkippingHash = exports.useLocationUpdate = void 0;
30
- const react_1 = __importStar(require("react"));
31
- const react_router_1 = require("react-router");
32
- const useFin5AppURLHashParameter_1 = require("../../../fin5Top/useFin5AppURLHashParameter");
33
- const BasicLayout_1 = require("./BasicLayout");
34
- const MenuPage_1 = require("./MenuPage");
35
- /**
36
- * This hook can be used with react-router/BasicLayout,
37
- * to ensure FIN5 URL is aligned with the internal frame URL.
38
- * This does not skip the hash update and should be used only with
39
- * FIN >= 5.1.7.92, otherwise FIN will reload the entire page.
40
- */
41
- const useLocationUpdate = () => {
42
- const location = (0, react_router_1.useLocation)();
43
- (0, react_1.useEffect)(() => {
44
- if (useFin5AppURLHashParameter_1.IN_IFRAME) {
45
- setHash(location);
46
- }
47
- }, [location]);
48
- };
49
- exports.useLocationUpdate = useLocationUpdate;
50
- /**
51
- * This hook can be used with react-router/BasicLayout,
52
- * to ensure FIN5 URL is aligned with the internal frame URL.
53
- * This skips the hash update and should be used only with
54
- * FIN < 5.1.7.92.
55
- * @deprecated use only with FIN < 5.1.7.92
56
- * @see {@link useLocationUpdate} for FIN >= 5.1.7.92
57
- */
58
- const useLocationUpdateSkippingHash = () => {
59
- const location = (0, react_router_1.useLocation)();
60
- (0, react_1.useEffect)(() => {
61
- if (useFin5AppURLHashParameter_1.IN_IFRAME) {
62
- (0, useFin5AppURLHashParameter_1.fin5SkipHashUpdate)()?.then(() => {
63
- setHash(location);
64
- });
65
- }
66
- }, [location]);
67
- };
68
- exports.useLocationUpdateSkippingHash = useLocationUpdateSkippingHash;
69
- const setHash = (location) => {
70
- const hash = location.pathname;
71
- const queryParams = location.search;
72
- const frameParameters = (0, useFin5AppURLHashParameter_1.getFin5HashFrameParameters)();
73
- frameParameters.set('url', frameParameters.get('url')?.split('#')[0] + '#' + hash + queryParams);
74
- (0, useFin5AppURLHashParameter_1.getTopLocation)().hash = `#${(0, useFin5AppURLHashParameter_1.getTopLocation)().hash.slice(1).split('?')[0]}?${frameParameters.toString()}`;
75
- };
76
- const useSelectedRoutes = (pages, isSelectedRoute = (page, location) => location.pathname.includes(page.route)) => {
77
- const location = (0, react_router_1.useLocation)();
78
- const flatPages = (0, react_1.useMemo)(() => (0, MenuPage_1.pageTreeToPageList)(pages), [pages]);
79
- return (0, react_1.useMemo)(() => {
80
- return flatPages
81
- .filter((page) => isSelectedRoute(page, location))
82
- .map((page) => page.key);
83
- }, [location, flatPages, isSelectedRoute]);
84
- };
85
- exports.useSelectedRoutes = useSelectedRoutes;
86
- /**
87
- * If we are inside a frame (FIN5), the route is left as is.
88
- * If we are outside FIN5 frame, the route needs to be prefixed with a segment containing the project name.
89
- * @param route
90
- * @returns the correct route for the environment
91
- */
92
- const getRoute = (route) => {
93
- const prefixedRoute = route.startsWith('/') ? route : `/${route}`;
94
- return !useFin5AppURLHashParameter_1.IN_IFRAME ? `/proj/:projectName${prefixedRoute}` : prefixedRoute;
95
- };
96
- exports.getRoute = getRoute;
97
- /**
98
- * Create a map that holds the page key and its related route.
99
- * @param pages
100
- * @returns the map page key - route
101
- */
102
- const useGetPageKeyRouteMap = (pages) => (0, react_1.useMemo)(() => {
103
- const flatPages = (0, MenuPage_1.pageTreeToPageList)(pages);
104
- const result = new Map();
105
- flatPages.forEach((page) => {
106
- result.set(page.key, page.route);
107
- });
108
- return result;
109
- }, [pages]);
110
- exports.useGetPageKeyRouteMap = useGetPageKeyRouteMap;
111
- const useDefaultOnSelect = (navigate, pageKeyRouteMap, pages) => (0, react_1.useCallback)((key) => {
112
- const route = pageKeyRouteMap.get(key);
113
- if (route) {
114
- navigate(route);
115
- }
116
- else {
117
- console.warn('Could not find route for page key', key, 'pages', pages);
118
- }
119
- }, [navigate, pageKeyRouteMap]);
120
- exports.useDefaultOnSelect = useDefaultOnSelect;
121
- /**
122
- * Basic layout that uses React Router.
123
- */
124
- const ReactRouterLayout = ({ isSelectedRoute, pages = [], onSelect, ...otherProps }) => {
125
- const navigate = (0, react_router_1.useNavigate)();
126
- const selectedRoutes = (0, exports.useSelectedRoutes)(pages, isSelectedRoute);
127
- const pageKeyRouteMap = (0, exports.useGetPageKeyRouteMap)(pages);
128
- const defaultOnSelect = (0, exports.useDefaultOnSelect)(navigate, pageKeyRouteMap, pages);
129
- return (react_1.default.createElement(BasicLayout_1.BasicLayout, { ...otherProps, pages: pages, onSelect: onSelect ?? defaultOnSelect, selectedPages: selectedRoutes },
130
- react_1.default.createElement(react_router_1.Outlet, null)));
131
- };
132
- exports.ReactRouterLayout = ReactRouterLayout;
1
+ "use strict";
2
+ /*
3
+ * Copyright (c) 2023, J2 Innovations. All Rights Reserved
4
+ */
5
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ var desc = Object.getOwnPropertyDescriptor(m, k);
8
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
9
+ desc = { enumerable: true, get: function() { return m[k]; } };
10
+ }
11
+ Object.defineProperty(o, k2, desc);
12
+ }) : (function(o, m, k, k2) {
13
+ if (k2 === undefined) k2 = k;
14
+ o[k2] = m[k];
15
+ }));
16
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
17
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
18
+ }) : function(o, v) {
19
+ o["default"] = v;
20
+ });
21
+ var __importStar = (this && this.__importStar) || function (mod) {
22
+ if (mod && mod.__esModule) return mod;
23
+ var result = {};
24
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
25
+ __setModuleDefault(result, mod);
26
+ return result;
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ exports.ReactRouterLayout = exports.useDefaultOnSelect = exports.useGetPageKeyRouteMap = exports.getRoute = exports.useSelectedRoutes = exports.useLocationUpdateSkippingHash = exports.useLocationUpdate = void 0;
30
+ const react_1 = __importStar(require("react"));
31
+ const react_router_1 = require("react-router");
32
+ const useFin5AppURLHashParameter_1 = require("../../../fin5Top/useFin5AppURLHashParameter");
33
+ const BasicLayout_1 = require("./BasicLayout");
34
+ const MenuPage_1 = require("./MenuPage");
35
+ /**
36
+ * This hook can be used with react-router/BasicLayout,
37
+ * to ensure FIN5 URL is aligned with the internal frame URL.
38
+ * This does not skip the hash update and should be used only with
39
+ * FIN >= 5.1.7.92, otherwise FIN will reload the entire page.
40
+ */
41
+ const useLocationUpdate = () => {
42
+ const location = (0, react_router_1.useLocation)();
43
+ (0, react_1.useEffect)(() => {
44
+ if (useFin5AppURLHashParameter_1.IN_IFRAME) {
45
+ setHash(location);
46
+ }
47
+ }, [location]);
48
+ };
49
+ exports.useLocationUpdate = useLocationUpdate;
50
+ /**
51
+ * This hook can be used with react-router/BasicLayout,
52
+ * to ensure FIN5 URL is aligned with the internal frame URL.
53
+ * This skips the hash update and should be used only with
54
+ * FIN < 5.1.7.92.
55
+ * @deprecated use only with FIN < 5.1.7.92
56
+ * @see {@link useLocationUpdate} for FIN >= 5.1.7.92
57
+ */
58
+ const useLocationUpdateSkippingHash = () => {
59
+ const location = (0, react_router_1.useLocation)();
60
+ (0, react_1.useEffect)(() => {
61
+ if (useFin5AppURLHashParameter_1.IN_IFRAME) {
62
+ (0, useFin5AppURLHashParameter_1.fin5SkipHashUpdate)()?.then(() => {
63
+ setHash(location);
64
+ });
65
+ }
66
+ }, [location]);
67
+ };
68
+ exports.useLocationUpdateSkippingHash = useLocationUpdateSkippingHash;
69
+ const setHash = (location) => {
70
+ const hash = location.pathname;
71
+ const queryParams = location.search;
72
+ const frameParameters = (0, useFin5AppURLHashParameter_1.getFin5HashFrameParameters)();
73
+ frameParameters.set('url', frameParameters.get('url')?.split('#')[0] + '#' + hash + queryParams);
74
+ (0, useFin5AppURLHashParameter_1.getTopLocation)().hash = `#${(0, useFin5AppURLHashParameter_1.getTopLocation)().hash.slice(1).split('?')[0]}?${frameParameters.toString()}`;
75
+ };
76
+ const useSelectedRoutes = (pages, isSelectedRoute = (page, location) => location.pathname.includes(page.route)) => {
77
+ const location = (0, react_router_1.useLocation)();
78
+ const flatPages = (0, react_1.useMemo)(() => (0, MenuPage_1.pageTreeToPageList)(pages), [pages]);
79
+ return (0, react_1.useMemo)(() => {
80
+ return flatPages
81
+ .filter((page) => isSelectedRoute(page, location))
82
+ .map((page) => page.key);
83
+ }, [location, flatPages, isSelectedRoute]);
84
+ };
85
+ exports.useSelectedRoutes = useSelectedRoutes;
86
+ /**
87
+ * If we are inside a frame (FIN5), the route is left as is.
88
+ * If we are outside FIN5 frame, the route needs to be prefixed with a segment containing the project name.
89
+ * @param route
90
+ * @returns the correct route for the environment
91
+ */
92
+ const getRoute = (route) => {
93
+ const prefixedRoute = route.startsWith('/') ? route : `/${route}`;
94
+ return !useFin5AppURLHashParameter_1.IN_IFRAME ? `/proj/:projectName${prefixedRoute}` : prefixedRoute;
95
+ };
96
+ exports.getRoute = getRoute;
97
+ /**
98
+ * Create a map that holds the page key and its related route.
99
+ * @param pages
100
+ * @returns the map page key - route
101
+ */
102
+ const useGetPageKeyRouteMap = (pages) => (0, react_1.useMemo)(() => {
103
+ const flatPages = (0, MenuPage_1.pageTreeToPageList)(pages);
104
+ const result = new Map();
105
+ flatPages.forEach((page) => {
106
+ result.set(page.key, page.route);
107
+ });
108
+ return result;
109
+ }, [pages]);
110
+ exports.useGetPageKeyRouteMap = useGetPageKeyRouteMap;
111
+ const useDefaultOnSelect = (navigate, pageKeyRouteMap, pages) => (0, react_1.useCallback)((key) => {
112
+ const route = pageKeyRouteMap.get(key);
113
+ if (route) {
114
+ navigate(route);
115
+ }
116
+ else {
117
+ console.warn('Could not find route for page key', key, 'pages', pages);
118
+ }
119
+ }, [navigate, pageKeyRouteMap]);
120
+ exports.useDefaultOnSelect = useDefaultOnSelect;
121
+ /**
122
+ * Basic layout that uses React Router.
123
+ */
124
+ const ReactRouterLayout = ({ isSelectedRoute, pages = [], onSelect, ...otherProps }) => {
125
+ const navigate = (0, react_router_1.useNavigate)();
126
+ const selectedRoutes = (0, exports.useSelectedRoutes)(pages, isSelectedRoute);
127
+ const pageKeyRouteMap = (0, exports.useGetPageKeyRouteMap)(pages);
128
+ const defaultOnSelect = (0, exports.useDefaultOnSelect)(navigate, pageKeyRouteMap, pages);
129
+ return (react_1.default.createElement(BasicLayout_1.BasicLayout, { ...otherProps, pages: pages, onSelect: onSelect ?? defaultOnSelect, selectedPages: selectedRoutes },
130
+ react_1.default.createElement(react_router_1.Outlet, null)));
131
+ };
132
+ exports.ReactRouterLayout = ReactRouterLayout;
133
133
  //# sourceMappingURL=ReactRouterLayout.js.map
@@ -1,12 +1,12 @@
1
- import { PropsWithChildren, ReactElement } from 'react';
2
- import { MenuPage } from '../MenuPage';
3
- export interface RouterProps<T extends MenuPage> {
4
- pages?: T[];
5
- currentPage: string;
6
- onPageChange?: (selectedPage?: T) => void;
7
- fallbackComponent?: ReactElement;
8
- }
9
- /**
10
- * Renders the currently selected page from a tree of pages
11
- */
12
- export declare function Router<T extends MenuPage>({ pages, currentPage, onPageChange, fallbackComponent, }: PropsWithChildren<RouterProps<T>>): JSX.Element;
1
+ import { PropsWithChildren, ReactElement } from 'react';
2
+ import { MenuPage } from '../MenuPage';
3
+ export interface RouterProps<T extends MenuPage> {
4
+ pages?: T[];
5
+ currentPage: string;
6
+ onPageChange?: (selectedPage?: T) => void;
7
+ fallbackComponent?: ReactElement;
8
+ }
9
+ /**
10
+ * Renders the currently selected page from a tree of pages
11
+ */
12
+ export declare function Router<T extends MenuPage>({ pages, currentPage, onPageChange, fallbackComponent, }: PropsWithChildren<RouterProps<T>>): JSX.Element;