@j2inn/fin5-ui-utils 0.0.4 → 0.0.5-beta.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 (97) hide show
  1. package/dist/fantomProps/createFin5Props/index.d.ts +12 -0
  2. package/dist/fantomProps/createFin5Props/index.js +147 -0
  3. package/dist/fantomProps/createFin5Props/index.js.map +1 -0
  4. package/dist/fantomProps/createFin5Props/runCreateFin5Props.d.ts +2 -0
  5. package/dist/fantomProps/createFin5Props/runCreateFin5Props.js +17 -0
  6. package/dist/fantomProps/createFin5Props/runCreateFin5Props.js.map +1 -0
  7. package/dist/fantomProps/fantomPropsToObject.js +3 -0
  8. package/dist/fantomProps/fantomPropsToObject.js.map +1 -1
  9. package/dist/fantomProps/generateJsonFromFantomPropsFile.js +3 -0
  10. package/dist/fantomProps/generateJsonFromFantomPropsFile.js.map +1 -1
  11. package/dist/fantomProps/localePropsToJson.js +3 -0
  12. package/dist/fantomProps/localePropsToJson.js.map +1 -1
  13. package/dist/fantomProps/readFantomPropsFile.js +3 -0
  14. package/dist/fantomProps/readFantomPropsFile.js.map +1 -1
  15. package/dist/fin5Top/fin5Top.js +3 -0
  16. package/dist/fin5Top/fin5Top.js.map +1 -1
  17. package/dist/fin5Top/getFin5BinUrl.js +3 -0
  18. package/dist/fin5Top/getFin5BinUrl.js.map +1 -1
  19. package/dist/fin5Top/openFin5Alarm.js +5 -2
  20. package/dist/fin5Top/openFin5Alarm.js.map +1 -1
  21. package/dist/fin5Top/openFin5Historian.js +5 -2
  22. package/dist/fin5Top/openFin5Historian.js.map +1 -1
  23. package/dist/fin5Top/useFin5AppURLHashParameter.d.ts +7 -0
  24. package/dist/fin5Top/useFin5AppURLHashParameter.js +72 -0
  25. package/dist/fin5Top/useFin5AppURLHashParameter.js.map +1 -0
  26. package/dist/index.d.ts +6 -0
  27. package/dist/index.js +12 -0
  28. package/dist/index.js.map +1 -1
  29. package/dist/react/app/Fin5AppContainer.d.ts +36 -0
  30. package/dist/react/app/Fin5AppContainer.jsx +102 -0
  31. package/dist/react/app/Fin5AppContainer.jsx.map +1 -0
  32. package/dist/react/app/Fin5AppRootStore.d.ts +38 -0
  33. package/dist/react/app/Fin5AppRootStore.js +66 -0
  34. package/dist/react/app/Fin5AppRootStore.js.map +1 -0
  35. package/dist/react/components/ErrorBoundary.d.ts +57 -0
  36. package/dist/react/components/ErrorBoundary.jsx +177 -0
  37. package/dist/react/components/ErrorBoundary.jsx.map +1 -0
  38. package/dist/react/components/Loader.d.ts +9 -0
  39. package/dist/react/components/Loader.jsx +18 -0
  40. package/dist/react/components/Loader.jsx.map +1 -0
  41. package/dist/react/components/LoadingSpinner.jsx +3 -0
  42. package/dist/react/components/LoadingSpinner.jsx.map +1 -1
  43. package/dist/react/components/navigation/BasicLayout.jsx +3 -0
  44. package/dist/react/components/navigation/BasicLayout.jsx.map +1 -1
  45. package/dist/react/components/navigation/MenuPage.jsx +3 -0
  46. package/dist/react/components/navigation/MenuPage.jsx.map +1 -1
  47. package/dist/react/components/navigation/Router.jsx +3 -0
  48. package/dist/react/components/navigation/Router.jsx.map +1 -1
  49. package/dist_es/fantomProps/createFin5Props/index.d.ts +12 -0
  50. package/dist_es/fantomProps/createFin5Props/index.js +141 -0
  51. package/dist_es/fantomProps/createFin5Props/index.js.map +1 -0
  52. package/dist_es/fantomProps/createFin5Props/runCreateFin5Props.d.ts +2 -0
  53. package/dist_es/fantomProps/createFin5Props/runCreateFin5Props.js +12 -0
  54. package/dist_es/fantomProps/createFin5Props/runCreateFin5Props.js.map +1 -0
  55. package/dist_es/fantomProps/fantomPropsToObject.js +3 -0
  56. package/dist_es/fantomProps/fantomPropsToObject.js.map +1 -1
  57. package/dist_es/fantomProps/generateJsonFromFantomPropsFile.js +3 -0
  58. package/dist_es/fantomProps/generateJsonFromFantomPropsFile.js.map +1 -1
  59. package/dist_es/fantomProps/localePropsToJson.js +3 -0
  60. package/dist_es/fantomProps/localePropsToJson.js.map +1 -1
  61. package/dist_es/fantomProps/readFantomPropsFile.js +3 -0
  62. package/dist_es/fantomProps/readFantomPropsFile.js.map +1 -1
  63. package/dist_es/fin5Top/fin5Top.js +3 -0
  64. package/dist_es/fin5Top/fin5Top.js.map +1 -1
  65. package/dist_es/fin5Top/getFin5BinUrl.js +3 -0
  66. package/dist_es/fin5Top/getFin5BinUrl.js.map +1 -1
  67. package/dist_es/fin5Top/openFin5Alarm.js +3 -0
  68. package/dist_es/fin5Top/openFin5Alarm.js.map +1 -1
  69. package/dist_es/fin5Top/openFin5Historian.js +3 -0
  70. package/dist_es/fin5Top/openFin5Historian.js.map +1 -1
  71. package/dist_es/fin5Top/useFin5AppURLHashParameter.d.ts +7 -0
  72. package/dist_es/fin5Top/useFin5AppURLHashParameter.js +68 -0
  73. package/dist_es/fin5Top/useFin5AppURLHashParameter.js.map +1 -0
  74. package/dist_es/index.d.ts +6 -0
  75. package/dist_es/index.js +12 -0
  76. package/dist_es/index.js.map +1 -1
  77. package/dist_es/react/app/Fin5AppContainer.d.ts +36 -0
  78. package/dist_es/react/app/Fin5AppContainer.jsx +73 -0
  79. package/dist_es/react/app/Fin5AppContainer.jsx.map +1 -0
  80. package/dist_es/react/app/Fin5AppRootStore.d.ts +38 -0
  81. package/dist_es/react/app/Fin5AppRootStore.js +62 -0
  82. package/dist_es/react/app/Fin5AppRootStore.js.map +1 -0
  83. package/dist_es/react/components/ErrorBoundary.d.ts +57 -0
  84. package/dist_es/react/components/ErrorBoundary.jsx +150 -0
  85. package/dist_es/react/components/ErrorBoundary.jsx.map +1 -0
  86. package/dist_es/react/components/Loader.d.ts +9 -0
  87. package/dist_es/react/components/Loader.jsx +13 -0
  88. package/dist_es/react/components/Loader.jsx.map +1 -0
  89. package/dist_es/react/components/LoadingSpinner.jsx +3 -0
  90. package/dist_es/react/components/LoadingSpinner.jsx.map +1 -1
  91. package/dist_es/react/components/navigation/BasicLayout.jsx +3 -0
  92. package/dist_es/react/components/navigation/BasicLayout.jsx.map +1 -1
  93. package/dist_es/react/components/navigation/MenuPage.jsx +3 -0
  94. package/dist_es/react/components/navigation/MenuPage.jsx.map +1 -1
  95. package/dist_es/react/components/navigation/Router.jsx +3 -0
  96. package/dist_es/react/components/navigation/Router.jsx.map +1 -1
  97. package/package.json +20 -10
@@ -0,0 +1,102 @@
1
+ "use strict";
2
+ /*
3
+ * Copyright (c) 2022, 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.Fin5AppContainer = void 0;
33
+ const react_1 = __importStar(require("react"));
34
+ const app_1 = require("@j2inn/app");
35
+ const mobx_react_lite_1 = require("mobx-react-lite");
36
+ const Fin5AppRootStore_1 = require("./Fin5AppRootStore");
37
+ const haystack_nclient_1 = require("haystack-nclient");
38
+ const haystack_react_1 = require("haystack-react");
39
+ const utils_1 = require("@j2inn/utils");
40
+ const react_jss_1 = require("react-jss");
41
+ const ui_1 = require("@j2inn/ui");
42
+ const fin5Top_1 = require("../../fin5Top/fin5Top");
43
+ const useFin5AppURLHashParameter_1 = require("../../fin5Top/useFin5AppURLHashParameter");
44
+ const haystack_core_1 = require("haystack-core");
45
+ const ErrorBoundary_1 = require("../components/ErrorBoundary");
46
+ const Loader_1 = __importDefault(require("../components/Loader"));
47
+ /**
48
+ * Creates a basic application container environment to run a view in FIN5.
49
+ */
50
+ exports.Fin5AppContainer = (0, mobx_react_lite_1.observer)(({ children, appStore, client, project, theme = (0, ui_1.GenerateTheme)(ui_1.DEFAULT_THEME).light, }) => {
51
+ const [loading, setLoading] = (0, react_1.useState)(true);
52
+ const [loadingi18n, setLoadingi18n] = (0, react_1.useState)(true);
53
+ const rootStoreRef = (0, react_1.useRef)(null);
54
+ const rootStore = rootStoreRef.current ??
55
+ (rootStoreRef.current = new Fin5AppRootStore_1.Fin5AppRootStore());
56
+ const [hashProjName] = (0, useFin5AppURLHashParameter_1.useFin5AppURLHashParameter)('projectName');
57
+ const containerProject = project || hashProjName || fin5Top_1.fin5Top?.finstack?.projectName || '';
58
+ const locale = fin5Top_1.fin5Top?.languageManager?.currentLang ?? navigator?.language;
59
+ rootStore.locale = locale;
60
+ if (!rootStore.allLocales.includes(locale)) {
61
+ rootStore.allLocales.push(locale);
62
+ }
63
+ const target = fin5Top_1.fin5Top?.app?.TargetRef?.() || '';
64
+ rootStore.target = target ? haystack_core_1.HRef.make(target).value : '';
65
+ const getClient = () => client ??
66
+ new haystack_nclient_1.Client({
67
+ base: new URL(window.location.href),
68
+ project: containerProject,
69
+ options: { headers: { accept: 'text/zinc' } },
70
+ });
71
+ const [containerClient, setContainerClient] = (0, react_1.useState)(getClient);
72
+ (0, react_1.useEffect)(() => {
73
+ setLoading(true);
74
+ const newClient = getClient();
75
+ setContainerClient(newClient);
76
+ // Load everything network wise before we load
77
+ // the application.
78
+ Promise.all([
79
+ newClient.ext.eval('finGetCurrentUser()'),
80
+ newClient.ext.loadDefs(),
81
+ ]).then(([userGrid]) => {
82
+ rootStore.currentUser = userGrid.first;
83
+ setLoading(false);
84
+ });
85
+ }, [client, containerProject]);
86
+ return (<app_1.AppRootStoreContext.Provider value={rootStore}>
87
+ <app_1.AppStoreContext.Provider value={appStore}>
88
+ <haystack_react_1.ClientContext.Provider value={containerClient}>
89
+ <utils_1.I18NProvider locale={locale} setLoading={setLoadingi18n}>
90
+ <react_jss_1.ThemeProvider theme={theme}>
91
+ <Loader_1.default loading={loading || loadingi18n}>
92
+ <ErrorBoundary_1.ErrorBoundary mode={"global" /* ErrorBoundaryMode.global */}>
93
+ {children}
94
+ </ErrorBoundary_1.ErrorBoundary>
95
+ </Loader_1.default>
96
+ </react_jss_1.ThemeProvider>
97
+ </utils_1.I18NProvider>
98
+ </haystack_react_1.ClientContext.Provider>
99
+ </app_1.AppStoreContext.Provider>
100
+ </app_1.AppRootStoreContext.Provider>);
101
+ });
102
+ //# sourceMappingURL=Fin5AppContainer.jsx.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Fin5AppContainer.jsx","sourceRoot":"","sources":["../../../src/react/app/Fin5AppContainer.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,38 @@
1
+ import { AppRootStore, App, AppView, CustomHistory, AppAccessLevel } from '@j2inn/app';
2
+ import { HDict } from 'haystack-core';
3
+ /**
4
+ * An application root store for use with FIN5.
5
+ */
6
+ export declare class Fin5AppRootStore implements AppRootStore {
7
+ constructor();
8
+ get app(): {
9
+ id: string;
10
+ name: string;
11
+ app: App;
12
+ view: AppView;
13
+ } | undefined;
14
+ get sidebar(): {
15
+ id: string;
16
+ name: string;
17
+ app: App;
18
+ view: AppView;
19
+ } | undefined;
20
+ readonly apps: App[];
21
+ project: string;
22
+ sidebarOpen: boolean;
23
+ open(): void;
24
+ openSidebar(): void;
25
+ locale: string;
26
+ allLocales: string[];
27
+ target: string;
28
+ targetSidebar: string;
29
+ readonly history: CustomHistory;
30
+ readonly historySidebar: CustomHistory;
31
+ currentUser: HDict | undefined;
32
+ postAppMessage(): void;
33
+ registerQuicklinks(): void;
34
+ unregisterQuicklinks(): void;
35
+ registerSidebars(): void;
36
+ unregisterSidebars(): void;
37
+ hasAppAccess: (_: string, access: AppAccessLevel) => boolean;
38
+ }
@@ -0,0 +1,66 @@
1
+ "use strict";
2
+ /*
3
+ * Copyright (c) 2022, J2 Innovations. All Rights Reserved
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.Fin5AppRootStore = void 0;
7
+ const mobx_1 = require("mobx");
8
+ /**
9
+ * An application root store for use with FIN5.
10
+ */
11
+ class Fin5AppRootStore {
12
+ constructor() {
13
+ (0, mobx_1.makeAutoObservable)(this, {
14
+ currentUser: mobx_1.observable.ref,
15
+ apps: mobx_1.observable.ref,
16
+ });
17
+ }
18
+ get app() {
19
+ return undefined;
20
+ }
21
+ get sidebar() {
22
+ return undefined;
23
+ }
24
+ apps = [];
25
+ project = '';
26
+ sidebarOpen = false;
27
+ open() { }
28
+ openSidebar() { }
29
+ locale = '';
30
+ allLocales = [];
31
+ target = '';
32
+ targetSidebar = '';
33
+ history = {
34
+ state: {},
35
+ pushState: (state) => {
36
+ this.history.state = state;
37
+ },
38
+ replaceState: (state) => {
39
+ this.history.state = state;
40
+ },
41
+ };
42
+ historySidebar = {
43
+ state: {},
44
+ pushState: (state) => {
45
+ this.historySidebar.state = state;
46
+ },
47
+ replaceState: (state) => {
48
+ this.historySidebar.state = state;
49
+ },
50
+ };
51
+ currentUser;
52
+ postAppMessage() { }
53
+ registerQuicklinks() { }
54
+ unregisterQuicklinks() { }
55
+ registerSidebars() { }
56
+ unregisterSidebars() { }
57
+ hasAppAccess = (_, access) => {
58
+ // For FIN5, an operator only has readonly app level access.
59
+ const user = this.currentUser;
60
+ return user?.get('userRole')?.value === 'op'
61
+ ? access === 'read'
62
+ : !!user;
63
+ };
64
+ }
65
+ exports.Fin5AppRootStore = Fin5AppRootStore;
66
+ //# sourceMappingURL=Fin5AppRootStore.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Fin5AppRootStore.js","sourceRoot":"","sources":["../../../src/react/app/Fin5AppRootStore.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAYH,+BAAqD;AAErD;;GAEG;AACH,MAAa,gBAAgB;IAC5B;QACC,IAAA,yBAAkB,EAAC,IAAI,EAAE;YACxB,WAAW,EAAE,iBAAU,CAAC,GAAG;YAC3B,IAAI,EAAE,iBAAU,CAAC,GAAG;SACpB,CAAC,CAAA;IACH,CAAC;IAED,IAAI,GAAG;QAGN,OAAO,SAAS,CAAA;IACjB,CAAC;IAED,IAAI,OAAO;QAGV,OAAO,SAAS,CAAA;IACjB,CAAC;IAEQ,IAAI,GAAU,EAAE,CAAA;IAEzB,OAAO,GAAG,EAAE,CAAA;IAEZ,WAAW,GAAG,KAAK,CAAA;IAEnB,IAAI,KAAU,CAAC;IAEf,WAAW,KAAU,CAAC;IAEtB,MAAM,GAAG,EAAE,CAAA;IAEX,UAAU,GAAa,EAAE,CAAA;IAEzB,MAAM,GAAG,EAAE,CAAA;IAEX,aAAa,GAAG,EAAE,CAAA;IAET,OAAO,GAAkB;QACjC,KAAK,EAAE,EAAE;QACT,SAAS,EAAE,CAAC,KAA8B,EAAQ,EAAE;YACnD,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,KAAK,CAAA;QAC3B,CAAC;QACD,YAAY,EAAE,CAAC,KAA8B,EAAQ,EAAE;YACtD,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,KAAK,CAAA;QAC3B,CAAC;KACD,CAAA;IAEQ,cAAc,GAAkB;QACxC,KAAK,EAAE,EAAE;QACT,SAAS,EAAE,CAAC,KAA8B,EAAQ,EAAE;YACnD,IAAI,CAAC,cAAc,CAAC,KAAK,GAAG,KAAK,CAAA;QAClC,CAAC;QACD,YAAY,EAAE,CAAC,KAA8B,EAAQ,EAAE;YACtD,IAAI,CAAC,cAAc,CAAC,KAAK,GAAG,KAAK,CAAA;QAClC,CAAC;KACD,CAAA;IAED,WAAW,CAAmB;IAE9B,cAAc,KAAU,CAAC;IAEzB,kBAAkB,KAAU,CAAC;IAE7B,oBAAoB,KAAU,CAAC;IAE/B,gBAAgB,KAAU,CAAC;IAE3B,kBAAkB,KAAU,CAAC;IAE7B,YAAY,GAAG,CAAC,CAAS,EAAE,MAAsB,EAAW,EAAE;QAC7D,4DAA4D;QAC5D,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAA;QAE7B,OAAO,IAAI,EAAE,GAAG,CAAO,UAAU,CAAC,EAAE,KAAK,KAAK,IAAI;YACjD,CAAC,CAAC,MAAM,KAAK,MAAM;YACnB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;IACV,CAAC,CAAA;CACD;AA9ED,4CA8EC"}
@@ -0,0 +1,57 @@
1
+ import React, { ErrorInfo, ReactNode } from 'react';
2
+ /**
3
+ * An error boundary can work at the global level (where something really screws up)
4
+ * or an an app level (where the error is captured just for the running application).
5
+ */
6
+ export declare const enum ErrorBoundaryMode {
7
+ global = "global",
8
+ app = "app"
9
+ }
10
+ /**
11
+ * The properties for an error boundary.
12
+ */
13
+ interface ErrorBoundaryProps {
14
+ /**
15
+ * The associated application id.
16
+ */
17
+ appId?: string;
18
+ /**
19
+ * The error mode.
20
+ */
21
+ mode: ErrorBoundaryMode;
22
+ /**
23
+ * Optional callback to display a report dialog.
24
+ */
25
+ showReportDialog?: () => void;
26
+ /**
27
+ * Optional callback used to capture the error.
28
+ */
29
+ onError?: (error: Error) => void;
30
+ /**
31
+ * Child components.
32
+ */
33
+ children?: React.ReactNode;
34
+ }
35
+ /**
36
+ * The state for an error boundary.
37
+ */
38
+ interface ErrorBoundryState {
39
+ /**
40
+ * The last captured error.
41
+ */
42
+ error?: Error;
43
+ }
44
+ /**
45
+ * A common error boundary used to capture errors.
46
+ */
47
+ export declare class ErrorBoundary extends React.Component<ErrorBoundaryProps, ErrorBoundryState> {
48
+ state: {
49
+ error?: Error;
50
+ };
51
+ componentDidCatch(error: Error, info: ErrorInfo): void;
52
+ static getDerivedStateFromError(error: Error): {
53
+ error: Error;
54
+ };
55
+ render(): ReactNode | JSX.Element;
56
+ }
57
+ export {};
@@ -0,0 +1,177 @@
1
+ "use strict";
2
+ /*
3
+ * Copyright (c) 2022, 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.ErrorBoundary = void 0;
30
+ const react_1 = __importStar(require("react"));
31
+ const ui_1 = require("@j2inn/ui");
32
+ const utils_1 = require("@j2inn/utils");
33
+ const react_jss_1 = require("react-jss");
34
+ const boundryStyles = (0, react_jss_1.createUseStyles)((theme) => ({
35
+ errorBoundry: {
36
+ backgroundColor: theme.bodyBg,
37
+ flex: `1 1 auto`,
38
+ },
39
+ boundryContainer: {
40
+ margin: '0 auto',
41
+ flex: `1 1 auto`,
42
+ padding: `2rem`,
43
+ maxWidth: 1024,
44
+ backgroundColor: theme.bgColor,
45
+ [`& h1, & h3`]: {
46
+ paddingBottom: `1rem`,
47
+ },
48
+ },
49
+ errorDetails: {
50
+ [`& pre`]: {
51
+ overflow: 'auto',
52
+ marginTop: '1rem',
53
+ backgroundColor: ui_1.ColorVals.Black,
54
+ color: ui_1.ColorVals.White,
55
+ padding: '0.3rem',
56
+ },
57
+ },
58
+ }));
59
+ function get(i18n, key, fallback) {
60
+ return i18n.has(key) ? i18n.get(key) : fallback;
61
+ }
62
+ /**
63
+ * Format an error message into something more useful for the clipboard.
64
+ */
65
+ function formatErrorMessage(error, appId) {
66
+ return JSON.stringify({
67
+ timestamp: new Date().toISOString(),
68
+ appId: appId ?? '',
69
+ location: location.href,
70
+ navigator: {
71
+ cookieEnabled: navigator.cookieEnabled,
72
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
73
+ deviceMemory: navigator.deviceMemory,
74
+ language: navigator.language,
75
+ languages: navigator.languages,
76
+ onLine: navigator.onLine,
77
+ userAgent: navigator.userAgent,
78
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
79
+ userAgentData: navigator.userAgentData,
80
+ vendor: navigator.vendor,
81
+ },
82
+ error: String(error.stack),
83
+ }, null, 2);
84
+ }
85
+ /**
86
+ * Shows the internal error details to a user.
87
+ */
88
+ const ErrorDetails = ({ showDetails, setShowDetails, error, appId, }) => {
89
+ const i18n = (0, utils_1.usei18n)();
90
+ const classes = boundryStyles();
91
+ const theme = (0, react_jss_1.useTheme)();
92
+ const copyToClipboard = () => {
93
+ navigator.clipboard.writeText(formatErrorMessage(error, appId));
94
+ ui_1.Message.success(theme, get(i18n, 'finUi.errorBoundary.copiedErrorToClipboard', 'Copied error to clipboard'));
95
+ };
96
+ return (<div className={classes.errorDetails}>
97
+ <ui_1.Checkbox onChange={(e) => {
98
+ setShowDetails(e.target.checked);
99
+ }} defaultChecked={showDetails} value={showDetails}>
100
+ {get(i18n, 'finUi.errorBoundary.showDetails', 'Show details')}
101
+ </ui_1.Checkbox>
102
+ {showDetails && (<>
103
+ <pre>{error.stack}</pre>
104
+ <ui_1.Container horizontal middle right>
105
+ <ui_1.Button onClick={copyToClipboard}>
106
+ {get(i18n, 'finUi.errorBoundary.copyToClipboard', 'Copy to clipboard')}
107
+ </ui_1.Button>
108
+ </ui_1.Container>
109
+ </>)}
110
+ </div>);
111
+ };
112
+ /**
113
+ * The inner error boundary component. This is required so
114
+ * we can use hooks that can't be used in a normal class component.
115
+ */
116
+ const ErrorBoundaryInner = ({ error, mode, appId, showReportDialog, }) => {
117
+ const i18n = (0, utils_1.usei18n)();
118
+ const [showDetails, setShowDetails] = (0, react_1.useState)(true);
119
+ const classes = boundryStyles();
120
+ const title = `finUi.errorBoundary.${mode}.title`;
121
+ const appName = `${appId}.name`;
122
+ const header = get(i18n, title, mode === 'global' ? 'Error' : 'Application error') +
123
+ (appId ? `: ${get(i18n, appName, appName)}` : '');
124
+ const continueMsg = get(i18n, `finUi.errorBoundary.${mode}.continue`, mode === 'global'
125
+ ? 'To continue, please reload or navigate to the home page.'
126
+ : 'To continue, please reload, navigate to the home page or another application.');
127
+ return (<ui_1.Container vertical top center className={classes.errorBoundry}>
128
+ <div className={classes.boundryContainer} style={{ gap: `1rem` }}>
129
+ <h1>{header}</h1>
130
+
131
+ <h3>
132
+ {get(i18n, 'finUi.errorBoundary.description', 'The application has encountered an error when trying to display some content.')}
133
+ </h3>
134
+
135
+ <p>{continueMsg}</p>
136
+
137
+ <div>
138
+ <ErrorDetails showDetails={showDetails} setShowDetails={setShowDetails} error={error} appId={appId}/>
139
+ </div>
140
+
141
+ <ui_1.Divider />
142
+
143
+ <ui_1.Container horizontal middle left style={{ gap: `1rem` }}>
144
+ <ui_1.Button onClick={() => window.location.reload()} type='primary'>
145
+ {get(i18n, 'finUi.common.reload', 'Reload')}
146
+ </ui_1.Button>
147
+ <ui_1.Button onClick={() => window.location.assign('/')}>
148
+ {get(i18n, 'finUi.common.home', 'Home')}
149
+ </ui_1.Button>
150
+ </ui_1.Container>
151
+
152
+ {showReportDialog && (<div style={{ marginTop: `0.5rem` }}>
153
+ <small onClick={showReportDialog}>
154
+ {get(i18n, 'finUi.errorBoundary.additionalDetails', 'If you’d like, click here to include an additional error report to our team. Any details you provide will be helpful.')}
155
+ </small>
156
+ </div>)}
157
+ </div>
158
+ </ui_1.Container>);
159
+ };
160
+ /**
161
+ * A common error boundary used to capture errors.
162
+ */
163
+ class ErrorBoundary extends react_1.default.Component {
164
+ state = {};
165
+ componentDidCatch(error, info) {
166
+ this.props.onError?.(error);
167
+ console.error(error, info);
168
+ }
169
+ static getDerivedStateFromError(error) {
170
+ return { error };
171
+ }
172
+ render() {
173
+ return this.state.error ? (<ErrorBoundaryInner error={this.state.error} mode={this.props.mode} appId={this.props.appId} showReportDialog={this.props.showReportDialog}/>) : (this.props.children);
174
+ }
175
+ }
176
+ exports.ErrorBoundary = ErrorBoundary;
177
+ //# sourceMappingURL=ErrorBoundary.jsx.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ErrorBoundary.jsx","sourceRoot":"","sources":["../../../src/react/components/ErrorBoundary.tsx"],"names":[],"mappings":";AAAA;;GAEG;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,+CAA6D;AAC7D,kCAQkB;AAElB,wCAA4C;AAC5C,yCAAqD;AAErD,MAAM,aAAa,GAAG,IAAA,2BAAe,EAAC,CAAC,KAAe,EAAE,EAAE,CAAC,CAAC;IAC3D,YAAY,EAAE;QACb,eAAe,EAAE,KAAK,CAAC,MAAM;QAC7B,IAAI,EAAE,UAAU;KAChB;IACD,gBAAgB,EAAE;QACjB,MAAM,EAAE,QAAQ;QAChB,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,MAAM;QACf,QAAQ,EAAE,IAAI;QACd,eAAe,EAAE,KAAK,CAAC,OAAO;QAC9B,CAAC,YAAY,CAAC,EAAE;YACf,aAAa,EAAE,MAAM;SACrB;KACD;IACD,YAAY,EAAE;QACb,CAAC,OAAO,CAAC,EAAE;YACV,QAAQ,EAAE,MAAM;YAChB,SAAS,EAAE,MAAM;YACjB,eAAe,EAAE,cAAS,CAAC,KAAK;YAChC,KAAK,EAAE,cAAS,CAAC,KAAK;YACtB,OAAO,EAAE,QAAQ;SACjB;KACD;CACD,CAAC,CAAC,CAAA;AAEH,SAAS,GAAG,CAAC,IAAU,EAAE,GAAW,EAAE,QAAgB;IACrD,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAA;AAChD,CAAC;AAED;;GAEG;AACH,SAAS,kBAAkB,CAAC,KAAY,EAAE,KAAc;IACvD,OAAO,IAAI,CAAC,SAAS,CACpB;QACC,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACnC,KAAK,EAAE,KAAK,IAAI,EAAE;QAClB,QAAQ,EAAE,QAAQ,CAAC,IAAI;QACvB,SAAS,EAAE;YACV,aAAa,EAAE,SAAS,CAAC,aAAa;YACtC,8DAA8D;YAC9D,YAAY,EAAG,SAAiB,CAAC,YAAY;YAC7C,QAAQ,EAAE,SAAS,CAAC,QAAQ;YAC5B,SAAS,EAAE,SAAS,CAAC,SAAS;YAC9B,MAAM,EAAE,SAAS,CAAC,MAAM;YACxB,SAAS,EAAE,SAAS,CAAC,SAAS;YAC9B,8DAA8D;YAC9D,aAAa,EAAG,SAAiB,CAAC,aAAa;YAC/C,MAAM,EAAE,SAAS,CAAC,MAAM;SACxB;QACD,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC;KAC1B,EACD,IAAI,EACJ,CAAC,CACD,CAAA;AACF,CAAC;AAED;;GAEG;AACH,MAAM,YAAY,GAAG,CAAC,EACrB,WAAW,EACX,cAAc,EACd,KAAK,EACL,KAAK,GAML,EAAe,EAAE;IACjB,MAAM,IAAI,GAAG,IAAA,eAAO,GAAE,CAAA;IACtB,MAAM,OAAO,GAAG,aAAa,EAAE,CAAA;IAC/B,MAAM,KAAK,GAAG,IAAA,oBAAQ,GAAY,CAAA;IAElC,MAAM,eAAe,GAAG,GAAG,EAAE;QAC5B,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,kBAAkB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAA;QAC/D,YAAO,CAAC,OAAO,CACd,KAAK,EACL,GAAG,CACF,IAAI,EACJ,4CAA4C,EAC5C,2BAA2B,CAC3B,CACD,CAAA;IACF,CAAC,CAAA;IAED,OAAO,CACN,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CACpC;GAAA,CAAC,aAAQ,CACR,QAAQ,CAAC,CAAC,CAAC,CAAsB,EAAQ,EAAE;YAC1C,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;QACjC,CAAC,CAAC,CACF,cAAc,CAAC,CAAC,WAAW,CAAC,CAC5B,KAAK,CAAC,CAAC,WAAW,CAAC,CACnB;IAAA,CAAC,GAAG,CAAC,IAAI,EAAE,iCAAiC,EAAE,cAAc,CAAC,CAC9D;GAAA,EAAE,aAAQ,CACV;GAAA,CAAC,WAAW,IAAI,CACf,EACC;KAAA,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,GAAG,CACvB;KAAA,CAAC,cAAS,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CACjC;MAAA,CAAC,WAAM,CAAC,OAAO,CAAC,CAAC,eAAe,CAAC,CAChC;OAAA,CAAC,GAAG,CACH,IAAI,EACJ,qCAAqC,EACrC,mBAAmB,CACnB,CACF;MAAA,EAAE,WAAM,CACT;KAAA,EAAE,cAAS,CACZ;IAAA,GAAG,CACH,CACF;EAAA,EAAE,GAAG,CAAC,CACN,CAAA;AACF,CAAC,CAAA;AAWD;;;GAGG;AACH,MAAM,kBAAkB,GAAG,CAAC,EAC3B,KAAK,EACL,IAAI,EACJ,KAAK,EACL,gBAAgB,GAMhB,EAAE,EAAE;IACJ,MAAM,IAAI,GAAG,IAAA,eAAO,GAAE,CAAA;IACtB,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,IAAA,gBAAQ,EAAC,IAAI,CAAC,CAAA;IACpD,MAAM,OAAO,GAAG,aAAa,EAAE,CAAA;IAE/B,MAAM,KAAK,GAAG,uBAAuB,IAAI,QAAQ,CAAA;IACjD,MAAM,OAAO,GAAG,GAAG,KAAK,OAAO,CAAA;IAE/B,MAAM,MAAM,GACX,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,mBAAmB,CAAC;QACnE,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;IAElD,MAAM,WAAW,GAAG,GAAG,CACtB,IAAI,EACJ,uBAAuB,IAAI,WAAW,EACtC,IAAI,KAAK,QAAQ;QAChB,CAAC,CAAC,0DAA0D;QAC5D,CAAC,CAAC,+EAA+E,CAClF,CAAA;IAED,OAAO,CACN,CAAC,cAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAC9D;GAAA,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,CAChE;IAAA,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,CAEhB;;IAAA,CAAC,EAAE,CACF;KAAA,CAAC,GAAG,CACH,IAAI,EACJ,iCAAiC,EACjC,+EAA+E,CAC/E,CACF;IAAA,EAAE,EAAE,CAEJ;;IAAA,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,CAEnB;;IAAA,CAAC,GAAG,CACH;KAAA,CAAC,YAAY,CACZ,WAAW,CAAC,CAAC,WAAW,CAAC,CACzB,cAAc,CAAC,CAAC,cAAc,CAAC,CAC/B,KAAK,CAAC,CAAC,KAAK,CAAC,CACb,KAAK,CAAC,CAAC,KAAK,CAAC,EAEf;IAAA,EAAE,GAAG,CAEL;;IAAA,CAAC,YAAO,CAAC,AAAD,EAER;;IAAA,CAAC,cAAS,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,CACxD;KAAA,CAAC,WAAM,CACN,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CACxC,IAAI,CAAC,SAAS,CACd;MAAA,CAAC,GAAG,CAAC,IAAI,EAAE,qBAAqB,EAAE,QAAQ,CAAC,CAC5C;KAAA,EAAE,WAAM,CACR;KAAA,CAAC,WAAM,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAClD;MAAA,CAAC,GAAG,CAAC,IAAI,EAAE,mBAAmB,EAAE,MAAM,CAAC,CACxC;KAAA,EAAE,WAAM,CACT;IAAA,EAAE,cAAS,CAEX;;IAAA,CAAC,gBAAgB,IAAI,CACpB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,CACnC;MAAA,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,gBAAgB,CAAC,CAChC;OAAA,CAAC,GAAG,CACH,IAAI,EACJ,uCAAuC,EACvC,uHAAuH,CACvH,CACF;MAAA,EAAE,KAAK,CACR;KAAA,EAAE,GAAG,CAAC,CACN,CACF;GAAA,EAAE,GAAG,CACN;EAAA,EAAE,cAAS,CAAC,CACZ,CAAA;AACF,CAAC,CAAA;AA0CD;;GAEG;AACH,MAAa,aAAc,SAAQ,eAAK,CAAC,SAGxC;IACS,KAAK,GAAsB,EAAE,CAAA;IAE7B,iBAAiB,CAAC,KAAY,EAAE,IAAe;QACvD,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,CAAA;QAC3B,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;IAC3B,CAAC;IAED,MAAM,CAAC,wBAAwB,CAAC,KAAY;QAC3C,OAAO,EAAE,KAAK,EAAE,CAAA;IACjB,CAAC;IAEQ,MAAM;QACd,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CACzB,CAAC,kBAAkB,CAClB,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CACxB,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CACtB,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CACxB,gBAAgB,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,EAC7C,CACF,CAAC,CAAC,CAAC,CACH,IAAI,CAAC,KAAK,CAAC,QAAQ,CACnB,CAAA;IACF,CAAC;CACD;AA3BD,sCA2BC"}
@@ -0,0 +1,9 @@
1
+ import React from 'react';
2
+ /**
3
+ * A simple UI loader.
4
+ */
5
+ declare const Loader: ({ loading, children, }: {
6
+ loading: boolean;
7
+ children?: React.ReactNode;
8
+ }) => JSX.Element;
9
+ export default Loader;
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ /*
3
+ * Copyright (c) 2022, 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 react_1 = __importDefault(require("react"));
10
+ const LoadingSpinner_1 = __importDefault(require("./LoadingSpinner"));
11
+ /**
12
+ * A simple UI loader.
13
+ */
14
+ const Loader = ({ loading, children, }) => {
15
+ return loading ? <LoadingSpinner_1.default /> : <>{children}</>;
16
+ };
17
+ exports.default = Loader;
18
+ //# sourceMappingURL=Loader.jsx.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Loader.jsx","sourceRoot":"","sources":["../../../src/react/components/Loader.tsx"],"names":[],"mappings":";AAAA;;GAEG;;;;;AAEH,kDAAyB;AACzB,sEAA6C;AAE7C;;GAEG;AACH,MAAM,MAAM,GAAG,CAAC,EACf,OAAO,EACP,QAAQ,GAIR,EAAe,EAAE;IACjB,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC,wBAAc,CAAC,AAAD,EAAG,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAA;AACtD,CAAC,CAAA;AAED,kBAAe,MAAM,CAAA"}
@@ -1,4 +1,7 @@
1
1
  "use strict";
2
+ /*
3
+ * Copyright (c) 2022, J2 Innovations. All Rights Reserved
4
+ */
2
5
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
6
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
7
  };
@@ -1 +1 @@
1
- {"version":3,"file":"LoadingSpinner.jsx","sourceRoot":"","sources":["../../../src/react/components/LoadingSpinner.tsx"],"names":[],"mappings":";;;;;AAAA,kCAAgC;AAChC,kDAAyB;AACzB,yCAA2C;AAE3C,MAAM,SAAS,GAAG,IAAA,2BAAe,EAAC,GAAG,EAAE,CAAC,CAAC;IACxC,SAAS,EAAE;QACV,OAAO,EAAE,MAAM;QACf,UAAU,EAAE,QAAQ;QACpB,cAAc,EAAE,QAAQ;QACxB,MAAM,EAAE,MAAM;QACd,KAAK,EAAE,MAAM;KACb;CACD,CAAC,CAAC,CAAA;AAEH,MAAM,cAAc,GAAa,GAAG,EAAE;IACrC,MAAM,OAAO,GAAG,SAAS,EAAE,CAAA;IAC3B,OAAO,CACN,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CACjC;GAAA,CAAC,SAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,SAAI,CAC1B;EAAA,EAAE,GAAG,CAAC,CACN,CAAA;AACF,CAAC,CAAA;AAED,kBAAe,cAAc,CAAA"}
1
+ {"version":3,"file":"LoadingSpinner.jsx","sourceRoot":"","sources":["../../../src/react/components/LoadingSpinner.tsx"],"names":[],"mappings":";AAAA;;GAEG;;;;;AAEH,kCAAgC;AAChC,kDAAyB;AACzB,yCAA2C;AAE3C,MAAM,SAAS,GAAG,IAAA,2BAAe,EAAC,GAAG,EAAE,CAAC,CAAC;IACxC,SAAS,EAAE;QACV,OAAO,EAAE,MAAM;QACf,UAAU,EAAE,QAAQ;QACpB,cAAc,EAAE,QAAQ;QACxB,MAAM,EAAE,MAAM;QACd,KAAK,EAAE,MAAM;KACb;CACD,CAAC,CAAC,CAAA;AAEH,MAAM,cAAc,GAAa,GAAG,EAAE;IACrC,MAAM,OAAO,GAAG,SAAS,EAAE,CAAA;IAC3B,OAAO,CACN,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CACjC;GAAA,CAAC,SAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,SAAI,CAC1B;EAAA,EAAE,GAAG,CAAC,CACN,CAAA;AACF,CAAC,CAAA;AAED,kBAAe,cAAc,CAAA"}
@@ -1,4 +1,7 @@
1
1
  "use strict";
2
+ /*
3
+ * Copyright (c) 2022, J2 Innovations. All Rights Reserved
4
+ */
2
5
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
6
  if (k2 === undefined) k2 = k;
4
7
  var desc = Object.getOwnPropertyDescriptor(m, k);
@@ -1 +1 @@
1
- {"version":3,"file":"BasicLayout.jsx","sourceRoot":"","sources":["../../../../src/react/components/navigation/BasicLayout.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6CAAwE;AACxE,kCAA0D;AAE1D,4DAAmC;AACnC,+CAAkD;AAClD,yCAA2C;AAC3C,sDAAkD;AAClD,yCAAqD;AACrD,qCAAiC;AAEjC,MAAM,aAAa,GAAG,EAAE,CAAA;AAOxB,MAAM,SAAS,GAAG,IAAA,2BAAe,EAAC,CAAC,KAAe,EAAE,EAAE;IACrD,OAAO;QACN,MAAM,EAAE;YACP,QAAQ,EAAE,OAAO;YACjB,KAAK,EAAE,MAAM;YACb,MAAM,EAAE,IAAI;YACZ,OAAO,EAAE,CAAC;YACV,MAAM,EAAE,aAAa;YACrB,UAAU,EAAE,MAAM;SAClB;QACD,KAAK,EAAE;YACN,QAAQ,EAAE,MAAM;YAChB,MAAM,EAAE,OAAO;YACf,QAAQ,EAAE,OAAO;YACjB,IAAI,EAAE,CAAC;YACP,GAAG,EAAE,CAAC;YACN,MAAM,EAAE,CAAC;YACT,MAAM,EAAE,GAAG;YACX,UAAU,EAAE,CAAC,EAAE,QAAQ,EAAkB,EAAE,EAAE,CAC5C,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;SAC7B;QACD,WAAW,EAAE;YACZ,KAAK,EAAE,EAAE;YACT,MAAM,EAAE,MAAM;YACd,SAAS,EAAE,QAAQ;YACnB,QAAQ,EAAE,EAAE;YACZ,MAAM,EAAE,SAAS;YACjB,UAAU,EAAE,wBAAwB;YACpC,eAAe,EAAE,aAAa;YAC9B,KAAK,EAAE,OAAO;YACd,SAAS,EAAE;gBACV,KAAK,EAAE,KAAK,CAAC,eAAe;aAC5B;SACD;QACD,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAkB,EAAE,EAAE,CAAC,CAAC;YACzD,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG;YACnD,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;SACxC,CAAC;KACF,CAAA;AACF,CAAC,CAAC,CAAA;AAEF,wCAAwC;AACxC,MAAM,MAAM,GAAG,WAAM,CAAC,MAAiC,CAAA;AACvD,MAAM,KAAK,GAAG,WAAM,CAAC,KAA+B,CAAA;AACpD,MAAM,OAAO,GAAG,WAAM,CAAC,OAAmC,CAAA;AAiB1D;;GAEG;AACI,MAAM,WAAW,GAA+B,CAAC,EACvD,KAAK,GAAG,EAAE,EACV,WAAW,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,EAAE,EAClC,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,iBAAiB,EACjB,UAAU,EACV,YAAY,EACZ,SAAS,GACT,EAAE,EAAE;IACJ,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,IAAA,gBAAQ,EAAC,WAAW,CAAC,CAAA;IAE3D,gBAAgB;IAChB,IAAA,iBAAS,EAAC,GAAG,EAAE;QACd,YAAY,EAAE,CAAC,WAAW,CAAC,CAAA;IAC5B,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAA;IAEjB,2BAA2B;IAC3B,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAA;IAC/C,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAA;IACrD,MAAM,OAAO,GAAG,SAAS,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC,CAAA;IACrD,OAAO,CACN,CAAC,WAAM,CAAC,QAAQ,CAAC,IAAI,WAAW,CAAC,CAChC;GAAA,CAAC,QAAQ,IAAI,CACZ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,iBAAiB,CAAC,CACxD;KAAA,CAAC,WAAW,CAAC,CAAC,CAAC,CACd,CAAC,0BAAkB,CAClB,SAAS,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAC/B,OAAO,CAAC,CAAC,GAAG,EAAE;oBACb,cAAc,CAAC,CAAC,WAAW,CAAC,CAAA;gBAC7B,CAAC,CAAC,EACD,CACF,CAAC,CAAC,CAAC,CACH,CAAC,wBAAgB,CAChB,SAAS,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAC/B,OAAO,CAAC,CAAC,GAAG,EAAE;oBACb,cAAc,CAAC,CAAC,WAAW,CAAC,CAAA;gBAC7B,CAAC,CAAC,EACD,CACF,CACF;IAAA,EAAE,MAAM,CAAC,CACT,CACD;GAAA,CAAC,KAAK,CACL,IAAI,UAAU,CAAC,CACf,SAAS,CAAC,CAAC,IAAA,oBAAU,EAAC,OAAO,CAAC,KAAK,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC,CAC5D,UAAU,CAAC,IAAI,CACf,YAAY,CAAC,CAAC,CAAC,MAAe,EAAE,EAAE;YACjC,WAAW,CAAC,MAAM,CAAC,CAAA;YACnB,cAAc,CAAC,IAAI,CAAC,CAAA;QACrB,CAAC,CAAC,CACF,SAAS,CAAC,CAAC,CAAC,QAAQ,IAAI,WAAW,CAAC,IAAI,YAAY,CAAC,CACrD,cAAc,CAAC,CACd,QAAQ,IAAI,WAAW;YACtB,CAAC,CAAC,CAAC;YACH,CAAC,CAAC,YAAY;gBACd,CAAC,CAAC,aAAa;gBACf,CAAC,CAAC,CAAC,CACJ,CACD,OAAO,CAAC,CAAC,IAAI,CAAC,CACd;IAAA,CAAC,SAAI,CACJ,IAAI,SAAS,CAAC,CACd,KAAK,CAAC,CAAC,KAAK,CAAC,CACb,YAAY,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAC5B,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE;YACrB,IAAI,CAAC,WAAW,EAAE;gBACjB,cAAc,CAAC,IAAI,CAAC,CAAA;aACpB;YACD,MAAM,IAAI,GAAG,IAAA,yBAAc,EAAC,KAAK,EAAE,GAAG,CAAC,CAAA;YACvC,IAAI,IAAI,EAAE,SAAS,EAAE;gBACpB,cAAc,CAAC,GAAG,CAAC,CAAA;aACnB;QACF,CAAC,CAAC,EAEJ;GAAA,EAAE,KAAK,CACP;GAAA,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,YAAY,CAAC,CACrD;IAAA,CAAC,eAAM,CACN,KAAK,CAAC,CAAC,KAAK,CAAC,CACb,WAAW,CAAC,CAAC,WAAW,IAAI,WAAW,CAAC,CACxC,iBAAiB,CAAC,CACjB,CAAC,+BAAc,CACd,KAAK,CAAC,CAAC,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC,CACnC,KAAK,CAAC,CAAC;gBACN,CAAC,WAAM,CACN,IAAI,CAAC,SAAS,CACd,GAAG,CAAC,SAAS,CACb,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,CAC3C;;QACD,EAAE,WAAM,CAAC;aACT,CAAC,EACD,CACF,EAEH;GAAA,EAAE,OAAO,CACV;EAAA,EAAE,WAAM,CAAC,CACT,CAAA;AACF,CAAC,CAAA;AAhGY,QAAA,WAAW,eAgGvB"}
1
+ {"version":3,"file":"BasicLayout.jsx","sourceRoot":"","sources":["../../../../src/react/components/navigation/BasicLayout.tsx"],"names":[],"mappings":";AAAA;;GAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,6CAAwE;AACxE,kCAA0D;AAE1D,4DAAmC;AACnC,+CAAkD;AAClD,yCAA2C;AAC3C,sDAAkD;AAClD,yCAAqD;AACrD,qCAAiC;AAEjC,MAAM,aAAa,GAAG,EAAE,CAAA;AAOxB,MAAM,SAAS,GAAG,IAAA,2BAAe,EAAC,CAAC,KAAe,EAAE,EAAE;IACrD,OAAO;QACN,MAAM,EAAE;YACP,QAAQ,EAAE,OAAO;YACjB,KAAK,EAAE,MAAM;YACb,MAAM,EAAE,IAAI;YACZ,OAAO,EAAE,CAAC;YACV,MAAM,EAAE,aAAa;YACrB,UAAU,EAAE,MAAM;SAClB;QACD,KAAK,EAAE;YACN,QAAQ,EAAE,MAAM;YAChB,MAAM,EAAE,OAAO;YACf,QAAQ,EAAE,OAAO;YACjB,IAAI,EAAE,CAAC;YACP,GAAG,EAAE,CAAC;YACN,MAAM,EAAE,CAAC;YACT,MAAM,EAAE,GAAG;YACX,UAAU,EAAE,CAAC,EAAE,QAAQ,EAAkB,EAAE,EAAE,CAC5C,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;SAC7B;QACD,WAAW,EAAE;YACZ,KAAK,EAAE,EAAE;YACT,MAAM,EAAE,MAAM;YACd,SAAS,EAAE,QAAQ;YACnB,QAAQ,EAAE,EAAE;YACZ,MAAM,EAAE,SAAS;YACjB,UAAU,EAAE,wBAAwB;YACpC,eAAe,EAAE,aAAa;YAC9B,KAAK,EAAE,OAAO;YACd,SAAS,EAAE;gBACV,KAAK,EAAE,KAAK,CAAC,eAAe;aAC5B;SACD;QACD,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAkB,EAAE,EAAE,CAAC,CAAC;YACzD,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG;YACnD,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;SACxC,CAAC;KACF,CAAA;AACF,CAAC,CAAC,CAAA;AAEF,wCAAwC;AACxC,MAAM,MAAM,GAAG,WAAM,CAAC,MAAiC,CAAA;AACvD,MAAM,KAAK,GAAG,WAAM,CAAC,KAA+B,CAAA;AACpD,MAAM,OAAO,GAAG,WAAM,CAAC,OAAmC,CAAA;AAiB1D;;GAEG;AACI,MAAM,WAAW,GAA+B,CAAC,EACvD,KAAK,GAAG,EAAE,EACV,WAAW,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,EAAE,EAClC,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,iBAAiB,EACjB,UAAU,EACV,YAAY,EACZ,SAAS,GACT,EAAE,EAAE;IACJ,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,IAAA,gBAAQ,EAAC,WAAW,CAAC,CAAA;IAE3D,gBAAgB;IAChB,IAAA,iBAAS,EAAC,GAAG,EAAE;QACd,YAAY,EAAE,CAAC,WAAW,CAAC,CAAA;IAC5B,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAA;IAEjB,2BAA2B;IAC3B,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAA;IAC/C,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAA;IACrD,MAAM,OAAO,GAAG,SAAS,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC,CAAA;IACrD,OAAO,CACN,CAAC,WAAM,CAAC,QAAQ,CAAC,IAAI,WAAW,CAAC,CAChC;GAAA,CAAC,QAAQ,IAAI,CACZ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,iBAAiB,CAAC,CACxD;KAAA,CAAC,WAAW,CAAC,CAAC,CAAC,CACd,CAAC,0BAAkB,CAClB,SAAS,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAC/B,OAAO,CAAC,CAAC,GAAG,EAAE;oBACb,cAAc,CAAC,CAAC,WAAW,CAAC,CAAA;gBAC7B,CAAC,CAAC,EACD,CACF,CAAC,CAAC,CAAC,CACH,CAAC,wBAAgB,CAChB,SAAS,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAC/B,OAAO,CAAC,CAAC,GAAG,EAAE;oBACb,cAAc,CAAC,CAAC,WAAW,CAAC,CAAA;gBAC7B,CAAC,CAAC,EACD,CACF,CACF;IAAA,EAAE,MAAM,CAAC,CACT,CACD;GAAA,CAAC,KAAK,CACL,IAAI,UAAU,CAAC,CACf,SAAS,CAAC,CAAC,IAAA,oBAAU,EAAC,OAAO,CAAC,KAAK,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC,CAC5D,UAAU,CAAC,IAAI,CACf,YAAY,CAAC,CAAC,CAAC,MAAe,EAAE,EAAE;YACjC,WAAW,CAAC,MAAM,CAAC,CAAA;YACnB,cAAc,CAAC,IAAI,CAAC,CAAA;QACrB,CAAC,CAAC,CACF,SAAS,CAAC,CAAC,CAAC,QAAQ,IAAI,WAAW,CAAC,IAAI,YAAY,CAAC,CACrD,cAAc,CAAC,CACd,QAAQ,IAAI,WAAW;YACtB,CAAC,CAAC,CAAC;YACH,CAAC,CAAC,YAAY;gBACd,CAAC,CAAC,aAAa;gBACf,CAAC,CAAC,CAAC,CACJ,CACD,OAAO,CAAC,CAAC,IAAI,CAAC,CACd;IAAA,CAAC,SAAI,CACJ,IAAI,SAAS,CAAC,CACd,KAAK,CAAC,CAAC,KAAK,CAAC,CACb,YAAY,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAC5B,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE;YACrB,IAAI,CAAC,WAAW,EAAE;gBACjB,cAAc,CAAC,IAAI,CAAC,CAAA;aACpB;YACD,MAAM,IAAI,GAAG,IAAA,yBAAc,EAAC,KAAK,EAAE,GAAG,CAAC,CAAA;YACvC,IAAI,IAAI,EAAE,SAAS,EAAE;gBACpB,cAAc,CAAC,GAAG,CAAC,CAAA;aACnB;QACF,CAAC,CAAC,EAEJ;GAAA,EAAE,KAAK,CACP;GAAA,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,YAAY,CAAC,CACrD;IAAA,CAAC,eAAM,CACN,KAAK,CAAC,CAAC,KAAK,CAAC,CACb,WAAW,CAAC,CAAC,WAAW,IAAI,WAAW,CAAC,CACxC,iBAAiB,CAAC,CACjB,CAAC,+BAAc,CACd,KAAK,CAAC,CAAC,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC,CACnC,KAAK,CAAC,CAAC;gBACN,CAAC,WAAM,CACN,IAAI,CAAC,SAAS,CACd,GAAG,CAAC,SAAS,CACb,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,CAC3C;;QACD,EAAE,WAAM,CAAC;aACT,CAAC,EACD,CACF,EAEH;GAAA,EAAE,OAAO,CACV;EAAA,EAAE,WAAM,CAAC,CACT,CAAA;AACF,CAAC,CAAA;AAhGY,QAAA,WAAW,eAgGvB"}
@@ -1,4 +1,7 @@
1
1
  "use strict";
2
+ /*
3
+ * Copyright (c) 2022, J2 Innovations. All Rights Reserved
4
+ */
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
6
  exports.getAllSubPages = exports.pageTreeToPageList = exports.findPageByName = void 0;
4
7
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"MenuPage.jsx","sourceRoot":"","sources":["../../../../src/react/components/navigation/MenuPage.tsx"],"names":[],"mappings":";;;AAmBA;;;;GAIG;AACH,SAAgB,cAAc,CAC7B,KAAU,EACV,IAAa;IAEb,OAAO,kBAAkB,CAAC,KAAK,CAAC,CAAC,IAAI,CACpC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAC7C,CAAA;AACF,CAAC;AAPD,wCAOC;AAED;;GAEG;AACH,SAAgB,kBAAkB,CAAqB,KAAU;IAChE,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,cAAc,CAAC,IAAS,CAAC,CAAC,CAAA;AAC1D,CAAC;AAFD,gDAEC;AAED;;;;GAIG;AACH,SAAgB,cAAc,CAAqB,IAAO;IACzD,IAAI,IAAI,CAAC,QAAQ,EAAE;QAClB,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,CACnB,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,cAAc,CAAC,OAAY,CAAC,CAAC,CAC/D,CAAA;KACD;SAAM;QACN,OAAO,CAAC,IAAI,CAAC,CAAA;KACb;AACF,CAAC;AARD,wCAQC"}
1
+ {"version":3,"file":"MenuPage.jsx","sourceRoot":"","sources":["../../../../src/react/components/navigation/MenuPage.tsx"],"names":[],"mappings":";AAAA;;GAEG;;;AAqBH;;;;GAIG;AACH,SAAgB,cAAc,CAC7B,KAAU,EACV,IAAa;IAEb,OAAO,kBAAkB,CAAC,KAAK,CAAC,CAAC,IAAI,CACpC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAC7C,CAAA;AACF,CAAC;AAPD,wCAOC;AAED;;GAEG;AACH,SAAgB,kBAAkB,CAAqB,KAAU;IAChE,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,cAAc,CAAC,IAAS,CAAC,CAAC,CAAA;AAC1D,CAAC;AAFD,gDAEC;AAED;;;;GAIG;AACH,SAAgB,cAAc,CAAqB,IAAO;IACzD,IAAI,IAAI,CAAC,QAAQ,EAAE;QAClB,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,CACnB,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,cAAc,CAAC,OAAY,CAAC,CAAC,CAC/D,CAAA;KACD;SAAM;QACN,OAAO,CAAC,IAAI,CAAC,CAAA;KACb;AACF,CAAC;AARD,wCAQC"}
@@ -1,4 +1,7 @@
1
1
  "use strict";
2
+ /*
3
+ * Copyright (c) 2022, J2 Innovations. All Rights Reserved
4
+ */
2
5
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
6
  if (k2 === undefined) k2 = k;
4
7
  var desc = Object.getOwnPropertyDescriptor(m, k);
@@ -1 +1 @@
1
- {"version":3,"file":"Router.jsx","sourceRoot":"","sources":["../../../../src/react/components/navigation/Router.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAMc;AACd,uEAA8C;AAC9C,yCAAqD;AASrD;;GAEG;AACH,SAAgB,MAAM,CAAqB,EAC1C,KAAK,GAAG,EAAE,EACV,WAAW,EACX,YAAY,EACZ,iBAAiB,GACkB;IACnC,MAAM,IAAI,GAAG,IAAA,eAAO,EACnB,GAAG,EAAE,CAAC,IAAA,yBAAc,EAAC,KAAK,EAAE,WAAW,CAAC,EACxC,CAAC,KAAK,EAAE,WAAW,CAAC,CACpB,CAAA;IAED,IAAA,iBAAS,EAAC,GAAG,EAAE;QACd,YAAY,EAAE,CAAC,IAAI,CAAC,CAAA;IACrB,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAA;IAEV,OAAO,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,CACxB,CAAC,gBAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,wBAAc,CAAC,AAAD,EAAG,CAAC,CACtC;GAAA,CAAC,eAAK,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,KAAK,CAAC,CAClD;EAAA,EAAE,gBAAQ,CAAC,CACX,CAAC,CAAC,CAAC,CACH,iBAAiB,IAAI,CAAC,GAAG,CAAC,CAAC,WAAW,CAAE,eAAc,EAAE,GAAG,CAAC,CAC5D,CAAA;AACF,CAAC;AAtBD,wBAsBC"}
1
+ {"version":3,"file":"Router.jsx","sourceRoot":"","sources":["../../../../src/react/components/navigation/Router.tsx"],"names":[],"mappings":";AAAA;;GAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,+CAMc;AACd,uEAA8C;AAC9C,yCAAqD;AASrD;;GAEG;AACH,SAAgB,MAAM,CAAqB,EAC1C,KAAK,GAAG,EAAE,EACV,WAAW,EACX,YAAY,EACZ,iBAAiB,GACkB;IACnC,MAAM,IAAI,GAAG,IAAA,eAAO,EACnB,GAAG,EAAE,CAAC,IAAA,yBAAc,EAAC,KAAK,EAAE,WAAW,CAAC,EACxC,CAAC,KAAK,EAAE,WAAW,CAAC,CACpB,CAAA;IAED,IAAA,iBAAS,EAAC,GAAG,EAAE;QACd,YAAY,EAAE,CAAC,IAAI,CAAC,CAAA;IACrB,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAA;IAEV,OAAO,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,CACxB,CAAC,gBAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,wBAAc,CAAC,AAAD,EAAG,CAAC,CACtC;GAAA,CAAC,eAAK,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,KAAK,CAAC,CAClD;EAAA,EAAE,gBAAQ,CAAC,CACX,CAAC,CAAC,CAAC,CACH,iBAAiB,IAAI,CAAC,GAAG,CAAC,CAAC,WAAW,CAAE,eAAc,EAAE,GAAG,CAAC,CAC5D,CAAA;AACF,CAAC;AAtBD,wBAsBC"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Create the FIN5 language prop files from the locale JSON files.
3
+ *
4
+ * This function assumes the app directory has a sub-directory named `locale` that contains
5
+ * the language files in a JSON format (i.e. `en.json`). It also assumes there's a `lib` directory
6
+ * containing the defs for the app. This is used to look up the app name that's used to prefix the
7
+ * entries in the properties file.
8
+ *
9
+ * @param appDir The directory that contains the application.
10
+ * @param propsDir The directory the properties file will output too.
11
+ */
12
+ export default function createFin5Props(appDir: string, propsDir: string): Promise<void>;