@j2inn/fin5-ui-utils 5.2.2-beta.9 → 6.0.1

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 (223) 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 +61 -61
  14. package/dist/fin5Top/fin5FileUpload.d.ts +24 -24
  15. package/dist/fin5Top/fin5FileUpload.js +51 -51
  16. package/dist/fin5Top/fin5Top.d.ts +124 -124
  17. package/dist/fin5Top/fin5Top.js +58 -58
  18. package/dist/fin5Top/finEdge2Cloud.d.ts +6 -6
  19. package/dist/fin5Top/finEdge2Cloud.js +15 -15
  20. package/dist/fin5Top/getFin5BinUrl.d.ts +2 -2
  21. package/dist/fin5Top/getFin5BinUrl.js +9 -9
  22. package/dist/fin5Top/openFin5Alarm.d.ts +22 -22
  23. package/dist/fin5Top/openFin5Alarm.js +23 -23
  24. package/dist/fin5Top/openFin5Historian.d.ts +3 -3
  25. package/dist/fin5Top/openFin5Historian.js +19 -19
  26. package/dist/fin5Top/useFin5AppURLHashParameter.d.ts +18 -18
  27. package/dist/fin5Top/useFin5AppURLHashParameter.js +133 -133
  28. package/dist/index.d.ts +35 -36
  29. package/dist/index.js +69 -70
  30. package/dist/index.js.map +1 -1
  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 +38 -39
  36. package/dist/react/app/Fin5AppRootStore.js +68 -69
  37. package/dist/react/app/Fin5AppRootStore.js.map +1 -1
  38. package/dist/react/components/ErrorBoundary.d.ts +57 -57
  39. package/dist/react/components/ErrorBoundary.js +150 -150
  40. package/dist/react/components/ErrorDisplayer.d.ts +19 -19
  41. package/dist/react/components/ErrorDisplayer.js +36 -36
  42. package/dist/react/components/Loader.d.ts +9 -9
  43. package/dist/react/components/Loader.js +17 -17
  44. package/dist/react/components/LoadingSpinner.d.ts +2 -2
  45. package/dist/react/components/LoadingSpinner.js +27 -27
  46. package/dist/react/components/RecordImage.d.ts +20 -20
  47. package/dist/react/components/RecordImage.js +51 -51
  48. package/dist/react/components/charts/QRCode.d.ts +25 -25
  49. package/dist/react/components/charts/QRCode.js +82 -82
  50. package/dist/react/components/charts/line-bar/Chart.d.ts +166 -166
  51. package/dist/react/components/charts/line-bar/Chart.js +442 -442
  52. package/dist/react/components/charts/line-bar/HGridChart.d.ts +58 -58
  53. package/dist/react/components/charts/line-bar/HGridChart.js +285 -288
  54. package/dist/react/components/charts/line-bar/HGridChart.js.map +1 -1
  55. package/dist/react/components/charts/pie/PieChart.d.ts +94 -94
  56. package/dist/react/components/charts/pie/PieChart.js +204 -204
  57. package/dist/react/components/charts/pie/SimplePieChart.d.ts +21 -21
  58. package/dist/react/components/charts/pie/SimplePieChart.js +55 -55
  59. package/dist/react/components/graphics/GraphicViewer.d.ts +10 -10
  60. package/dist/react/components/graphics/GraphicViewer.js +29 -29
  61. package/dist/react/components/graphics/GraphicsTabViewer.d.ts +17 -17
  62. package/dist/react/components/graphics/GraphicsTabViewer.js +90 -90
  63. package/dist/react/components/makeCustomElement.d.ts +16 -12
  64. package/dist/react/components/makeCustomElement.js +150 -139
  65. package/dist/react/components/makeCustomElement.js.map +1 -1
  66. package/dist/react/components/navigation/BasicLayout.d.ts +41 -41
  67. package/dist/react/components/navigation/BasicLayout.js +155 -155
  68. package/dist/react/components/navigation/HeaderSiderLayout.d.ts +13 -13
  69. package/dist/react/components/navigation/HeaderSiderLayout.js +110 -110
  70. package/dist/react/components/navigation/MenuPage.d.ts +37 -37
  71. package/dist/react/components/navigation/MenuPage.js +36 -36
  72. package/dist/react/components/navigation/MenuTrigger.d.ts +9 -9
  73. package/dist/react/components/navigation/MenuTrigger.js +33 -33
  74. package/dist/react/components/navigation/ReactRouterHeaderSiderLayout.d.ts +11 -11
  75. package/dist/react/components/navigation/ReactRouterHeaderSiderLayout.js +25 -25
  76. package/dist/react/components/navigation/ReactRouterLayout.d.ts +46 -46
  77. package/dist/react/components/navigation/ReactRouterLayout.js +132 -132
  78. package/dist/react/components/navigation/customRouting/Router.d.ts +12 -12
  79. package/dist/react/components/navigation/customRouting/Router.js +45 -45
  80. package/dist/react/components/navigation/customRouting/RouterLayout.d.ts +11 -11
  81. package/dist/react/components/navigation/customRouting/RouterLayout.js +61 -61
  82. package/dist/react/components/resolvable/configurationForm/ConfigurationForm.d.ts +27 -27
  83. package/dist/react/components/resolvable/configurationForm/ConfigurationForm.js +95 -95
  84. package/dist/react/components/resolvable/configurationForm/ConfigurationFormEntry.d.ts +16 -16
  85. package/dist/react/components/resolvable/configurationForm/ConfigurationFormEntry.js +88 -88
  86. package/dist/react/components/resolvable/configurationForm/getSectionDefault.d.ts +16 -16
  87. package/dist/react/components/resolvable/configurationForm/getSectionDefault.js +99 -99
  88. package/dist/react/hooks/useFin5BinUrl.d.ts +6 -6
  89. package/dist/react/hooks/useFin5BinUrl.js +15 -15
  90. package/dist/react/hooks/useFin5ColorScheme.d.ts +2 -2
  91. package/dist/react/hooks/useFin5ColorScheme.js +42 -42
  92. package/dist/react/hooks/useScreenSize.d.ts +7 -8
  93. package/dist/react/hooks/useScreenSize.js +31 -30
  94. package/dist/react/hooks/useScreenSize.js.map +1 -1
  95. package/dist_es/fantomProps/createFin5Props/index.d.ts +12 -12
  96. package/dist_es/fantomProps/createFin5Props/index.js +140 -140
  97. package/dist_es/fantomProps/createFin5Props/runCreateFin5Props.d.ts +2 -2
  98. package/dist_es/fantomProps/createFin5Props/runCreateFin5Props.js +11 -11
  99. package/dist_es/fantomProps/fantomPropsToObject.d.ts +8 -8
  100. package/dist_es/fantomProps/fantomPropsToObject.js +178 -178
  101. package/dist_es/fantomProps/generateJsonFromFantomPropsFile.d.ts +4 -4
  102. package/dist_es/fantomProps/generateJsonFromFantomPropsFile.js +12 -12
  103. package/dist_es/fantomProps/localePropsToJson.d.ts +1 -1
  104. package/dist_es/fantomProps/localePropsToJson.js +21 -21
  105. package/dist_es/fantomProps/readFantomPropsFile.d.ts +5 -5
  106. package/dist_es/fantomProps/readFantomPropsFile.js +35 -35
  107. package/dist_es/fin5Top/fin5FileUpload.d.ts +24 -24
  108. package/dist_es/fin5Top/fin5FileUpload.js +47 -47
  109. package/dist_es/fin5Top/fin5Top.d.ts +124 -124
  110. package/dist_es/fin5Top/fin5Top.js +54 -54
  111. package/dist_es/fin5Top/finEdge2Cloud.d.ts +6 -6
  112. package/dist_es/fin5Top/finEdge2Cloud.js +11 -11
  113. package/dist_es/fin5Top/getFin5BinUrl.d.ts +2 -2
  114. package/dist_es/fin5Top/getFin5BinUrl.js +5 -5
  115. package/dist_es/fin5Top/openFin5Alarm.d.ts +22 -22
  116. package/dist_es/fin5Top/openFin5Alarm.js +19 -19
  117. package/dist_es/fin5Top/openFin5Historian.d.ts +3 -3
  118. package/dist_es/fin5Top/openFin5Historian.js +15 -15
  119. package/dist_es/fin5Top/useFin5AppURLHashParameter.d.ts +18 -18
  120. package/dist_es/fin5Top/useFin5AppURLHashParameter.js +124 -124
  121. package/dist_es/index.d.ts +35 -36
  122. package/dist_es/index.js +53 -54
  123. package/dist_es/index.js.map +1 -1
  124. package/dist_es/jobs/jobUtils.d.ts +14 -14
  125. package/dist_es/jobs/jobUtils.js +9 -9
  126. package/dist_es/react/app/Fin5AppContainer.d.ts +36 -36
  127. package/dist_es/react/app/Fin5AppContainer.js +73 -73
  128. package/dist_es/react/app/Fin5AppRootStore.d.ts +38 -39
  129. package/dist_es/react/app/Fin5AppRootStore.js +64 -65
  130. package/dist_es/react/app/Fin5AppRootStore.js.map +1 -1
  131. package/dist_es/react/components/ErrorBoundary.d.ts +57 -57
  132. package/dist_es/react/components/ErrorBoundary.js +123 -123
  133. package/dist_es/react/components/ErrorDisplayer.d.ts +19 -19
  134. package/dist_es/react/components/ErrorDisplayer.js +28 -28
  135. package/dist_es/react/components/Loader.d.ts +9 -9
  136. package/dist_es/react/components/Loader.js +12 -12
  137. package/dist_es/react/components/LoadingSpinner.d.ts +2 -2
  138. package/dist_es/react/components/LoadingSpinner.js +20 -20
  139. package/dist_es/react/components/RecordImage.d.ts +20 -20
  140. package/dist_es/react/components/RecordImage.js +24 -24
  141. package/dist_es/react/components/charts/QRCode.d.ts +25 -25
  142. package/dist_es/react/components/charts/QRCode.js +52 -52
  143. package/dist_es/react/components/charts/line-bar/Chart.d.ts +166 -166
  144. package/dist_es/react/components/charts/line-bar/Chart.js +415 -415
  145. package/dist_es/react/components/charts/line-bar/HGridChart.d.ts +58 -58
  146. package/dist_es/react/components/charts/line-bar/HGridChart.js +250 -250
  147. package/dist_es/react/components/charts/line-bar/HGridChart.js.map +1 -1
  148. package/dist_es/react/components/charts/pie/PieChart.d.ts +94 -94
  149. package/dist_es/react/components/charts/pie/PieChart.js +177 -177
  150. package/dist_es/react/components/charts/pie/SimplePieChart.d.ts +21 -21
  151. package/dist_es/react/components/charts/pie/SimplePieChart.js +25 -25
  152. package/dist_es/react/components/graphics/GraphicViewer.d.ts +10 -10
  153. package/dist_es/react/components/graphics/GraphicViewer.js +22 -22
  154. package/dist_es/react/components/graphics/GraphicsTabViewer.d.ts +17 -17
  155. package/dist_es/react/components/graphics/GraphicsTabViewer.js +60 -60
  156. package/dist_es/react/components/makeCustomElement.d.ts +16 -12
  157. package/dist_es/react/components/makeCustomElement.js +142 -131
  158. package/dist_es/react/components/makeCustomElement.js.map +1 -1
  159. package/dist_es/react/components/navigation/BasicLayout.d.ts +41 -41
  160. package/dist_es/react/components/navigation/BasicLayout.js +124 -124
  161. package/dist_es/react/components/navigation/HeaderSiderLayout.d.ts +13 -13
  162. package/dist_es/react/components/navigation/HeaderSiderLayout.js +80 -80
  163. package/dist_es/react/components/navigation/MenuPage.d.ts +37 -37
  164. package/dist_es/react/components/navigation/MenuPage.js +30 -30
  165. package/dist_es/react/components/navigation/MenuTrigger.d.ts +9 -9
  166. package/dist_es/react/components/navigation/MenuTrigger.js +28 -28
  167. package/dist_es/react/components/navigation/ReactRouterHeaderSiderLayout.d.ts +11 -11
  168. package/dist_es/react/components/navigation/ReactRouterHeaderSiderLayout.js +18 -18
  169. package/dist_es/react/components/navigation/ReactRouterLayout.d.ts +46 -46
  170. package/dist_es/react/components/navigation/ReactRouterLayout.js +99 -99
  171. package/dist_es/react/components/navigation/customRouting/Router.d.ts +12 -12
  172. package/dist_es/react/components/navigation/customRouting/Router.js +18 -18
  173. package/dist_es/react/components/navigation/customRouting/RouterLayout.d.ts +11 -11
  174. package/dist_es/react/components/navigation/customRouting/RouterLayout.js +34 -34
  175. package/dist_es/react/components/resolvable/configurationForm/ConfigurationForm.d.ts +27 -27
  176. package/dist_es/react/components/resolvable/configurationForm/ConfigurationForm.js +64 -64
  177. package/dist_es/react/components/resolvable/configurationForm/ConfigurationFormEntry.d.ts +16 -16
  178. package/dist_es/react/components/resolvable/configurationForm/ConfigurationFormEntry.js +58 -58
  179. package/dist_es/react/components/resolvable/configurationForm/getSectionDefault.d.ts +16 -16
  180. package/dist_es/react/components/resolvable/configurationForm/getSectionDefault.js +94 -94
  181. package/dist_es/react/hooks/useFin5BinUrl.d.ts +6 -6
  182. package/dist_es/react/hooks/useFin5BinUrl.js +11 -11
  183. package/dist_es/react/hooks/useFin5ColorScheme.d.ts +2 -2
  184. package/dist_es/react/hooks/useFin5ColorScheme.js +38 -38
  185. package/dist_es/react/hooks/useScreenSize.d.ts +7 -8
  186. package/dist_es/react/hooks/useScreenSize.js +27 -28
  187. package/dist_es/react/hooks/useScreenSize.js.map +1 -1
  188. package/package.json +7 -7
  189. package/dist/react/components/charts/line-bar/ZincGridChart.d.ts +0 -12
  190. package/dist/react/components/charts/line-bar/ZincGridChart.js +0 -24
  191. package/dist/react/components/charts/line-bar/ZincGridChart.js.map +0 -1
  192. package/dist_es/react/app/Fin5AppContainer.jsx +0 -82
  193. package/dist_es/react/app/Fin5AppContainer.jsx.map +0 -1
  194. package/dist_es/react/components/ErrorBoundary.jsx +0 -150
  195. package/dist_es/react/components/ErrorBoundary.jsx.map +0 -1
  196. package/dist_es/react/components/ErrorDisplayer.jsx +0 -36
  197. package/dist_es/react/components/ErrorDisplayer.jsx.map +0 -1
  198. package/dist_es/react/components/Loader.jsx +0 -13
  199. package/dist_es/react/components/Loader.jsx.map +0 -1
  200. package/dist_es/react/components/LoadingSpinner.jsx +0 -22
  201. package/dist_es/react/components/LoadingSpinner.jsx.map +0 -1
  202. package/dist_es/react/components/charts/line-bar/ZincGridChart.d.ts +0 -12
  203. package/dist_es/react/components/charts/line-bar/ZincGridChart.js +0 -17
  204. package/dist_es/react/components/charts/line-bar/ZincGridChart.js.map +0 -1
  205. package/dist_es/react/components/graphics/GraphicViewer.jsx +0 -23
  206. package/dist_es/react/components/graphics/GraphicViewer.jsx.map +0 -1
  207. package/dist_es/react/components/graphics/GraphicsTabViewer.jsx +0 -63
  208. package/dist_es/react/components/graphics/GraphicsTabViewer.jsx.map +0 -1
  209. package/dist_es/react/components/navigation/BasicLayout.jsx +0 -133
  210. package/dist_es/react/components/navigation/BasicLayout.jsx.map +0 -1
  211. package/dist_es/react/components/navigation/MenuPage.jsx +0 -31
  212. package/dist_es/react/components/navigation/MenuPage.jsx.map +0 -1
  213. package/dist_es/react/components/navigation/Router.d.ts +0 -12
  214. package/dist_es/react/components/navigation/Router.js +0 -19
  215. package/dist_es/react/components/navigation/Router.js.map +0 -1
  216. package/dist_es/react/components/navigation/Router.jsx +0 -19
  217. package/dist_es/react/components/navigation/Router.jsx.map +0 -1
  218. package/dist_es/react/components/navigation/react-router/BasicLayout.d.ts +0 -23
  219. package/dist_es/react/components/navigation/react-router/BasicLayout.js +0 -82
  220. package/dist_es/react/components/navigation/react-router/BasicLayout.js.map +0 -1
  221. package/dist_es/react/components/navigation/react-router/ReactRouterBasicLayout.d.ts +0 -24
  222. package/dist_es/react/components/navigation/react-router/ReactRouterBasicLayout.js +0 -82
  223. package/dist_es/react/components/navigation/react-router/ReactRouterBasicLayout.js.map +0 -1
@@ -1,156 +1,156 @@
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
- var __importDefault = (this && this.__importDefault) || function (mod) {
29
- return (mod && mod.__esModule) ? mod : { "default": mod };
30
- };
31
- Object.defineProperty(exports, "__esModule", { value: true });
32
- exports.BasicLayout = exports.DEFAULT_HEADER_HEIGHT = exports.getMenuPages = void 0;
33
- const icons_1 = require("@ant-design/icons");
34
- const ui_1 = require("@j2inn/ui");
35
- const classnames_1 = __importDefault(require("classnames"));
36
- const react_1 = __importStar(require("react"));
37
- const react_jss_1 = require("react-jss");
38
- const MenuTrigger_1 = __importDefault(require("./MenuTrigger"));
39
- const useStyles = (0, react_jss_1.createUseStyles)({
40
- header: ({ headerHeight }) => ({
41
- position: 'fixed',
42
- width: '100%',
43
- zIndex: 1000,
44
- padding: 0,
45
- height: headerHeight,
46
- lineHeight: `${headerHeight}px`,
47
- }),
48
- sider: {
49
- overflow: 'auto',
50
- height: '100vh',
51
- position: 'fixed',
52
- left: 0,
53
- top: 0,
54
- bottom: 0,
55
- zIndex: 999,
56
- paddingTop: ({ isMobile, headerHeight }) => isMobile ? headerHeight : 0,
57
- [`& .${ui_1.ant_prefix}-layout-sider-children`]: {
58
- display: 'flex',
59
- flexDirection: 'column',
60
- },
61
- },
62
- compactSiderButton: {
63
- position: 'sticky',
64
- bottom: 0,
65
- width: '100%',
66
- textAlign: 'center',
67
- fontSize: '1.3rem',
68
- padding: '0.5rem',
69
- cursor: 'pointer',
70
- transition: '0.3s',
71
- },
72
- compactSiderButtonItem: {
73
- transition: '0.3s',
74
- },
75
- compactSiderButtonItemCollapsed: {
76
- transform: ' rotate(180deg)',
77
- },
78
- content: ({ isMobile, compactSider, siderWidth = 200, headerHeight, }) => ({
79
- paddingLeft: isMobile ? 0 : compactSider ? 45 : siderWidth,
80
- paddingTop: isMobile ? headerHeight : 0,
81
- }),
82
- });
83
- // Workaround j2inn/ui exporting problem
84
- const Header = ui_1.Layout.Header;
85
- const Sider = ui_1.Layout.Sider;
86
- const Content = ui_1.Layout.Content;
87
- /**
88
- * Copy the array and recursively remove pages having the `showInMenu` flag set to false.
89
- * @param pages
90
- * @returns
91
- */
92
- const getMenuPages = (pages) => {
93
- const menuPages = [];
94
- pages.forEach((page) => {
95
- const show = page.showInMenu == null || page.showInMenu;
96
- if (show) {
97
- const copiedPage = Object.assign({}, page);
98
- if (copiedPage.children) {
99
- const filteredChildren = (0, exports.getMenuPages)(copiedPage.children);
100
- copiedPage.children = filteredChildren.length
101
- ? filteredChildren
102
- : undefined;
103
- }
104
- menuPages.push(copiedPage);
105
- }
106
- });
107
- return menuPages;
108
- };
109
- exports.getMenuPages = getMenuPages;
110
- exports.DEFAULT_HEADER_HEIGHT = 45;
111
- /**
112
- * Basic layout with sider and mobile navigation management.
113
- * Routing management can be plugged in, for examples @see ReactRouterLayout @see RouterLayout
114
- */
115
- function BasicLayout({ pages = [], defaultPage, selectedPages = [], onSelect, compactSider, layoutProps, mobileHeaderProps, siderProps, contentProps, menuProps, menuBefore, menuAfter, menuTriggerClassName, headerHeight = exports.DEFAULT_HEADER_HEIGHT, children, }) {
116
- // manage mobile navigation
117
- const [isMobile, setIsMobile] = (0, react_1.useState)(false);
118
- const [isSiderCompact, setIsSiderCompact] = (0, react_1.useState)(compactSider?.isCompact ?? false);
119
- const [hiddenSider, setHiddenSider] = (0, react_1.useState)(false);
120
- const siderWidth = siderProps?.width;
121
- const classes = useStyles({
122
- isMobile,
123
- compactSider: isSiderCompact,
124
- siderWidth,
125
- headerHeight,
126
- });
127
- const menuPages = (0, react_1.useMemo)(() => (0, exports.getMenuPages)(pages), [pages]);
128
- return (react_1.default.createElement(ui_1.Layout, { hasSider: true, ...layoutProps },
129
- isMobile && (react_1.default.createElement(Header, { ...mobileHeaderProps, className: (0, classnames_1.default)(classes.header, mobileHeaderProps?.className) },
130
- react_1.default.createElement(MenuTrigger_1.default, { hiddenSider: hiddenSider, headerHeight: headerHeight, className: menuTriggerClassName, onClick: () => {
131
- setHiddenSider(!hiddenSider);
132
- } }))),
133
- react_1.default.createElement(Sider, { ...siderProps, className: (0, classnames_1.default)(classes.sider, siderProps?.className), breakpoint: 'md', onBreakpoint: (broken) => {
134
- setIsMobile(broken);
135
- setHiddenSider(true);
136
- }, collapsed: (isMobile && hiddenSider) || isSiderCompact, collapsedWidth: isMobile && hiddenSider
137
- ? 0
138
- : isSiderCompact
139
- ? headerHeight
140
- : 0, trigger: null },
141
- menuBefore,
142
- react_1.default.createElement(ui_1.Menu, { style: { flex: 1 }, ...menuProps, defaultSelectedKeys: defaultPage ? [defaultPage] : undefined, items: menuPages, selectedKeys: selectedPages, onSelect: ({ key }) => {
143
- if (!hiddenSider) {
144
- setHiddenSider(true);
145
- }
146
- onSelect?.(key);
147
- } }),
148
- menuAfter,
149
- compactSider?.showButton && !isMobile && (react_1.default.createElement("div", { className: (0, classnames_1.default)(classes.compactSiderButton, compactSider.buttonClassName), onClick: () => setIsSiderCompact(!isSiderCompact) },
150
- react_1.default.createElement(icons_1.LeftOutlined, { className: (0, classnames_1.default)(classes.compactSiderButtonItem, {
151
- [classes.compactSiderButtonItemCollapsed]: isSiderCompact,
152
- }) })))),
153
- react_1.default.createElement(Content, { ...contentProps, className: (0, classnames_1.default)(classes.content, contentProps?.className) }, children)));
154
- }
155
- exports.BasicLayout = BasicLayout;
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
+ var __importDefault = (this && this.__importDefault) || function (mod) {
29
+ return (mod && mod.__esModule) ? mod : { "default": mod };
30
+ };
31
+ Object.defineProperty(exports, "__esModule", { value: true });
32
+ exports.BasicLayout = exports.DEFAULT_HEADER_HEIGHT = exports.getMenuPages = void 0;
33
+ const icons_1 = require("@ant-design/icons");
34
+ const ui_1 = require("@j2inn/ui");
35
+ const classnames_1 = __importDefault(require("classnames"));
36
+ const react_1 = __importStar(require("react"));
37
+ const react_jss_1 = require("react-jss");
38
+ const MenuTrigger_1 = __importDefault(require("./MenuTrigger"));
39
+ const useStyles = (0, react_jss_1.createUseStyles)({
40
+ header: ({ headerHeight }) => ({
41
+ position: 'fixed',
42
+ width: '100%',
43
+ zIndex: 1000,
44
+ padding: 0,
45
+ height: headerHeight,
46
+ lineHeight: `${headerHeight}px`,
47
+ }),
48
+ sider: {
49
+ overflow: 'auto',
50
+ height: '100vh',
51
+ position: 'fixed',
52
+ left: 0,
53
+ top: 0,
54
+ bottom: 0,
55
+ zIndex: 999,
56
+ paddingTop: ({ isMobile, headerHeight }) => isMobile ? headerHeight : 0,
57
+ [`& .${ui_1.ant_prefix}-layout-sider-children`]: {
58
+ display: 'flex',
59
+ flexDirection: 'column',
60
+ },
61
+ },
62
+ compactSiderButton: {
63
+ position: 'sticky',
64
+ bottom: 0,
65
+ width: '100%',
66
+ textAlign: 'center',
67
+ fontSize: '1.3rem',
68
+ padding: '0.5rem',
69
+ cursor: 'pointer',
70
+ transition: '0.3s',
71
+ },
72
+ compactSiderButtonItem: {
73
+ transition: '0.3s',
74
+ },
75
+ compactSiderButtonItemCollapsed: {
76
+ transform: ' rotate(180deg)',
77
+ },
78
+ content: ({ isMobile, compactSider, siderWidth = 200, headerHeight, }) => ({
79
+ paddingLeft: isMobile ? 0 : compactSider ? 45 : siderWidth,
80
+ paddingTop: isMobile ? headerHeight : 0,
81
+ }),
82
+ });
83
+ // Workaround j2inn/ui exporting problem
84
+ const Header = ui_1.Layout.Header;
85
+ const Sider = ui_1.Layout.Sider;
86
+ const Content = ui_1.Layout.Content;
87
+ /**
88
+ * Copy the array and recursively remove pages having the `showInMenu` flag set to false.
89
+ * @param pages
90
+ * @returns
91
+ */
92
+ const getMenuPages = (pages) => {
93
+ const menuPages = [];
94
+ pages.forEach((page) => {
95
+ const show = page.showInMenu == null || page.showInMenu;
96
+ if (show) {
97
+ const copiedPage = Object.assign({}, page);
98
+ if (copiedPage.children) {
99
+ const filteredChildren = (0, exports.getMenuPages)(copiedPage.children);
100
+ copiedPage.children = filteredChildren.length
101
+ ? filteredChildren
102
+ : undefined;
103
+ }
104
+ menuPages.push(copiedPage);
105
+ }
106
+ });
107
+ return menuPages;
108
+ };
109
+ exports.getMenuPages = getMenuPages;
110
+ exports.DEFAULT_HEADER_HEIGHT = 45;
111
+ /**
112
+ * Basic layout with sider and mobile navigation management.
113
+ * Routing management can be plugged in, for examples @see ReactRouterLayout @see RouterLayout
114
+ */
115
+ function BasicLayout({ pages = [], defaultPage, selectedPages = [], onSelect, compactSider, layoutProps, mobileHeaderProps, siderProps, contentProps, menuProps, menuBefore, menuAfter, menuTriggerClassName, headerHeight = exports.DEFAULT_HEADER_HEIGHT, children, }) {
116
+ // manage mobile navigation
117
+ const [isMobile, setIsMobile] = (0, react_1.useState)(false);
118
+ const [isSiderCompact, setIsSiderCompact] = (0, react_1.useState)(compactSider?.isCompact ?? false);
119
+ const [hiddenSider, setHiddenSider] = (0, react_1.useState)(false);
120
+ const siderWidth = siderProps?.width;
121
+ const classes = useStyles({
122
+ isMobile,
123
+ compactSider: isSiderCompact,
124
+ siderWidth,
125
+ headerHeight,
126
+ });
127
+ const menuPages = (0, react_1.useMemo)(() => (0, exports.getMenuPages)(pages), [pages]);
128
+ return (react_1.default.createElement(ui_1.Layout, { hasSider: true, ...layoutProps },
129
+ isMobile && (react_1.default.createElement(Header, { ...mobileHeaderProps, className: (0, classnames_1.default)(classes.header, mobileHeaderProps?.className) },
130
+ react_1.default.createElement(MenuTrigger_1.default, { hiddenSider: hiddenSider, headerHeight: headerHeight, className: menuTriggerClassName, onClick: () => {
131
+ setHiddenSider(!hiddenSider);
132
+ } }))),
133
+ react_1.default.createElement(Sider, { ...siderProps, className: (0, classnames_1.default)(classes.sider, siderProps?.className), breakpoint: 'md', onBreakpoint: (broken) => {
134
+ setIsMobile(broken);
135
+ setHiddenSider(true);
136
+ }, collapsed: (isMobile && hiddenSider) || isSiderCompact, collapsedWidth: isMobile && hiddenSider
137
+ ? 0
138
+ : isSiderCompact
139
+ ? headerHeight
140
+ : 0, trigger: null },
141
+ menuBefore,
142
+ react_1.default.createElement(ui_1.Menu, { style: { flex: 1 }, ...menuProps, defaultSelectedKeys: defaultPage ? [defaultPage] : undefined, items: menuPages, selectedKeys: selectedPages, onSelect: ({ key }) => {
143
+ if (!hiddenSider) {
144
+ setHiddenSider(true);
145
+ }
146
+ onSelect?.(key);
147
+ } }),
148
+ menuAfter,
149
+ compactSider?.showButton && !isMobile && (react_1.default.createElement("div", { className: (0, classnames_1.default)(classes.compactSiderButton, compactSider.buttonClassName), onClick: () => setIsSiderCompact(!isSiderCompact) },
150
+ react_1.default.createElement(icons_1.LeftOutlined, { className: (0, classnames_1.default)(classes.compactSiderButtonItem, {
151
+ [classes.compactSiderButtonItemCollapsed]: isSiderCompact,
152
+ }) })))),
153
+ react_1.default.createElement(Content, { ...contentProps, className: (0, classnames_1.default)(classes.content, contentProps?.className) }, children)));
154
+ }
155
+ exports.BasicLayout = BasicLayout;
156
156
  //# sourceMappingURL=BasicLayout.js.map
@@ -1,13 +1,13 @@
1
- import { LayoutProps } from 'antd';
2
- import React, { ReactElement } from 'react';
3
- import { BasicLayoutProps } from './BasicLayout';
4
- import { MenuPage } from './MenuPage';
5
- export declare type HeaderSiderLayoutProps<T extends MenuPage> = Omit<BasicLayoutProps<T>, 'mobileHeaderProps'> & {
6
- header?: React.ReactNode;
7
- headerProps?: LayoutProps;
8
- };
9
- /**
10
- * Layout with header and sider. Sider is collapsed on mobile.
11
- * Routing management can be plugged in, for examples @see ReactRouterLayout @see RouterLayout
12
- */
13
- export declare function HeaderSiderLayout<T extends MenuPage>({ pages, defaultPage, selectedPages, onSelect, compactSider, layoutProps, header, headerProps, siderProps, contentProps, menuProps, menuBefore, menuAfter, menuTriggerClassName, headerHeight, children, }: HeaderSiderLayoutProps<T>): ReactElement;
1
+ import { LayoutProps } from 'antd';
2
+ import React, { ReactElement } from 'react';
3
+ import { BasicLayoutProps } from './BasicLayout';
4
+ import { MenuPage } from './MenuPage';
5
+ export declare type HeaderSiderLayoutProps<T extends MenuPage> = Omit<BasicLayoutProps<T>, 'mobileHeaderProps'> & {
6
+ header?: React.ReactNode;
7
+ headerProps?: LayoutProps;
8
+ };
9
+ /**
10
+ * Layout with header and sider. Sider is collapsed on mobile.
11
+ * Routing management can be plugged in, for examples @see ReactRouterLayout @see RouterLayout
12
+ */
13
+ export declare function HeaderSiderLayout<T extends MenuPage>({ pages, defaultPage, selectedPages, onSelect, compactSider, layoutProps, header, headerProps, siderProps, contentProps, menuProps, menuBefore, menuAfter, menuTriggerClassName, headerHeight, children, }: HeaderSiderLayoutProps<T>): ReactElement;
@@ -1,111 +1,111 @@
1
- "use strict";
2
- /*
3
- * Copyright (c) 2024, 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
- var __importDefault = (this && this.__importDefault) || function (mod) {
29
- return (mod && mod.__esModule) ? mod : { "default": mod };
30
- };
31
- Object.defineProperty(exports, "__esModule", { value: true });
32
- exports.HeaderSiderLayout = void 0;
33
- const ui_1 = require("@j2inn/ui");
34
- const classnames_1 = __importDefault(require("classnames"));
35
- const react_1 = __importStar(require("react"));
36
- const react_jss_1 = require("react-jss");
37
- const BasicLayout_1 = require("./BasicLayout");
38
- const MenuTrigger_1 = __importDefault(require("./MenuTrigger"));
39
- const useStyles = (0, react_jss_1.createUseStyles)({
40
- header: ({ headerHeight }) => ({
41
- position: 'fixed',
42
- width: '100%',
43
- zIndex: 1000,
44
- padding: 0,
45
- height: headerHeight,
46
- lineHeight: `${headerHeight}px`,
47
- }),
48
- headerContent: {
49
- height: '100%',
50
- },
51
- sider: ({ headerHeight }) => ({
52
- overflow: 'auto',
53
- height: '100vh',
54
- position: 'fixed',
55
- left: 0,
56
- top: 0,
57
- bottom: 0,
58
- zIndex: 999,
59
- paddingTop: headerHeight,
60
- }),
61
- content: ({ isMobile, compactSider, siderWidth = 200, headerHeight, }) => ({
62
- paddingLeft: isMobile ? 0 : compactSider ? 45 : siderWidth,
63
- paddingTop: headerHeight,
64
- }),
65
- });
66
- // Workaround j2inn/ui exporting problem
67
- const Header = ui_1.Layout.Header;
68
- const Sider = ui_1.Layout.Sider;
69
- const Content = ui_1.Layout.Content;
70
- /**
71
- * Layout with header and sider. Sider is collapsed on mobile.
72
- * Routing management can be plugged in, for examples @see ReactRouterLayout @see RouterLayout
73
- */
74
- function HeaderSiderLayout({ pages = [], defaultPage, selectedPages = [], onSelect, compactSider, layoutProps, header, headerProps, siderProps, contentProps, menuProps, menuBefore, menuAfter, menuTriggerClassName, headerHeight = BasicLayout_1.DEFAULT_HEADER_HEIGHT, children, }) {
75
- const [isMobile, setIsMobile] = (0, react_1.useState)(false);
76
- const [hiddenSider, setHiddenSider] = (0, react_1.useState)(false);
77
- const siderWidth = siderProps?.width;
78
- const classes = useStyles({
79
- isMobile,
80
- compactSider: compactSider?.isCompact,
81
- siderWidth,
82
- headerHeight,
83
- });
84
- const menuPages = (0, react_1.useMemo)(() => (0, BasicLayout_1.getMenuPages)(pages), [pages]);
85
- return (react_1.default.createElement(ui_1.Layout, { hasSider: true, ...layoutProps },
86
- react_1.default.createElement(Header, { ...headerProps, className: (0, classnames_1.default)(classes.header, headerProps?.className) },
87
- react_1.default.createElement(ui_1.Container, { horizontal: true, middle: true, className: classes.headerContent },
88
- isMobile && (react_1.default.createElement(MenuTrigger_1.default, { hiddenSider: hiddenSider, headerHeight: headerHeight, className: menuTriggerClassName, onClick: () => {
89
- setHiddenSider(!hiddenSider);
90
- } })),
91
- header)),
92
- react_1.default.createElement(Sider, { ...siderProps, className: (0, classnames_1.default)(classes.sider, siderProps?.className), breakpoint: 'md', onBreakpoint: (broken) => {
93
- setIsMobile(broken);
94
- setHiddenSider(true);
95
- }, collapsed: (isMobile && hiddenSider) || compactSider?.isCompact, collapsedWidth: isMobile && hiddenSider
96
- ? 0
97
- : compactSider
98
- ? headerHeight
99
- : 0, trigger: null },
100
- menuBefore,
101
- react_1.default.createElement(ui_1.Menu, { ...menuProps, defaultSelectedKeys: defaultPage ? [defaultPage] : undefined, items: menuPages, selectedKeys: selectedPages, onSelect: ({ key }) => {
102
- if (!hiddenSider) {
103
- setHiddenSider(true);
104
- }
105
- onSelect?.(key);
106
- } }),
107
- menuAfter),
108
- react_1.default.createElement(Content, { ...contentProps, className: (0, classnames_1.default)(classes.content, contentProps?.className) }, children)));
109
- }
110
- exports.HeaderSiderLayout = HeaderSiderLayout;
1
+ "use strict";
2
+ /*
3
+ * Copyright (c) 2024, 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
+ var __importDefault = (this && this.__importDefault) || function (mod) {
29
+ return (mod && mod.__esModule) ? mod : { "default": mod };
30
+ };
31
+ Object.defineProperty(exports, "__esModule", { value: true });
32
+ exports.HeaderSiderLayout = void 0;
33
+ const ui_1 = require("@j2inn/ui");
34
+ const classnames_1 = __importDefault(require("classnames"));
35
+ const react_1 = __importStar(require("react"));
36
+ const react_jss_1 = require("react-jss");
37
+ const BasicLayout_1 = require("./BasicLayout");
38
+ const MenuTrigger_1 = __importDefault(require("./MenuTrigger"));
39
+ const useStyles = (0, react_jss_1.createUseStyles)({
40
+ header: ({ headerHeight }) => ({
41
+ position: 'fixed',
42
+ width: '100%',
43
+ zIndex: 1000,
44
+ padding: 0,
45
+ height: headerHeight,
46
+ lineHeight: `${headerHeight}px`,
47
+ }),
48
+ headerContent: {
49
+ height: '100%',
50
+ },
51
+ sider: ({ headerHeight }) => ({
52
+ overflow: 'auto',
53
+ height: '100vh',
54
+ position: 'fixed',
55
+ left: 0,
56
+ top: 0,
57
+ bottom: 0,
58
+ zIndex: 999,
59
+ paddingTop: headerHeight,
60
+ }),
61
+ content: ({ isMobile, compactSider, siderWidth = 200, headerHeight, }) => ({
62
+ paddingLeft: isMobile ? 0 : compactSider ? 45 : siderWidth,
63
+ paddingTop: headerHeight,
64
+ }),
65
+ });
66
+ // Workaround j2inn/ui exporting problem
67
+ const Header = ui_1.Layout.Header;
68
+ const Sider = ui_1.Layout.Sider;
69
+ const Content = ui_1.Layout.Content;
70
+ /**
71
+ * Layout with header and sider. Sider is collapsed on mobile.
72
+ * Routing management can be plugged in, for examples @see ReactRouterLayout @see RouterLayout
73
+ */
74
+ function HeaderSiderLayout({ pages = [], defaultPage, selectedPages = [], onSelect, compactSider, layoutProps, header, headerProps, siderProps, contentProps, menuProps, menuBefore, menuAfter, menuTriggerClassName, headerHeight = BasicLayout_1.DEFAULT_HEADER_HEIGHT, children, }) {
75
+ const [isMobile, setIsMobile] = (0, react_1.useState)(false);
76
+ const [hiddenSider, setHiddenSider] = (0, react_1.useState)(false);
77
+ const siderWidth = siderProps?.width;
78
+ const classes = useStyles({
79
+ isMobile,
80
+ compactSider: compactSider?.isCompact,
81
+ siderWidth,
82
+ headerHeight,
83
+ });
84
+ const menuPages = (0, react_1.useMemo)(() => (0, BasicLayout_1.getMenuPages)(pages), [pages]);
85
+ return (react_1.default.createElement(ui_1.Layout, { hasSider: true, ...layoutProps },
86
+ react_1.default.createElement(Header, { ...headerProps, className: (0, classnames_1.default)(classes.header, headerProps?.className) },
87
+ react_1.default.createElement(ui_1.Container, { horizontal: true, middle: true, className: classes.headerContent },
88
+ isMobile && (react_1.default.createElement(MenuTrigger_1.default, { hiddenSider: hiddenSider, headerHeight: headerHeight, className: menuTriggerClassName, onClick: () => {
89
+ setHiddenSider(!hiddenSider);
90
+ } })),
91
+ header)),
92
+ react_1.default.createElement(Sider, { ...siderProps, className: (0, classnames_1.default)(classes.sider, siderProps?.className), breakpoint: 'md', onBreakpoint: (broken) => {
93
+ setIsMobile(broken);
94
+ setHiddenSider(true);
95
+ }, collapsed: (isMobile && hiddenSider) || compactSider?.isCompact, collapsedWidth: isMobile && hiddenSider
96
+ ? 0
97
+ : compactSider
98
+ ? headerHeight
99
+ : 0, trigger: null },
100
+ menuBefore,
101
+ react_1.default.createElement(ui_1.Menu, { ...menuProps, defaultSelectedKeys: defaultPage ? [defaultPage] : undefined, items: menuPages, selectedKeys: selectedPages, onSelect: ({ key }) => {
102
+ if (!hiddenSider) {
103
+ setHiddenSider(true);
104
+ }
105
+ onSelect?.(key);
106
+ } }),
107
+ menuAfter),
108
+ react_1.default.createElement(Content, { ...contentProps, className: (0, classnames_1.default)(classes.content, contentProps?.className) }, children)));
109
+ }
110
+ exports.HeaderSiderLayout = HeaderSiderLayout;
111
111
  //# sourceMappingURL=HeaderSiderLayout.js.map
@@ -1,37 +1,37 @@
1
- import { ItemType } from 'antd/lib/menu/hooks/useItems';
2
- import React, { PropsWithChildren } from 'react';
3
- /**
4
- * Menu page has both the data required by the menu and the data required to actually render the page.
5
- */
6
- export declare type MenuPage<T = Record<string, unknown>> = ItemType & Page<T>;
7
- /**
8
- * Menu Item that represents an application page
9
- */
10
- interface Page<T = Record<string, unknown>> {
11
- key: string;
12
- component?: React.LazyExoticComponent<React.FC<T>>;
13
- props?: PropsWithChildren<T>;
14
- children?: MenuPage<T>[];
15
- disabled?: boolean;
16
- /**
17
- * Set it to false to avoid showing the page in the menu. It is just used for routing purposes.
18
- */
19
- showInMenu?: boolean;
20
- }
21
- /**
22
- * Retrieve a specific page or subPage from a root page list
23
- * @param name the name of the searched page
24
- * @param pages the list of root pages
25
- */
26
- export declare function findPageByName<T extends MenuPage>(pages: T[], name?: string): T | undefined;
27
- /**
28
- * Expands the list of pages to include all the subpages
29
- */
30
- export declare function pageTreeToPageList<T extends MenuPage>(pages: T[]): T[];
31
- /**
32
- * Recursively get all the subPages of a root page
33
- * @param page root page
34
- * @returns the whole tree of subPages as a list
35
- */
36
- export declare function getAllSubPages<T extends MenuPage>(page: T): T[];
37
- export {};
1
+ import { ItemType } from 'antd/lib/menu/hooks/useItems';
2
+ import React, { PropsWithChildren } from 'react';
3
+ /**
4
+ * Menu page has both the data required by the menu and the data required to actually render the page.
5
+ */
6
+ export declare type MenuPage<T = Record<string, unknown>> = ItemType & Page<T>;
7
+ /**
8
+ * Menu Item that represents an application page
9
+ */
10
+ interface Page<T = Record<string, unknown>> {
11
+ key: string;
12
+ component?: React.LazyExoticComponent<React.FC<T>>;
13
+ props?: PropsWithChildren<T>;
14
+ children?: MenuPage<T>[];
15
+ disabled?: boolean;
16
+ /**
17
+ * Set it to false to avoid showing the page in the menu. It is just used for routing purposes.
18
+ */
19
+ showInMenu?: boolean;
20
+ }
21
+ /**
22
+ * Retrieve a specific page or subPage from a root page list
23
+ * @param name the name of the searched page
24
+ * @param pages the list of root pages
25
+ */
26
+ export declare function findPageByName<T extends MenuPage>(pages: T[], name?: string): T | undefined;
27
+ /**
28
+ * Expands the list of pages to include all the subpages
29
+ */
30
+ export declare function pageTreeToPageList<T extends MenuPage>(pages: T[]): T[];
31
+ /**
32
+ * Recursively get all the subPages of a root page
33
+ * @param page root page
34
+ * @returns the whole tree of subPages as a list
35
+ */
36
+ export declare function getAllSubPages<T extends MenuPage>(page: T): T[];
37
+ export {};